/* container */
:root{
	--container-padding: 15px;
	--container-padding-minus: -15px;
}
.container {max-width: calc(1400px + (var(--container-padding) * 2)); margin:0 auto; padding:0 var(--container-padding); width:100%;}
.container-xxl {max-width: calc(1400px + (var(--container-padding) * 2));}
.container-xl {max-width: calc(1200px + (var(--container-padding) * 2));}
.container-lg {max-width: calc(991px + (var(--container-padding) * 2));}
.container-md {max-width: calc(767px + (var(--container-padding) * 2));}
.container-sm {max-width: calc(575px + (var(--container-padding) * 2));}
.container-xs {max-width: calc(400px + (var(--container-padding) * 2));}

/* common */
body {background:#fff;}
.is-pc {display:block;}
.is-m {display:none;}
@media (max-width:991px){
.is-pc {display:none;}
.is-m {display:block;}
}

/* title-box */
.title-box h2 {font-size:32px; font-weight:bold; color:#333; text-align:center; margin:0 0 42px;}
.title-box h3 {font-size:24px; font-weight:600; color:#666; text-align:center; margin:0 0 12px;}
.title-box p {font-size:16px; color:#666; text-align:center; margin:0 0 24px; word-break:keep-all;}
.title-box p b {font-size:16px; color:#f00; font-weight:600;}
@media (max-width:991px){
.title-box h2 {font-size:24px; margin:0 0 24px;}
.title-box h3 {font-size:18px;}
.title-box p {font-size:14px;}
.title-box p b {font-size:14px;}
}

/* write-box */
.write-box > ul > li {margin:0 0 24px;}
.write-box > ul > li:last-of-type {margin:0;}
.write-box > ul > li > strong {display:flex; flex-wrap:wrap; align-items:center; margin:0 0 4px; color:#333;}
.write-box > ul > li > strong.req:after {display:inline-block; content:"*"; color:#f00; margin:0 0 0 5px;}

/* input-box */
.input-box {display:flex; flex-wrap:wrap; align-items:center; border:1px solid #bdbdbd; border-radius:8px; overflow:hidden;}
.input-box input {flex:1; min-width:0; height:45px; padding:0 15px; font-size:15px; color:#333;}
.input-box input::placeholder {color:#898989;}
@media (max-width:991px){
.input-box input {font-size:14px; padding:0 10px;}
}

/* textarea-box */
.textarea-box textarea {display:block; width:100%; height:250px; border-radius:12px; border:1px solid #d9d9d9; padding:12px; font-size:15px;}
.textarea-box textarea::placeholder {color:#898989;}
@media (max-width:991px){
.textarea-box textarea {font-size:14px; height:200px;}
}

/* file-box */
.file-box {display:flex; flex-wrap:wrap; align-items:center;}
.file-box .file-name {flex:1; min-width:0; margin:0 8px 0 0;}
.file-box .file-name p {display:block; border:1px solid #bdbdbd; border-radius:8px; height:45px; line-height:45px; font-size:15px; color:#666; padding:0 15px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.file-box .file-name.success p {color:#333;}
.file-box .file-select {position:relative; overflow:hidden;}
.file-box .file-select input {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; cursor:pointer;}
.file-box .file-select label {height:45px; background:#666; color:#fff; font-size:15px; padding:0 20px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; border-radius:8px;}
@media (max-width:991px){
.file-box .file-name {margin:0 5px 0 0;}
.file-box .file-name p {font-size:14px; padding:0 10px;}
.file-box .file-select label {font-size:14px; padding:0 15px;}
}

/* select-box */
.select-box {display:flex; flex-wrap:wrap; align-items:center; border:1px solid #bdbdbd; border-radius:8px; overflow:hidden;}
.select-box select {flex:1; min-width:0; height:45px; padding:0 35px 0 15px; font-size:15px; color:#666; background:url('../images/icon_select.svg') no-repeat calc(100% - 15px) center / 24px;}
.select-box.has-value select {color:#333;}
@media (max-width:991px){
.select-box select {font-size:14px; padding:0 30px 0 10px; font-size:14px; background-position:calc(100% - 10px) center;}
}

/* check-box */
.check-box {position:relative; overflow:hidden;}
.check-box input {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; cursor:pointer;}
.check-box label {display:flex; flex-wrap:wrap; align-items:center; font-size:14px; color:#333;}
.check-box label a {position:relative; font-weight:600; color:#333; text-decoration:underline;}
.check-box label:before {display:inline-block; content:""; width:22px; height:22px; margin:0 8px 0 0; background:url('../images/icon_check.svg') no-repeat center / cover;}
.check-box label.req:after {display:inline-block; content:"*"; font-weight:600; color:#f00; margin:0 0 0 5px;}
.check-box input:checked ~ label:before {background-image:url('../images/icon_check_on.png');}

/* check-total-box */
.check-total-box .check-total {margin:0 0 10px;}
.check-total-box .check-total .check-box label {font-size:24px; font-weight:500;}
.check-total-box .check-list .check-box {margin:0 0 5px; padding:15px; border:1px solid #ddd;}
.check-total-box .check-list .check-box:last-of-type {margin:0;}
.check-total-box .check-list .check-box p {flex:1; min-width:0; font-size:16px; color:#333;}
.check-total-box .check-list .check-box a {width:20px; height:20px; font-size:0; background:url('../images/icon_arrow_right.svg') no-repeat center / cover;}
@media (max-width:991px){
.check-total-box .check-total .check-box label {font-size:18px;}
.check-total-box .check-list .check-box {padding:10px;}
.check-total-box .check-list .check-box p {font-size:15px:}
}

/* radio-box */
.radio-box {position:relative; overflow:hidden;}
.radio-box input {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; cursor:pointer;}
.radio-box label {display:flex; flex-wrap:wrap; align-items:center; font-size:14px; color:#333;}
.radio-box label:before {display:inline-block; content:""; width:18px; height:18px; margin:0 8px 0 0; background:url('../images/icon_radio.svg') no-repeat center / cover;}
.radio-box input:checked ~ label:before {background-image:url('../images/icon_radio_on.svg');}

/* button-box */
.button-box {display:flex; flex-wrap:wrap; align-items:center; justify-content:center;}
.button-box .btn {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; border-radius:8px; height:45px; font-size:15px; padding:0 20px;}
.button-box .btn-full {flex:1; min-width:0; font-size:16px; font-weight:600;}
.button-box .btn-gray {background:#666; color:#fff;}
.button-box .btn-active {background:#FF9D00 !important; color:#fff;}
@media (max-width:991px){
.button-box .btn {font-size:14px; padding:0 15px;}
.button-box .btn-full {font-size:15px;}
}

/* message-box */
.message-box {margin:4px 0 0;}
.message-box p {color:#333;}
.message-box p b {color:#f00;}
@media (max-width:991px){
.message-box p {font-size:13px;}
.message-box p b {font-size:13px;}
}

/* link-box */
.link-box ul {display:flex; flex-wrap:wrap; align-items:center; justify-content:center;}
.link-box ul li {display:flex; flex-wrap:wrap; align-items:center;}
.link-box ul li:after {display:inline-block; content:""; width:1px; height:10px; margin:0 12px; background:#666;}
.link-box ul li:last-of-type:after {display:none;}
.link-box ul li a {font-size:16px; color:#666;}
@media (max-width:991px){
.link-box ul li a {font-size:14px;}
}

/* logo-box */
.logo-box {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; margin:0 0 24px;}
.logo-box img {max-width:100%;}

/* result-box */
.result-box p {margin:0 0 10px; text-align:center; font-size:18px; font-weight:500; color:#898989; word-break:keep-all;}
.result-box p:last-of-type {margin:0;}
.result-box p b {font-size:18px; font-weight:bold; color:#333;}
.result-box p.tl {font-size:16px; font-weight:400; margin:0 0 20px;}
.result-box p.tl:last-of-type {margin:0;}
@media (max-width:991px){
.result-box p {font-size:16px; margin:0 0 5px;}
.result-box p b {font-size:16px;}
.result-box p.tl {font-size:15px; margin:0 0 15px;}
}

/* modal-box */
.modal-box {pointer-events:none; opacity:0; position:fixed; left:0; top:0; width:100%; height:100%; z-index:9999; transition:all ease 0.5s; background:rgba(0,0,0,0.7);}
.modal-box .box {pointer-events:none; opacity:0; position:absolute; left:50%; top:45%; padding:42px 30px; max-height:90%; width:calc(100% - 30px); transform:translate(-50%,-50%); max-width:440px; transition:all ease 0.5s; border-radius:20px; background:#fff; overflow:hidden; display:flex; flex-direction:column;}
.modal-box .box.lg {max-height:50%;}
.modal-box .modal-head {width:100%; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; position:absolute; left:0; top:0; padding:15px; width:100%;}
.modal-box .modal-head h2 {font-size:24px; font-weight:600; flex:1; min-width:0; padding:0 10px 0 0;}
.modal-box .modal-head .close {width:24px; height:24px; font-size:0; background:url('../images/icon_close.svg') no-repeat center / cover;}
.modal-box .modal-body {margin:15px 0 0; width:100%; height:100%; overflow-y:auto;}
.modal-box .modal-body h2 {font-size:20px; font-weight:bold; color:#333; margin:0 0 20px;}
.modal-box .modal-foot {padding:15px 30px; margin:30px -30px -42px; width:calc(100% + 60px); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; border-top:1px solid #d9d9d9;}
.modal-box .modal-foot .btn {height:28px; border-radius:2px; padding:0 12px; font-size:14px;}
.modal-box.fixed {pointer-events:inherit; opacity:1;}
.modal-box.fixed .box {pointer-events:inherit; opacity:1; top:50%;}
@media (max-width:991px){
.modal-box .box {border-radius:10px; padding:30px 15px;}
.modal-box .modal-head h2 {font-size:20px;}
.modal-box .modal-body h2 {font-size:18px; margin:0 0 15px;}
.modal-box .modal-foot {width:calc(100% + 30px); margin:30px -15px -30px; padding:15px;}
}

/* tooltip-box */
.tooltip-box {position:relative;}
.tooltip-box .tooltip-inner {pointer-events:none; opacity:0; transition:all ease 0.5s; z-index:10; content:attr(data-tooltip); position:absolute; background:var(--color-black); border-radius:5px; padding:5px 10px; font-size:14px; white-space:nowrap;}
.tooltip-box .tooltip-inner:before {pointer-events:none; opacity:0; content:""; position:absolute; left:100%; top:50%; transform:translateY(-50%); border-width:5px; border-style:solid; transition:opacity 0.2s;}
.tooltip-box .tooltip-inner p {font-size:13px; line-height:1.3; color:var(--color-white);}
.tooltip-box:hover {z-index:20;}
.tooltip-box:hover .tooltip-inner {pointer-events:inherit; opacity:1;}
.tooltip-box:hover .tooltip-inner:before {pointer-events:inherit; opacity:1;}
.tooltip-box.tooltip-top .tooltip-inner {left:50%; transform:translateX(-50%); bottom:calc(100% + 8px);}
.tooltip-box.tooltip-top .tooltip-inner:before {left:50%; transform:translateX(-50%); top:calc(100% - 2.5px); border-color:var(--color-black) transparent transparent transparent;}
.tooltip-box.tooltip-bottom .tooltip-inner {left:50%; transform:translateX(-50%); top:calc(100% + 8px);}
.tooltip-box.tooltip-bottom .tooltip-inner:before {left:50%; transform:translateX(-50%); top:calc(0% - 8px); border-color:transparent transparent var(--color-black) transparent;}
.tooltip-box.tooltip-left .tooltip-inner {right:calc(100% + 8px); top:50%; transform:translateY(-50%);}
.tooltip-box.tooltip-left .tooltip-inner:before {left:calc(100% - 1.5px); border-color:transparent transparent transparent var(--color-black);}
.tooltip-box.tooltip-right .tooltip-inner {left:calc(100% + 8px); top:50%; transform:translateY(-50%);}
.tooltip-box.tooltip-right .tooltip-inner:before {right:calc(100% - 1.5px); left:auto; transform:translateY(-50%); border-color:transparent var(--color-black) transparent transparent;}
.tooltip-box.focus {z-index:20;}
.tooltip-box.focus .tooltip-inner {pointer-events:inherit; opacity:1;}
.tooltip-box.focus .tooltip-inner:before {pointer-events:inherit; opacity:1;}
.tooltip-box.active {z-index:19;}
.tooltip-box.active .tooltip-inner {pointer-events:inherit; opacity:1;}
.tooltip-box.active .tooltip-inner:before {pointer-events:inherit; opacity:1;}
.tooltip-box .tooltip-btn {font-size:16px; font-weight:600; color:#fff; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; width:100%;}
.tooltip-box .tooltip-btn:after {display:inline-block; content:""; width:16px; height:16px; margin:0 0 0 2px; background:url('../images/icon_tooltip.svg') no-repeat center / cover;}
@media (max-width:991px){
.tooltip-box .tooltip-btn {font-size:14px;}
.tooltip-box .tooltip-btn:after {width:13px; height:13px;}
}

/* lecture-all-box */
.lecture-all-box {max-width:1020px; margin:30px auto; padding:0 10px;}
.lecture-all-box h2 {font-size:25px; font-weight:600; margin:0 0 15px;}
.lecture-all-box .inner {overflow-x:auto; white-space:nowrap;}
.lecture-all-box table {table-layout:auto; border-collapse:collapse;}
.lecture-all-box table thead tr th {background:#7593CE; color:#fff; padding:8px 10px; font-size:16px; font-weight:600; border:1px solid #fff;}
.lecture-all-box table tbody tr td {border:1px solid #d9d9d9; padding:13px 10px; font-size:15px; font-weight:600; color:#666;}
.lecture-all-box table tbody tr td:first-of-type {background:#F3F3F3;}
.lecture-all-box table tbody tr td a {padding:0 10px; width:95px; margin:0 auto; font-size:14px; color:#333; font-weight:500; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; height:30px; border:1px solid #bdbdbd; border-radius:4px;}
.lecture-all-box table tbody tr td a:after {display:inline-block; content:""; width:18px; height:18px; background:url('../images/icon_lecture_more.svg') no-repeat center / cover;}
.lecture-all-box table tbody tr td a:hover {background:#333; color:#fff; border-color:#333;}
.lecture-all-box table tbody tr td a:hover:after {filter:var(--filter-white);}
@media (max-width:991px){
.lecture-all-box h2 {font-size:20px;}
.lecture-all-box table thead tr th {padding:5px 10px; font-size:14px;}
.lecture-all-box table tbody tr td {padding:5px 10px; font-size:14px;}
.lecture-all-box table tbody tr td a {width:85px; font-size:13px;}
.lecture-all-box table tbody tr td a:after {width:15px; height:15px;}
}

/* terms-box */
.terms-box .terms-body > ul > li {margin:0 0 30px;}
.terms-box .terms-body > ul > li:last-of-type {margin:0;}
.terms-box .terms-body > ul > li > * {margin:0 0 5px;}
.terms-box .terms-body > ul > li > *:last-child {margin:0;}
.terms-box .terms-body > ul > li .terms-title {margin:0 0 10px; font-size:14px; font-weight:600;}
.terms-box .terms-body > ul > li p {font-size:13px; color:var(--color-black-500);}
.terms-box .terms-body > ul > li ul li {font-size:13px; color:var(--color-black-500); margin:0 0 3px;}
.terms-box .terms-body > ul > li ul li:last-of-type {margin:0;}
.terms-box .terms-body > ul > li ul.inner {padding:0 0 0 10px;}
.terms-box .terms-body > ul > li ul.inner li {position:relative; margin:0; padding:0 0 0 14px;}
.terms-box .terms-body > ul > li ul.inner li:before {position:absolute; left:0; top:10px; width:6px; height:1px; content:""; background:var(--color-black-500);}
@media (max-width:991px){
.terms-box .terms-body > ul > li {margin:0 0 20px;}
.terms-box .terms-body > ul > li .terms-title {font-size:15px; margin:0 0 5px;}
.terms-box .terms-body > ul > li p {font-size:13px;}
.terms-box .terms-body > ul > li ul li {font-size:13px;}
.terms-box .terms-body > ul > li ul.inner {padding:0 0 0 7px;}
.terms-box .terms-body > ul > li ul.inner li {padding:0 0 0 10px;}
.terms-box .terms-body > ul > li ul.inner li:before {top:9px;}
}