@charset "utf-8";
/* CSS Document */
@import url("fonts.css");
@import url("reset.css");

/* css default setting */
.blind {
  display: block;
  overflow: hidden;
  position: absolute !important;
  left: -9999px;
  width: 1px;
  height: 1px;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
}

.blank {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}

.dnone {
  display: none !important;
}

.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
  padding: 0;
}

.clearfix:after {
  clear: both;
}

.tct {
  text-align: center;
}

.tlt {
  text-align: left;
}

.trt {
  text-align: right;
}

.vam {
  vertical-align: middle;
}

.vat {
  vertical-align: top;
}

.vab {
  vertical-align: bottom;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.ib {
  display: inline-block;
}

.keep {
  word-break: keep-all;
}

.poinherit {
  position: inherit;
}

/* button style */
.btn {
  position: relative;
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.btn:focus {
  outline: 0;
}

.btn:hover,
.btn:focus {
  text-decoration: underline;
}

.btn-white-01 {
  padding: 13px 24px;
  line-height: 20px;
  font-weight: 600;
  color: #666;
  border: 1px solid #bbb;
  border-radius: 4px;
}

.btn-white-02 {
  min-width: 120px;
  padding: 14px 24px;
  line-height: 22px;
  font-weight: 600;
  color: #666;
  border: 1px solid #bbb;
  border-radius: 4px;
  font-size: 18px;
}

.btn-white-02.w104 {
  min-width: 0;
  width: 104px;
  padding: 14px;
}

.btn-white-03 {
  padding: 19px 32px 18px 32px;
  line-height: 25px;
  font-weight: 600;
  color: #666;
  border: 1px solid #bbb;
  border-radius: 4px;
  font-size: 20px;
}

.btn-blue-01 {
  padding: 14px 24px;
  line-height: 20px;
  font-weight: 600;
  color: #fff;
  background-color: #495EF4;
  border-radius: 4px;
}

.btn-blue-02 {
  min-width: 120px;
  padding: 15px 24px 14px 24px;
  line-height: 23px;
  font-weight: 600;
  color: #fff;
  background-color: #495EF4;
  border-radius: 4px;
  font-size: 18px;
}

.btn-blue-03 {
  padding: 20px 32px 19px 32px;
  line-height: 25px;
  font-weight: 600;
  color: #fff;
  background-color: #495EF4;
  border-radius: 4px;
  font-size: 20px;
}

.btn-black-01 {
  padding: 14px 24px;
  line-height: 20px;
  font-weight: 600;
  color: #fff;
  background-color: #111;
  border-radius: 4px;
}

.btn-black-02 {
  min-width: 100px;
  padding: 15px 24px 14px 24px;
  line-height: 23px;
  font-weight: 600;
  color: #fff;
  background-color: #111;
  border-radius: 4px;
  font-size: 18px;
}

.btn-blueline-01 {
  padding: 13px 24px;
  line-height: 20px;
  font-weight: 600;
  color: #495EF4;
  border: 1px solid #495EF4;
  border-radius: 4px;
  background-color: #fff;
}

.btn-blueline-02 {
  min-width: 120px;
  padding: 14px 24px 13px 24px;
  line-height: 23px;
  font-weight: 600;
  color: #495EF4;
  border: 1px solid #495EF4;
  border-radius: 4px;
  font-size: 18px;
  background-color: #fff;
}

.btn-blueline-03 {
  padding: 19px 32px 18px 32px;
  line-height: 25px;
  font-weight: 600;
  color: #495EF4;
  border: 1px solid #495EF4;
  border-radius: 4px;
  font-size: 20px;
  background-color: #fff;
}

.btn-blueline-04 {
  padding: 9px 15px;
  line-height: 20px;
  font-weight: 500;
  color: #495EF4;
  border-radius: 20px;
  border: 1px solid #495EF4;
}

.btn-blackline-01 {
  padding: 13px 24px;
  line-height: 20px;
  font-weight: 600;
  color: #111;
  border: 1px solid #111;
  border-radius: 4px;
  background-color: #fff;
}

.btn-blackline-02 {
  min-width: 100px;
  padding: 14px 24px 13px 24px;
  line-height: 23px;
  font-weight: 600;
  color: #111;
  border: 1px solid #111;
  border-radius: 4px;
  font-size: 18px;
  background-color: #fff;
}

.btn-add-01 {
  min-width: 120px;
  padding: 15px 29px 14px 53px;
  line-height: 23px;
  font-weight: 600;
  color: #fff;
  background: #111 url(../images/ico_plus.svg) 29px 18px no-repeat;
  border-radius: 4px;
  font-size: 18px;
}

.btn-add-02 {
  line-height: 30px;
  border: 1px solid #495EF4;
  padding: 0 10px 0 28px;
  color: #495EF4;
  background: #fff url(../images/ico_plus_02.svg) 10px center no-repeat;
  font-weight: bold;
  font-size: 14px;
  border-radius: 4px;
}

.btn-modify-01 {
  width: 52px;
  height: 52px;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 50%;
  background: #fff url(../images/ico_camera.svg) center no-repeat;
}

.btn-modify-02 {
  line-height: 24px;
  padding-left: 24px;
  color: #666;
  font-size: 14px;
  background: url(../images/ico_pencil.svg) left center no-repeat;
}

.btn-modify-03 {
  width: 36px;
  height: 36px;
  text-indent: -9999px;
  overflow: hidden;
  background: url(../images/ico_pencil_b.svg) center no-repeat;
}

.btn-delete-01 {
  width: 36px;
  height: 40px;
  background: url(../images/ico_x_02.svg) 10px center no-repeat;
  text-indent: -9999px;
  overflow: hidden;
}

.btn-delete-02 {
  line-height: 24px;
  padding-left: 24px;
  color: #666;
  font-size: 14px;
  background: url(../images/ico_delete.svg) left center no-repeat;
}

.btn-delete-03 {
  width: 24px;
  height: 24px;
  background: url(../images/ico_x_03.svg) center no-repeat;
  text-indent: -9999px;
  overflow: hidden;
}

.btn-text {
  color: #495EF4;
  font-weight: 500;
  text-decoration: underline;
}

.btn-delete-04 {
  position: relative;
  width: 24px;
  height: 24px;
  background: #EFF1F9;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 50%;
}

.btn-delete-04:before {
  content: '';
  position: absolute;
  top: 11px;
  left: 6px;
  display: inline-block;
  width: 12px;
  height: 2px;
  background-color: #111;
}

.btn-text {
  color: #495EF4;
  font-weight: 500;
  text-decoration: underline;
}

.btn-text-02 {
  color: #495EF4;
  font-weight: 500;
}

.btn-excel {
  padding: 13px 24px 13px 44px;
  line-height: 20px;
  font-weight: 600;
  color: #666;
  border: 1px solid #bbb;
  border-radius: 4px;
  background: #fff url(../images/ico_excel.svg) 20px 16px no-repeat;
}

.btn-sorting {
  width: 20px;
  height: 20px;
  text-indent: -9999px;
  overflow: hidden;
  background: url(../images/ico_sorting.svg) center no-repeat;
}

.btn-more {
  line-height: 20px;
  padding: 8px 36px 8px 16px;
  background: url(../images/arr_08.svg) right 16px center no-repeat;
  color: #999;
  font-weight: 500;
  border-radius: 18px;
}

.btn-download-01 {
  padding: 9px 17px 9px 44px;
  line-height: 20px;
  color: #495EF4;
  background: #F5F6FE url(../images/ico_download.svg) 12px 8px no-repeat;
  border-radius: 20px;
  border: 1px solid #eee;
  text-align: left;
}

.btn-download-02 {
  padding: 9px 17px 9px 44px;
  line-height: 20px;
  color: #495EF4;
  background: #fff url(../images/ico_download.svg) 12px 8px no-repeat;
  border-radius: 20px;
  border: 1px solid #eee;
  text-align: left;
}

/* text style */
.text-red {
  color: #D11515;
}

.text-blue {
  color: #495EF4;
}

.text-guide {
  color: #999;
}

/* scroll */
.scroll-custom-01 {
  scrollbar-color: #CCCCCC #dddddd;
  scrollbar-width: thin;
}

.scroll-custom-01::-webkit-scrollbar {
  width: 6px;
  height: 10px;
}

.scroll-custom-01::-webkit-scrollbar-track {
  background-color: #dddddd33;
}

.scroll-custom-01::-webkit-scrollbar-thumb {
  border-radius: 100px;
  background: #CCCCCC;
  box-shadow: inset 2px 2px 5px 0 rgba(#fff, 0.5);
}

/* body */
body {
  font-family: 'SUIT', sans-serif;
  font-size: 16px;
  color: #111;
}

/* skip-nav */
.skip-nav {
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

.skip-nav a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  font-size: 0;
  color: #fff;
}

.skip-nav a:focus {
  height: 30px;
  line-height: 30px;
  background: #111;
  font-size: 20px;
}

/* wrap */
.wrap {
  position: relative;
  min-height: 100vh;
}

/* #header */
#header {
  position: relative;
  float: left;
  width: 321px;
  padding: 188px 24px 24px;
  min-height: 100vh;
  overflow-y: auto;
}

#header h1 {
  position: absolute;
  top: 79px;
  left: 50%;
  transform: translateX(-50%);
}

#header h1 img {
  vertical-align: top;
}

#header .quick-nav {
  display: none;
}

/* #gnb */
#gnb ul {
  list-style: none;
}

#gnb .btn {
  text-align: left;
}

#gnb .gnb-depth1>li+li {
  margin-top: 12px;
}

#gnb .gnb-depth1>li>.btn {
  position: relative;
  width: 100%;
  padding: 17px 16px 17px 50px;
  line-height: 25px;
  border-radius: 4px;
  font-size: 20px;
  font-weight: 600;
}

#gnb .gnb-depth1>li>.btn:hover,
#gnb .gnb-depth1>li>.btn:focus {
  background-color: #495EF4;
  color: #fff;
}

#gnb .gnb-depth1>li>.btn.active {
  background-color: #495EF4;
  color: #fff;
  box-shadow: 0 12px 16px #1A45FF40;
}

#gnb .gnb-depth1>li>.btn:before {
  content: "";
  position: absolute;
  top: 17px;
  left: 16px;
  display: inline-block;
  width: 24px;
  height: 24px;
}



#gnb .gnb-depth1>li>.btn-toggle:after {
  content: "";
  position: absolute;
  top: 17px;
  right: 16px;
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(../images/arr_05_b.svg) center no-repeat;
}

#gnb .gnb-depth1>li>.btn-toggle:hover:after,
#gnb .gnb-depth1>li>.btn-toggle:focus:after {
  background: url(../images/arr_05_w.svg) center no-repeat;
}

#gnb .gnb-depth1>li>.btn-toggle.active {
  background-color: #495EF4;
  color: #fff;
}

#gnb .gnb-depth1>li>.btn-toggle.active:after {
  background: url(../images/arr_05_w.svg) center no-repeat;
}

#gnb .gnb-depth2 {
  display: none;
  padding: 32px 50px;
}

#gnb .gnb-depth2>li+li {
  margin-top: 20px;
}

#gnb .gnb-depth2>li>.btn {
  line-height: 20px;
  font-weight: 600;
}

#gnb .gnb-depth2>li>.btn.active {
  color: #495EF4;
}

/* .container */
.container {
  float: left;
  position: relative;
  /* width: calc(100% - 321px); */
  min-height: 100vh;
  border-left: 1px solid #ccc;
}

.contents-top {
  padding: 26px 80px;
  border-bottom: 1px solid #ccc;
}

.contents-top .title {
  float: left;
  line-height: 48px;
  font-size: 20px;
  font-weight: bold;
}

.contents-top .snb {
  float: right;
}

.contents-top .snb ul {
  list-style: none;
}

.contents-top .snb .snb-depth1>li {
  position: relative;
  float: left;
}

.contents-top .snb .snb-depth1>li+li {
  margin-left: 8px;
}

.contents-top .snb .snb-depth1>li>.btn {
  width: 172px;
  line-height: 46px;
  border: 1px solid #ddd;
  border-radius: 8px;
  text-align: left;
  font-weight: 600;
  padding-left: 50px;
}

.contents-top .snb .snb-depth1>li>.btn.language {
  background: url(../images/ico_language.svg) 24px center no-repeat;
}

.contents-top .snb .snb-depth1>li>.btn.mypage {
  background: url(../images/ico_person.svg) 24px center no-repeat;
}

.contents-top .snb .snb-depth1>li>.btn:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 48px;
  height: 48px;
  background: url(../images/arr_01.svg) center no-repeat;
  transition: .2s ease-out;
}

.contents-top .snb .snb-depth1>li>.btn.active:after {
  transform: rotate(180deg);
}

.contents-top .snb .snb-depth2 {
  z-index: 10;
  display: none;
  position: absolute;
  top: 55px;
  right: 0;
  border: 1px solid #111;
  border-radius: 4px;
  padding: 8px;
  background-color: #fff;
}

.contents-top .snb .snb-depth2>li>.btn {
  min-width: 154px;
  line-height: 18px;
  border-radius: 4px;
  padding: 11px 12px;
  text-align: left;
}

.contents-top .snb .snb-depth2>li>.btn:hover,
.contents-top .snb .snb-depth2>li>.btn:focus {
  background-color: #F3F5FF;
  color: #495EF4;
}

.contents-body {
  width: 100%;
  max-width: 1600px;
  padding: 64px 40px 130px;
  margin: 0 auto;
}

.contents-body.contents-paying {
  display: flex;
  padding: 0 80px;
}

.contents-body.contents-paying .paying-01 {
  width: 66%;
  padding: 64px 80px 130px 0;
}

.contents-body.contents-paying .paying-02 {
  width: 34%;
  border-left: 1px solid #ccc;
  margin-left: -1px;
  padding: 64px 0 130px 52px;
}

.contents-body.contents-password {
  position: relative;
  background-color: #F5F7FC;
  min-height: calc(100vh - 101px);
}

.contents-title {
  position: relative;
  margin-bottom: 16px;
}

.contents-title .title-page {
  line-height: 50px;
  font-size: 40px;
  font-weight: bold;
}

.contents-title .text-sub {
  line-height: 20px;
  margin-top: 8px;
}

.contents-title .btns-box {
  z-index: 5;
  position: absolute;
  top: 2px;
  right: 0;
}

/* box */
.box-white-01 {
  padding: 52px;
  border: 1px solid #eee;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
  border-radius: 8px;
}

.box-white-01+.box-white-01 {
  margin-top: 24px;
}

.box-blue-01 {
  background-color: #F7F8FC;
  border-radius: 8px;
  padding: 32px;
}

.box-round-01 {
  display: inline-block;
  vertical-align: top;
  min-width: 66px;
  line-height: 20px;
  padding: 6px;
  color: #666;
  background: #F6F6F6;
  border-radius: 16px;
}

.box-round-01.blue-01 {
  color: #495EF4;
  border: 1px solid #495EF4;
  background: #fff;
}

.box-round-01.green-01 {
  color: #1AADAD;
  background: #E7F7F7;
}

.box-round-01.orange-01 {
  color: #F49E49;
  background: #FEF5EC;
}

.box-round-01.red-01 {
  color: #E51C69;
  background: #FCEBF2;
}

.box-round-01.w80 {
  min-width: 80px;
}

.box-round-02 {
  display: inline-block;
  vertical-align: top;
  background-color: #F7F8FC;
  border-radius: 4px;
  padding: 15px 24px;
  font-size: 18px;
  color: #999;
  font-weight: 600;
  line-height: 22px;
}


/* title */
.title-style-01 {
  line-height: 30px;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 16px;
}

.title-style-02 {
  line-height: 25px;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 28px;
}

.title-wrap-01 {
  display: flex;
}

.title-wrap-01 .text-01 {
  line-height: 20px;
  margin: 5px 0 0 24px;
}

.title-wrap-01 .text-sub {
  line-height: 30px;
  margin-left: 16px;
  color: #495EF4;
}

/* input */
.input-01 {
  width: 100%;
  max-width: 330px;
  line-height: 50px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-weight: 500;
  padding: 0 16px;
}

.input-01.readonly {
  background-color: #F7F7F7;
  color: #999;
}

.input-01::placeholder {
  color: #CCCCCC;
}

.input-01:ms-input-placeholder {
  color: #CCCCCC;
}

.input-02 {
  width: 100%;
  line-height: 46px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-weight: 500;
  padding: 0 16px;
}

.input-02.readonly {
  background-color: #F7F7F7;
  color: #999;
}

.input-02::placeholder {
  color: #CCCCCC;
}

.input-02:ms-input-placeholder {
  color: #CCCCCC;
}

.input-03 {
  position: relative;
}


.input-03 input {
  width: 100%;
  line-height: 52px;
  border: 0;
  border-bottom: 2px solid #ddd;
  font-size: 20px;
  font-weight: 600;
  padding-right: 30px;
}

.input-03 .btn-input-delete {
  display: none;
  position: absolute;
  top: 16px;
  right: 0;
  width: 20px;
  height: 20px;
  background: #ddd url(../images/ico_x_04.svg) center no-repeat;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 50%;
}

.input-03 .btn-input-delete:focus {
  background-color: #111;
}

.input-btn-set-01 {
  display: flex;
}

.input-btn-set-01>*+* {
  margin-left: 8px;
}

.input-btn-set-01 .input-01 {
  width: calc(100% - 118px);
}

.input-btn-set-01 .btn {
  min-width: 110px;
  padding: 14px;
  line-height: 22px;
}

.input-btn-set-02 {
  position: relative;
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
}

.input-btn-set-02 input[type=text] {
  width: 100%;
  line-height: 52px;
  border: 1px solid #495EF4;
  padding: 0 52px 0 24px;
  border-radius: 26px;
  box-shadow: 0 3px 6px #495EF440;
}

.input-btn-set-02 .btn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 36px;
  height: 36px;
  overflow: hidden;
  text-indent: -9999px;
  background: #495EF4 url(../images/ico_plus.svg) center no-repeat;
  border-radius: 50%;
  border: 1px solid #495EF4;
}

.input-btn-set-02 .btn:hover,
.input-btn-set-02 .btn:focus {
  background: #fff url(../images/ico_plus_b.svg) center no-repeat;
  border: 1px solid #495EF4;
}

.input-address-01 {
  display: flex;
}

.input-address-01>*+* {
  margin-left: 8px;
}

.input-address-01 .btn {
  min-width: 110px;
  white-space: nowrap;
  padding: 14px;
}

.input-address-01 .input-address-01 {
  max-width: 385px;
}

.input-career-01 {
  display: flex;
}

.input-career-01>*+* {
  margin-left: 8px;
}

.input-unit-01 {
  position: relative;
}

.input-unit-01 input[type=text] {
  min-width: 0;
  width: 104px;
  padding-right: 36px;
  text-align: right;
  font-weight: 500;
}

.input-unit-01 .unit {
  position: absolute;
  top: 0;
  right: 18px;
  display: inline-block;
  line-height: 52px;
  color: #999;
  font-weight: 500;
}

.input-unit-02 {
  position: relative;
}

.input-unit-02 input[type=text] {
  min-width: 0;
  width: 104px;
  padding-right: 50px;
  text-align: right;
  font-weight: 500;
}

.input-unit-02 .unit {
  position: absolute;
  top: 0;
  right: 18px;
  display: inline-block;
  line-height: 52px;
  color: #999;
  font-weight: 500;
}

.input-unit-03 {
  position: relative;
  display: inline-block;
  vertical-align: top;
}

.input-unit-03 input[type=text] {
  min-width: 0;
  width: 150px;
  padding-right: 36px;
  text-align: right;
  font-weight: 500;
}

.input-unit-03 .unit {
  position: absolute;
  top: 0;
  right: 18px;
  display: inline-block;
  line-height: 48px;
  color: #999;
  font-weight: 500;
}

.text-guide+.input-unit-03 {
  margin-top: 8px;
}

.input-unitset-01 {
  display: flex;
}

.input-unitset-01>div {
  width: calc(50% - 10px);
}

.input-unitset-01>span {
  width: 20px;
  text-align: center;
  line-height: 52px;
}

.input-unitset-01 .input-unit-03 input[type=text] {
  width: 100%;
  max-width: 150px;
}

.input-card-01 {
  display: flex;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding-right: 38px;
  background: url(../images/ico_card.svg) right 12px center no-repeat;
}

.input-card-01 input {
  width: calc(25% - 7px);
  line-height: 50px;
  outline: 0;
  text-align: center;
}

.input-card-01 span {
  width: 9px;
  text-align: center;
  line-height: 50px;
}

.input-bank-01 {
  display: flex;
}

.input-bank-01>*+* {
  margin-left: 8px;
}

.input-bank-01 .select-01 {
  width: 160px;
  height: 52px;

  line-height: 50px;
}

.input-bank-01 .input-01 {
  width: calc(100% - 296px);
}

.input-bank-01 .btn {
  min-width: 110px;
}

.input-radio-set-01 {
  display: flex;
  width: 180px;
}

.input-radio-set-01 .input-02 {
  width: 80px;
  margin-right: 4px;
}

.input-search-member {
  position: relative;
}

.input-search-member .input-search {
  width: 100%;
  line-height: 50px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-weight: 500;
  padding: 0 16px 0 44px;
  background: url(../images/ico_search.svg) 16px center no-repeat;
}

.input-search-member .input-search.readonly {
  background-color: #F7F7F7;
  color: #999;
}

.input-search-member .input-search::placeholder {
  color: #CCCCCC;
}

.input-search-member .input-search:ms-input-placeholder {
  color: #CCCCCC;
}

.input-search-member .list-instructor {
  display: none;
  z-index: 10;
  position: absolute;
  top: 54px;
  left: 0;
  width: 100%;
}

.input-set-attend {
  text-align: center;
  display: flex;
  justify-content: center;
}

.input-set-attend input[type=text] {
  display: inline-block;
  vertical-align: top;
  width: 32px;
  height: 52px;
  border-bottom: 3px solid #DBDDEA;
  text-align: center;
  font-size: 32px;
  font-weight: 500;
  margin: 0 8px;
  border-radius: 0;
}

.input-set-attend input[type=text]::placeholder {
  color: #DBDDEA;
  font-size: 24px;
}

.input-set-attend input[type=text]:ms-input-placeholder {
  color: #DBDDEA;
  font-size: 24px;
}

.input-set-attend input[type=text]:focus {
  color: #495EF4;
  border-color: #495EF4;
  outline: 0;
}

.input-select-set-01 {
  display: flex;
}

.input-select-set-01 .select-01 {
  width: 30%;
}

.input-select-set-01 .input-02 {
  width: calc(70% - 4px);
  margin-left: 4px;
}

/* check */
.check-01 {
  position: relative;
  display: inline-block;
}

.check-01 input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.check-01 label {
  display: inline-block;
  min-width: 110px;
  padding: 14px 24px 13px 24px;
  line-height: 23px;
  font-weight: 600;
  color: #666;
  border: 1px solid #bbb;
  border-radius: 4px;
  font-size: 18px;
  text-align: center;
  cursor: pointer;
}

.check-01 input[type=checkbox]:focus+label,
.check-01 label:hover {
  box-shadow: 0 3px 6px #495EF440;
  text-decoration: underline;
}

.check-01 input[type=checkbox]:checked+label {
  color: #495EF4;
  border-color: #495EF4;
}

.check-02 {
  position: relative;
  display: inline-block;
}

.check-02 input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.check-02 label {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding-right: 46px;
  font-size: 14px;
  color: #999;
  cursor: pointer;
}

.check-02 label:before,
.check-02 label:after {
  content: "";
  position: absolute;
  display: inline-block;
  transition: .2s ease-out;
}

.check-02 label:before {
  top: 0;
  right: 0;
  width: 38px;
  height: 24px;
  border-radius: 12px;
  background-color: #DCDEE3;
}

.check-02 label:after {
  top: 2px;
  right: 16px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.08);
}

.check-02 input[type=checkbox]:focus+label,
.check-02 label:hover {
  text-decoration: underline;
}

.check-02 input[type=checkbox]:checked+label:before {
  background-color: #111;
}

.check-02 input[type=checkbox]:checked+label:after {
  right: 2px;
}

.check-03 {
  position: relative;
  display: inline-block;
}

.check-03 input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.check-03 label {
  display: inline-block;
  min-width: 40px;
  height: 40px;
  line-height: 38px;
  padding: 0 12px;
  border: 1px solid #EEEEEE;
  font-size: 14px;
  border-radius: 20px;
  cursor: pointer;
  font-weight: 500;
  white-space: nowrap;
  text-align: center;
}

.check-03 input[type=checkbox]:focus+label,
.check-03 label:hover {
  text-decoration: underline;
}

.check-03 input[type=checkbox]:checked+label {
  background-color: #F5F6FE;
  color: #495EF4;
}

.check-04 {
  position: relative;
  display: inline-block;
}

.check-04 input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.check-04 label {
  position: relative;
  display: inline-block;
  line-height: 24px;
  min-width: 24px;
  vertical-align: top;
  padding-left: 24px;
  cursor: pointer;
}

.check-04 label:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 22px;
  height: 22px;
  background-color: #fff;
}

.check-04 label:before {
  border: 1px solid #ccc;
  border-radius: 4px;
}

.check-04 label span {
  margin-left: 8px;
  font-weight: 500;
}

.check-04 input[type=checkbox]:checked+label:before {
  background: #111 url(../images/ico_check_02.svg) center no-repeat;
}

.check-05 {
  position: relative;
  display: inline-block;
}

.check-05 input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.check-05 label {
  display: inline-block;
  padding: 15px 32px;
  border: 1px solid #ddd;
  background-color: #fff;
  line-height: 20px;
  font-size: 16px;
  border-radius: 26px;
}

.check-05 input[type=checkbox]:focus+label {
  text-decoration: underline;
}

.check-05 input[type=checkbox]:checked+label {
  color: #495EF4;
  border-color: #495EF4;
  box-shadow: 0 3px 6px #495EF429;
}

.check-set-01 {
  display: flex;
  height: 52px;
  overflow-x: auto;
  padding-bottom: 12px;
}

.check-set-01 .check-03+.check-03 {
  margin-left: 4px;
}

.check-set-02 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.check-set-02 p {
  margin: 4px;
}

/* radio */
.radio-01 {
  position: relative;
  display: inline-block;
}

.radio-01 input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.radio-01 label {
  display: inline-block;
  min-width: 110px;
  padding: 14px 24px;
  line-height: 22px;
  font-weight: 600;
  color: #666;
  border: 1px solid #bbb;
  border-radius: 4px;
  font-size: 18px;
  text-align: center;
  cursor: pointer;
  background-color: #fff;
}

.radio-01 input[type=radio]:focus+label,
.radio-01 label:hover {
  box-shadow: 0 3px 6px #495EF440;
  text-decoration: underline;
}

.radio-01 input[type=radio]:checked+label {
  color: #495EF4;
  border-color: #495EF4;
}

.radio-02 {
  position: relative;
  display: inline-block;
}

.radio-02 input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.radio-02 label {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding-left: 32px;
  font-weight: 500;
  cursor: pointer;
}

.radio-02 label:before,
.radio-02 label:after {
  content: '';
  position: absolute;
  border-radius: 50%;
}

.radio-02 label:before {
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-sizing: border-box;
}

.radio-02 input[type=radio]:checked+label:before {
  border-color: #111;
}

.radio-02 input[type=radio]:checked+label:after {
  width: 14px;
  height: 14px;
  top: 5px;
  left: 5px;
  background-color: #111;
}

.radio-02 input[type=radio]:focus+label,
.radio-02 label:hover {
  text-decoration: underline;
}

.radio-set-01 {
  list-style: none;
  display: flex;
}

.radio-set-01 .radio-01 label {
  border-radius: 0;
  border-right: 0;
  border-left: 0;
  margin-left: -1px;
  padding: 14px;
  background-color: transparent;
}

.radio-set-01>li {
  z-index: 0;
  position: relative;
}

.radio-set-01>li+li:before {
  z-index: -1;
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  width: 1px;
  background-color: #bbb;
}

.radio-set-01>li:first-child {
  border-left: 0;
}

.radio-set-01>li:first-child label {
  border-radius: 4px 0 0 4px;
  border-left: 1px solid #bbb;
}

.radio-set-01>li:first-child label:before {
  display: none;
}

.radio-set-01>li:last-child label {
  border-radius: 0 4px 4px 0;
  border-right: 1px solid #bbb;
}

.radio-set-01 .radio-01 input:checked+label {
  border: 1px solid #495EF4;
  border-radius: 4px;
}

.radio-set-01 .radio-01 input:checked+label:before {
  display: none;
}

.radio-set-01.radio-e3>li {
  width: 33.3%
}

.radio-set-01.radio-e3>li .radio-01 {
  width: 100%;
}

.radio-set-01.radio-e3>li label {
  width: 100%
}

.radio-set-02 {
  display: inline-block;
  vertical-align: top;
}

.radio-set-02:before,
.radio-set-02:after {
  content: "";
  display: table;
  padding: 0;
}

.radio-set-02:after {
  clear: both;
}

.radio-set-02 .radio-01 {
  float: left;
}

.radio-set-02 .radio-01 label {
  width: 80px;
  min-width: 0;
  padding: 13px;
  line-height: 20px;
  border-radius: 0;
  border-right: 0;
  border-left: 0;
  background-color: transparent
}

.radio-set-02 .radio-01 label:before {
  content: "";
  z-index: -1;
  position: absolute;
  toP: 0;
  left: -1px;
  bottom: 0;
  display: inline-block;
  width: 1px;
  background-color: #bbb;
}

.radio-set-02 .radio-01:first-child label {
  border-radius: 4px 0 0 4px;
  border-left: 1px solid #bbb;
}

.radio-set-02 .radio-01:first-child label:before {
  display: none;
}

.radio-set-02 .radio-01:last-child label {
  border-radius: 0 4px 4px 0;
  border-right: 1px solid #bbb;
}

.radio-set-02 .radio-01 input:checked+label {
  border: 1px solid #495EF4;
  border-radius: 4px;
}

.radio-set-02 .radio-01 input:checked+label:before {
  display: none;
}

.radio-set-03 {
  display: flex;
  flex-wrap: wrap;
  padding-top: 13px;
  margin-bottom: -8px;
}

.radio-set-03 .radio-02 {
  margin-right: 8px;
  padding-bottom: 8px;
}

.radio-set-04 {
  display: inline-block;
  vertical-align: top;
  width: 100%;
}

.radio-set-04:before,
.radio-set-04:after {
  content: "";
  display: table;
  padding: 0;
}

.radio-set-04:after {
  clear: both;
}

.radio-set-04 .radio-01 {
  float: left;
  width: 50%;
}

.radio-set-04 .radio-01 label {
  width: 100%;
  min-width: 0;
  padding: 13px;
  line-height: 20px;
  border-radius: 0;
  border-right: 0;
  border-left: 0;
}

.radio-set-04 .radio-01 label:before {
  content: "";
  z-index: -1;
  position: absolute;
  toP: 0;
  left: -1px;
  bottom: 0;
  display: inline-block;
  width: 1px;
  background-color: #bbb;
}

.radio-set-04 .radio-01:first-child label {
  border-radius: 4px 0 0 4px;
  border-left: 1px solid #bbb;
}

.radio-set-04 .radio-01:first-child label:before {
  display: none;
}

.radio-set-04 .radio-01:last-child label {
  border-radius: 0 4px 4px 0;
  border-right: 1px solid #bbb;
}

.radio-set-04 .radio-01 input:checked+label {
  border: 1px solid #495EF4;
  border-radius: 4px;
}

.radio-set-04 .radio-01 input:checked+label:before {
  display: none;
}

.radio-set-05 {
  display: flex;
  width: 100%;
  margin-top: 12px;
}

.radio-set-05 .radio-01 {
  width: calc(50% - 4px);
}

.radio-set-05 .radio-01+.radio-01 {
  margin-left: 8px;
}

.radio-set-05 .radio-01 label {
  width: 100%;
  padding: 38px 0
}

.radio-set-06 {
  display: inline-block;
  vertical-align: top;
}

.radio-set-06:before,
.radio-set-06:after {
  content: "";
  display: table;
  padding: 0;
}

.radio-set-06:after {
  clear: both;
}

.radio-set-06 .radio-01 {
  float: left;
}

.radio-set-06 .radio-01 label {
  width: 48px;
  min-width: 0;
  padding: 13px;
  line-height: 20px;
  border-radius: 0;
  border-right: 0;
  border-left: 0;
  background-color: transparent
}

.radio-set-06 .radio-01 label:before {
  content: "";
  z-index: -1;
  position: absolute;
  toP: 0;
  left: -1px;
  bottom: 0;
  display: inline-block;
  width: 1px;
  background-color: #bbb;
}

.radio-set-06 .radio-01:first-child label {
  border-radius: 4px 0 0 4px;
  border-left: 1px solid #bbb;
}

.radio-set-06 .radio-01:first-child label:before {
  display: none;
}

.radio-set-06 .radio-01:last-child label {
  border-radius: 0 4px 4px 0;
  border-right: 1px solid #bbb;
}

.radio-set-06 .radio-01 input:checked+label {
  border: 1px solid #495EF4;
  border-radius: 4px;
}

.radio-set-06 .radio-01 input:checked+label:before {
  display: none;
}

.radio-set-07 .radio-01 {
  width: 100%;
}

.radio-set-07 .radio-01 label {
  width: 100%;
}

.radio-set-07 .radio-01+.radio-01 {
  margin-top: 8px;
}

/* select */
.select-01 {
  width: 100%;
  height: 48px;
  line-height: 46px;
  border: 1px solid #ddd;
  padding: 0 40px 0 16px;
  background: #fff url(../images/arr_01.svg) right 17px center no-repeat;
  border-radius: 4px;
  font-weight: 500;
  appearance: none;
}

.select-01::-ms-expand {
  display: none;
}

.select-02 {
  width: 100%;
  height: 52px;
  line-height: 50px;
  border: 1px solid #ddd;
  padding: 0 40px 0 16px;
  background: #fff url(../images/arr_01.svg) right 17px center no-repeat;
  border-radius: 4px;
  font-weight: 500;
  appearance: none;
}

.select-02::-ms-expand {
  display: none;
}

.select-set-01 {
  display: flex;
}

.select-set-01 .select-01 {
  width: calc(50% - 2px);
}

.select-set-01 .select-01:first-child {
  margin-right: 4px;
}

/* datepicker */
.datepicker-01 {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 330px;
  vertical-align: top;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
}

.datepicker-01 input {
  width: 100%;
  line-height: 50px;
  padding: 0 16px 0 16px;
  font-weight: 500;
}

.datepicker-01 input::placeholder {
  color: #CCCCCC;
}

.datepicker-01 input:ms-input-placeholder {
  color: #CCCCCC;
}

.datepicker-01 label,
.datepicker-01 button {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 40px;
  height: 50px;
  /* background: url(../images/ico_calendar.svg) center no-repeat; */
  text-indent: -9999px;
  overflow: hidden;
  cursor: pointer;
}

.ui-widget-header .ui-icon {
  background-image: url("../images/ui-icons_444444_256x240.png")
}

.datepicker-radio-set-01 {
  display: flex;
}

.datepicker-radio-set-01 .datepicker-01 {
  margin-right: 8px;
}

.datepicker-set-01 {
  display: flex;
}

.datepicker-set-01 .datepicker-01 {
  width: 240px;
}

.datepicker-set-01>span {
  display: inline-block;
  width: 20px;
  line-height: 52px;
  vertical-align: top;
  text-align: center;
  font-weight: 500;
}

.datepicker-set-01 .check-04 {
  margin: 13px 0 0 8px;
}

/* file */
.file-01 {
  position: relative;
  display: flex;
}

.file-01 .file-search {
  width: 104px;
}

.file-01 .file-search input[type=file] {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.file-01 .file-search label {
  display: inline-block;
  width: 104px;
  padding: 15px;
  border: 1px solid #bbb;
  border-radius: 4px;
  line-height: 20px;
  text-align: center;
  background-color: #fff;
  cursor: pointer;
}

.file-01 .file-search input[type=file]:focus+label {
  text-decoration: underline;
}

.file-01 .file-search .text-guide {
  display: none;
}

.file-01 .file-view {
  display: flex;
  width: calc(100% - 112px);
  margin-left: 8px;
}

.file-01 .file-view .file-name {
  width: calc(100% - 88px);
  max-width: 100%;
  line-height: 52px;
  min-height: 52px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-weight: 500;
  padding: 0 16px;
  margin-right: 8px;
}

.file-01 .file-view .file-name .btn {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

.file-01 .file-view .input-01 {
  width: calc(100% - 88px);
  max-width: 100%;
}

.file-01 .file-view .btn-white-02 {
  min-width: 80px;
  padding: 14px;
}

.file-01+.text-guide {
  margin-top: 12px;
}

.file-02 {
  position: relative;
}

.file-02 .file-search {
  width: 104px;
}

.file-02 .file-search input[type=file] {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  color: transparent;
  overflow: hidden;
}

.file-02 .file-search label {
  display: inline-block;
  width: 104px;
  padding: 15px;
  border: 1px solid #bbb;
  border-radius: 4px;
  line-height: 20px;
  text-align: center;
  background-color: #fff;
  cursor: pointer;
}

.file-02 .list-file-01 {
  margin-top: 16px;
}

.file-03 {
  position: relative;
  display: flex;
}

.file-03 .file-search {
  width: 104px;
}

.file-03 .file-search input[type=file] {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.file-03 .file-search label {
  display: inline-block;
  width: 104px;
  padding: 15px;
  border: 1px solid #bbb;
  border-radius: 4px;
  line-height: 20px;
  text-align: center;
  background-color: #fff;
  cursor: pointer;
}

.file-03 .list-file-01 {
  width: calc(100% - 112px);
  margin: 8px 0 0 8px;
}

.file-03+.text-guide {
  margin-top: 12px;
}

/* textarea */
.textarea-01 {
  width: 100%;
  height: 140px;
  padding: 16px 16px 8px;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 4px;
  vertical-align: top;
}

/* form */
.form-style-01 {
  list-style: none;
}

.form-style-01>li {
  display: flex;
  flex-wrap: wrap;
}

.form-style-01>li+li {
  margin-top: 12px;
}

.form-style-01 .form-title {
  width: 174px;
  padding-top: 16px;
  line-height: 20px;
  min-height: 52px;
  color: #666;
  font-weight: 500;
}

.form-style-01 .form-con {
  width: calc(100% - 174px);
  min-height: 52px;
}

.form-style-01 .form-con .list-style-01 .item-01,
.form-style-01 .form-con .list-style-01 .item-02,
.form-style-01 .form-con .list-style-01 .btn-blueline-04 {
  margin-top: 6px;
}

.form-style-01 .form-con .form-text {
  padding: 16px 0;
  font-weight: 500;
}

.form-style-02 {
  list-style: none;
  display: flex;
  background-color: #F7F8FC;
  padding: 32px 40px;
  margin-top: 24px;
}

.form-style-02>li {
  display: flex;
}

.form-style-02>li+li {
  margin-left: 40px;
}

.form-style-02 .form-title {
  padding-right: 16px;
  line-height: 20px;
  padding-top: 14px;
  color: #666;
  font-weight: 500;
  word-break: keep-all;
}

.form-style-02 .form-title.word2 {
  min-width: 46px;
}

.form-style-02 .form-title.word3 {
  min-width: 60px;
}

.form-style-02 .form-title.word4 {
  min-width: 75px;
}

.form-style-02 .form-title.word5 {
  min-width: 95px;
}

.form-style-02 .form-title.word6 {
  min-width: 105px;
}

.form-style-02 .form-title.word7 {
  min-width: 115px;
}

.form-style-02 .form-con {
  width: 100%;
}

.form-style-02.class>li {
  width: calc(33.3% - 26px);
}

.form-style-02.sports>li.w01 {
  width: calc(42% - 143px);
}

.form-style-02.sports>li.w02 {
  width: 310px;
}

.form-style-02.sports>li.w03 {
  width: calc(29% - 143px);
}

.form-style-02.sports .datepicker-set-01 .datepicker-01 {
  width: calc(50% - 10px);
}

.form-style-02.schedule {
  flex-wrap: wrap;
}

.form-style-02.schedule>li.w01 {
  width: calc(100% - 790px);
}

.form-style-02.schedule>li.w01 .input-01 {
  max-width: 100%;
}

.form-style-02.schedule>li.w02 {
  width: 330px
}

.form-style-02.schedule>li.w03 {
  width: 380px;
}

.form-style-02.schedule>li.w04 {
  width: calc(50% - 20px);
}

.form-style-02.schedule>li.w04 .input-01 {
  max-width: 100%;
}

.form-style-02.schedule>li.first {
  margin-left: 0;
}

.form-style-02.schedule>li:nth-of-type(n+3) {
  margin-top: 16px;
}

.form-style-02.schedule .radio-02 {
  margin-right: 16px;
}

.form-style-02 .radio-set-03 {
  margin-bottom: 0;
}

.form-style-02.notice>li.w01 {
  width: 36%;
}

.form-style-02.notice .datepicker-set-01 .datepicker-01 {
  width: calc(50% - 10px);
}

.form-style-02.notice>li.w02 {
  width: calc(64% - 40px);
}

.form-style-02.notice>li.w02 .input-01 {
  max-width: 100%;
}

.form-style-02.inquiry>li.w01 {
  width: 36%;
}

.form-style-02.inquiry .datepicker-set-01 .datepicker-01 {
  width: calc(50% - 10px);
}

.form-style-02.inquiry>li.w02 {
  width: calc(32% - 40px);
}

.form-style-02.inquiry>li.w02 .input-01 {
  max-width: 100%;
}

.form-style-02.instructor {
  flex-wrap: wrap;
}

.form-style-02.instructor>li.w01 {
  width: calc(25% - 40px)
}

.form-style-02.instructor>li.w02 {
  width: calc(50% - 40px)
}

.form-style-02.instructor>li.w03 {
  width: 100%;
}

.form-style-02.instructor>li+li {
  margin-left: 0;
}

.form-style-02.instructor>li:nth-of-type(n+4) {
  margin-top: 16px;
}

.form-style-02.instructor>li:nth-of-type(2n+1) {
  margin-left: 40px;
}

.form-style-02.instructor>li:first-child {
  margin: 0 40px 0 0;
}

.form-style-02.instructor .form-title {
  min-width: 95px;
}

.form-style-02.instructor .form-title.word7 {
  min-width: 115px;
}

.form-style-02.instructor>li:nth-of-type(2) .form-title.word2 {
  min-width: 46px;
}

.form-style-02.facilities {
  flex-wrap: wrap;
}

.form-style-02.facilities>li.w01 {
  width: calc(50% - 20px);
}

.form-style-02.facilities>li.first {
  margin-left: 0;
}

.form-style-02.facilities>li:nth-of-type(n+3) {
  margin-top: 16px;
}

.form-style-02.facilities .form-title {
  min-width: 80px;
}

.form-style-02.calculate {
  flex-wrap: wrap;
}

.form-style-02.calculate>li.w01 {
  width: calc(50% - 20px);
}

.form-style-02.calculate>li.first {
  margin-left: 0;
}

.form-style-02.calculate>li:nth-of-type(n+3) {
  margin-top: 16px;
}

.form-style-02.calculate .form-title {
  min-width: 95px;
}

.form-bottom-01 {
  text-align: right;
  display: flex;
  justify-content: end;
  margin-top: 16px;
}

.form-bottom-01 .btn+.btn {
  margin-left: 8px;
}

.required {
  display: inline-block;
  vertical-align: top;
  margin-left: 4px;
  width: 9px;
  text-align: center;
  font-weight: 500;
  color: #E62931;
}

.add-table-wrap-01 {
  position: relative;
  width: 100%;
  margin-top: 24px;
}

.add-table-wrap-01 .btn-add-01 {
  position: absolute;
  top: -76px;
  right: 0;
}

/* list */
.list-style-01 {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.list-style-01>li {
  margin-right: 8px;
}

.list-style-01 .btn-delete-01 {
  position: absolute;
  top: 0;
  right: 0;
}

.list-style-01 .item-01 {
  display: inline-block;
  vertical-align: top;
  padding: 9px 15px;
  border: 1px solid #eee;
  border-radius: 20px;
  background-color: #F5F6FE;
  color: #495EF4;
}

.list-style-01 .item-02 {
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 9px 35px 9px 15px;
  border: 1px solid #eee;
  border-radius: 20px;
  background-color: #F5F6FE;
  color: #495EF4;
}

.list-style-03 .item-03 {
  display: inline-block;
  vertical-align: top;
  padding: 5px 11px;
  line-height: 16px;
  border: 1px solid #eee;
  border-radius: 20px;
  background-color: #F5F6FE;
  color: #495EF4;
  font-size: 13px;
}

.list-style-01 .item-04 {
  position: relative;
  display: inline-block;
  vertical-align: top;
  padding: 14px 44px 14px 24px;
  border: 1px solid #eee;
  border-radius: 50px;
  background-color: #F5F6FE;
  color: #495EF4;
}

.list-style-01 .item-04 .btn-delete-01 {
  top: 5px;
}

.list-style-01 .item-04 .btn-delete-01:hover,
.list-style-01 .item-04 .btn-delete-01:focus {
  background-size: 14px;
}

.list-style-02 {
  list-style: none;
  width: 100%;
}

.list-style-02>li {
  border: 1px solid #ddd;
  border-radius: 4px;
}

.list-style-02>li+li {
  margin-top: 8px;
}

.list-style-02 .box-item {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 20px 0;
}

.list-style-02 .box-bottom {
  position: relative;
  padding: 12px 20px;
  border-top: 1px solid #eee;
}

.list-style-02 .item {
  margin-bottom: 16px;
}

.list-style-02 .item.w60 {
  width: 60%;
}

.list-style-02 .item.w40 {
  width: 40%;
}

.list-style-02 .item .title {
  display: block;
  width: 100%;
  line-height: 18px;
  font-size: 14px;
  color: #999;
}

.list-style-02 .item .con {
  display: block;
  width: 100%;
  line-height: 18px;
  font-size: 14px;
  margin-top: 4px;
}

.list-style-02 .check-02 {
  position: absolute;
  bottom: 12px;
  right: 20px;
}

.list-style-03 {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.list-style-03>li {
  margin-right: 4px;
}

.list-style-03 .item-01 {
  display: inline-block;
  vertical-align: top;
  padding: 5px 11px;
  line-height: 16px;
  border: 1px solid #eee;
  border-radius: 20px;
  background-color: #F5F6FE;
  color: #495EF4;
  font-size: 13px;
}

.list-btns-01 {
  list-style: none;
  border-top: 1px solid #EEEEEE;
}

.list-btns-01 .btn {
  width: 100%;
  padding: 17px 40px 17px 24px;
  font-size: 14px;
  text-align: left;
  border-bottom: 1px solid #EEEEEE;
  background: url(../images/arr_06.svg) right 21px center no-repeat;
}

.list-select-01 {
  position: relative;
}


.list-select-01 .btn-toggle {
  position: relative;
  display: flex;
  width: 100%;
  padding: 16px 52px 16px 16px;
  line-height: 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.list-select-01 .btn-toggle:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 51px;
  height: 52px;
  background: url(../images/arr_01.svg) center no-repeat;
}

.list-select-01 .btn-toggle.active:after {
  transform: rotate(180deg);
}

.list-select-01 .btn-toggle .img img {
  vertical-align: top;
}

.list-select-01 .btn-toggle .img+.name {
  margin-left: 8px;
}

.list-select-01 .btn-toggle .num {
  width: 50px;
  text-align: left;
  color: #111;
  font-weight: 500;
}

.list-select-01 .btn-toggle .price {
  width: calc(100% - 50px);
  text-align: right;
  color: #999;
  font-weight: 500;
}

.list-select-01>ul {
  display: none;
  z-index: 5;
  list-style: none;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  border: 1px solid #111;
  padding: 5px;
  background-color: #fff;
  border-radius: 4px;
}

.list-select-01>ul .btn {
  display: flex;
  width: 100%;
  padding: 16px;
  line-height: 20px;
}

.list-select-01>ul .btn:hover,
.list-select-01>ul .btn:focus {
  background-color: #F7F8FC;
  text-decoration: none;
}

.list-select-01>ul .btn .img img {
  vertical-align: top;
}

.list-select-01>ul .btn .img+.name {
  margin-left: 8px;
}

.list-select-01>ul .btn .num {
  width: 50px;
  text-align: left;
  color: #111;
  font-weight: 500;
}

.list-select-01>ul .btn .price {
  width: calc(100% - 50px);
  text-align: right;
  color: #999;
  font-weight: 500;
}

.list-dot-01 {
  list-style: none;
}

.list-dot-01>li {
  position: relative;
  padding-left: 11px;
  line-height: 20px;
  color: #666;
}

.list-dot-01>li:before {
  content: '';
  position: absolute;
  top: 8px;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: #666;
  border-radius: 50%;
}

.list-dot-01>li+li {
  margin-top: 8px;
}

.list-card {
  list-style: none;
  display: flex;
}

.list-card>li+li {
  margin-left: 16px;
}

.list-card img {
  filter: grayscale(100%);
  opacity: 0.5;
  vertical-align: top;
}

.list-lesson-01 {
  list-style: none;
}

.list-lesson-01>li+li {
  margin-top: 4px;
}

.list-lesson-01 .btn {
  width: 100%;
  line-height: 18px;
  padding: 3px 8px;
  font-size: 14px;
  text-align: left;
  background-color: #F7F8FC;
  color: #495EF4;
  border-radius: 4px;
  letter-spacing: -0.3px;
}

.list-lesson-01 .btn:hover {
  background-color: #495EF4;
  color: #fff;
  text-decoration: none;
}

.list-lesson-01 .time {
  font-weight: bold;
}

.list-lesson-01 .title {
  margin-left: 2px;
}

.list-lesson-01.list-lesson-toggle {
  display: none;
  z-index: 5;
  position: absolute;
  left: -10px;
  bottom: 30px;
  width: 233px;
  border: 1px solid #111;
  border-radius: 8px;
  background-color: #fff;
  padding: 24px;
}

.list-lesson-01.list-lesson-toggle:before {
  content: '';
  position: absolute;
  left: 28px;
  bottom: -7px;
  display: inline-block;
  width: 10px;
  height: 10px;
  border-left: 1px solid #111;
  border-bottom: 1px solid #111;
  background-color: #fff;
  transform: rotate(-45deg);
}

.list-lesson-01.list-lesson-toggle.active {
  display: block;
}

.list-download-01 {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.list-download-01>li {
  margin: 0 8px 8px 0;
}

.list-file-01 {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.list-file-01>li {
  display: flex;
  margin: 0 8px 8px 0;
}

.list-file-01 .btn-filename {
  max-width: calc(100% - 35px);
  line-height: 20px;
  padding: 9px 0 9px 16px;
  background: #F5F6FE;
  border-radius: 20px 0 0 20px;
  border: 1px solid #eee;
  border-right: 0;
  color: #495EF4;
  text-align: left;
}

.list-file-01 .btn-delete {
  width: 35px;
  min-height: 40px;
  background: #F5F6FE url(../images/ico_x_02.svg) 9px center no-repeat;
  border-radius: 0 20px 20px 0;
  border: 1px solid #eee;
  border-left: 0;
  text-indent: -9999px;
  overflow: hidden;
}

.list-instructor {
  max-height: 304px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #fff;
  padding: 8px;
  overflow-y: auto;
}

.list-instructor>li {
  display: flex;
  padding: 12px 8px;
  border-radius: 4px;
}

.list-instructor>li:hover,
.list-instructor>li:focus {
  background-color: #F6F8FB
}

.list-instructor .img-profile {
  width: 48px;
}

.list-instructor .img {
  position: relative;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border-radius: 50%;
}

.list-instructor .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
}

.list-instructor .text-wrap {
  width: calc(100% - 60px);
  margin-left: 12px;
  padding-top: 2px;
}

.list-instructor .text-wrap strong {
  color: #495EF4;
}

.list-instructor .text-wrap .info-01 {
  display: flex;
  line-height: 20px;
  color: #111;
}

.list-instructor .text-wrap .info-01 .name {

  font-weight: 600;
}

.list-instructor .text-wrap .info-01 .id {
  font-size: 14px;
  margin-left: 4px;
  color: #999;
}

.list-instructor .text-wrap .info-02 {
  font-weight: 400;
  margin-top: 4px;
}

.list-info-01 {
  max-width: 590px;
  margin-left: 40px;
  padding-top: 12px;
}

.list-info-01 .info-top {
  display: flex;
}

.list-info-01 .info-top .name {
  line-height: 40px;
  font-size: 32px;
  font-weight: 600;
}

.list-info-01 .info-top .gender {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  background-color: #F7F8FC;
  color: #495EF4;
  font-weight: 600;
  border-radius: 50%;
  margin-left: 8px;
}

.list-info-01 .info-top .id {
  color: #999;
  line-height: 40px;
  margin-left: 16px;
}

.list-info-01>ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.list-info-01>ul>li {
  width: 50%;
  margin-top: 24px;
}

.list-info-01>ul .title {
  line-height: 18px;
  font-size: 14px;
  color: #666;
}

.list-info-01>ul .con {
  line-height: 25px;
  font-size: 20px;
  margin-top: 8px;
  word-break: keep-all;
  font-weight: 500;
}

.list-info-01 .box-blue-01 {
  margin-top: 24px;
  padding: 24px;
}

.list-info-01 .box-blue-01>ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.list-info-01 .box-blue-01 li {
  width: 20%;
  text-align: center;
  margin-top: 0;
}

.list-info-01 .box-blue-01 li+li {
  border-left: 1px solid #eee;
}

.list-info-01 .box-blue-01 li .title {
  line-height: 18px;
  font-size: 14px;
  color: #666;
}

.list-info-01 .box-blue-01 li .con {
  line-height: 20px;
  margin-top: 16px;
  word-break: keep-all;
  font-weight: 500;
}

.list-info-01 .box-blue-01 li .con.long {
  margin-top: 6px;
}

.list-info-01 .box-blue-01 li.horizontal {
  display: flex;
  width: 100%;
  text-align: left;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eee;
  border-left: 0;
}

.list-info-01 .box-blue-01 li.horizontal .title {
  width: 100px;
}

.list-info-01 .box-blue-01 li.horizontal .con {
  width: calc(100% - 100px);
  margin-top: 0;
  font-size: 14px;
}

.list-attend {
  width: 268px;
  padding: 24px 8px 0 24px;
}

.list-attend .title {
  line-height: 20px;
  font-weight: 600;
}

.list-attend .title span {
  color: #999;
  font-size: 14px;
  font-weight: 400;
  margin-left: 8px;
}

.list-attend ul {
  list-style: none;
  margin-top: 16px;
  height: 220px;
  overflow-y: auto;
}

.list-attend ul>li {
  display: flex;
  margin-bottom: 8px;
}

.list-attend ul .state {
  align-self: flex-start;
  width: 52px;
  line-height: 32px;
  text-align: center;
  border-radius: 16px;
}

.list-attend ul .date {
  width: calc(100% - 60px);
  margin-left: 8px;
  padding: 6px 0;
  line-height: 20px;
}

.list-attend ul .attend .state {
  background-color: #E7F7F7;
  color: #1AADAD;
}

.list-attend ul .absent .state {
  background-color: #FCEBF2;
  color: #E51C69;
}

.list-attend ul .absent .date {
  color: #D11515;
}

.list-reservation {
  position: relative;
  width: 268px;
  padding: 24px 8px 0 24px;
  border: 1px solid #DDDDDD;
  border-top: 0;
  border-bottom: 0;
}

.list-reservation .title {
  line-height: 20px;
  font-weight: 600;
}

.list-reservation .btn-add-02 {
  position: absolute;
  top: 18px;
  right: 24px;
}

.list-reservation ul {
  list-style: none;
  margin-top: 16px;
  height: 220px;
  overflow-y: auto;
  padding-right: 8px;
}

.list-reservation ul>li {
  position: relative;
  margin-bottom: 4px;
  padding: 14px 36px 14px 16px;
  background-color: #EFF1F9;
}

.list-reservation ul .btn-modify-03 {
  position: absolute;
  top: 6px;
  right: 0;
}

.list-memo {
  position: relative;
  padding: 24px 8px 0 24px;
  width: calc(100% - 536px);
}

.list-memo .title {
  line-height: 20px;
  font-weight: 600;
}

.list-memo .btn-add-02 {
  position: absolute;
  top: 18px;
  right: 24px;
}

.list-memo ul {
  list-style: none;
  margin-top: 16px;
  height: 220px;
  overflow-y: auto;
  padding-right: 16px;
}

.list-memo ul>li {
  position: relative;
  padding: 0 40px 12px 0;
}

.list-memo ul>li+li {
  border-top: 1px solid #eee;
  padding-top: 12px;
}

.list-memo ul .con {
  line-height: 20px;
}

.list-memo ul .date {
  font-size: 14px;
  color: #999;
  margin-top: 4px;
}

.list-memo ul .btn-delete-04 {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -18px;
}

.list-memo ul>li+li .btn-delete-04 {
  margin-top: -12px;
}

/* accordion */
.accordion-01 {
  list-style: none;
}

.accordion-01>li+li {
  margin-top: 16px;
}

.accordion-01 .btn-toggle {
  position: relative;
  width: 100%;
  line-height: 64px;
  padding: 0 56px 0 24px;
  background-color: #F8F9FD;
  border-radius: 4px;
  font-size: 20px;
  font-weight: 600;
  text-align: left;
}

.accordion-01 .btn-toggle .text-sub {
  display: inline-block;
  vertical-align: top;
  font-size: 16px;
  font-weight: 400;
  color: #999;
  margin-left: 24px;
}

.accordion-01 .btn-toggle:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 56px;
  height: 64px;
  background: url(../images/arr_05_b.svg) center no-repeat;
  transition: .2s ease-out;
}

.accordion-01 .btn-toggle.active:after {
  transform: rotate(180deg);
}

.accordion-01 .accordion-con {
  display: none;
  margin-top: 24px;
  padding-bottom: 58px;
}

.accordion-01 .accordion-con.active {
  display: block;
}

/* table */
.table-style-01 {
  width: 100%;
  border-top: 1px solid #CCCCCC;
}

.table-style-01 table {
  width: 100%;
  text-align: center;
}

.table-style-01 tr th {
  padding: 16px 5px;
  border-bottom: 1px solid #CCCCCC
}

.table-style-01 tbody th,
.table-style-01 td {
  border-bottom: 1px solid #EEEEEE;
  padding: 23px 5px;
  line-height: 26px;
}

.table-style-01 .radio-set-02 {
  margin: -10px 0;
}

.table-style-01 .btns-table-01 {
  margin: -10px 0;
}

.table-style-02 {
  width: 100%;
  text-align: center;
}

.table-style-02 table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
  font-size: 16px;
  margin: -10px 0;
}

.table-style-02 th {
  line-height: 20px;
  padding: 16px 5px;
  color: #999;
}

.table-style-02 td {
  line-height: 20px;
  border: 1px solid #EEEEEE;
  border-left: 0;
  border-right: 0;
  padding: 12px 5px;
  color: #666;
}

.table-style-02 tbody tr>*:nth-child(1) {
  border-left: 1px solid #eee;
  border-radius: 4px 0 0 4px;
}

.table-style-02 tbody tr>*:last-child {
  border-right: 1px solid #eee;
  border-radius: 0 4px 4px 0;
}

.table-style-02 .img-thumb {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: 4px;
  margin: -12px 0;
}

.table-style-02 .img-thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: 100%;
  transform: translate(-50%, -50%);
}

.table-style-02 .name {
  text-align: left;
}

.table-style-02 .btn-sorting {
  margin-left: 4px;
}

.table-style-02 .reservation span {
  vertical-align: middle;
  margin: -8px 0;
}

.table-style-02 .reservation .btn {
  vertical-align: middle;
  margin: -8px 0 -8px 8px;
}

.table-style-02 .tlt .btn {
  text-align: left;
}

.table-style-03 {
  border-top: 1px solid #111;
}

.table-style-03 table {
  width: 100%;
}

.table-style-03 th,
.table-style-03 td {
  line-height: 20px;
  padding: 20px 16px;
  text-align: left;
  border-bottom: 1px solid #eee;
}

.table-style-03 th {
  background-color: #F8F9FD;
  word-break: keep-all;
}

.table-style-03 .input-02 {
  max-width: 150px;
}

.table-style-04 {
  width: 100%;
  border-top: 1px solid #111;
}

.table-style-04 table {
  width: 100%;
  text-align: center;
}

.table-style-04 thead th {
  line-height: 20px;
  padding: 10px;
  border-bottom: 1px solid #CCCCCC;
  word-break: keep-all;
}

.table-style-04 tbody th,
.table-style-04 td {
  border-bottom: 1px solid #EEEEEE;
  padding: 10px 5px;
  line-height: 20px;
}

.table-style-04 .box-round-01 {
  padding: 6px 12px;
}

.table-schedule-01 {
  border: 1px solid #eee;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
}

.table-schedule-01 table {
  width: 100%;
}

.table-schedule-01 thead th {
  line-height: 18px;
  padding: 11px 0;
  font-size: 14px;
  color: #999;
}

.table-schedule-01 thead th .day {
  display: inline-block;
  vertical-align: middle;
}

.table-schedule-01 thead th strong.num {
  font-weight: 600;
  font-size: 20px;
  margin-left: 8px;
  vertical-align: middle;
}

.table-schedule-01 thead th.another {
  color: #bbb;
}

.table-schedule-01 tbody th {
  padding: 10px 8px;
  text-align: center;
  border-top: 1px solid #eee;
  vertical-align: top;
  color: #999;
}

.table-schedule-01 tbody th+td {
  border-left: 1px solid #eee;
}

.table-schedule-01 td {
  padding: 10px 8px;
  text-align: left;
  border-top: 1px solid #eee;
  vertical-align: top;
}

.table-schedule-01 td+td {
  border-left: 1px solid #eee;
}

.table-schedule-01 .box-lesson {
  position: relative;
  min-height: 140px;
}

.table-schedule-01 .num {
  text-align: right;
}

.table-schedule-01 .num span {
  display: inline-block;
  vertical-align: top;
  width: 32px;
  line-height: 32px;
  text-align: center;
  border-radius: 50%;
}

.table-schedule-01 .another .num {
  color: #aaa;
}

.table-schedule-01 .holiday .num {
  color: #D11515;
}

.table-schedule-01 th.holiday {
  color: #D11515;
}

.table-schedule-01 .today .num span {
  background-color: #495EF4;
  color: #fff;
}

.table-schedule-01 .btn-toggle {
  padding: 8px 8px 2px;
  line-height: 18px;
  color: #999;
}

.table-schedule-01 .another .list-lesson-01 .btn {
  background-color: #F8F8F8;
  color: #999999;
}

.table-schedule-01 .another .list-lesson-01 .btn:hover {
  background-color: #999;
  color: #F8F8F8;
}

.table-schedule-01 td:last-child .list-lesson-01.list-lesson-toggle {
  left: -160px;
}

.table-schedule-01 td:last-child .list-lesson-01.list-lesson-toggle:before {
  left: 185px;
}

.week .table-schedule-01 thead th {
  padding: 23px 6px;
  line-height: 25px;
}

.week .table-schedule-01 .box-lesson {
  min-height: 0 !important;
}

.day .table-schedule-01 .box-lesson {
  min-height: 0 !important;
}

.day .table-schedule-01 tbody th+td {
  border-left: 0;
}

.day .table-schedule-01 .list-lesson-01 {
  display: flex;
  flex-wrap: wrap;
}

.day .table-schedule-01 .list-lesson-01>li {
  flex: 1 1 30%;
  margin-left: 4px;
}

.day .table-schedule-01 .list-lesson-01>li:nth-of-type(-n+3) {
  margin-top: 4px;
}

.day .table-schedule-01 .list-lesson-01>li:nth-of-type(3n+1) {
  margin-left: 0;
}

/* .profile-basic */
.profile-basic {
  display: flex;
}

.profile-basic .img-profile-wrap {
  width: 290px;
  margin-right: 38px;
}

.profile-basic .img-profile {
  position: relative;
}

.profile-basic .img-profile .img {
  position: relative;
  width: 100%;
  padding-top: 128%;
  border-radius: 4px;
  overflow: hidden;
  background-color: #eee;
}

.profile-basic .img-profile .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
}

.profile-basic .img-profile .btn-modify-01 {
  position: absolute;
  left: 12px;
  bottom: 12px;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.16);
}

.profile-basic .form-style-01 {
  width: calc(100% - 328px);
}

.profile-basic .profile-view {
  width: calc(100% - 328px);
}

/* .profile-view */
.profile-view .title-wrap-01 {
  margin-top: 64px;
}

/* board */
.board-top {
  margin: 52px 0 16px;
}

.board-top:before,
.board-top:after {
  content: "";
  display: table;
  padding: 0;
}

.board-top:after {
  clear: both;
}

.board-top .left {
  float: left;
  display: flex;
}

.board-top .select-01 {
  width: 100px;
}

.board-top .select-01+.btn {
  margin-left: 4px;
}

.board-top .guide-board {
  padding-top: 14px;
  line-height: 20px;
  margin-left: 16px;
  font-weight: 500;
}

.board-top .guide-board span {
  color: #666;
}

.board-top .guide-board strong {
  color: #495EF4;
}

.board-top .right {
  float: right;
  text-align: right;
  display: flex;
  justify-content: end;
}

.board-top .btn+.btn {
  margin-left: 4px;
}

.board-top .text-01 {
  line-height: 48px;
  margin-right: 16px;
  color: #666;
}

.board-top .scroll-guide {
  float: left;
  width: 100%;
  text-align: right;
  margin: 16px 0 0;
  font-size: 14px;
  color: #999;
}

.board-top .text-guide {
  padding-top: 14px;
}

/* paging */
.paging-01 {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.paging-01 .btn {
  position: relative;
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 18px;
  overflow: hidden;
}

.paging-01 .btn:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 39px;
  height: 39px;
}

.paging-01 .btn.active {
  color: #6280F2;
  font-weight: bold;
}

.paging-01 .btn.first {
  text-indent: -9999px;
  border: 1px solid #DDDDDD;
  border-radius: 50%;
}

.paging-01 .btn.first:before {
  background: url(../images/arr_02.svg) center no-repeat;
}

.paging-01 .btn.prev {
  text-indent: -9999px;
  border: 1px solid #DDDDDD;
  border-radius: 50%;
  margin: 0 16px 0 4px;
}

.paging-01 .btn.prev:before {
  background: url(../images/arr_03.svg) center no-repeat;
}

.paging-01 .btn.next {
  text-indent: -9999px;
  border: 1px solid #DDDDDD;
  border-radius: 50%;
  margin: 0 4px 0 16px;
}

.paging-01 .btn.next:before {
  background: url(../images/arr_03.svg) center no-repeat;
  transform: rotate(180deg);
}

.paging-01 .btn.last {
  text-indent: -9999px;
  border: 1px solid #DDDDDD;
  border-radius: 50%;
}

.paging-01 .btn.last:before {
  background: url(../images/arr_02.svg) center no-repeat;
  transform: rotate(180deg);
}

/* popup */
.popup-wrap {
  display: none;
  z-index: 5000;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.16);
}

.popup-wrap .popup-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 52px rgba(0, 0, 0, 0.32);
}

@media screen and (min-width: 1025px) {

  /* Layout reset */
  #header {
    float: none;
    width: 100%;
    min-height: auto;
    height: 80px;
    padding: 0 80px;
    border-bottom: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: visible;
    box-sizing: border-box;
  }

  .container {
    float: none;
    border-left: 0;
    min-height: auto;
  }

  /* Logo positioning - Removed from #header, now in #util-header */
  #header h1 {
    display: none;
    /* Hide if accidentally present */
  }

  /* GNB Horizontal Layout */
  #gnb {
    margin: 0 auto;
    /* Center align GNB container */
    width: 100%;
    max-width: 1600px;
    display: flex;
    justify-content: flex-start;
    /* Left align items */
    padding: 0 40px;
    /* Match #header padding */
    box-sizing: border-box;
  }

  #gnb ul {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* Left align items */
    width: auto;
  }

  #gnb .gnb-depth1>li+li {
    margin-top: 0;
    margin-left: 50px;
    /* Increased spacing */
  }

  /* Depth 1 Buttons */
  #gnb .gnb-depth1>li>.btn {
    padding: 0 4px 0 34px;
    line-height: 60px;
    /* Adjusted height since logo is gone */
    font-size: 18px;
    border-radius: 0;
    background-color: transparent !important;
    /* Override active/hover bg */
    color: #111 !important;
    /* Default color */
    box-shadow: none !important;
    transition: color 0.3s ease, background 0.3s ease;
    /* Smooth transition */
  }

  /* Icons repositioning */
  #gnb .gnb-depth1>li>.btn:before {
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    transition: all 0.3s ease;
  }

  /* Toggle arrow removal/adjustment for desktop if needed */
  #gnb .gnb-depth1>li>.btn-toggle:after {
    display: none;
    /* Hide toggle arrow on desktop if we want simple hover or click */
  }

  /* Hover/Active states */
  #gnb .gnb-depth1>li>.btn:hover,
  #gnb .gnb-depth1>li>.btn.active {
    color: #495EF4 !important;
  }



  /* Hover Slide Down Effect */
  #gnb .gnb-depth1>li {
    position: relative;
  }

  #gnb .gnb-depth1>li:hover .gnb-depth2 {
    display: block;
    animation: slideDown 0.3s ease-out forwards;
  }

  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* GNB Mobile Util (Hidden on Desktop) */
  #gnb .gnb-mobile-util {
    display: none;
  }

  /* Submenu (Depth 2) */
  #gnb .gnb-depth2 {
    position: absolute;
    top: 100%;
    /* Position below the parent li */
    left: 0;
    /* Align to left (icon start) instead of center */
    /* transform: translateX(-50%); REMOVED */
    width: auto;
    /* Adjust width to content */
    min-width: 140px;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    /* Optional style preference */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 10px 0;
    text-align: center;
    display: none;
    /* Controlled by JS or hover */
    white-space: nowrap;
    z-index: 100;
  }

  #gnb .gnb-depth2>li {
    display: block;
    /* Stack vertically in dropdown */
    margin: 0;
    padding: 0;
    position: relative;
    /* For Depth 3 positioning */
  }

  #gnb .gnb-depth2>li+li {
    margin-top: 0;
  }

  #gnb .gnb-depth2>li>.btn {
    display: block;
    width: 100%;
    text-align: center;
    /* Ensure text is centered */
    padding: 10px 15px;
    line-height: 1.2;
    transition: all 0.2s ease;
  }

  #gnb .gnb-depth2>li>.btn:hover {
    color: #495EF4;
    background-color: #f8f9fa;
    /* Light hover background */
  }

  /* Submenu (Depth 3) */
  #gnb .gnb-depth3 {
    position: absolute;
    top: 0;
    left: 100%;
    /* To the right of Depth 2 */
    width: auto;
    min-width: 140px;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 10px 0;
    display: none;
    z-index: 101;
    text-align: center;
  }

  #gnb .gnb-depth2>li:hover .gnb-depth3 {
    display: block;
    animation: fadeIn 0.3s ease-out forwards;
  }

  #gnb .gnb-depth3>li {
    display: block;
  }

  #gnb .gnb-depth3>li>.btn {
    display: block;
    padding: 8px 15px;

    color: #666;
    transition: all 0.2s ease;
  }

  #gnb .gnb-depth3>li>.btn:hover {
    color: #495EF4;
    background-color: #f8f9fa;
  }

  @keyframes fadeIn {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  /* Fix Right Overflow for Depth 2 & 3 */
  /* Target the last 2 items to open submenus to the left */
  #gnb .gnb-depth1>li:nth-last-child(-n+2) .gnb-depth2 {
    left: auto;
    right: 0;
    transform: none;
    /* Reset center transform */
  }

  #gnb .gnb-depth1>li:nth-last-child(-n+2) .gnb-depth2 .gnb-depth3 {
    left: auto;
    right: 100%;
    /* Show Depth 3 to the left of Depth 2 */
  }

  /* Util Header Styles */
  #util-header {
    width: 100%;
    height: 60px;
    background: #f8f9fd;
    border-bottom: 1px solid #e1e1e1;
    padding: 0;
    /* Padding removed to allow inner container to control width */
    position: relative;
    z-index: 1000;
  }

  .util-inner {
    width: 100%;
    max-width: 1600px;
    /* Constrain width */
    margin: 0 auto;
    /* Center alignment */
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px;
    /* Match contents-body padding */
    box-sizing: border-box;
    /* Ensure padding includes in width */
  }

  .util-left {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    /* shrink to fit logo */
  }

  /* Logo in Util Header */
  .util-left h1 {
    margin: 0;
    padding: 0;
    line-height: normal;
  }

  .util-left h1 a {
    display: inline-block;
    vertical-align: middle;
  }

  .util-left h1 img {
    height: 24px;
    /* Small size for util bar */
    width: auto;
    vertical-align: middle;
  }

  .util-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    /* Align all right items to the right */
    font-size: 13px;
    color: #666;
    flex: 1 1 auto;
    /* Take all remaining space */
  }

  .input-search-header {
    position: relative;
    display: flex;
    align-items: center;
    margin-right: 20px;
    /* Spacing between search and user links */
  }

  .input-search-header input {
    width: 250px;
    height: 32px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0 10px;
    background: #fff;
    font-size: 13px;
  }

  .input-search-header .btn-search {
    margin-left: 5px;
    padding: 0 10px;
    height: 32px;
    line-height: 30px;
    background: #495EF4;
    color: #fff;
    border-radius: 4px;
    font-size: 13px;
    text-align: center;
    display: inline-block;
  }

  .util-right .user-name {
    color: #000;
    font-weight: 500;
    margin-right: 5px;
  }

  .util-right .bar {
    margin: 0 10px;
    color: #ddd;
    font-size: 10px;
  }

  .util-right a {
    color: #666;
    transition: color 0.2s;
  }

  .util-right a:hover {
    color: #495EF4;
    text-decoration: underline;
  }

  /* Content area adjustment - Remove padding since util header is separate */
  .contents-top {
    display: none;
    /* Hide if not removed from HTML, but we removed it */
  }

  .contents-body {
    padding-top: 40px;
  }

  /* 2-ROW HEADER LAYOUT REMOVED (Replaced by Util Bar layout) */
  /* Reverting #header to auto height / single row logic if needed,
     but now #header only contains menu, so simple center align works */
  #header {
    height: auto;
    padding: 0;
    border-bottom: 1px solid #ddd;
  }
}

/* Responsive adjustments for narrower desktops (1025px - 1660px) */
@media screen and (min-width: 1025px) and (max-width: 1660px) {

  /* Simplified header since logo is gone */
  #header {
    padding: 0;
    height: auto;
    display: block;
  }

  #gnb {
    width: 100%;
    margin: 0;
    padding: 0 40px;
  }

  #gnb ul {
    justify-content: center;
    width: 100%;
  }

  #gnb .gnb-depth1>li+li {
    margin-left: 30px;
    /* Moderate spacing */
  }

  #gnb .gnb-depth1>li>.btn {
    font-size: 16px;
    /* Slightly smaller font */
    padding-left: 28px;
    line-height: 50px;
  }

  #gnb .gnb-depth1>li>.btn:before {
    transform: translateY(-50%) scale(0.9);
  }

  /* Reset Any Previous 2-Row Styles that might linger */
  #header h1 {
    display: none;
  }
}

/* Strict GNB Adjustment for 1025px - 1100px to prevent wrapping */
@media screen and (min-width: 1025px) and (max-width: 1172px) {
  #gnb .gnb-depth1>li>.btn {
    font-size: 14px;
    /* Reduced from 16px */
    padding-left: 24px;
    /* Reduced from 28px */
    line-height: 50px;
  }

  #gnb .gnb-depth1>li+li {
    margin-left: 22px;
    /* Reduced from 15px */
  }

  #gnb .gnb-depth1>li>.btn:before {
    transform: translateY(-50%) scale(0.8);
    /* Slightly smaller icon */
  }
}


.popup-style-01 .popup-box {
  width: calc(100% - 40px);
  max-width: 448px;
}

.popup-style-01 .popup-head {
  position: relative;
  padding: 40px;
}

.popup-style-01 .popup-head .btn-popup-close {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  overflow: hidden;
  background: url(../images/ico_x_01.svg) center no-repeat;
}

.popup-style-01 .popup-title {
  line-height: 30px;
  font-size: 24px;
  font-weight: 600;
}

.popup-style-01 .text-sub {
  margin-top: 8px;
  color: #666;
}

.popup-style-01 .text-sub span {
  color: #495EF4;
}

.popup-style-01 .text-sub strong {
  color: #495EF4;
}

.popup-style-01 .popup-body {
  padding: 0 40px 40px;
}

.popup-style-01 .title-p-01 {
  margin-bottom: 12px;
}

.popup-style-01 .popup-foot {
  display: flex;
  padding: 6px 32px 32px;
  justify-content: center;
}

.popup-style-01 .popup-foot.flex-end {
  justify-content: end;
}

.popup-style-01 .popup-foot .btn+.btn {
  margin-left: 8px;
}

.popup-style-01 .text-01 {
  color: #999;
  line-height: 20px;
}

.popup-style-01 .text-02 {
  line-height: 20px;
  font-weight: 600;
}

.popup-style-01 .text-01+.text-02 {
  margin-top: 16px;
}

.popup-style-01 .text-01+.radio-set-01,
.popup-style-01 .text-02+.radio-set-01 {
  margin-top: 8px;
}

.popup-style-01 .text-02+.input-01 {
  margin-top: 8px;
}

.popup-style-01 .radio-set-01+.text-02 {
  margin-top: 24px;
}

.popup-style-01 .input-search-member {
  margin-bottom: 24px;
}

.popup-style-01 .input-01+.text-02 {
  margin-top: 24px;
}

.popup-style-01 .input-01 {
  max-width: 100%;
}

.popup-style-01 .radio-set-01+label+.select-01 {
  margin-top: 4px;
}

.popup-style-01 .select-01+.text-02 {
  margin-top: 24px;
}

.popup-style-02 .popup-box {
  width: calc(100% - 40px);
  max-width: 1156px;
}

.popup-style-02 .popup-head {
  position: relative;
  padding: 40px;
}

.popup-style-02 .popup-head .btn-popup-close {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  overflow: hidden;
  background: url(../images/ico_x_01.svg) center no-repeat;
}

.popup-style-02 .popup-title {
  line-height: 30px;
  font-size: 24px;
  font-weight: 600;
}

.popup-style-02 .popup-body {
  padding: 0 40px 40px;
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}

.popup-style-02 .table-style-04 {
  margin-bottom: 16px;
}

.popup-style-02 .table-style-04 table {
  min-width: 1075px;
}

.popup-style-02 .board-top {
  margin-top: 0;
}

.popup-style-02 .paging-01 {
  margin-top: 24px;
}

.popup-style-02 .btns-page-bottom {
  margin-top: 4px;
}

.popup-style-02 .table-style-03 {
  margin-bottom: 16px;
}

.popup-style-02 .popup-body-02 {
  padding: 0 0 24px;
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}

.popup-style-02 .popup-body-02 .list-style-01 {
  position: absolute;
  left: 40px;
  bottom: 32px;
  right: 200px;
  flex-wrap: nowrap;
  overflow-x: auto;
  white-space: nowrap;
}

.popup-style-02 .popup-body-02 .btns-page-bottom {
  padding: 24px 40px 0 0;
}

.popup-style-02 .title-p-01 {
  margin-bottom: 12px;
}

.popup-style-02 .text-01 {
  color: #999;
  line-height: 20px;
}

.popup-style-02 .text-02 {
  line-height: 20px;
  font-weight: 600;
}

.popup-style-02 .text-01+.text-02 {
  margin-top: 16px;
}

.popup-style-02 .text-01+.radio-set-01,
.popup-style-02 .text-02+.radio-set-01,
.popup-style-02 .text-02+.input-01,
.popup-style-02 .text-02+.datepicker-01,
.popup-style-02 .text-02+.input-search-member {
  margin-top: 8px;
}

.popup-style-02 .input-search-member {
  margin-bottom: 24px;
}

.popup-style-02 .input-01+.text-02,
.popup-style-02 .radio-set-01+.text-02,
.popup-style-02 .radio-set-01+.text-02,
.popup-style-02 .datepicker-01+.text-02 {
  margin-top: 24px;
}

.popup-style-02 .input-01 {
  max-width: 100%;
}

.popup-style-02 .radio-set-01+label+.select-01 {
  margin-top: 4px;
}

.popup-style-02 .select-01+.text-02 {
  margin-top: 24px;
}

.popup-style-03 .popup-box {
  width: calc(100% - 40px);
  max-width: 448px;
  text-align: center;
}

.popup-style-03 .popup-head {
  display: none;
}

.popup-style-03 .popup-body {
  padding: 52px 32px 40px;
}

.popup-style-03 .text-01 {
  line-height: 31px;
  font-size: 20px;
  font-weight: 500;
  word-break: keep-all;
}

.popup-style-03 .text-01.bg-01 {
  position: relative;
  padding-top: 166px;
}

.popup-style-03 .text-01.bg-01:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: #F7F8FC url(../images/img_certified.svg) center no-repeat;
  transform: translateX(-50%);
}

.popup-style-03 .text-01.bg-02 {
  position: relative;
  padding-top: 166px;
}

.popup-style-03 .text-01.bg-02:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: #F7F8FC url(../images/img_certified.svg) center no-repeat;
  transform: translateX(-50%);
}

.popup-style-03 .text-02 {
  max-width: 320px;
  line-height: 22px;
  word-break: keep-all;
  margin: 12px auto 0;
}

.popup-style-03 .popup-foot {
  display: flex;
  padding: 0 32px 40px;
  justify-content: center;
}

.popup-style-03 .popup-foot .btn+.btn {
  margin-left: 8px;
}

.popup-style-03 .radio-set-07 {
  margin-top: 24px;
}

.popup-style-03 .box-blue-01 {
  padding: 40px 32px;
  margin-top: 32px;
}

.popup-style-03 .box-blue-01 .text-01 {
  font-size: 24px;
  font-weight: 600;
  color: #495EF4;
}

.popup-style-03 .box-blue-01 .text-02 {
  color: #999;
}

.popup-style-03 .box-blue-01 .text-02 strong {
  color: #111;
  font-weight: 400;
}

.popup-style-04 .popup-box {
  width: calc(100% - 40px);
  max-width: 1156px;
}

.popup-style-04 .popup-head {
  position: relative;
  padding: 40px;
}

.popup-style-04 .popup-head .btn-popup-close {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 32px;
  height: 32px;
  text-indent: -9999px;
  overflow: hidden;
  background: url(../images/ico_x_01.svg) center no-repeat;
}

.popup-style-04 .popup-title {
  line-height: 30px;
  font-size: 24px;
  font-weight: 600;
}

.popup-style-04 .popup-body {
  padding: 0;
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}

.popup-style-04 .popup-bottom {
  padding-bottom: 24px;
}

.popup-style-04 .list-style-01 {
  position: absolute;
  left: 40px;
  bottom: 32px;
  right: 200px;
  flex-wrap: nowrap;
  overflow-x: auto;
  white-space: nowrap;
}

.popup-style-04 .btns-page-bottom {
  padding: 24px 40px 0 0;
  margin-top: 0;
}

.popup-alert-01 .popup-box {
  width: calc(100% - 40px);
  max-width: 448px;
  text-align: center;
}

.popup-alert-01 .popup-body {
  padding: 52px 32px 40px;
}

.popup-alert-01 .text-01 {
  line-height: 31px;
  font-size: 24px;
  font-weight: 600;
  word-break: keep-all;
}

.popup-alert-01 .text-01.bg-01 {
  position: relative;
  padding-top: 166px;
}

.popup-alert-01 .text-01.bg-01:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: #F7F8FC url(../images/img_hands.svg) center no-repeat;
  transform: translateX(-50%);
}

.popup-alert-01 .text-01.bg-02 {
  position: relative;
  padding-top: 166px;
}

.popup-alert-01 .text-01.bg-02:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: #F7F8FC url(../images/img_certified.svg) center no-repeat;
  transform: translateX(-50%);
}

.popup-alert-01 .text-02 {
  max-width: 320px;
  line-height: 22px;
  word-break: keep-all;
  margin: 12px auto 0;
}

.popup-alert-01 .popup-foot {
  display: flex;
  padding: 0 32px 40px;
  justify-content: center;
}

.popup-alert-01 .popup-foot .btn+.btn {
  margin-left: 8px;
}

.popup-alert-01 .title.blind+.input-01 {
  margin-top: 12px;
}

/* .add-product */
.add-product {
  background: #F7F8FC;
  border-radius: 4px;
  padding: 24px 0;
  text-align: center;
  margin-bottom: 24px;
}

.add-product .total {
  line-height: 30px;
  font-size: 24px;
  font-weight: 600;
  color: #495EF4;
}

.add-product .price {
  line-height: 20px;
  font-weight: 500;
  color: #999;
  margin-top: 4px;
}

/* .paying-01 */
.paying-info-01 .paying-select-01 {
  position: relative;
  padding: 0 200px 24px 0;
  margin-bottom: 24px;
  border-bottom: 1px solid #eee;
}

.paying-info-01 .text-01 {
  line-height: 20px;
  font-weight: 600;
}

.paying-info-01 .text-02 {
  line-height: 20px;
  color: #666;
  margin-top: 4px;
}

.paying-info-01 .select-num {
  position: absolute;
  top: 0;
  right: 0;
  width: 200px;
  display: flex;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 4px;
}

.paying-info-01 .select-num .btn {
  position: relative;
  width: 52px;
  height: 52px;
  text-indent: -9999px;
  overflow: hidden;
}

.paying-info-01 .select-num .btn:before,
.paying-info-01 .select-num .btn:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 14px;
  height: 2px;
  background-color: #666;
  margin-left: -7px;
}

.paying-info-01 .select-num .btn.btn-plus:after {
  transform: rotate(90deg);
}

.paying-info-01 .select-num input[type=text] {
  width: calc(100% - 104px);
  line-height: 50px;
  text-align: center;
  font-weight: 500;
  border: 1px solid #ddd;
  border-top: 0;
  border-bottom: 0;
}

.paying-info-01+.list-dot-01 {
  margin-top: 16px;
}

.paying-info-02 {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.paying-info-02>li.w01 {
  width: calc(46% - 16px);
}

.paying-info-02>li.w02 {
  width: calc(27% - 16px);
  margin-left: 24px;
}

.paying-info-02>li:last-child {
  margin-top: 24px;
}

.paying-info-02 .list-card {
  margin-top: 10px;
}

.paying-info-02 .title {
  line-height: 20px;
  color: #666;
  margin-bottom: 8px;
}

.popup-wrap .paying-info-02>li.w01 {
  width: 100%;
  margin-bottom: 24px;
}

.popup-wrap .paying-info-02>li.w02 {
  width: calc(50% - 8px);
  margin-left: 0;
}

.popup-wrap .paying-info-02>li.w02+li.w02 {
  margin-left: 16px;
}

.popup-wrap .paying-info-02>li.w01+li.w01 {
  margin: 0;
}

.popup-wrap .paying-info-02 .input-01 {
  max-width: 100%;
}

/* .paying-02 */
.paying-summary {
  list-style: none;
  margin-top: 24px;
}

.paying-summary>li+li {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #eee;
}

.paying-summary .title {
  line-height: 20px;
  color: #999;
}

.paying-summary li>ul {
  list-style: none;
  margin-top: 16px;
}

.paying-summary li>ul>li {
  display: flex;
}

.paying-summary li>ul>li+li {
  margin-top: 8px;
}

.paying-summary .name {
  width: 50%;
  line-height: 20px;
}

.paying-summary .price {
  width: 50%;
  line-height: 20px;
  text-align: right;
}

.paying-summary .price span {
  font-size: 14px;
  color: #999;
}

.paying-summary .this p {
  color: #495EF4;
  font-weight: bold;
}

.paying-summary .next p {
  color: #111;
  font-weight: bold;
}

.paying-summary .guide-paying {
  color: #999;
  margin-top: 24px;
}

.paying-summary .guide-paying span {
  color: #111;
}

.paying-summary .guide-paying strong {
  color: #D11515;
}

.paying-summary .final {
  align-items: center;
}

.paying-summary .final .name {
  width: 120px;
  font-weight: bold;
}

.paying-summary .final .price {
  width: calc(100% - 120px);
  font-size: 32px;
  line-height: 40px;
  font-weight: bold;
}

.paying-summary .btn {
  width: 100%;
  margin-top: 16px;
}

.btns-page-bottom {
  display: flex;
  margin-top: 52px;
}

.btns-page-bottom .left {
  width: 50%;
}

.btns-page-bottom .right {
  width: 100%;
  text-align: right;
  display: flex;
  justify-content: end;
}

.btns-page-bottom .left+.right {
  width: 50%;
}

.btns-page-bottom .btn+.btn {
  margin-left: 8px;
}

/* purchase */
.purchase-01 ul {
  list-style: none;
  display: flex;
}

.purchase-01 ul>li {
  width: 25%;
  padding: 40px;
  background-color: #F8F8F8;
  border-radius: 4px;
}

.purchase-01 ul>li:last-child {
  width: calc(50% - 16px);
  background-color: #F7F8FC;
}

.purchase-01 ul>li+li {
  margin-left: 8px;
}

.purchase-01 .name {
  line-height: 23px;
  font-size: 18px;
  font-weight: 600;
}

.purchase-01 .text-sub {
  line-height: 20px;
  color: #666;
  margin-top: 4px;
}

.purchase-01 .con {
  margin-top: 32px;
  line-height: 30px;
  font-size: 24px;
  font-weight: 600;
}

.purchase-01 .con span {
  color: #aaa;
}

.purchase-01 .name+.con {
  margin-top: 56px;
}

.purchase-01 .btns-bottom {
  position: relative;
  text-align: right;
  display: flex;
  justify-content: end;
  margin-top: 16px;
}

.purchase-01 .btns-bottom .btn-cancel {
  position: absolute;
  top: 0;
  left: 0;
}

.purchase-01 .btns-bottom .btn+.btn {
  margin-left: 8px;
}

.purchase-02 .purchase-means-01 {
  position: relative;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 33px 104px;
}

.purchase-02 .purchase-means-01+.purchase-means-01 {
  margin-top: 8px;
}

.purchase-02 .purchase-means-01:before {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-block;
  width: 64px;
  height: 64px;
  background: #F7F8FC url(../images/ico_card_blue.svg) center no-repeat;
  border-radius: 50%;
}

.purchase-02 .purchase-means-01 .name {
  line-height: 23px;
  font-size: 18px;
  font-weight: 600;
}

.purchase-02 .purchase-means-01 .num {
  line-height: 20px;
  color: #666;
  margin-top: 4px;
}

.purchase-02 .btn-delete-03 {
  position: absolute;
  top: 44px;
  right: 24px;
}

.purchase-02 .purchase-means-02 {
  position: relative;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 45px 104px;
  background-color: #F7F8FC;
}

.purchase-02 .purchase-means-02:before {
  content: '';
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-block;
  width: 64px;
  height: 64px;
  background: #fff url(../images/ico_card_blue.svg) center no-repeat;
  border-radius: 50%;
}

.purchase-02 .purchase-means-02 .text-01 {
  line-height: 23px;
  font-size: 18px;
  font-weight: bold;
  color: #999;
}

.purchase-02 .btns-bottom {
  position: relative;
  text-align: right;
  display: flex;
  justify-content: end;
  margin-top: 16px;
}

.purchase-02 .btns-bottom .btn+.btn {
  margin-left: 8px;
}

/* schedule */
.schedule-wrap {
  position: relative;
  margin-top: 40px;
}

.schedule-wrap .select-class {
  position: absolute;
  top: -92px;
  right: 0;
  min-width: 330px;
}

.schedule-wrap .schedule-head {
  position: relative;
  margin-bottom: 24px;
}

.schedule-wrap .btns-select {
  list-style: none;
  display: flex;
}

.schedule-wrap .btns-select>li {
  position: relative;
}

.schedule-wrap .btns-select>li+li:before {
  content: '';
  z-index: -1;
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  width: 1px;
  background-color: #bbb;
}

.schedule-wrap .btns-select .btn {
  line-height: 20px;
  padding: 14px 8px;
  margin-left: -1px;
  font-weight: 600;
  border: 1px solid #bbb;
}

.schedule-wrap .btns-select>li+li .btn {
  border-left: 1px solid transparent;
}

.schedule-wrap .btns-select .btn.active {
  border-color: #495EF4;
  color: #495EF4;
}

.schedule-wrap .btns-select>li:first-child .btn {
  border-radius: 4px 0 0 4px;
}

.schedule-wrap .btns-select>li:last-child .btn {
  border-radius: 0 4px 4px 0;
}

.schedule-wrap .btns-select.schedule-type {
  float: left;
}

.schedule-wrap .btns-select.schedule-turm {
  float: right;
}

.schedule-wrap .btns-select.schedule-type .btn {
  min-width: 120px;
}

.schedule-wrap .btns-select.schedule-turm .btn {
  min-width: 80px;
}

.schedule-wrap .schedule-time {
  position: absolute;
  top: 0;
  left: 50%;
  width: 250px;
  padding: 0 63px;
  text-align: center;
  transform: translateX(-50%);
}

.schedule-wrap .schedule-time .num {
  line-height: 48px;
  font-size: 32px;
  font-weight: bold;
}

.schedule-wrap .schedule-time .btn {
  position: absolute;
  top: 0;
  width: 48px;
  height: 48px;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 50%;
}

.schedule-wrap .schedule-time .btn-prev {
  left: 0;
  background: url(../images/arr_07_prev.svg) center no-repeat;
}

.schedule-wrap .schedule-time .btn-next {
  right: 0;
  background: url(../images/arr_07_next.svg) center no-repeat;
}

.schedule-wrap .schedule-time .btn:hover,
.schedule-wrap .schedule-time .btn:focus {
  background-color: #F7F8FC;
}

.schedule-wrap.week .schedule-time {
  width: 520px;
}

.schedule-wrap.day .schedule-time {
  width: 300px;
}

.memberinfo-01 {
  display: flex;
}

.memberinfo-01 .img-profile {
  width: 226px;
}

.memberinfo-01 .img-profile .img {
  position: relative;
  width: 100%;
  padding-top: 128%;
  border-radius: 4px;
  overflow: hidden;
  background-color: #eee;
}

.memberinfo-01 .img-profile .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
}

.profile-view .list-info-01 {
  width: calc(100% - 328px);
  max-width: 100%;
  margin-left: 0;
  padding-top: 0;
  margin-top: -3px;
}

.profile-view .list-info-01>ul>li {
  width: 33.3%;
}

.profile-view .list-info-01>ul>li.w66 {
  width: 66.6%;
}

.memberinfo-02 {
  display: flex;
  margin-top: 32px;
  background-color: #F7F8FC;
  border-radius: 4px;
}

/* .add-profile */
.add-profile {
  border: 1px solid #eee;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
  padding: 80px;
  text-align: center;
  border-radius: 8px;
}

.add-profile .text-01 {
  position: relative;
  padding-top: 174px;
  line-height: 40px;
  font-size: 32px;
  font-weight: 600;
}

.add-profile .text-01:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: 150px;
  height: 150px;
  margin-left: -75px;
  border-radius: 50%;
  background: #F7F8FC url(../images/img_profile.svg) center no-repeat;
}

.add-profile .text-02 {
  margin: 16px 0 52px;
  line-height: 26px;
  font-size: 18px;
  color: #666;
  word-break: keep-all;
}

.add-profile .btn-blue-03 {
  box-shadow: 3px 6px 16px #495EF440;
}

/* login */
.login-wrap {
  width: 100%;
  height: 100vh;
  background-color: #F5F7FC;
}

.login-box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 520px;
  height: 700px;
  background-color: #fff;
  border-radius: 8px;
  padding: 52px;
  transform: translate(-50%, -50%);
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
}

.login-box h2 {
  line-height: 52px;
  margin-top: -6px;
  font-size: 32px;
  font-weight: 600;
}

.login-box h2 span {
  display: block;
}

.login-box .input-login {
  margin-top: 34px;
}

.login-box .input-login .input-01+.input-01 {
  margin-top: 32px;
}

.login-box .input-login input:focus {
  border-color: #111;
  outline: 0;
}

.login-box .input-login input::placeholder {
  color: #aaa;
  font-weight: 500;
}

.login-box .check-login {
  display: flex;
  margin: 52px 0 24px;
}

.login-box .check-login .check-04 {
  width: 40%;
}

.login-box .check-login .btns-login {
  width: 60%;
  text-align: right;
}

.login-box .check-login .btns-login .btn {
  line-height: 24px;
  color: #777;
}

.login-box .check-login .btns-login .btn+.btn {
  position: relative;
  margin-left: 25px;
}

.login-box .check-login .btns-login .btn+.btn:before {
  content: "";
  position: absolute;
  top: 5px;
  left: -13px;
  display: inline-block;
  width: 1px;
  height: 14px;
  background-color: #ddd;
}

.login-box .btn-blue-02 {
  width: 100%;
  box-shadow: 3px 16px 16px #495EF440;
}

.login-box .social-login {
  display: flex;
  list-style: none;
  margin-top: 52px;
}

.login-box .social-login>li {
  position: relative;
  width: 33.3%;
}

.login-box .social-login>li+li:before {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  display: inline-block;
  width: 1px;
  background-color: #eee;
}

.login-box .social-login .btn {
  width: 100%;
  text-align: center;
  padding-top: 64px;
  line-height: 20px;
}

.login-box .social-login .btn.naver {
  background: url(../images/ico_naver.png) center top no-repeat;
}

.login-box .social-login .btn.kakaotalk {
  background: url(../images/ico_kakaotalk.png) center top no-repeat;
}

.login-box .social-login .btn.google {
  background: url(../images/ico_google.png) center top no-repeat;
}

.password-box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% - 32px);
  max-width: 520px;
  margin: 0 auto;
  background-color: #fff;
  padding: 52px;
  border-radius: 4px;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
  transform: translate(-50%, -50%);
}


.password-box h3 {
  line-height: 52px;
  margin-top: -6px;
  font-size: 32px;
  font-weight: 600;
}

.password-box .text-01 {
  line-height: 20px;
  color: #666;
  margin-top: 12px;
  letter-spacing: -0.025em;
}

.password-box .input-03 {
  margin: 32px 0 24px;
}

.password-box .btn-black-02 {
  width: 100%;
}

/* .main-wrap */
.main-wrap .title-wrap-01 {
  position: relative;
}

.main-wrap .title-wrap-01 .btn-more {
  position: absolute;
  top: 0;
  right: 0;
}

.main-top {
  display: flex;
  background-color: #111;
  border-radius: 8px;
  color: #fff;
}

.main-top .info {
  position: relative;
  width: 30%;
  padding: 52px 24px 52px 164px;
}

.main-top .info .img-profile {
  position: absolute;
  top: 52px;
  left: 52px;
  width: 88px;
  height: 88px;
  overflow: hidden;
  border-radius: 50%;
  background: #999;
  background-size: 56px;
}

.main-top .info .img-profile img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  transform: translate(-50%, -50%);
}

.main-top .info .text {
  padding-top: 13px;
}

.main-top .info .text .name {
  line-height: 35px;
  font-size: 28px;
  font-weight: bold;
}

.main-top .info .text .id {
  line-height: 23px;
  margin-top: 4px;
  font-size: 18px;
  color: #999;
}

.main-top ul {
  list-style: none;
  display: flex;
  width: 70%;
  padding: 52px 64px;
  border-left: 1px solid #414141;
}

.main-top ul>li {
  width: 25%;
}

.main-top ul .title {
  padding-left: 32px;
  line-height: 24px;
  color: #999;
  font-size: 18px;
  font-weight: 500;
}

.main-top ul .title.class {
  background: url(../images/ico_sports_tr.svg) left top no-repeat;
}

.main-top ul .title.new {
  background: url(../images/ico_addperson_tr.svg) left top no-repeat;
}

.main-top ul .title.all {
  background: url(../images/ico_people_tr.svg) left top no-repeat;
}

.main-top ul .title.today {
  background: url(../images/ico_calendar_tr.svg) left top no-repeat;
}

.main-top ul .num {
  margin-top: 8px;
  line-height: 50px;
  font-size: 40px;
  font-weight: 600;
}

.main-top+.text-date {
  margin-top: 8px;
  text-align: right;
  color: #999;
}

.main-body {
  display: flex;
  flex-wrap: wrap;
}

.today-schedule {
  width: 100%;
  margin-top: 39px;
}

.slide-schedule {
  position: relative;
}

.slide-schedule .slick-prev,
.slide-schedule .slick-next {
  z-index: 5;
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 40px;
  background: #fff url(../images/arr_06.svg) center no-repeat;
  border: 1px solid #eee;
  border-radius: 50%;
  text-indent: -9999px;
  overflow: hidden;
  margin-top: -20px;
}

.slide-schedule .slick-prev {
  left: -20px;
  transform: rotate(180deg)
}

.slide-schedule .slick-disabled {
  display: none !important;
}

.slide-schedule .slick-next {
  right: -20px;
}

.slide-schedule .slick-list {
  margin: 0 -12px;
}

.slide-schedule .slick-slide {
  padding: 0 12px;
}

.slide-schedule .item {
  padding: 32px;
  border: 1px solid #eee;
  border-radius: 8px;
  border-radius: 8px;
}

.slide-schedule .slick-slide.slick-active .item {
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
}

.slide-schedule .item .time {
  display: inline-block;
  vertical-align: top;
  line-height: 32px;
  border-radius: 4px;
  padding: 0 12px;
  color: #495EF4;
  font-size: 14px;
  font-weight: bold;
  background-color: #F5F7FC;
}

.slide-schedule .item .name {
  line-height: 25px;
  font-size: 20px;
  font-weight: 600;
  margin-top: 28px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.slide-schedule .item .text-01 {
  line-height: 20px;
  color: #666;
  margin-top: 9px;
}

.slide-schedule .item .member {
  display: flex;
  margin-top: 24px;
  border-top: 1px solid #eee;
  padding-top: 24px;
}

.slide-schedule .item .member .num {
  line-height: 24px;
  padding-left: 28px;
  background: url(../images/ico_people_g.svg) left center no-repeat;
  font-weight: bold;
  color: #666;
}

.slide-schedule .item .member .people {
  margin-left: 8px;
  line-height: 20px;
  max-width: calc(100% - 80px);
  color: #666;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.class-ranking {
  width: 65%;
  margin-top: 64px;
}

.class-ranking ul {
  list-style: none;
  border: 1px solid #eee;
  border: 1px solid #eee;
  padding: 40px;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
  border-radius: 8px;
}

.class-ranking ul {
  border: 1px solid #eee;
  border: 1px solid #eee;
  padding: 40px;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
  border-radius: 8px;
}

.class-ranking ul>li {
  display: flex;
}

.class-ranking ul>li+li {
  margin-top: 28px;
  border-top: 1px solid #eee;
  padding-top: 28px;
}

.class-ranking .num {
  width: 48px;
  line-height: 25px;
  font-size: 20px;
  font-weight: bold;
  padding-left: 8px;
}

.class-ranking .con {
  display: flex;
  width: calc(100% - 128px);
}

.class-ranking .name {
  max-width: calc(100% - 67px);
  line-height: 25px;
  font-size: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.class-ranking .rate {
  width: 50px;
  line-height: 25px;
  padding-left: 22px;
  font-size: 18px;
  font-weight: bold;
  margin-left: 17px;
}

.class-ranking .rate.up {
  background: url(../images/arr_09_up.svg) left center no-repeat;
  color: #D11515;
}

.class-ranking .rate.down {
  background: url(../images/arr_09_down.svg) left center no-repeat;
  color: #495EF4;
}

.class-ranking .cate {
  width: 80px;
  text-align: right;
  color: #999;
  line-height: 25px;
}

.class-ranking ul>li:nth-child(4) .num,
.class-ranking ul>li:nth-child(4) .con,
.class-ranking ul>li:nth-child(4) .cate {
  opacity: 0.2;
}

.new-student {
  width: calc(35% - 64px);
  margin: 64px 0 0 64px;
}

.new-student ul {
  list-style: none;
  border: 1px solid #eee;
  border: 1px solid #eee;
  padding: 40px;
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
  border-radius: 8px;
}

.new-student ul>li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding-left: 68px;
  line-height: 20px;
}

.new-student ul>li+li {
  margin-top: 24px;
  border-top: 1px solid #eee;
  padding-top: 24px;
}

.new-student .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 58px;
  height: 58px;
  overflow: hidden;
  border-radius: 50%;
}

.new-student ul>li+li .img {
  top: 24px;
}

.new-student .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  transform: translate(-50%, -50%);
}

.new-student .name {
  width: calc(100% - 115px);
  margin: 7px 0 4px;
  font-weight: 600;
}

.new-student .instructor {
  width: 115px;
  margin: 7px 0 4px;
  color: #666;
}

.new-student .class {
  width: calc(100% - 115px);
  color: #495EF4;
  margin-bottom: 7px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.new-student .call {
  width: 115px;
  font-weight: 500;
}

/* .modify-personal */
.modify-personal .form-style-01>li+li {
  margin-top: 32px;
}

/* .calculate-wrap */
.calculate-wrap {
  position: relative;
}

.calculate-wrap .select-class {
  position: absolute;
  top: -68px;
  right: 0;
  min-width: 330px;
}

.calculate-top>ul {
  list-style: none;
  display: flex;
  background-color: #111;
  border-radius: 8px;
  color: #fff;
}

.calculate-top>ul>li {
  position: relative;
  width: 25%;
  padding: 40px 40px 140px;
}

.calculate-top>ul>li+li:before {
  content: '';
  position: absolute;
  top: 40px;
  left: 0;
  bottom: 40px;
  display: inline-block;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}

.calculate-top>ul>li:last-child {
  background-color: #495EF4;
  border-radius: 8px;
}

.calculate-top>ul>li:last-child:before {
  display: none;
}

.calculate-top>ul>li:last-child .title {
  color: #A4AFFA;
}

.calculate-top .title {
  line-height: 20px;
  color: #888;
  font-weight: 600;
}

.calculate-top .text-01 {
  position: absolute;
  bottom: 40px;
  left: 40px;
  font-size: 28px;
  font-weight: 600;
  line-height: 31px;
}

/* .account-01 */
.account-01 {
  position: relative;
  padding-right: 145px;
}

.account-01 .text-02 {
  color: #999;
  margin-top: 4px;
}

.account-01 .btn {
  position: absolute;
  top: 0;
  right: 0;
}

/* .board-view */
.board-view-top {
  display: flex;
  border-top: 1px solid #111;
  border-bottom: 1px solid #eee;
}

.board-view-top .title {
  width: calc(100% - 250px);
  padding: 32px 0;
  line-height: 30px;
  font-size: 24px;
  font-weight: 600;
}

.board-view-top .info {
  display: flex;
  text-align: right;
  justify-content: right;
  width: 250px;
  padding-top: 37px;
}

.board-view-top .info p {
  display: inline-block;
  vertical-align: top;
  color: #999;
  line-height: 20px;
}

.board-view-top .info p+p {
  position: relative;
  margin-left: 12px;
  padding-left: 12px;
}

.board-view-top .info p+p:before {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 1px;
  height: 12px;
  background-color: #ddd;
}

.board-view-body {
  padding: 52px 0;
  border-bottom: 1px solid #eee;
}

.board-view-body .board-view-con {
  min-height: 300px;
  line-height: 28px;
  font-size: 18px;
}

.board-view-body .list-download-01 {
  margin-top: 72px;
}

.board-view-body.inquiry {
  border-bottom: 0;
}

.board-view-answer {
  padding: 32px;
  background-color: #F7F8FC;
  border-radius: 4px;
}

.board-view-answer .answer {
  line-height: 28px;
  font-size: 18px;
}

.board-view-answer .list-download-01 {
  margin-top: 32px;
}

.board-view-answer .info {
  display: flex;
  margin-top: 16px;
}

.board-view-answer .info p {
  display: inline-block;
  vertical-align: top;
  color: #999;
  line-height: 20px;
}

.board-view-answer .info p+p {
  position: relative;
  margin-left: 12px;
  padding-left: 12px;
}

.board-view-answer .info p+p:before {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 1px;
  height: 12px;
  background-color: #ddd;
}

.board-view-answer .nodata {
  text-align: center;
  font-size: 18px;
  color: #999;
}

.board-view-answer+.board-view-answer {
  margin-top: 16px;
}

/* .board-write */
.board-write .input-01 {
  max-width: 100%;
}

.board-write .select-02 {
  max-width: 330px;
}

.board-write .textarea-01 {
  min-height: 300px;
}

.board-write .textarea-01+.text-guide {
  margin-top: 16px;
}

/* .attend-wrap */
.attend-wrap {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background: #F7F8FC;
}

.attend-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  width: calc(100% - 32px);
  max-width: 900px;
  height: 520px;
}

.attend-box .attend-text {
  position: relative;
  width: calc(100% - 327px);
  background: url(../images/img_fit.svg) center no-repeat;
}

.attend-box .attend-text .text-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.attend-box .attend-text .text-wrap .text-01 {
  margin-top: 40px;
  line-height: 40px;
  font-size: 32px;
  font-weight: 500;
}

.attend-box .attend-text .text-wrap .text-02 {
  margin-top: 16px;
  line-height: 23px;
  font-size: 18px;
  color: #999;
}

.attend-box .attend-key {
  position: relative;
  width: 327px;
  background-color: #fff;
  border-radius: 16px;
  padding-top: 239px;
  box-shadow: 0 8px 52px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.attend-box .attend-key .key-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 214px;
  background-color: #fff;
  box-shadow: 0 8px 52px rgba(0, 0, 0, 0.04);
  padding: 40px 40px 0;
  text-align: center;
}

.attend-box .attend-key .key-top .text-01 {
  line-height: 25px;
  font-size: 20px;
  font-weight: 600;
}

.attend-box .attend-key .key-top .text-02 {
  line-height: 20px;
  color: #666;
  margin-top: 5px;
}

.attend-box .attend-key .key-top .input-set-attend {
  margin-top: 28px;
}

.attend-box .attend-key .key-num {
  padding: 25px;
}

.attend-box .attend-key .key-num>div {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

.attend-box .attend-key .key-num .btn {
  width: 33.33%;
  height: 58px;
  text-align: center;
  line-height: 58px;
  font-size: 20px;
  font-weight: 600;
  color: #666;
  border-radius: 8px;
}

.attend-box .attend-key .key-num .btn:hover,
.attend-box .attend-key .key-num .btn:focus {
  background-color: #F7F8FC;
  text-decoration: none;
}

.attend-box .attend-key .key-num .btn-zero {
  margin: 0 33.33%;
}

.attend-box .attend-key .key-num .btn-delete {
  position: absolute;
  bottom: 0;
  left: 0;
  text-indent: -9999px;
  overflow: hidden;
  background: url(../images/ico_delete_02.svg) center no-repeat;
}

.attend-box .attend-key .key-num .btn-attend {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #495EF4;
  color: #fff;
}

.attend-box .attend-key .key-num .btn-attend:hover,
.attend-box .attend-key .key-num .btn-attend:focus {
  background-color: #495EF4;
}

/* .write-comment */
.write-comment {
  margin-top: 52px;
}

.write-comment .textarea-01 {
  margin-bottom: 12px;
}

.new-schedule-wrap {
  display: flex;
}

.new-schedule-wrap .left {
  width: 364px;
}

.new-schedule-wrap .right {
  width: calc(100% - 404px);
  margin-left: 40px;
}

.new-schedule-wrap .schedule-wrap {
  margin-top: 8px;
  max-height: 508px;
  overflow-y: auto;
}

.new-schedule-wrap .schedule-wrap.week .schedule-time {
  position: relative;
  width: 300px;
  padding: 0 40px;
  margin: 8px 0 0;
}

.new-schedule-wrap .schedule-wrap .schedule-time .num {
  line-height: 32px;
  font-size: 18px;
  text-align: center;
}

.new-schedule-wrap .schedule-wrap .schedule-time .btn {
  width: 32px;
  height: 32px;
  background-size: 6px;
}

.new-schedule-wrap .week .table-schedule-01 thead th {
  padding: 0;
  line-height: 42px;
}

.new-schedule-wrap .table-schedule-01 tbody th {
  font-size: 14px;
}

.new-schedule-wrap .table-schedule-01 td {
  padding: 4px;
}

.new-schedule-wrap+.btns-page-bottom {
  margin-top: 40px;
}

/* tab style */
.tab-wrap .tab-contents .tab-con {
  display: none;
}

.tab-wrap .tab-contents .tab-con.active {
  display: block;
}

.tab-style-01 {
  position: relative;
  min-height: 287px;
}

.tab-style-01 .tab-head {
  list-style: none;
  display: Flex;
  flex-wrap: wrap;
}

.tab-style-01 .tab-head>li {
  position: relative;
  width: calc(12.5% + 1px);
  margin-left: -1px;
}

.tab-style-01 .tab-head>li:nth-of-type(n+9) {
  margin-top: -1px;
}

.tab-style-01 .tab-head .btn {
  z-index: 1;
  width: 100%;
  line-height: 62px;
  border: 1px solid #ddd;
}

.tab-style-01 .tab-head .btn.active {
  z-index: 3;
  border-color: #495EF4;
  border-radius: 4px;
}

.tab-style-01 .tab-contents {
  position: absolute;
  top: 126px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #F8F9FD;
  overflow-y: auto;
}

.tab-style-01 .tab-con {
  padding: 50px 20px;
}

.tab-style-02 {
  position: relative;
  min-height: 287px;
  padding-left: 25%;
  border: 1px solid #ddd;
  border-left: 0;
  border-right: 0;
}

.tab-style-02 .tab-head {
  list-style: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 25%;
  overflow-y: auto;
}

.tab-style-02 .tab-head>li {
  width: 100%;
}

.tab-style-02 .tab-head>li+li {
  border-top: 1px solid #ddd;
}

.tab-style-02 .tab-head .btn {
  z-index: 1;
  width: 100%;
  line-height: 54px;
  border: 1px solid transparent;
  text-align: left;
  padding-left: 31px;
}

.tab-style-02 .tab-head .btn.active {
  z-index: 3;
  border-color: #495EF4;
  border-radius: 4px;
  color: #495EF4;
  font-weight: 700;
}

.tab-style-02 .tab-contents {
  position: absolute;
  top: 0;
  left: 25%;
  right: 0;
  bottom: 0;
  background-color: #F8F9FD;
  overflow-y: auto;
}

.tab-style-02 .tab-con {
  height: 100%;
  padding: 50px 20px;
}

@media screen and (max-width:1800px) {

  /* form */
  .form-style-02.sports {
    flex-wrap: wrap;
  }

  .form-style-02.sports>li.w01,
  .form-style-02.sports>li.w02,
  .form-style-02.sports>li.w03 {
    width: calc(50% - 20px);
  }

  .form-style-02.sports>li+li {
    margin-left: 0;
  }

  .form-style-02.sports>li:nth-of-type(2n) {
    margin-left: 40px;
  }

  .form-style-02.sports>li:nth-of-type(n+3) {
    margin-top: 8px;
  }

  .form-style-02.sports .form-title {
    min-width: 100px;
    padding-right: 0;
  }

  .form-style-02.sports .form-con {
    width: calc(100% - 100px);
  }

  .form-style-02.schedule {
    flex-wrap: wrap;
  }

  .form-style-02.schedule>li.w01 {
    width: 100%;
    margin-bottom: 16px;
  }

  .form-style-02.schedule>li.w02 {
    width: 350px;
    margin-left: 0;
  }

  .form-style-02.schedule>li.w03 {
    width: calc(100% - 390px);
  }

  .form-style-02.schedule .form-title {
    min-width: 100px;
    padding-right: 0;
  }

  .form-style-02.schedule .form-con {
    width: calc(100% - 100px);
  }

  .form-style-02.calculate {
    flex-wrap: wrap;
  }

  .form-style-02.calculate>li {
    width: 100% !important;
  }

  .form-style-02.calculate>li+li {
    margin: 8px 0 0;
  }

  .form-style-02.calculate .form-title {
    min-width: 100px;
  }

  .form-style-02.inquiry {
    flex-wrap: wrap;
  }

  .form-style-02.inquiry>li.w01,
  .form-style-02.inquiry>li.w02,
  .form-style-02.inquiry>li.w03 {
    width: calc(50% - 20px);
  }

  .form-style-02.inquiry>li+li {
    margin-left: 0;
  }

  .form-style-02.inquiry>li:nth-of-type(2n) {
    margin-left: 40px;
  }

  .form-style-02.inquiry>li:nth-of-type(n+3) {
    margin-top: 8px;
  }

  .form-style-02.inquiry .form-title {
    min-width: 100px;
    padding-right: 0;
  }

  .form-style-02.inquiry .form-con {
    width: calc(100% - 100px);
  }

  /* .new-student */
  .new-student {
    width: calc(35% - 32px);
    margin-left: 32px;
  }
}

/* // (max-width:1800px) */
@media screen and (max-width:1600px) {

  /* form */
  .form-style-02.notice {
    flex-wrap: wrap;
  }

  .form-style-02.notice>li {
    width: 100% !important;
  }

  .form-style-02.notice>li+li {
    margin: 16px 0 0;
  }

  .form-style-02.instructor {
    flex-wrap: wrap;
  }

  .form-style-02.instructor>li {
    width: 100% !important;
    margin: 0 !important;
  }

  .form-style-02.instructor>li+li {
    margin: 16px 0 0 !important;
  }

  .form-style-02.instructor>li:nth-of-type(2) .form-title.word2 {
    min-width: 95px;
  }

  .form-style-02.facilities>li {
    width: 100% !important;
  }

  .form-style-02.facilities>li+li {
    margin: 16px 0 0;
  }

  .form-style-02.schedule>li {
    width: 100% !important;
  }

  .form-style-02.schedule>li+li {
    margin: 8px 0 0;
  }

  .form-style-02.schedule .form-title {
    min-width: 100px;
  }

  /* table */
  .table-style-02 {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 20px;
  }

  .table-style-02 table {
    min-width: 1200px;
  }

  .table-style-02.table-board table {
    min-width: 0;
  }

  .table-style-04 {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 20px;
  }

  .table-style-04 table {
    min-width: 1200px;
  }

  .table-style-04.noscroll table {
    min-width: 0;
  }

  /* paying */
  .contents-body.contents-paying {
    padding: 0 40px;
  }

  /* .contents-body.contents-paying:before {right:360px;} */
  .contents-body.contents-paying .paying-01 {
    padding: 26px 40px 80px 0;
  }

  .contents-body.contents-paying .paying-02 {
    padding: 26px 0 80px 40px;
  }

  .paying-summary .final .price {
    font-size: 24px;
  }

  /* purchase */
  .purchase-01 ul>li {
    width: 30%;
  }

  .purchase-01 ul>li:last-child {
    width: calc(40% - 16px);
  }

  /* .class-ranking */
  .class-ranking ul {
    padding: 40px 24px;
  }

  /* .new-student */
  .new-student ul {
    padding: 40px 24px;
  }

  /* .profile-view */
  .profile-view .box-white-01 {
    padding: 30px;
  }

  .profile-view .list-info-01>ul>li {
    width: 50%;
  }

  .profile-view .list-info-01>ul>li.w66 {
    width: 100%;
  }

  /* .calculate-top */
  .calculate-top .text-01 {
    font-size: 20px;
    line-height: 28px;
  }

  /* .box-white-01 */
  .box-white-01 {
    padding: 30px;
  }


}

/* // (max-width:1600px) */
@media screen and (min-width:1400px) {
  .board-top .scroll-guide {
    display: none;
  }
}

@media screen and (min-width:1281px) {

  /* paying */
  .paying-summary .btns-bottom .btn-white-03 {
    display: none;
  }

}

/* // (min-width:1281px) */
@media screen and (max-width:1280px) {

  /* input */
  .input-bank-01 {
    flex-wrap: wrap;
  }

  .input-bank-01 .select-01 {
    width: 100%;
    margin-bottom: 8px;
  }

  .input-bank-01 .input-01 {
    width: calc(100% - 118px);
    max-width: 100%;
    margin-left: 0;
  }

  .input-bank-01 .btn {
    padding: 14px 10px;
  }

  /* form */
  .form-style-02.sports>li.w01,
  .form-style-02.sports>li.w02,
  .form-style-02.sports>li.w03 {
    width: 100%;
  }

  .form-style-02.sports>li:nth-of-type(2n) {
    margin-left: 0;
  }

  .form-style-02.sports>li+li {
    margin-top: 8px;
  }

  .form-style-02.schedule>li.w01 {
    margin-bottom: 8px;
  }

  .form-style-02.schedule>li.w02 {
    width: 100%;
    margin-bottom: 8px;
  }

  .form-style-02.schedule>li.w03 {
    width: 100%;
    margin: 0;
  }

  .form-style-02.inquiry>li.w01,
  .form-style-02.inquiry>li.w02,
  .form-style-02.inquiry>li.w03 {
    width: 100%;
  }

  .form-style-02.inquiry>li:nth-of-type(2n) {
    margin-left: 0;
  }

  .form-style-02.inquiry>li+li {
    margin-top: 8px;
  }

  .form-style-02.notice>li+li {
    margin: 8px 0 0;
  }

  /* paying */
  .contents-body.contents-paying {
    flex-wrap: wrap;
    padding-bottom: 80px;
  }

  .contents-body.contents-paying .paying-01 {
    width: 100%;
    padding-right: 0;
    padding-bottom: 24px;
  }

  .contents-body.contents-paying .paying-01 .btns-page-bottom {
    display: none;
  }

  .contents-body.contents-paying .paying-02 {
    width: 100%;
    padding: 52px;
    border: 1px solid #eee;
    box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
    border-radius: 8px;
  }

  .paying-summary .btns-bottom {
    display: flex;
  }

  .paying-summary .btns-bottom .btn-white-03 {
    width: 160px;
  }

  .paying-summary .btns-bottom .btn-blue-03 {
    width: calc(100% - 168px);
    margin-left: 8px;
  }

  /* purchase */
  .purchase-01 ul>li {
    padding: 24px;
  }

  /* schedule */
  .schedule-wrap.week .schedule-head {
    padding-bottom: 70px;
  }

  .schedule-wrap.week .schedule-time {
    top: auto;
    bottom: 0;
  }

  /* main */
  .main-wrap {
    padding: 24px 24px 80px;
  }

  .main-top {
    flex-wrap: wrap;
  }

  .main-top .info {
    width: 250px;
    padding: 32px 16px 32px 108px;
  }

  .main-top .info .img-profile {
    top: 32px;
    left: 32px;
    width: 60px;
    height: 60px;
  }

  .main-top .info .text .name {
    font-size: 24px;
  }

  .main-top .info .text {
    padding-top: 0;
  }

  .main-top ul {
    width: calc(100% - 250px);
    flex-wrap: wrap;
    padding: 32px 32px 16px;
  }

  .main-top ul>li {
    width: 50%;
    margin-bottom: 16px;
  }

  .main-top ul .num {
    margin: 0;
    font-size: 28px;
  }

  /* .today-schedule */
  .today-schedule {
    margin-top: 24px;
  }

  /* .class-ranking */
  .class-ranking {
    width: 55%;
    margin-top: 32px;
  }

  /* .new-student */
  .new-student {
    width: calc(45% - 24px);
    margin: 32px 0 0 24px;
  }

}

/* // (max-width:1280px) */
@media screen and (min-width:1025px) {

  .mo-only {
    display: none;
  }

  #gnb .btn-gnb-close {
    display: none;
  }

  /* .btn */
  .btn-pc-white-01 {
    padding: 13px 24px;
    line-height: 20px;
    font-weight: 500;
    color: #666;
    border: 1px solid #bbb;
    border-radius: 4px;
  }

  .btn-pc-blue-01 {
    padding: 14px 24px;
    line-height: 20px;
    font-weight: 500;
    color: #fff;
    background-color: #495EF4;
    border-radius: 4px;
  }

  /* container */
  .contents-title .btn-back {
    display: none;
  }

  .contents-title .btn-toggle {
    display: none;
  }

  .contents-title .btns-box {
    display: flex !important;
  }

  .contents-title .btns-box>.btn+.btn {
    margin-left: 8px;
  }

  .contents-title.main-title {
    display: none;
  }

  /* flip */
  .flip-01 .flip-step {
    display: none;
  }

  .flip-01 .flip-mo-intro {
    display: none;
  }

  .flip-01 .flip-con {
    padding: 52px;
    border: 1px solid #eee;
    box-shadow: 0 3px 16px rgba(0, 0, 0, 0.04);
    border-radius: 8px;
  }

  .flip-01 .flip-con+.flip-con {
    margin-top: 24px;
  }

  .flip-01 .flip-title {
    position: relative;
  }

  .flip-01 .flip-title+* {
    margin-top: 40px;
  }

  .flip-01 .flip-title h4 {
    display: inline-block;
    vertical-align: top;
    line-height: 30px;
    font-size: 24px;
    font-weight: 600;
  }

  .flip-01 .flip-title .text-sub {
    display: inline-block;
    vertical-align: top;
    line-height: 30px;
    color: #999999;
    margin-left: 24px;
  }

  .flip-01 .flip-title .btn-white-02 {
    float: right;
    margin-top: -10px;
  }

  .flip-01 .flip-btns {
    position: relative;
    margin-top: 52px;
    text-align: right;
  }

  .flip-01 .flip-btns .btn-prev,
  .flip-01 .flip-btns .btn-next {
    display: none;
  }

  .flip-01 .flip-btns .btn-preview {
    position: absolute;
    top: 0;
    left: 0;
  }

}

/* // (min-width:1025px) */
/*
@media screen and (min-width:1025px) and (max-width:1600px) {

  /* #header * /
  #header {
    width: 280px;
    padding-top: 105px;
  }

  #header h1 {
    top: 27px;
  }

  #header h1 img {
    width: 180px;
  }

  /* .container * /
  .container {
    width: calc(100% - 280px);
  }

  .contents-top {
    padding: 26px 40px;
  }

  .contents-body {
    padding: 26px 40px 60px;
  }

  /* form * /
  .form-style-01 .form-title {
    width: 140px;
  }

  .form-style-01 .form-con {
    width: calc(100% - 140px);
  }

  /* flip * /
  .flip-01 .flip-con {
    padding: 30px;
  }

  .input-address-01 {
    flex-wrap: wrap;
  }

  .input-address-01 .address-01 {
    width: calc(100% - 118px);
    max-width: 100%;
  }

  .input-address-01 .address-02 {
    margin: 4px 0;
    max-width: 100%;
  }

}
*/
/* // (min-width:1025px) and (max-width:1600px) */
/*
@media screen and (min-width:1025px) and (max-width:1300px) {

  /* #header * /
  #header {
    width: 220px;
    padding: 105px 16px;
  }

  /* #gnb * /
  #gnb .gnb-depth1>li+li {
    margin-top: 8px;
  }

  #gnb .gnb-depth1>li>.btn {
    font-size: 16px;
    padding: 14px 52px;
    line-height: 20px;
  }

  #gnb .gnb-depth1>li>.btn:before {
    top: 14px;
    left: 16px;
    width: 20px;
    height: 20px;
    background-size: 20px !important;
  }

  #gnb .gnb-depth1>li>.btn-toggle:after {
    top: 14px;
    right: 10px;
    width: 20px;
    height: 20px;
    background-size: 20px !important;
  }

  #gnb .gnb-depth2 {
    padding: 24px 24px 24px 52px;
  }

  /* .container * /
  .container {
    width: calc(100% - 220px);
  }

  .contents-top {
    padding: 26px 20px;
  }

  .contents-body {
    padding: 26px 20px 80px;
  }

  /* btn * /
  /* .btn-white-02 {padding:12px 20px;}
    .btn-white-02.w104 {padding:12px;}
    .btn-add-01 {line-height:19px;} * /
 
  /* input * /
  /* .input-01 {line-height:46px;}
    .input-02 {line-height:48px;}
    .datepicker-01 input {line-height:46px;}
    .input-btn-set-01 .btn {padding:12px;}
    .input-address-01 .btn {padding:12px;}
    .input-bank-01 .select-01 {line-height:46px;height:48px;} * /

  /* select * /
  /* .select-01 {line-height:46px;height:48px;} * /

  /* check * /
  /* .check-01 label {padding:12px;line-height:22px;} * /

  /* datepicker * /
  /* .radio-set-01 .radio-01 label {min-width:65px;} * /

  /* .profile-basick * /
  .profile-basic .img-profile-wrap {
    width: 180px;
    margin-right: 20px;
  }

  .profile-basic .form-style-01 {
    width: calc(100% - 200px);
  }

  /* .profile-view * /
  .profile-view .list-info-01 {
    width: calc(100% - 220px);
  }

  /* .modify-personal * /
  .modify-personal .radio-set-01.radio-e4 {
    width: 100%;
    max-width: 440px;
  }

  .modify-personal .radio-set-01.radio-e4>li {
    width: 25%;
  }

  .modify-personal .radio-set-01.radio-e4 .radio-01 {
    width: 100%;
  }

  .modify-personal .radio-set-01.radio-e4 .radio-01 label {
    min-width: 0;
    width: 100%;
    padding: 12px 4px;
  }
}
*/

/* // (min-width:1025px) and (max-width:1300px) */
@media screen and (max-width:1024px) {

  body {
    font-size: 14px;
  }

  .pc-only {
    display: none;
  }

  /* #header */
  #header {
    overflow: hidden;
    width: auto;
    padding: 0;
    float: none;
    min-height: auto;
  }

  /* Hide Util Header on Mobile */
  #util-header {
    display: none;
  }

  /* Mobile Utility Menu */
  .gnb-mobile-util {
    display: block;
    /* Visible on mobile */
    border-top: 1px solid #e1e1e1;
    margin-top: 20px;
    padding-top: 20px;
  }

  .gnb-mobile-util .util-links {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    /* Allow wrapping for 2 columns */
    margin: 0 -5px;
    /* Negative margin for spacing */
  }

  .gnb-mobile-util .util-links li {
    width: 50%;
    /* 2 columns */
    padding: 5px;
    box-sizing: border-box;
  }

  .gnb-mobile-util .user-info {
    width: 100% !important;
    /* User info full width */
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
    padding-left: 10px;
  }

  .gnb-mobile-util .btn-util {
    display: block;
    padding: 12px 10px 12px 40px;
    /* Space for icon */
    color: #666;
    font-size: 14px;
    text-align: center;
    background-color: #f5f5f5;
    background-repeat: no-repeat;
    background-position: 15px center;
    /* Icon position */
    background-size: 18px;
    border-radius: 4px;
    box-sizing: border-box;
  }

  /* Mobile Utility Icons */
  .gnb-mobile-util .btn-util.mail {
    background-image: url(../images/ico_mail.svg);
  }

  .gnb-mobile-util .btn-util.info {
    background-image: url(../images/ico_setting.svg);
  }

  .gnb-mobile-util .btn-util.login {
    background-image: url(../images/ico_person.svg);
  }

  .gnb-mobile-util .btn-util.logout {
    background-image: url(../images/ico_x_01.svg);
  }

  #header h1 {
    top: -200px;
  }

  #header .quick-nav {
    display: flex;
    list-style: none;
    z-index: 1000;
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 2px 0 10px;
    background-color: #fff;
  }

  #header .quick-nav>li {
    width: 20%;
    text-align: center;
  }

  #header .quick-nav .btn {
    width: 48px;
    height: 48px;
    padding-top: 32px;
    line-height: 13px;
    font-size: 10px;
    color: #666;
  }

  #header .quick-nav .btn.menu {
    background: url(../images/ico_menu.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.class {
    background: url(../images/ico_sports.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.home {
    background: url(../images/ico_home.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.schedule {
    background: url(../images/ico_calendar.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.calculate {
    background: url(../images/ico_money.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.instructor {
    background: url(../images/ico_contact.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.active {
    color: #495EF4;
  }

  #header .quick-nav .btn.active.menu {
    background: url(../images/ico_menu_blue.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.active.class {
    background: url(../images/ico_sports_blue.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.active.home {
    background: url(../images/ico_home_blue.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.active.schedule {
    background: url(../images/ico_calendar_blue.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.active.calculate {
    background: url(../images/ico_money_blue.svg) center 4px no-repeat;
  }

  #header .quick-nav .btn.active.instructor {
    background: url(../images/ico_contact_blue.svg) center 4px no-repeat;
  }

  /* #gnb */
  #gnb {
    z-index: 2000;
    position: fixed;
    top: 0;
    bottom: 0;
    left: -100%;
    width: 100%;
    background-color: #fff;
    padding: 0;
    /* Remove padding from container */
    transition: .2s ease-out;
    overflow: hidden;
    /* Prevent body scroll */
  }

  /* Scroll Wrapper for Menu Content */
  .gnb-scroll-wrap {
    height: 100%;
    overflow-y: auto;
    padding: 48px 20px;
    /* Padding moved here */
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
  }

  #gnb .btn-gnb-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    background: url(../images/ico_x_01.svg) center no-repeat;
    text-indent: -9999px;
    overflow: hidden;
    z-index: 10;
    /* Fixed above scroll content */
  }



  #gnb.active {
    left: 0;
  }

  #gnb .btn-gnb-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    background: url(../images/ico_x_01.svg) center no-repeat;
    text-indent: -9999px;
    overflow: hidden;
  }

  #gnb .gnb-depth1>li>.btn {
    line-height: 20px;
    padding: 14px 10px 14px 52px;
    /* Adjusted padding */
    font-size: 16px;
    position: relative;
    color: #222;
    font-weight: 500;
  }

  /* Reset toggle arrow for now? Or keep it? The user focused on "current SVG icons". 
     The arrow is a different element (.btn-toggle:after). The main icon is usually on :before or background.
     Original code had background on .btn:before (line 7442). Let's replace that.
  */

  #gnb .gnb-depth1>li>.btn:before {
    content: '';
    /* Will be replaced by icon content */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: 14px;
    left: 20px;
    width: 20px;
    height: 20px;
    font-size: 20px;
    line-height: 1;
    color: #aaa;
    /* Default Icon Color */
    background: none !important;
    /* Remove SVG background */
    transition: color 0.2s;
  }

  /* Hover State for Text and Icon */
  /* Hover & Active State: Stable Font & Icon Color */
  #gnb .gnb-depth1>li>.btn:hover,
  #gnb .gnb-depth1>li.active>.btn {
    color: #495EF4 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
  }

  #gnb .gnb-depth1>li>.btn:hover:before,
  #gnb .gnb-depth1>li.active>.btn:before {
    color: #495EF4 !important;
  }

  /* Icon Maps */
  #gnb .gnb-depth1>li>.btn.menu-approval:before {
    content: "\f573";
  }

  /* file-signature */
  #gnb .gnb-depth1>li>.btn.menu-smartcheck:before {
    content: "\f46c";
  }

  /* clipboard-check */
  #gnb .gnb-depth1>li>.btn.menu-accounting:before {
    content: "\f1ec";
  }

  /* calculator */
  #gnb .gnb-depth1>li>.btn.menu-sales:before {
    content: "\f0b1";
  }

  /* briefcase */
  #gnb .gnb-depth1>li>.btn.menu-workplace:before {
    content: "\f1ad";
  }

  /* building */
  #gnb .gnb-depth1>li>.btn.menu-hr-assets:before {
    content: "\f0c0";
  }

  /* users */
  #gnb .gnb-depth1>li>.btn.menu-hr-staff:before {
    content: "\f2c2";
  }

  /* id-card */
  #gnb .gnb-depth1>li>.btn.menu-field:before {
    content: "\f772";
  }

  /* helmet-safety */
  #gnb .gnb-depth1>li>.btn.menu-system:before {
    content: "\f013";
  }

  /* gear */

  #gnb .gnb-depth1>li>.btn-toggle:after {
    top: 14px;
    right: 16px;
    width: 20px;
    height: 20px;
    background-size: 20px !important;
  }

  #gnb .gnb-depth2 {
    padding: 24px 52px;
  }

  /* .container */
  .container {
    width: 100%;
    border: 0;
  }

  .contents-top {
    display: none;
  }

  .contents-title {
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }

  .contents-title .title-page {
    min-height: 48px;
    line-height: 48px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    background-color: #fff;
  }

  .contents-title .title-page img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    transform: translate(-50%, -50%);
  }

  .contents-title .text-sub {
    display: none;
  }

  .contents-title .btn-back {
    position: absolute;
    top: 8px;
    left: 10px;
    width: 32px;
    height: 32px;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../images/arr_04.svg) center no-repeat;
  }

  .contents-title .btn-toggle {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 32px;
    height: 32px;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../images/ico_dots.svg) center no-repeat;
    border-radius: 50%;
  }

  .contents-title .btn-toggle.active {
    background-color: #F3F5FF;
  }

  .contents-title .btns-box {
    display: none;
    top: 48px;
    right: 10px;
    border: 1px solid #111;
    border-radius: 4px;
    padding: 8px;
    background-color: #fff;
  }

  .contents-title .btns-box .btn {
    display: block;
    min-width: 146px;
    line-height: 18px;
    border-radius: 4px;
    padding: 11px 12px;
    text-align: left;
  }

  .contents-title .btns-box .btn:hover,
  .contents-title .btns-box .btn:focus {
    background-color: #F3F5FF;
    color: #495EF4;

  }

  .contents-body {
    padding: 48px 0 60px;
  }

  .contents-body.contents-password {
    min-height: 100vh;
    padding-bottom: 80px;
  }

  /* btn */
  .btn-white-01 {
    padding: 13px;
  }

  .btn-white-02 {
    padding: 14px 16px;
    line-height: 18px;
    font-size: 14px;
    min-width: 80px;
  }

  .btn-white-03 {
    padding: 15px 16px;
    line-height: 20px;
    font-size: 16px;
  }

  .btn-blue-01 {
    padding: 13px;
  }

  .btn-blue-02 {
    padding: 15px;
    line-height: 18px;
    font-size: 14px;
    min-width: 80px;
  }

  .btn-blue-03 {
    padding: 16px;
    line-height: 20px;
    font-size: 16px;
  }

  .btn-blueline-02 {
    padding: 14px 16px;
    line-height: 18px;
    font-size: 14px;
    min-width: 80px;
  }

  .btn-blueline-03 {
    padding: 15px 16px;
    line-height: 20px;
    font-size: 16px;
  }

  .btn-blackline-02 {
    min-width: 80px;
    padding: 15px 16px;
    line-height: 18px;
    font-size: 14px;
  }

  .btn-black-02 {
    min-width: 80px;
    padding: 15px 16px;
    line-height: 18px;
    font-size: 14px;
  }

  .btn-excel {
    padding: 13px 13px 13px 40px;
    background-position: 16px center;
  }

  .btn-add-01 {
    font-size: 14px;
    background-size: 12px !important;
  }

  .btn-more {
    padding-right: 24px;
    background-position: right center !important;
  }

  /* add table */
  .add-table-wrap-01 {
    margin-top: 16px;
    padding-top: 40px;
    min-height: 40px;
  }

  .add-table-wrap-01 .btn-add-01 {
    min-width: 0;
    top: 0;
    line-height: 18px;
    padding: 11px 16px 11px 36px;
    background: #111 url(../images/ico_plus.svg) 16px center no-repeat;
  }

  /* form */
  .form-style-01 .form-title {
    min-height: 48px;
    line-height: 18px;
  }

  .form-style-01 .form-con {
    min-height: 48px;
  }

  .form-style-02 {
    flex-wrap: wrap;
    width: calc(100% - 48px);
    margin: 20px auto 0;
    padding: 20px;
  }

  .form-style-02.class>li {
    width: calc(50% - 8px) !important;
  }

  .form-style-02.class>li+li {
    margin: 0;
  }

  .form-style-02.class>li:nth-of-type(2n) {
    margin-left: 16px;
  }

  .form-style-02.class>li:nth-of-type(n+3) {
    margin-top: 8px;
  }

  .form-style-02.class .form-title {
    min-width: 100px !important;
  }

  .form-style-02.class .form-con {
    width: calc(100% - 100px);
  }

  .schedule-wrap .form-style-02.schedule {
    width: 100%;
  }

  .form-style-02.calculate {
    width: 100%;
  }

  .form-style-02.instructor .form-title.word7 {
    min-width: 95px;
  }

  .form-style-02.instructor>li+li {
    margin: 8px 0 0 !important;
  }

  .form-style-02.facilities>li+li {
    margin: 8px 0 0 !important;
  }

  .form-bottom-01 {
    width: calc(100% - 48px);
    margin: 8px auto 16px;
  }

  .schedule-wrap .form-style-02.schedule+.form-bottom-01 {
    width: 100%;
  }

  .form-style-02.calculate+.form-bottom-01 {
    width: 100%;
  }

  /* list */
  .list-style-02>li {
    margin-top: 16px;
  }

  .list-style-02>li+li {
    margin-top: 8px;
  }

  /* input */
  .input-01 {
    line-height: 46px;
  }

  .input-btn-set-01 .btn {
    padding: 11px;
  }

  .input-bank-01 .select-01 {
    line-height: 46px;
    height: 48px;
  }

  .input-card-01 input {
    line-height: 46px;
  }

  .input-card-01 span {
    line-height: 46px;
  }

  .input-search-member .input-search {
    line-height: 46px;
  }

  /* radio */
  .radio-01 label {
    font-size: 14px;
    padding: 15px;
    line-height: 18px;
  }

  .radio-set-05 .radio-01 label {
    padding: 16px 0;
  }

  /* check */
  .check-01 label {
    font-size: 14px;
    padding: 14px 15px;
    line-height: 18px;
  }

  .check-05 label {
    padding: 10px 20px;
  }

  .check-set-02 p {
    margin: 2px;
  }

  /* select */
  .select-01 {
    padding: 0 30px 0 8px;
    line-height: 44px;
    height: 46px;
    background-position: right 10px center;
  }

  .select-02 {
    line-height: 46px;
    height: 48px;
  }

  /* datepicker */
  .datepicker-01 {
    max-width: 100%;
  }

  .datepicker-01 input {
    line-height: 46px;
  }

  .datepicker-01 label {
    height: 48px;
  }

  .datepicker-set-01>span {
    line-height: 48px;
  }

  /* file */
  .file-01 {
    flex-wrap: wrap;
  }

  .file-01 .file-search {
    width: 100%;
    height: 148px;
    border-radius: 4px;
    background-color: #F8F9FD;
    padding: 32px 65px 0;
    text-align: center;
  }

  .file-01 .file-search label {
    width: auto;
    line-height: 18px;
    padding: 10px 16px;
  }

  .file-01 .file-search .text-guide {
    display: block;
    max-width: 196px;
    margin: 8px auto 0;
  }

  .file-01 .file-view {
    display: none;
    position: relative;
    width: 100%;
    margin: 8px 0 0;
  }

  .file-01 .file-view.active {
    display: block;
  }

  .file-01 .file-view .file-name {
    width: 100%;
    min-height: auto;
    margin: 0;
    line-height: 18px;
    padding: 12px 44px 12px 16px;
  }

  .file-01 .file-view .file-name .btn {
    text-align: left;
  }

  .file-01 .file-view .btn-white-02 {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    min-width: 0;
    height: 44px;
    border: 0;
    text-indent: -9999px;
    overflow: hidden;
    background: url(../images/ico_x_03.svg) center no-repeat;
  }

  .file-01+.text-guide {
    display: none;
  }

  .file-02 .file-search label {
    width: 80px;
    padding: 13px;
  }

  .file-02 .list-file-01 {
    margin-top: 8px;
  }

  .file-03 .file-search label {
    padding: 13px;
  }

  .file-wrap {
    padding: 0 25px 16px;
  }

  /* flip */
  .flip-01 .flip-mo-intro {
    padding-top: 20px;
  }

  .flip-01 .flip-mo-intro .img {
    position: relative;
    width: 110px;
    height: 110px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 50%;
    background-color: #F3F5FF;
  }

  .flip-01 .flip-mo-intro .img img {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100%;
    transform: translate(-50%, -40%);
  }

  .flip-01 .flip-mo-intro .name {
    text-align: center;
    margin-top: 8px;
  }

  .flip-01 .flip-mo-intro .name strong {
    display: inline-block;
    line-height: 25px;
    font-size: 20px;
    font-weight: 500;
    vertical-align: top;
  }

  .flip-01 .flip-mo-intro .name span {
    display: inline-block;
    line-height: 18px;
    padding-top: 6px;
    margin-left: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #495EF4;
    vertical-align: top;
  }

  .flip-01 .flip-mo-intro .list-style-03 {
    margin: 9px 0 24px;
  }

  .flip-01 .flip-contents {
    position: relative;
    display: none;
  }

  .flip-01 .flip-btns {
    display: none;
  }

  .flip-01 .flip-step {
    list-style: none;
    position: absolute;
    top: 16px;
    right: 24px;
    display: flex;
  }

  .flip-01 .flip-step>li+li {
    margin-left: 4px;
  }

  .flip-01 .flip-step .num {
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    background-color: #DEDEE5;
    border-radius: 50%;
  }

  .flip-01 .flip-step .num.active {
    background-color: #111;
  }

  .flip-01 .flip-title {
    padding: 16px 170px 26px 24px;
    outline: 0;
  }

  .flip-01 .flip-title h4 {
    line-height: 20px;
    font-size: 16px;
    font-weight: 600;
  }

  .flip-01 .flip-title .text-sub {
    margin-top: 26px;
    line-height: 19px;
  }

  .flip-01 .flip-title .btn-white-02 {
    display: none;
  }

  .flip-01 .flip-con {
    display: none;
  }

  .flip-01 .flip-con.active {
    display: block;
  }

  .flip-01.mo-step .flip-mo-intro {
    display: none;
  }

  .flip-01.mo-step .flip-contents {
    display: block;
  }

  .flip-01.mo-step .flip-btns {
    display: block;
  }

  .flip-01.mo-step .flip-btns {
    position: fixed;
    bottom: 65px;
    left: 0;
    right: 0;
    padding: 0 10px;
  }

  .flip-01.mo-step .flip-btns .btn-prev {
    width: 116px;
  }

  .flip-01.mo-step .flip-btns .btn-preview,
  .flip-01.mo-step .flip-btns.step-first .btn-prev,
  .flip-01.mo-step .flip-btns.step-first .btn-save {
    display: none;
  }

  .flip-01.mo-step .flip-btns.step-first .btn-next {
    width: 100%;
  }

  .flip-01.mo-step .flip-btns.step-ing .btn-next {
    width: calc(100% - 120px);
  }

  .flip-01.mo-step .flip-btns.step-ing .btn-save {
    display: none;
  }

  .flip-01.mo-step .flip-btns.step-last .btn-prev {
    width: 116px;
  }

  .flip-01.mo-step .flip-btns.step-last .btn-next {
    display: none;
  }

  .flip-01.mo-step .flip-btns.step-last .btn-save {
    width: calc(100% - 120px);
  }

  /* profile-basic */
  .profile-basic {
    display: block;
    padding: 8px 24px 80px
  }

  .profile-basic .img-profile-wrap {
    width: 180px;
    height: 180px;
    margin: 0 auto 24px;
  }

  .profile-basic .img-profile .img {
    width: 180px;
    padding-top: 100%;
    border-radius: 50%;
  }

  .profile-basic .img-profile .btn-modify-01 {
    left: 0;
    bottom: 0;
  }

  .profile-basic .form-style-01 {
    width: 100%;
  }

  /* profile-sports */
  .profile-sports {
    display: block;
    padding: 8px 24px 80px
  }

  /* .profile-view */
  .profile-view .profile-basic {
    padding: 8px 0 0;
  }

  .profile-view .list-info-01 {
    width: 100%;
  }

  .profile-view .list-info-01 .info-top {
    justify-content: center;
    margin-bottom: 16px;
  }

  .list-info-01 .box-blue-01 li {
    display: flex;
    width: 100%;
    text-align: left;
  }

  .list-info-01 .box-blue-01 li .title {
    width: 100px;
  }

  .list-info-01 .box-blue-01 li .con {
    width: calc(100% - 100px);
    margin-top: 0;
    font-size: 14px;
  }

  .list-info-01 .box-blue-01 li .con.long {
    margin-top: 0;
  }

  .list-info-01 .box-blue-01 li .con.long br {
    display: none;
  }

  .list-info-01 .box-blue-01 li+li {
    border: 0;
    margin-top: 8px;
    padding-top: 8px;
  }

  .list-info-01 .box-blue-01 li.horizontal {
    border: 0;
    margin-top: 8px;
    padding-top: 8px;
  }

  .profile-view .title-wrap-01 {
    margin: 32px 0 -16px;
  }

  .profile-view .title-wrap-01+.list-download-01 {
    margin-top: 16px;
  }

  .profile-view .btns-page-bottom {
    padding: 0 24px;
    margin: 0 0 40px;
  }

  /* accordion */
  .accordion-01 {
    background-color: #F8F9FD;
    padding: 10px 0 80px;
  }

  .accordion-01>li+li {
    margin-top: 10px;
  }

  .accordion-01 .btn-toggle {
    background-color: #fff;
    line-height: 28px;
    padding: 12px 0 12px 24px;
    font-size: 14px;
  }

  .accordion-01 .btn-toggle:after {
    height: 52px;
    background-size: 20px;
  }

  .accordion-01 .btn-toggle .text-sub {
    font-size: 14px;
  }

  .accordion-01 .accordion-con {
    background-color: #fff;
    padding: 16px 24px;
    margin-top: 0;
  }

  /* board */
  .board-top {
    width: calc(100% - 48px);
    margin: 32px auto 16px;
  }

  .board-top .guide-board {
    margin-left: 8px;
  }

  .board-top .select-01 {
    width: 70px;
  }

  .schedule-wrap .board-top {
    width: 100%;
  }

  .calculate-wrap .board-top {
    width: 100%;
  }

  /* paging */
  .paging-01 {
    margin: 10px 0 80px;
  }

  .paging-01 .btn {
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
  }

  .paging-01 .btn:before,
  .paging-01 .btn:after {
    width: 28px;
    height: 28px;
  }

  .paging-01 .btn.prev {
    margin: 0 8px 0 4px;
  }

  .paging-01 .btn.next {
    margin: 0 4px 0 8px;
  }

  /* table */
  .table-style-02 {
    padding: 0 20px 20px;
  }

  .table-style-02 th,
  .table-style-02 td {
    font-size: 14px;
    padding: 5px;
  }

  .table-style-02 .img-thumb {
    width: 50px;
    height: 50px;
    margin: 0;
  }

  .schedule-wrap .table-style-02 {
    padding: 0 10px 20px 0;
  }

  .table-style-02 .reservation .btn {
    margin: 0 0 0 4px;
    padding: 5px 8px;
  }

  /* paying */
  .contents-body.contents-paying {
    padding: 20px 0 80px;
  }

  .contents-body.contents-paying .paying-02 {
    padding: 0 24px 20px;
    border: 0;
    box-shadow: none;
  }

  .paying-info-02>li:first-child {
    margin-bottom: 24px;
  }

  .paying-info-02>li .input-01 {
    max-width: 100%;
  }

  .paying-info-02>li.w01 {
    width: 100%;
  }

  .paying-info-02>li.w02 {
    width: calc(50% - 8px);
    margin-left: 0;
  }

  .paying-info-02>li.w02+.w02 {
    margin-left: 16px;
  }

  /* box */
  .box-white-01 {
    padding: 20px 24px;
    border: 0;
    box-shadow: none;
  }

  .box-blue-01 {
    padding: 16px;
  }

  .box-round-02 {
    padding: 15px 16px;
    line-height: 18px;
    font-size: 14px;
    min-width: 80px;
  }

  /* title */
  .title-style-01 {
    font-size: 18px;
    line-height: 26px;
  }

  .title-wrap-01 .text-sub {
    line-height: 26px;
  }

  /* popup */
  .popup-alert-01 .popup-body {
    padding: 40px 16px;
  }

  .popup-alert-01 .popup-foot {
    padding: 0 16px 24px;
  }

  .popup-alert-01 .text-01 {
    line-height: 24px;
    font-size: 18px;
  }

  .popup-style-01 .popup-head {
    padding: 24px;
  }

  .popup-style-01 .popup-body {
    padding: 0 24px 24px;
  }

  .popup-style-01 .popup-foot {
    padding: 0 24px 24px;
  }

  .popup-style-01 .popup-head .btn-popup-close {
    top: 24px;
    right: 24px;
  }

  .popup-style-02 .popup-head {
    padding: 24px;
  }

  .popup-style-02 .popup-body {
    padding: 0 24px 24px;
  }

  .popup-style-02 .popup-foot {
    padding: 0 24px 24px;
  }

  .popup-style-02 .popup-head .btn-popup-close {
    right: 24px;
  }

  .popup-style-02 .board-top {
    width: 100%;
  }

  .popup-style-02 .paging-01 {
    margin-bottom: 24px;
  }

  .popup-style-04 .popup-box {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    transform: translate(0);
    border-radius: 0;
  }

  .popup-style-04 .popup-head {
    padding: 13px 40px 13px 24px;
  }

  .popup-style-04 .popup-title {
    font-size: 18px;
    line-height: 22px;
  }

  .popup-style-04 .text-sub {
    display: none;
  }

  .popup-style-04 .popup-head .btn-popup-close {
    top: 8px;
    right: 8px;
  }

  .popup-style-04 .popup-body {
    max-height: 100%;
    height: calc(100vh - 148px);
  }

  .popup-style-04 .popup-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 146px;
    background-color: #fff;
  }

  .popup-style-04 .list-style-01 {
    top: 10px;
    left: 10px;
    bottom: auto;
    right: 10px;
    padding-bottom: 5px;
  }

  .popup-style-04 .btns-page-bottom {
    padding: 70px 10px 0;
  }

  .popup-style-04 .btns-page-bottom .btn {
    width: 100%;
  }

  .popup-style-04 .check-set-02 {
    justify-content: start;
  }

  /* .schedule-wrap */
  .schedule-wrap {
    padding: 74px 24px 80px;
    margin-top: 20px;
  }

  .schedule-wrap .select-class {
    top: 0;
    right: 24px;
  }

  .schedule-wrap .btns-select.schedule-type .btn {
    min-width: 0;
    padding: 12px;
  }

  .schedule-wrap .btns-select.schedule-turm .btn {
    min-width: 0;
    padding: 12px;
  }

  /* table */
  .table-schedule-01 td {
    padding: 6px;
  }

  .table-schedule-01 .box-lesson {
    min-height: 100px;
  }

  /* .memberinfo-01 */
  .memberinfo-01 .img-profile {
    width: 120px;
  }

  .list-info-01 {
    width: calc(100% - 144px);
    margin-left: 24px;
    padding-top: 0;
  }

  .list-info-01 .info-top .name {
    font-size: 24px;
    line-height: 24px;
  }

  .list-info-01 .info-top .gender {
    width: 24px;
    height: 24px;
    line-height: 24px;
  }

  .list-info-01 .info-top .id {
    line-height: 24px;
  }

  .list-info-01 ul>li {
    margin-top: 16px;
  }

  .list-info-01 ul .con {
    font-size: 18px;
    line-height: 23px;
  }

  .list-attend {
    width: 240px;
  }

  .list-reservation {
    width: 240px;
  }

  .list-memo {
    width: calc(100% - 480px);
  }

  /* .add-profile */
  .add-profile {
    border: 0;
    box-shadow: none;
    padding: 80px 24px;
  }

  .add-profile .text-01 {
    font-size: 28px;
  }

  /* main */
  .main-wrap .title-wrap-01 .btn-more {
    top: -6px;
  }

  /* .class-ranking */
  .class-ranking ul {
    padding: 24px 16px;
  }

  .class-ranking ul>li+li {
    margin-top: 16px;
    padding-top: 16px;
  }

  .class-ranking .con {
    width: calc(100% - 110px);
  }

  .class-ranking .num {
    font-size: 16px;
    width: 30px;
  }

  .class-ranking .name {
    font-size: 16px;
  }

  /* .new-student */
  .new-student ul {
    padding: 16px;
  }

  .new-student ul>li {
    padding-left: 48px;
  }

  .new-student ul>li+li {
    margin-top: 10px;
    padding-top: 10px;
  }

  .new-student .img {
    top: 8px;
    width: 40px;
    height: 40px;
  }

  .new-student ul>li+li .img {
    top: 20px;
  }

  .modify-personal .box-white-01 {
    padding: 0;
  }

  .modify-personal .profile-basic {
    padding-bottom: 30px;
  }

  .modify-personal .btns-page-bottom {
    padding: 0 24px;
    margin: 0 0 40px;
  }

  /* .calculate-wrap */
  .calculate-wrap {
    padding: 24px 24px;
  }

  .calculate-wrap .select-class {
    top: 0;
    right: 24px;
  }

  .calculate-top>ul {
    flex-wrap: wrap;
  }

  .calculate-top>ul>li {
    width: 50%;
    padding: 24px;
  }

  .calculate-top .text-01 {
    position: relative;
    bottom: auto;
    left: auto;
    margin-top: 16px;
    font-size: 16px;
    line-height: 20px;
  }

  .calculate-top>ul>li+li:before {
    display: none;
  }

  .calculate-top>ul>li:first-child:before,
  .calculate-top>ul>li:first-child:after {
    content: '';
    position: absolute;
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.1);
  }

  .calculate-top>ul>li:first-child:before {
    right: 0;
    top: 24px;
    bottom: 24px;
    width: 1px;
  }

  .calculate-top>ul>li:first-child:after {
    left: 24px;
    bottom: 0;
    right: 24px;
    height: 1px;
  }

  /* .account-01 */
  .account-01 {
    padding-right: 110px;
  }

  /* table */
  .table-style-02.table-board colgroup {
    display: none;
  }

  .table-style-02.table-board th {
    padding: 5px;
  }

  .table-style-02.table-board td {
    padding: 16px 5px;
  }

  .table-style-02.table-board .mo-first {
    border-left: 1px solid #eee;
    border-radius: 4px 0 0 4px;
    padding-left: 8px;
  }

  .table-style-02.table-board .mo-last {
    border-right: 1px solid #eee;
    border-radius: 0 4px 4px 0;
  }

  /* .btns-page-bottom */
  .btns-page-bottom {
    margin-top: 24px;
  }

  /* .board-view */
  .board-view {
    padding: 24px 24px 48px;
  }

  .board-view-top .title {
    padding: 16px 0;
    font-size: 20px;
  }

  .board-view-top .info {
    padding-top: 24px;
  }

  .board-view-body {
    padding: 24px 0;
  }

  .board-view-body .board-view-con {
    min-height: 200px;
    font-size: 16px;
    line-height: 24px;
  }

  .board-view-body .list-download-01 {
    margin-top: 24px;
  }

  .board-view-answer {
    padding: 24px;
  }

  .board-view-answer .answer {
    font-size: 16px;
    line-height: 24px;
  }

  .board-view-answer .nodata {
    font-size: 16px;
  }

  .board-view-answer .list-download-01 {
    margin-top: 24px;
  }

  .board-view-answer .info {
    margin-top: 8px;
  }

  /* .board-write */
  .board-write .btns-page-bottom {
    padding: 0 24px 40px;
  }

  /* .modify-personal */
  .modify-personal .form-style-01>li+li {
    margin-top: 24px;
  }

  /* list */
  .list-select-01 .btn-toggle {
    padding: 13px 50px 13px 16px
  }

  .list-select-01 .btn-toggle:after {
    width: 48px;
    height: 48px;
  }

  .list-select-01>ul {
    top: 52px;
  }

  .list-select-01>ul .btn {
    padding: 13px 16px;
  }

  /* .paying-info-01 */
  .paying-info-01 .select-num {
    width: 180px;
  }

  .paying-info-01 .select-num .btn {
    width: 46px;
    height: 46px;
  }

  .paying-info-01 .select-num input[type=text] {
    width: calc(100% - 92px);
    line-height: 46px;
  }

  /* .logindata-wrap */
  .logindata-wrap .table-style-04 {
    max-width: calc(100% - 48px);
    margin: 0 auto;
  }

  .write-comment .box-white-01 {
    padding: 0;
  }

  /* .new-schedule-wrap */
  .new-schedule-wrap {
    flex-wrap: wrap;
  }

  .new-schedule-wrap .schedule-wrap {
    padding: 0;
    max-height: 100%;
  }

  .new-schedule-wrap .left {
    width: 100%;
  }

  .new-schedule-wrap .right {
    width: 100%;
    margin: 24px 0 0;
  }

  /* tab style */
  .tab-style-01 {
    height: calc(100vh - 194px);
  }

  .tab-style-01 .tab-head {
    padding-left: 1px;
  }

  .tab-style-01 .tab-head>li {
    width: calc(25% + 1px);
  }

  .tab-style-01 .tab-head>li:nth-of-type(n+5) {
    margin-top: -1px;
  }

  .tab-style-01 .tab-head .btn {
    line-height: 44px;
  }

  .tab-style-01 .tab-contents {
    top: 182px;
    bottom: 0;
  }

  .tab-style-01 .tab-con {
    padding: 20px;
  }

  .tab-style-02 {
    height: calc(100vh - 194px);
    padding-left: 100px;
  }

  .tab-style-02 .tab-head {
    width: 100px;
  }

  .tab-style-02 .tab-head .btn {
    padding-left: 20px;
  }

  .tab-style-02 .tab-contents {
    left: 100px;
  }

  .tab-style-02 .tab-con {
    padding: 20px;
  }
}

/* // (max-width:1024px) */
@media screen and (max-width:800px) {

  /* btn */
  .btn-blueline-01 {
    padding: 10px;
  }

  .btn-blackline-02 {
    padding: 12px;
  }

  .btn-black-02 {
    padding: 13px;
  }

  .btn-white-01 {
    padding: 10px;
    line-height: 20px;
  }

  .btn-white-02 {
    padding: 12px;
  }

  .btn-white-02.w104 {
    padding: 12px;
  }

  .btn-blue-01 {
    padding: 10px;
    line-height: 22px;
  }

  .btn-excel {
    padding: 10px 10px 10px 32px;
    line-height: 20px;
    background-position: 10px center;
  }

  /* form style */
  .form-style-01>li+li {
    margin-top: 24px;
  }

  .form-style-01 .form-title {
    width: 100%;
    min-height: 0;
    padding: 0 0 8px;
  }

  .form-style-01 .form-con {
    width: 100%;
    min-height: auto;
  }

  .form-style-01 .input-01 {
    max-width: 100%;
  }

  .form-style-02 {
    padding: 16px;
  }

  .form-style-02 .select-01 {
    line-height: 40px;
    height: 42px;
  }

  .form-style-02 .input-02 {
    line-height: 40px;
  }

  .form-style-02.class>li {
    width: 100% !important;
  }

  .form-style-02.class>li:nth-of-type(2n) {
    margin-left: 0;
  }

  .form-style-02.class>li+li {
    margin-top: 8px;
  }

  .form-style-02.sports .form-title {
    min-width: 80px !important;
  }

  .form-style-02.sports .form-con {
    width: calc(100% - 80px);
  }

  .form-style-02.calculate .form-title {
    min-width: 60px !important;
  }

  .form-style-02.calculate .form-con {
    width: calc(100% - 60px);
  }

  .form-style-02.inquiry .form-title {
    min-width: 60px !important;
  }

  .form-style-02.inquiry .form-con {
    width: calc(100% - 60px);
  }

  /* input */
  .input-01 {
    line-height: 40px;
  }

  .input-02 {
    padding: 0 8px;
  }

  .input-03 input {
    line-height: 42px;
    font-size: 16px;
  }

  .input-btn-set-01 .input-01 {
    width: calc(100% - 88px);
  }

  .input-btn-set-01 .btn {
    min-width: auto;
    width: 80px;
    padding: 9px;
  }

  .input-address-01 {
    flex-wrap: wrap;
  }

  .input-address-01 .address-01 {
    width: calc(100% - 88px);
  }

  .input-address-01 .address-02 {
    width: 100%;
    margin: 8px 0;
  }

  .input-address-01 .btn {
    min-width: auto;
    width: 80px;
    padding: 9px;
  }

  .input-career-01 .check-01 label {
    width: 80px;
    min-width: 0;
    padding: 11px 0;
  }

  .input-unit-01 input[type=text] {
    width: 80px;
  }

  .input-unit-01 .unit {
    line-height: 48px;
  }

  .input-unit-02 input[type=text] {
    width: 80px;
    padding-right: 48px;
  }

  .input-unit-02 .unit {
    line-height: 48px;
  }

  .input-bank-01 .select-01 {
    line-height: 40px;
    height: 42px;
  }

  .input-bank-01 .btn {
    padding: 12px;
  }

  .input-card-01 input {
    line-height: 40px;
  }

  .input-card-01 span {
    line-height: 40px;
  }

  .input-search-member .input-search {
    line-height: 40px;
  }

  /* datepicker */
  .datepicker-01 input {
    padding: 0 36px 0 8px;
    line-height: 40px;
  }

  .datepicker-01 label {
    width: 40px;
    height: 42px;
  }

  .datepicker-set-01 .datepicker-01 {
    width: calc(50% - 12px);
  }

  .datepicker-set-01 {
    flex-wrap: wrap;
  }

  .datepicker-set-01 .check-04 {
    margin-left: 0;
  }

  .datepicker-set-01>span {
    line-height: 42px;
  }

  .datepicker-radio-set-01 .datepicker-01 {
    width: calc(100% - 135px);
    max-width: 100%;
  }

  .datepicker-radio-set-01 .radio-01 label {
    width: 64px;
    min-width: 0;
  }

  /* radio */
  .radio-set-01 .radio-01 {
    width: 100%;
    height: 100%;
  }

  .radio-set-01 .radio-01 label {
    padding: 11px 14px;
  }

  .radio-set-01.radio-e4 .radio-01 label {
    min-width: 0;
    width: 100%;
    height: 100%;
    padding: 11px 5px;
  }

  .radio-set-01.radio-e4>li {
    width: 25%;
  }

  /* select */
  .select-01 {
    line-height: 40px;
    height: 42px;
  }

  .select-02 {
    line-height: 40px;
    height: 42px;
  }

  /* file */
  .file-02 .file-search label {
    padding: 10px;
  }

  .file-03 .file-search label {
    padding: 10px;
  }

  /* list */
  .list-style-01 .btn-blueline-04.btn-add {
    width: 40px;
    height: 40px;
    border: 1px solid #eee;
    text-indent: -9999px;
    overflow: hidden;
    background: #fff url(../images/ico_plus_02.svg) center no-repeat;
  }

  .list-lesson-01 .btn {
    font-size: 12px;
    padding: 3px 5px;
  }

  .list-lesson-01.list-lesson-toggle {
    width: 200px;
    padding: 12px;
  }

  .table-schedule-01 td:last-child .list-lesson-01.list-lesson-toggle {
    left: auto;
    right: 0;
  }

  .table-schedule-01 td:last-child .list-lesson-01.list-lesson-toggle:before {
    display: none;
  }

  .list-select-01 .btn-toggle {
    padding: 12px 50px 12px 16px;
  }

  .list-select-01 .btn-toggle:after {
    height: 46px;
    width: 48px;
  }

  .list-select-01>ul {
    top: 50px;
  }

  .list-select-01>ul .btn {
    padding: 12px 16px;
  }

  /* border */
  .board-top {
    position: relative;
  }

  .board-top .left {
    width: 100%;
  }

  .board-top .right {
    width: 100%;
    margin-top: 8px;
    justify-content: left;
    flex-wrap: wrap;
  }

  .board-top .right .btn {
    margin: 0 4px 4px 0;
  }

  /* accordion */
  .accordion-01 .btn-toggle .text-sub {
    width: 100%;
    margin-left: 0;
    line-height: 20px;
  }

  /* purchase */
  .purchase-01 ul {
    flex-wrap: wrap;
  }

  .purchase-01 ul>li {
    width: calc(50% - 4px);
    padding: 16px;
  }

  .purchase-01 ul>li:last-child {
    width: 100%;
    margin: 8px 0 0;
  }

  .purchase-01 .name {
    font-size: 16px;
  }

  .purchase-01 .text-sub {
    font-size: 14px;
  }

  .purchase-01 .con {
    margin-top: 16px;
    font-size: 18px;
  }

  .purchase-01 .name+.con {
    margin-top: 40px;
  }

  .purchase-02 .purchase-means-01 {
    padding: 16px 80px;
  }

  .purchase-02 .purchase-means-01:before {
    width: 50px;
    height: 50px;
    top: 50%;
    left: 16px;
    margin-top: -25px;
  }

  .purchase-02 .btn-delete-03 {
    top: 50%;
    right: 16px;
    margin-top: -12px;
  }

  .purchase-02 .purchase-means-02 {
    padding: 30px 30px 30px 80px;
  }

  .purchase-02 .purchase-means-02:before {
    width: 50px;
    height: 50px;
    top: 50%;
    left: 16px;
    margin-top: -25px;
  }

  .purchase-02 .purchase-means-02 .text-01 {
    font-size: 16px;
  }

  /* .schedule-wrap */
  .schedule-wrap {
    padding: 16px 16px 60px;
  }

  .schedule-wrap .select-class {
    position: relative;
    right: 0;
    width: 100%;
    min-width: 0;
    margin-bottom: 16px;
  }

  .schedule-wrap .btns-select .btn {
    font-size: 12px;
    line-height: 16px;
    padding: 12px 6px;
  }

  .schedule-wrap .schedule-time {
    width: auto;
    padding: 0 60px;
  }

  .schedule-wrap .schedule-time .num {
    font-size: 16px;
    line-height: 42px;
  }

  .schedule-wrap .schedule-time .btn {
    width: 42px;
    height: 42px;
    background-size: 8px;
  }

  .schedule-wrap.week .schedule-head {
    padding-bottom: 50px;
  }

  .schedule-wrap.week .schedule-time {
    width: 300px;
    padding: 0 50px;
  }

  .schedule-wrap.day .schedule-time {
    width: auto;
  }

  /* table */
  .table-schedule-01 thead th .day {
    font-size: 12px;
  }

  .table-schedule-01 thead th strong.num {
    font-size: 14px;
    margin-left: 4px;
  }

  .week .table-schedule-01 thead th {
    padding: 12px 3px;
    line-height: 18px;
  }

  /* popup */
  .popup-style-02 .popup-head {
    padding: 16px;
  }

  .popup-style-02 .popup-title {
    font-size: 20px;
  }

  .popup-style-02 .popup-head .btn-popup-close {
    top: 16px;
    right: 16px;
  }

  .popup-style-02 .popup-body {
    padding: 0 16px 16px;
  }

  .popup-style-03 .popup-box {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 0;
    transform: translate(0);
    width: 100%;
    max-width: 100%;
  }

  .popup-style-03 .popup-head {
    position: relative;
    display: block;
    padding: 0 40px;
  }

  .popup-style-03 .popup-head h3 {
    width: 100%;
    line-height: 48px;
    font-size: 18px;
    font-weight: 600;
  }

  .popup-style-03 .popup-head .btn-back {
    position: absolute;
    top: 8px;
    left: 10px;
    width: 32px;
    height: 32px;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../images/arr_04.svg) center no-repeat;
  }

  .popup-style-03 .popup-body {
    height: calc(100vh - 116px);
    padding: 52px 16px 24px;
    overflow-y: auto;
  }

  .popup-style-03 .popup-foot {
    padding: 0 10px 16px;
  }

  .popup-style-03 .popup-foot .btn-white-02 {
    width: 116px;
  }

  .popup-style-03 .popup-foot .btn-blue-02 {
    width: 100%;
  }

  .popup-style-03 .popup-foot .btn-white-02+.btn-blue-02 {
    width: calc(100% - 124px);
  }

  .popup-style-03 .text-01.bg-01 {
    padding-top: 126px;
  }

  .popup-style-03 .text-01.bg-01:before {
    width: 110px;
    height: 110px;
    background-size: 80px;
  }

  /* memberinfo-02 */
  .memberinfo-02 {
    flex-wrap: wrap;
  }

  .list-attend {
    width: 50%;
  }

  .list-reservation {
    width: 50%;
    border-right: 0;
  }

  .list-memo {
    width: 100%;
    border-top: 1px solid #ddd;
  }

  /* .add-profile */
  .add-profile .text-01 {
    font-size: 20px;
    line-height: 28px;
    padding-top: 124px;
  }

  .add-profile .text-01:before {
    width: 100px;
    height: 100px;
    background-size: 60px;
    margin-left: -50px;
  }

  .add-profile .text-02 {
    font-size: 14px;
    margin-bottom: 32px;
  }

  /* login */
  .login-box {
    width: calc(100% - 32px);
    max-width: 400px;
    height: auto;
    padding: 36px;
  }

  .login-box h2 {
    font-size: 24px;
    line-height: 36px;
  }

  .login-box .input-login {
    margin-top: 16px;
  }

  .login-box .check-login {
    margin: 24px 0;
  }

  .login-box .social-login .btn {
    background-size: 40px !important;
    padding-top: 50px;
    font-size: 12px;
  }

  /* main */
  .main-wrap {
    padding: 24px 16px 60px;
    overflow: hidden;
  }

  .main-top {
    flex-wrap: wrap;
  }

  .main-top .info {
    width: 100%;
  }

  .main-top ul {
    width: 100%;
    border-left: 0;
    border-top: 1px solid #414141;
    padding: 16px 16px 0;
  }

  .main-top ul>li {
    width: calc(50% - 8px);
  }

  .main-top ul>li:nth-of-type(2n) {
    margin-left: 16px;
  }

  .main-top ul .title {
    background-size: 16px !important;
    background-position: left 2px !important;
    font-size: 16px;
    line-height: 20px;
    padding-left: 24px;
  }

  /* .class-ranking */
  .class-ranking {
    width: 100%;
    margin-top: 32px;
  }

  /* .new-student */
  .new-student {
    width: 100%;
    margin-left: 0;
    margin-top: 32px;
  }

  /* .calculate-wrap */
  .calculate-wrap {
    padding: 24px 16px;
  }

  .calculate-wrap .select-class {
    position: relative;
    right: 0;
    margin-bottom: 16px;
  }

  .calculate-top>ul>li {
    padding: 16px 4px 16px 16px;
  }

  .calculate-top>ul>li:first-child:before {
    top: 16px;
    bottom: 16px;
  }

  .calculate-top>ul>li:first-child:after {
    left: 16px;
    right: 16px;
  }

  /* .board-view */
  .board-view-top {
    flex-wrap: wrap;
  }

  .board-view-top .title {
    width: 100%;
    padding: 16px 0 8px;
  }

  .board-view-top .info {
    width: 100%;
    padding: 0 0 8px;
    text-align: left;
    justify-content: left;
  }

  /* .board-write */
  .board-write .btns-page-bottom {
    padding: 0 16px 40px;
    margin-top: 0;
  }

  .board-write .select-02 {
    max-width: 100%;
  }

  /* .attend-wrap */
  .attend-box {
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0 16px 60px;
  }

  .attend-box .attend-text {
    width: 100%;
    height: 370px;
    background-position: center 40px;
    padding-top: 47px;
  }

  .attend-box .attend-text h1 img {
    width: 100px;
    vertical-align: top;
  }

  .attend-box .attend-key {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
  }

  .input-set-attend input[type=text] {
    width: 38px;
  }

  /* .password-box */
  .password-box {
    padding: 32px;
  }

  .password-box h3 {
    font-size: 28px;
    line-height: 40px;
  }

  /* .profile-view */
  .profile-view .box-white-01 {
    padding: 30px 16px;
  }

  /* .paying-info-01 */
  .paying-info-01 .select-num input[type=text] {
    line-height: 40px;
  }

  .paying-info-01 .select-num .btn {
    height: 40px;
  }

  /* .logindata-wrap */
  .logindata-wrap .text-guide {
    padding-top: 0;
  }

}

/* // (max-width:800px) */
@media screen and (min-width:601px) {

  /* radio */
  .radio-set-01.radio-university label br {
    display: none;
  }
}

/* // (min-width:601px) */
@media screen and (max-width:600px) {
  /* btn */
  /* .btn-white-01 {padding:13px 8px;}
    .btn-blueline-01 {padding:13px 8px;}
    .btn-excel {padding:13px 8px 13px 30px;background-position:8px center;} */

  /* form */
  .form-style-02 {
    width: calc(100% - 32px);
  }

  .form-bottom-01 {
    width: calc(100% - 32px);
  }

  /* radio */
  .radio-02 label {
    padding-left: 24px;
  }

  .radio-02 label:before {
    width: 20px;
    height: 20px;
    top: 2px;
  }

  .radio-02 input[type=radio]:checked+label:after {
    top: 6px;
    left: 4px;
    width: 12px;
    height: 12px;
  }

  .radio-set-01 .radio-01 label {
    min-width: 0;
  }

  .radio-set-05 .radio-01 label {
    min-width: 0;
  }

  .radio-set-05 .radio-01:first-child {
    width: 36%;
  }

  .radio-set-05 .radio-01:last-child {
    width: calc(64% - 8px);
  }

  /* datepicker */
  .form-style-02.sports .datepicker-set-01 {
    flex-wrap: wrap;
  }

  .form-style-02.sports .datepicker-set-01 .datepicker-01:first-child {
    width: 100%;
    margin-bottom: 4px;
  }

  .form-style-02.sports .datepicker-set-01 .datepicker-01:last-child {
    width: calc(100% - 20px);
  }

  .form-style-02.calculate .datepicker-set-01 {
    flex-wrap: wrap;
  }

  .form-style-02.calculate .datepicker-set-01 .datepicker-01 {
    width: calc(100% - 20px);
  }

  .form-style-02.calculate .datepicker-set-01 .datepicker-01:first-child {
    width: 100%;
    margin-bottom: 4px;
  }

  .form-style-02.inquiry .datepicker-set-01 {
    flex-wrap: wrap;
  }

  .form-style-02.inquiry .datepicker-set-01 .datepicker-01:first-child {
    width: 100%;
    margin-bottom: 4px;
  }

  .form-style-02.inquiry .datepicker-set-01 .datepicker-01:last-child {
    width: calc(100% - 20px);
  }

  .form-style-02.notice .datepicker-set-01 {
    flex-wrap: wrap;
  }

  .form-style-02.notice .datepicker-set-01 .datepicker-01:first-child {
    width: 100%;
    margin-bottom: 4px;
  }

  .form-style-02.notice .datepicker-set-01 .datepicker-01:last-child {
    width: calc(100% - 20px);
  }

  /* flip */
  .flip-01 .flip-step {
    right: 16px;
  }

  .flip-01 .flip-step .num {
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 12px;
  }

  .flip-01 .flip-title {
    padding: 16px 150px 26px 16px;
    word-break: keep-all;
  }

  /* profile */
  .profile-basic {
    padding: 8px 16px 80px;
  }

  .profile-sports {
    padding: 8px 16px 80px;
  }

  .profile-view .list-info-01>ul>li {
    display: flex;
    width: 100%;
  }

  .list-info-01>ul .title {
    width: 80px;
  }

  .list-info-01 ul .con {
    width: calc(100% - 80px);
    margin: 0;
  }

  /* accordion */
  .accordion-01 .btn-toggle {
    padding: 12px 16px;
  }

  .accordion-01 .accordion-con {
    padding: 0 16px 16px;
  }


  /* paying */
  .paying-info-01 .paying-select-01 {
    padding-right: 0;
  }

  .paying-info-01 .select-num {
    position: relative;
    width: 100%;
    margin-top: 8px;
  }

  .paying-summary .btns-bottom .btn-white-03 {
    padding: 16px 8px;
    width: 90px;
  }

  .paying-summary .btns-bottom .btn-blue-03 {
    width: calc(100% - 98px);
  }

  .contents-body.contents-paying .paying-02 {
    padding: 0 16px 20px;
  }

  .paying-summary .final .price {
    font-size: 18px;
  }

  .paying-summary li>ul {
    margin: 0 0 16px;
  }

  /* purchase */
  .purchase-01 ul>li {
    width: 100% !important
  }

  .purchase-01 ul>li+li {
    margin: 8px 0 0;
  }

  .purchase-01 .btns-bottom {
    flex-wrap: wrap;
    margin-bottom: -8px;
  }

  .purchase-01 .btns-bottom .btn {
    margin-bottom: 8px;
  }

  .purchase-01 .btns-bottom .btn-cancel {
    position: relative;
  }

  /* title */
  .title-wrap-01 {
    flex-wrap: wrap;
  }

  .title-wrap-01 .text-01 {
    width: 100%;
    margin: -8px 0 24px;
  }

  /* list */
  .list-style-02 .box-item {
    padding: 16px 16px 0;
  }

  .list-style-02 .box-bottom {
    padding: 12px 16px 16px;
  }

  .list-style-02 .check-02 {
    bottom: 16px;
  }

  .list-lesson-01 .btn {
    font-size: 10px;
    padding: 3px;
  }

  .list-lesson-01 .time {
    display: block;
  }

  .list-lesson-01 .title {
    margin: 2px 0 0;
  }

  .list-lesson-01.list-lesson-toggle {
    padding: 6px;
    width: 160px;
  }

  .list-download-01>li {
    width: 100%;
    margin: 0 0 8px;
  }

  /* box */
  .box-white-01 {
    padding: 20px 16px;
  }

  .box-white-01+.box-white-01 {
    margin-top: 16px;
  }

  /* board */
  .board-top {
    width: calc(100% - 32px)
  }

  /* table */
  .table-style-02 {
    padding: 0 16px 20px;
  }

  .table-schedule-01 th {
    font-size: 12px;
  }

  .table-schedule-01 .num span {
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 12px;
  }

  .table-schedule-01 td {
    padding: 6px 3px;
  }

  .table-schedule-01 .btn-toggle {
    font-size: 12px;
    padding-left: 0;
  }

  .table-schedule-01 .box-lesson {
    min-height: 60px;
  }

  .table-schedule-01 thead th .day {
    font-size: 10px;
  }

  .table-schedule-01 thead th strong.num {
    font-size: 12px;
  }

  .table-schedule-01 tbody th {
    padding: 6px;
  }

  .table-schedule-01 thead th .day span {
    display: none;
  }

  .week .table-schedule-01 thead th {
    padding: 6px;
  }

  /* schedule */
  .schedule-wrap .schedule-head {
    padding-bottom: 50px;
    margin-bottom: 8px;
  }

  .schedule-wrap .schedule-time {
    top: auto;
    bottom: 0;
  }

  /* memberinfo */
  .memberinfo-01 .img-profile {
    width: 80px;
  }

  .list-info-01 {
    width: calc(100% - 96px);
    margin-left: 16px;
  }

  .list-info-01 .info-top .name {
    font-size: 20px;
  }

  .list-info-01 ul .con {
    font-size: 16px;
    line-height: 20px;
  }

  .list-attend {
    width: 100%;
  }

  .list-reservation {
    width: 100%;
    border-top: 1px solid #ddd;
    border-left: 0;
  }

  /* login */
  .login-box {
    padding: 24px;
  }

  .login-box .check-login {
    flex-wrap: wrap;
  }

  .login-box .social-login {
    margin-top: 32px;
  }

  .login-box .social-login .btn {
    word-break: keep-all;
    line-height: 18px;
  }

  /* paging */
  .paging-01 .btn {
    width: 24px;
    height: 24px;
    line-height: 24px;
  }

  .paging-01 .btn:before,
  .paging-01 .btn:after {
    width: 22px;
    height: 22px;
    background-size: 16px !important;
  }

  /* .attend-wrap */
  .attend-box .attend-text {
    height: 190px;
    background-size: 200px;
    background-position: center 16px;
  }

  .attend-box .attend-text h1 img {
    width: 68px;
  }

  .attend-box .attend-text .text-wrap .text-01 {
    line-height: 25px;
    font-size: 20px;
    margin-top: 16px;
  }

  .attend-box .attend-text .text-wrap .text-02 {
    line-height: 16px;
    font-size: 14px;
    margin-top: 8px;
  }

  .input-set-attend input[type=text] {
    width: 32px;
  }

  /* .logindata-wrap */
  .logindata-wrap .table-style-04 {
    max-width: calc(100% - 32px);
  }

}

/* // (max-width:600px) */
@media screen and (max-width:400px) {
  .table-schedule-01 thead th strong.num {
    display: inline-block;
    margin: 0;
    width: 100%;
    vertical-align: top;
    text-align: center;
  }
}

/* // (max-width:400px) */