@charset "utf-8";


/*===========================================================
全体レイアウトの共通CSS
=============================================================*/
html{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
	font-weight: 400;
	background-color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
  color: #010101;
	/* scroll-behavior: smooth; */
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body{
	width: 100%;
}
a{
	text-decoration: none;
}
li{
	list-style: none;
}

section,
article,
footer,
header{
  width: 100%;
}

img{
	width: 100%;
	height: 100%;
}

.inner{
  width: 100%;
  max-width: 1130px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 15px;
}

/*===========================================================
共通パーツCSS
=============================================================*/

/********横並び flex********/
.flexbox{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

/********ロゴ********/
.logo{
  /* font-size: 26px;
  font-weight: 700;
  line-height: 1.4; */
  /* width: 286px;
  margin: 0 10px 0 0; */
  height: 100%;
}
.logo img {
  width: auto;
}
.logo-wrapper{
  display: flex;
  align-items: center;
  height: 55px;
}
.sub_logo{
  font-size: 14px;
  display: inline-block;
}
.co_logo{
  display: inline-block;
  margin-right: 20px;
  padding-right: 20px;
  position: relative;
}
.co_logo::after{
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  min-height: 36px;
  top: 0;
  right: 0%;
  background-color: #d8d8d8;
}
.co_logo.mj{
  width: 101px;
}
.co_logo.pcs{
  width: 312px;
}
.co_logo.os{
  width: 313px;
}
.co_logo.nbdf{
  width: 133px;
}

/* .logo .logo_color{
  color: #004989;
} */

/********ボタン********/
.btn{
  display: flex;
  width: 270px;
  height: 51px;
  padding: 18px 30px 17px 30px;
  border-radius: 25px;
  border: solid 1px #004989;
  background-color: #fff;
  color: #004989;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: ease .4s;
  font-size: 16px;
  z-index: 1;
  pointer-events: auto;
  cursor: pointer;
}
.btn span {
	position: relative;
	z-index: 3;
	color: #004989;
  white-space: nowrap;
  pointer-events: none;
}

.btn::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#E5F3FF;
  opacity: .7;
  width: 100%;
  height: 100%;
  transition: transform .4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.btn:hover::before{
  transform-origin:left top;
	transform:scale(1, 1);
}
.btn:disabled {
  border: solid 1px #dddddd;
  background-color: #f0f0f0;
  color: #a0a0a0;
}
.btn:disabled:hover::before {
	transform:scale(0, 0);
}
.btn.btn_booking_real {
  background-color: #6f0880;
  border: #6f0880;
}
.btn.btn_booking_real::before {
  background: #470552;
}
.btn.btn_booking_real span {
  color: #fff;
}
.btn.btn_booking_comprehensive {
  background-color: #40680F;
  border: #40680F;
}
.btn.btn_booking_comprehensive::before {
  background: #294408;
}
.btn.btn_booking_comprehensive span {
  color: #fff;
}
.btn.btn__02{
  background-color: #004989;
}
.btn.btn__02::before{
  background: #03325b;
}
.btn.btn__02 span{
  color: #fff;
}
.btn.btn__02:focus {
  outline: none;
  border-color: #0077e0;
  border-width: 3px;
}
.btn.btn_medium{
  width: 180px;
  height: 41px;
}
.btn.btn_large{
  width: 350px;
  height: 51px;
  white-space: nowrap;
  margin: 0 auto;
}
.btn__03{
  line-height: 1;
  border-radius: 20px;
  background-color: #f8f9fa;
  color: #004989;
  border: none;
  z-index: 1;
}
.btn.btn_small{
  width: 180px;
  padding: 0;
  height: 41px;
}
.btn.btn__04{
  background-color: #b1b0b0;
  border: solid 1px #b1b0b0;
}
.btn.btn__04::before{
  background: #898989;
}
.btn.btn__04 span{
  color: #fff;
}
.btn.btn__05{
  background-color: #b1b0b0;
  border: solid 1px #b1b0b0;
  cursor: default;
}
.btn.btn__05::before{
  background: #b1b0b0;
}
.btn.btn__05 span{
  color: #fff;
}
.btn__06{
  display: flex;
  width: 270px;
  height: 51px;
  margin: 27px auto 0;
  padding: 18px 30px 17px 30px;
  border-radius: 25px;
  border: solid 1px #bbb;
  background-color: #bbb;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: ease .4s;
  font-size: 16px;
  z-index: 1;
}
.btn__06::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background:#E5F3FF;
  opacity: .7;
  width: 100%;
  height: 100%;
  transition: transform .4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.btn__06 span {
  color: #fff;
}
.btn.btn__wide {
  width: 400px;
  max-width: 98%;
}
.btn.btn__07{
  background-color: #ffa0a0;
  border: 0px;
}
.btn.btn__07::before{
  background: #f56258;
}
.btn.btn__07 span{
  color: #fff;
}
.btn.btn__08{
  background-color: #6d6d6d;
  border: solid 1px #6d6d6d;
  cursor: default;
}
.btn.btn__08::before{
  background: #6d6d6d;
}
.btn.btn__08 span{
  color: #fff;
}

/********ページ内リンク　ボタン*******/

.page_link {

  margin-top: 30px;
}
.page_link .flexbox{
  flex-wrap: nowrap;
  padding: 10.5px 15px 10.5px;
}
.page_link .btn{
  width: auto;
  height: auto;
  font-weight: 700;
  padding: 13px 27px;
  font-size: 14px;
}
.page_link .btn+.btn{
  margin-left: 15px;
}

.page_link.fixed{
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  background-color: #fff;
  padding: 10px 0;
  border-bottom: 1px solid #e5e8eb;
  margin: 0;
}
.page_link.fixed .flexbox{
  padding: 0 15px;
}


/********link********/
.link-{
  color: #004989;
  text-decoration: underline;
  transition: all .2s;
}
.link-:hover{
  text-decoration: none;
  transition: all .2s;
}
/********ハンバーガーメニュー********/
.hamburger-menubox *{
	font-size: 16px;
}
.hamburger-menubox li{
	font-size: 14px;
}
.input-hidden{
	display: none;
}
	/* label */
.hamburger-switch{
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 9999;
	width: 90px;
	height: 90px;
  background-color: #004989;
  transition: all .4s;
  z-index: 990;
}
.hamburger-switch:hover{
  background-color: #03325b;
  transition: all .4s;
}
#hamburger-btn:checked ~ .hamburger-switch{
	position: fixed;
}
#hamburger-btn:checked ~ .hamburger-switch:hover{
  background-color: #004989;
}
/* ハンバーガーアイコン */
.hamburger-switch-line1,
.hamburger-switch-line1-before,
.hamburger-switch-line1-after{
	width: 29px;
	height: 3px;
	background: #fff;
	position: absolute;
	top: 42%;
	left: 50%;
	transition: .3s;
	content: "";
}
.hamburger-switch-line1{
		transform: translate(-50%, -50%);
}
.hamburger-switch-line1::after{
  content: "メニュー";
  position: absolute;
  top: 15px;
  left: -10px;
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  font-weight: 500;
}
.hamburger-switch-line1-before{
	transform: translate(-50%, -300%);
}
.hamburger-switch-line1-after{
	transform: translate(-50%, 200%);
}
/* ハンバーガーアイコン･アニメーション */
#hamburger-btn:checked ~ .hamburger-switch .hamburger-switch-line1{
	width: 0;
}
#hamburger-btn:checked ~ .hamburger-switch .hamburger-switch-line1::after{
	width: 0;
  content: "閉じる";
  left: -18px;
  top: 17px;
}
#hamburger-btn:checked ~ .hamburger-switch .hamburger-switch-line1-before{
	transform: rotate(45deg) translate(-40%, 380%);
}
#hamburger-btn:checked ~ .hamburger-switch .hamburger-switch-line1-after{
	transform: rotate(-45deg) translate(-40%, -380%);
}
/* メニューエリア */
.hamburger-menuwrap{
	position: fixed;
	height: 100%;
	background: #004989;
	padding: 90px 0 2em;
	z-index: 980;
	transition: .3s;
	overflow-y: scroll;
	top: 0;
	right: -100%;
	width: 70%;
  scrollbar-width: none;
}
.hamburger-menuwrap::-webkit-scrollbar {
  display: none;
}
/* メニューリスト */
.hamburger-menulist{
	list-style: none;
  text-align: left;
}
.hamburger-menulist .hamburger_menu_user{
  background-color: #00427b;
}
.hamburger-menulist li a{
	text-decoration: none;
	color: #fff;
	display: block;
	padding: 14.5px 10px 14.5px 33px;
  transition: all .2s;
}
.hamburger-menulist li a:hover{
  background-color: #03325b;
}
.hamburger-menulist li .username_wrapper{
  padding: 14.5px 10px 14.5px 33px;
}
.hamburger-menulist li .username_wrapper .user_profile_img a{
  display: block;
  height: 100%;
}
.hamburger-menulist li .username_wrapper .user_profile_img a:hover{
  opacity: .7;
  border-radius: 5px;
  background-color: inherit;
}
.hamburger-menulist li .username_wrapper.flexbox{
  flex-wrap: nowrap;
}
.hamburger-menulist li .username_wrapper .user_profile_img{
  width: 47px;
  min-width: 47px;
  height: 47px;
  margin-right: 11px;
  /* background-color: #fff; */
  border-radius: 5px;
}
.hamburger-menulist li .username_wrapper .user_profile_img a{
  padding: 0;
}
.hamburger-menulist li .username_wrapper .user_profile_img img{
  object-fit: contain;
}
.hamburger-menulist li .username_wrapper .user_profile_container{
  overflow: hidden;
}
.hamburger-menulist li .username_wrapper .user_profile_container .user_name{
  font-size: 16px;
  margin: 0;
  color: #fcf9f9;;
  line-height: 1;
  word-break: break-all;
}
.hamburger-menulist li .username_wrapper .user_profile_container .user_mail{
  font-size: 14px;
  color: #fcf9f9;;
  line-height: 1;
  word-break: break-all;
}
.hamburger-menulist li p {
	text-decoration: none;
	color: #fff;
	display: block;
	padding: 14.5px 10px 14.5px 16px;
  transition: all .2s;
}
.hamburger-menulist li hr{
  margin: 20px 0;
  border: 0;
}
/* メニューエリア･アニメーション */
#hamburger-btn:checked ~ .hamburger-menuwrap{
	right: 0;
  width: 330px;
}
	/* コンテンツカバー */
#hamburger-btn:checked ~ .hamburger-cover{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 970;
	background: rgba(3,3,3,.5);
	display: block;
  cursor: pointer;
}
/********↑ハンバーガーメニューここまで↑********/

/********見出し********/
.main_heading{
  font-size: 22px;
  font-weight: 700;
  color: #000;
  /*padding: 0 0 0 21px;*/
  padding: 0 0 0 11px;
  position: relative;
  text-align: left;
  margin: 0 0 33.5px;
  /*margin: 0 0 43.5px;*/
  /* margin: 0 0 45px; */
  line-height: .95;
}
.main_heading::before{
  position: absolute;
  content: "";
  /*top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 10px;
  height: 4px;*/
  /*top: -10%;*/
  left: 0;
  transform: translateX(-50%);
  width: 6px;
  height: 24px;
  background-color: #004989;
  margin-top: -2px;
}
.seminar_title_heading{
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  transition: all .2s;
}
.seminar_title_heading.font_bigger{
  font-size: 20px;
}
.seminar_title_heading a:hover{
  opacity: .6;
  transition: all .2s;
}
a:hover .seminar_title_heading{
  opacity: .6;
  transition: all .2s;
}
.seminar_title_heading a{
  display: block;
}

.sub_heading{
  font-size: 18px;
  font-weight: 700;
  color: #004989;
  text-align: left;
}

/********************　モーダルウィンドウ ****************************/

  /* 受講申込時のポップアップ */

.modal-block,
.modal-cancel-block,
.modal-booking-block,
.modal-question-block,
.modal-terms-service-block{
  display: none;
  position: fixed;
  justify-content: center;
  align-items: center;
  z-index: 995;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.6);
}

.modal-block .modal,
.modal-cancel-block .modal,
.modal-booking-block .modal,
.modal-question-block .modal{
  background: #fff;
  max-width: 902px;
  max-height: 90%;
  width: 86%;
  padding: 50px 35px 35px 35px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all .3s;
  z-index: 999;
  display: flex;
}

.modal-terms-service-block .modal{
  background: #fff;
  max-width: 702px;
  max-height: 90%;
  width: 86%;
  padding: 107px 35px 72px 30px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all .3s;
  z-index: 999;
  display: flex;
}

.modal-block .close,
.modal-cancel-block .close,
.modal-booking-block .close,
.modal-question-block .close,
.modal-window .js-close{
  display: inline-block;
  position: absolute;
  top: 25px;
  right: 25px;
  width: 25px;
  height: 25px;
  cursor: pointer;
}
.modal-block .close::before,
.modal-cancel-block .close::before,
.modal-booking-block .close::before,
.modal-question-block .close::before,
.modal-window .js-close::before {
  content: "";
  position: absolute;
  background: #D6D6D6;
  right: 50%;
  top: 50%;
  width: 3px;
  height: 30px;
  transform: translate(-50%, -50%) rotateZ(45deg);
}
.modal-block .close::after,
.modal-cancel-block .close::after,
.modal-booking-block .close::after,
.modal-question-block .close::after,
.modal-window .js-close::after {
  content: "";
  position: absolute;
  background: #D6D6D6;
  right: 50%;
  top: 50%;
  width: 3px;
  height: 30px;
  transform: translate(-50%, -50%) rotateZ(-45deg);
}
.modal-block .modal .modal_content,
.modal-cancel-block .modal .modal_content,
.modal-booking-block .modal .modal_content,
.modal-question-block .modal .modal_content,
.modal-terms-service-block .modal .modal_content {
  width: 100%;
  overflow-y: auto;
}
.modal_entry_select_seminars {
  text-align: left;
  font-size: 16px;
  color: #000;
  line-height: 1.38;
  margin: 0 auto 30px auto;
  padding: 0 20px;
  background-color: #fff;
}
.modal_entry_select_seminars h2 {
  font-weight: 700;
  margin-bottom: 10px;
}
.modal_entry_select_seminars ul li {
  position: relative;
}
.modal_entry_select_seminars input[type=checkbox] {
  display: inline-block;
  opacity: 0;
  width: 1px;
  margin-left: -1px;
}
.modal_entry_select_seminars input[type=checkbox]:first-of-type {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 8px;
}
.modal_entry_disript,
.modal_cancel_disript,
.modal_complete_disript,
.modal_error_disript {
  text-align: left;
  font-weight: 700;
  color: #000;
  line-height: 1.38;
  margin: 0 auto 30px auto;
  padding: 0 20px;
}
.modal_entry_disript a,
.modal_cancel_disript a,
.modal_error_disript a {
  text-decoration: underline;
  color: #004989;
  transition: all .2s;
}
.modal_entry_disript a:hover,
.modal_cancel_disript a:hover,
.modal_error_disript a:hover {
  text-decoration: none;
  transition: all .2s;
}
.modal_entry_disript p,
.modal_cancel_disript p,
.modal_error_disript p {
  font-size: 16px;
  font-weight: normal;
}
 .modal_company_list_wrapper{
  margin: 0 0 99px;
}
 .modal_company_list_wrapper li+li{
  margin: 27px 0 0;
}
 .modal_company_list_wrapper li{
  font-weight: 700;
  color: #004989;
  text-align: center;
  text-decoration: underline;
  line-height: 1.1;
}
.modal-block .btn,
.modal-cancel-block .btn,
.modal-booking-block .btn,
.modal-question-block .btn,
.modal-terms-service-block .btn {
  margin: 27px auto 0;
}
.modal-block .btn:disabled,
.modal-cancel-block .btn:disabled,
.modal-booking-block .btn:disabled,
.modal-question-block .btn:disabled,
.modal-terms-service-block .btn:disabled {
  opacity: 1;
  border-color: #ddd;
  background-color: #fff;
  pointer-events: none;
  user-select: none;
}
.modal-block .btn:disabled span,
.modal-cancel-block .btn:disabled span,
.modal-booking-block .btn:disabled span,
.modal-question-block .btn:disabled span,
.modal-terms-service-block .btn:disabled span {
  color: #ddd;
}
.modal-block .check_agree,
.modal-question-block .check_agree {
  margin: 0 0 20px 0;
}

.modal-cancel-block .modal_cancel_button_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 0 0;
  padding: 0 20px 20px 20px;
}
.modal-cancel-block .modal_cancel_button_box .btn:first-child {
  margin-right: 20px;
}
.modal-cancel-block .modal_cancel_button_box .btn:last-child {
  margin-left: 20px;
}

.modal-booking-block .modal_complete_disript h2 {
  display: block;
  text-align: left;
  font-weight: 700;
  color: #004989;
  margin: 0 0 33px;
  line-height: 1;
}

.modal-booking-block .modal_error_disript {
  display: block;
  text-align: left;
  font-weight: 700;
  color: #004989;
  margin: 0 0 33px;
  line-height: 1;
}

/* スピーカー詳細のモーダルウィンドウ */

.modal-window {
  /* display: none; */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* width: 600px; */
  max-width: 830px;
  width: 86%;
  min-width: 325px;
  /* max-height: 59%; */
  max-height: 61%;
  /* height: 300px; */
  background-color: #fff;
  /* border-radius: 5px; */
  z-index: 999;
  padding: 58px 51px 42px 45px;
  visibility: hidden;
  overflow: hidden;
}
/* オーバーレイ */
.overlay_ {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 auto;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  z-index: 995;
}

.overlay_.active{
  display: block;
}
.modal-window.active{
  visibility: visible;
}
.modal-window .modal-scroll{
  /* max-height: 360px; */
  max-height: 48vh;
  overflow-y: scroll;
}
.modal-window .flexbox{
  flex-wrap: nowrap;
  gap: 30px;
  margin: 0 0 30px;
  padding-right: 15px;
  /* align-items: flex-start; */
}
.modal-window .profile_img{
  /* width: 162px;
  min-width: 162px; */
  width: 25%;
  max-width: 169px;
  min-width: 100px;
}
.modal-window .profile_txt{
  font-size: 12px;
  text-align: left;
  line-height: 1.75;
  padding-right: 15px;
}
.modal-window .profile_txt a {
  text-decoration: underline;
  color: #004989;
  transition: all .2s;
}
.modal-window .profile_txt a:hover {
  text-decoration: none;
  transition: all .2s;
}
.modal-window .person_tx_wrapper strong{
  font-weight: 500;
  margin: 0 0 20px;
  font-size: 20px;
}
.modal-window .person_tx_wrapper p{
  width: auto;
  font-weight: 500;
  line-height: 1.75;
}

.js-open{
  cursor: pointer;
  transition: all .2s;
}
.js-open:hover{
  opacity: .7;
  transition: all .2s;
}

/* 日経IDログイン促進モーダル */
.modal-login-required {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 734px;
  width: 90%;
  min-width: 320px;
  background-color: #fff;
  z-index: 999;
  padding: 60px 40px 40px;
  visibility: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.modal-login-required.active {
  visibility: visible;
}

.modal-login-required .js-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

.modal-login-required .js-close::before,
.modal-login-required .js-close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  background-color: #333;
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal-login-required .js-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.modal-login-required .modal-content {
  text-align: center;
}

.modal-login-required .modal-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 24px;
  color: #333;
}

.modal-login-required .modal-title-br {
  display: none;
}

.modal-login-required .btn-group {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 30px;
}

.modal-login-required .btn-login {
  display: grid;
  place-items: center;
  width: 100%;
  padding: 10px 24px 8px;
  background-color: #004989;
  color: #fff;
  text-decoration: none;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  transition: background-color 0.3s;
  max-width: 240px;
  height: 45px;
}

.modal-login-required .btn-login:hover {
  background-color: #003366;
}

.modal-login-required .btn-register {
  display: grid;
  place-items: center;
  width: 100%;
  padding: 10px 24px 8px;
  border: 1px solid #004989;
  color: #004989;
  text-decoration: none;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  transition: background-color 0.3s;
  max-width: 240px;
  height: 45px;
}

.modal-login-required .btn-register:hover {
  opacity: 0.7;
}

.modal-login-required .register-note {
  font-size: 12px;
  margin-top: 12px;
  line-height: 1.5;
}

.modal-login-required .info-box {
  background-color: #F8F9FA;
  padding: 20px;
  margin-top: 30px;
}

.modal-login-required .info-box p {
  display: flex;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  text-align: left;
}

.modal-login-required .info-box .info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid #333;
  border-radius: 50%;
  font-weight: 700;
  margin-right: 10px;
  font-size: 12px;
}

@media screen and (max-width: 768px) {
  .modal-login-required {
    padding: 50px 24px 32px;
  }

  .modal-login-required .modal-title {
    font-size: 18px;
    margin-bottom: 16px;
  }

  .modal-login-required .modal-title-br {
    display: inline;
  }

  .modal-login-required .btn-login,
  .modal-login-required .btn-register {
    font-size: 15px;
  }

  .modal-login-required .btn-group {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
  }

  .modal-login-required .info-box {
    padding: 16px;
    margin-top: 24px;
  }
}

/* メンテナンス中モーダル */
.modal-maintenance {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 600px;
  width: 90%;
  min-width: 320px;
  background-color: #fff;
  border-radius: 8px;
  z-index: 999;
  padding: 60px 40px 40px;
  visibility: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.modal-maintenance.active {
  visibility: visible;
}

.modal-maintenance .js-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

.modal-maintenance .js-close::before,
.modal-maintenance .js-close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  background-color: #333;
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal-maintenance .js-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.modal-maintenance .modal-content {
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-maintenance .info-box {
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  margin-top: 0;
  display: inline-block;
}

.modal-maintenance .info-box p {
  display: flex;
  align-items: flex-start;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin: 0;
}

.modal-maintenance .info-box .info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid #333;
  border-radius: 50%;
  font-weight: 700;
  margin-right: 10px;
  font-size: 12px;
  flex-shrink: 0;
}

.modal-maintenance .info-box p span:last-child {
  text-align: left;
}

@media screen and (max-width: 768px) {
  .modal-maintenance {
    padding: 50px 24px 32px;
  }

  .modal-maintenance .info-box p {
    font-size: 15px;
  }
}

/********ページネーション********/
.pagination-container .pagination{
  display: inline-flex;
  margin: 0 auto;
  flex-wrap: wrap;
}
.pagination-container .pagination li{
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: solid 1px #e5e8eb;
  pointer-events: auto;
  transition: all .4s;
  margin: 0 5px 5px 0;
}
.pagination-container .pagination li:hover{
  background-color: #004989;
  color: #fff;
  transition: all .4s;
}
.pagination-container .pagination li.navi-active{
  background-color: #e5e8eb;
  pointer-events: none;
}

.pagination-container .pagination li a{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.pagination-container .pagination li:last-of-type{
  margin: 0;
}
.pagination-container .pagination .page{
  font-size: 16px;
  color: #000;
  line-height: 1px;
}
.pagination-container .pagination .prev,
.pagination-container .pagination .next,
.pagination-container .pagination .first,
.pagination-container .pagination .last{
  font-size: 10px;
  letter-spacing: -0.17em;
}

/********フォームテンプレート********/

.form_temp .form_inner div{
  margin: 0;
}
.form_temp input[type=radio]{
  display: none;
}


.form_temp input:checked + label::after {
  opacity: 1;
}
.form_temp .form_inner .form-item{
  display: flex;
  flex-direction: column;
  margin: 0 0 50px;
}
.form_temp .form_inner .form-item:last-of-type{
  margin: 0 0 40px;
}
.form_temp .form-item .form-input{
  order: 2;
}
.form_temp .form-item .question{
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  padding-left: 20px;
  position: relative;
  margin: 0 0 15px;
  width: 100%;
  order: 1;
  display: flex;
  align-items: center;
}
.form_temp .form-item .question::before{
  position: absolute;
  content: "Q";
  top: 0;
  left: 0;
  font-size: 16px;
  font-weight: 700;
  color: #004989;
}
/* .form_temp .form-item .form-input + label .indispensable {
  color: #f24358;
  border-color: #f24358;
}
.form_temp .form-item .form-input + label .indispensable:after {
  content: '必須';
} */
.form_temp .form-item .form-input.valid + label .indispensable {
  color: #004989;
  border-color: #004989;
}
.form_temp .form-item .form-input.valid + label .indispensable:after {
  content: 'OK';
}
.form_temp .form-item label{
  font-size: 16px;
}
.form_temp .form-item label{
  padding: 0 20px;
}
.form_temp select{
  padding: 14.5px 30px 14.5px 20px;
  background: url(../img/chevron_bottom_blue.png);
  background-repeat: no-repeat;
  background-position: right 11px center;
  background-size: 10px;
  background-color: #fff;
  border-radius: 5px;
  font-size: 14px;
  color: #000;
  border: solid 1px #b6b6b6;
  line-height: 1;
  min-width: 271px;
  width: 50%;
}
.form_temp select:focus{
  outline: none;
  border-color: #004989;
}
.form_temp .form-item .textarea-box{
  order: 2;
}
.form_temp textarea{
  text-align: left;
}

/*===========================================================
全体レイアウト・共通パーツのレスポンシブ
=============================================================*/
@media screen and (max-width:1020px){
  .form_temp select{
    max-width: 100%;
    min-width: auto;
  }
}
@media screen and (max-width:768px){
  /*ロゴ*/
  /*.logo{
    width: 120px;
  }*/
  .logo a{
    display: flex;
    height: 100%;
  }
  .logo-wrapper{
    /* flex-direction: column;
    align-items: flex-start; */
    height: 30px;
  }
  .logo-wrapper.addlogo{
    flex-direction: row;
    align-items: center;
  }
  .sub_logo{
    font-size: 10px;
    margin-top: 5px;
  }
  .co_logo{
    padding-right: 8px;
    margin-right: 8px;
    display: flex;
  }
  .co_logo::after{
    min-height: 15px;
  }
  .co_logo.mj{
    width: 51px;
  }
  .co_logo.pcs{
    width: 131px;
  }
  .co_logo.os{
    width: 130px;
  }
  .co_logo.nbdf{
    width: 64px;
  }
  /*ボタン*/
  .btn.btn_medium.btn__03{
    width: 130px;
    height: 30px;
    font-size: 14px;
  }
  .page_link .btn span .sp_{
    display: none;
  }
  .page_link{
    padding: 10px 0 0;
    margin: 0;
  }
  .page_link .btn{
    padding: 8px 18px;
  }
  .page_link .btn+.btn{
    margin: 0 0 0 10px;
  }
  /*ハンバーガーボタン*/
  .hamburger-switch{
    width: 60px;
    height: 60px;
  }
  .hamburger-switch-line1,
  .hamburger-switch-line1-before,
  .hamburger-switch-line1-after{
    width: 22px;
    height: 2px;
  }
  .hamburger-switch-line1::after{
    font-size: 9px;
    transform: scale(.9);
    left: -7px;
    top: 12px;
  }
  #hamburger-btn:checked ~ .hamburger-switch .hamburger-switch-line1::after{
    left: -12px;
    top: 15px;
  }
  #hamburger-btn:checked ~ .hamburger-switch .hamburger-switch-line1-before{
    transform: rotate(45deg) translate(-32%, 382%);
  }
  #hamburger-btn:checked ~ .hamburger-switch .hamburger-switch-line1-after{
    transform: rotate(-45deg) translate(-36%, -382%);
  }
  /*見出し*/
  .main_heading{
    font-size: 18px;
    /*padding: 0 0 0 19px;
    margin: 0 0 18px;*/
    padding: 0 0 0 10px;
    margin: 0 0 9px;
  }
  .main_heading::before{
    /*width: 9px;
    height: 3px;*/
    width: 5px;
    height: 22px;
  }
  .seminar_title_heading{
    font-size: 14px;
  }
  .seminar_title_heading.font_bigger{
    font-size: 16px;
  }
  .sub_heading{
    font-size: 16px;
  }
  /*スピーカー詳細のモーダルウィンドウ*/
  .modal-window{
    padding: 30px 30px 35px;
    max-height: 55%;
  }
  .modal-window .modal-scroll{
    max-height: 302px;
  }
  .modal-window .flexbox{
    align-items: center;
  }
  .modal-block .modal,
  .modal-question-block .modal{
    padding: 70px 20px 40px;
  }
  .modal-terms-service-block .modal {
    padding: 50px 20px 40px;
  }
  .modal .modal_entry_disript,
  .modal .modal_cancel_disript {
    margin-bottom: 30px;
  }
  .modal_company_list_wrapper li+li {
    margin: 20px 0 0;
  }
  .modal_company_list_wrapper{
    margin: 0 0 40px;
  }
  .modal-block .btn,
  .modal-question-block .btn {
    width: 240px;
    height: 40px;
  }
  .modal-terms-service-block .btn {
    margin-top: 4px;
    width: 200px;
    height: 40px;
  }
  .modal_entry_disript,
  .modal_cancel_disript {
    padding: 0 10px;
  }
  .modal-cancel-block .modal_cancel_button_box {
    flex-direction: column;
    padding: 0;
  }
  .modal-cancel-block .modal_cancel_button_box .btn:first-child {
    margin: 0 0 10px;
  }
  .modal-cancel-block .modal_cancel_button_box .btn:last-child {
    margin: 0;
  }
  /*フォームテンプレート*/
  .form_temp .form-item .question {
    font-size: 13px;
  }
  .form_temp .form_inner .form-item {
    margin: 0 0 40px;
  }
  .form_temp .form-item label {
    font-size: 13px;
  }
  .form_temp select {
    width: 100%;
    font-size: 13px;
  }
  .form_temp .form-radio-block label{
    margin: 0 0 5px;
  }
  .form_temp .form_inner .form-item:last-of-type {
    margin: 0 0 15px;
  }
}
@media screen and (max-width:660px){
  /*ボタン*/
  .btn.btn_large {
    width: 100%;
    max-width: 340px;
    height: 45px;
  }
  /*モーダル*/
  .modal-window .modal-scroll{
    max-height: 302px;
  }
  .modal-window .flexbox{
    gap: 18px;
    margin: 0 0 20px;
  }
  .modal-block .close,
  .modal-question-block .close,
  .modal-window .js-close {
    top: 12px;
    right: 12px;
  }
  .modal-block .close::after,
  .modal-question-block .close::after,
  .modal-window .js-close::after,
  .modal-block .close::before,
  .modal-question-block .close::before,
  .modal-window .js-close::before{
    height: 23px;
    width: 2px;
  }
  .modal-window .person_tx_wrapper strong,
  .modal-window .profile_txt{
    font-size: 13px;
  }
  .modal-window .person_tx_wrapper strong{
    margin: 0 0 12px;
  }
  .modal-window .person_tx_wrapper p{
    line-height: 1.46;
  }
  .modal-window .profile_txt{
    line-height: 1.63;
  }
  /*ページネーション*/
  .pagination-container .pagination li{
    width: 33px;
    height: 33px;
    border-radius: 8px;
  }
  .pagination-container .pagination .page{
    font-size: 13px;
  }
}
@media screen and (max-height:768px) {
  .modal-block .modal,
  .modal-cancel-block .modal,
  .modal-question-block .modal {
    padding: 43px 20px 20px;
  }
  .modal-terms-service-block .modal {
    padding: 23px 20px 20px;
  }
  .modal-block .close, .modal-cancel-block .close, .modal-question-block .close, .modal-window .js-close {
    top: 13px;
    right: 13px;
  }
}