.pagehead {
  background-image: url(../img/achievement/bg-achievement-pc.jpg);
}

@media screen and (max-width: 767px) {
  .pagehead {
    background-image: url(../img/achievement/bg-achievement-sp.jpg);
  }
}

#achievement table {
  width: 82.43045vw;
  max-width: 1126px;
  margin: min(2.93vw,40px) auto min(4.39vw,60px);
  font-size: min(1.17vw,1.6rem);
  border-collapse: collapse;
}

@media screen and (max-width: 767px) {
  #achievement table {
    width: 89.33vw;
    margin: 2.13vw auto;
    font-size: 4vw;
  }
}

#achievement table.kikaku, #achievement table.chousakenkyu {
  margin-bottom: min(7.32vw,100px);
}

@media screen and (max-width: 767px) {
  #achievement table tbody {
    width: calc(100vw - 40px);
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  #achievement table tr {
    display: flex;
    flex-wrap: wrap;
  }
}

#achievement table tr td,
#achievement table tr th {
  padding: min(0.37vw,5px) 0;
  border-bottom: 1px solid #cfcfcf;
}

#achievement table tr td.year {
  text-align: center;
  white-space: nowrap;
  width: 7.02782vw;
  max-width: 96px;
}

@media screen and (max-width: 767px) {
  #achievement table tr td.year {
    width: auto;
    max-width: unset;
    border: 0;
    padding: 3.2vw 0 0.53vw;
    font-weight: 700;
  }
}

#achievement table tr td.month {
  text-align: right;
  white-space: nowrap;
  width: 4.02635vw;
  max-width: 55px;
}

@media screen and (max-width: 767px) {
  #achievement table tr td.month {
    width: auto;
    max-width: unset;
    border: 0;
    padding: 3.2vw 0 0.53vw 4vw;
    font-weight: 700;
  }
}

#achievement table tr td.desc {
  text-align: left;
  padding-left: min(3.51vw,48px);
  /* &.row2 {
                    display: flex;
                    align-items: center;
                    @include mq('sp') {
                        display: block;
                        padding: 0 0 3.2vw;
                    }
                } */
}

@media screen and (max-width: 767px) {
  #achievement table tr td.desc {
    width: 100%;
    min-height: unset;
    display: block;
    padding: 0 0 3.2vw;
  }
}

#achievement table tr td.left {
  text-align: left !important;
}

@media screen and (max-width: 767px) {
  #achievement table tr td.left {
    width: 100%;
    margin: 0 auto;
    font-weight: 400 !important;
    border-bottom: 1px solid #cfcfcf;
    white-space: pre-wrap;
    padding: 0 0 3.2vw;
  }
}

#achievement table tr .row2 {
  height: min(4.28vw,58.5px);
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  #achievement table tr .row2 {
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  #achievement table tr:last-of-type td:last-of-type {
    width: 100%;
    margin-bottom: 8vw;
  }
}

.noborder {
  border: 0 !important;
}

td.right {
  text-align: right !important;
}

td.month.right {
  text-align: right !important;
  padding-right: 0 !important;
}

@media screen and (max-width: 767px) {
  p.year.sp {
    padding-right: 15px !important;
  }
}

#achievement ul.books-box {
  width: 82.43vw;
  max-width: 1126px;
  margin: max(-2.93vw, -40px) auto min(7.32vw, 100px);
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

@media screen and (max-width: 767px) {
  #achievement ul.books-box {
    width: 89.33vw;
    margin: 0 auto;
    flex-wrap: wrap;
    margin-top: -4vw;
    margin-bottom: 6.66667vw;
  }
}

#achievement ul.books-box li {
  width: 19.76574vw;
  max-width: 270px;
  height: 27.45242vw;
  max-height: 375px;
  margin-right: min(1.1vw, 15px);
  border-spacing: 0;
  margin-right: min(1.1vw, 15px);
}

#achievement ul.books-box li:last-of-type {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  #achievement ul.books-box li {
    width: 42.66667vw;
    max-width: unset;
    height: 61.33333vw;
    max-height: unset;
    margin-right: 0;
    margin-bottom: 4vw;
  }
}

@media (max-width: 280px) {
  #achievement ul.books-box li {
    height: auto;
  }
}

#achievement ul.books-box li .upside {
  width: 100%;
  height: 24.15813vw;
  max-height: 330px;
  padding: min(0.73vw,10px) min(0.37vw,5px);
  text-align: center;
  background: #fff;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #71a3a3;
  border-radius: min(1.1vw, 15px) min(1.1vw, 15px) 0 0;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  #achievement ul.books-box li .upside {
    height: 54.66667vw;
    max-height: unset;
    padding: 1.06667vw;
    border-radius: 4vw 4vw 0 0;
  }
}

@media (max-width: 256px) {
  #achievement ul.books-box li .upside {
    height: auto;
    min-height: 54.66667vw;
  }
}

#achievement ul.books-box li .upside img {
  height: 18.1552vw;
  max-height: 248px;
}

@media screen and (max-width: 767px) {
  #achievement ul.books-box li .upside img {
    display: block;
    height: 40vw;
    max-height: unset;
    margin: 0 auto;
  }
}

#achievement ul.books-box li .upside p {
  padding: min(0.73vw,10px) 0;
  font-weight: bold;
  font-size: min(1.46vw, 20px);
  line-height: min(1.76vw, 24px);
  /* @media (max-width:270px) {
                        transform: scale(0.9) translateX(calc(-6px + (-2.22vw + 6px)));
                    }
                    @media (max-width:260px) {
                        transform: scale(0.8) translateX(calc(-12px + (-4.29vw + 12px)));
                    }
                      @media (max-width:250px) {
                        transform: scale(0.8) translateX(calc(-12px + (-4.29vw + 12px)));
                    }
                    @media (max-width:240px) {
                        transform: scale(0.8) translateX(calc(-12px + (-5vw + 12px)));
                    } */
}

@media screen and (max-width: 767px) {
  #achievement ul.books-box li .upside p {
    font-size: 3.2vw;
    padding: 1.33333vw 0;
    line-height: 5.6vw;
  }
}

@media (max-width: 280px) {
  #achievement ul.books-box li .upside p {
    /* display: block;
                        width: 120px;
                        font-size: 10px;
                        padding: 0;
                        transform: scale(0.9) translateX(calc(-6px + (-2.14vw + 6px)));
                        transform-origin: 50% 50%;
                        margin: 0 auto; */
  }
  #achievement ul.books-box li .upside p br {
    display: none;
  }
}

#achievement ul.books-box li a p {
  color: inherit;
}

#achievement ul.books-box li:first-of-type p {
  padding: min(0.73vw,10px) min(0.37vw,5px);
}

#achievement ul.books-box li .downside {
  height: 3.29429vw;
  max-height: 45px;
  color: #fff;
  background: #066;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(1.31vw, 1.6rem);
  line-height: min(1.96vw, 24px);
  border-width: 0 1px 1px 1px;
  border-style: solid;
  border-color: #71a3a3;
  border-radius: 0 0 min(1.1vw, 15px) min(1.1vw, 15px);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  #achievement ul.books-box li .downside {
    height: 6.93333vw;
    max-height: unset;
    font-size: 3.73333vw;
    border-radius: 0 0 4vw 4vw;
  }
}

#achievement ul.books-box li .downside span {
  content: "";
  background-image: url(../common/img/icon-arrow-circle-white.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 1.83016vw;
  max-width: 25px;
  height: 1.83016vw;
  max-height: 25px;
  margin-left: min(0.41vw,5px);
}

@media screen and (max-width: 767px) {
  #achievement ul.books-box li .downside span {
    width: 3.73333vw;
    height: 3.73333vw;
    max-width: unset;
    max-height: unset;
  }
}

.book-gijutsushiryo-box {
  width: 52.48902vw;
  max-width: 717px;
  margin: min(2.93vw,40px) auto min(7.32vw,100px);
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box {
    width: 89.33vw;
    max-width: unset;
    margin: 5.33333vw auto 10.66667vw;
    display: block;
  }
}

.book-gijutsushiryo-box figure {
  width: 20.27818vw;
  max-width: 277px;
  border: 1px solid #707070;
}

.book-gijutsushiryo-box figure img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box figure {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 2.67vw;
  }
}

.book-gijutsushiryo-box .desc {
  width: 28.47731vw;
  max-width: 389px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box .desc {
    width: 100%;
    max-width: unset;
  }
}

.book-gijutsushiryo-box .desc .textbox {
  width: 28.11127vw;
  max-width: 384px;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box .desc .textbox {
    width: 100%;
    max-width: unset;
    margin-bottom: 2.67vw;
  }
}

.book-gijutsushiryo-box .desc .textbox p {
  width: 100%;
  font-size: min(1.17vw,1.6rem);
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box .desc .textbox p {
    font-size: 4vw;
    line-height: 6.4vw;
  }
}

.book-gijutsushiryo-box .desc .textbox p.title {
  font-size: min(1.46vw,2rem);
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box .desc .textbox p.title {
    font-size: 5.33vw;
  }
}

.book-gijutsushiryo-box .desc .textbox p span.red-box {
  display: inline;
  color: #f00;
  font-size: min(1.1vw,1.5rem);
  line-height: min(1.9vw,26px);
  font-weight: 500;
  border: 1px solid #f00;
  padding: min(0.15vw,2px) min(0.59vw,8px);
  margin-left: min(0.44vw,6px);
  vertical-align: text-bottom;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box .desc .textbox p span.red-box {
    font-size: 4.26667vw;
    line-height: 1;
    width: 18.13vw;
    margin-left: 1.6vw;
    padding: 0 1.06667vw;
    vertical-align: unset;
  }
}

.book-gijutsushiryo-box .desc .textbox p.bdr-btm {
  border-bottom: 1px solid #707070;
  padding: min(0.73vw,10px) 0;
}

.book-gijutsushiryo-box .desc .textbox p.kikousha {
  padding: min(0.73vw,10px) 0;
}

.book-gijutsushiryo-box .pdf-link {
  font-size: min(1.17vw,1.6rem);
  text-align: center;
  padding: min(1.32vw,18px);
  background: #caebeb;
  border: 1px solid #066;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box .pdf-link {
    font-size: 4vw;
    padding: 4.8vw;
  }
}

.book-gijutsushiryo-box .pdf-link a {
  display: block;
  width: 21.96193vw;
  height: 4.39239vw;
  max-width: 300px;
  max-height: 60px;
  margin: min(0.73vw,10px) auto 0;
  font-size: min(1.17vw,1.6rem);
  color: #fff;
  border-radius: min(0.37vw,5px);
  background: #066;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box .pdf-link a {
    width: 68.53vw;
    height: 13.33vw;
    max-width: unset;
    max-height: unset;
    font-size: 4vw;
    border-radius: 1.33333vw;
    margin: 2.66667vw auto 0;
  }
}

.book-gijutsushiryo-box .pdf-link a:hover {
  opacity: 0.6;
}

.book-gijutsushiryo-box .pdf-link a span {
  content: "";
  background-image: url(../common/img/icon-arrow-circle-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.83016vw;
  height: 1.83016vw;
  max-width: 25px;
  max-height: 25px;
  margin-left: min(0.37vw,5px);
}

@media screen and (max-width: 767px) {
  .book-gijutsushiryo-box .pdf-link a span {
    width: 6.67vw;
    height: 6.67vw;
    max-width: unset;
    max-height: unset;
    margin-left: 1.33vw;
  }
}

@media screen and (max-width: 767px) {
  #achievement table.chousakenkyu {
    margin-bottom: 10.67vw;
  }
}

.modal-open {
  cursor: pointer;
  color: #000;
}

.modal-open:hover {
  opacity: 0.6;
  text-decoration: unset;
}

.modal .modal-box {
  padding: min(2.2vw,30px) min(7.32vw,100px) min(5.86vw,80px);
}

@media screen and (max-width: 767px) {
  .modal .modal-box {
    padding: 5.33333vw 0 8vw;
  }
}

.modal .modal-title {
  font-size: min(2.28vw,2.8rem);
  font-weight: 700;
  color: #066;
  text-align: center;
  padding: min(2.28vw,2.8rem);
}

@media screen and (max-width: 767px) {
  .modal .modal-title {
    padding: 0 0 5.33333vw;
    font-size: 5.33333vw;
    line-height: 9.33vw;
  }
}

.modal .modal-desc {
  font-size: min(1.17vw,1.6rem);
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .modal .modal-desc {
    flex-direction: column-reverse;
    width: 100%;
    font-size: 4.26667vw;
    padding: 0 8vw;
  }
}

.modal .modal-desc .text {
  width: 36.60322vw;
  max-width: 500px;
}

@media screen and (max-width: 767px) {
  .modal .modal-desc .text {
    width: 100%;
    max-width: unset;
    margin: 0 auto;
  }
}

.modal .modal-desc .text h5 {
  font-size: min(1.17vw,16px);
  padding-bottom: min(0.73vw,10px);
}

@media screen and (max-width: 767px) {
  .modal .modal-desc .text h5 {
    font-size: 4.26667vw;
    padding-bottom: 2.66667vw;
  }
}

.modal .modal-desc .text ol > li {
  margin-bottom: min(1.76vw,24px);
}

.modal .modal-desc .text ol li:last-child {
  margin-bottom: 0;
}

.modal .modal-desc .text ul {
  text-indent: 1em;
}

.modal .modal-desc .text ul li {
  text-indent: -1.5em;
  padding-left: 2.5em;
}

.modal .modal-desc .text ul li.indent-more {
  text-indent: -1.65em;
  padding-left: 2.65em;
}

.modal .modal-desc .text ul li.indent-more2 {
  text-indent: -2.1em;
  padding-left: 3.1em;
}

.modal .modal-desc .text .padding-1em {
  padding-left: 1em;
}

.modal .modal-desc .img {
  width: 24.15813vw;
  max-width: 330px;
}

@media screen and (max-width: 767px) {
  .modal .modal-desc .img {
    width: 54.13333vw;
    max-width: unset;
    margin: 0 auto 5.33333vw;
  }
}

p.notice {
  font-size: min(1.02vw,14px);
  text-align: center;
  margin-top: min(2.93vw,40px);
  margin-bottom: min(1.46vw,20px);
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  p.notice {
    font-size: 3.2vw;
    padding: 0 8vw;
    margin-top: 10.66667vw;
    margin-bottom: 5.33333vw;
  }
}

a.pdfdl {
  width: 21.96193vw;
  max-width: 300px;
  height: 3.66032vw;
  min-height: 50px;
  margin: 0 auto;
  border-radius: min(0.41vw,5px);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(1.17vw,1.6rem);
  font-weight: bold;
  color: #fff;
  background: #D87B3E;
}

@media screen and (max-width: 767px) {
  a.pdfdl {
    width: 78.66667vw;
    max-width: unset;
    height: 13.33333vw;
    min-height: unset;
    margin: 0 auto;
    font-size: 4.26667vw;
    border-radius: 1.33333vw;
  }
}

a.pdfdl:hover {
  opacity: 0.6;
}

a.pdfdl:after {
  content: "";
  background-image: url(../common/img/icon-arrow-circle-white.svg);
  width: 1.39092vw;
  max-width: 19px;
  height: 1.39092vw;
  max-height: 19px;
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin-left: min(0.22vw,3px);
}

@media screen and (max-width: 767px) {
  a.pdfdl:after {
    width: 5.06667vw;
    max-width: unset;
    height: 5.06667vw;
    max-height: unset;
    margin-left: 0.8vw;
  }
}
