/* Common */
.sec-tit .tit {
  font-size:4.8rem;
  font-weight:700;
  color:#313131;
}

.sec-txt {
  padding:40px 0px;
  border-bottom:1px solid #d2d2d2;
}

.sec-txt .txt {
  font-size:2.8rem;
  color:#626262;
}

@media screen and (max-width:1200px) {
  .sec-tit .tit {
    font-size:4rem;
  }

  .sec-txt .txt {
    font-size:2.4rem;
  }
}
@media screen and (max-width:992px) {
  .sec-txt {
    padding:34px 0px;
  }
}
@media screen and (max-width:768px) {
  .sec-tit .tit {
    font-size:3.4rem;
  }

  .sec-txt {
    padding:28px 0px;
  }

  .sec-txt .txt {
    font-size:1.8rem;
  }
}
@media screen and (max-width:576px) {
  .sec-tit .tit {
    font-size:2.8rem;
  }

  .sec-txt {
    padding:20px 0px;
  }

  .sec-txt .txt {
    font-size:1.6rem;
  }
}


/* Sub Visual */
.sub-visual {
  position: relative;
  width:100%;
  height:500px;
  overflow: hidden;
}

.sub-visual-container {
  max-width:1470px;
  width:100%;
  height:100%;
  margin:0 auto;
  padding:0px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sub-visual-background {
  position: absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:100%;
  background-color: #001b38;
  z-index:5;
  animation: sub-visual 1.2s cubic-bezier(0.4, 0.38, 0.26, 0.93) .2s both;
}

.sub-visual-background div {
  width:100%;
  height:100%;
  background-size: cover;
  background-repeat:no-repeat;
  background-position: center;
}

.sv1 .sub-visual-background div {
  background-image: url('/child/img/sub/sv1.png');
}

.sv1-1 .sub-visual-background div {
  background-image: url('/child/img/sub/sv1-1.png');
}

.sv2 .sub-visual-background div {
  background-image: url('/child/img/sub/sv2.png');
}

.sv3 .sub-visual-background div {
  background-image: url('/child/img/sub/sv3.png');
}

.sub-visual-inner {
  text-align: center;
  position: relative;
  z-index:10;
}

.sub-visual-tit {
  font-size:5rem;
  font-weight:700;
  color:#fff;
}

@keyframes sub-visual {
  from { transform: scale(1.1); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@media screen and (max-width:1200px) {
  .sub-visual {
    height:420px;
  }

  .sub-visual-tit {
    font-size:4.2rem;
  }
}
@media screen and (max-width:992px) {
  .sub-visual {
    height:360px;
  }
}
@media screen and (max-width:768px) {
  .sub-visual {
    height:260px;
  }

  .sub-visual-tit {
    font-size:3.6rem;
  }
}
@media screen and (max-width:576px) {
  .sub-visual-tit {
    font-size:3rem;
  }
}


/* Sub Path*/
.path {
  height:60px;
  margin-top:-60px;
  position: relative;
  z-index:11;
}

.path-container {
  max-width:1470px;
  width:100%;
  height:100%;
  margin:0 auto;
  padding:0px 15px;
}

.path-inner {
  display: flex;
  align-items: center;
}

.path-inner span {
  display: block;
  font-size:1.8rem;
  line-height:1;
  color:#fff;
}

.path-inner span.home {
  width:18px;
  height:18px;
}

.path-inner span.home a {
  display: block;
  width:100%;
  height:100%;
  background:url('/child/img/sub/home.png') no-repeat center;
}

.path-inner span.arrow {
  width:7px;
  height:13px;
  background:url('/child/img/sub/arrow.png') no-repeat center;
  margin:0px 15px;
}

@media screen and (max-width:1200px) {
  .path {
    height:50px;
    margin-top:-50px;
  }

  .path-inner span {
    font-size:1.6rem;
  }
}
@media screen and (max-width:992px) {
  .path-inner span.arrow {
    margin:0px 12px;
  }
}
@media screen and (max-width:768px) {
  .path {
    height:30px;
    margin-top:-30px;
  }

  .path-inner {
    justify-content: center;
  }

  .path-inner span {
    font-size:1.4rem;
  }

  .path-inner span.home {
    width:14px;
    height:14px;
  }

  .path-inner span.home a {
    background-size:auto 14px;
  }

  .path-inner span.arrow {
    height:11px;
    background-size:auto 11px;
    margin:0px 8px;
  }
}
@media screen and (max-width:576px) {

}


/* Sub Navi */
.navi {
  background-color: #fff;
  border-bottom:1px solid #c9c9c9;
}

.navi-container {
  max-width:1470px;
  width:100%;
  height:100%;
  margin:0 auto;
  padding:0px 15px;
}

.navi-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin:0px -20px;
}

.navi-menu li {
  padding:0px 20px;
}

.navi-menu a {
  display:block;
  position:relative;
  font-size:1.8rem;
  line-height:1;
  color:#313131;
  padding:40px 0px;
}

.navi-menu a::after {
  content:"";
  display:none;
  position: absolute;
  left:0;
  bottom:0;
  width:100%;
  height:6px;
  background-color: #26499d;
}

.navi-menu li.on a {
  font-weight:700;
  color:#26499d;
}

.navi-menu li.on a::after {
  display:block;
}

@media screen and (max-width:1200px) {
  .navi-menu a {
    font-size:1.6rem;
    padding:30px 0px;
  }

}
@media screen and (max-width:992px) {
  .navi {
    display: none;
  }
}
@media screen and (max-width:768px) {

}
@media screen and (max-width:576px) {

}


/* Company */
/* Company - Index */
.company .sec--01 .img {
  margin-bottom:20px;
}

.company .sec--01 {
  padding:140px 0px ;
  background-color: #f5f5f5;
}

.company .sec--02 {
  padding:200px 0px;
  background:url('/child/img/sub/company/company_img.png') no-repeat center / cover;
}

.company .sec--02 .t01 {
  font-size:2.6rem;
  line-height:1.7;
  color:#fff;
  margin-bottom:40px;
}

.company .sec--02 .t01:last-child {
  margin-bottom:0px;
}

@media screen and (max-width:1200px) {
  .company .sec--01 .img {
    width:180px;
  }

  .company .sec--02 .t01 {
    font-size:2.2rem;
  }
}
@media screen and (max-width:992px) {
  .company .sec--01 {
    padding:100px 0px;
  }

  .company .sec--01 .img {
    width:140px;
    margin-bottom:12px;
  }

  .company .sec--02 {
    padding:160px 0px;
  }

  .company .sec--02 .t01 {
    margin-bottom:34px;
  }
}
@media screen and (max-width:768px) {
  .company .sec--01 {
    padding:60px 0px;
  }

  .company .sec--01 .img {
    margin-bottom:8px;
  }

  .company .sec--02 {
    padding:100px 0px;
  }

  .company .sec--02 .t01 {
    font-size:1.6rem;
    margin-bottom:28px;
  }
}
@media screen and (max-width:576px) {

}


/* Company - Certification */
.company--certification .sec {
  padding:140px 0px ;
  background-color: #f5f5f5;
}

.company--certification .sec-tit {
  margin-bottom:140px;
}

.company--certification .sec .list {
  display: flex;
  flex-wrap: wrap;
  margin:-20px;
}

.company--certification .sec .list li {
  flex:1 1 33.33%;
  max-width:33.33%;
  padding:20px;
}

.company--certification .sec .list .box {
  height:100%;
  padding:50px;
  background-color: #fff;
}

.company--certification .sec .list .icon {
  font-size:0px;
}

.company--certification .sec .list .con {
  margin-top:30px;
}

.company--certification .sec .list .tit {
  font-size:2.8rem;
  font-weight:600;
  color:#001b38;
}

.company--certification .sec .list .txt {
  font-size:1.6rem;
  color:#959595;
}

.company--certification .sec .list .img {
  font-size:0px;
  padding-top:60px;
}

.company--certification .sec .list .img-txt {
  display: flex;
  text-align: center;
  margin-top:4px;
}

.company--certification .sec .list .img-txt p {
  flex:1 1;
  font-size:1.4rem;
  color:#999;
  padding-left:12px;
}

@media screen and (max-width:1200px) {
  .company--certification .sec .list .tit {
    font-size:2.4rem;
  }

  .company--certification .sec .list .txt {
    font-size:1.4rem;
  }

  .company--certification .sec .list .img-txt p {
    font-size:1.2rem;
    padding-left:8px;
  }
}
@media screen and (max-width:992px) {
  .company--certification .sec {
    padding:100px 0px;
  }

  .company--certification .sec-tit {
    margin-bottom:100px;
  }

  .company--certification .sec .list {
    margin:-12px;
  }

  .company--certification .sec .list li {
    padding:12px;
  }

  .company--certification .sec .list .box {
    padding:38px;
  }

  .company--certification .sec .list .con {
    margin-top:24px;
  }

  .company--certification .sec .list .img {
    padding-top:40px;
  }

  .company--certification .sec .list .img-txt {
    max-width:365px;
    width:100%;
    margin:0 auto;
  }

  .company--certification .sec .list .img-txt p {
    padding-left:4px;
  }
}
@media screen and (max-width:768px) {
  .company--certification .sec {
    padding:60px 0px;
  }

  .company--certification .sec-tit {
    margin-bottom:60px;
  }

  .company--certification .sec .list {
    margin:-6px;
  }

  .company--certification .sec .list li {
    flex:1 1 100%;
    max-width:100%;
    padding:6px;
  }

  .company--certification .sec .list .box {
    text-align: center;
    padding:30px;
  }

  .company--certification .sec .list .con {
    margin-top:20px;
  }

  .company--certification .sec .list .tit {
    font-size:1.8rem;
  }

  .company--certification .sec .list .txt {
    font-size:1.2rem;
  }

  .company--certification .sec .list .img {
    padding-top:34px;
  }

  /* .company--certification .sec .list .img-txt p {
    padding-left:0px;
  }  */
}
@media screen and (max-width:576px) {

}


/* Business */
/* Business - Common */
.business .sec {
  padding:140px 0px;
  background-color: #f5f5f5;
}

.business .sec-tit {
  margin-bottom:140px;
}

.business .area-item {
  padding-bottom:140px;
}

.business .area-item:last-child {
  padding-bottom:0px;
}

.business .area-item .img {
  font-size:0px;
}

.business .area-item .txt {
  margin-top:60px;
}

.business .area-item .txt .t01 {
  font-size:2.4rem;
  line-height:1.7;
  color:#313131;
}

.business .area-item .txt .t01 .pd {
  content:"";
  display: block;
  padding-top:40px;
}

.business .area-item .txt .kind {
  padding-top:40px;
}

.business .area-item .txt .kind li {
  font-size:2.4rem;
  line-height:1.7;
  color:#313131;
}

@media screen and (max-width:1200px) {
  .business .area-item .txt .t01 {
    font-size:1.8rem;
  }

  .business .area-item .txt .kind li {
    font-size:1.8rem;
  }
}
@media screen and (max-width:992px) {
  .business .sec {
    padding:100px 0px;
  }

  .business .sec-tit {
    margin-bottom:100px;
  }

  .business .area-item {
    padding-bottom:100px;
  }

  .business .area-item .txt {
    margin-top:40px;
  }

  .business .area-item .txt .t01 .pd {
    padding-top:34px;
  }

  .business .area-item .txt .kind {
    padding-top:34px;
  }
}
@media screen and (max-width:768px) {
  .business .sec {
    padding:60px 0px;
  }

  .business .sec-tit {
    margin-bottom:60px;
  }

  .business .area-item {
    padding-bottom:60px;
  }

  .business .area-item .txt {
    margin-top:34px;
  }

  .business .area-item .txt .t01 {
    font-size:1.6rem;
  }

  .business .area-item .txt .t01 .pd {
    padding-top:28px;
  }

  .business .area-item .txt .kind {
    padding-top:28px;
  }

  .business .area-item .txt .kind li {
    font-size:1.6rem;
  }
}
@media screen and (max-width:576px) {
  .business .area-item .txt .t01 .pd {
    padding-top:20px;
  }

  .business .area-item .txt .kind {
    padding-top:20px;
  }
}


/* Contact Us */
.contact .sec {
  padding:140px 0px;
  background-color: #f5f5f5;
}

.contact .area {
  padding-top:100px;
}

.contact .form-table {
  display: flex;
  flex-wrap:wrap;
  margin:-30px -20px;
}

.contact .form-block {
  flex:0 0 100%;
  max-width:100%;
  padding:30px 20px;
}

.contact .form-block--w50 {
  flex:0 0 50%;
  max-width:50%;
}

.contact .form-block .th {
  font-size:2.6rem;
  font-weight:600;
  color:#313131;
  margin-bottom:12px;
}

.contact .form-block .essential {
  color:#db1010;
}

.contact .form-block .guide {
  font-style:normal;
  font-size:1.6rem;
  font-weight:400;
  color:#626262;
}

.contact .form-block input {
  width:100%;
  height:70px;
  font-size:2.2rem;
  border:1px solid #bfbfbf;
  padding:0px 30px;
}

.contact .form-block textarea {
  resize:none;
  display:block;
  width:100%;
  height:340px;
  font-size:2.2rem;
  border:1px solid #bfbfbf;
  padding:30px;
}

.contact .form-block .file-item {
  width:100%;
  position:relative;
}

.contact .form-block .file-wrap {
  display:flex;
  align-items: center;
  position:relative;
  width:100%;
  height:100%;
}

.contact .form-block .file-item input {
  position: absolute;
  top: 0;
  left: 0;
  max-width:840px;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 10;
  cursor: pointer;
  border: 0px;
  padding: 0px;
}

.contact .form-block .file-label {
  display:inline-flex;
  align-items: center;
  max-width:700px;
  width:100%;
  height:70px;
  font-size:2.2rem;
  color:#8f9396;
  background-color: #fff;
  border:1px solid #bfbfbf;
  padding:0px 30px;
}

.contact .form-block .file-btn {
  display:inline-flex;
  justify-content: center;
  align-items: center;
  max-width:130px;
  width:100%;
  height:70px;
  font-size:2.2rem;
  color:#fff;
  background-color: #001b38;
  margin-left:10px;
}

.contact .form-block .agreement .textarea {
  width:100%;
  height:340px;
  background-color: #fff;
  border:1px solid #bfbfbf;
  font-size:2.2rem;
  color:#8f9295;
  padding:30px;
  overflow-y: auto;
}

.contact .form-block .agreement .textarea * {
  font-size: inherit;
  color:inherit;
}

.contact .form-block .agreement-btns {
  margin-top:60px;
  position: relative;
}

.contact .form-block .agreement-btns label {
  display: flex;
  /* align-items: center; */
  cursor: pointer;
}

.contact .form-block .agreement-btns input {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  opacity:0;
  visibility: hidden;
}

.contact .form-block .agreement-btns i {
  display: inline-block;
  vertical-align: middle;
  width:26px;
  height:26px;
  background-size: auto 26px;
  background-repeat: no-repeat;
  background-image: url('/child/img/sub/contact/agreement_off.png');
  margin-right:16px;
  margin-top:4px;
}

.contact .form-block .agreement-btns input[type="checkbox"]:checked ~ i {
  background-image: url('/child/img/sub/contact/agreement_on.png');
}

.contact .form-block .agreement-btns span {
  display: block;
  font-size:2.2rem;
}

.contact .form-block .guide--agreement {
  display:block;
}

.contact .form-btns {
  display: flex;
  justify-content: center;
  padding-top:60px;
}

.contact .form-btns .button {
  max-width:360px;
  width:100%;
  height:70px;
  font-size:2.2rem;
  color:#fff;
  background-color: #001b38;
}

@media screen and (min-width:1201px) {
  .contact .form-btns .button:hover {
    background-color:#002b57;
  }
}
@media screen and (max-width:1200px) {
  .contact .form-block .th {
    font-size:2.2rem;
  }

  .contact .form-block input {
    height:60px;
    font-size:1.6rem;
  }

  .contact .form-block textarea {
    font-size:1.6rem;
  }

  .contact .form-block .file-item input {
    font-size:1.6rem;
  }

  .contact .form-block .file-btn {
    height:60px;
    font-size:1.6rem;
  }

  .contact .form-block .file-label {
    height:60px;
    font-size:1.6rem;
  }

  .contact .form-block .guide {
    font-size:1.4rem;
  }

  .contact .form-block .agreement .textarea {
    font-size:1.6rem;
  }

  .contact .form-block .agreement-btns span {
    font-size:1.6rem;
  }

  .contact .form-btns .button {
    max-width:300px;
    height:60px;
    font-size:1.6rem;
  }
}
@media screen and (max-width:992px) {
  .contact .sec {
    padding:100px 0px;
  }

  .contact .area {
    padding-top:60px;
  }

  .contact .form-table {
    margin:-20px -12px;
  }

  .contact .form-block {
    padding:20px 12px;
  }

  .contact .form-block .th {
    margin-bottom:8px;
  }

  .contact .form-block input {
    padding:0px 20px;
  }

  .contact .form-block textarea {
    padding:20px;
  }

  .contact .form-block .file-label {
    padding:0px 20px;
  }

  .contact .form-block .agreement .textarea {
    padding:20px;
  }

  .contact .form-block .agreement-btns {
    margin-top:40px;
  }

  .contact .form-block .agreement-btns i {
    margin-right:8px;
  }

  .contact .form-btns {
    padding-top:40px;
  }
}
@media screen and (max-width:768px) {
  .contact .sec {
    padding:60px 0px;
  }

  .contact .area {
    padding-top:40px;
  }

  .contact .form-table {
    margin:-12px -8px;
  }

  .contact .form-block {
    flex:1 1 100%;
    max-width:100%;
    padding:12px 8px;
  }

  .contact .form-block .th {
    font-size:1.6rem;
    margin-bottom:4px;
  }

  .contact .form-block input {
    font-size:1.4rem;
    height:40px;
    padding:0px 12px;
  }

  .contact .form-block textarea {
    font-size:1.4rem;
    height:240px;
    padding:12px;
  }

  .contact .form-block .file-item input {
    font-size:1.4rem;
  }

  .contact .form-block .file-label {
    height:40px;
    font-size: 1.4rem;
    padding:0px 12px;
  }

  .contact .form-block .file-btn {
    height:40px;
    font-size:1.4rem;
  }

  .contact .form-block .agreement .textarea {
    height:240px;
    font-size:1.4rem;
    padding:12px;
  }

  .contact .form-block .agreement-btns {
    margin-top:28px;
  }

  .contact .form-block .agreement-btns i {
    width:16px;
    height:16px;
    background-size:auto 16px;
    margin-right:4px;
  }

  .contact .form-block .agreement-btns span {
    font-size:1.4rem;
  }

  .contact .form-btns {
    padding-top:34px;
  }

  .contact .form-btns .button {
    max-width:220px;
    height:40px;
    font-size:1.4rem;
  }

  .contact .form-block .guide {
    font-size:1.2rem;
  }

  .contact .form-block .guide--file {
    display:block;
  }
}
@media screen and (max-width:576px) {
  .contact .form-block .file-wrap {
    flex-wrap:wrap;
  }

  .contact .form-block .file-label {
    max-width:100%;
  }

  .contact .form-block .file-btn {
    max-width:100%;
    margin-left:0px;
    margin-top:4px;
  }

  .contact .form-block .agreement-btns {
    margin-top:20px;
  }
}
