@charset "utf-8";

/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/

html,
input,
textarea,
select,
button {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
}

/* IE10以降 游ゴシック文字ずれ対応 */
html.ie10,
.ie10 input,
.ie10 textarea,
.ie10 select,
.ie10 button,
html.ie11,
.ie11 input,
.ie11 textarea,
.ie11 select,
.ie11 button {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-weight: normal;
}

html {
  color: #333;
  background: #fff;
  font-size: 16px;
  line-height: 1.875;
  word-break: break-all;
}

body {
  background: #fff;
  margin: 0;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
}

p {
  margin: 0;
  padding: 0;
}

a {
  color: #333;
  text-decoration: none;
}

input[type="submit"],
input[type="text"],
select,
textarea,
button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

.outer-block {
  min-width: 1300px;
}

.inner-block {
  margin: 0 auto;
  padding: 0;
  position: relative;
  width: 1200px;
}

#wrapper {
  position: relative;
}

.pc {
  display: block !important;
}

.pc-ib {
  display: inline-block !important;
}

.sp {
  display: none !important;
}

.sp-ib {
  display: none !important;
}

.ib {
  display: inline-block;
}

@media screen and (min-width: 641px) {
  .sp-only {
    display: none !important;
  }
}

@media screen and (min-width: 641px) {

  a,
  a:before,
  a:after,
  a img:hover,
  button,
  .pagenation .page-num-ul li:hover,
  .pagenation .prev:hover,
  .pagenation .next:hover,
  .back-feature:hover {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  a img:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
}

/*------------------------------------------------------------------------------
  common
------------------------------------------------------------------------------*/
.bg-gray {
  background-color: #e9eef4;
}

.bg-orange {
  background-color: #ffa229;
}

.bg-blue {
  background-color: #0053c4;
}

.bg-red {
  background-color: #ff5757;
}
.bg-green {
  background-color: #199c19;

}
.orange {
  color: #ffa229;
}

.blue {
  color: #0053c4;
}

.red {
  color: #ff5757;
}

.contents-block {
  padding: 60px 0;
}

.contents-block:last-of-type {
  padding-bottom: 100px;
}

.c-ttl01 {
  position: relative;
  font-size: 28px;
  color: #2664a3;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 35px;
}

.c-ttl01.white:before {
  background-color: #fff;
}

.c-ttl01.gray:before,
.c-ttl02.gray:after {
  background-color: #e5e5e5;
}

.c-ttl01:before,
.c-ttl01:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  height: 2px;
  transform: scale(0, 1);
  transform-origin: center top;
  -webkit-transition: 2s ease-in-out;
  transition: 2s ease-in-out;
}

.c-ttl01:before {
  width: 100%;
}

.c-ttl01:after {
  width: 110px;
  background-color: #2664a3;
  z-index: 1;
}

.c-ttl01.is-animated:before,
.c-ttl01.is-animated:after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.c-ttl02 {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 30px;
}

.c-ttl02:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  height: 2px;
  transform: scale(0, 1);
  transform-origin: left top;
  -webkit-transition: 2s ease-in-out;
  transition: 2s ease-in-out;
}

.c-ttl02.is-animated:after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.c-ttl03 {
  position: relative;
  font-size: 30px;
  font-weight: bold;
  padding-left: 35px;
  margin-bottom: 25px;
}

.c-ttl03:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.c-ttl03.orange:before {
  background-color: #ffa229;
}

.c-ttl03.blue:before {
  background-color: #0053c4;
}

.c-ttl03.red:before {
  background-color: #ff5757;
}

.c-ttl04 {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  padding-left: 30px;
  margin-bottom: 30px;
}

.c-ttl04:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 2px;
  height: 90%;
  background-color: #2664a3;
}

.c-ttl05 {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  padding-left: 35px;
  margin-bottom: 30px;
}

.c-ttl05:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  background-color: #2664a3;
}
.c-btn01 .coming-soon {
  pointer-events: none;
  opacity: 0.7;
}
.c-btn01 .coming-soon::after {
  display: none;
}
.c-btn01 a, .c-btn01 button {
  position: relative;
  width: 250px;
  height: 60px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  border-radius: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #3b83cc;
}


.c-btn01 a.large {
  flex-direction: column;
  height: 90px;
  border-radius: 100px;
  line-height: 1.2;
}
.c-btn01 a.large .small {
  display: block;
  font-size: 24px;
}

.c-btn01 a:after, .c-btn01 button:after{
  content: "";
  display: block;
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/common/arrow_right.svg) no-repeat center / 100%;
  width: 6px;
  height: 10px;
}



.c-btn01.long a {
  font-size: 15px;
  line-height: 1.2;
  text-align: center;
}

.center01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.center02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.anchor-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 変更 06/07 */
  justify-content: space-between;
  /* justify-content: flex-start; */
  margin-bottom: 50px;
}

.anchor-link li a {
  width: 192px;
  position: relative;
  height: 55px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #3b83cc;
  border-radius: 5px;
  color: #fff;
  font-size: 14px;
}

.anchor-link li a:after {
  content: "";
  display: block;
  background: url(../img/common/arrow_bottom.svg) no-repeat center / 100%;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 6px;
}
 /* btn-content追加(2022/02/22) */

 .btn-content {
  display: flex;
  justify-content: center;
}
.btn-content .c-btn01:nth-child(2) {
margin-left: 30px;
}


@media screen and (min-width: 641px) {

  .c-btn01 a:hover,
  .pagetop-btn a:hover,
  .anchor-link li a:hover {
    background-color: #f36a4e;
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
  }

  .c-btn01 a:hover:after {
    right: 20px;
  }

  .anchor-link li a:hover:after {
    bottom: -8px;
  }

  .c-hover01 a:hover {
    opacity: 0.7;
  }
}

/*------------------------------------------------------------------------------
  animaiton
------------------------------------------------------------------------------*/
@media not print {
  .anm {
    opacity: 0;
  }

  .anm.is-animated {
    -webkit-animation: fadeIn 1.5s forwards;
    animation: fadeIn 1.5s forwards;

  }

  .anm-up {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  .anm-up.is-animated {
    -webkit-animation: fadeInUp 1.5s forwards;
    animation: fadeInUp 1.5s forwards;
  }

  .anm-left {
    opacity: 0;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }

  .anm-left.is-animated {
    -webkit-animation: fadeInLeft 1.5s forwards;
    animation: fadeInLeft 1.5s forwards;
  }

  .anm-right {
    opacity: 0;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }

  .anm-right.is-animated {
    -webkit-animation: fadeInRight 1.5s forwards;
    animation: fadeInRight 1.5s forwards;
  }

}

@media screen and (min-width: 641px) {
  .anm-list > * {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  .anm-list.is-animated > * {
    -webkit-animation: fadeInUp 1.5s forwards;
    animation: fadeInUp 1.5s forwards;
  }
}

@media screen and (max-width: 640px) {
  .anm-list > * {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  .anm-list > *.is-animated {
    -webkit-animation: fadeInUp 1.5s forwards;
    animation: fadeInUp 1.5s forwards;
    -webkit-animation-delay: 0s !important;
    animation-delay: 0s !important;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -webkit-transition-timing-function: cubic-bezier(0, .4, .2, 1);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
    transition-timing-function: cubic-bezier(0, .4, .2, 1);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
    -webkit-transition-timing-function: cubic-bezier(0, .4, .2, 1);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(30px);
    transition-timing-function: cubic-bezier(0, .4, .2, 1);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
    -webkit-transition-timing-function: cubic-bezier(0, .4, .2, 1);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(-30px);
    transition-timing-function: cubic-bezier(0, .4, .2, 1);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*------------------------------------------------------------------------------
  header
------------------------------------------------------------------------------*/
html.is-fixed {
  position: fixed !important;
  left: 0;
  width: 100%;
}
.header2-block .inner-block {
  height: 110px;
  width: auto;
  padding: 0 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header-block {
  border-top: solid 6px #2664a3;
  background-color: #fff;
}

.header2-block .inner-block {
  height: 110px;
  width: auto;
  padding: 0 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header-block .logo a {
  display: block;
}

.header-block .gnav-and-sidenav,
.header-block .g-nav,
.header-block .g-nav li,
.header-block .g-nav li a {
  height: 100%;
}

.header-block .g-nav li a {
  position: relative;
  padding: 0 20px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header-block .g-nav li a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #3b83cc;
  transform: scale(0, 1);
  transform-origin: center top;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

@media screen and (min-width: 641px) {
  .header-block .inner-block {
    height: 110px;
    width: auto;
    padding: 0 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .header-block .g-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .header-block .g-nav li a:hover:after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

/*------------------------------------------------------------------------------
  footer
------------------------------------------------------------------------------*/
.footer-block .logo-and-gnav .inner-block,
.footer-block .sidenav-and-copyright .inner-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.footer-block .logo-and-gnav {
  background-color: #2664a3;
}

.footer-block .logo a {
  display: block;
}

.footer-block .logo-and-gnav .inner-block {
  height: 175px;
}

.footer-block .logo-and-gnav .g-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.footer-block .logo-and-gnav .g-nav li + li {
  margin-left: 30px;
}

.footer-block .logo-and-gnav .g-nav li a {
  position: relative;
  color: #fff;
  padding-left: 15px;
}

.footer-block .logo-and-gnav .g-nav li a:before {
  content: "";
  display: block;
  background: url(../img/common/arrow_right.svg) no-repeat center / 100%;
  width: 6px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.footer-block .sidenav-and-copyright {
  background-color: #03396f;
}

.footer-block .sidenav-and-copyright .inner-block {
  height: 40px;
}

.footer-block .sidenav-and-copyright .sidenav a,
.footer-block .sidenav-and-copyright .copy {
  font-size: 12px;
  color: #fff;
}

.footer-block .sidenav-and-copyright .sidenav li {
  position: relative;

}

.footer-block .sidenav-and-copyright .sidenav li + li {
  margin-left: 25px;
}

/*----------------------
.footer-block .sidenav-and-copyright .sidenav li + li:before
    {
    content: "";
    display: block;
    position: absolute;
    left: -10px;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
    width: 1px;
    height: 15px;
}
----------------------*/
.footer-block .sidenav-and-copyright .copy {
  font-size: 12px;
}

/*---------- pagetop ----------*/
.pagetop-btn {
  position: absolute;
  right: 50px;
  bottom: 20px;
}

.pagetop-btn a {
  position: relative;
  background-color: #3b83cc;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  padding-top: 5px;
  color: #fff;
  font-weight: bold;
}

.pagetop-btn a:before {
  content: "";
  display: block;
  background: url(../img/common/arrow_top.svg) no-repeat center / 100%;
  width: 8px;
  height: 5px;
  position: absolute;
  top: 12px;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (min-width: 641px) {
  .footer-block .logo-and-gnav .g-nav a:hover:before {
    left: 3px;
  }

  .pagetop-btn a:hover:before {
    top: 9px;
  }
}

/*------------------------------------------------------------------------------
  top
------------------------------------------------------------------------------*/
/*---------- mv-block ----------*/
.top .mv-block {
  height: 550px;
  background: url(../img/top/mv_bg.jpg) no-repeat center / cover;
  padding: 0;
}

.top .mv-block .mv-txt {
  text-align: center;
}

/*---------- about-block ----------*/
.top .about-block .inner-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top .about-block .txt-block {
  width: 550px;
}

.top .about-block .c-txt01 {
  margin-bottom: 35px;
}

/*---------- news-block ----------*/
.top .news-list li {
  border-bottom: 1px solid #c5c6c7;
}

.top .news-list li .osirase {
  display: block;
  position: relative;
  padding: 15px 30px 15px 0;
}

.top .news-list li:nth-child(-n + 1) .osirase:before {
  position: absolute;
  left: 40px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "new";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50px;
  height: 30px;
  font-weight: bold;
  color: #fff;
  background-color: #f36a4e;
}

@media screen and (min-width: 641px) {
  .top .news-list {
    height: auto;
    max-height: 355px;
    overflow-y: scroll;
  }

  .top .news-list li .osirase {
    height: 70px;
    min-height: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }


  .top .news-list .date {
    text-align: right;
    width: 215px;
    padding-right: 10px;
  }

  .top .news-list li .osirase .txt {
    width: calc(100% - 215px);
  }
}

/*---------- office-block ----------*/
.jimu {
  display: flex;

}

.office,
.office2 {

  width: 550px;
}

.office2 {
  margin-left: 100px;
}

.jyouhou {
  display: flex;
  width: 550px;

}

.dai {
  font-weight: bold;
  width: 80px;
  height: 60px;
  margin: 10px 10px 0;


}

.dai2 {
  font-weight: bold;

  height: 60px;
  margin: 3px 5px 0;


}

.ato {
  color: #2664a3;

}

.syousai {
  height: 60px;
  float: left;
}

.syousai2 {
  height: 60px;
  float: left;
}



/*------------------------------------------------------------------------------
  subpage
------------------------------------------------------------------------------*/
/*---------- kv-block ----------*/
.kv-block {
  background-size: cover;
}

.kv-block .inner-block {
  height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.kv-ttl {
  color: #2664a3;
  font-size: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.kv-ttl span {
  line-height: 1;
}

.kv-ttl .jp {
  font-size: 30px;
}

.kv-ttl .en {
  position: relative;
  font-size: 16px;
  margin-left: 25px;
}

.kv-ttl .en:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -23px;
  margin: auto;
  display: block;
  width: 15px;
  height: 2px;
  background-color: #2664a3;
  transform: rotate(-66deg);
}

/*---------- bread-block ----------*/
.bread-block {
  background-color: #e9eef4;
}

.bread-list {
  padding: 5px 0;
}

.bread-list li {
  display: inline;
}

.bread-list li + li {
  position: relative;
  margin-left: 25px;
}

.bread-list li + li:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -18px;
  margin: auto;
  display: block;
  background: url(../img/common/arrow_right_black.svg) no-repeat center / 100%;
  width: 8px;
  height: 10px;
}

.bread-list li a,
.bread-list li span {
  display: inline;
  font-size: 14px;
}

@media screen and (min-width: 641px) {}

/*------------------------------------------------------------------------------
outline
------------------------------------------------------------------------------*/
.outline .kv-block {
  background-image: url(../img/outline/kv_bg.jpg);
}

.outline .c-ttl02 {
  font-size: 24px;
}

.outline .box {
  margin-bottom: 50px;
}

.outline .box:last-of-type {
  margin-bottom: 0;
}

@media screen and (min-width: 641px) {}


/*------------------------------------------------------------------------------
greeting
------------------------------------------------------------------------------*/
.greeting .kv-block {
  background-image: url(../img/greeting/kv_bg.jpg);
}

.greeting .c-ttl04 {
  line-height: 1.5;
}

.greeting .small {
  font-size: 18px;
}

.greeting .box span {
  margin-right: 1em;
}

@media screen and (min-width: 641px) {}


/*------------------------------------------------------------------------------
  system
------------------------------------------------------------------------------*/
.system .kv-block {
  background-image: url(../img/system/kv_bg.jpg);
}

.system .anchor-link {
  margin-bottom: 50px;
  justify-content: flex-start;
}

.system .c-ttl03 {
  line-height: 1;
}

.school-block + .school-block {
  margin-top: 50px;
}

.hospital-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.hospital-list li .name01 {
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 5px;
  border-bottom: 2px solid #e5e5e5;
  margin-bottom: 15px;
}

.hospital-list li .box {
  position: relative;
  margin-left: 15px;
  padding-left: 20px;
  line-height: 1.6;
}

.hospital-list li .box .name02 {
  color: #2664a3;
  font-weight: bold;
  font-size: 20px;
}

.hospital-list li .box:before {
  content: "";
  display: block;
  height: 80%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 2px;
  background-color: #2664a3;
}

@media screen and (min-width: 641px) {
  .system .anchor-link li + li {
    margin-left: 10px;
  }

  .hospital-list li {
    width: 350px;
  }

  .hospital-list li:nth-child(n + 4) {
    margin-top: 30px;
  }

  .hospital-list li .name01.small {
    font-size: 18px;
  }

  .hospital-list li + li {
    margin-left: 75px;
  }

  .hospital-list li:nth-child(3n + 1) {
    margin-left: 0;
  }
}

/*------------------------------------------------------------------------------
  results
------------------------------------------------------------------------------*/
.results .kv-block {
  background-image: url(../img/results/kv_bg.jpg);
}

.tab-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #d1d1d1;
  margin-bottom: 50px;
}

.tab-group li {
  position: relative;
  z-index: 1;
  bottom: -1px;
  background-color: #d1d1d1;
  color: #fff;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 155px;
  height: 55px;
  border-radius: 5px 5px 0 0;
  border-right: 1px solid #d1d1d1;
  border-left: 1px solid #d1d1d1;
  border-top: 1px solid #d1d1d1;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  cursor: pointer;
}

.tab-group li.is-active {
  background-color: #fff;
  color: #2664a3;
}

.tab-group li + li {
  margin-left: 10px;
}

.panel-group .panel {
  display: none;
}

.panel-group .panel.is-show {
  display: block;
}

.panel-group .list01 + .list01 {
  margin-top: 30px;
}

.panel-group .list01 {
  padding-bottom: 30px;
  border-bottom: 1px solid #f1f1f1;
}

.panel-group .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.panel-group .box + .box {
  margin-top: 15px;
}

.panel-group .box .tag {
  color: #2664a3;
  border: 1px solid #2664a3;
  padding: 0 8px;
  margin-right: 15px;
}


@media screen and (min-width: 641px) {
  .tab-group li:hover {
    opacity: 0.7;
  }
}

/*------------------------------------------------------------------------------
  link
------------------------------------------------------------------------------*/
.link .kv-block {
  background-image: url(../img/link/kv_bg.jpg);
}

.link .anchor-link {
  margin-bottom: 50px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.district-block + .district-block {
  margin-top: 50px;
}

.district-block:last-of-type {
  margin-bottom: 90px;
}

.district-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.district-list > li {
  width: 320px;
  padding-bottom: 30px;
  border-bottom: 1px solid #f1f1f1;
}

.district-list .tag-and-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px;
}

.tag-and-name h4 {
  font-size: 16px;
}



.district-list .tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: bold;
  font-size: 14px;
  width: 50px;
  height: auto;
  border-radius: 5px;
  color: #fff;
  margin-right: 10px;
}

.district-list .btn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.district-list .btn-list li a {
  position: relative;
  color: #3b83cc;
  width: 150px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 20px;
  border: solid 1px #dcdcdc;
  line-height: 1.1;
}


.district-list .btn-list li a:after {
  content: "";
  display: block;
  position: absolute;
  right: 12px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 5px;
  height: 8px;
  background: url(../img/common/arrow_right_blue.svg) no-repeat center / 100%;
}

.district-list .btn-list li a.small {
  font-size: 12px;
}

.bnr-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.bnr-list li a {
  display: block;
  border: solid 1px #ccc;
}

@media screen and (min-width: 641px) {
  .district-list .btn-list li a:hover {
    background-color: #3b83cc;
    color: #fff;
    border-color: #3b83cc;
  }

  .district-list .btn-list li a:hover:after {
    background-image: url(../img/common/arrow_right.svg);
    right: 8px;
  }

  .bnr-list li a:hover {
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
  }

  .bnr-list li a:hover img {
    opacity: 1;
  }

  .district-list > li:nth-child(n + 4) {
    margin-top: 30px;
  }

  .district-list > li + li {
    margin-left: 120px;
  }

  .district-list > li:nth-child(3n + 1) {
    margin-left: 0;
  }
}



/*------------------------------------------------------------------------------
  clearfix
------------------------------------------------------------------------------*/
.clearfix:after {
  clear: both;
  content: "";
  display: block;
  height: 0px;
  font-size: 0;
  visibility: hidden;
}


/*------------------------------------------------------------------------------
保守追加　事務所.事務局追加
------------------------------------------------------------------------------*/

.jimu {
  display: flex;

}

.office,
.office2 {

  width: 550px;
}

.office2 {
  margin-left: 100px;
}

.jyouhou {
  display: flex;
  width: 550px;
}

.dai {
  font-weight: bold;
  width: 80px;
  height: 60px;
  margin: 10px 10px 0;


}

.dai2 {
  font-weight: bold;
  width: 100px;
  height: 60px;
  margin: 3px 5px 0;


}

.ato {
  color: #2664a3;

}

.syousai {
  height: 60px;
  float: left;
}

.syousai2 {
  height: 60px;
  float: left;
}

/*------------------------------------------------------------------------------
保守追加　news
------------------------------------------------------------------------------*/
.pdf {
  color: #3b83cc;
  text-decoration: underline;
}


.pdf:hover {
  text-decoration: none;

}

/*------------------------------------------------------------------------------
追加対応・歯科研修医受け入れ状況
------------------------------------------------------------------------------*/
.receiving-block {
  background: url(../img/common/receiving.jpg) no-repeat center / auto;
  width: 100%;
}

.receiving-block .contents-block2 {
  padding: 0;
}

.receiving-block .inner-block {
  margin: auto;
  padding: 50px 0;
}

.c-ttl03-2 {
  position: relative;
  font-size: 30px;
  font-weight: bold;

  color: #2664a3;
  text-align: center;
  line-height: 30px;
  margin: 0 0 20px 0;
}

.receiving-block .c-txt01 {
  position: relative;
  text-align: center;
  margin-bottom: 40px;
  line-height: 16px;
}

/*------------------------------------------------------------------------------
保守追加　会員専用ページ導線ボタン
------------------------------------------------------------------------------*/
@media screen and (min-width: 641px) {
  .header-block .g-nav .center01 {
    align-items: center;
    margin-left: 35px;
  }
  .header-block .g-nav .center01 a {
    width: 180px;
    height: 50px;
    font-size: 16px;
  }
}
/*------------------------------------------------------------------------------
保守追加　会員専用ページ
------------------------------------------------------------------------------*/


.header-block .g-nav .center01 a:hover::after {
  content: none;
}

.member .kv-block {
  background-image: url(../img/member/kv_bg.jpg);
}

@media screen and (min-width: 641px) {
  .member .member-block {
    min-height: 500px;
  }
}
.member .member-block .news-list {
  max-height: inherit;
  overflow-y: hidden;
}
/*------------------------------------------------------------------------------
追加対応・2021年度オンライン歯科臨床研修施設説明会
------------------------------------------------------------------------------*/
.tag.bg-green {
  width: 75px;
}
.bg-green br{
 display: none;
}
.inquiry{
  margin-bottom: 100px;
  padding: 0 10px;
}
.briefing .kv-block .inner-block {
  width: auto;
  justify-content: center;
}

.briefing .kv-block {
  background-image: url(../img/online_dental_resident_navigation_2021/kv_bg.jpg);
  margin-top: 0;
}

.briefing .kv-block h2 {
  font-size: 36px;
  font-family: 游ゴシック;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}
.briefing .kv-block span {
  font-size: 24px;
}
.briefing .txt-box .txt + .txt {
  margin-top: 40px;
}
.leafletPDF-block {
  display: flex;
  align-items: flex-start;
  padding: 50px 0px;
}
.leafletPDF-block .txt-block{
  padding-left: 30px;
}
.leafletPDF-block .txt-block .ttl{
  text-align: center;
  padding-bottom: 20px;
}
.leafletPDF-block .txt-block .ttl h3{
  font-size: 20px;
  font-weight: bolder;
}
.leafletPDF-block .txt-block .sns-block {
  display: flex;
  justify-content: space-between;
  margin: 30px 0;
}
.leafletPDF-block .txt-block .sns-block .sns{
  background: #e8f6ff;
  width: 49%;
  text-align: center;
  padding: 30px;
}
.leafletPDF-block .txt-block .sns-block img{
  width: 40%;
  padding: 20px 0;
}
.leafletPDF-block .txt-block .sns-block h4{
  font-size: 18px;
  font-weight: bold;
}
.leaflets-block {
  text-align: center;
  margin-top: 90px;
}

.recruit-info-block {
  background: url(../img/common/recruit-info.jpg) no-repeat center / auto;
  width: 100%;
}

.on-line-block {
  background: url(../img/common/on-line.jpg) no-repeat center / auto;
  width: 100%;
}

.recruit-info-block .contents-block2,
.on-line-block .contents-block2 {
  padding: 0;
}

.recruit-info-block .inner-block,
.on-line-block .inner-block {
  margin: auto;
  padding: 50px 0;
}

.c-ttl03-2 {
  position: relative;
  font-size: 30px;
  font-weight: bold;

  color: #2664a3;
  text-align: center;
  line-height: 30px;
  margin: 0 0 20px 0;
}

.recruit-info-block .c-txt01,
.on-line-block .c-txt01 {
  position: relative;
  text-align: center;
  margin-bottom: 40px;
  line-height: 16px;
}


/* zoom-list */

.tag-and-name{
  pointer-events: none;
}

.zoom-list {
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  height: 100px;
  margin-bottom: 20px;
}


.zoom-list li a:nth-child(n+2) {
  margin-top: 10px;

}

.zoom-list li a {
  position: relative;
  color: #3b83cc;
  width: 150px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 5px;
  border: solid 1px #dcdcdc;
  line-height: 1.1;
}

.zoom-list li a:after {
  content: "";
  display: block;
  position: absolute;
  right: 12px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 5px;
  height: 8px;
  background: url(../img/common/arrow_right_blue.svg) no-repeat center / 100%;
}
@media screen and (min-width: 641px) {
    .zoom-list li a:hover {
      background-color: #3b83cc;
      color: #fff;
      border-color: #3b83cc;
    }

    .zoom-list li a:hover:after {
      background-image: url(../img/common/arrow_right.svg);
      right: 8px;
    }
}

.zoom-list li a.small {
  font-size: 12px;
}

/*gate-block*/

.gate-block .schedule {
  display: flex;
  justify-content: center;
  margin-top: 90px;
  margin-bottom: 100px;
  line-break: strict;
}

.gate-block .day1{
  text-align: center;
}
.gate-block .day2{
  margin-left: 40px;
  text-align: center;
}

.gate-block .schedule .c-btn01 a {
  width: 370px;
  font-size: 32px;
  background-color: #2664a3;
}
.gate-block .schedule .c-btn01 a:after {
  width: 7px;
  height: 12px;
}
@media screen and (min-width: 641px) {
  .gate-block .schedule .c-btn01 a:hover {
    background-color: #f36a4e;
    box-shadow: 0 0 7px rgb(0 0 0 / 30%);
  }
}

.gate-block .schedule h3 {
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 600;
  padding-top: 40px;

}

.gate-block .schedule h3:before,
.gate-block .schedule h3:after {
    content: "";
    height: 2px;
    flex-grow: 1;
    background-color: #2664a3;
}
.gate-block .schedule h3:before {
    margin-right: 1rem;
}

.gate-block .schedule h3:after {
    margin-left: 1rem;
}
.first {
  width: 580px;
  height: auto;
  background-color: #e8f6ff;
  padding: 50px 40px 0 40px;
}
.acd,.acd_2{
  pointer-events: all;
  background-color: #e8f6ff;
  position: relative;
  padding: 0px 40px 20px 40px;

}
/*.acd:after,
.acd_2:after{
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  border-right: 3px solid #2664a3;
  border-bottom: 3px solid #2664a3;
  transform: translateY(-50%) rotate(
45deg
);
  transition: .3s;
}
.acd.open:after,
.acd_2.open:after {
  transform: rotate(225deg);
}
*/
.entry_link{
  display:none;
  background-color: #e8f6ff;
  padding: 0 40px 50px 40px;
}

.entry_facility{
  font-size: 16px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  text-align: left;
}
.entry_facility .colum1,
.entry_facility .colum2{
  max-width: 240px;
}
.entry_facility li {
  list-style: disc;
  list-style-position: inside;
  margin-left: 1.4em;
  text-indent: -1.4em;
}

.sns-block.outer-block {
    padding-top: 80px;
}
.timelime.pc {
  text-align: center;
}

/*------------------------------------------------------------------------------
追加対応・2022年度オンライン歯科臨床研修施設説明会
------------------------------------------------------------------------------*/
.thumb {
  overflow: hidden;
  margin-bottom: 15px;
}

.thumb img {
  width: 400px;
  height: 200px;
  object-fit: cover;
}

.copywriting{
  font-size: 12px;
  padding: 10px;
  background-color: #e8f6ff;
  margin-bottom: 15px;
}
.attention{
  display: flex;
  justify-content: space-between;
}
.attention .office3 {
  width: 760px;
  text-align: left;
}
.attention img {
  width: 390px;
}
.list_wrap .c-ttl_1 {
  margin-left: 1em;
	text-indent: -1em;
  margin-bottom: 10px;
}

.list_wrap .c-ttl_1:nth-last-child() {
margin-bottom: 0;
}


.list_wrap .c-ttl_1::before {
  position: relative;
  content:  "";
  width:  6px;
  height:  6px;
  position: relative;
  top: -3px;
  display:  inline-block;
  background-color: #3b83cc;
  border-radius:  50%;
}
/*------------------------------------------------------------------------------
  footer
------------------------------------------------------------------------------*/
.footer2-block .logo-and-gnav .inner-block,
.footer2-block .sidenav-and-copyright .inner-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
}



.footer2-block .logo-and-gnav {
  background-color: #2664a3;
}


.footer2-block .logo a {
  display: block;
}


.footer2-block .logo-and-gnav .inner-block {
  height: 175px;
}

.footer2-block .logo-and-gnav .g-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.footer2-block .sidenav-and-copyright {
  background-color: #03396f;
}

.footer2-block .sidenav-and-copyright .inner-block {
  height: 40px;
}

.footer2-block .sidenav-and-copyright .sidenav a,
.footer2-block .sidenav-and-copyright .copy {
  font-size: 12px;
  color: #fff;
}

.footer2-block .sidenav-and-copyright .sidenav li {
  position: relative;

}

.footer2-block .sidenav-and-copyright .sidenav li + li {
  margin-left: 25px;
}


.footer2-block .sidenav-and-copyright .copy {
  font-size: 12px;
}
@media all and (-ms-high-contrast: none) {
  .footer2-block .logo,
  .footer2-block .sidenav-and-copyright .copy{
    margin: auto;
  }
}

/*------------------------------------------------------------------------------
job
------------------------------------------------------------------------------*/
.job .kv-block {
  background-image: url(../img/job/kv_bg.jpg);
}
.job .contact-area {
  background-color: #e9eef4;
  padding: 40px 20px;
  border-radius: 10px;
  margin-bottom: 30px;
}
.job .c-txt01 {
  text-align: center;
}
.job .c-btn01{
  padding-top: 20px;
}
.job .c-btn01 a{
  width: 400px;
}
.job .district-list .btn-list {
  flex-wrap: wrap;
}
.job .district-list .btn-list .mail,.job .district-list .btn-list .mail a{
  width: 100%;
}
.job .district-list .btn-list li:nth-child(n+3){
  padding-top: 10px;
}
.job .number{
  padding-top: 10px;
  text-align: end;
  color: gray;
  font-size: 16px;
}

/*------------------------------------------------------------------------------
contact
------------------------------------------------------------------------------*/
.contact .contents-block .inner-block {
  width: 900px;
}
.contact .contents-block .contact-table {
  margin-top: 30px;
  width: 100%;
}
.contact .contents-block .contact-table tr {
  border-bottom: solid 1px #fff;
}
.contact .contents-block .contact-table tr:first-child {
  border-top: solid 1px #eee;
}
.contact .contents-block .contact-table tr:last-child {
  border-bottom: solid 1px #eee;
}
.contact .contents-block .contact-table th {
  background: #e9eef4;
  padding: 20px 70px 20px 20px;
  text-align: left;
  line-height: 1.6;
  width: 253px;
}
.contact .contents-block .contact-table th.required {
  position: relative;
}
.contact .contents-block .contact-table th.required::after {
  background: #3b83cc;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  content: "必須";
  display: block;
  height: 23px;
  position: absolute;
  width: 43px;
  bottom: 0;
  top: 0;
  right: 20px;
  margin: auto;
  text-align: center;
  padding: 3px;
}
.contact .contents-block .contact-table td {
  padding: 20px;
}
.contact .contents-block .contact-table input[type=text],
.contact .contents-block .contact-table input[type=email],
.contact .contents-block .contact-table input[type=tel] ,
.contact .contents-block .contact-table textarea {
  border: solid 1px #eee;
  color: #333;
  font-size: 16px;
  padding: 9px 15px 8px;
  width: 100%;
}
.contact .contents-block .contact-table input[type=text]::placeholder,
.contact .contents-block .contact-table input[type=email]::placeholder,
.contact .contents-block .contact-table input[type=tel]::placeholder {
  color: #acacac;
}
.contact .contents-block .contact-table input[type=text]:focus,
.contact .contents-block .contact-table input[type=email]:focus,
.contact .contents-block .contact-table input[type=tel]:focus,
.contact .contents-block .contact-table textarea:focus {
  outline: solid 1px #eee;
}
.contact .contents-block .contact-table .pulldown {
  position: relative;
  width: 268px;
}
.contact .contents-block .contact-table .pulldown::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(135deg);
}
.contact .contents-block .contact-table .pulldown select {
  background: #fff;
  border: solid 1px #eee;
  color: #333;
  font-size: 16px;
  padding: 9px 15px 8px;
  width: 100%;
}
.contact .contents-block  .c-btn01 {
  padding-top: 60px;
}
.contact .contents-block .c-btn01 a, .contact .contents-block .c-btn01 button {
  max-width: 250px;
}

/* 確認ページ */
.contact .contents-block .btn-area {
  gap: 20px;
}
.contact .contents-block .btn-area .c-btn01.back a {
  background: #999;
}
.contact .contents-block .btn-area .c-btn01.back a:after {
  right: auto;
  left: 25px;
  transform: rotate(180deg);
}

.must{
  color: #ff5757;
  font-size: 14px;
  margin-top: 4px;
}

.zoom-link {
  margin-top: 40px;
}
.zoom-link a {
  width: 400px;
  margin: 0 auto;
  font-size: 20px;
  height: 80px;
  border-radius: 60px;
}
.zoom-link a::after {
  width: 10px;
  height: 15px;
}