@charset "utf-8";
/* CSS Document */
.page_title_area {
      background: var(--gra_blue_l);
      position: relative;
}
.page_title_area:before {
      content: "";
      background: var(--gra_main);
      height: 4px;
      width: 3em;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, -0%);
}
.page_title_w {
      padding: 2.5em 0 3em 0;
      max-width: 1500px;
      margin: auto;
}
.page_title {
      font-weight: 500;
      letter-spacing: 2px;
      text-align: center;
      font-size: 3.8rem;
}
@media screen and (max-width: 960px) {
      .page_title {
            font-size: 3.0rem;
      }
}
@media screen and (max-width: 680px) {
      .page_title {
            font-size: 2.4rem;
      }
}
@media screen and (max-width: 480px) {
      .page_title {
            font-size: 2.2rem;
      }
}
/*topic_path
----------------------------------------------------------------*/
.topic_path {
      max-width: 1500px;
      margin: auto;
}
.topic_path li {
      display: inline-block;
}
.topic_path li a:after {
      content: ">";
      margin-left: 5px;
}
@media screen and (min-width: 1501px), print {
      .topic_path {
            font-size: 1.2rem;
            padding: 7px 0;
            position: relative;
            z-index: 1;
      }
}
/*topic_path sp */
@media screen and (max-width: 1500px) {
      /*追従あり*/
      .topic_path {
            padding: 7px 0;
            width: 90%;
            margin: auto;
            position: relative;
            z-index: 1;
            white-space: nowrap;
            height: 20px;
            overflow: hidden;
            font-size: 1.2rem;
            -webkit-overflow-scrolling: touch;
      }
      .topic_path ul {
            white-space: nowrap;
            overflow-x: auto;
            overflow-y: hidden;
            height: 50px;
            transform: translateZ(0);
      }
      .topic_path ul li:last-child {
            margin-right: 20px;
      }
}
/*greeting_img
--------------------------------------------------------------------------------*/
.greeting_img {
      width: 30%;
      margin: auto 0 auto auto;
}
@media screen and (max-width: 680px) {
      .greeting_img {
            width: 70%;
		  	margin: auto;
      }
}

/*department_flex
--------------------------------------------------------------------------------*/
.department_flex .text_box{
background: var(--bg_gray);
}
@media screen and (max-width: 680px) {
	.department_flex .img{
		width: 60%!important;
		margin: auto!important;
	}
}
/*album_list
--------------------------------------------------------------------------------*/
.album_list {
      display: flex;
      gap: 0.8em 2%;
      flex-wrap: wrap;
}
.album_list > li {
      width: 32%;
      font-size: 1.3rem;
      background: var(--bg_gray);
      padding-bottom: 5em;
      position: relative;
}
.album_inner {
      padding: 1em 1em 0 1em;
      display: flex;
      flex-direction: column;
}
.album_inner .text_box {
      order: 2;
}
.album_inner .img {
      order: 1;
      padding: 0.5em;
      background: #fff;
      margin-bottom: 1em;
}
.album_inner .img, .album_inner .img img {
      height: 20em;
}
.album_inner .img img {
      width: 100%;
      object-fit: contain;
      object-position: center;
}
.album_date {
      width: calc(100% - 2em);
      position: absolute;
      bottom: 1em;
      left: 50%;
      transform: translate(-50%, -0%);
      padding-top: 0.5em;
      border-top: 1px solid var(--line_gray);
      font-weight: 700;
}
@media screen and (max-width: 960px) {
      .album_list > li {
            width: 49%;
            font-size: 1.0rem;
      }
      .album_inner .img, .album_inner .img img {
            height: 30vw;
      }
}
@media screen and (max-width: 680px) {
      .album_list > li {
            width: 49%;
            font-size: 0.8rem;
      }
}
/*achievements_dl
-------------------------------------------------------------------------------------*/
.achievements_dl {
      margin-top: 2em;
}
.achievements_dl dl {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      border-bottom: 1px solid var(--line_gray);
      padding: 1.5em 1em;
}
.achievements_dl dl:first-child {
      border-top: 1px solid var(--line_gray);
}
.achievements_dl dl a {
      color: #1A75BC;
      text-decoration: underline;
}
@media screen and (min-width: 961px), print {
      .achievements_dl dl a:hover {
            text-decoration: none;
      }
}
@media screen and (max-width: 680px) {
      .achievements_dl dl {
            display: block;
            padding: 1.0em 0.5em;
      }
}
/*achievements_dl*/
.achievements_dl dl dt {
      width: 15em;
      position: relative;
      padding-left: 1.3em;
}
.achievements_dl dl dt:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.4em;
      aspect-ratio: 1;
      width: 1em;
      background: var(--gra_main);
}
.achievements_dl dl dd {
      width: calc(100% - 16.3em);
}
@media screen and (max-width: 680px) {
      .achievements_dl dl dt {
            width: auto;
            margin-bottom: 0.5em;
      }
      .achievements_dl dl dd {
            width: auto;
      }
}
/*achievements_link_list*/
.achievements_link_list {
      display: flex;
      gap: 0.5em 2%;
      flex-wrap: wrap;
}
.achievements_link_list > li {
      width: 23%;
}
@media screen and (max-width: 680px) {
      .achievements_link_list > li {
            width: 32%;
      }
}
/*connection_list
------------------------------------------------------------------------------------------------*/
.connection_list {
      display: flex;
      gap: 1.9em 3%;
      flex-wrap: wrap;
}
.connection_list > li {
      width: 48.5%;
      background: #fff;
      box-shadow: 0px 0px 10px 0px rgba(103, 159, 201, 0.3);
}
@media screen and (max-width: 960px) {
      .connection_list {
            display: block;
      }
      .connection_list > li {
            width: 100%;
            margin-bottom: 1.5em;
      }
}
.connection_list_inner {
      word-break: break-all;
      padding: 1.5em 1em 1em 1em;
}
.connection_list_inner_title {
      font-size: 1.2em;
      position: relative;
      padding-bottom: 0.5em;
      font-weight: 400;
      letter-spacing: 1px;
      line-height: 1.4;
      margin-bottom: 1.5em;
      display: flex;
      flex-direction: column;
      justify-content: center;
}
.connection_list_inner_title.title_height_2 {
      height: 2.8em;
}
.connection_list_inner_title:before {
      content: "";
      background: var(--gra_main);
      width: 100%;
      height: 2px;
      position: absolute;
      bottom: 0;
      left: 0;
}
.connection_list_inner_link a {
      font-size: 0.9em;
      text-decoration: underline;
}
.connection_list_inner .btn_line a {
      font-size: 0.9em;
}
@media screen and (min-width: 961px), print {
      .connection_list_inner_link a:hover {
            text-decoration: none;
      }
}
/*connection_name_list*/
.connection_name_list {
      font-size: 0.9em;
      background: var(--bg_gray);
      padding: 1.2em 0.8em;
      display: flex;
      flex-wrap: wrap;
      margin-top: 2em;
      gap: 0.3em 6%;
}
/*.connection_name_list >li {
	width: 25%;
}*/
.connection_name_list > li {
      position: relative;
      padding-left: 0.8em;
}
.connection_name_list > li:before {
      content: "・";
      position: absolute;
      left: 0;
}
/*staff_list
-------------------------------------------------------------------------------------*/
.staff_list {
      display: flex;
      flex-wrap: wrap;
      gap: 1em 1%;
}
.staff_list > li {
      width: 24%;
      background: #fff;
      border: 1px solid var(--line_gray);
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box;
}
@media screen and (max-width: 960px) {
      .staff_list {
            gap: 0.5em 1%;
      }
      .staff_list > li {
            width: 32.3%;
      }
}
@media screen and (max-width: 680px) {
      .staff_list {
            display: block;
      }
      .staff_list > li {
            width: auto;
            margin-bottom: 1em;
      }
}
/*staff_list_inner*/
.staff_list_inner {
      padding: 1em 1em 1em 1em;
}
.staff_list_inner .img {
      width: 60%;
      margin: auto;
      margin-bottom: 0.8em;
}
.staff_list_inner .img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .staff_list_inner {
            display: flex;
            flex-wrap: wrap;
      }
      .staff_list_inner .img {
            margin-bottom: 1em;
            margin-top: 0;
            width: 20%;
      }
      .staff_list_inner .img + .text_box {
            width: calc(80% - 0.8em);
            margin-left: 0.8em;
      }
      .staff_list_inner .staff_prof {
            width: 100%;
      }
}
/*.staff_prof {
      border-top: 1px solid var(--line_gray);
}*/
.staff_prof dl {
      font-size: 0.8em;
      border-top: 1px solid var(--line_gray);
		margin: 2em 0 0 0;
}
.staff_prof dl dt, .staff_prof dl dd {
      padding: 0.5em 0.5em;
}
.staff_prof dl dt {
      background: var(--bg_blue_l);
}
.staff_prof dl dd {}
/*パーツ*/
.staff_name {
      text-align: center;
      font-size: 1.2em;
}
.staff_position {
      text-align: center;
      font-size: 0.8em;
      margin-bottom: 0.5em;
}
.staff_educational {
      text-align: center;
      font-size: 0.8em;
      margin-bottom: 1em;
}
@media screen and (max-width: 680px) {
      .staff_name {
            text-align: left;
      }
      .staff_position {
            text-align: left;
      }
      .staff_educational {
            text-align: left;
      }
}

.img_notes {
	text-align: center;
	margin:  0.3em auto;
	display: block;
	font-size:  0.9em;
}