@charset "shift-jis";

/**/
details {
  margin-top: 150px;
  width: 100%;
}
summary {
  list-style: none;
  cursor: pointer;
  width: 100%;
  margin: 0 auto;
}
summary::-webkit-details-marker {
  display: none;
}
.test-subject {
  margin: 0 auto;
  display: block;
  width: 100%;
  text-align: center;
  color: #468370;
  font-weight: bold;
  font-size: 2.1em;
  padding-top: 1em;
}

.test-q-wrap {
  border: 4px solid #468370;
  padding: 0 0.8em;
}
.test-q-wrap p {
  font-size: 1.2em;
  font-weight: bold;
}
.test-q-wrap2 {
  width: 100%;
  margin: 0 auto;
}
.test-q {
  width: 70%;
  margin: 0 auto;
}
.test-q ul {
  width: auto;
  list-style: none;
  margin-left: 0 !important;
}
.test-q ul>li {
  display: flex;
  background: #cde7de;
  align-items: flex-start;
  border-bottom: 2px dotted;
  padding-top: 0.5em;
}
.test-q ul>li:last-child {
  border-bottom: none;
}
.test-q li span:first-child img {
  width: 82px;
  padding: 0.25em 1em;
}
.test-q li div {
  width: 80%;
  font-weight: bold;
  color: #000;
  text-align: left;
  padding: 1em;
}
.test-q li div ol {
  padding: 1em 1.5em;
  margin-left: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.test-q li div ol li {
  margin: 0;
  width: auto;
  font-weight: normal;
  padding-right: 2em;
}
.test-q li p {
  display: flex;
  align-items: center;
}
.test-q li p img,
.test-q li p .q-img img {
  width: 60px;
  height: auto;
  padding: 0 0.5em;
}
.test-q-2 {
  width: 70%;
  margin: 1em auto;
}
.test-q-2 li {
  background: #D3EBE3;
  padding: 0.5em 1.5em;
  box-sizing: border-box;
  margin-bottom: 1em;
}
.test-q-2 h3,
.test-answer-wrap h3 {
  border-left: 5px solid #468370;
  font-size: 1.3em;
  padding-left: 1em;
  margin-bottom: 1em;
}
.test-q-2 p {
  padding: 0.5em 1.5em;
}
.test-table-title {
  font-size: 1.1em;
  font-weight: bold;
}
.test-answer-wrap {
  padding: 0.5em;
}
.test-answer-wrap p {
  padding: 0.5em 1.5em;
}
.test-a-box {
  margin: 0.5em auto 1.5em;
  width: 50%;
  border: 4px solid #468370;
  border-radius: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.test-a-box p {
  font-size: 1.7em;
  font-weight: bold;
  padding: 0.5em;
  margin: 0;
}
.test-a-img {
  margin: 0 auto;
  width: 80%;
}
.test-a-img p {
  font-weight: bold;
}
.test-list-wrap {
  width: 100%;
}
.test-list {
  width: 70%;
  margin: 0 auto;
}
.test-list-title {
  font-size: 1.2em;
  padding: 0 1em;
}
.test-list ol {
  list-style: none;
  margin-left: 1em
}
.test-list ol li {
  font-weight: bold;
  padding-bottom: 0.5em;
}
.test-list ol li a {
  text-decoration: underline;
}
.details-wrap .ready-wrap {
  width: 70%;
  margin: 0 auto;
  border: 4px solid #27856F;
  padding: 0 0.8em;
  box-sizing: border-box;
  border-radius: 1em;
  min-height: 120px
}
.test-q-wrap2 .ready-wrap {
  width: 50%;
  margin: 0 auto 60px;
  border: none;
  background: #27856F;
  padding: 0 0.8em;
  box-sizing: border-box;
  min-height: 120px
}
.test-q-wrap2 .ready-wrap:hover {
  background: #71C7B3;
}
.ready-txt {
  text-align: center;
  font-size: 1.4em;
  font-weight: bold;
  margin: 0;
  padding: 0.5em 0 0;
}
.test-summary-title,
.ready-title {
  padding-top: 0.5em;
  margin: 0 auto;
  display: block;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 2em;
  position: relative;
}
.ready-title img {
  width: 50px;
  height: 30px;
}
.test-summary-title span {
  color: #468370;
}
.ready-title span{
  color: #fff;
}

.details-wrap {
  padding-top: 2em;
}
.test-bad-wrap {
  padding: 0 0.5em;
}
.test-bad-wrap ul li {
  display: flex;
  padding-bottom: 2em;
}
.test-bad-wrap ul li img {
  width: 90px;
  height: 50px;
  padding-right: 1em;
}
.test-bad-wrap ul li p,
.test-bad-wrap ul li a {
  font-weight: bold;
  font-size: 1em;
  margin: 0;
}
.test-bad-wrap ul li a {
  display: block;
  padding-top: 0.5em;
  color: #468370;
}

@media screen and (max-width: 767px) {
  #breadcrumbs {
    display: none;
  }
  .test-q,
  .test-q-2,
  .test-list,
  .test-a-img,
  .ready-wrap,
  .details-wrap .ready-wrap,
  .test-q-wrap2 .ready-wrap {
    width: calc(100% - 2.5% * 2);
  }
  .test-q li p {
    flex-wrap: wrap;
  }
  .test-q li p img {
    padding: 0.25em;
  }
  .test-a-box {
    width: calc(80% - 2.5% * 2);
  }
}
/* ////////////////////////////////////
// override setting
//////////////////////////////////// */

.challenge-button .button-circle{
  background: #f0c25d !important;
}
.class-link-wrap .button-circle {
  background: #fff !important;
  width: 80px;
  height: 80px;
}
.class-link-wrap .button-circle:hover{
  background: #257e69 !important; /* #71C7B3 */
}

.button-circle {
  width: 95px;
  height: 95px;
}
.class-link-wrap .view-detail-element-wrapper span {
  font-size: 1.3vw !important;
}
.challenge {
  padding-top: 1.2em;
  font-weight: bold;
  font-size: 0.9em !important;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .class-link-wrap a.button-circle span {
    color: #fff !important;
  }
  .class-link-wrap .view-detail-element-wrapper span {
    font-size: 1.2em !important;
  }
}
@media print {
  .button-circle {
    width: 40px;
    height: 40px;
  }
}

.content-body-textarea figure {
    margin-bottom: 1.6em;
}

/* ////////////////////////////////////
// common setting
//////////////////////////////////// */
.main-title span {
  font-size: 0.7em;
}
@media screen and (max-width: 767px) {
  h1.ebpm-top {
    margin-bottom: 0 !important;
  }
  .main-title span {
    display: block;
  }
}

.content-wrapper {
  margin: 1.5%;
}
.ebpm-top.content-wrapper {
  margin: 7.5% 0;
}
@media screen and (max-width: 767px) {
  .content-wrapper {
    margin: 2.5%;
  }
  .ebpm-top.content-wrapper {
    margin: 7.5% 2.5%;
  }  
}

.reference-list,
.kw-link .reference-list,
.semi-link .reference-list {
  width: 100%;
  margin-top: 0;
}
.kw-link .reference-list .link,
.semi-link .reference-list .link {
  color: #27856F !important;
}
.kw-link .reference-list .subject,
.semi-link .reference-list .subject {
  font-weight: bold;
}
.kw-link .reference-list .subject {
  font-size: 1.0em;
}

.kw-link ul,
.semi-link ul {
  margin-left: 0 !important;
  list-style-type: none !important;
}
.kw-link li {
  font-size: 0.9em;
  line-height: 1.6;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .semi-link li {
    justify-content: flex-start !important;
  }
  .kw-link li a {
    display: inline-block;
  }
}

.info-new {
  font-size: 1.3em;
}
.info-new span {
  font-size: 0.9em;
  color: #e32521;
  padding-right: 0.5em;
}
@media screen and (max-width: 767px) {
  .info-new {
    font-size: 1.0em;
  }
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
  margin-right: 2.5%;
}

figure.separate30 {
  width: 30%;
}
figure.separate60 {
  width: 60%;
}
figure.separate60.floating-right {
  float: right;
  margin-left: 5%;
  margin-bottom: 5%;
}

@media screen and (max-width: 767px) {
  figure.separate30 {
    width: 100%;
  }
  figure.separate60 {
    width: 100%;
  }
  figure.separate60.floating-right {
      float: none;
      margin-left: 0;
      order: 2;
  }
}

a.insite-link-space {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}
@media screen and (max-width: 767px) {
  a.insite-link-space {
    padding-top: 160px;
    margin-top: -160px;
  }
}

/* ////////////////////////////////////
// keyword setting
//////////////////////////////////// */
.kw-list {
  width: 100%;
}
.kw-list dt,
.kw-list dd {
  margin: 0;
  width: 100%;
}
.kw-list dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 2px dashed #ddd;
}
.kw-list span {
  flex-basis: 92%;
  font-size: 1.2em;
}
.kw-list dt img {
   flex-basis: 8%;
   width: 12%;
   max-width: 75px;
}
.kw-list dd {
  display: none;
}
.kw-close {
  margin-top: 50px;
  text-align: right;
  cursor: pointer;
}
.kw-close img {
  width: 12%;
  max-width: 75px;
  min-width: 50px;
}
.toggle-btn {
  cursor: pointer;
}
.toggle-area p,
.toggle-area figure img,
.toggle-area .kw-link {
  width: 88%;
}
a.anchor {
  display: block;
  padding-top: 132px;
  margin-top: -132px;
}

/* ////////////////////////////////////
// seminar shiga setting
//////////////////////////////////// */
#shiga {
  margin: 1.5%;
  background: #cde8df;
  border-radius: 20px;
}
#shiga-wrap {
  width: 100%;
  padding: 1.5% 8% 6%;
}
@media screen and (max-width: 767px) {
  #shiga-wrap {
    width: calc(100% - 2.5% * 2);
    padding: 1.5% 2.5% 6%;
  }
}

#shiga-wrap p {
  line-height: 1.6;
}
#shiga h2 {
  text-align: center;
  font-size: 1.6em;
  display: flex;
  align-items: center;
  justify-content: center;
}
#shiga h2 img {
  width: 8%;
  padding-right: 1em;
}
#shiga h3 {
  font-size: 1.4em;
}
#shiga h3 span {
  color: #71C7B3;
  font-size: 1.2em;
  padding-right: 0.5em;
}
#shiga h4 {
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  color: #468370;
  margin-bottom: 0;
}
#shiga img.drop-shadow {
  box-shadow: 5px 5px 5px 3px #999;
}
#shiga-problem {
  width: 100%;
  margin: 0 auto;
  background: #ffe800;
}
#shiga-problem-wrap {
  padding: 2.5% 8%;
}
#shiga-problem h3 {
  font-size: 1.5em;
  text-align: center;
  border-bottom: 1px dashed #000;
}
#shiga-problem li {
  margin-bottom: 1em;
}
#shiga-problem li strong {
  font-size: 1.6em;
  font-weight: bold;
}
#shiga .img-real-size {
  width: 5%;
  max-width: 36px;
}
#shiga img.shiga-w30 {
  width: 5%;
  max-width: 36px;
}
@media screen and (max-width: 767px) {
  #shiga img.shiga-w30 {
    width: 24px;
    height: auto;
  }
}
#shiga .floating-center {
  margin: 0 auto;
  text-align: center;
}
.shiga-white-kaku {
  background: white;
  padding: 0.5% 8%;
}
.shiga-white-kaku h4 {
  color: #000000 !important;
  border-bottom: 1px dashed #000000;
  font-size: 1.6em !important;
}
.shiga-white-kaku h4 span {
  font-size: 0.8em;
}
.shiga-plus-minus {
  display: flex;
  justify-content: flex-start;
  width: 90%;
  margin: 0 auto;
}
.shiga-pm-right {
  align-self: flex-start;
  margin-left: 5%;
  margin-top: 2.0%;
}
.shiga-plus-minus img {
  margin-top: 0;
  max-width: 61px;
  max-height: 77px;
}
.shiga-plus-minus h5 {
  font-size: 1.4em;
  font-weight: bold;
  margin-top: 4%;
  margin-bottom: 0;
}
.shiga-plus-minus ul {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .shiga-plus-minus {
    width: 100%;
  }
  .shiga-pm-right {
    margin-top: 24px;
  }
  .shiga-plus-minus h5 {
    margin-top: 0%;
  }
  
}
.shiga-white-maru {
  background: white;
  padding: 0.5% 8%;
  border-radius: 20px;
}
.shiga-qa dt,
.shiga-qa dd {
  padding: 1.5%;
  line-height: 1.7;
}
.shiga-qa dd {
  margin-left: 0;
  margin-bottom: 50px;
}
.shiga-qa dt span,
.shiga-qa dd span {
  font-family: "serif";
  font-weight: bold;
  line-height: 1;
  font-size: 2em;
  padding-right: 0.5em;
}
#shiga ul {
  list-style: disc;
  margin: 5% 0 5% 1.5em;
}
#shiga ul li {
  line-height: 1.6;
  margin-bottom: 1.0em;
}

#semi-point h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4em;
}
#semi-point h3 img {
  width: 24%;
  padding-right: 1em;
}

#semi-point {
  background: #fff;
}

#semi-point ol {
  counter-reset: point-list;
  list-style: none;
  display: block;
  background: #3e7865;
  padding: 4% 4% 3%;
  width: 78%;
  margin: 0 auto;
}
#semi-point ol li {
  font-size: 1.4em;
  margin-bottom: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  #semi-point ol {
    margin-left: 0;
    width: 100%;
  }
  #semi-point ol li {
    font-size: 1.0em;
  }
}

@media print {
  #semi-point ol li {
    font-size: 12px;
  }
}
#semi-point ol li::before {
  counter-increment: point-list;
  content: counter(point-list);
  float: left;
  margin-right: 25px;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.4em;
  text-align: center;
  width: 1.5em;
  height: 1.5em;
  background: #fff;
  color: #000;
  border-radius: 0.75em 0.75em;
}

#semi-point ol li span {
  color: #fff;
  width: 90%;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  #semi-point ol li span {
    width: 100%;
  }
}

.semi-ppdac-list {
  margin: 2em 0;
}
.semi-ppdac-list ul {
  list-style: none;
  margin-left: 0 !important;
}
.semi-ppdac-list li {
  display: flex;
  flex-flow: row wrap;
  line-height: 1.6;
  justify-content: flex-start;
  align-items: flex-start;
}
.semi-ppdac-list li span:first-child {
  flex-basis: 18%;
}
@media screen and (max-width: 767px) {
  .semi-ppdac-list li {
    flex-flow: column wrap;
  }
  .semi-ppdac-list li span {
    flex-basis: 100%;
  }
}


/* ////////////////////////////////////
// seminar setting
//////////////////////////////////// */
#semi-title {
  width: 64%;
  text-align: center;
  margin: 5% auto;
}
#semi-title.wide {
  width: 80%;
}
@media screen and (max-width: 767px) {
  #semi-title {
    width: 100%;
    margin: 0 auto 5%;
  }
  #semi-title.wide {
    width: 100%;
  }
}
#title-wrap {
  background: #468370;
}
#title-wrap-2 {
  background: #316db1;
}
.title-txt h2 {
  padding: 2.0%;
  font-size: 2.2rem;
  color: #fff;
}

.title-txt h2 span {
  font-size: 1.6rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #title-wrap {
    border-top: 1px solid #468370;
  }
  #title-wrap-2 {
    border-top: 1px solid #316db1;
  }
  .title-txt h2 {
    font-size: 1.6rem;
  }
  .title-txt.wide {
    padding-bottom: 1%;
  }
  .title-txt h2 span {
    font-size: 1.4rem;
  }
}
#title-img {
  margin: 0 auto;
}
#title-img img.semi2-1 {
  margin-bottom: -3px;
}
#title-img.narrow {
  width: 50%;
}
#title-img.narrow30 {
  width: 30%;
}
#title-img.narrow-ppdac {
  min-width: 116px;
  max-width: 154px;
  width: 20%;
}
#title-img.narrow-abc {
  min-width: 92px;
  max-width: 139px;
  width: 20%;
}
#title-img.narrow-c {
  width: 50%;
  min-width: 240px;
  max-width: 360px;
}
#title-img.narrow-kw {
  width: 50%;
  min-width: 232px;
  max-width: 348px;
}

.img-overwrap {
  margin: 0 -10% !important;
}
@media screen and (max-width: 767px) {
  #title-img.narrow {
    margin-top: 2.5%;
    width: 60%;
  }
  #title-img.narrow30 {
    margin-top: 2.5%;
    width: 60%;
  }
  #title-img.narrow-ppdac {
    margin-top: 2.5%;
    min-width: 116px;
  }
  #title-img.narrow-abc {
    margin-top: 3.0%;
    min-width: 92px;
  }
  #title-img.narrow-c {
    margin-top: 2.5%;
    width: 240px;
  }
  .img-overwrap {
    margin: 0 5% !important;
  }
}
#semi-title-wrap {
  margin: 2.5% auto;
  width: 80%;
  border-top: 10px solid #cde8df;
}
#semi-title-wrap h1 {
  margin-bottom: 0;
  font-size: 2.0em;
}
#semi-title-wrap h1 span {
  display: block;
  font-weight: normal;
  font-size: 0.7em;
  padding-left: 1em;
}
#semi-title-wrap p {
margin-top: 0;
  font-weight: bold;
  font-size: 1.2em;
}
#semi-title-wrap p span {
  font-weight: normal;
  font-size: 0.8em;
}

.semi-img-wrap {
  margin: 1.12em 0;
}
.semi-img-wrap.double-img {
  display: flex;
  width: 80%;
}
.semi-img-wrap.double-img figcaption {
  font-weight: bold;;
  text-align: center;
}
.fig-title {
  font-size: 1.4em;
  font-weight: bold;
  color: #468370;
  padding: 1em 0
}
.semi-title-wrap-02 {
  margin-top: -28px;
  padding-top: 10px;
  border: 5px solid #468370;
  border-top: none;
}
.semi-title-wrap-02 h1 {
  color: #468370;
}
.title-number {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5em 1em;
  border-bottom: 10px solid #c0dad1;
  font-size: 1.8em;
}
.title-number img {
  width: 33px;
  height: 33px;
  padding-right: 0.5em;
}
.semi-table-container {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.semi-table-container .semi-table {
  width: 70%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .semi-title-wrap-02 h1 {
    font-size: 1.6em;
  }
  .title-number {
    padding: 0 1em 0.5em;
    font-size: 1.6em;
  }
  .title-number img {
    width: 22px;
    height: 22px;
  }
  .semi-table-container .semi-table,
  .semi-img-wrap.double-img {
    width: 95%;
  }
  .semi-img-wrap.double-img img {
    padding: 0.2em;
  }
  .semi-img-wrap.double-img figcaption {
    font-size: 0.8em;
  }
}
.semi-table caption {
  font-size: 1.4em;
  font-weight: bold;
  color: #468370;
  padding: 1em 0;
}
.semi-table .th-txt {
  padding: 0.5em 1em 0.5em 0.5em;
  font-size: 1.2em;
  background: #94c1b5;
}
.semi-table .th-txt-2 {
  vertical-align: top;
  padding: 0.5em 1em 0.5em 0.5em;
  font-size: 1.2em;
  color: #fff;
  background: #468170;
  text-align: left;
}
.semi-table .th-txt-3 {
  padding: 0.5em 1em 0.5em 0.5em;
  font-size: 1em;
  background: #94c1b5;
}
.semi-table .th-number {
  display: flex;
  justify-content: center;
  align-items: stretch;
  padding: 0.6em 0.2em;
  font-size: 1.1em;
  background: #94c1b5;
  min-height: 84px;
}
.semi-table .th-number span {
  display: inline-flex;
  padding-left: 0.2em;
  align-self: center;
  word-break: keep-all;
}
.th-number img {
  align-self: center;
  width: 22px;
  height: 22px;
}
.semi-table.has-border {
  border-spacing: 0;
  border-collapse: collapse;
}
.semi-table.has-border th,
.semi-table.has-border td {
  border: 1px solid #666;
}
.semi-table .td-white td {
  background: #fff;
  text-align: right;
}
.semi-table.has-border .txt-left {
  text-align: left;
}
.semi-table .txt-bold td {
  font-weight: bold;
  text-align: right;
}
.semi-table td {
  padding: 0.5em;
  background: #cce6dd;
  text-align: center;
  vertical-align: middle;
}
.semi-table td .white-box {
  background: #fff;
  padding: 0.25em 0.5em;
  font-weight: bold;
  border-radius: 5px
}
.semi-table td p {
  text-align: left;
  margin: 0.5em;
}
.semi-table td span {
  font-size: 0.9em;
}
.semi-table .second-title {
  font-size: 1.2em;
  text-align: left;
  word-break: keep-all;
}
.semi-table.semi4-2-2 th {
  padding-bottom: 0;
}
.semi-table.semi4-2-2 th img {
  margin-bottom: -0.2em;
}
.semi-table.semi4-2-2 ul {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}
.semi-table.semi4-2-2 li {
  width: 90%;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .th-number img {
    width: 22px;
    height: 22px;
  }
}
/**/
.semi4-2-1-table {
  width: 70%;
  margin: 0 auto;
}
.semi4-2-1-table td {
  background: #edf1f8;
  font-weight: bold;
}
.semi4-2-1-table .empty {
  background: #fff;
}
.semi4-2-1-table .tips {
  background: #fff;
  text-align: right;
}
.semi4-2-1-table .tips span::before {
  display: inline-block;
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: #f0c25d;
  margin-right: 0.3em;
  position: relative;
  top: 2px;
}
.semi4-2-1-table .tips span:last-child::before {
  background: #036fa9;
}
.semi4-2-1-table th {
  background: #c3d0e9;
  padding: 0.5em 0;
}
.semi4-2-1-table td.cho {
  background: #f0c25d;
}
.semi4-2-1-table td.tan {
  color: #fff;
  background: #036fa9;
}
.summary-title-wrap {
  width: 100%;
  height: 50px;
  background: #fdcf5d;
  position: relative;
}
.summary-title-wrap img {
  position: absolute;
  bottom: 0;
  left: 20px;
  width: 80px;
  height: auto;
}
.summary-title-wrap img.left-woman {
  left: auto;
  right: 20px;
}
.summary-title {
  font-size: 1.6em;
  text-align: center;
  padding: 0.2em;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .summary-title-wrap img {
    width: 50px;
    height: auto;
    bottom: 50px;
  }
  .summary-title {
  font-size: 1.4em;
    line-height: 1.8;
  }
}
.summary-wrap {
  width: 100%;
}
.summary-ol {
  width: auto;
  margin: 0 auto;
  counter-reset: point-list;
  list-style: none;
  display: block;
  padding: 4% 4% 3%;
  background: #036fb6;
}
.summary-ol li {
  display: flex;
  align-items: stretch;
  padding-bottom: 1.5em;
}
.summary-ol li::before {
  counter-increment: point-list;
  content: counter(point-list);
  margin-right: 0.5em;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.4em;
  text-align: center;
  width: 1.5em;
  height: 1.5em;
  background: #fff;
  color: #000;
  border-radius: 50%;
}
.summary-ol li span {
  padding-left: 1em;
  font-size: 1.4em;
  color: #fff;
  width: 95%;
  flex: 1;
}
.semi-sample-dl-wrap h4,
.semi-sample-q-wrap h4,
.semi-sample-q-wrap h5 {
  text-align: center;
  font-size: 1.4em;
  font-weight: bold;
  color: #468370;
  padding: 1em 0 0;
  margin: 0;
}
.semi-sample-q-wrap h5 {
  padding: 0;
  margin: 0;
}
.semi-sample-dl-wrap {
  width: 100%;
}
.semi-sample-dl {
  background: #c0dad1;
  width: 100%;
  padding: 1em;
  box-sizing: border-box;
}
.semi-sample-dl dl {
  display: flex;
  width: 100%;
}
.semi-sample-dl dt {
  width: 40%;
  background: #468170;
  color: #fff;
  text-align: center;
  font-size: 1.1em;
  font-weight: bold;
  border-radius: 10px;
  padding: 1em;
}
.semi-sample-dl dt.reversal {
  background: transparent;
  color: #468170;
  border: 3px solid #468170;
}
.semi-sample-dl dd {
  margin-left: 1em;
  width: 60%;
  font-size: 0.95em;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.semi-sample-dl dd p {
  display: flex;
  margin: 0 0 0.5em;
}
.semi-sample-dl dd div {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .semi-sample-dl dt.reversal {
    padding: 3em 0;
  }
  .semi-sample-dl dd p {
    flex-flow: column wrap;
    margin: 0 0 0.5em;
  }
  .semi-sample-dl dd div {
    flex-flow: row nowrap;
  }
}
.semi-sample-dl dd strong {
  white-space: nowrap;
  padding-right: 0.5em;
}
.semi-sample-dl dd img {
  width: 30px;
  height: auto;
  padding-right: 1em;
}
.arrow-conclusiton {
  width: 100%;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 120px;
}
.arrow-conclusiton.mb0 {
  margin-bottom: 0;
}
.arrow-conclusiton img {
  width: 36px;
  height: auto;
}
.arrow-conclusiton .arrow-after-box {
  margin: 0.5em auto 0;
  width: 70%;
  background: #036fb6;
  padding: 0.5em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .arrow-conclusiton .arrow-after-box {
    width: 90%;
  }
}
.symbols-wrap {
  display: block;
  width: 100%;
}
.symbols-wrap ul {
  display: flex;
  justify-content: center;
  flex-flow: column wrap;
}
.symbols-wrap li {
  width: 25%;
  height: 40px;
  display: flex;
  align-items: center;
  padding-bottom: 0.5em;
}
.symbols-wrap li img {
  width: 40px;
  height: 44px;
  padding-right: 1em;
}
.symbols-wrap.wh60 li img {
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 767px) {
  .symbols-wrap li {
    width: 50%;
  }
}
.semi-sample-q {
  width: auto;
  margin: 0 5%;
}
.semi-sample-q ul {
  width: auto;
  list-style: none;
  margin-left: 0 !important;
}
.semi-sample-q li {
  display: flex;
  background: #cde7de;
  align-items: flex-start;
  margin-bottom: 0.25em;
}
.semi-sample-q li span:first-child {
  background: #000;
  color: #fff;
  width: 10%;
  padding: 0.25em;
  text-align: center;
}
.semi-sample-q li span:last-child,
.semi-sample-q li div {
  width: 80%;
  font-weight: bold;
  color: #000;
  padding: 1em;
}
.semi-sample-q li div ol {
  padding-top: 1em;
  margin-left: 0;
}
.semi-sample-q li div ol li {
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  #semi-title-wrap h1 span {
    display: block;
    }
}

.semi-body h4,
.semi-body em {
  font-size: 1.4em;
  margin-bottom: 0;
  font-style: normal;
}
.semi-body h5 {
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  color: #468370;
  margin-bottom: 0;
}
.semi-textarea {
  width: 80% !important;
}
.semi-textarea strong {
  font-size: 1.1em;
}
.semi-textarea p a.textarea-link {
  color: #2a55c5 !important;
}
.semi-kaku-head h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.semi-kaku-head h3 img {
  width: 6%;
  max-width: 44px;
  min-width: 22px;
  padding-right: 0.5em;
}
.semi-kaku-head h3 span {
  font-size: 1.0em !important;
  color: #000 !important;
  vertical-align: top;
}
.semi-kaku-head h3 span.small-text {
  font-size: 0.8em !important;
}

@media screen and (max-width: 767px) {
  .semi-body {
    justify-content: flex-start !important;
  }
  .semi-body em {
    font-size: 1.2em;
  }
  .semi-textarea {
    justify-content: flex-start !important;
  }
  .semi-kaku-head h3 {
    display: inline-block;
    justify-content: flex-start;
    align-items: center;
  }
  .semi-kaku-head h3 img {
    width: 32px;
  }  
  .semi-kaku-head h3 span {
    display: inline-block;
  }
  .semi-kaku-head h3 span.small-text {
    display: block;
  }
}
.semi-code-text {
  margin: 2em auto !important;
  border: 2px solid #71C7B3;
  padding: 0.5em;
  text-align: center;
  font-weight: bold;
}

.semi-menu {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center;
}
.semi-menu-title {
  padding-left: 2.5%;
  font-size: 1.5rem;
  font-weight: bold;
  flex-basis: 40%;
}
.semi-menu-title.semi2 {
  flex-basis: 40% !important;
} 
.semi-menu-title.ppdac {
  flex-basis: 80%;
}
.semi-menu-text {
  flex-basis: 40%;
}
.semi-menu-text.semi2 {
  flex-basis: 40% !important;
}
.semi-menu-text.semi2 p {
  font-size: 1.2em;
  font-weight: bold !important;
}
.semi-menu-text.semi2 p span {
  font-size: 0.8em;
  font-weight: normal !important;
}


.semi-menu-title.semi3 {
  flex-basis: 36% !important;
} 
.semi-menu-text.semi3 {
  flex-basis: 44% !important;
}
.semi-menu-text.semi3 p {
  display: flex;
  align-items: center;
  font-size: 1.5em;
  font-weight: bold !important;
}
.semi-menu-text.semi3 p img {
  width: 22px;
  height: 22px;
  padding-right: 0.5em;
}


@media screen and (max-width: 767px) {
  .semi-menu-title {
    flex-basis: 100%;
  }
  .semi-menu-title.ppdac {
    flex-basis: 100%;
  }
  .semi-menu-text {
    padding-left: 2.5%;
    flex-basis: 100%;
  }
  .semi-menu-text p {
    margin: 0;
  }  
  .semi-menu-title.semi2,
  .semi-menu-title.semi3 {
    flex-basis: 100% !important;
  } 
  .semi-menu-text.semi2,
  .semi-menu-text.semi3 {
    flex-basis: 100% !important;
  }
}

.semi-content-subject {
  width: 90%;
  border-bottom: 0.25em solid #3e7865;
  text-align: center;
}
.semi-content-subject span {
  color: #3e7865;
  font-size: 1.8em;
  font-weight: bold;
}
h4.semi-content-subject {
  border: none;
  text-align: left;
  width: 80%;
  font-weight: bold;
  font-size: 1.2em;
}
.semi-textarea h5 {
  font-weight: bold;
  font-size: 1.2em;
}
@media screen and (max-width: 767px) {
  .semi-content-subject span {
    color: #3e7865;
    font-size: 1.4em;
    font-weight: bold;
  }
}
.w90 {
  margin: auto;
  width: calc(90% - 15px);
}
.w80 {
  margin: auto;
  width: calc(80% - 15px);
}
.w75 {
  margin: auto;
  width: calc(75% - 15px);
}
.w72 {
  margin: auto;
  width: calc(72% - 15px);
}
.w70 {
  margin: auto;
  width: calc(70% - 15px);
}
.w60 {
  margin: auto;
  width: calc(60% - 15px);
}
.w50 {
  margin: auto;
  width: calc(50% - 15px);
}
.w40 {
  margin: auto;
  width: calc(40% - 15px);
}
@media screen and (max-width: 767px) {
  .w90,
  .w80,
  .w75,
  .w72,
  .w70,
  .w60,
  .w50,
  .w40 {
    margin: auto;
    width: calc(100% - 15px);
  }
}


.semi-answer {
  background: #cde8df;
  width: 80%;
}
.semi-answer h4 {
  padding: 2% 2% 0;
  text-align: center;
  font-size: 1.2em;
}
.semi-answer ul {
  padding: 0 6.5% 2%;
}
.semi-answer li {
  display: flex;
  margin-bottom: 0.5em;
  line-height: 1.6;
}
.semi-answer span:first-child {
  flex-basis: 10%;
  font-weight: bold;
}
.semi-answer span:last-child {
  flex-basis: 90%;
}

.caution-text {
  display: flex;
  align-items: center;
}
.caution-text img {
  flex-basis: 2.5%;
  width: 10%;
  padding-right: 2.5%;
}
@media screen and (max-width: 767px) {
  .semi-answer {
    width: 100%;
  }
  .semi-answer span:first-child {
    flex-basis: 20%;
  }
  .semi-answer span:last-child {
    flex-basis: 80%;
  }
  .caution-text img {
    flex-basis: 2.5%;
    width: 20%;
    padding-right: 2.5%;
  }
}

.download-element-list {
  padding-left: 2.5%;
}

.download-element-wrapper.container {
  justify-content: flex-start;
  flex-wrap: nowrap;
}

.download-element-wrapper img {
  width: 2em;
}

.download-element-wrapper p {
  margin-top: 10px;
}

.download-element-wrapper span,
.download-element-wrapper a {
  display: block;
}

.download-element-wrapper .download-element-subject {
  font-weight: bold;
}

a.download-element-subject-link {
  text-decoration: none;
}

/* ////////////////////////////////////
// index setting
//////////////////////////////////// */

#card-list li {
  margin-bottom: calc(100px * 0.5) !important;
}

#card-list li,
#point-list-wrapper {
  margin-bottom: 2.5%;
  padding: 2.5%;
  
  border-radius: 15px;
}
@media screen and (max-width: 767px) {
  #point-list-wrapper {
    padding: 0;
    border-radius: 0;
  }
}

#card-list li.container {
  justify-content: center;
}

.card-element-left {
  width: 35%;
  margin-right: 2.5%;
}
@media screen and (max-width: 767px) {
  .card-element-left {
    width: 100%;
    margin-right: 0;
    
    padding-top: 5%;
    padding-left: 10%;
    padding-right: 10%;
  }
}

.card-element-right {
  width: calc(95% - 35%);
}
@media screen and (max-width: 767px) {
  .card-element-right {
    width: 100%;
  }
}

.card-element-title {
  font-size: 2em;
  font-weight: bold;
  
  margin-top: 15px;
  margin-bottom: 15px;
}
.ebpm-top.card-element-title {
  font-size: 2.3em;
}
.ebpm-top.card-element-title span {
  padding-left: 1em;
  font-size: 0.6em;
}
.m-b0 {
  margin-bottom: 0 !important;
}
.m-b50 {
  margin-bottom: 50px !important;
}
.m-b100 {
  margin-bottom: 100px !important;
}
@media screen and (max-width: 767px) {
  .card-element-title {
    padding-left: 10%;
    padding-right: 10%;
  }
  
  #content-overview .card-element-title {
    position: fixed;
    top: 0;
    width: 0;
    height: 0;
    opacity: 0.0;
  }
  .ebpm-top.card-element-title {
    font-size: 1.9em;
  }
  .ebpm-top.card-element-title span {
    display: block;
    padding-left: 0;
    font-size: 0.5em;
  }
}
@media print {
  .card-element-title {
    font-size: 1em;
  }
}

.card-element-position,
.card-element-name {
  display: block;
}

.card-element-position {
  font-size: 1.3em;
  font-weight: bold;
  
  margin-bottom: 10px;
}
@media print {
  .card-element-position {
    font-size: 0.8em;
  }
}

.card-element-name {
  font-size: 2em;
}
@media screen and (max-width: 767px) {
  .card-element-name {
    font-size: 1.3em;
  }
}
@media print {
  .card-element-name {
    font-size: 0.8em;
  }
}

@media print {
  .card-element-body-text {
    font-size: 0.6em;
  }
}

.card-element-body.container {
  align-items: flex-end;
}
.ebpm-top.card-element-body.container {
  flex-flow: row;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .card-element-body.container {
    margin-left: 10%;
    width: 90%;
  }
  .ebpm-top.card-element-body.container {
    flex-flow: wrap;
  }
  #content-overview .card-element-body.container {
    margin-left: 2.5%;
    width: auto;
  }
}

.card-element-body-link {
  width: 95px;
}
.class-link-wrap .card-element-body-link {
  width: 80px;
}
@media screen and (max-width: 767px) {
  .card-element-body-link {
    width: 100%;
    text-align: right;
  }
  .class-link-wrap .card-element-body-link {
    width: 80px;
    text-align: right;
  }
  .class-title-wrap {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .card-element-body-link .button-circle {
    width: auto;
    height: auto;
    overflow: visible;
    border-radius: 0 0;
  }
}

@media screen and (max-width: 767px) {
  .card-element-body-link a.button-circle {
    width: 80px;
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .card-element-body-link .view-detail-element-wrapper img {
    width: 5vw;
    margin-right: 2.5%;
  }
}

@media screen and (max-width: 767px) {
  .card-element-body-link .view-detail-element-wrapper span {
    font-size: 1.2em;
  }
}

.card-element-body-textarea {
  width: calc(95% - 95px);
}
.card-element-body-textarea.text-full {
  width: 100%;
}
.card-element-body-textarea .m-b50 {
  margin-bottom: 50px !important;
}
@media screen and (max-width: 767px) {
  .card-element-body-textarea {
    width: 90%;
  }
  .card-element-body-textarea .m-b50 {
    margin-bottom: 0 !important;
  }
  
  #content-overview .card-element-body-textarea {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .card-element-body-text {
    position: fixed;
    top: 0;
    width: 0;
    height: 0;
    opacity: 0.0;
  }
}

.class-link-wrap {
  display: flex;
  background: #468370;
  align-items: center;
  justify-content: space-between;
  padding: 2% 3%;
  margin-bottom: 0.6em;
}
.class-title {
  margin: 2.0% 0;
  font-size: 1.7em;
  text-align: left;
  color: #fff;
}

#card-list hr {
  border: 2px solid rgba(255, 255, 255, 1);
}
@media screen and (max-width: 767px) {
  .class-link-wrap {
    margin-top: 0.5em;
  }
  .class-title {
    font-size: 1.5em;
    padding: 1.5%;
  }
  #card-list hr {
    width: 80%;
  }
}

/* ////////////////////////////////////
// children page setting
//////////////////////////////////// */

#content-overview,
#content-point {
  margin-bottom: 2.5%;
  padding: 2.5%;
  
  border-radius: 15px;
}
@media screen and (max-width: 767px) {
  #content-overview {
    padding: 0;
    border-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  #content-overview .card-element-left {
    padding-left: 2.5%;
    padding-right: 2.5%;
    
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  #content-overview .card-element-right {
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  #content-overview .card-element-center {
    order: 3;
  }
}

#content-overview h2 {
  margin-top: 0;
}

.card-element-center.container {
  width: 100%;
  
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .card-element-center.container {
    justify-content: center;
  }
}

#youtube-logo,
.youtube-logo{
  width: 125px;
}
.m-b15 {
  margin-bottom: 15px !important;
}

.card-element-center p {
  width: 35%;
  margin-left: 3%;
}
@media screen and (max-width: 767px) {
  .card-element-center p {
    width: 100%;
    margin-left: 0;
  }
}

.card-element-center a {
  width: 30%;
  min-width: 300px;
  
  font-size: 1.8em;
  text-decoration: none;
  
  border-radius: 15px;
  border-style: solid;
  border-width: 2px;
}
@media screen and (max-width: 767px) {
  .card-element-center a {
    width: 80%;
    max-width: 350px;
  }
}

.card-element-center a.container {
  justify-content: center;
  align-items: center;
}

#content-overview hr {
  border: 2px solid rgba(255, 255, 255, 1);
}
@media screen and (max-width: 767px) {
  #content-overview hr {
    position: fixed;
    top: 0;
    width: 0;
    height: 0;
    opacity: 0.0;
  }
}

#content-abstract.container,
#content-point.container {
  justify-content: center;
}

#content-abstract h2,
#content-point h2 {
  width: 100%;
  text-align: center;
  font-size: 1.8em;
}
@media screen and (max-width: 767px) {
  #content-abstract h2,
  #content-point h2 {
    text-align: left;
  }
}

#content-abstract p {
  width: 70%;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #content-abstract p {
    width: 100%;
  }
}

#content-abstract.content-wrapper,
#content-point.content-wrapper {
  margin-top: 0;
}

#point-list-wrapper {
  width: 100%;
}

#content-point ol {
  counter-reset: point-list;
  list-style: none;
}
@media screen and (max-width: 767px) {
  #content-point ol {
    margin-left: 0;
  }
}

#content-point ol li {
  font-size: 1.4em;
  
  margin-bottom: 15px;
}
@media print {
  #content-point ol li {
    font-size: 12px;
  }
}
#content-point ol li::before {
  counter-increment: point-list;
  content: counter(point-list);
  
  float: left;
  
  margin-right: 25px;
  
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.4em;
  text-align: center;
  
  width: 1.5em;
  height: 1.5em;
  
  border-radius: 0.75em 0.75em;
}

#content-point ol li span {
  width: 90%;
  margin-top: 5px;
  
  display: inline-block;
}
@media screen and (max-width: 767px) {
  #content-point ol li span {
    width: 100%;
  }
}

#content-profile,
.content-profile {
  padding-left: 2.5%;
  padding-right: 2.5%;
  padding-bottom: 15px;
  
  border-style: solid;
  border-width: 5px;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  #content-profile,
  .content-profile {
    margin-left: 2.5%;
    margin-right: 2.5%;
    margin-bottom: 5vh;
  }
}

#content-profile .title,
.content-profile .title {
  width: 100%;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #content-profile .title,
  .content-profile .title {
    width: auto;
    padding-left: 15px;
    padding-right: 15px;
    
    text-align: center;
    
    border-bottom-style: solid;
    border-bottom-width: 2px;
  }
}

@media screen and (max-width: 767px) {
  #content-profile .card-element-left,
  #content-profile .card-element-right,
  .content-profile .card-element-left,
  .content-profile .card-element-right {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    
    margin-top: 0;
    margin-bottom: 15px;
  }
  
  #content-profile .card-element-left .card-element-body,
  #content-profile .card-element-right .card-element-body,
  .content-profile .card-element-left .card-element-body,
  .content-profile .card-element-right .card-element-body {
    width: 100%;
    margin-left: 0;
  }
  
  #content-profile .card-element-body-text,
  .content-profile .card-element-body-text {
    width: 100%;
    height: auto;
    position: relative;
    opacity: 1.0;
  }
}

.content-body-textarea ul {
  list-style-type: disc;
  margin-left: 10%;
}

.content-body-textarea .link {
  position: relative;
  margin-left: 2em;
}
.content-body-textarea .link::before {
  position: absolute;
  top: 1px;
  left: -2em;
  content: '';
  
  width: 1.5em;
  height: 1.5em;
  
  background-image: url('../../img/common/pa.png');
  background-repeat: no-repeat;
  background-size: contain;
}

.content-body-section.reference p {
  width: 70%;
}

/* ////////////////////////////////////
// separate setting
//////////////////////////////////// */

/*
#card02-1-0-0,
#card02-2-0-0,
#card02-2-0-1,
#card02-2-1-0,
#card02-2-1-1 {
  width: 55%;
}
@media screen and (max-width: 767px) {
  #card02-1-0-0,
  #card02-2-0-0,
  #card02-2-0-1,
  #card02-2-1-0,
  #card02-2-1-1 {
    width: 100%;
  }
}
*/

#content-body-1-sec2 .lower-roman {
  list-style-type: lower-roman;
  margin-left: 10%;
}

.test-answer-wrap p,
.test-table-title,
.ready-txt,
.test-list li,
.test-list li a,
.semi-menu-text p,
.semi-table p,
.card-element-title,
.semi-menu-title p ,
.main-title,
#breadcrumbs span {
  font-family: "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}