@charset "utf-8";
/* CSS Document */

@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700|Noto+Serif+JP:400,500&display=swap&subset=japanese");

@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Yusei+Magic&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;800&display=swap&subset=japanese');

body.cms .page-edit .doctor-table,
body.cms .page-edit .disease-table {
  display: block !important;
}

body.cms .inner.header,
.cms-page-edit .header {
  position: static !important;
  min-height: auto !important;
}

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,
p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,
dfn,em,font,img,ins,kbd,q,s,samp,small,strike,tt,var,
dl,dt,dd,ol,ul,li,fieldset,form,glabel,legend,input {
  margin: 0;
  padding: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  vertical-align: baseline;
  -webkit-font-smoothing: antialiased;
}
:focus {
  outline: 0;
}
ol,
ul {
  list-style: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}
blockquote,
q {
  quotes: "" "";
}
img{
  vertical-align: top;
  max-width: 100%;
  height: auto;
}
svg{
  vertical-align: top;
}
a {
  transition: all .2s;
  text-decoration: none;
  color: #333;
}
@media screen and (min-width: 1280px) {
  .bgBlack a {
    color: #fff;
  }
}
a:hover {
  text-decoration: underline;
}
.main a{
  color: #4F67A7;
  font-weight: 500;
  word-break: break-all;
}
@media screen and (min-width: 1280px) {
  .bgBlack .main a {
    color: #fff;
  }
}
input:focus, textarea:focus {
  outline: none;
}
input[type=submit],
input[type=reset],
button{
  cursor: pointer;
}
input[type=radio], input[type=checkbox] {
  display: none;
}
input :not(#cypochiform) {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
table{
  border-collapse: collapse;
  border-spacing: 0;
}
strong {
  font-weight: 700;
}
*,*::before,*::after{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html{
  font-size: 62.5%;
  line-height: 1.6;
}
body {
  font-family: "Noto Sans JP", Helvetica, Arial, メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 400;
  background: #fff;
  color: #333;
  overflow-x: hidden;
}
@media screen and (min-width: 1280px) {
  .bgBlack {
    background: #000;
    color: #fff;
  }
  .bgYellow {
    background: #ff0;
  }
}
input,textarea,button,select{
  font-size: 16px;
  font-family: "Noto Sans JP", Helvetica, Arial, メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}
@media screen and (max-width: 1279px) {
  html {
    font-size: 62.5% !important;
  }
  body {
    padding-top: 50px;
  }
}
@media screen and (max-width: 359px) {
  body {
    padding-top: 50px;
  }
}

.img-wrap-link::after {
  content: none !important;
}
a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  background: url(/albums/css/basic3-common3/abm00001100.svg) center center no-repeat;
  background-size: 12px 12px;
}
.button-inner a[target="_blank"]::after,
.footer a[target="_blank"]::after {
  background-image: url(/albums/css/basic3-common3/abm00001101.svg);
}
a[href*=".xls"]::after {
  content: "";
  position: relative;
  top: 2px;
  display: inline-block;
  width: 15px;
  height: 16px;
  margin-left: 6px;
  background: url(/albums/css/basic3-common3/abm00001111.svg) center center no-repeat;
  background-size: 15px 16px;
}
a[href*=".doc"]::after {
  content: "";
  position: relative;
  top: 2px;
  display: inline-block;
  width: 15px;
  height: 16px;
  margin-left: 7px;
  background: url(/albums/css/basic3-common3/abm00001102.svg) center center no-repeat;
  background-size: 15px 16px;
}
a[href*=".pdf"]::after {
  content: "";
  position: relative;
  top: 2px;
  display: inline-block;
  width: 15px;
  height: 16px;
  margin-left: 7px;
  background: url(/albums/css/basic3-common3/abm00001105.svg) center center no-repeat;
  background-size: 15px 16px;
}
@media screen and (min-width: 1280px) {
  .bgBlack a[target="_blank"]::after {
    background-image: url(/albums/css/basic3-common3/abm00001101.svg) !important;
  }
  .bgBlack a[href*=".pdf"]::after {
    background-image: url(/albums/css/basic3-common3/abm00001106.svg) !important;
  }
}

/*  base  */
.wrapper {
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1279px) {
  .wrapper {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}
.contents {
  width: calc(100% - 220px);
}
@media screen and (max-width: 1279px) {
  .contents {
    width: 100%;
  }
}

.under-visual {
  position: relative;
  display: -ms-flex;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  height: 120px;
  padding: 0 40px;
  background: url(/albums/css/basic3-common3/abm00001098.jpg) no-repeat 25% 50%;
  background-size: cover;
}
.under-visual::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  height: 100%;
  width: 100%;
  background: rgba(0,0,0,0.13);
}
.under-visual__text {
  position: relative;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 24px;
  font-size: 2.4rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.3;
  color: #fff;
}
.under-visual + .breads {
  background: #f6f6f6;
}
.news-list-top .under-visual {
  height: 240px;
  background-image: url(/albums/css/basic3-common3/abm00001128.jpg);
}
.news-list-top .under-visual__text {
  position: relative;
  font-size: 42px;
  font-size: 4.2rem;
}
.news-list-top .under-visual__text::before {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 0;
  display: block;
  height: 2px;
  width: 40px;
  background: #fff;
}
@media screen and (max-width: 1279px) {
  .under-visual {
    height: 80px;
    padding: 0 4vw;
  }
  .under-visual__text {
    font-size: 20px;
    font-size: 2rem;
  }
  .news-list-top .under-visual {
    height: 160px;
  }
  .news-list-top .under-visual__text {
    font-size: 2.8px;
    font-size: 2.8rem;
  }
  .news-list-top .under-visual__text::before {
    bottom: -25px;
    height: 1px;
    width: 30px;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .under-visual + .breads {
    background: #000;
    border-bottom: 1px solid #fff;
  }
  
  .bgYellow .under-visual + .breads {
    background: #ff0;
    border-bottom: 1px solid #333;
  }
}



.breads {
  background-color: #F6F6F6;
  padding: 8px 40px;
}
.breads ul {
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 14px;
  font-size: 1.4rem;
}
.breads li::before {
  content: "＞";
  margin-left: 14px;
  margin-right: 14px;
}
.breads li:first-child::before {
  content: none;
}
.breads a {
  color: #4D217C;
}
.breads li.root1 a {
  font-size: 0;
  color: transparent;
}
.breads li.root1 a::before {
  content: "トップ";
  font-size: 14px;
  font-size: 1.4rem;
  color: #472573;
}
.breads li.root1 a:hover::before {
  text-decoration: underline;
}
body.news-detail .breads,
body.news-list-page .breads{
  border-bottom: none;
}
@media screen and (max-width: 1279px) {
  .breads {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .breads {
    border-color: #fff;
  }
  .bgBlack .breads a {
    color: #fff;
  }
  .bgBlack .breads li.root1 a::before {
    color: #fff;
  }
  
  .bgYellow .breads {
    border-color: #333;
  }
  .bgYellow .breads a {
    color: #333;
  }
}

.content {
  padding: 0 40px;
}
@media screen and (max-width: 1279px) {
  .content {
    padding: 0 4vw;
  }
}

.main {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 50px;
  padding-bottom: 140px;
}
@media screen and (max-width: 1279px) {
  .main {
    max-width: none;
    padding-top: 30px;
    padding-bottom: 70px;
  }
}

body.under .content {
  display: flex;
}
body.under .main {
  width: calc(100% - 340px);
  max-width: 860px;
  margin-right: 0;
}
@media screen and (max-width: 1279px) {
  body.under .main {
    width: 100%;
    max-width: none;
    margin-right: auto;
    overflow:hidden;
  }
}

/*  header  */
base-header {
  position: relative;
  display: block;
  width: 220px;
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  display: -ms-flex;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  z-index: 5;
  width: 220px;
  min-height: 100vh;
  line-height: 1.5;
}
.logo {
  display: -ms-flex;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  height: 180px;
  min-height: 180px;
  border-bottom: 1px solid #ccc;
  background: #fff;
  text-align: center;
  font-family: "Noto Serif JP", serif;
}
.logo a:hover {
  text-decoration: none;
}
.logo__image svg {
  width: 102px;
  height: 106px;
}
.logo__text-wrap {
  white-space: nowrap;
}
.logo__sub-text {
  margin-top: 10px;
  font-size: 1rem;
  line-height: 1;
}
.logo__main-text {
  margin-top: 4px;
  font-size: 2.6rem;
  line-height: 1;
}
@media screen and (max-width: 1279px) {
  base-header {
    width: 100%;
  }
  .header {
    -ms-flex-direction: row;
    flex-direction: row;
    width: 100%;
    min-height: 0;
  }
  .logo {
    flex: 1 1 auto;
    height: 60px;
    min-height: 60px;
    text-align: left;
    padding-left: 5px;
  }
  .logo a {
    display: -ms-flex;
    display: flex;
    width: 160px;
  }
  .logo__image {
    margin-top: 3px;
    margin-right: 5px;
  }
  .logo__image svg {
    width: 48px;
    height: 50px;
  }
  .logo__sub-text {
    margin-top: 9px;
  }
  .logo__main-text {
    margin-top: 4px;
    font-size: 24px;
    font-size: 2.4rem;
    letter-spacing: .1rem;
  }
}
@media screen and (max-width: 359px) {
  .logo {
    height: 50px;
    min-height: 50px;
  }
  .logo a {
    width: 150px;
  }
  .logo__image svg {
    width: 38px;
    height: 40px;
  }
  .logo__sub-text {
    margin-top: 4px;
  }
  .logo__main-text {
    margin-top: 3px;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .logo {
    border-bottom: 1px solid #fff;
    background: #000;
  }
  .bgBlack .logo__image svg path {
    fill: #fff !important;
  }
  
  .bgYellow .logo {
    border-bottom: 1px solid #000;
    background: #ff0;
  }
}

.gnav-bnr {
  line-height: 1.2;
}
.gnav-bnr a {
  display: block;
  min-height: 60px;
  padding: 12px 4px 4px 12px;
  border-bottom: 1px solid #ccc;
  background-color: #fff;
}
.gnav-bnr a:hover {
  text-decoration: none;
  background-color: #644294;
  color: #fff;
}
.gnav-bnr a[target="_blank"]::after {
  content: none;
}
.gnav-bnr__en {
  font-size: 1.3rem;
}
.gnav-bnr__ja {
  font-size: 1.6rem;
}
@media screen and (max-width: 1279px) {
  .gnav-bnr {
    margin: 20px 4vw;
  }
  .gnav-bnr + .gnav-bnr {
    margin-top: -10px;
  }
  .gnav-bnr a {
    padding-left: 4vw;
    border: 1px solid #999;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .gnav-bnr a {
    border-color: #fff;
    background-color: #000;
  }
  .bgYellow .gnav-bnr a,
  .bgYellow .gnav-bnr a:hover {
    border-color: #000;
    background-color: #ff0;
    color: #000;
  }
}

.sp-btns {
  display: none;
}
@media screen and (max-width: 1279px) {
  .sp-btns {
    display: -ms-flex;
    display: flex;
    width: 180px;
    border-bottom: 1px solid #ccc;
  }
  .sp-btn {
    width: 60px;
    text-align: center;
    border-left: 1px solid #ccc;
    background: #fff;
  }
  .sp-btn:last-child {
    border-left: none;
  }
  .sp-btn a {
    display: block;
    padding-top: 12px;
    height: 59px;
  }
  .sp-btn__text {
    margin-top: 3px;
    font-size: 10px;
    font-size: 1rem;
    letter-spacing: -0.1rem;
  }
  .sp-btn__image {
    width: 22px;
    height: 22px;
    margin: 0 auto;
    text-align: center;
  }
  .sp-btn__image img {
    max-height: 100%;
  }
  .sp-btn__gnav button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    width: 100%;
    height: 59px;
    padding: 12px 0 0 0;
    border: none;
    background: #4D217C;
    color: #fff;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
  }
  .sp-btn__gnav button span {
    position: relative;
    display: block;
    width: 100%;
    height: 1px;
    margin-top: 10px;
    background: #fff;
    transition: .2s;
  }
  .sp-btn__gnav button span::before {
    position: absolute;
    left: 0;
    top: -7px;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    transition: .2s;
  }
  .sp-btn__gnav button span::after {
    position: absolute;
    left: 0;
    top: 7px;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    transition: .2s;
  }
  .sp-btn__gnav button.is-active span {
    background: transparent;
  }
  .sp-btn__gnav button.is-active span::before {
    top: 0;
    width: 80%;
    margin-left: 10%;
    transform: rotate(45deg);
  }
  .sp-btn__gnav button.is-active span::after {
    top: 0;
    width: 80%;
    margin-left: 10%;
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 359px) {
  .sp-btns {
    width: 150px;
  }
  .sp-btn {
    width: 50px;
  }
  .sp-btn a {
    height: 49px;
    padding-top: 8px;
  }
  .sp-btn__text span {
    display: none;
  }
  .sp-btn__gnav button {
    height: 49px;
    padding-top: 8px;
  }
}


.gnav-overlay {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100vh;
  background: #040000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0s;
}
.gnav-overlay.is-hover {
  opacity: 0.2;
  pointer-events: auto;
  transition: opacity .1s;
}
.gnav-bg {
  position: fixed;
  left: 220px;
  top: 0;
  z-index: 0;
  width: 760px;
  height: 100vh;
  background: #fff;
  transform: translateX(-980px);
  transition: transform 0s;
}
.gnav-bg.is-hover {
  transform: translateX(0);
  transition: transform .4s;
}

.gnav {
  flex: 1 1 auto;
  background: #F6F6F6;
}
@media screen and (max-width: 1279px) {
  .gnav-overlay,
  .gnav-bg {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .gnav {
    background: #000;
  }
}

.gnav .lv2-item {
  display: none;
}
.gnav .lv2-item.about2,
.gnav .lv2-item.visit2,
.gnav .lv2-item.clinic2,
.gnav .lv2-item.cooperation2,
.gnav .lv2-item.recruit2,
.gnav .lv2-item.news_all2 {
  display: block;
}
@media screen and (min-width: 1280px) {
  .gnav .lv2-link {
    display: block;
    min-height: 48px;
    padding: 11px 12px 11px 12px;
    border-bottom: 1px solid #ccc;
    font-weight: 500;
    font-size: 1.6rem;
    letter-spacing: -.1rem;
  }
  .gnav .f-current .lv2-link,
  .gnav .lv2-link.is-hover {
    text-decoration: none;
    background: #644294;
    color: #fff;
  }
  .gnav .lv3-link {
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 10px;
    font-weight: 500;
    font-size: 21px;
    font-size: 2.1rem;
  }
  .gnav .lv3-link.index {
    display: inline-block;
    margin-bottom: 50px;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
    font-size: 24px;
    font-size: 2.4rem;
  }
  .gnav .lv3-link.index + .lv3-wrap {
    display: none;
  }
  .gnav .lv4-link {
    display: block;
    padding-right: 24px;
    background: url(/albums/css/basic3-common3/abm00001097.svg) no-repeat right 0 top 4px;
    background-size: 18px 18px;
  }
  
  .gnav .gnav-button {
    display: none;
  }
  
  .gnav .lv4-item {
    margin-bottom: 3px;
  }
  
  .gnav .lv2-wrap {
    position: absolute;
    left: 220px;
    top: 0;
    z-index: -1;
    height: 100vh;
    width: 760px;
    padding: 80px 60px 40px 60px;
    overflow-y: auto;
    opacity: 0;
    transition: opacity 0s;
    pointer-events: none;
  }
  .gnav .lv2-wrap.is-hover {
    opacity: 1;
    transition: opacity 0.4s;
    pointer-events: auto;
  }
  .gnav .lv3-wrap {
    padding-top: 15px;
    border-top: 1px solid #333;
  }
  .gnav .lv4-wrap {
    display: none;
  }
  
  .gnav .lv2-folder {
    display: -ms-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .gnav .lv2-folder > * {
    width: calc(50% - 20px);
    margin-right: 40px;
    margin-bottom: 30px;
  }
  .gnav .lv2-folder > *:nth-child(2n+1) {
    margin-right: 0;
  }
  .gnav .lv2-folder > *:first-child {
    display: block !important;
    width: 100%;
    margin-bottom: 0;
  }
  
  .bgBlack .gnav .lv2-link {
    border-bottom: 1px solid #fff;
  }
  .bgBlack .gnav .f-current .lv2-link,
  .bgBlack .gnav .lv2-link.is-hover {
    background: #333;
  }
  .bgBlack .gnav .lv4-link {
    background-image: url(/albums/css/basic3-common3/abm00001097.svg);
  }
  .bgBlack .gnav .lv2-wrap {
    background: #000;
  }
  .bgBlack .gnav .lv3-wrap {
    border-top: 1px solid #fff;
  }
  
  .bgYellow .gnav {
    background: #ff0;
  }
  .bgYellow .gnav .lv2-wrap {
    background: #ff0;
  }
  .bgYellow .gnav .lv2-link {
    border-bottom: 1px solid #000;
  }
}
@media screen and (max-width: 1279px) {
  .gnav {
    position: fixed;
    left: 0;
    width: 100%;
    top: 50px;
    transform: translateX(100%);
    background: #fff;
    transition: transform .2s;
    overflow-x: hidden;
    overflow-y: scroll;
  }
  .gnav.is-active {
    transform: translateX(0);
  }
  
  .gnav .gnav-link {
    position: relative;
    display: block;
    min-height: 45px;
    padding: 10px 10px 10px 4vw;
    border-bottom: 1px solid #999;
    font-weight: 500;
  }
  .gnav .lv2-link {
    padding-left: 4vw;
  }
  .gnav .lv3-link {
    padding-left: calc(4vw + 16px);
  }
  .gnav .lv4-link {
    padding-left: calc(4vw + 32px);
  }
  .gnav .lv5-link {
    padding-left: calc(4vw + 48px);
  }
  .gnav .lv6-link {
    padding-left: calc(4vw + 64px);
  }
  .gnav .lv7-link {
    padding-left: calc(4vw + 80px);
  }
  .gnav .gnav-head {
    padding-right: 45px;
  }
  
  .gnav .gnav-button {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 45px;
    height: 45px;
  }
  .gnav .gnav-button button {
    position: relative;
    width: 45px;
    height: 45px;
    padding: 5px;
    border: none;
    background: transparent;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
  }
  .gnav .gnav-button button span {
    position: relative;
    display: block;
    width: 35px;
    height: 35px;
    border: 1px solid #ccc;
    border-radius: 50%;
  }
  .gnav .gnav-button button span::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 16px;
    display: block;
    width: 11px;
    height: 1px;
    background: #666;
  }
  .gnav .gnav-button button span::after {
    content: "";
    position: absolute;
    left: 16px;
    top: 11px;
    display: block;
    width: 1px;
    height: 11px;
    background: #666;
    transform: opacity .2s;
  }
  .gnav .gnav-button button.is-active span::after {
    opacity: 0;
  }
  
  .gnav .gnav-wrap {
    display: none;
  }
}
@media screen and (max-width: 359px) {
  .gnav {
    top: 50px;
  }
}

.header-sub-nav {
  padding-top: 14px;
  padding-left: 17px;
  background: #472573;
  color: #fff;
  line-height: 1;
}
.header-sub-nav__tel {
  min-height: 20px;
  margin-bottom: 13px;
  padding: 3px 0 0 27px;
  background: url(/albums/css/basic3-common3/abm00000942.svg) no-repeat left 0 bottom 0;
  background-size: 20px 20px;
}
.header-sub-nav__tel-text {
  margin-bottom: 2px;
  font-size: 11px;
  font-size: 1.1rem;
}
.header-sub-nav__tel-link {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
}
.header-sub-nav__access {
  min-height: 20px;
  margin-bottom: 13px;
  padding: 3px 0 0 27px;
  background: url(/albums/css/basic3-common3/abm00000943.svg) no-repeat left 0 bottom 0;
  background-size: 20px 20px;
  font-size: 14px;
  font-size: 1.4rem;
}
.header-sub-nav__guide {
  min-height: 20px;
  margin-bottom: 13px;
  padding: 3px 0 0 27px;
  background: url(/albums/css/basic3-common3/abm00000944.svg) no-repeat left 0 bottom 0;
  background-size: 20px 20px;
  font-size: 14px;
  font-size: 1.4rem;
}
.header-sub-nav__language {
  min-height: 20px;
  margin-bottom: 15px;
  padding: 3px 0 0 27px;
  background: url(/albums/css/basic3-common3/abm00000945.svg) no-repeat left 0 bottom 0;
  background-size: 20px 20px;
  font-size: 14px;
  font-size: 1.4rem;
}
.header-sub-nav a {
  color: #fff;
}
@media screen and (max-width: 1279px) {
  .header-sub-nav {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .header-sub-nav {
    box-shadow: 0px 1px 0px inset #fff;
    background: #000;
  }
}

.header-search {
  display: flex;
  padding: 0 10px 12px 10px;
  background: #472573;
}
.header-search input[type="text"]{
  width: calc(100% - 40px);
  padding: 8px 0 8px 9px;
  border: none;
  border-radius: 4px 0 0 4px;
  background: #644294;
  color: rgba(255,255,255,0.5);
  vertical-align: bottom;
}
.header-search input[type="submit"]{
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 0 4px 4px 0;
  background: url(/albums/css/basic3-common3/abm00001079.svg) #644294 no-repeat center center;
  background-size: 20px 20px;
  font-size: 0;
  color: transparent;
  vertical-align: bottom;
}
@media screen and (max-width: 1279px) {
  .header-search {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .header-search {
    background-color: #000;
    box-shadow: 0px -1px 0px inset #fff;
  }
  .bgBlack .header-search input[type="text"] {
    color: #fff;
    background-color: #000;
    box-shadow: 0 1px 0 inset #fff, 0 -1px 0 inset #fff, 1px 0 0 inset #fff;
  }
  .bgBlack .header-search input[type="submit"]{
    background-color: #000;
    box-shadow: 0 1px 0 inset #fff, 0 -1px 0 inset #fff, -1px 0 0 inset #fff;
  }
}

.accessibility-btns {
  display: flex;
  padding: 11px 0 11px 15px;
  background: #fff;
}
.accessibility-btn {
  display: flex;
}
.accessibility-btn button {
  width: 28px;
  height: 28px;
  margin: 0 2px;
  border: 1px solid #939393;
  border-radius: 2px;
  vertical-align: top;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  background: #fff;
  color: #555;
}
.accessibility-btn__fsize {
  margin-right: 6px;
}
.accessibility-btn__fsize button {
  font-size: 0;
  color: transparent;
}
#font_size_normal::before  {
  content: "A";
  font-size: 11px;
  color: #555;
}
#font_size_big::before {
  content: "A";
  font-size: 18px;
  color: #555;
}
#color_white {
  background: #fff;
}
#color_yellow {
  background: #ff0;
}
#color_black {
  background: #000;
  color: #fff;
}
.accessibility-btn__voice {
  font-size: 0;
  color: transparent;
}
.accessibility-btn__voice a {
  display: inline-block;
  width: 26px;
  height: 28px;
  margin: 0 4px;
  vertical-align: middle;
  color: transparent;
  -webkit-appearance: none;
  appearance: none;
}
.accessibility-btn__voice a::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 28px;
  margin-top: 0;
  margin-left: 0;
  background: url(/albums/css/basic3-common3/abm00001080.svg) center center no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.accessibility-btn__voice a::after {
  content: none !important;
}
.accessibility-btn__voice a:hover::before {
  background-image: url(/albums/css/basic3-common3/abm00001110.svg);
}
@media screen and (max-width: 1279px) {
  .accessibility-btns {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .accessibility-btns {
    background: #000;
  }
  .bgBlack .accessibility-btn button {
    background: #000;
    border-color: #fff;
  }
  .bgBlack #font_size_normal::before,
  .bgBlack #font_size_big::before {
    color: #fff;
  }
  .bgBlack .accessibility-btn__voice a::before {
    background-image: url(/albums/css/basic3-common3/abm00001108.svg);
  }
  .bgBlack .accessibility-btn__voice a:hover::before {
    background-image: url(/albums/css/basic3-common3/abm00001109.svg);
  }
  
  .bgYellow .accessibility-btns {
    background: #ff0;
  }
}

/*  footer  */
.footer {
  padding: 65px 60px 35px 40px;
  background: #472573;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #fff;
}
.footer a {
  color: #fff;
}
.footer__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.footer__row {
  display: flex;
}
.footer__row + .footer__row {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid rgba(220,220,220,0.6);
}
.footer__column {
  width: 25%;
  padding-top: 15px;
  padding-bottom: 25px;
  padding-right: 10px;
}
.footer__column + .footer__column{
  padding-left: 20px;
  border-left: 1px solid rgba(220,220,220,0.6);
}
.footer__column.footer__column-image {
  padding-left: 0;
  border-left: none;
  text-align: right;
}
.footer__column li {
  margin-bottom: 8px;
}
.footer__column li:last-child {
  margin-bottom: 0;
}
.footer__logo {
  margin-bottom: 10px;
}
.footer__logo a {
  display: flex;
}
.footer__logo a:hover {
  text-decoration: none;
}
.footer__logo-image {
  width: 65px;
  height: 68px;
}
.footer__logo-image svg {
  width: 65px;
  height: 68px;
}
.footer__logo-wrap {
  margin-left: 10px;
  padding-top: 3px;
  line-height: 1.4;
}
.footer__logo-text01 {
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-size: 1.4rem;
}
.footer__logo-text02 {
  font-family: "Noto Serif JP", serif;
  font-size: 27px;
  font-size: 2.7rem;
}
.footer__address {
  line-height: 2;
}
.footer__juntendo {
  font-size: 20px;
  font-size: 2rem;
  font-family: "Noto Serif JP", serif;
}
.footer__copyright {
  margin-top: 40px;
  text-align: right;
}
.footer__copyright small {
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 1279px) {
  .footer {
    padding: 30px 3% 10px 3%;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .footer__row {
    display: block;
  }
  .footer__row + .footer__row {
    margin-top: 20px;
    padding-top: 20px;
  }
  .footer__column {
    width: 100%;
    margin-bottom: 8px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 4.5%;
    padding-right: 4.5%;
  }
  .footer__column + .footer__column{
    padding-left: 4.5%;
    padding-right: 4.5%;
    border-left: none;
  }
  .footer__column.footer__column-image {
    padding: 25px 4.5% 5px 4.5%;
    text-align: left;
  }
  .footer__column li {
    padding-left: 25px;
    background: url(/albums/css/basic3-common3/abm00001097.svg) no-repeat 0 2px;
    background-size: 18px 18px;
  }
  .footer__logo {
    margin-bottom: 20px;
  }
  .footer__logo-image svg {
    width: 65px;
    height: 68px;
  }
  .footer__logo-wrap {
    margin-left: 10px;
    padding-top: 3px;
    line-height: 1.4;
  }
  .footer__logo-text01 {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .footer__logo-text02 {
    font-size: 27px;
    font-size: 2.7rem;
  }
  .footer__address {
    margin-bottom: 20px;
    line-height: 1.5;
  }
  .footer__address a {
    font-size: 2.7rem;
    font-weight: 700;
  }
  .footer__juntendo {
    padding-left: 25px;
    background: url(/albums/css/basic3-common3/abm00001097.svg) no-repeat 0 2px;
    background-size: 18px 18px;
    font-size: 15px;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", Helvetica, Arial, メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  }
  .footer__copyright {
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px solid rgba(220,220,220,0.6);
    text-align: center;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .footer {
    background: #000;
    box-shadow: 0 -1px 0 #fff;
  }
  .bgBlack .footer__row + .footer__row {
    border-top: 1px solid #fff;
  }
  .bgBlack .footer__column + .footer__column{
    border-left: 1px solid #fff;
  }
}

/*  side  */
.side {
  width: 250px;
  margin-top: 77px;
  margin-left: 90px;
  margin-right: auto;
  padding-bottom: 140px;
}
.side .gnav-head {
  position: relative;
  padding-right: 30px;
}
.side .gnav-link {
  display: block;
  padding: 12px 10px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.72;
  border-bottom: 1px dotted #ccc;
}
.side .lv2-link {
  display: block;
  padding: 15px 5px;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  background: #644294;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.72;
}
.side .lv4-link {
  padding-left: 25px;
}
.side .lv5-link {
  padding-left: 40px;
}
.side .lv6-link {
  padding-left: 55px;
}
.side .p-current {
  background: #EEEAF3;
}
.side .gnav-button button {
  position: absolute;
  right: 10px;
  top: 17px;
  width: 17px;
  height: 17px;
  border: 1px solid #4D217C;
  background: #fff;
}
.side .gnav-button button ::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 7px;
  display: block;
  width: 9px;
  height: 1px;
  background: #4D217C;
}
.side .gnav-button button::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 3px;
  display: block;
  width: 1px;
  height: 9px;
  background: #4D217C;
}
.side .lv2-link .gnav-button {
  display: none;
}
.side .lv2-folder .f-current > .gnav-head .gnav-button button::after {
  display: none;
}
@media screen and (max-width: 1279px) {
  .side {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .side .lv2-link {
    background: #000;
    box-shadow: 0 1px 0 inset #fff, 0 -1px 0 inset #fff, 1px 0 0 inset #fff, -1px 0 0 inset #fff;
  }
  .bgBlack .side .p-current {
    background: #333;
  }
  
  .bgYellow .side .p-current {
    /*background: rgba(228, 226, 245,.33);*/
  }
}

.foot-nav {
  position: fixed;
  right: 16px;
  bottom: 34px;
  z-index: 5;
  display: grid;
  gap: 6px;
  opacity: 0;
  transition: 0.2s ease;
}
.is-scrolled .foot-nav {
  opacity: 1;
}
.foot-nav__item {
  font-size: 10px;
  line-height: 1.6;
}
.foot-nav__item a {
  display: -ms-flex;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  text-align: center;
  width: 50px;
  height: 50px;
  font-size: 10px;
}
.foot-nav__item a::after {
  content: none !important;
}
.foot-nav__item button {
  display: -ms-flex;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  text-align: center;
  width: 50px;
  height: 50px;
  padding: 0;
  border: none;
  font-size: 10px;
  background: transparent;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  transition: .2s;
}
.foot-nav__item button svg path {
  transition: fill .2s;
}
.foot-nav__item button.is-active {
  background: #4D217C;
  color: #fff;
}
.foot-nav__item button.is-active svg path {
  fill: #fff !important;
}
.foot-nav__image {
  line-height: 1;
}
.foot-nav__item-fb img {
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 1279px) {
  .foot-nav {
    right: 10px;
    bottom: 10px;
    background: transparent;
  }
  .foot-nav__item-fb,
  .foot-nav__item-login {
    display: none;
  }
/*   .foot-nav__item-pagetop button::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 23px;
  background: #fff;
  height: 1px;
  width: 10px;
  margin-left: -2px;
  transform: rotate(45deg);
}
.foot-nav__item-pagetop button::after {
  content: "";
  position: absolute;
  right: 50%;
  top: 23px;
  background: #fff;
  height: 1px;
  width: 10px;
  margin-right: -2px;
  transform: rotate(-45deg);
} */
  .foot-nav__item {
    width: 40px;
    height: 40px;
  }
  .foot-nav__item a, .foot-nav__item button {
    display: block;
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .foot-nav__item button {
    color: #fff;
  }
  .bgBlack .foot-nav__item button.is-active {
    background: #000;
  }
  .bgBlack .foot-nav__item button svg path,
  .bgBlack .foot-nav__item button svg rect {
    fill: #fff !important;
  }
}

.login-menu {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 4;
  display: none;
  width: 100%;
  background: #fff;
}
.login-menu__inner {
  display: -ms-flex;
  display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
  padding: 60px 0 40px 0;
}
.login-menu__item {
  font-size: 15px;
  font-size: 1.5rem;
  text-align: center;
}
.login-menu__head {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 500;
}
.login-menu__image {
  margin: 10px auto;
}
@media screen and (min-width: 1280px) {
  .bgBlack .login-menu {
    background: #000;
    border-top: 1px solid #fff;
  }
}

/*  top-layout  */
body.top .content {
  padding: 0;
}
body.top .main {
  max-width: none;
  padding-top: 0;
  padding-bottom: 70px;
}
/*body.top .cp-h1-text {
  margin-top: 20px;
  padding-bottom: 0;
  font-size: 40px;
  font-size: 4rem;
}
body.top .cp-h1-text::before {
  content: none;
}*/
@media screen and (max-width: 1279px) {
  /*body.top .cp-h1-text {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 30px;
    font-size: 3rem;
  }
  body.top .cp-h1-text::before {
    left: 0;
    width: 40px;
    margin-left: 0;
  }*/
}
.top-service-hours {
  max-width: 1280px;
  margin: 0 auto;
  padding: 55px 40px 0 40px;
}
@media screen and (max-width: 1279px) {
  .top-service-hours {
    padding: 20px 4vw 0 4vw;
  }
}

.top-news-head {
  margin-bottom: 80px;
  padding: 40px 40px 5px 40px;
}
.top-news-head > * {
  max-width: 1200px;
  margin: 0 auto;
}
.top-news-head > h1.cp-h1-text {
  margin-bottom: 40px;
}
@media screen and (max-width: 1279px) {
  .top-news-head {
    margin-bottom: 0;
    padding: 40px 4vw 0 4vw;
  }
  .top-news-head > h1.cp-h1-text {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .top-news-head {
    background: #000;
    box-shadow: 0 1px 0 inset #fff, 0 -1px 0 inset #fff;
  }
  .bgYellow .top-news-head {
    background: #ff0;
  }
}

.top-news {
  max-width: 1280px;
  margin: 0 auto 80px auto;
  padding: 0 40px;
}
@media screen and (max-width: 1279px) {
  .top-news {
    margin-bottom: 40px;
    padding: 0 4vw;
  }
}
.top-events {
  max-width: 1280px;
  margin: 0 auto 140px auto;
  padding: 0 40px;
}
@media screen and (max-width: 1279px) {
  .top-events {
    margin-bottom: 40px;
    padding: 0 4vw;
  }
  .top-events .button-inner {
    position: relative;
  }
  .top-events .slick-arrow {
    width: 53px;
    height: 50px;
  }
  .top-events .slick-prev {
    border-right: 3px solid #fff;
    background: url(/albums/css/basic3-common3/abm00001451.svg) #644294 no-repeat center center;
    background-size: 8px 14px;
    border-radius: 50px 0 0 50px;
  }
  .top-events .slick-next {
    border-left: 3px solid #fff;
    background: url(/albums/css/basic3-common3/abm00001448.svg) #644294 no-repeat center center;
    background-size: 8px 14px;
    border-radius: 0 50px 50px 0;
  }
}

.sp-gav-search {
  display: none;
}
@media screen and (max-width: 1279px) {
  .sp-gav-search {
    display: block;
    background: #E4E2F5;
    padding: 12px 4vw;
  }
  .sp-gav-search form {
    display: -ms-flex;
    display: flex;
  }
  .sp-gav-search input[type="text"] {
    width: calc(100% - 40px);
    padding: 8px 0 8px 12px;
    border: none;
    background: #fff;
    border-radius: 4px 0 0 4px;
  }
  .sp-gav-search input[type="submit"] {
    width: 40px;
    border: none;
    background: url(/albums/css/basic3-common3/abm00001107.svg) no-repeat center center #fff;
    background-size: 20px 20px;
    border-radius: 0 4px 4px 0;
    font-size: 0;
    color: transparent;
  }
}

.sp-gav-sub {
  display: none;
}
@media screen and (max-width: 1279px) {
  .sp-gav-sub {
    display: block;
    padding: 15px 4vw 10px 4vw;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
  }
  .sp-gav-sub li {
    margin-bottom: 8px;
    padding-left: 25px;
    background: url(/albums/css/basic3-common3/abm00001097.svg) no-repeat 0 2px;
    background-size: 18px 18px;
  }
}

.sp-gav-btns {
  display: none;
}
@media screen and (max-width: 1279px) {
  .sp-gav-btns {
    display: -ms-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 4vw 10px 4vw;
  }
  .sp-gav-btn {
    width: calc(50% - 5px);
    margin-bottom: 10px;
    margin-right: 10px;
    font-weight: 500;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .sp-gav-btn:nth-child(2n) {
    margin-right: 0;
  }
  .sp-gav-btn a {
    display: block;
    padding: 10px 10px 10px 40px;
    background: #4D217C;
    color: #fff;
    border-radius: 4px;
  }
  .sp-gav-btn button {
    display: block;
    width: 100%;
    padding: 10px 10px 10px 40px;
    border: none;
    text-align: left;
    background: #4D217C;
    color: #fff;
    border-radius: 4px;
    font-weight: 500;
    font-size: 14px;
    font-size: 1.4rem;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
  }
  
  .sp-gav-btn__guide a {
    background: url(/albums/css/basic3-common3/abm00001125.svg) no-repeat left 18px top 12px #4D217C;
    background-size: 20px 20px;
  }
  .sp-gav-btn__language a {
    background: url(/albums/css/basic3-common3/abm00001126.svg) no-repeat left 17px top 11px #4D217C;
    background-size: 18px 18px;
  }
  .sp-gav-btn__fb a {
    background: url(/albums/css/basic3-common3/abm00001124.svg) no-repeat left 17px top 11px #4D217C;
    background-size: 18px 18px;
  }
  .sp-gav-btn__login button {
    background: url(/albums/css/basic3-common3/abm00001127.svg) no-repeat left 17px top 11px #4D217C;
    background-size: 18px 18px;
  }
}

.sp-gav-login {
  display: none;
  border-top: 1px solid #999;
}
.sp-gav-login .login-menu__inner {
  padding: 20px 4vw;
}

/*ニュース詳細*/
.news-date {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 15px;
  font-size: 1.5rem;
  color: #4F67A7;
}
.news-category {
  display: inline-block;
  color: #fff;
  font-weight: 500;
  font-size: 13px;
  font-size: 1.3rem;
}
.news-category p {
  padding: 1px 13px;
  border-radius: 2px;
}
.event-subjects {
  font-size: 14px;
  font-size: 1.4rem;
}
.event-venue {
  font-size: 14px;
  font-size: 1.4rem;
}
.event-sponsorship {
  font-size: 14px;
  font-size: 1.4rem;
}
.event-schedule-wrap {
  font-size: 14px;
  font-size: 1.4rem;
}
.event-schedule-wrap > * {
  display: inline-block;
}
.event-schedule-wrap > * > .event-schedule {
  display: inline-block;
}
.event-info .event-subjects span::before {
  content: "対象者：";
}
.event-info .event-venue span::before {
  content: "開催場所：";
}
.event-info .event-sponsorship span::before {
  content: "主催：";
}
.event-info .event-subjects span:empty::before,
.event-info .event-venue span:empty::before,
.event-info .event-sponsorship span:empty::before {
  content: none;
}
.event-info .event-schedule .date{
  margin-right: 5px;
}
.event-info .event-schedule .date-section{
  margin-left: 5px;
  margin-right: 5px;
  text-align: center;
}
@media screen and (max-width: 1279px) {
  body.news-detail .cp-h1-text {
    text-align: left;
  }
  body.news-detail .cp-h1-text::before {
    left: 0;
    width: 40px;
    margin-left: 0;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .news-date {
    color: #fff;
  }
}

.main .back-btn {
  display: table;
  margin: 120px auto 0 auto;
  border: none;
  background: #F6F6F6;
  width: 200px;
  padding: 10px;
  font-size: 1.4rem;
  font-size: 14px;
  font-weight: 500;
  transition: .2s;
  text-align: center;
  color: #333;
}
.main .back-btn:hover {
  text-decoration: none;
  /* background: #4F67A7; */
  background: #472573;
  color: #fff;
}
@media screen and (max-width: 1279px) {
  .back-btn {
    margin-top: 60px;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .back-btn,
  .bgBlack .back-btn:hover {
    background: #000;
    color: #fff;
    box-shadow: 0 1px 0 inset #fff, 0 -1px 0 inset #fff, 1px 0 0 inset #fff, -1px 0 0 inset #fff;
  }
}

/*ニュース一覧*/
body.news-list-page .cp-h1-text {
  margin-top: 20px;
  padding-bottom: 0;
  font-size: 40px;
  font-size: 4rem;
}
body.news-list-page .cp-h1-text::before {
  content: none;
}
@media screen and (max-width: 1279px) {
  body.news-list-page .cp-h1-text {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 30px;
    font-size: 3rem;
  }
}

.news-nav {
  margin-top: 20px;
  padding: 0 40px;
}
.news-nav ul {
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}
.news-nav li {
  margin-right: 40px;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 500;
}
.news-nav a {
  position: relative;
  display: block;
  padding: 22px 0;
}
.news-nav a:hover {
  text-decoration: none;
}
.news-nav a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 20px;
  background: transparent;
  transition: .2s;
}
.news-nav a:hover::before,
.news-nav a.is-active::before {
  background: #4D217C;
}
.news-detail .news-nav {
  padding-bottom: 35px;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 1279px) {
  .news-nav {
    padding: 0 4%;
  }
  .news-nav li {
    margin-right: 5px;
    margin-bottom: 5px;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .news-nav a {
    border: 1px solid #4F67A7;
    padding: 0 15px;
    color: #4F67A7;
    border-radius: 4px;
  }
  .news-nav a.is-active {
    background: #DAE2F5;
  }
  .news-nav a::before {
    content: none;
  }
  .news-detail .news-nav {
    padding-bottom: 0;
    border-bottom: none;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .news-detail .news-nav {
    border-bottom: 1px solid #fff;
  }
  .bgBlack .news-nav a:hover::before,
  .bgBlack .news-nav a.is-active::before {
    background: #fff;
  }
}

.sort-area {
  display: -ms-flex;
  display: flex;
  margin-top: -30px;
  margin-bottom: 50px;
}
.sort-area .category {
  position: relative;
  width: 210px;
  margin-right: 10px;
}
.news-year-filter {
  display: none;
}
.sort-area .news-year-filter {
  position: relative;
  display: block;
  width: 210px;
}
.sort-area select {
  width: 100%;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 6px;
  padding: 8px 28px 8px 10px;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  font-size: 14px;
  font-size: 1.4rem;
}
.sort-area .category::before,
.sort-area .news-year-filter::before {
  content: "";
  position: absolute;
  right: 11px;
  top: 11px;
  width: 18px;
  height: 18px;
  background: url(/albums/css/basic3-common3/abm00001097.svg) no-repeat center center;
  background-size: 18px 18px;
  transform: rotate(90deg);
  pointer-events: none;
}
.sort-area select::-ms-expand {
  display: none;
}
@media screen and (max-width: 1279px) {
  .sort-area {
    margin-top: 0;
    margin-bottom: 30px;
  }
  .sort-area .category {
    width: 48%;
    margin-right: 4%;
  }
  .sort-area .news-year-filter {
    width: 48%;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .sort-area select {
    border: 1px solid #fff;
    background: #000;
    color: #fff;
  }
  .bgYellow .sort-area select {
    border: 1px solid #333;
    background: #ff0;
  }
}

.paging-list {
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  margin-top: 100px
}
.paging-list > * {
  display: block;
  margin: 2px;
}
.paging-list > * > span,
.paging-list > * > a {
  display: -ms-flex;
  display: flex;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: #F6F6F6;
  color: #666;
}
.paging-list > * > span.active,
.paging-list > * > a:hover {
  background: #4F67A7;
  color: #fff;
  text-decoration: none;
}
.paging-list > *:first-child,
.paging-list > *:last-child {
  display: none;
}
.paging-list > *:nth-child(2) > span,
.paging-list > *:nth-last-child(2) > span {
  display: none;
}
.paging-list > *:nth-child(2) > a,
.paging-list > *:nth-last-child(2) > a {
  width: 120px;
  font-size: 0;
  color: transparent;
}
.paging-list > *:nth-child(2) > a {
  background-image: url(/albums/css/basic3-common3/abm00001450.svg);
  background-position: left 14px top 15px;
  background-repeat: no-repeat;
  background-size: 8px 12px;
}
.paging-list > *:nth-child(2) > a:hover {
  background-image: url(/albums/css/basic3-common3/abm00001451.svg);
}
.paging-list > *:nth-last-child(2) > a {
  background-image: url(/albums/css/basic3-common3/abm00001449.svg);
  background-position: right 14px top 15px;
  background-repeat: no-repeat;
  background-size: 8px 12px;
}
.paging-list > *:nth-last-child(2) > a:hover {
  background-image: url(/albums/css/basic3-common3/abm00001448.svg);
}
.paging-list > *:nth-child(2) > a::before,
.paging-list > *:nth-last-child(2) > a::before {
  font-size: 16px;
  font-size: 1.6rem;
  color: #666;
}
.paging-list > *:nth-child(2) > a:hover::before,
.paging-list > *:nth-last-child(2) > a:hover::before {
  color: #fff;
}
.paging-list > *:nth-child(2) > a::before {
  content: "前へ";
}
.paging-list > *:nth-last-child(2) > a::before {
  content: "次へ";
}
@media screen and (max-width: 1279px) {
  .paging-list {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .paging-list > * > span,
  .bgBlack .paging-list > * > a {
    background-color: #000;
    color: #fff;
    box-shadow: 0 1px 0 inset #fff, 0 -1px 0 inset #fff, 1px 0 0 inset #fff, -1px 0 0 inset #fff;
  }
  .bgBlack .paging-list > * > span.active,
  .bgBlack .paging-list > * > a:hover {
    background-color: #000;
  }
  .bgBlack .paging-list > *:nth-child(2) > a {
    background-image: url(/albums/css/basic3-common3/abm00001451.svg);
  }
  .bgBlack .paging-list > *:nth-last-child(2) > a {
    background-image: url(/albums/css/basic3-common3/abm00001448.svg);
  }
  .bgBlack .paging-list > *:nth-child(2) > a::before,
  .bgBlack .paging-list > *:nth-last-child(2) > a::before {
    color: #fff;
  }
}

.news-list {
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.news-list:empty::before {
  content: "現在、お知らせはありません";
  display: block;
  width: 100%;
  text-align: center;
}
.news-list__item {
  width: 24.4%;
  margin-bottom: 50px;
  margin-right: 0.8%;
}
.news-list__item:nth-child(4n) {
  margin-right: 0;
}
.news-list__item a {
  display: block;
  color: #333;
}
.news-list__item a:hover {
  text-decoration: none;
  opacity: .7;
}
.news-list__image {
  position: relative;
  padding-top: 68.5%;
  overflow: hidden;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.news-list__image[style*="null"] {
  background-image: url(/albums/css/basic3-common3/abm00001456.svg) !important;
  background-size: contain;
  background-color: #F6F6F6;
}
.news-list__image .news-list__category {
  position: absolute;
  bottom: 0;
  left: 0;
}
.news-list__text .news-list__category {
  display: none;
}
.news-list__category {
  display: table;
  max-width: 100%;
  padding: 6px 12px;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
}
.news-list__date {
  margin-top: 16px;
  margin-bottom: 8px;
  line-height: 1.07;
  font-weight: 600;
  font-size: 14px;
  font-size: 1.4rem;
  color: #4F67A7;
}
.news-list__title {
  line-height: 1.6;
}
@media screen and (max-width: 1279px) {
  .news-list {
    margin-left: -4vw;
    margin-right: -4vw;
    margin-bottom: -1px;
  }
  .news-list__item {
    width: 100%;
    margin-bottom: 0;
    margin-right: 0;
    border-bottom: 1px solid #ccc;
  }
  .news-list__item:first-child {
    border-top: 1px solid #ccc;
  }
  .news-list__item:nth-child(2n) {
    margin-right: 0;
  }
  .news-list__item a {
    display: -ms-flex;
    display: flex;
  	-webkit-box-align: start;
  	-ms-flex-align: start;
  	align-items: flex-start;
  }
  .news-list__image {
    width: 49%;
    padding-top: 33.5%;
  }
  .news-list__text {
    width: 51%;
    padding: 10px 2%;
  }
  .news-list__image .news-list__category {
    display: none;
  }
  .news-list__text .news-list__category {
    display: table;
  }
  .news-list__date {
    margin-top: 10px;
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .news-list__item a {
    color: #fff;
  }
  .bgBlack .news-list__date {
    color: #fff;
  }
}

.permanentnews-list {
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 55px;
}
.permanentnews-list:empty::before {
  content: "現在、お知らせはありません";
  display: block;
  width: 100%;
  text-align: center;
}
.permanentnews-list__item {
  width: 24.4%;
  margin-right: 0.8%;
  padding: 30px 0;
  border-bottom: 1px solid #ccc;
}
.permanentnews-list__item:nth-child(-n+4){
  border-top: 1px solid #ccc;
}
.permanentnews-list__item:nth-child(4n) {
  margin-right: 0;
}
.permanentnews-list__item a {
  display: block;
  color: #333;
}
.permanentnews-list__item a:hover {
  text-decoration: none;
  opacity: .7;
}
.permanentnews-list__category {
  display: table;
  max-width: 100%;
  padding: 2px 12px;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.permanentnews-list__date {
  margin-top: 16px;
  margin-bottom: 8px;
  line-height: 1.07;
  font-weight: 600;
  font-size: 14px;
  font-size: 1.4rem;
  color: #4F67A7;
}
.permanentnews-list__title {
  line-height: 1.6;
}
@media screen and (max-width: 1279px) {
  .permanentnews-list {
    margin-left: -4vw;
    margin-right: -4vw;
    margin-bottom: -1px;
  }
  .permanentnews-list__item {
    width: 50%;
    margin-right: 0;
    padding: 10px 1%;
  }
  .permanentnews-list__item:nth-child(2n) {
    padding-right: 2%;
  }
  .permanentnews-list__item:nth-child(2n+1) {
    padding-left: 2%;
  }
  .permanentnews-list__item:nth-child(-n+4) {
    border-top: none;
  }
  .permanentnews-list__item:nth-child(-n+2) {
    border-top: 1px solid #ccc;
  }
  .permanentnews-list__date {
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .news-list + .permanentnews-list,
  .permanentnews-list {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .permanentnews-list__item {
    border-bottom: 1px solid #fff;
  }
  .bgBlack .permanentnews-list__item:nth-child(-n+4){
    border-top: 1px solid #fff;
  }
  .bgBlack .permanentnews-list__item a {
    color: #fff;
  }
  .bgBlack .permanentnews-list__date {
    color: #fff;
  }
  
  .bgYellow .permanentnews-list__item {
    border-color: #333;
  }
}

.event-list {
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
.event-list:empty::before {
  content: "現在、お知らせはありません";
  display: block;
  width: 100%;
  text-align: center;
}
.event-list__item {
  width: 24.4%;
  margin-right: 0.8%;
  padding: 30px 0;
  border-bottom: 1px solid #ccc;
}
.event-list__item:nth-child(-n+4){
  border-top: 1px solid #ccc;
}
.event-list__item:nth-child(4n) {
  margin-right: 0;
}
.event-list__item a {
  display: -ms-flex;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  height: 100%;
  color: #333;
}
.event-list__item a:hover {
  text-decoration: none;
  opacity: .7;
}
.event-list__calendar-wrap {
  display: -ms-flex;
  display: flex;
  margin-bottom: 10px;
}
.event-list__calendar {
  width: 60px;
  min-width: 60px;
  height: 60px;
  display: -ms-flex;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  margin-right: 16px;
  padding-top: 6px;
  border-radius: 4px;
  line-height: 1.4;
  background: #644294;
  color: #fff;
}
.event-list__calendar-md {
  display: -ms-flex;
  display: flex;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  font-weight: 700;
  font-size: 17px;
  font-size: 1.7rem;
}
.event-list__calendar-month::after {
  content: ".";
}
.event-list__calendar.is-empty {
  padding-top: 0;
}
.event-list__calendar.is-empty .event-list__calendar-month::after {
  content: "―";
}
.event-list__calendar-year {
  font-weight: 400;
  font-size: 10px;
  font-size: 1rem;
}
.event-list__category {
  display: table;
  max-width: 100%;
  padding: 6px 12px;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
}
.event-list__tags {
  margin-top: 10px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.6;
  color: #4F67A7;
}
.event-list__tags span{
  display: inline-block;
  margin-right: 13px;
}
.event-list__title{
  flex: 1 1 auto;
  margin-bottom: 30px;
  line-height: 1.625;
}
.event-list__schedule,
.event-list__venue,
.event-list__date {
  position: relative;
  font-size: 1.4rem;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.714;
  color: #555;
}
.event-list__schedule,
.event-list__venue {
  padding-left: 70px;
}
.event-list__schedule::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "開催日時";
}
.event-list__schedule .date{
  margin-right: 5px;
}
.event-list__schedule .date-section{
  margin-left: 5px;
  margin-right: 5px;
  text-align: center;
}
.event-list__venue::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "会　　場";
}
@media screen and (max-width: 1279px) {
  .event-list {
    margin-left: -4vw;
    margin-right: -4vw;
    margin-bottom: 40px;
  }
  .event-list__item {
    width: 100%;
    margin-right: 0;
    padding: 20px 4%;
  }
  .event-list__item:nth-child(-n+4) {
    border-top: none;
  }
  .event-list__item:nth-child(-n+1) {
    border-top: 1px solid #ccc;
  }
  body.top .event-list__item {
    border-top: 1px solid #ccc;
    border-bottom: none;
  }
  body.top .event-list {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .event-list__item {
    border-bottom: 1px solid #fff;
  }
  .bgBlack .event-list__item:nth-child(-n+4){
    border-top: 1px solid #fff;
  }
  .bgBlack .event-list__item a {
    color: #fff;
  }
  .bgBlack .event-list__calendar {
    background: #000;
    box-shadow: 0 1px 0 inset #fff, 0 -1px 0 inset #fff, 1px 0 0 inset #fff, -1px 0 0 inset #fff;
  }
  .bgBlack .event-list__tags {
    color: #fff;
  }
  .bgBlack .event-list__schedule,
  .bgBlack .event-list__venue,
  .bgBlack .event-list__date {
    color: #fff;
  }
  
  .bgYellow .event-list__item {
    border-color: #333;
  }
}

.impotantnews-list {
  display: none;
  margin-bottom: 80px;
  border: 4px solid #4D217C;
  border-radius: 4px;
  background: #fff;
}
.impotantnews-list.is-show {
  display: -ms-flex;
  display: flex;
}
.impotantnews-list__head {
  display: -ms-flex;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  width: 200px;
  padding: 10px;
  text-align: center;
  background: #4D217C;
  color: #fff;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 700;
}
.impotantnews-list__head-image {
  margin-bottom: 5px;
}
.impotantnews-list__head-image svg {
  width: 60px;
  height: 60px;
  fill: #fff;
}
.impotantnews-list__inner {
  width: calc(100% - 200px);
  padding: 30px 4% 20px 4%;
}
.impotantnews-list__item {
  display: block;
  margin-bottom: 10px;
  line-height: 1.4;
}
.impotantnews-list__item a {
  color: #333;
}
.impotantnews-list__item a:hover {
  text-decoration: none;
  opacity: .7;
}
.impotantnews-list__date {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #4F67A7;
}
.impotantnews-list__title {
  font-weight: 700;
}
@media screen and (max-width: 1279px) {
  .impotantnews-list {
    margin-left: -4vw;
    margin-right: -4vw;
    margin-bottom: 40px;
    border-radius: 0px;
  }
  .impotantnews-list.is-show {
    display: block;
  }
  .impotantnews-list__head {
    width: 100%;
  }
  .impotantnews-list__head-image {
    margin-bottom: 2px;
  }
  .impotantnews-list__head-image svg {
    width: 40px;
    height: 40px;
  }
  .impotantnews-list__inner {
    width: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .impotantnews-list {
    border: 1px solid #fff;
    background: #000;
  }
  .bgBlack .impotantnews-list__head {
    padding: 13px;
    background: #000;
    border-radius: 4px 0 0 4px;
  }
  .bgBlack .impotantnews-list__inner {
    padding: 33px 4% 23px 4%;
    border-left: 1px solid #fff;
  }
  .bgBlack .impotantnews-list__item a {
    color: #fff;
  }
  .bgBlack .impotantnews-list__date {
    color: #fff;
  }
  
  .bgYellow .impotantnews-list {
    background: #ff0;
  }
}

.urgent-news {
  margin-bottom: 38px;
  line-height: 1.5;
}
.urgent-news a {
  display: block;
  padding: 15px;
  text-align: center;
  background: #D03033;
  border-radius: 6px;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: .5rem;
  font-weight: 700;
  color: #fff;
}
.urgent-news a:hover {
  text-decoration: none;
  opacity: .7;
}
.urgent-news svg {
  width: 34px;
  height: 30px;
  margin-right: 8px;
  fill: #ff0;
}
@media screen and (max-width: 1279px) {
  .urgent-news {
    margin-bottom: 30px;
  }
  .urgent-news a {
    position: relative;
    padding: 10px 10px 10px 54px;
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0;
  }
  .urgent-news svg {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
  }
}

/*サイトマップ*/
.sitemap .lv2-link {
  display: block;
  padding: 15px 0 15px 0;
  border-top: 1px solid #ccc;
  font-weight: 500;
  font-size: 2rem;
}
.sitemap .lv3-link {
  color: #333;
}
.sitemap .lv2-folder {
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 0 30px;
}
.sitemap .lv2-folder > * {
  width: 24.1%;
  margin-right: 1.2%;
}
.sitemap .lv2-folder > *:nth-child(4n) {
  margin-right: 0;
}
.sitemap > *:first-child,
.sitemap .lv2-folder > *:first-child {
  display: none;
}
.sitemap > *:last-child {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 1279px) {
  .sitemap .lv2-folder > * {
    width: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .bgBlack .sitemap .lv2-link {
    border-top: 1px solid #fff;
  }
  .bgBlack .sitemap > *:last-child {
    border-bottom: 1px solid #fff;
  }
  
  .bgYellow .sitemap .lv2-link {
    border-top: 1px solid #333;
  }
  .bgYellow .sitemap > *:last-child {
    border-bottom: 1px solid #333;
  }
}

@media print{
  a {
    color: #333 !important;
  }
  base-header,
  base-footer,
  .breads,
  .side {
    display: none;
  }
  .contents {
    width: 100%;
  }
  .content {
    display: block;
    padding: 0;
  }
  .main,
  body.under .main {
    width: 100%;
    max-width: none;
    padding: 0;
  }
  [data-area="content"] .cp-anchor-menu li a,
  .cp-h2-text {
    border: 1px solid #644294;
  }
}

.event-schedule .date .year::after,
.event-schedule .date .month::after  {
    content: '.';
}
.event-schedule .date .month::after {
    content: '.';
}

.event-schedule .hour {
    padding-left: 10px;
}

.event-schedule .colon::after {
    content: '：';
}

.event-schedule .date-section::after  {
    content: '～';
}

.event-schedule .date-section::after,
.event-schedule .colon::after {
  content: none;
}
.event-schedule .end-date .hour {
  padding: 0;
}