/* ---------- S: SubVisual ---------- */
.sub-visual {
  width: 100%;
  height: 357px;
}

.sub-visual-container {
  display: flex;
  align-items: end;
  max-width: 1470px;
  width: 100%;
  height: 100%;
  padding: 0 15px;
  margin: 0 auto;
  background-color: #fff;
}

.sub-visual-inner {
  padding-bottom: 95px;  
}

.sub-visual-title {
  margin-bottom: 5px;
  font-size: 6.4rem;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.sub-visual-txt {
  font-size: 2.8rem;
  letter-spacing: -0.025em;
}

.sub-visual-txt p {
  opacity: 0;
  transform: translateY(100%);
}

.sub-visual.aos-animate .sub-visual-txt p {
  opacity: 0;
  animation: subVisualTxt .75s ease forwards;
  animation-delay: .3s;
}

@keyframes subVisualTxt {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  
  98% {
    opacity: 0.9;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media(max-width:1200px) {
  .sub-visual {
    height: 320px;
  }
  
  .sub-visual-inner {
    padding-bottom: 85px;  
  }
  
  .sub-visual-title {
    font-size: 5.6rem;
  }
  
  .sub-visual-txt {
    font-size: 2.4rem;
  }
}

@media(max-width:1024px) {
  .sub-visual {
    height: 285px;
  }
  
  .sub-visual-inner {
    padding-bottom: 75px;  
  }
  
  .sub-visual-title {
    font-size: 4.8rem;
  }
  
  .sub-visual-txt {
    font-size: 2.2rem;
  }
}

@media(max-width:768px) {
  .sub-visual {
    height: 250px;
  }
  
  .sub-visual-inner {
    padding-bottom: 65px;  
  }
  
  .sub-visual-title {
    font-size: 4rem;
  }
  
  .sub-visual-txt {
    font-size: 2rem;
  }
}

@media(max-width:500px) {
  .sub-visual {
    height: 210px;
  }
  
    
  .sub-visual-inner {
    padding-bottom: 55px;  
  }
  
  .sub-visual-title {
    font-size: 3.2rem;
  }
  
  .sub-visual-txt {
    font-size: 1.8rem;
  }
}
/* ---------- E: SubVisual ---------- */

/* ---------- S: Common ---------- */
.sub-tab {
  width: 100%;
  background-color: #f5f5f5;
}

.sub-tab .tab-container {
  max-width: 1470px;
  width: 100%;
  padding: 0 15px;
  margin: 0 auto;
} 

.sub-tab .tab-inner {
  display: flex;
  align-items: end;
  width: 100%;
}

.sub-tab .tab-item {
  position: relative;
  width: 25%;
  height: 70px;
  font-size: 2rem;
  letter-spacing: -0.025em;
  font-weight: 400;
  line-height: 1.6;
}

.sub-tab .tab-item::after {
  content: "";
  display: none;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #182987;
}

.sub-tab .tab-item.on {
  font-weight: 700;
  color: #182987;
}

.sub-tab .tab-item.on::after {
  display: block;
}

.sub-tab .tab-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.sec {
  padding: 120px 0;
}

.sec01 {
  padding: 0;
  position: relative;
  min-height: 600px;
  overflow: hidden;
}

.sec01 .bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.sec01 .bg img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.08);
  width: auto;
  height: 100%;
  transition: all .85s linear;
}

.sec01.aos-animate .bg img {
  transform: translate(-50%, -50%) scale(1);
}

@media(max-width:1200px) {
  .sub-tab .tab-item {
    height: 65px;
    font-size: 1.8rem;
  }
  
  .sub-tab .tab-item::after {
    height: 4px;
  }
  
  .sec {
    padding: 100px 0;
  }
  
  .sec01 {
    min-height: 500px;
  }
}

@media(max-width:1024px) {
  .sub-tab .tab-item {
    height: 60px;
    font-size: 1.6rem;
  }
  
  .sub-tab .tab-item::after {
    height: 3px;
  }
  
  .sec {
    padding: 90px 0;
  }
  
  .sec01 {
    min-height: 450px;
  }
}

@media(max-width:768px) {
  .sub-tab .tab-item {
    height: 55px;
    font-size: 1.4rem;
  }
  
  .sub-tab .tab-item::after {
    height: 2px;
  }
  
  .sec {
    padding: 80px 0;
  }
  
  .sec01 {
    aspect-ratio: 2 / 1;
    min-height: auto;
  }
}

@media(max-width:500px) {
  .sub-tab .tab-item {
    width: 50%;
    height: 50px;
    font-size: 1.3rem;
  }
  
  .sec {
    padding: 70px 0;
  }
  
  .sec01 {
    /* min-height: 350px; */
  }
}
/* ---------- E: Common ---------- */

/* ---------- S: Company ---------- */
.company .sec02 {
  padding-bottom: 150px;
}

.company .sec02 .heading {
  display: flex;
  align-items: center;
  gap: 0 24px;
  margin: -9px 0 69px;
}

.company .sec02 .heading h3 {
  width: 830px;
  font-size: 5.8rem;
  font-weight: 700;
  line-height: 1.24;
}

.company .sec02 .heading .line {
  max-width: calc(100% - 854px);
  width: 0;
  height: 2px;
  background-color: #dcdcdc;
  transition: width 1s linear;
  transition-delay: .2s;
}

.company .sec02 .heading.aos-animate .line {
  width: 100%;
}

.company .sec02 .area {
  display: flex;
  align-items: start;
  gap: 0 82px;
}

.company .sec02 .area .lt {
  position: relative;
  width: 464px;
  aspect-ratio: 2.32 / 1;
  border-radius: 100px;
  overflow: hidden;
}

.company .sec02 .area .lt img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.company .sec02 .area .rt {
  width: calc(100% - 546px);
  margin-top: -7px;
}

.company .sec02 .area .rt p {
  margin-bottom: 38px;
  font-size: 2.4rem;
  line-height: 1.58;
  letter-spacing: -0.027em;
}

.company .sec02 .area .rt h4 {
  position: relative;
  width: fit-content;
  margin-top: -2px;
  padding-bottom: 4px;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: -0.027em;
}

.company .sec02 .area .rt h4::after {
  content: "";
  display: block;
  position: absolute;
  left: -9px;
  bottom: 0;
  z-index: -1;
  width: 0;
  height: 20px;
  background-color: #7fcdf1;
  transition: all .6s ease-out;
}

.company .sec02 .rt h4.aos-animate::after {
  width: calc(100% + 22px);
}

  
.company .sec02 .area .rt h4 br {
  display: none;
}

@media(max-width:1200px) {
  .company .sec02 {
    padding-bottom: 130px;
  }
  
  .company .sec02 .heading {
    gap: 0 20px;
    margin: -8px 0 60px;
  }
  
  .company .sec02 .heading h3 {
    width: 680px;
    font-size: 5rem;
  }
  
  .company .sec02 .heading .line {
    max-width: calc(100% - 680px);
    height: 2px;
  }
  
  .company .sec02 .area {
    gap: 0 70px;
  }
  
  .company .sec02 .area .lt {
    width: 425px;
  }
  
  .company .sec02 .area .rt {
    width: calc(100% - 495px);
    margin-top: -6px;
  }
  
  .company .sec02 .area .rt p {
    margin-bottom: 35px;
    font-size: 2.2rem;
  }
  
  .company .sec02 .area .rt p br {
    display: none;
  }
  
  .company .sec02 .area .rt h4 {
    margin-top: -2px;
    padding-bottom: 4px;
    font-size: 2.8rem;
  }
  
  .company .sec02 .area .rt h4::after {
    left: -7px;
    height: 18px;
    transition: all .5s linear;
  }
  
  .company .sec02 .rt h4.aos-animate::after {
    width: calc(100% + 16px);
  }
}

@media(max-width:1024px) {
  .company .sec02 {
    padding-bottom: 110px;
  }
  
  .company .sec02 .heading {
    gap: 0 18px;
    margin: -7px 0 50px;
  }
  
  .company .sec02 .heading h3 {
    width: 550px;
    font-size: 4.2rem;
  }
  
  .company .sec02 .heading .line {
    max-width: calc(100% - 568px);
  }
  
  .company .sec02 .area {
    flex-direction: column;
    align-items: start;
    gap: 40px 0;
  }
  
  .company .sec02 .area .lt {
    width: 400px;
  }
  
  .company .sec02 .area .rt {
    width: 100%;
    margin-top: -5px;
  }
  
  .company .sec02 .area .rt p {
    margin-bottom: 30px;
    font-size: 2rem;
  }
  
  .company .sec02 .area .rt h4 {
    margin-top: -1px;
    padding-bottom: 4px;
    font-size: 2.4rem;
  }
  
  .company .sec02 .area .rt h4::after {
    left: -6px;
    height: 15px;
    transition: all .45s linear;
  }
  
  .company .sec02 .rt h4.aos-animate::after {
    width: calc(100% + 14px);
  }
}

@media(max-width:768px) {
  .company .sec02 {
    padding-bottom: 90px;
  }
  
  .company .sec02 .heading {
    gap: 0 15px;
    margin: -6px 0 45px;
  }
  
  .company .sec02 .heading h3 {
    width: 315px;
    font-size: 3.4rem;
  }
  
  .company .sec02 .heading .line {
    max-width: calc(100% - 330px);
  }
  
  .company .sec02 .area {
    flex-direction: column;
    align-items: start;
    gap: 40px 0;
  }
  
  .company .sec02 .area .lt {
    width: 400px;
  }
  
  .company .sec02 .area .rt {
    width: 100%;
    margin-top: 0;
  }
  
  .company .sec02 .area .rt p {
    margin-bottom: 25px;
    font-size: 1.8rem;
  }
  
  .company .sec02 .area .rt h4 {
    margin-top: -1px;
    padding-bottom: 4px;
    font-size: 2.2rem;
  }
  
  .company .sec02 .area .rt h4::after {
    left: -6px;
    height: 15px;
    transition: all .4s linear;
  }
  
  .company .sec02 .rt h4.aos-animate::after {
    width: calc(100% + 14px);
  }

}

@media(max-width:500px) {
  .company .sec02 {
    padding-bottom: 80px;
  }
  
  .company .sec02 .heading {
    gap: 0 10px;
    margin: -4px 0 40px;
  }
  
  .company .sec02 .heading h3 {
    width: 235px;
    font-size: 2.6rem;
  }
  
  .company .sec02 .heading .line {
    max-width: calc(100% - 245px);
  }
  
  .company .sec02 .area {
    gap: 30px 0;
  }
  
  .company .sec02 .area .lt {
    max-width: 340px;
    width: 100%;
  }
  
  .company .sec02 .area .rt p {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }
  
  .company .sec02 .area .rt h4 {
    padding-bottom: 3px;
    font-size: 2rem;
  }
  
  .company .sec02 .area .rt h4::after {
    left: -5px;
    height: 10px;
    transition: all .35s linear;
  }
  
  .company .sec02 .rt h4.aos-animate::after {
    width: calc(100% + 12px);
  }
}

@media(max-width:460px) {
  .company .sec02 .area .rt h4 br {
    display: block;
  }
}
/* ---------- E: Company ---------- */

/* ---------- S: Identity ---------- */
.identity .sec-tit {
  margin-top: -5px;
  margin-bottom: 80px;
  font-size: 3.2rem;
  letter-spacing: -0.025em;
  font-weight: 700;
}

.identity .sec03 .sec-tit {
  line-height: 1;
}

.identity .sec-tit p {
  margin-bottom: 25px;
}

.identity .sec-tit .line {
  display: block;
  width: 342px;
  height: 2px;
  background-color: #dcdcdc;
}

.identity .block {
  margin-bottom: 60px;
}

.identity .block:last-of-type {
  margin-bottom: 0;
}

.identity .sec02 {
  overflow: hidden;
}

.identity .sec02 .block01 {
  position: relative;
  padding: 217px 0;
}

.identity .sec02 .block01::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  width: 100vw;
  height: 100%;
  background-color: #f5f5f5;
}

.identity .sec02 .block01 .logo {
  position: relative;
  width: 815px;
  margin: 0 auto;
  aspect-ratio: 4.909 / 1;
  overflow: hidden;
}

.identity .sec02 .block01 .logo .div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.identity .sec02 .block02 {
  display: flex;
  align-items: start;
  gap: 0 24px;
}

.identity .sec02 .block02 > div {
  width: 50%;
}

.identity .sec02 .block02 .tit {
  margin-top: -5px;
  margin-bottom: 9px;
  font-size: 2.4rem;
  letter-spacing: -0.025em;
  font-weight: 600;
  color: #182987;
}

.identity .sec02 .block02 .txt p {
  margin-bottom: -5px;
  font-size: 2rem;
  letter-spacing: -0.025em;
  line-height: 1.6;
  font-weight: 300;
}

.identity .sec02 .block02 ul {
  display: flex;
  align-items: start;
  gap: 0 113px;
  margin-top: 16px;
}

.identity .sec02 .block02 ul li {
  display: flex;
  align-items: center;
  gap: 0 20px;
}

.identity .sec02 .block02 ul li span {
  position: relative;
  display: block;
  width: 75px;
  height: 75px;
  border-radius: 50%;
  overflow: hidden;
}

.identity .sec02 .block02 ul li span img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.identity .sec02 .block02 ul li p {
  font-size: 2rem;
  letter-spacing: -0.025em;
}

.identity .sec03 {
  padding-top: 0;
}

.identity .sec03 .block {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 400px;
  border: 1px solid #bfbfbf;
}

.identity .sec03 .block01 {
  border-color: #182987;
  background-color: #182987;
}

.identity .sec03 .block .img {
  position: relative;
  width: 500px;
  aspect-ratio: 5 / 1;
  overflow: hidden;
}

.identity .sec03 .block .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media(max-width:1200px) {
  .identity .sec-tit {
    margin-top: -4px;
    margin-bottom: 70px;
    font-size: 2.8rem;
  }
  
  .identity .sec-tit p {
    margin-bottom: 20px;
  }
  
  .identity .sec-tit .line {
    width: 310px;
  }
  
  .identity .block {
    margin-bottom: 50px;
  }
  
  .identity .sec02 .block01 {
    padding: 200px 0;
  }
  
  .identity .sec02 .block01 .logo {
    width: 700px;
  }
  
  .identity .sec02 .block02 {
    gap: 0 20px;
  }

  .identity .sec02 .block02 .tit {
    margin-top: -4px;
    font-size: 2.2rem;
  }
  
  .identity .sec02 .block02 .txt p {
    margin-bottom: -4px;
    font-size: 1.8rem;
  }
  
  .identity .sec02 .block02 ul {
    gap: 0 100px;
  }
  
  .identity .sec02 .block02 ul li {
    gap: 0 18px;
  }
  
  .identity .sec02 .block02 ul li span {
    width: 65px;
    height: 65px;
  }
  
  .identity .sec02 .block02 ul li p {
    font-size: 1.8rem;
  }
  
  .identity .sec03 .block {
    height: 350px;
  }
  
  .identity .sec03 .block .img {
    width: 440px;
  }
}

@media(max-width:1024px) {
  .identity .sec-tit {
    margin-top: -3px;
    margin-bottom: 60px;
    font-size: 2.4rem;
  }
  
  .identity .sec-tit p {
    margin-bottom: 18px;
  }
  
  .identity .sec-tit .line {
    width: 280px;
  }
  
  .identity .block {
    margin-bottom: 45px;
  }
  
  .identity .sec02 .block01 {
    padding: 180px 0;
  }
  
  .identity .sec02 .block01 .logo {
    width: 585px;
  }
  
  .identity .sec02 .block02 {
    gap: 0 15px;
  }
  
  .identity .sec02 .block02 .tit {
    margin-top: -3px;
    margin-bottom: 8px;
    font-size: 2rem;
  }
  
  .identity .sec02 .block02 .txt p {
    margin-bottom: -3px;
    font-size: 1.6rem;
    margin-top: 14px;
  }
  
  .identity .sec02 .block02 ul {
    gap: 0 80px;
  }
  
  .identity .sec02 .block02 ul li {
    gap: 0 15px;
  }
  
  .identity .sec02 .block02 ul li span {
    width: 55px;
    height: 55px;
  }
  
  .identity .sec02 .block02 ul li p {
    font-size: 1.6rem;
  }
  
  .identity .sec03 .block {
    height: 300px;
  }
  
  .identity .sec03 .block .img {
    width: 380px;
  }
}

@media(max-width:768px) {
  .identity .sec-tit {
    margin-top: -2px;
    margin-bottom: 50px;
    font-size: 2.2rem;
  }
  
  .identity .sec-tit p {
    margin-bottom: 15px;
  }
  
  .identity .sec-tit .line {
    width: 250px;
  }
  
  .identity .block {
    margin-bottom: 40px;
  }
  
  .identity .sec02 .block01 {
    padding: 160px 0;
  }
  
  .identity .sec02 .block01 .logo {
    width: 470px;
  }
  
  .identity .sec02 .block02 {
    gap: 0 12px;
  }

  .identity .sec02 .block02 .tit {
    margin-top: -2px;
    font-size: 1.8rem;
  }
  
  .identity .sec02 .block02 .txt p {
    margin-bottom: -2px;
    font-size: 1.4rem;
  }
  
  .identity .sec02 .block02 ul {
    gap: 0 60px;
  }
  
  .identity .sec02 .block02 ul li {
    gap: 0 12px;
  }
  
  .identity .sec02 .block02 ul li span {
    width: 45px;
    height: 45px;
  }
  
  .identity .sec02 .block02 ul li p {
    font-size: 1.4rem;
  }
  
  .identity .sec03 .block {
    height: 250px;
  }
  
  .identity .sec03 .block .img {
    width: 320px;
  }
}

@media(max-width:630px) {
  .identity .sec02 .block02 {
    flex-direction: column;
    align-items: start;
    gap: 25px 0;
  }
  
  .identity .sec02 .block02 .txt p br:nth-of-type(2) {
    display: none;
  }
  
  .identity .sec02 .block02 > div {
    width: 100%;
  }
}

@media(max-width:500px) {
  .identity .sec-tit {
    margin-top: -1px;
    margin-bottom: 45px;
    font-size: 2rem;
  }
  
  .identity .sec-tit p {
    margin-bottom: 12px;
  }
  
  .identity .sec-tit .line {
    width: 220px;
  }
  
  .identity .block {
    margin-bottom: 35px;
  }
  
  .identity .sec02 .block01 {
    padding: 140px 0;
  }
  
  .identity .sec02 .block01 .logo {
    max-width: 340px;
    width: 100%;
  }
  
  .identity .sec02 .block02 {
    gap: 20px 0;
  }

  .identity .sec02 .block02 .tit {
    margin-top: -1px;
    font-size: 1.6rem;
  }
  
  .identity .sec02 .block02 .txt p {
    margin-bottom: -1px;
    font-size: 1.3rem;
  }
  
  .identity .sec02 .block02 ul {
    gap: 0 50px;
    margin-top: 10px;
  }
  
  .identity .sec02 .block02 ul li {
    gap: 0 10px;
  }
  
  .identity .sec02 .block02 ul li span {
    width: 40px;
    height: 40px;
  }
  
  .identity .sec02 .block02 ul li p {
    font-size: 1.3rem;
  }
  
  .identity .sec03 .block {
    height: 200px;
  }
  
  .identity .sec03 .block .img {
    width: 240px;
  }
}
/* ---------- E: Identity ---------- */

/* ---------- S: History ---------- */
.history .sec01 {
  padding: 150px 0 154px;
}

.history .sec01 .bg img {
  transform: translate(-50%, -50%) scale(1);
}

.history .sec01 .container {
  display: flex;
  align-items: center;
}

.history .sec01 .container > div {
  width: 50%;
}

.history .sec01 .lt h3 {
  font-size: 5.8rem;
  font-weight: 700;
  color: #fff;
}

.history .sec01 .rt h4 {
  position: relative;
  margin-bottom: 40px;
  font-size: 3.2rem;
  letter-spacing: -0.025em;
  font-weight: 700;
  color: #fff;
} 

.history .sec01 .rt h4::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -9px;
  z-index: -1;
  max-width: 263px;
  width: 0;
  height: 15px;
  background-color: #009be3;
  transition: width .9s linear;
  transition-delay: .35s;
}

.history .sec01 .rt.aos-animate h4::after {
  width: calc(100% + 5px);
}

.history .sec01 .rt .txt {
  margin-bottom: 39px;
  font-size: 2.4rem;
  letter-spacing: -0.025em;
  line-height: 1.58;
  color: #fff;
}

.history .sec01 .rt .txt:last-of-type {
  margin-bottom: -10px;
}

.history .sec01 .rt .txt span {
  font-weight: 700;
}

.history .sec02 {
  background-position:  center bottom -15px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url('/child/img/sub/company/history/bg.png');
}


.history .sec02 .year-tab {
  position: relative;
  top: 0;
  left: 50%;
  z-index: 3;
  transform: translateX(-50%);
  width: 100%;
  transition: all .3s ease-out;
  overflow: hidden;
}

.history .sec02 ._fixed .year-tab {
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
}

.history .sec02 ._fixed.down .year-tab {
  position: fixed;
  top: 100px;
}

.history .sec02 .year-tab ul {
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 0 24px;
  width: 100%;
  overflow: auto;
}

.history .sec02 .year-tab ul li {
  /* min-width: 160px; */
  width: 220px;
  height: 50px;
  border-radius: 25px;
  overflow: hidden;
}

.history .sec02 .year-tab ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1.3;
  font-size: 2.4rem;
  letter-spacing: -0.025em;
  color: #8c8c8c;
  background-color: #f5f5f5;
}

.history .sec02 .year-tab ul li.on a {
  background-color: #182987;
  color: #fff;
  font-weight: 700;
} 

.history .sec02 .change-year, 
.history .sec02 .mo-year {
  font-size: 6.4rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #182987;
}

.history .sec02 .change-year {
  position: absolute;
  left: 0;
  width: 100%;
  transition: top 0.4s ease-out;
}

.history .sec02 ._fixed .change-year  {
  position: fixed;
  /* top: 270px; */
  top: 22rem;
  left: 0;
}

.change-year .box {
  display: flex;
  align-items: center;
  max-width: 1470px;
  width: 100%;
  padding: 0 15px;
  margin: 90px auto 0;
}

.history .sec02 .item {
  display: flex;
  align-items: start;
  justify-content: end;
  padding: 102px 0 96px;
  border-top: 2px solid #dcdcdc;
  opacity: 0.3;
  transition: opacity .3s ease;
}

.history .sec02 .item.on {
  opacity: 1;
}

.history .sec02 .item:first-of-type {
  border-top: none;
}

.history .sec02 .item:last-of-type {
  padding-bottom: 80px;
}

.history .sec02 .item .mo-year {
  display: none;
  max-width: 486px;
  width: 33.75%;
  line-height: 1;
}

.history .sec02 .item ul {
  max-width: 954px;
  width: 66.25%;
}

.history .sec02 .item li {
  display: flex;
  align-items: start;
  margin-bottom: 44px;
}

.history .sec02 .item li:last-of-type {
  margin-bottom: 0;
}

.history .sec02 .item li .month {
  width: 120px;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #182987;
}

.history .sec02 .item li .conBox {
  width: calc(100% - 120px);
}

.history .sec02 .item li .conBox p {
  margin-bottom: 14px;
  font-size: 2.4rem;
  letter-spacing: -0.025em;
  line-height: 1.5;
}

.history .sec02 .item li .conBox p:last-of-type {
  margin-bottom: 0;
}


@media(min-width:1020px)and (min-height: 1250px) {
  .history .year-tab {
    display: none;
  }
  
  .history .change-year {
    display: none;
  }
  
  .history .sec02 .item  {
    display: flex;
    align-items: start;
    justify-content: space-between;
    position: relative;
  }
  
  .history .sec02 .item:first-of-type {
    padding-top: 0;
  }
  
  .history .sec02 .item .mo-year {
    display: block;
  }
  
  .history .sec02 {
    padding-bottom: 150px;
  }
}

@media(min-width:740px)and (min-height: 1000px) {
  .history .sec02 {
    padding-bottom: 120px;
  }
  
  .history .sec02 .item:last-of-type {
    padding-bottom: 80px;
  }
}

@media(max-width:1500px) {
  .history .sec02 ._fixed .change-year  {
    top: 180px;
  }
}

@media(max-width:1200px) {
  .history .sec01 {
    padding: 130px 0 135px;
  }
  
  .history .sec01 .lt h3 {
    font-size: 5rem;
  }
  
  .history .sec01 .rt h4 {
    width: fit-content;
    margin-bottom: 35px;
    font-size: 2.8rem;
  } 
  
  .history .sec01 .rt h4::after {
    left: -8px;
    height: 15px;
    transition: width .7s linear;
  }
  
  .history .sec01 .rt.aos-animate h4::after {
    width: calc(100% + 16px);
  }
  
  .history .sec01 .rt .txt {
    margin-bottom: 35px;
    font-size: 2.2rem;
  }
  
  .history .sec01 .rt .txt br {
    display: none;
  }
  
  .history .sec01 .rt .txt:last-of-type {
    margin-bottom: 0;
  }

  
  .history .sec02 ._fixed.down .year-tab {
    top: 66px;
  }
  
  .history .sec02 .year-tab ul {
    gap: 0 20px;
  }

  .history .sec02 .year-tab ul li {
    min-width: 120px;
    width: 200px;
    height: 45px;
    border-radius: 23px;
  }

  .history .sec02 .year-tab ul li a {
    font-size: 2.2rem;
  }

  .history .sec02 .change-year, 
  .history .sec02 .mo-year {
    font-size: 5.6rem;
  }
  
  .history .sec02 .item {
    padding: 90px 0;
  }
  
  .history .sec02 .item:last-of-type {
    padding-bottom: 30px;
  }

  .history .sec02 .item .mo-year {
    width: 33.75%;
  }
  
  .history .sec02 .item ul {
    width: 66.25%;
  }
  
  .history .sec02 .item li {
    margin-bottom: 40px;
  }
  
  .history .sec02 .item li:last-of-type {
    margin-bottom: 0;
  }
  
  .history .sec02 .item li .month {
    width: 100px;
    font-size: 3.2rem;
  }
  
  .history .sec02 .item li .conBox {
    width: calc(100% - 100px);
  }
  
  .history .sec02 .item li .conBox p {
    margin-bottom: 12px;
    font-size: 2.2rem;
  }
  
  .history .sec02 .item li .conBox p:last-of-type {
    margin-bottom: 0;
  }
}

@media(max-width:1024px) {
  .history .sec01 {
    padding: 110px 0 115px;
  }
  
  .history .sec01 .lt h3 {
    font-size: 4.2rem;
  }
  
  .history .sec01 .rt h4 {
    margin-bottom: 30px;
    font-size: 2.4rem;
  } 
  
  .history .sec01 .rt h4::after {
    left: -7px;
    height: 12px;
    transition: width .55s linear;
  }
  
  .history .sec01 .rt.aos-animate h4::after {
    width: calc(100% + 14px);
  }
  
  .history .sec01 .rt .txt {
    margin-bottom: 30px;
    font-size: 2rem;
  }
  
  .history .sec01 .rt .txt br {
    display: none;
  }
  
  .history .sec01 .rt .txt:last-of-type {
    margin-bottom: 0;
  }
  
  .history .sec02 {
    background-position: center bottom 0;
  }
  
  .history .sec02 .year-tab ul {
    gap: 0 15px;
  }

  .history .sec02 .year-tab ul li {
    min-width: 105px;
    width: 180px;
    height: 40px;
    border-radius: 21px;
  }

  .history .sec02 .year-tab ul li a {
    font-size: 2rem;
  }
  
  .history .sec02 .change-year, 
  .history .sec02 .mo-year {
    font-size: 4.8rem;
  }
  
  .history .sec02 .item {
    padding: 80px 0;
  }
  
  .history .sec02 .item .mo-year {
    width: 25%;
  }
  
  .history .sec02 .item ul {
    width: 75%;
  }
  
  .history .sec02 .item li {
    margin-bottom: 35px;
  }
  
  .history .sec02 .item li:last-of-type {
    margin-bottom: 0;
  }
  
  .history .sec02 .item li .month {
    width: 90px;
    font-size: 2.8rem;
  }
  
  .history .sec02 .item li .conBox {
    width: calc(100% - 90px);
  }
  
  .history .sec02 .item li .conBox p {
    margin-bottom: 10px;
    font-size: 2rem;
  }
  
  .history .sec02 .item li .conBox p:last-of-type {
    margin-bottom: 0;
  }
}

@media(max-width:768px) {
  .history .sec01 {
    aspect-ratio: auto;
    padding: 110px 0 115px;
  }
  
  .history .sec01 .container {
    flex-direction: column;
    align-items: start;
    gap: 30px 0;
  }
  
  .history .sec01 .container > div {
    width: 100%;
  }
  
  .history .sec01 .lt h3 {
    font-size: 3.4rem;
  }
  
  .history .sec01 .rt h4 {
    margin-bottom: 25px;
    font-size: 2.2rem;
  } 
  
  .history .sec01 .rt h4::after {
    left: -6px;
    height: 10px;
    transition: width .45s linear;
  }
  
  .history .sec01 .rt.aos-animate h4::after {
    width: calc(100% + 12px);
  }
  
  .history .sec01 .rt .txt {
    margin-bottom: 25px;
    font-size: 1.8rem;
  }
  
  .history .sec01 .rt .txt br {
    display: none;
  }
  
  .history .sec01 .rt .txt:last-of-type {
    margin-bottom: 0;
  }
  
  .history .sec02 .year-tab ul {
    gap: 0 10px;
  }

  .history .sec02 .year-tab ul li {
    min-width: 90px;
    width: 160px;
    height: 35px;
    border-radius: 19px;
  }

  .history .sec02 .year-tab ul li a {
    font-size: 1.8rem;
  }
  
  .history .sec02 .change-year {
    display: none;
  }
 
  .history .sec02 .item .mo-year {
    display: block;
  }
  
  .history .sec02 .change-year, 
  .history .sec02 .mo-year {
    font-size: 4rem;
  }
  
  .history .sec02 .item {
    flex-direction: column;
    align-items: start;
    padding: 60px 0;
    gap: 20px 0;
  }
  
  .history .sec02 .item .mo-year {
    width: 100%;
  }
  
  .history .sec02 .item ul {
    width: 100%;
  }
  
  .history .sec02 .item li {
    margin-bottom: 30px;
  }
  
  .history .sec02 .item li:last-of-type {
    margin-bottom: 0;
  }
  
  .history .sec02 .item li .month {
    width: 70px;
    font-size: 2.4rem;
  }
  
  .history .sec02 .item li .conBox {
    width: calc(100% - 70px);
  }
  
  .history .sec02 .item li .conBox p {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
  
  .history .sec02 .item li .conBox p:last-of-type {
    margin-bottom: 0;
  }
}

@media(max-width:500px) {
  .history .sec01 {
    padding: 90px 0 95px;
  }
  
  .history .sec01 .container {
    gap: 25px 0;
  }
  
  .history .sec01 .lt h3 {
    font-size: 2.8rem;
  }
  
  .history .sec01 .rt h4 {
    margin-bottom: 20px;
    font-size: 2rem;
  } 
  
  .history .sec01 .rt h4::after {
    left: -5px;
    height: 8px;
  }
  
  .history .sec01 .rt.aos-animate h4::after {
    width: calc(100% + 10px);
  }
  
  .history .sec01 .rt .txt {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }
  
  .history .sec01 .rt .txt br {
    display: none;
  }
  
  .history .sec01 .rt .txt:last-of-type {
    margin-bottom: 0;
  }
  
  .history .sec02 .year-tab ul {
    gap: 0 5px;
  }

  .history .sec02 .year-tab ul li {
    width: 140px;
    height: 30px;
    border-radius: 18px;
  }

  .history .sec02 .year-tab ul li a {
    font-size: 1.5rem;
  }
  
  .history .sec02 .change-year, 
  .history .sec02 .mo-year {
    font-size: 3.2rem;
  }
  
  .history .sec02 .item {
    padding: 50px 0;
    gap: 15px 0;
  }
  
  .history .sec02 .item li {
    margin-bottom: 25px;
  }
  
  .history .sec02 .item li:last-of-type {
    margin-bottom: 0;
  }
  
  .history .sec02 .item li .month {
    width: 60px;
    font-size: 2.2rem;
  }
  
  .history .sec02 .item li .conBox {
    width: calc(100% - 60px);
  }
  
  .history .sec02 .item li .conBox p {
    font-size: 1.6rem;
  }
  
  .history .sec02 .item li .conBox p:last-of-type {
    margin-bottom: 0;
  }
}
/* ---------- E: History ---------- */

/* ---------- S: Location ---------- */
.location .sec-tit {
  margin-bottom: 66px;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: -0.025em;
}

.location .sec-tit p {
  margin-bottom: 26px;
}

.location .sec-tit .line {
  display: block;
  max-width: 488px;
  width: 100%;
  height: 2px;
  background-color: #dcdcdc;
}

.location .sec02 {
  padding-bottom: 150px;
}

.location .block {
  display: flex;
  align-items: start;
  justify-content: space-between;
  margin-bottom: 100px;
}

.location .block:last-of-type {
  margin-bottom: 0;
}

.location .block .lt {
  position: relative;
  max-width: 829px;
  width: 57.569%;
  aspect-ratio: 1.381 / 1;
  overflow: hidden;
  /* border: 1px solid #8c8c8c; */
}

.location .block .map,
.location .block .lt iframe {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
}

.location .block .rt {
  max-width: 488px;
  width: 33.888%;
  margin-top: 46px;
}

.location .block .rt li {
  margin-bottom: 41px;
}

.location .block .rt li:last-of-type {
  margin-bottom: 0;
}

.location .block .rt .tit {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}

.location .block .rt .tit span {
  display: block;
}

.location .block .rt .tit .icon {
  position: relative;
  width: 27px;
  height: 27px;
  overflow: hidden;
}

.location .block .rt .tit .icon img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.location .block .rt .tit p {
  width: calc(100% - 27px);
  padding-left: 10px;
  font-size: 2.4rem;
  letter-spacing: -0.025em;
  font-weight: 600;
  color: #182987;
}

.location .block .rt .txt {
  font-size: 2rem;
  letter-spacing: -0.025em;
  font-weight: 300;
}

@media(max-width:1300px) {
  .location .block .rt {
    margin-top: 30px;
  }
}

@media(max-width:1200px){
  .location .sec-tit {
    margin-bottom: 55px;
    font-size: 2.8rem;
  }
  
  .location .sec-tit p {
    margin-bottom: 20px;
  }
  
  .location .sec02 {
    padding-bottom: 130px;
  }
  
  .location .block {
    margin-bottom: 90px;
  }

  .location .block .lt {
    width: 58%;
  }
  
  .location .block .rt {
    width: 34%;
    margin-top: 25px;
  }
  
  .location .block .rt li {
    margin-bottom: 35px;
  }

  .location .block .rt .tit {
    /* margin-bottom: 7px; */
  }
  
  .location .block .rt .tit .icon {
    width: 25px;
    height: 25px;
  }
  
  .location .block .rt .tit p {
    width: calc(100% - 25px);
    /* padding-left: 10px; */
    font-size: 2.2rem;
  }
  
  .location .block .rt .txt {
    font-size: 1.8rem;
  }
}

@media(max-width:1024px){
  .location .sec-tit {
    margin-bottom: 45px;
    font-size: 2.4rem;
  }
  
  .location .sec-tit p {
    margin-bottom: 15px;
  }
  
  .location .sec02 {
    padding-bottom: 110px;
  }
  
  .location .block {
    margin-bottom: 80px;
  }
    
  .location .block .lt {
    width: 60%;
  }
  
  .location .block .rt {
    margin-top: 20px;
  }
  
  .location .block .rt li {
    margin-bottom: 30px;
  }
  
  .location .block .rt .tit {
    margin-bottom: 5px;
  }
  
  .location .block .rt .tit .icon {
    width: 23px;
    height: 23px;
  }
  
  .location .block .rt .tit p {
    width: calc(100% - 23px);
    padding-left: 8px;
    font-size: 2rem;
  }
  
  .location .block .rt .txt {
    font-size: 1.6rem;
  }
}

@media(max-width:890px) {
  .location .block {
    flex-direction: column;
    align-items: start;
    justify-content: start;
    gap: 30px 0;
  }
  
  .location .block .lt,
  .location .block .rt {
    max-width: 100%;
    width: 100%;
  }
  
  .location .block .rt  {
    margin-top: 0;
  }
  
  .location .sec-tit .line {
    max-width: 450px;
  }
  
}

@media(max-width:768px){
  .location .sec-tit {
    margin-bottom: 35px;
    font-size: 2.2rem;
  }
  
  .location .sec-tit p {
    margin-bottom: 12px;
  }
  
  .location .sec02 {
    padding-bottom: 90px;
  }
  
  .location .block {
    gap: 25px 0;
    margin-bottom: 70px;
  }
  
  .location .block .rt li {
    margin-bottom: 25px;
  }
  
  .location .block .rt .tit {
    margin-bottom: 5px;
  }
  
  .location .block .rt .tit .icon {
    width: 21px;
    height: 21px;
  }
  
  .location .block .rt .tit p {
    width: calc(100% - 21px);
    font-size: 1.8rem;
  }
  
  .location .block .rt .txt {
    font-size: 1.4rem;
  }
}

@media(max-width:500px){
  .location .sec-tit {
    margin-bottom: 25px;
    font-size: 2rem;
  }
  
  .location .sec-tit p {
    margin-bottom: 10px;
  }
  
  .location .sec02 {
    padding-bottom: 80px;
  }
  
  .location .block {
    gap: 20px 0;
    margin-bottom: 60px;
  }

  .location .block .rt li {
    margin-bottom: 20px;
  }
  
  .location .block .rt .tit {
    margin-bottom: 3px;
  }
  
  .location .block .rt .tit .icon {
    width: 19px;
    height: 19px;
  }
  
  .location .block .rt .tit p {
    width: calc(100% - 19px);
    font-size: 1.6rem;
  }
  
  .location .block .rt .txt {
    font-size: 1.3rem;
  }
}
/* ---------- E: Location ---------- */

/* ---------- S: Business ---------- */
.business .sec02 {
  padding: 115px 0 150px;
}

.business .heading {
  display: flex;
  align-items: center;
  gap: 0 31px;
  margin-bottom: 47px;
  gap: 0 122px;
}

.business .heading h3 {
  font-size: 4.2rem;
  font-weight: 700;
}

.business .heading .down-btn {
  width: 250px;
  height: 50px;
  border-radius: 25px;
  border: 1px solid #aaa;
  overflow: hidden;
  transition: border-color .3s linear;
}

.business .heading .down-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -0.025em;
  color: #182987;
  transition: all .3s linear;
}

.business .heading .down-btn i {
  display: block;
  width: 15px;
  height: 19px;
  margin-right: 10px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url('/child/img/inc/file-down-icon.png');
  transition: background-image .3s linear;
}

.business .heading .down-btn:hover {
  border-color: #182987;
}

.business .heading .down-btn:hover a {
  background-color: #182987;
  color: #fff;
}

.business .heading .down-btn:hover i {
  background-image: url('/child/img/inc/file-down-icon-on.png');
}

.business .sec02 .txt p {
  margin-bottom: 38px;
  font-size: 2.4rem;
  line-height: 1.58;
  letter-spacing: -0.025em;
}

.business .sec02 .txt p:last-of-type {
  margin-bottom: 95px;
}

.business.panel .sec02 .txt p:last-of-type {
  margin-bottom: 91px;
}

.business .img-wrap {
  display: flex;
  align-items: start;
  margin: -12px;
}

.business .img-wrap li {
  width: 25%;
  padding: 12px;
}

.business .img-wrap li .img {
  position: relative;
  width: 100%;
  aspect-ratio: 0.713 / 1;
  overflow: hidden;
}

.business .img-wrap li .img.even {
  margin-top: 50px;
}

.business .img-wrap li .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media(max-width:1370px) {
  .business .sec02 .txt p br {
    display: none;
  }
}

@media(max-width:1200px) {
  .business .sec02 {
    padding: 95px 0 130px;
  }
  
  .business .heading {
    gap: 0 25px;
    margin-bottom: 40px;
  }
  
  .business .heading h3 {
    font-size: 3.8rem;
  }
  
  .business .heading .down-btn {
    width: 220px;
    height: 45px;
    border-radius: 23px;
  }
  
  .business .heading .down-btn a {
    font-size: 1.8rem;
  }
  
  .business .heading .down-btn i {
    width: 14px;
    height: 18px;
    margin-right: 8px;
  }
  
  .business .sec02 .txt p {
    margin-bottom: 35px;
    font-size: 2.2rem;
  }
  
  .business .sec02 .txt p br {
    display: none;
  }
  
  .business .sec02 .txt p:last-of-type {
    margin-bottom: 85px;
  }
  
  .business.panel .sec02 .txt p:last-of-type {
    margin-bottom: 80px;
  }
  
  .business .img-wrap {
    margin: -10px;
  }
  
  .business .img-wrap li {
    padding: 10px;
  }
  
  .business .img-wrap li .img.even {
    margin-top: 45px;
  }
}

@media(max-width:1024px) {
  .business .sec02 {
    padding: 85px 0 110px;
  }
  
  .business .heading {
    gap: 0 20px;
    margin-bottom: 35px;
  }
  
  .business .heading h3 {
    font-size: 3.4rem;
  }
  
  .business .heading .down-btn {
    width: 190px;
    height: 40px;
    border-radius: 20px;
  }
  
  .business .heading .down-btn a {
    font-size: 1.6rem;
  }
  
  .business .heading .down-btn i {
    width: 13px;
    height: 17px;
    margin-right: 8px;
  }
  
  .business .sec02 .txt p {
    margin-bottom: 30px;
    font-size: 2rem;
  }
  
  .business .sec02 .txt p:last-of-type {
    margin-bottom: 75px;
  }
  
  .business.panel .sec02 .txt p:last-of-type {
    margin-bottom: 70px;
  }
  
  .business .img-wrap {
    margin: -8px;
  }
  
  .business .img-wrap li {
    padding: 8px;
  }
  
  .business .img-wrap li .img.even {
    margin-top: 40px;
  }
}

@media(max-width:768px) {
  .business .sec02 {
    padding: 75px 0 90px;
  }
  
  .business .heading {
    gap: 0 15px;
    margin-bottom: 30px;
  }
  
  .business .heading h3 {
    font-size: 2.8rem;
  }
  
  .business .heading .down-btn {
    width: 170px;
    height: 35px;
    border-radius: 18px;
  }
  
  .business .heading .down-btn a {
    font-size: 1.4rem;
  }
  
  .business .heading .down-btn i {
    width: 12px;
    height: 16px;
    margin-right: 6px;
  }
  
  .business .sec02 .txt p {
    margin-bottom: 25px;
    font-size: 1.8rem;
  }
  
  .business .sec02 .txt p:last-of-type {
    margin-bottom: 65px;
  }
  
  .business.panel .sec02 .txt p:last-of-type {
    margin-bottom: 60px;
  }
  
  .business .img-wrap {
    flex-wrap: wrap;
    margin: -6px;
  }
  
  .business .img-wrap li {
    width: 50%;
    padding: 6px;
  }
  
  .business .img-wrap li .img.even {
    margin-top: 35px;
  }
  
  .business .img-wrap li:nth-of-type(3) {
    margin-top: -35px;
  }
  
  .business .img-wrap li:nth-of-type(4) {
    margin-top: -35px;
  }
}

@media(max-width:500px) {
  .business .sec02 {
    padding: 65px 0 80px;
  }
  
  .business .heading {
    gap: 0 8px;
    margin-bottom: 25px;
  }
  
  .business .heading h3 {
    font-size: 2.4rem;
  }
  
  .business .heading .down-btn {
    width: 150px;
    height: 30px;
    border-radius: 16px;
  }
  
  .business .heading .down-btn a {
    font-size: 1.3rem;
  }
  
  .business .heading .down-btn i {
    width: 11px;
    height: 15px;
  }
  
  .business .sec02 .txt p {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }
  
  .business .sec02 .txt p:last-of-type {
    margin-bottom: 55px;
  }
  
  .business.panel .sec02 .txt p:last-of-type {
    margin-bottom: 50px;
  }
  
  .business .img-wrap {
    margin: -4px;
  }
  
  .business .img-wrap li {
    padding: 4px;
  }
  
  .business .img-wrap li .img.even {
    margin-top: 30px;
  }
  
  .business .img-wrap li:nth-of-type(3) {
    margin-top: -30px;
  }
  
  .business .img-wrap li:nth-of-type(4) {
    margin-top: -30px;
  }
}

@media(max-width:390px) {
  .business .heading h3 {
    width: calc(100% - 156px);
  }
}
/* ---------- E: Business ---------- */

/* ---------- S: Contact ---------- */
.contact .sec02 h3 {
  margin-top: -10px;
  margin-bottom: 67px;
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.4;
}

.contact .sec02 .form-table {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -30px;
}

.contact .sec02 .form-table .row {
  width: 50%;
  padding: 0 30px;
  margin-bottom: 36px;
}

.contact .sec02 .form-table .row-100 {
  width: 100%;
}

.contact .sec02 .form-table .row:last-of-type {
  margin-bottom: 0;
}

.contact .sec02 .form-table .th {
  margin-bottom: 19px;
  font-size: 2.4rem;
  letter-spacing: -0.025em;
}

.contact .sec02 .form-table .th span {
  color: #182987;
}

.contact .sec02 .form-table .td {
  width: 100%;
}

.contact .sec02 .form-table .td input[type="text"],
.contact .sec02 .form-table .td textarea {
  width: 100%;
  height: 60px;
  padding: 0 20px;
  font-size: 2rem;
  background-color: #f5f5f5;
}

.contact .sec02 .form-table .td textarea {
  height: 300px;
  padding: 20px;
  resize: none;
}

.contact .sec02 form .agree {
  margin-top: 12px;
}

.contact .sec02 form .agree label {
  display: flex;
  align-items: start;
  position: relative;
  cursor: pointer;
}

.contact .sec02 form .agree label input[type="checkBox"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
}

.contact .sec02 form .agree label i {
  display: block;
  width: 20px;
  margin-top: 3px;
  aspect-ratio: 1 / 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url('/child/img/inc/check.png');
}

.contact .sec02 form .agree label input[type="checkBox"]:checked ~ i {
  background-image: url('/child/img/inc/checked.png');
}

.contact .sec02 form .agree label p {
  width: calc(100% - 20px);
  padding-left: 10px;
  font-size: 2.2rem;
  letter-spacing: -0.025em;
}

.contact .sec02 form .agree label p b {
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  color: inherit;
  cursor: pointer;
}

.contact .sec02 form .agree label p span {
  color: #182987;
}

.contact .sec02 form .btn {
  width: 300px;
  height: 70px;
  margin: 80px auto 0;
  border-radius: 35px;
  overflow: hidden;
}

.contact .sec02 form .btn .button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 20px;
  width: 100%;
  height: 100%;
  background-color: #182987;
}

.contact .sec02 form .btn .button p {
  font-size: 2.4rem;
  letter-spacing: -0.025em;
  color: #fff;
}

.contact .sec02 form .btn .button span {
  display: block;
  position: relative;
  width: 30px;
  height: 10px;
}

.contact .sec02 form .btn .button span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
  animation: btnAni 1s ease-out infinite;
}

@keyframes btnAni {
  0% {
    opacity: 1;
    left: 0;
  }
  
  100% {
    opacity: .3;
    left: 100%;
  }
}

@media(max-width:1200px) {
  .contact .sec02 h3 {
    margin-bottom: 55px;
    font-size: 3.8rem;
  }
  
  .contact .sec02 .form-table {
    margin: 0 -25px;
  }
  
  .contact .sec02 .form-table .row {
    padding: 0 25px;
    margin-bottom: 30px;
  }
  
  .contact .sec02 .form-table .th {
    margin-bottom: 15px;
    font-size: 2.2rem;
  }
  
  .contact .sec02 .form-table .td input[type="text"],
  .contact .sec02 .form-table .td textarea {
    height: 50px;
    padding: 0 18px;
    font-size: 1.8rem;
  }
  
  .contact .sec02 .form-table .td textarea {
    height: 260px;
    padding: 18px;
  }
  
  .contact .sec02 form .agree {
    margin-top: 10px;
  }
  
  .contact .sec02 form .agree label i {
    width: 18px;
    margin-top: 3px;
  }
  
  .contact .sec02 form .agree label p {
    width: calc(100% - 18px);
    padding-left: 10px;
    font-size: 2rem;
  }
  
  .contact .sec02 form .btn {
    width: 260px;
    height: 60px;
    margin: 70px auto 0;
    border-radius: 33px;
  }
  
  .contact .sec02 form .btn .button {
    gap: 0 18px;
  }
  
  .contact .sec02 form .btn .button p {
    font-size: 2.2rem;
  }
  
  .contact .sec02 form .btn .button span {
    width: 25px;
    height: 8px;
  }
  
  .contact .sec02 form .btn .button span::after {
    width: 8px;
    height: 8px;
  }
}

@media(max-width:1024px) {
  .contact .sec02 h3 {
    margin-bottom: 45px;
    font-size: 3.4rem;
  }
  
  .contact .sec02 .form-table {
    margin: 0 -20px;
  }
  
  .contact .sec02 .form-table .row {
    padding: 0 20px;
    margin-bottom: 25px;
  }
  
  .contact .sec02 .form-table .th {
    margin-bottom: 12px;
    font-size: 2rem;
  }
  
  .contact .sec02 .form-table .td input[type="text"],
  .contact .sec02 .form-table .td textarea {
    height: 45px;
    padding: 0 15px;
    font-size: 1.6rem;
  }
  
  .contact .sec02 .form-table .td textarea {
    height: 220px;
    padding: 15px;
  }
  
  .contact .sec02 form .agree {
    margin-top: 8px;
  }
  
  .contact .sec02 form .agree label i {
    width: 15px;
    margin-top: 2px;
  }
  
  .contact .sec02 form .agree label p {
    width: calc(100% - 15px);
    padding-left: 8px;
    font-size: 1.8rem;
  }
  
  .contact .sec02 form .btn {
    width: 220px;
    height: 50px;
    margin: 60px auto 0;
    border-radius: 30px;
  }
  
  .contact .sec02 form .btn .button {
    gap: 0 15px;
  }
  
  .contact .sec02 form .btn .button p {
    font-size: 2rem;
  }
  
  .contact .sec02 form .btn .button span {
    width: 23px;
  }
}

@media(max-width:768px) {
  .contact .sec02 h3 {
    margin-bottom: 40px;
    font-size: 2.8rem;
  }
  
  .contact .sec02 .form-table {
    margin: 0 -15px;
  }
  
  .contact .sec02 .form-table .row {
    padding: 0 15px;
    margin-bottom: 20px;
  }
  
  .contact .sec02 .form-table .th {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
  
  .contact .sec02 .form-table .td input[type="text"],
  .contact .sec02 .form-table .td textarea {
    height: 40px;
    padding: 0 12px;
    font-size: 1.4rem;
  }
  
  .contact .sec02 .form-table .td textarea {
    height: 180px;
    padding: 12px;
  }
  
  .contact .sec02 form .agree {
    margin-top: 6px;
  }
  
  .contact .sec02 form .agree label i {
    width: 13px;
  }
  
  .contact .sec02 form .agree label p {
    width: calc(100% - 13px);
    padding-left: 6px;
    font-size: 1.6rem;
  }
  
  .contact .sec02 form .btn {
    width: 180px;
    height: 45px;
    margin: 50px auto 0;
    border-radius: 28px;
  }
  
  .contact .sec02 form .btn .button {
    gap: 0 12px;
  }
  
  .contact .sec02 form .btn .button p {
    font-size: 1.8rem;
  }
  
  .contact .sec02 form .btn .button span {
    width: 20px;
    height: 7px;
  }
  
  .contact .sec02 form .btn .button span::after {
    width: 7px;
    height: 7px;
  }
}

@media(max-width:500px) {
  .contact .sec02 h3 {
    margin-bottom: 35px;
    font-size: 2.4rem;
  }
  
  .contact .sec02 .form-table {
    margin: 0;
  }
  
  .contact .sec02 .form-table .row {
    width: 100%;
    padding: 0;
    margin-bottom: 15px;
  }
  
  .contact .sec02 .form-table .th {
    margin-bottom: 8px;
    font-size: 1.6rem;
  }
  
  .contact .sec02 .form-table .td input[type="text"],
  .contact .sec02 .form-table .td textarea {
    height: 35px;
    padding: 0 10px;
    font-size: 1.3rem;
  }
  
  .contact .sec02 .form-table .td textarea {
    height: 160px;
    padding: 10px;
  }
  
  .contact .sec02 form .agree label i {
    width: 12px;
  }
  
  .contact .sec02 form .agree label p {
    width: calc(100% - 12px);
    font-size: 1.4rem;
  }
  
  .contact .sec02 form .btn {
    width: 160px;
    height: 40px;
    margin: 45px auto 0;
    border-radius: 26px;
  }
  
  .contact .sec02 form .btn .button {
    gap: 0 10px;
  }
  
  .contact .sec02 form .btn .button p {
    font-size: 1.6rem;
  }
  
  .contact .sec02 form .btn .button span {
    width: 20px;
    height: 6px;
  }
  
  .contact .sec02 form .btn .button span::after {
    width: 6px;
    height: 6px;
  }
}

@media(max-width: 355px){
  .contact .sec02 h3 br {
    display: none;
  }
}
/* ---------- E: Contact ---------- */

/* ---------- S: List ---------- */
.list .sec02 {
  padding-bottom: 146px;
}

@media(max-width:1200px) {
  .list .sec02 {
    padding-bottom: 125px;
  }
}

@media(max-width:1024px) {
  .list .sec02 {
    padding-bottom: 105px;
  }
}

@media(max-width:768px) {
  .list .sec02 {
    padding-bottom: 85px;
  }
}

@media(max-width:500px) {
  .list .sec02 {
    padding-bottom: 75px;
  }
}
/* ---------- E: List ---------- */

/* ---------- S: View ---------- */
.view .sec02 {
  padding: 0 0 150px;
}

@media(max-width:1200px) {
  .view .sec02 {
    padding: 0 0 130px;
  }
}

@media(max-width:1024px) {
  .view .sec02 {
    padding: 0 0 110px;
  }
}

@media(max-width:768px) {
  .view .sec02 {
    padding: 0 0 90px;
  }
}

@media(max-width:500px) {
  .view .sec02 {
    padding: 0 0 80px;
  }
}
/* ---------- E: View ---------- */