@charset "UTF-8";
@import url(./common.css);
/*==================================================================*/
/* visitor css　*/
/*==================================================================*/
/* -------------------------------------------- */
/* header */
/* -------------------------------------------- */
header {
  margin-bottom: 3.5em;
}

/* -------------------------------------------- */
/* maintitle */
/* -------------------------------------------- */
.maintitle {
  display: flex;
  max-width: 1200px;
  width: 95%;
  height: 200px;
  margin: 0 auto 3.5em;
}
.maintitle .title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 36%;
  text-align: center;
}
.maintitle .title h1 {
  color: #fff;
  font-size: 1.8em;
}
.maintitle .title h1 span {
  padding-left: 1.3em;
}
.maintitle .title p {
  color: rgba(255, 255, 255, 0.5);
  font-size: .9em;
}
.maintitle .bg {
  width: 64%;
}

/* -------------------------------------------- */
/* intro */
/* -------------------------------------------- */
.intro {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3.5em;
}
.intro .read {
  width: calc(100% - 480px);
  padding-left: 2em;
}
.intro .photo {
  width: 440px;
}

/* -------------------------------------------- */
/* subblock */
/* -------------------------------------------- */
.subblock {
  margin-bottom: 4em;
}
.subblock h2 {
  margin-bottom: 2em;
  padding: 0.5em 1.3em;
  background-color: #eee;
  font-size: 1.3em;
}
.subblock .read {
  width: 95%;
  margin: 0 auto;
}
.subblock .read:not(:last-child) {
  margin-bottom: 2em;
}
.subblock .inner {
  display: flex;
  justify-content: space-between;
}
.subblock .inner .detail {
  width: calc(100% - 370px);
}
.subblock .inner .photo {
  width: 320px;
}
.subblock .inner .photo ul li:not(:last-child) {
  margin-bottom: .5em;
}
.subblock figure:not(:last-child) {
  margin-bottom: 2em;
}
.subblock .box {
  padding-left: 2em;
}
.subblock .box:not(:last-of-type) {
  margin-bottom: 2em;
}
.subblock .box h3 {
  margin-bottom: .5em;
  padding: 0.5em 0 0.5em 1.2em;
  border-left: 1px solid black;
  font-size: 1.2em;
  font-weight: bold;
}
.subblock .box p {
  position: relative;
  padding-left: 1.5em;
}
.subblock .box p:not(:last-child) {
  margin-bottom: 1em;
}
.subblock .box div.btn-right {
  padding-left: 1.5em;
}
.subblock .box div.btn-right p {
  display: inline-block;
  padding: 0;
  border: 1px solid #d55c14;
}
.subblock .box div.btn-right p a {
  display: block;
  padding: 0 2.5em;
  color: #d55c14;
  transition: all 0.15s ease;
}
.subblock .box div.btn-right p a:before {
  content: "\f105";
  margin-right: .5em;
  font-family: "FontAwesome";
}
.subblock .box div.btn-right p a:hover {
  color: #fff;
  background-color: #d55c14;
  text-decoration: none;
}
.subblock .box div.btn-right p a:hover:before {
  color: #fff;
}

/* -------------------------------------------- */
/* pdf-area */
/* -------------------------------------------- */
.pdf-area {
  margin-bottom: 8em;
  padding: 2.5em;
  border: 1px solid #a40000;
}
.pdf-area h2 {
  margin-bottom: 1em;
  font-size: 1.5em;
  text-align: center;
}
.pdf-area ul {
  display: flex;
  flex-wrap: wrap;
}
.pdf-area ul li {
  width: 33.3%;
}
.pdf-area ul li a {
  position: relative;
  padding-left: 1.2em;
  font-size: 1.2em;
}
.pdf-area ul li a:before {
  position: absolute;
  top: -2px;
  left: 0;
  content: "\f1c1";
  color: #a40000;
  font-size: .9em;
  font-family: "FontAwesome";
}

/* -------------------------------------------- */
/* other */
/* -------------------------------------------- */
.other {
  margin-bottom: 8em;
  padding: 2.5em 2.5em 1.5em;
  border: 1px solid #10a642;
}
.other h2 {
  margin-bottom: 1em;
  font-size: 1.3em;
  text-align: center;
}
.other ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.other ol li {
  position: relative;
  width: 48%;
  margin-bottom: .6em;
  counter-increment: num;
  padding-left: 1.5em;
  font-size: 1.2em;
}
.other ol li span {
  display: block;
}
.other ol li:before {
  position: absolute;
  content: counter(num) ".";
  top: 0;
  left: 0;
  color: #10a642;
}

/* -------------------------------------------- */
/* other-activity */
/* -------------------------------------------- */
.other-activity {
  position: relative;
  width: 960px;
  margin: 0 auto 8em;
  padding: 3em 2em 2em;
  border: 1px solid #c7c7c7;
  text-align: center;
}
.other-activity h2 {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 487px;
  background-color: #fff;
  font-size: 1.35em;
}
.other-activity p span {
  display: block;
}

/*===========================================================================*/
/*  general : 一般の方へ  */
/*===========================================================================*/
#general .maintitle .title {
  background-color: #1874b4;
}
#general .maintitle .title h1 span {
  background: transparent url("../visitor/image/ico_general.png") 0 50%/28px auto no-repeat;
}
#general .maintitle .bg {
  background: transparent url("../visitor/image/title_general.jpg") 50% 50%/cover no-repeat;
}
#general .subblock h2 {
  background-color: #e0f2ff;
  color: #1874b4;
}
#general .subblock .box h3 {
  border-left-color: #1874b4;
}
#general .subblock .intro .read {
  width: 60%;
  padding: 0 2em;
}

/*===========================================================================*/
/*  students : 学生・研修医の方へ  */
/*===========================================================================*/
#students .maintitle .title {
  background-color: #d55c14;
}
#students .maintitle .title h1 span {
  background: transparent url("../visitor/image/ico_students.png") 0 50%/28px auto no-repeat;
}
#students .maintitle .bg {
  background: transparent url("../visitor/image/title_students.jpg") 50% 50%/cover no-repeat;
}
#students .subblock:last-of-type {
  margin-bottom: 4em;
}
#students .subblock h2 {
  background-color: #ffefe5;
  color: #d55c14;
}
#students .subblock .box h3 {
  border-left-color: #d55c14;
}
#students .subblock figure {
  text-align: center;
}
#students #sotsuzen .inner {
  display: flex;
}
#students #sotsuzen .inner .read {
  width: calc(100% - 590px);
  margin: 0;
  padding-left: 2em;
}
#students #sotsuzen .inner .photo-area {
  width: 545px;
}
#students #sotsuzen .inner .photo-area ul {
  display: flex;
  justify-content: flex-end;
}
#students #sotsuzen .inner .photo-area ul li:first-of-type {
  margin-right: 3px;
}
#students .gallery {
  width: 95%;
  margin: 0 auto 6em;
}
#students .gallery ul {
  display: flex;
  justify-content: space-between;
}
#students .gallery ul li {
  width: 50%;
}
#students .gallery ul li:not(:last-of-type) {
  margin-right: 15px;
}

/*===========================================================================*/
/*  medical : 医療・企業関係者の方へ  */
/*===========================================================================*/
#medical .maintitle .title {
  background-color: #10a642;
}
#medical .maintitle .title h1 span {
  background: transparent url("../visitor/image/ico_medical.png") 0 50%/28px auto no-repeat;
}
#medical .maintitle .bg {
  background: transparent url("../visitor/image/title_medical.jpg") 50% 50%/cover no-repeat;
}

/*===========================================================================*/
/*  media quary:1200px  */
/*===========================================================================*/
@media screen and (max-width: 1200px) {
  /* -------------------------------------------- */
  /* maintitle */
  /* -------------------------------------------- */
  .maintitle {
    width: 95%;
  }
  .maintitle .title {
    width: 36%;
  }
  .maintitle .title h1 span {
    padding-left: 1.6em;
  }
  .maintitle .bg {
    width: 64%;
  }

  /* -------------------------------------------- */
  /* general */
  /* -------------------------------------------- */
  #general .maintitle .title h1 span {
    background-size: contain;
  }

  /* -------------------------------------------- */
  /* students */
  /* -------------------------------------------- */
  #students .maintitle .title h1 span {
    background-size: contain;
  }
  #students #sotsuzen .inner .read {
    width: 50%;
    padding-left: 1em;
  }
  #students #sotsuzen .inner .photo-area {
    width: 45%;
  }
  #students #sotsuzen .inner .photo-area ul {
    justify-content: flex-end;
  }

  /* -------------------------------------------- */
  /* medical */
  /* -------------------------------------------- */
  #medical .maintitle .title h1 {
    font-size: 1.6em;
  }
  #medical .maintitle .title h1 span {
    background-size: contain;
  }

  /* -------------------------------------------- */
  /* other */
  /* -------------------------------------------- */
  .other ol li span {
    display: inline;
  }
}
/*===========================================================================*/
/*  media quary:1000px  */
/*===========================================================================*/
@media screen and (max-width: 1000px) {
  /* -------------------------------------------- */
  /* body */
  /* -------------------------------------------- */
  body {
    padding-top: 80px;
  }

  /* -------------------------------------------- */
  /* maintitle */
  /* -------------------------------------------- */
  .maintitle {
    height: 155px;
    margin-bottom: 2.5em;
  }
  .maintitle .title {
    width: 38%;
  }
  .maintitle .title h1 {
    font-size: 1.3em !important;
  }
  .maintitle .title p {
    font-size: .7em;
  }
  .maintitle .bg {
    width: 62%;
  }

  /* -------------------------------------------- */
  /* intro */
  /* -------------------------------------------- */
  .intro {
    margin-bottom: 2.5em;
  }
  .intro .read {
    width: 55%;
    padding-left: 0;
  }
  .intro .photo {
    width: 40%;
  }

  /* -------------------------------------------- */
  /* students */
  /* -------------------------------------------- */
  #students #sotsuzen .inner .read {
    width: 95%;
    margin: 0 auto 2em;
    padding-left: 0;
  }
  #students #sotsuzen .inner .photo-area {
    width: 95%;
    margin: 0 auto;
  }
  #students #sotsuzen .inner .photo-area ul {
    justify-content: center;
  }

  /* -------------------------------------------- */
  /* other */
  /* -------------------------------------------- */
  .other {
    margin-bottom: 4em;
    padding: 1.5em;
  }
  .other h2 {
    font-size: 1em;
    font-weight: bold;
  }
  .other ol li {
    width: 48%;
    margin-bottom: .3em;
    font-size: 1em;
  }

  /* -------------------------------------------- */
  /* pdf-area */
  /* -------------------------------------------- */
  .pdf-area {
    margin-bottom: 5em;
    padding: 2em;
  }
  .pdf-area h2 {
    font-size: 1.2em;
  }
  .pdf-area ul li a {
    padding-left: 1.1em;
    font-size: 1.1em;
  }

  /* -------------------------------------------- */
  /* other-activity */
  /* -------------------------------------------- */
  .other-activity {
    width: 100%;
  }
}
/*===========================================================================*/
/*  media quary:767px  */
/*===========================================================================*/
@media screen and (max-width: 767px) {
  /* -------------------------------------------- */
  /* maintitle */
  /* -------------------------------------------- */
  .maintitle {
    position: relative;
    height: 130px;
    margin-bottom: 3em;
  }
  .maintitle .title {
    position: absolute;
    max-width: 340px;
    width: 90%;
    padding: 0.4em 0;
    left: 50%;
    transform: translateX(-50%);
    bottom: -1.2em;
    margin: auto;
    z-index: 9001;
  }
  .maintitle .title p {
    font-size: .7em;
  }
  .maintitle .bg {
    width: 100%;
    height: 100%;
    z-index: 9000;
  }

  /* -------------------------------------------- */
  /* intro */
  /* -------------------------------------------- */
  .intro {
    flex-wrap: wrap;
  }
  .intro .read {
    width: 100%;
    margin-bottom: 2em;
    font-size: .9em;
  }
  .intro .photo {
    width: 100%;
    text-align: center;
  }

  /* -------------------------------------------- */
  /* subblock */
  /* -------------------------------------------- */
  .subblock {
    margin-bottom: 2em;
  }
  .subblock h2 {
    margin-bottom: 1.5em;
    padding: 0.4em 1em;
    font-size: 1.1em;
  }
  .subblock .read {
    font-size: .9em;
  }
  .subblock .inner {
    flex-wrap: wrap;
  }
  .subblock .inner .detail {
    width: 100%;
    margin-bottom: 2em;
  }
  .subblock .inner .photo {
    width: 100%;
  }
  .subblock .inner .photo ul {
    display: flex;
    justify-content: center;
  }
  .subblock .inner .photo ul li {
    margin: 0 0.2em;
    max-width: 140px;
  }
  .subblock .inner .photo ul li:not(:last-child) {
    margin-bottom: 0;
  }
  .subblock .box {
    padding-left: 0;
  }
  .subblock .box:not(:last-of-type) {
    margin-bottom: 1em;
  }
  .subblock .box h3 {
    padding: 0.3em 0 0.3em 1em;
    font-size: 1.05em;
  }
  .subblock .box p {
    padding-left: 1.1em;
    font-size: .9em;
  }
  .subblock .box div.btn-right {
    padding-left: 1em;
  }

  /* -------------------------------------------- */
  /*  general : 一般の方へ  */
  /* -------------------------------------------- */
  #general .subblock .intro .read {
    width: 100%;
    padding: 0 1em;
  }
  #general .subblock .intro .photo {
    padding: 0 1em;
  }

  /* -------------------------------------------- */
  /* other */
  /* -------------------------------------------- */
  .other {
    font-size: .9em;
  }
  .other h2 {
    text-align: left;
  }
  .other ol {
    display: block;
  }
  .other ol li {
    width: 100%;
    margin-bottom: 0;
  }
  .other ol li:before {
    font-weight: bold;
  }

  /* -------------------------------------------- */
  /* pdf-area */
  /* -------------------------------------------- */
  .pdf-area {
    padding: 1.5em;
  }
  .pdf-area h2 {
    font-size: 1em;
    font-weight: bold;
  }
  .pdf-area ul li {
    width: 50%;
  }
  .pdf-area ul li a {
    padding-left: 1.1em;
    font-size: .9em;
  }

  /* -------------------------------------------- */
  /* other-activity */
  /* -------------------------------------------- */
  .other-activity {
    margin: 0 auto 4em;
    padding: 2.5em 1.5em 1.5em;
  }
  .other-activity h2 {
    top: -15px;
    width: 90%;
    max-width: inherit;
    font-size: 1.2em;
  }
  .other-activity p {
    font-size: .9em;
    text-align: left;
  }
  .other-activity p span {
    display: inline;
  }
}
/*===========================================================================*/
/*  media quary:479px  */
/*===========================================================================*/
@media screen and (max-width: 479px) {
  /* -------------------------------------------- */
  /* maintitle */
  /* -------------------------------------------- */
  .maintitle {
    height: 110px;
  }
  .maintitle .title {
    padding: .6em;
    bottom: -2em;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1.6;
  }
  .maintitle .title h1 {
    font-size: 1.2em !important;
  }

  /* -------------------------------------------- */
  /* medical */
  /* -------------------------------------------- */
  #medical .maintitle .title h1 {
    font-feature-settings: "palt";
  }

  /* -------------------------------------------- */
  /* students */
  /* -------------------------------------------- */
  #students .maintitle .title h1 {
    font-feature-settings: "palt";
  }
  #students .gallery {
    width: 100%;
    margin: 0 auto 4em;
  }
  #students .gallery ul {
    flex-wrap: wrap;
  }
  #students .gallery ul li {
    width: 49%;
    margin-bottom: .5em;
  }
  #students .gallery ul li:first-of-type {
    margin-right: 2%;
  }

  /* -------------------------------------------- */
  /* pdf-area */
  /* -------------------------------------------- */
  .pdf-area h2 {
    line-height: 1.5;
  }
  .pdf-area h2 span {
    display: block;
  }
  .pdf-area ul {
    flex-wrap: wrap;
  }
  .pdf-area ul li {
    width: 100%;
  }

  /* -------------------------------------------- */
  /* other-activity */
  /* -------------------------------------------- */
  .other-activity {
    padding-top: 2em;
  }
  .other-activity h2 {
    top: -12px;
    width: 95%;
    max-width: inherit;
    font-size: 1em;
    font-weight: bold;
    letter-spacing: normal;
  }
  .other-activity p {
    font-size: .9em;
    text-align: left;
  }
  .other-activity p span {
    display: inline;
  }
}
