@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html{
  height: 100%;
}
body{
	font-family:'Noto Sans JP',"メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "ＭＳ Ｐゴシック", sans-serif;
	height: 100%;
	margin: 0;
  line-height: 1.4;
}

h1,h2,h3,p,ul,li{
	margin: 0;
  padding: 0;
}
h2{
  font-size: 1.6rem !important;
  font-weight: bold;
}
.d-md-none p{
  margin: 0 !important;
}
img{
  width: 100%;
  margin: 0 auto;
}

.modal-content{
  background-color: rgba(0,0,0,0.7);
  color: #fff;
}
.close{
  color: #fff;
  opacity: 1;
}
.image_ex{
  display: flex;
  justify-content: space-around;
  margin-bottom: 1em;
}
.image_ex p{
  width: 46%;
}


.mt_1{margin-top: 1rem !important;}
.mt_11{margin-top: 1.1rem !important;}
.mt_12{margin-top: 1.2rem !important;}
.mt_13{margin-top: 1.3rem !important;}
.mt_14{margin-top: 1.4rem !important;}

.mb_0{margin-bottom: 0 !important;}
.mb_1{margin-bottom: 1rem !important;}
.mb_11{margin-bottom: 1.1rem !important;}
.mb_12{margin-bottom: 1.2rem !important;}
.mb_13{margin-bottom: 1.3rem !important;}
.mb_14{margin-bottom: 1.4rem !important;}
.mb_2{margin-bottom: 2rem !important;}
.mb_3{margin-bottom: 3rem !important;}
.mb_4{margin-bottom: 4rem !important;}
.mb_5{margin-bottom: 5rem !important;}

.fs_07{font-size: 0.7rem !important;}
.fs_08{font-size: 0.8rem !important;}
.fs_09{font-size: 0.9rem !important;}
.fs_1{font-size: 1rem !important;}
.fs_11{font-size: 1.1rem !important;}
.fs_12{font-size: 1.2rem !important;}
.fs_13{font-size: 1.3rem !important;}
.fs_14{font-size: 1.4rem !important;}
.fs_15{font-size: 1.5rem !important;}
.fs_16{font-size: 1.6rem !important;}
.fs_17{font-size: 1.7rem !important;}
.fs_18{font-size: 1.8rem !important;}
.fs_19{font-size: 1.9rem !important;}
.fs_20{font-size: 2rem !important;}

.fc_red{color: #f00;}
.err_msg{
  color: #f00;
  font-weight: bold;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl{
  padding-right: 5px;
  padding-left: 5px;
}
.row{
  margin: 20px 0 0 0;
}
/* 
.col-md-3,.col-md-5,.col-md-6,.col-12{
  padding-right: 0;
  padding-left: 0;
}
 */

.container_form{
  background-color: #f5f5f5;
  margin: 30px auto 20px;
  padding: 10px 5px;
}
.container_form .inner{
  /* width: 960px;
  margin: 0 auto; */
}

.btln{
  border: 1px solid #f00 !important;
  border-radius: 0 !important;
  font-size: 2.8rem !important;
  font-weight: bold;
  text-align: center;
}

.up_input{display: none !important;}
.up_area img{
  width: 100%;
  cursor: pointer;
}
.kutisu{
  border: 3px solid #000 !important;
  border-radius: 0 !important;
  font-size: 2.8rem !important;
  font-weight: bold;
  text-align: center;
}
.kiyaku{
  width: 100%;
  height: 20rem;
  overflow-y: scroll;
  margin: 0 auto 20px auto;
  padding: 1rem;
  border: 1px solid #777;
}
.kiyaku h3,.kiyaku h4,.kiyaku p,.kiyaku ul,.kiyaku li{
  font-weight: normal !important;
  font-size: 1rem;
}
.kiyaku h3,.kiyaku h4{
  margin-top: 1rem;
}
.kiyaku ul{
  margin: 0 !important;
}
.kiyaku li{
  list-style-type: none;
}
.btn-next{
  background-color: #e71419 !important;
	border: none !important;
	color: #fff;
}
.btn-next:hover
, .btn-next:active
, .btn-next:focus{
	background-color: #d3011d !important;
	color: #fff;
}
.sp_ftpd{padding-bottom: 100px;}
.footer{
  margin-top: 3rem;
  background-color: #ff0;
  padding: 16px 0;
  position: fixed;
  bottom: 0;
  width: 100%;
}
.footer_navi{
  width: 100%;
}
.footer_navi input[type="image"]{
  width: 100%;
}
.copy{
  font-size: 0.6rem !important;
  padding-bottom: 1rem !important;
}
.footer img{
}

.sp_adj01 label{display: inline !important;}
.form-control{
  border: 2px solid #4a4a4a !important;
}

.title {
  border: 2px solid #005BBB;
  color: #005BBB;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 5px;
  margin: 10px 0 !important;
}
.vest_blue {
  color: #005BBB;
  text-align: center;
  font-weight: bold;
}
.spec_block {
  width: 98%;
  padding: 5px;
  margin: 0 auto;
  background-color: #ECECEC;
}
.inner {
  font-size: 1.2rem;
}
.underline {
  border-bottom: 2px solid #666 !important;
  padding-bottom: 0.5rem;
}
.required {
  background-color: #f00;
  color: #FFF;
  border-radius: 5px;
  padding: 5px 2.5px;
}
.footer_line {
  background-color: #005BBB;
  width:100%;
  height: 20px;
}

.elected_block {
  width: 90%;
  padding: 5px;
  margin: 0 auto;
  background-color: #edf3f9;
}

.spec_detail_block {
  background-color: #FFF;
  border: 1px solid #000;
  margin: 1rem;
  padding: 0.5rem;
}

/* ============================================================
   Display Contest 2nd Edition Styles (SP)
   ============================================================ */

/* --- LP --- */
.lp-section { margin-left: auto; margin-right: auto; }
.lp-outline-box { background-color: #e8f0f8; border-radius: 8px; color: #005BBB; }
.lp-section-title {
  color: #005BBB; font-weight: bold; font-size: 1.2rem;
  position: relative; overflow: hidden;
}
.lp-section-title span {
  display: inline-block; background-color: #e8f0f8; padding: 0 1rem; position: relative; z-index: 1;
}
.lp-section-title::before {
  content: ''; position: absolute; top: 50%; left: 0; right: 0;
  height: 1px; background-color: #005BBB; z-index: 0;
}
.lp-outline-table { --bs-table-color: #005BBB; color: #005BBB; }
.lp-outline-table th, .lp-outline-table td { color: #005BBB; }
.lp-outline-table th { display: block; padding-bottom: 0; }
.lp-outline-table td { display: block; padding-top: 0; }
.lp-label {
  display: inline-block; border: 1.5px solid #005BBB; color: #005BBB;
  background-color: #fff;
  font-size: 0.8rem; padding: 2px 12px; border-radius: 999px; font-weight: bold;
  letter-spacing: 0.1em;
}
.lp-date-big {
  font-size: 1.3em; font-weight: bold; color: #005BBB;
  margin: 0 0.05em;
}
.lp-bordered-title { border: 2px solid #005BBB; border-radius: 8px; padding: 6px 10px; }
.lp-bordered-title h2 { color: #005BBB; font-weight: bold; margin: 0; font-size: 1.2rem !important; }
.lp-notice-box { background-color: #f9f9f9; border: 1px solid #ccc; border-radius: 6px; }
.lp-notice-box ul { padding-left: 0.5rem; }
.lp-notice-box li { font-size: 0.85rem; margin-bottom: 0.3rem; list-style-type: none; }
.lp-text-block { background-color: #f9f9f9; border-radius: 6px; }
.lp-text-block li { list-style-type: none; }
.lp-steps .lp-step { background-color: #f0f0f0; border-radius: 8px; }
.lp-step-num { color: #005BBB; font-weight: bold; font-size: 1.1rem; }

/* --- Buttons --- */
.btn-entry {
  background-color: #005BBB; color: #fff; font-weight: bold;
  font-size: 1.1rem; border-radius: 30px; border: none;
  padding: 10px 16px; text-decoration: none; display: block;
}
.btn-entry:hover, .btn-entry:active, .btn-entry:focus { background-color: #004a99; color: #fff; }
.btn-confirm {
  background-color: #e71419; color: #fff; font-weight: bold;
  font-size: 1.1rem; border-radius: 30px; border: none;
  padding: 10px 16px;
}
.btn-confirm:hover, .btn-confirm:active, .btn-confirm:focus { background-color: #c91015; color: #fff; }
.btn-submit {
  background-color: #e71419; color: #fff; font-weight: bold;
  font-size: 1.1rem; border-radius: 30px; border: none;
  padding: 10px 16px;
}
.btn-submit:hover, .btn-submit:active, .btn-submit:focus { background-color: #c91015; color: #fff; }

/* --- Form --- */
.form-page-title { color: #005BBB; font-weight: bold; font-size: 1.2rem !important; }
.form-section { background-color: #f9f9f9; border-radius: 8px; padding: 12px; }
.form-section-title {
  color: #005BBB; font-weight: bold; font-size: 1.1rem;
  border-bottom: 2px solid #005BBB; padding-bottom: 6px; margin-bottom: 12px;
}
.form-group .form-label { margin-bottom: 4px; font-size: 0.95rem; }

/* --- Confirm --- */
.confirm-section { background-color: #f9f9f9; border-radius: 8px; padding: 12px; }
.confirm-table th {
  display: block; width: 100%; font-weight: bold;
  background-color: #e8f0f8; border: 1px solid #ddd; padding: 6px 8px;
}
.confirm-table td { display: block; border: 1px solid #ddd; padding: 6px 8px; }

/* --- Course --- */
.course-card { border-radius: 8px; border: 2px solid #ddd; }
.course-card-title { font-weight: bold; font-size: 1rem; margin-bottom: 8px; }
.course-volume { border-color: #00b4d8; }
.course-idea { border-color: #e88090; }
.course-growth { border-color: #6cc070; }
.course-header-bar { border-radius: 8px; }
.course-header-bar.course-1 { background-color: #00b4d8; }
.course-header-bar.course-2 { background-color: #e88090; }
.course-header-bar.course-3 { background-color: #6cc070; }

/* --- Complete --- */
.complete-section { background-color: #f9f9f9; border-radius: 8px; }

/* --- Contact --- */
.lp-contact-box {
  background-color: #fff; color: #003c71; border-radius: 8px;
}
.lp-contact-box a { color: #003c71; text-decoration: none; }
.lp-contact-box a:hover { text-decoration: underline; }
.lp-contact-tel { font-size: 1.6rem; font-weight: bold; letter-spacing: 0.05em; }