@charset "utf-8";
/* default PC */

.affiliation {
  background-color:transparent;
  border:2px solid #4E4B7B;
  color:#4E4B7B;
  display:inline-block;
  font-size:17px;
  line-height:1.2em;
  margin-bottom:0;
  margin-right:27px;
  padding:7px 15px;
}

.attempt-item {
  background-color:#FFF;
  padding:55px 55px;
}

.look-orange {
  font-size:16px;
}

.bg-beige {
  background-color:#F8F6F0;
  padding:70px 0 40px;
}

.img-contents .img-2box-txt.end .flex .txt-2box {
  margin-right:0%;
  width:13%;
}

.img-contents .img-2box-txt.end .flex .txt-2box.end {
  width:calc(87% - 10px);
}

.txt-2box .flex .img-2box-txt {
  margin-top:25px;
}

#contents .voice-link .flex .img-2box-txt .opinion {
  color:#EC6319;
  font-size:20px;
  font-weight:500;
  font-weight:bold;
  line-height:1.7;
  margin-bottom:20px;
}

#contents .voice-link {
  background:#FFF;
  background-color:#FFF;
  border:3px solid #5652A5;
  display:block;
  padding:0px;
  position:relative;
}

#contents .txt-2box .flex .img-2box-txt h3 {
  align-items:center;
  background-color:transparent;
  clip-path:none;
  color:#333;
  display:flex;
  flex-direction:row;
  font-size:31px;
  font-weight:bold;
  letter-spacing:.09em;
  margin:0px;
  padding:0 0 17px;
}

.results.link-btn {
  background-color:transparent;
  border:2px solid #4E4B7B;
  color:#4E4B7B;
}

.results.link-btn::after {
  background-image:url(../image/contents/arrow_purple.svg);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  bottom:0;
  content:"";
  display:block;
  height:31px;
  margin:auto;
  position:absolute;
  top:0;
  width:28px;
}

#contents .img-contents {
  margin-bottom:60px;
}

#contents .img-contents .img-2box-txt.end {
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:calc(65% - 60px);
}

.qa-area .qa-box {
  background-color:#FFF;
  margin-bottom:30px;
  padding:30px 20px;
}

.qa-area .qa-box:last-child {
  margin-bottom:0px;
}

#contents p.qa-q-txt {
  border-bottom:2px solid #D5D9DA;
  color:#4E4B7B;
  font-size:20px;
  font-weight:500;
  line-height:1.5em;
  margin-bottom:0;
  padding:0 0 20px 50px;
  position:relative;
}

#contents p.qa-q-txt:before {
  color:#4E4B7B;
  content:"Q";
  font-size:140%;
  font-weight:bold;
  left:15px;
  position:absolute;
  top:-3px;
}

#contents p.qa-a-txt {
  border-radius:0 0 10px 10px;
  padding:15px 0 0 50px;
  position:relative;
}

#contents p.qa-a-txt:before {
  color:#5C4830;
  color:#E24A4A;
  content:"A";
  font-size:170%;
  font-weight:bold;
  left:15px;
  position:absolute;
  top:13px;
}

#contents .voice-catch {
  color:#EC6319;
  font-size:140%;
  font-weight:600;
  margin:0 0 25px;
}

.timeline-2box {
  padding:10px 0 0 60px;
}

#contents .timeline ul {
  padding:0;
}

#contents .timeline ul li {
  display:table;
}

#contents .timeline ul li .time {
  box-sizing:border-box;
  display:table-cell;
  font-size:18px;
  padding:0 30px 20px 0;
  width:90px;
}

#contents .timeline ul li:last-child .time {
  padding:0 30px 0 0;
}

#contents .timeline ul li .txt-box {
  border-left:2px solid #CFCAC8;
  display:table-cell;
  padding:0 10px 30px 30px;
  position:relative;
}

#contents .timeline ul li:last-child .txt-box {
  padding:0 10px 0px 30px;
}

#contents .timeline ul li .txt-box::before {
  background-color:#FF9600;
  border-radius:50%;
  content:"";
  display:block;
  height:20px;
  left:-11px;
  position:absolute;
  top:8px;
  width:20px;
}

#contents .timeline ul li:last-child .txt-box::before {
  top:12px;
}

#contents .timeline ul li .txt {
  margin-bottom:0;
}

#contents .voice-link .flex {
  background-color:#FFF;
}


#contents .voice-link .img-2box-txt {
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:0;
  padding:25px;
  width:65%;
}

#contents .voice-link .img-2box img {
  height:100%;
  object-fit:cover;
}

#contents .voice-link:before {
  background:url(../image/contents/bg_pattern.png) repeat;
  content:"";
  display:block;
  height:100%;
  left:15px;
  position:absolute;
  top:15px;
  width:100%;
  z-index:-1;
}

#contents .voice-link h3.en-ttl {
  padding-top:0;
}

#contents .voice-link h3.en-ttl .affiliation {
  line-height:1.2em;
  margin-right:10px;
  padding:8px 12px 6px;
}

.interview-box {
  margin-bottom:50px;
}

#contents .season-txt {
  color:#333;
  font-size:17px;
  margin-bottom:0;
}

/* 詳細ページ */
.flow-contents {
  margin:50px 0 0;
  position:relative;
}

#contents .flow-contents .flow-box {
  background-color:#FFF;

/* background-color: #f8f6f0; */
  margin-bottom:80px;
  margin-left:180px;
  padding:40px 40px;
  position:relative;
}

#contents .flow-contents .flow-box:before {
  background-color:#FFF;
  content:"";
  height:30px;
  left:-7px;
  position:absolute;
  -webkit-transform:rotate(45deg);
          transform:rotate(225deg);
  width:20px;
}

#contents .flow-contents .flow-box:after {
  background-color:#432DA1;
  content:"";
  display:inline-block;
  height:125%;
  left:-120px;
  position:absolute;
  top:50px;
  width:5px;
  z-index:1;
}

#contents .flow-contents .flow-box:last-child:after {
  display:none;
}

#contents .flow-contents .flow-box .year-area {
  font-size:18px;
}

#contents .flow-contents .flow-box .year-area {
  background:#432DA1;
  color:#FFF;
  font-size:26px;
  left:-180px;
  letter-spacing:.05em;
  line-height:1.2em;
  max-width:140px;
  padding:14px 15px 15px;
  position:absolute;
  text-align:center;
  top:20px;
  width:100%;
  z-index:2;
}

#contents .flow-contents .flow-box .year-area .num {
  font-size:165%;
  margin-right:3px;
  vertical-align:bottom;
}

.roboto {
  font-family:"Roboto", sans-serif;
}

#contents .flow-contents .flow-box .img-2box-txt {
  margin-left:0;
}

#contents .img-contents.flex .img-2box-txt.end h2 {
  align-items:center;
  display:flex;
  flex-direction:row;
  font-size:30px;
  margin:0 0 30px;
  text-align:left;
}

#contents .img-contents .img-2box .img-area {
  position:relative;
}

#contents .img-contents .img-2box .img-area:before {
  background:url(../image/contents/bg_pattern.png) repeat;
  content:"";
  display:block;
  height:100%;
  left:15px;
  position:absolute;
  top:15px;
  width:100%;
  z-index:-1;
}

#contents .flow-contents .flow-box h3 {
  background-color:transparent;
  color:#432DA1;
  font-size:27px;
  padding:0;
}

.table-02 th {
  background-color:#EEE;
  border:1px solid #D4D4D4;
  border-right-width:0;
  font-weight:500;
  padding:16px 0px;
  text-align:center;
  vertical-align:middle;
}

/* 詳細ページ ここまで */

@media screen and (max-width: 1400px) {
  /* 一覧ページ */
  #contents .voice-link .flex .img-2box-txt .opinion {
    font-size:16px;
  }

  #contents .voice-link .img-2box-txt {
    width:66%;
  }

  #contents .voice-link .img-2box {
    width:34%;
  }

  #contents .txt-2box .flex .img-2box-txt h3 {
    font-size:25px;
  }

  #contents .voice-link h3.en-ttl .affiliation {
    font-size:15px;
  }
}


/* view-1140 notePC,Tablet */
@media screen and (max-width: 1140px) {
  .interview-box {
    margin:0 auto 40px;
    max-width:800px;
    width:100%;
  }

  .end.interview-box {
    margin:0 auto 40px;
  }

  #contents .voice-link .flex .img-2box-txt .opinion {
    font-size:20px;
  }

  /* 詳細ページ */
  #contents .voice-catch {
    font-size:22px;
  }

  #contents .img-contents .img-2box-txt.end {
    width:calc(65% - 50px);
  }
}

/* view-959 Mobile,Tablet */
@media screen and (max-width: 959px) {
  #contents .voice-link .flex .img-2box-txt .opinion {
    font-size:18px;
  }

  /* 詳細ページ */
  #contents .img-contents .img-2box .img-area {
    margin:0 auto 35px;
    max-width:500px;
    width:100%;
  }

  #contents .img-contents .img-2box-txt.end {
    width:100%;
  }

  #contents .flow-contents .flow-box h3 {
    font-size:25px;
  }

  #contents .flow-contents .flow-box {
    margin-left:130px;
    padding:30px;
  }

  #contents .flow-contents .flow-box .year-area {
    left:-130px;
    max-width:105px;
    padding:8px 15px 12px;
  }

  #contents .img-contents .img-2box .img-area:before {
  }

  #contents .flow-contents .flow-box:after {
    height:110%;
    left:-80px;
  }
}


@media screen and (max-width: 767px) {
  #contents .flow-contents .flow-box h3 {
    font-size:23px;
  }
}

@media screen and (max-width: 640px) {
  /* 一覧ページ */
  #contents .voice-link .flex {
    display:flex;
    flex-direction:column;
  }

  #contents .voice-link .img-2box,
  #contents .voice-link .img-2box-txt {
    width:100%;
  }

  #contents .voice-link .img-2box img {
    height:300px;
    object-position:top;
    width:100%;
  }

  .interview-box {
    margin:0 auto 30px;
    max-width:400px;
    width:100%;
  }

  .end.interview-box {
    margin:0 auto 30px;
  }

  #contents .voice-link .img-2box-txt {
    padding:20px 15px;
  }
}


/* view-559 Mobile,Tablet */
@media screen and (max-width: 559px) {
  /* 詳細ページ */
  .qa-area .qa-box {
    padding:20px 15px;
  }

  #contents p.qa-q-txt {
    font-size:18px;
    padding:0 0 15px 25px;
  }

  #contents p.qa-q-txt:before {
    font-size:20px;
    left:0;
    top:-2px;
  }

  #contents p.qa-a-txt {
    padding:15px 0 0 25px;
  }

  #contents p.qa-a-txt:before {
    font-size:20px;
    left:0;
  }

  #contents .voice-catch {
    font-size:20px;
    line-height:1.7em;
    margin-bottom:15px;
  }

  .affiliation {
    font-size:15px;
    margin-right:15px;
  }

  #contents .img-contents.flex .img-2box-txt.end h2 {
    font-size:25px;
    margin-bottom:25px;
  }

  .flow-contents {
    margin-top:70px;
  }

  #contents .flow-contents .flow-box .year-area {
    left:-30px;
    top:-35px;
  }

  #contents .flow-contents .flow-box {
    margin-bottom:55px;
    margin-left:30px;
    padding:30px 15px 20px;
  }

  #contents .flow-contents .flow-box:after {
    left:-20px;
    top:0;
  }

  #contents .flow-contents .flow-box:before {
    display:none;
  }

  #contents .flow-contents .flow-box h3 {
    font-size:20px;
    margin-bottom:10px;
  }
}
