@charset "utf-8";

/* default PC */
#contents .voice-box .link-bnr {
  background-color:#314FA5;
  border:4px solid #314FA5;
  color:#FFF;
  display:block;
}

#contents .voice-box .link-bnr p {
  font-weight:500;
  letter-spacing:.05em;
}

#contents .voice-box {
  gap:50px 0;
}

#contents .voice-box .flex {
  align-items:center;
}

#contents .voice-box .link-bnr .sub-txt {
  font-size:115%;
}

#contents .voice-box .link-bnr .name-txt {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  font-size:26px;
  line-height:1em;
}

#contents .voice-box .link-bnr .department {
  border:1px solid #FFF;
  display:inline-block;
  font-size:65%;
  margin-right:10px;
  padding:5px;
  text-align:center;
  width:120px;
}

#breadcrumb {
  padding-bottom:20px;
}

#contents .bg-blue {
  color:#FFF;
}

#contents .bg-blue .flex {
  align-items:center;
}

#contents .flow-box {
  background-color:#FFF;
  padding:55px 60px 65px;
}

#contents .flow-box .main-txt {
  font-size:30px;
  font-weight:bold;
  letter-spacing:.05em;
}

#contents .flow-box .flow-item {
  padding:0 0 70px 40px;
  position:relative;
}

#contents .flow-box .flow-item .day-txt {
  border:2px solid #314FA5;
  color:#314FA5;
  max-width:150px;
  text-align:center;
  width:100%;
}

#contents .flow-box .flow-item:last-child {
  padding-bottom:0;
}

#contents .flow-box .flow-item:before {
  background-color:#C09520;
  content:"";
  display:block;
  height:20px;
  left:0;
  position:absolute;
  top:12px;
  width:20px;
}

#contents .flow-box .flow-item::after {
  background-color:#C09520;
  content:"";
  display:block;
  height:100%;
  left:8px;
  position:absolute;
  top:12px;
  width:5px;
}

#contents .flow-box .flow-item:last-child::after {
  display:none;
}

#contents .flow-box .flow-item p:last-of-type {
  margin-bottom:0;
}

#contents .flow-box .flow-item .time-txt {
  color:#314FA5;
  font-size:29px;
  font-weight:500;
  letter-spacing:.05em;
  line-height:1.4em;
}

#contents .flow-box .flow-item .time-txt .time {
  display:inline-block;
  letter-spacing:.05em;
  line-height:1em;
  margin-right:10px;
}

#contents .main-txt {
  font-size:28px;
  font-weight:500;
  letter-spacing:.05em;
}

#contents .sub-ttl {
  border:1px solid #FFF;
  max-width:fit-content;
  padding:5px 30px;
}

#contents .name {
  font-size:34px;
  font-weight:500;
  margin-bottom:0;
}

#contents .name .year {
  font-size:65%;
  margin-left:20px;
}

#contents .qa-area .qa-box {
  border:3px solid #314FA5;
  margin-bottom:35px;
  padding:40px 40px 43px;
}

#contents .qa-area .qa-box:last-child {
  margin-bottom:0;
}

#contents .qa-box .q-ttl,
#contents .qa-box .a-box {
  display:flex;
  flex-wrap:wrap;
}

#contents .qa-box .a-box p:last-of-type {
  margin-bottom:0;
}

#contents .qa-box .q-ttl {
  align-items:baseline;
  font-size:23px;
  font-weight:500;
  line-height:1.5em;
  margin-bottom:20px;
}

#contents .qa-box .q-txt,
#contents .qa-box .a-txt {
  align-items:center;
  background-color:#314FA5;
  color:#FFF;
  display:flex;
  font-size:26px;
  font-weight:500;
  height:40px;
  justify-content:center;
  margin-bottom:0;
  width:40px;
}

#contents .qa-box .q-txt {
  position:relative;
  top:2px;
}

#contents .qa-box .a-txt {
  background-color:#C09520;
}

#contents .qa-box .txt {
  margin-left:15px;
  width:calc(100% - 55px);
}

#contents .qa-box .a-box .txt {
  padding-top:5px;
}

@media screen and (max-width: 1400px) {
  #contents .voice-box .link-bnr .name-txt {
    font-size:23px;
  }

  #contents .voice-box .link-bnr .sub-txt {
    font-size:100%;
  }
}

@media screen and (max-width: 1300px) {
  #contents .voice-box .txt-2box {
    margin:0;
    width:100%;
  }

  #contents .voice-box {
    margin:0 auto;
    max-width:850px;
  }
}

/* view-1140 notePC,Tablet */
@media screen and (max-width: 1140px) {
  #contents .flow-box {
    padding:50px 40px 60px;
  }

  #contents .flow-box .flow-item::after {
    left:5px;
    width:4px;
  }

  #contents .flow-box .flow-item:before {
    height:14px;
    width:14px;
  }

  #contents .flow-box .flow-item .time-txt {
    font-size:24px;
  }

  #contents .qa-area .qa-box {
    padding:30px 30px 32px;
  }

  #contents .qa-box .q-txt {
    top:0;
  }

  #contents .qa-box .q-txt,
  #contents .qa-box .a-txt {
    font-size:22px;
    height:36px;
    width:36px;
  }

  #contents .qa-box .txt {
    width:calc(100% - 51px);
  }

  #contents .qa-box .q-ttl {
    font-size:20px;
  }

  #contents .name {
    font-size:28px;
  }

  #contents .sub-ttl {
    padding:5px 20px;
  }

  #contents .main-txt {
    font-size:23px;
  }
}

/* view-959 Mobile,Tablet */
@media screen and (max-width: 959px) {
  #contents .bg-blue .flex .img-2box {
    margin-bottom:20px;
  }

  #contents .bg-blue .flex {
    margin:0 auto;
    max-width:600px;
  }

  #contents .voice-box {
    margin:0 auto;
    max-width:750px;
  }

  #contents .voice-box .img-2box {
    width:32%;
  }

  #contents .voice-box .img-2box-txt {
    margin-left:30px;
    width:calc(68% - 30px);
  }
}

/* view-559 Mobile */
@media screen and (max-width: 559px) {
  #contents .flow-box .flow-item {
    padding:0 0 40px 30px;
  }

  #contents .flow-box .flow-item::after {
    left:4px;
  }

  #contents .flow-box .flow-item:before {
    height:12px;
    top:9px;
    width:12px;
  }

  #contents .flow-box .flow-item .time-txt {
    font-size:20px;
  }

  #contents .flow-box {
    padding:35px 15px 45px;
  }

  #contents .qa-box .txt {
    width:calc(100% - 47px);
  }

  #contents .qa-box .q-txt,
  #contents .qa-box .a-txt {
    font-size:20px;
    height:32px;
    width:32px;
  }

  #contents .qa-box .q-ttl {
    font-size:18px;
  }

  #contents .qa-area .qa-box {
    padding:30px 15px 32px;
  }

  #contents .name {
    font-size:24px;
  }

  #contents .sub-ttl {
    padding:3px 15px;
  }

  #contents .main-txt {
    font-size:18px;
  }

  #contents .voice-box {
    gap:30px 0;
  }

  #contents .voice-box .img-2box,
  #contents .voice-box .img-2box-txt {
    margin:0;
    width:100%;
  }

  #contents .voice-box .img-2box img {
    max-height:calc(100vw / 1.5);
    object-fit:cover;
    object-position:top;
  }

  #contents .voice-box .img-2box-txt {
    padding:15px 15px 0;
  }
}
