/* 共通 */
.flex_content {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.flex_content_photo {
  width: 390px;
}

.flex_content .flex_content_photo:first-child{
  margin-right: 20px;
}

.flex_content .flex_content_photo:last-child{
  margin-top: 20px;
}
@media screen and (max-width:834px) {
  .flex_content_photo {
    width: 100%;
    margin-top: 3vw;
  }

  .flex_content {
    margin-top: 5vw;
    display: block;
  }

  .flex_content .flex_content_photo:first-child{
    margin-right: inherit;
  }

  .flex_content .flex_content_photo:last-child{
    margin-top: 4vw;
  }
}
/** topics01 **/
.heading {
  margin-top: 50px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #2990d0;
}

.about_box {
  margin-top: 51px;
  border: 3px solid #2990d0;
  border-radius: 2rem;
  padding: 0;
}

.about_ti{
  font-size: 2.5rem;
  display: block;
  width: 100%;
  color: #FFF;
  font-weight: bold;
  margin: 0 auto 0;
  background-color: #2990d0;
  padding: 0.1rem;
  text-align: center;
  border-radius: 1.8rem 1.8rem 0 0;
}

.about_md{
  width: 100%;
  text-align: left;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.44;
  color: #2990d0;
  margin-bottom: 0.5em;
}

.about_md span{
  font-size: 80%;
}

.about_cont{
  margin: 0px auto 0;
  padding: 20px 50px 40px;
}
.about_list{
  margin-left: 1.5rem;
}

.about_list li{
  list-style: disc !important;
  padding-left: 0rem;
  line-height: 1.3em;
}

.about_list li + li{
  margin-top: 0.5em;
}

.about_list + .about_md{
  margin-top: 1.2em;
}
.about_text{
  width: calc(100%);

}
.about_img {
  margin: 0px 0;
  width: 220px;
}

.flex_content {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.flex_content_photo {
  width: 390px;
}

.flex_content .flex_content_photo:first-child{
  margin-right: 20px;
}

.flex_content .flex_content_photo:last-child{
  margin-top: 20px;
}

.column_flex {
  width: 620px;
  margin: 30px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
}

.column_flex_photo {
  width: 300px;
}

.column_flex_photo + .column_flex_photo {
  margin-top: 0rem;
}

.comment_box {
  margin-top: 51px;
  padding: 40px 50px 40px;
  background: #d4e9f6;
}
.comment_md{
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.44;
  color: #2990d0;
}
.comment_md span{
  display: block;
  font-size: 80%;
  line-height: 1.3em;
  margin: 0.5em auto 0;
}

.comment_cont{
  display: flex;
  justify-content: space-between;
  margin: 25px auto 0;
}
.comment_text{
  width: 100%;
  margin: 1em auto 0;

}
.comment_img {
  margin: 0em auto 0;
  width: 220px;
}
.comment_name_sub {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.44;
  margin: 0.7em auto 0;
}
.comment_name {
  margin: 0.3em auto 0;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1em;
}

.calendar{
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 0.5em;
}

.calendar dt{
  background-color: #2990d0;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  width: 6.5em;
  margin:0 2px 2px 0;
  padding: 0.5em 0.7em;
}
.calendar dd{
  background-color: #e9f4fa;
  width:calc(100% - 6.5em - 2px);
  padding: 0.5em 0.5em;
  margin:0 0 2px 0;
}

.calendar_note{
  margin-top: 0.5em;
  font-size: 90%;
}

.request_box {
  margin-top: 51px;
  border: 3px solid #2990d0;
  border-radius: 2rem;
  padding: 1.2em 5.5em;

}

.request_md{
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #2990d0;
  text-align: center;
}

.request_list{
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 0.8em;
}

.request_list dt{
  color: #2990d0;
  font-weight: bold;
  width: 1.5em;
  margin-bottom: 0.5em;
}
.request_list dd{
  width:calc(100% - 1.5em);
  margin-bottom: 0.5em;
}

.qa_box {
  margin-top: 4.5em;
  background: #e9f4fa;
}
.qa_ti{
  font-size: 2rem;
  display: block;
  width: 100%;
  color: #FFF;
  font-weight: bold;
  margin: 0 auto 0;
  background-color: #2990d0;
  padding:0.5em;
  text-align: center;
}

.qa_md{
  text-align: left;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #2990d0;
  margin: 1em 0 0.3em;
}

.qa_cont{
  padding:0 2em 2em;
}

.qa_wrap{
  background: #FFF;
  border-radius: 1rem;
  padding: 1em 1.8em;
  margin-top: 1.5em;
}
.qa_wrap_md{
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #2990d0;
  text-align: center;
}
.qa{
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 1em;
}
.qa dt{
  background: #94c7e7;
  width: 1.8em;
  height: 1.8em;
  border-radius: 1em;
  text-align: center;
  font-size: 2rem;
  line-height: 1.8em;
  font-weight: bold;
  color: #FFF;
  letter-spacing: 0;
}
.qa dd{
  width: calc(100% - 3em);

}


@media screen and (max-width:834px) {

  .heading {
    margin-top: 10vw;
  }
  .about_box {
    margin-top: 53px;

  }
  .about_ti{
    font-size: 2.2rem;
    display: block;
    width: 100%;
    color: #FFF;
    font-weight: bold;
    margin: 0 auto 0;
    background-color: #2990d0;
    padding: 0.1rem;
    text-align: center;
    border-radius: 1.5rem 1.5rem 0 0;
  }
  .about_md{
    text-align: left;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.44;
    color: #2990d0;
    margin-bottom: 0.5em;
  }
  .about_cont{
    display: block;
    padding: 2rem 2.5rem 2.5rem;
  }

  .about_text{
    width: 100%;
  }

  .about_img {
    margin: 1em auto 0;
    width: 72.8%;

  }

  .flex_content_photo {
    width: 100%;
    margin-top: 3vw;
  }

  .flex_content {
    margin-top: 5vw;
    display: block;
  }

  .flex_content .flex_content_photo:first-child{
    margin-right: inherit;
  }

  .flex_content .flex_content_photo:last-child{
    margin-top: 4vw;
  }

  .column_flex {
    width: 90%;
    margin-top: 30px;
    display: block;
  }

  .column_flex_photo {
    width: 90%;
    margin: 0 auto;
  }

  .column_flex_photo + .column_flex_photo {
    margin-top: 1rem;
  }


  .comment_box {
    margin-top: 53px;
    padding: 30px 20px 33px;
  }
  .comment_md{
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.44;
    color: #2990d0;
  }
  .comment_cont{
    display: block;
  }

  .comment_text{
    width: 100%;
  }

  .comment_img {
    margin: 0 auto 0;
    width: 72.8%;

  }
  .comment_name_sub {
    margin-bottom: 2px;
    font-size: 1.3rem;
    line-height: 1.7;
  }
  .comment_name {
    margin-bottom: 17px;
    font-size: 2rem;
  }

  .calendar dt{
    width: 100%;
    margin:0 0 2px 0;
    text-align: left;
  }
  .calendar dd{
    width:calc(100% );
  }

  .request_box {
    padding: 1.2em 1.2em;
  }
  .qa_wrap{
    padding: 1em;
  }

  .qa{
    width: 100%;
    display: block;
    margin-top: 1em;
  }
  .qa dt{
    margin: 0 auto;
  }
  .qa dd{
    width: 100%;
    margin-top: 0.5em;

  }

		}

/** topics02 **/
.column_box {
  margin-top: 51px;
  padding: 40px 50px 40px;
  background: #d4e9f6;
}

.column_md{
  width: 100%;
  text-align: left;
  font-size: 2.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.44;
  color: #2990d0;
}

.column_md span{
  font-size: 80%;
}

.column_cont{
  display: flex;
  justify-content: space-between;
  margin: 25px auto 0;
}
.column_text{
  width: calc(100%);

}
.column_img {
  margin: 0px 0;
  width: 220px;
}



@media screen and (max-width:834px) {


  .column_box {
    margin-top: 53px;
    padding: 30px 20px 33px;
  }
  .column_md{
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.44;
    color: #2990d0;
  }
  .column_cont{
    display: block;
  }

  .column_text{
    width: 100%;
  }

  .column_img {
    margin: 1em auto 0;
    width: 72.8%;

  }
}

/**topics3**/
.img_flex_content {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.img_flex_content_item {
  width: 340px;
  margin-bottom: 0.5em;
}

.photo__name {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.4;
  padding-top: 0.25em;
}

.photo__name small{
  font-size: 75%;
}

@media screen and (max-width:834px) {
  .img_flex_content {
    margin-top: 30px;
    display: block;
  }
  .img_flex_content_item {
    margin-top: 26px;
    width: auto;
  }
  .img_flex_content img {
    width: 100%;
  }
  .heading {
    margin-top: 52px;
    font-size: 1.8rem;
    line-height: 1.55;
  }
  .topics_text01 {
    margin-top: 9px;
  }
}

/** topics4 **/
.announce_box {
  margin-top: 51px;
  padding: 40px 50px 40px;
  background: #d4e9f6;
  border-radius: 2em;
}

.announce_md{
  width: 100%;
  text-align: left;
  font-size: 2.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.44;
  color: #2990d0;
}
.announce_point{
  display: inline-block;
  width: 6em;
  color: #FFF;
  font-weight: bold;
  margin: 0 0.5em 0 0;
  background-color: #2990d0;
  padding: 0.1rem;
  text-align: center;
  border-radius: 3rem;
}

.announce_cont{
  display: flex;
  justify-content: space-between;
  margin: 25px auto 0;
}
.announce_text{
  width: calc(100%);

}
.announce_img {
  margin: 0px 0;
  width: 220px;
}


@media screen and (max-width:834px) {
  .announce_box {
    margin-top: 53px;
    padding: 30px 20px 33px;
  }
  .announce_md{
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.44;
    color: #2990d0;
  }
  .announce_point{
    display: block;
    width: 6em;
    color: #FFF;
    font-weight: bold;
    margin: 0 auto 1em;
    background-color: #2990d0;
    padding: 0.1rem;
    text-align: center;
    border-radius: 3rem;
  }
  .announce_cont{
    display: block;
  }

  .announce_text{
    width: 100%;
  }

  .announce_img {
    margin: 1em auto 0;
    width: 72.8%;
  }
}

/** 現場最前線 **/
.p-frontline__article h2 {
  letter-spacing: 0.01em;
}

.uline {
  text-decoration: underline;
}

.img_box + .img_box{
  margin-top: 20px;
}

.img_flex_content {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}
.img_flex_content_item01 {
  width: 390px;
}

.img_flex_content_item01 div{
  margin-bottom: 10px;
}

.img_flex_content_item02 {
  width: 390px;
}
.topics_text01 {
  margin-top: 47px;
}
.profile_box {
  margin-top: 51px;
  padding: 60px 70px 55px;
  background: #ebf2f5;
}
.profile_box_img {
  margin: 0 auto 23px;
  width: 220px;
}
.profile_name_sub {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.44;
}
.profile_name {
  margin-bottom: 32px;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.53;
}

.photo80 {
  width: 80%;
  text-align: center;
  margin: 40px auto 0;
}

@media screen and (max-width:834px) {
  .img_flex_content {
    margin-top: 26px;
    display: block;
  }
  .img_flex_content_item01 {
    margin-bottom: 26px;
    width: auto;
  }
  .img_flex_content_item02 {
    width: auto;
  }
  .img_flex_content img {
    width: 100%;
  }
  .topics_text01 {
    margin-top: 52px;
  }
  .profile_box {
    margin-top: 53px;
    padding: 39px 20px 33px;
  }
  .profile_box_img {
    margin-bottom: 18px;
    width: 72.8%;
  }
  .profile_box_img img {
    width: 100%;
  }
  .profile_name_sub {
    margin-bottom: 2px;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .profile_name {
    margin-bottom: 17px;
    font-size: 2rem;
  }

  .photo80 {
    width: 100%;
    margin: 5vw auto 0;
  }
}
