@charset "utf-8";

/********************************************************/
/****************** 重なり（z-index）指定 ******************/
/* ページ遷移アニメーション：z-index:10000〜; */
/* 展開後コンテンツ（ハンバーガーメニュー展開・モーダルウインドウ）：z-index:1000〜9999; */
/* header,ステークホルダーメニュー：z-index:100〜999; */
/* コンテンツ：z-index:-10〜99; */
/*******************************************************/


/* CSS Document */
/********************************************************/
/******** 共通（body,inner,pタグ,imgタグの基本設定） ********/
/*******************************************************/
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Quicksand, '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, sans-serif;
  -webkit-print-color-adjust: exact;
}

body p,
a,
ul,
ol,
dl,
table {
  word-break: break-all;
  color: #181000;
}

a {
  text-decoration: none;
}

body img {
  max-width: 100%;
}

.inner,
.inner1000 {
  display: block;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.inner1060 {
  display: block;
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
}

/* SP */
@media only screen and (max-width:768px) {

  .inner,
  .inner1000,
  .inner1060 {
    width: 90%;
  }

}

/*ある程度の画面サイズ以下で左右の空白を保つ*/
@media screen and (max-width: 1050px) {
  .inner {
    width: 90%;
  }
}

/*ワイドディスプレイ用、フルハイビジョン（1920px x 1080px）まで対応*/
@media screen and (min-width: 1365px) and (orientation: landscape) {
  .inner {
    /*max-width: 75%;*/
  }
}


/**********************/
/****** ヘッダー ******/
/**********************/
.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px 30px;
  background: #FFF;
}

.headerScrolled {
  animation: 0.2s headerScrolled ease-in forwards;
}

.headerLogo {
  position: relative;
  left: calc(7.7% - 30px);
  text-align: center;
  padding: 0 0 40px;
}

.headerLogo img {
  display: block;
}

.headerLogoIcon {
  width: 104px;
  margin: 0 0 0 38px;
}

.headerLogoText {
  position: absolute;
  bottom: 0;
  width: 180px;
  max-width: none;
}


.headerLogoScrolled {
  animation: 0.2s headerLogoScrolled ease-in forwards;
}


.headerLogoScrolled .headerLogoIcon {
  animation: 0.2s headerLogoIconScrolled ease forwards;
}

.headerLogoScrolled .headerLogoText {
  animation: 0.2s headerLogoTextScrolled ease forwards;
}

.headerLogoScrolledReverse {
  animation: 0.2s headerLogoScrolledReverse ease-in forwards;
}


.headerLogoScrolledReverse .headerLogoIcon {
  animation: 0.2s headerLogoIconScrolledReverse ease forwards;
}

.headerLogoScrolledReverse .headerLogoText {
  animation: 0.2s headerLogoTextScrolledReverse ease forwards;
}

.headerLogoNoAction {
  left: 0;
  padding: 0;
}

.headerLogoIconNoAction {
  width: 60px;
  padding: 0;
}

.headerLogoTextNoAction {
  bottom: 15px;
  left: 110px;
  width: 200px;
}


.headerNav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.headerNavLink {
  margin: 0 60px 0 0;
  letter-spacing: 0.15em;
}

.humbergerBtn {
  width: 42px;
  text-align: right;
  cursor: pointer;
}

.humbergerBtn span {
  position: relative;
  display: block;
  height: 3px;
  background: #181000;
  margin: 0 0 8px;
  transition: left 0.2s;
}

.humbergerBtn span {
  width: 100%;
}

/*
.humbergerBtn span:nth-of-type(1) {
  width: 100%;
}

.humbergerBtn span:nth-of-type(2) {
  width: 80%;
  left: 20%;
}

.humbergerBtn span:nth-of-type(3) {
  width: 60%;
  left: 40%;
}
*/

.humbergerBtn:hover span {
  left: 0;
}

.humbergerBtn:focus {
  border: 1px solid #181000;
}

.humbergerBtn p {
  margin: 5px 0 0;
  font-size: 1.2rem;
  font-weight: bold;
  align-self: center;
  text-align: center;
}

/* SP */
@media only screen and (max-width:768px) {
  .header {
    padding: 0 10px;
  }


  .headerNavLink {
    margin: 0 20px 0 0;
  }

  .headerLogo,
  .headerLogoNoAction {
    padding: 3px 0 6px;
  }

  .headerLogoIcon {
    width: auto;
    height: 60px;
    margin: 0 0 0 34px;
  }

  .headerLogoIconNoAction {
    margin: 0 0 0 34px;
  }


  .headerLogoText,
  .headerLogoTextNoAction {
    position: relative;
    width: auto;
    height: 20px;
    bottom: auto;
    left: auto;
  }

  .headerLogoScrolled,
  .headerLogoScrolledReverse {
    animation: none;
  }

  .headerLogoScrolled .headerLogoIcon,
  .headerLogoScrolled .headerLogoText {
    animation: none;
  }

  .headerLogoScrolledReverse .headerLogoIcon,
  .headerLogoScrolledReverse .headerLogoText {
    animation: none;
  }
}



@keyframes headerScrolled {
  0% {
    background: rgba(255, 255, 255, 0);
  }

  100% {
    background: rgba(255, 255, 255, 1);
  }
}

@keyframes headerLogoScrolled {
  0% {
    left: calc(7.7% - 30px);
    padding: 0 0 40px;
  }

  100% {
    left: 0;
    padding: 0 0 0;
  }
}

@keyframes headerLogoIconScrolled {
  0% {
    width: 104px;
  }

  100% {
    width: 60px;
  }
}

@keyframes headerLogoTextScrolled {
  0% {
    bottom: 0;
    left: 0;
    width: 180px;

  }

  100% {
    bottom: 15px;
    left: 110px;
    width: 200px;
  }
}

@keyframes headerLogoScrolledReverse {
  0% {
    padding: 0;
  }

  100% {
    padding: 0 0 40px;
  }
}

@keyframes headerLogoIconScrolledReverse {
  0% {
    width: 60px;
  }

  100% {
    width: 104px;
  }
}

@keyframes headerLogoTextScrolledReverse {
  0% {
    bottom: 15px;
    left: 110px;
    width: 200px;
    margin: auto;
  }

  100% {
    bottom: 0;
    left: 0;
    width: 180px;
  }
}


/**************************/
/****** ビッグメニュー ******/
/*************************/

.bigMenuWrap {
  display: none;
  position: fixed;
  z-index: 9998;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(255, 255, 255, 0.8);
}

.bigMenuShow {
  display: block;
  animation: 0.5s bigMenuShow forwards;
}

.bigMenuInner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}


.bigMenuContent {
  background: #FFF;
  border-bottom: 20px solid #ffee00;
}

.bigMenuClose {
  position: fixed;
  z-index: 9999;
  top: 20px;
  right: 20px;
  text-align: center;
  cursor: pointer;
}

.bigMenuClose div {
  font-size: 60px;
  transition: transform 0.5s;
  transform-origin: 30px 33px;
}

.bigMenuClose div:hover,
.bigMenuClose div:focus {
  transform: rotate(90deg);
}

.bigMenuClose p {
  font-size: 12px;
  font-weight: bold;
}

.bigMenuLogo {
  padding: 10px 0 10px 10px;
  margin: 0 20px 0 0;
}

.bigMenubigTop {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
}

.bigMenubigTopLinks {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 70px 0 20px;
}

.bigMenubigTopLinks a {
  font-family: 'Noto Sans JP';
  font-size: 1.6rem;
  margin: 0 20px 0 0;
}

.bigMenuHeadlineList {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1920px;
  margin: 30px auto 0;
}

.bigMenuHeadline {
  padding: 15px;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.2;
}

.bigMenuHeadlineActive {
  position: relative;
  overflow: hidden;
}

.bigMenuHeadlineActive span {
  position: relative;
  z-index: 9999;
}

.bigMenuHeadlineActive:before {
  position: absolute;
  top: 0;
  left: -100%;
  z-index: 9998;
  display: block;
  width: 100%;
  height: 100%;
  background: #f4f2ed;
  animation: 0.5s bigMenuHeadlineActive forwards;
  content: '';
}


.bigMenuSection {
  display: none;
}

.bigMenuSectionActive {
  display: block;
  background: #f4f2ed;
  animation: 1s bigMenuSectionActive forwards;
}

.bigMenuSectionHeadLine {
  font-size: 1.8rem;
  margin: 0 0 30px;
  font-weight: bold;
}

.bigMenuSectionHeadLineDesign {
  margin: 0 0 20px;
  padding: 3px 10px 5px;
  background: #ef6c50;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
}

.bigMenuSectionHeadLineDesign a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}


.bigMenuSectionHeadLineDesign div {
  font-size: 1.6rem;
}

.bigMenuSectionHeadLineNursing {
  margin: 0 0 20px;
  padding: 3px 10px 5px;
  background: #3fafab;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
}

.bigMenuSectionHeadLineNursing a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}

.bigMenuSectionHeadLineNursing div {
  font-size: 1.6rem;
}

.bigMenuSectionHeadLineCr a {
  display: block;
  padding: 7px 10px;
  background: #FFF;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
}


.bigMenuFlex {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  max-width: 1920px;
  padding: 30px 0;
  margin: 0 auto;
}

.bigMenuFlexCenter {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bigMenuFlexCol {
  position: relative;
  padding: 0 20px;
  box-sizing: border-box;
  border-right: 1px solid #000;
}

.bigMenuFlexCol3 {
  width: calc(100% /3);
}

.bigMenuFlexCol2 {
  width: calc(100% /2);
}


.bigMenuFlexCol:last-of-type {
  border-right: none;
}

.bigMenuInnerFlex {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.bigMenuInnerFlexCol2 {
  width: calc(100% / 2);
  padding: 0 20px 0 0;
  box-sizing: border-box;
}

.bigMenuInnerFlexCol3 {
  width: calc(100% / 3);
  padding: 0 20px 0 0;
  box-sizing: border-box;
}

.bigTextSmall {
  font-size: 1.2rem;
  line-height: 1.2;
}


.bigMenuLinkText {
  position: relative;
  margin: 0 0 15px;
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: normal !important;
}

.bigMenuLinkText a {
  font-weight: normal !important;
  font-size: 1.3rem;
}

.bigMenuLinkTextAddUnderText {
  margin: 5px 0 0;
  font-size: 1.0rem;
}

.bigMenuLinkListCirle {
  margin: 0 0 20px;
  font-size: 1.35rem;
  list-style-type: none;
}

.bigMenuLinkListCirle li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 0 15px 10px;
}

.bigMenuLinkListCirle li:before {
  content: '・';
  padding: 0 2px 0 0;
}

.bigMenuLinkListCirle li a {
  font-weight: normal !important;
}

.bigMenuLinkNursingSpecial a {
  position: absolute;
  left: 20px;
  bottom: 20px;
  display: inline-block;
  padding: 10px;
  background: #3fafab;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  color: #000;
}

.bigMenuLinkNursingSpecial a:hover p.linkArrow:before,
.bigMenuLinkNursingSpecial a:hover p.linkArrow:after {
  background: #181000;
}

.bigMenuSquare {
  position: relative;
  margin: 0 30px 0 0;
  padding: 20px;
  font-size: 1.8rem;
  letter-spacing: 0.3rem;
  line-height: 1.4;
  text-align: center;
}

.bigMenuSquareTop:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 15px;
  height: 25px;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  content: '';
}


.bigMenuSquareTop:after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 15px;
  height: 25px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  content: '';
}

.bigMenuSquareBottom:before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 15px;
  height: 25px;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  content: '';
}


.bigMenuSquareBottom:after {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: 15px;
  height: 25px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  content: '';
}

.bigMenuSquareTextSmall {
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  line-height: 1.2;
}



.bigMenuSnsList {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  max-width: 1280px;
  padding: 30px 0 0;
  margin: 0 auto;
}

.bigMenuSnsList li {
  margin: 0 60px 30px 0;
  letter-spacing: 0.1em;
}

.bigMenuSnsList li:last-of-type {
  margin: 0 0 30px 0;
}

.bigMenuSnsList li a {
  font-weight: bold;
  font-size: 1.7rem;
}

.bigMenuSnsList li a img {
  margin: 0 5px 0 0;
}

/* SP */
@media only screen and (max-width:768px) {

  .bigMenubigTopLinks {
    flex-wrap: wrap;
    margin: 10px 20px 20px;
  }

  .bigMenubigTopLinks li {
    margin: 15px 0 0;
  }

  .bigMenuHeadlineList {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    align-items: stretch;
    margin: 15px auto 0;
  }

  .bigMenuHeadline {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    padding: 5px 15px;
    font-size: 1.4rem;
    line-height: 1.3;
    border-top: 1px solid #f4f2ed;
  }

  .bigMenuHeadline:nth-of-type(2n) {
    border-left: 1px solid #f4f2ed;
  }

  .bigMenuFlex {
    display: block;
    padding: 5px 0 10px;
  }

  .bigMenuFlex:last-of-type {
    border-top: 1px solid #000;
  }


  .bigMenuFlexCol {
    width: 95%;
    margin: 0 auto;
    padding: 20px;
    border-right: none;
    border-bottom: 1px solid #000;
  }

  .bigMenuFlexCol:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
  }

  .bigMenuFlexCol3,
  .bigMenuFlexCol2 {
    width: 95%;
  }

  .bigMenuInnerFlex {
    display: block;
  }

  .bigMenuInnerFlexCol2,
  .bigMenuInnerFlexCol3 {
    width: 100%;
    padding: 10px;
  }

  .bigMenuLinkNursingSpecial a {
    position: relative;
    bottom: 0;
    left: 0;
  }

  .bigMenuFlexCenter {
    display: block;
  }

  .bigMenuFlexCenter dt {
    width: 80%;
    margin: 0 auto;
  }

  .bigMenuFlexCenter dd {
    width: 80%;
    margin: 25px auto 0;
  }

  .bigMenuSnsList {
    display: block;
    width: 90%;
    margin: 0 auto;
    padding: 0 0 20px;
  }

  .bigMenuSnsList li {
    margin: 15px 0 0;
  }

  .bigMenuSnsList li:last-of-type {
    margin: 15px 0 0;
  }

  .bigMenuSnsList li a {
    font-family: "Noto Sans JP";
  }

}

@keyframes bigMenuShow {
  0% {
    display: block;
    opacity: 0;
  }

  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes bigMenuHeadlineActive {
  0% {
    left: -100%;
  }

  100% {
    left: 0;
  }
}

@keyframes bigMenuSectionActive {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


/**********************/
/****** フッター ******/
/**********************/
.footer {
  padding: 55px 0 20px;
}

.footerSnsArea {
  max-width: 630px;
  width: 100%;
  margin: 0 auto;
}

.footerSnsArea a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  letter-spacing: 0.1rem;
}


.footerSnsArea a img {
  margin: 0 5px 0 0;
}

.footerLinkAreaTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin: 120px auto 55px;
}

.footerLinkAreaTopStudy {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footerLinkAreaTopStudy a {
  position: relative;
  margin: 0 0 0 20px;
  padding: 0 5px 5px;
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  font-size: 2.5rem;
  font-weight: bold;
  text-decoration: none;
  letter-spacing: 0.2rem;
}

.footerLinkAreaTopStudy a:after {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #000;
  transition: width 0.5s;
}

.footerLinkAreaTopStudy a:hover:after,
.footerLinkAreaTopStudy a:focus:after {
  width: 0;
}


.footerLinkAreaBottom {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 15px 0;
}

.footerLinkAreaBottom li {
  margin: 0 15px 15px 0;
}

.copylight {
  font-size: 1.2rem;
  text-align: right;
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
}

/* SP */
@media only screen and (max-width:768px) {
  .footerLinkAreaTop {
    margin: 40px auto 30px;
  }

  .footerLogo {
    text-align: center;
  }


  .footerLinkAreaTopStudy {
    margin: 20px auto;
  }

  .footerLinkAreaTopStudy a {
    font-size: 1.4rem;
    margin: 0 10px 0 0;
  }

  .footerLinkAreaBottom li {
    margin: 0 15px 15px 0;
  }

  .footerLinkAreaBottom li a {
    font-size: 1.2rem;
  }


}


/**********************************/
/****** ステークホルダーメニュー ******/
/**********************************/
.stakeholderMenu {
  position: fixed;
  z-index: 100;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

.stakeholderMenu a {
  display: flex;
  justify-content: flex-start;
  width: calc(100% / 2 - 10px);
  padding: 15px 20px;
  align-items: center;
  background: #E8E8E8;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
}

.stakeholderMenu a:first-of-type {
  margin: 0 10px 0 0;
}

/* SP */
@media only screen and (max-width:768px) {

  .stakeholderMenu a {
    width: calc(100% / 2 - 3px);
    font-size: 1.1rem;
    padding: 10px;
    letter-spacing: 0em;
    line-height: 1.4;
  }
}

/**********************************/
/************ タグ一覧 ************/
/**********************************/
.tagArea {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
}

.tagAreaNoFlex {}

.tagHeadline {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(20% - 40px);
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  font-size: 2.4rem;
  font-weight: bold;
  margin: 0 20px 0 0;
  padding: 0 20px 0 0;
  border-right: 2px solid #000;
}

.tagHeadlineNoFlex {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  margin: 0;
  padding: 0 0 20px 0;
}

.tagHeadlineTextSmall {
  font-size: 1.6rem;
}

.tagList {
  width: 80%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 -5px -10px 0;
}

.tagListNoFlex {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.tagList li,
.tagListNoFlex li {
  display: block;
  padding: 5px 15px;
  font-size: 1.6rem;
  font-weight: bold;
  background: #f4f2ed;
  text-decoration: none;
  margin: 0 5px 10px 0;
  border-radius: 20px;
  transition: background-color 0.5s, background-color 0.5s;
}

.tagListNoFlex li {
  font-size: 1.1rem;
  padding: 5px 12px;
}

/*
.tagList li a:hover,
.tagList li a:focus,
.tagListNoFlex li a:hover,
.tagListNoFlex li a:focus {
  background: #181000;
  color: #FFF;
}
*/

@media only screen and (max-width:768px) {
  .tagHeadline {
    width: 100%;
    font-size: 1.8rem;
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    border-right: none;
    border-bottom: 2px solid #000;

  }

  .tagList {
    width: 100%;
    margin: 0 -5px -10px 0;
  }

  .tagList li a {
    font-size: 1.3rem;
  }

}


/**********************************/
/************ News一覧 ************/
/**********************************/

/*INFORMATION*/
.homeInformation {
  position: relative;
  z-index: 6;
  margin: 90px auto 40px;
}

.informationWrap {
  margin: 45px 0 0;
}

.informationLink a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  padding: 20px 0;
  border-bottom: 1px dashed #181000;
  text-decoration: none;
}

.informationLink:last-of-type a {
  border-bottom: none;
}

.informationTime {
  width: 20%;
  font-size: 2.1rem;
  font-weight: bold;
  color: #181000;
  letter-spacing: 0.3rem;
}

.informationTag {
  width: 15%;
  padding: 3px 5px 6px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #FFF;
  background: #181000;
  letter-spacing: 0.3rem;
  line-height: 1.2;
  text-align: center;
  transition: background-color 0.5s;
}


.informationText {
  width: 90%;
  margin: 0 0 0 2%;
  font-size: 1.6rem;
  line-height: 1.6;
  text-decoration: underline;
}

.informationLink a:focus .informationTag,
.informationLink a:hover .informationTag {
  background: #69afe7;
}

.informationLink a:focus .informationText,
.informationLink a:hover .informationText {
  text-decoration: none;
}

/* SP */
@media only screen and (max-width:768px) {
  .homeInformation {
    margin: 60px auto 30px;
  }

  .informationTime {
    width: 45%;
    font-size: 1.8rem;
  }

  .informationTag {
    width: 50%;
  }


  .informationText {
    width: 100%;
    margin: 10px 0 0;
  }

}


.newsArea {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}

.newsAreaTextOnly {}

.newsItem {
  position: relative;
  width: calc(100% / 3 - 18px);
  margin: 0 27px 35px 0;
  overflow: hidden;
}

.newsItemTextOnly {
  width: 100%;
  margin: 0 0 25px 0;
  overflow: hidden;
}

.newsItemTextOnly:last-of-type {
  margin: 0;
}

.newsItemTextOnly:hover .newsItemHeadlineTextOnly,
.newsItemTextOnly:focus .newsItemHeadlineTextOnly {
  text-decoration: underline;
}

.newsItem a {
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.newsItem:nth-of-type(3n) {
  margin: 0 0 35px 0;
}

.newsItemCatArea {
  position: absolute;
  z-index: 3;
  display: flex;
  justify-content: flex-start;
  top: 10px;
  left: 0;
  transition: transform 0.5s;
  transform: translate(-101%);
}

.newsItem a:focus .newsItemCatArea,
.newsItem a:hover .newsItemCatArea {
  transform: translate(0);
}

.newsItemCatArea li {
  padding: 5px 15px;
  font-size: 1.5rem;
}

.newsItemCatAIT {
  background: #3e4886;
  color: #FFF;
}

.newsItemCatDesign {
  background: url(./assets/images/designTexture.jpg) repeat;
  color: #000;
}

.newsItemCatNursing {
  background: url(./assets/images/nursingTexture.jpg) repeat;
  color: #000;
}

.newsItemText {
  position: relative;
  width: 100%;
  padding: 0 20px 60%;
  background: #f4f2ed;
  overflow: hidden;
  box-sizing: border-box;
}

.newsItemText p {
  position: absolute;
  top: 30%;
  right: 0;
  left: 0;
  width: 90%;
  margin: auto;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.2rem;
}

.newsItemTextAIT {
  color: #3e4886;
}

.newsItemTextDesign {
  color: #ef6c50;
}

.newsItemTextNursing {
  color: #3fafab;
}

.newsItemPh {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  /*height: 190px;*/
  padding-bottom: 60%;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
}

.newsItemPh:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 185, 239, 0), rgba(0, 185, 239, 0.6));
  content: '';
  opacity: 0.3;
  mix-blend-mode: multiply;
}

/*
.newsItemPh img {
  position: relative;
  z-index: 1;
  width: 100%;
}

.newsItemPhLandscape img {
  max-width: none;
  height: 100%;
}

.newsItemPhPortrait img {
  width: auto;
  height: 100%;
}
*/

.newsItemUnility {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.newsItemUnility time {
  margin: 10px 0;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.3rem;
  font-family: 'Barlow', sans-serif;
}

.newsItemUnility time.newsItemTimeTextOnly {
  font-size: 1.5rem;
  color: #777777;
}

/*
.newsItemTag {
  font-size: 1.4rem;
  font-weight: bold;
  padding: 5px 15px;
  border: 1px solid #181000;
  border-radius: 20px;
}
*/
.newsItemTag {
  margin: 10px 0;
  padding: 2px 10px;
  font-size: 1.4rem;
  font-weight: bold;
  border-left: 1px solid #181000;
}

.newsItemHeadline {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.newsItemHeadlineTextOnly {
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #777777;
  font-family: 'Barlow', sans-serif;
}

.newsItem a:focus .newsItemHeadline,
.newsItem a:hover .newsItemHeadline,
.newsItem a:focus .newsItemHeadlineTextOnly,
.newsItem a:hover .newsItemHeadlineTextOnly {
  text-decoration: underline;
}

@media only screen and (max-width:768px) {
  .newsArea {
    margin: 30px auto 0;
  }

  .newsItem {
    position: relative;
    width: calc(100% / 2 - 10px);
    margin: 0 20px 25px 0;
  }

  .newsItem:nth-of-type(3n) {
    margin: 0 20px 25px 0;
  }

  .newsItem:nth-of-type(2n) {
    margin: 0 0 25px 0;
  }

  .newsItemSp1 {
    width: 90%;
    margin: 0 auto 30px;
  }

  .newsItemSp1:nth-of-type(2n) {
    margin: 0 auto 30px;
  }

  .newsItemSp1:nth-of-type(3n) {
    margin: 0 auto 30px;
  }

  .newsItemText {
    /*
    height: 140px;
    padding: 0;
    */
  }

  .newsItemText p {
    font-size: 1.2rem;
  }

  .newsItemPh {
    /*height: 140px;*/
  }

  .newsItemSp1 .newsItemText {
    height: 180px;
  }

  .newsItemSp1 .newsItemPh {
    height: 180px;
  }

  .newsItemCatArea li {
    padding: 5px 10px;
    font-size: 1.2rem;
  }

  .newsItemText {
    font-size: 1.6rem;
  }

  .newsItemUnility time {
    margin: 0 0 10px;
  }


}

/*iPad Miniだけ*/
@media only screen and (width:768px) {
  .newsItemText {
    height: 200px;
  }

  .newsItemPh {
    height: 200px;
  }

  .newsItemSp1 .newsItemText {
    height: 240px;
  }

  .newsItemSp1 .newsItemPh {
    height: 240px;
  }

}


/*ワイドディスプレイ用、フルハイビジョン（1920px x 1080px）まで対応*/
@media screen and (min-width: 1365px) and (orientation: landscape) {
  .newsArea {
    /*justify-content: center;*/
  }

  /*
  .newsItem {
    width: 317px;
  }

  .newsItem:nth-of-type(3n) {
    margin: 0 27px 35px 0;
  }
*/
  .newsItemSp1 {
    width: calc(100% / 3 - 18px);
  }

  .newsItemSp1:nth-of-type(3n) {
    margin: 0 0 35px 0;
  }


}



/**********************/
/****** パーツ類 *******/
/**********************/
/*タイトル・見出し系（h2,h3,h4）*/
/*右に小さい文字でリンクテキストが入る見出し*/
.headlineWithLink {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  font-size: 3.4rem;
  font-weight: bold;
  letter-spacing: 0.5rem;
}

.headlineWithLink a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 0 20px;
  font-size: 1.4rem;
  text-decoration: none;
}

@media only screen and (max-width:768px) {
  .headlineWithLink {
    display: block;
  }

  .headlineWithLink a {
    margin: 10px 0 0;
  }

}

/*スクロールすると下線が出現する見出し*/
.headlineScrollUnderline {
  position: relative;
  z-index: 0;
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
  letter-spacing: 0.5rem;
  font-weight: bold;
  line-height: 1.2;
}

.headlineScrollUnderlineLeft {
  justify-content: flex-start;
  text-align: left;
}


.headlineScrollUnderlineLarge {
  position: relative;
  font-size: 5rem;
}

.headlineScrollUnderline span {
  font-size: 3.8rem;
}

.headlineScrollUnderline span.headlineScrollUnderlineSmall {
  width: 100%;
  margin: 15px 0 0;
  font-size: 1.6rem;
  text-align: center;
}

.headlineScrollUnderlineLeft span.headlineScrollUnderlineSmall {
  text-align: left;
}

.headlineScrollUnderlineShow:after,
.headlineScrollUnderlineNoAnimation:after {
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 2px;
  background: #181000;
  content: '';
}

.headlineScrollUnderlineNoAnimation:after {
  width: 100%;
}

.headlineScrollUnderlineShow:after {
  animation: 2s headlineScrollUnderlineShow ease-in-out forwards;
}

@media only screen and (max-width:768px) {
  .headlineScrollUnderlineLarge {
    position: relative;
    font-size: 3.0rem;
  }

  .headlineScrollUnderline span {
    padding: 15px 0 0;
    font-size: 2.6rem;
  }


  .headlineScrollUnderline span.headlineScrollUnderlineSmall {
    margin: 0;
  }
}

@keyframes headlineScrollUnderlineShow {
  0% {
    width: 0;
    opacity: 1;
  }

  30% {
    width: 96%;
    opacity: 1;
  }

  70% {
    width: 96%;
    opacity: 1;
  }

  100% {
    width: 96%;
    opacity: 0;
  }
}

/*複数種類のフォントサイズを使用した見出し*/
.headlineMultiSizeText {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.3rem;
}

.headlineMultiSizeTextLarge {
  font-size: 3.8rem;
}


.headlineMultiSizeText span {
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: 0.1rem;
}

@media only screen and (max-width:768px) {
  .headlineMultiSizeText {
    font-family: 'Noto Sans JP';
    font-size: 2.8rem;
  }

}

/*背景色のある見出し*/
.headlineBar {
  padding: 5px 15px 7px;
  background: #f4f2ed;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.3rem;
}

.headlineBarDesign {
  background: #ef6c50;
}

.headlineBarNursing {
  background: #3fafab;
}

.headlineBarAit {
  background: #3e4886;
  color: #FFF;
}

.headlineBarScuColor {
  background: #F8B500;
}

/*右上と左上に角がついた見出し*/
/*<h5 class="headlineCenterSquare"><div>テキスト</div></h5>*/
/*のように使う*/
.headlineCenterSquare {
  display: flex;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.3rem;
}

.headlineCenterSquare div {
  position: relative;
  padding: 5px 25px;
}

.headlineCenterSquare div:before,
.headlineCenterSquare div:after {
  position: absolute;
  top: 0;
  border-top: 1px solid #000;
  width: 15px;
  height: 15px;
  content: '';
  display: block;
}

.headlineCenterSquare div:before {
  left: 0;
  border-left: 1px solid #000;
}

.headlineCenterSquare div:after {
  right: 0;
  border-right: 1px solid #000;
}

/*トグルメニューの見出し*/
.headlineToggle {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  position: relative;
  display: block;
  width: 100%;
  padding: 20px 20px;
  font-size: 2.1rem;
  background: #f4f2ed;
  cursor: pointer;
  transition: opacity 0.3s;
}

.headlineToggleIcon {
  position: absolute;
  right: 10px;
}

.toggleContent {
  display: none;
  padding: 20px;
}

.headlineToggle:hover,
.headlineToggle:focus {
  opacity: 0.6;
}


/***テキスト***/
.textEnglish {
  font-family: 'Barlow', sans-serif;
  font-weight: bold;
}

time {
  font-family: 'Barlow', sans-serif;
}

/*長文用。文字感覚調整済み*/
.textNormal {
  font-size: 1.45rem;
  letter-spacing: 0.2rem;
  line-height: 2;
}

.textLong {
  font-size: 1.45rem;
  letter-spacing: 0.2rem;
  line-height: 2.4;
}

.textSmall {
  font-size: 1.3rem;
  letter-spacing: 0.2rem;
  line-height: 1.4;
}

.textEnCaption {
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
  line-height: 1.4;
  color: #878787;
  font-weight: bold;
}

@media only screen and (max-width:768px) {}

/***画像・動画***/

@media only screen and (max-width:768px) {}

/***ボタン***/

@media only screen and (max-width:768px) {}

/***キャプション、コピー等***/
.catchCopy {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.3rem;
  line-height: 1.4;
}

@media only screen and (max-width:768px) {}

/***リスト系***/
.listCircle {
  list-style-type: disc;
  list-style-position: outside;
}

/***リスト系***/
.listNumber {
  list-style-type: decimal;
  list-style-position: outside;
}

.listCircle li,
.listNumber li {
  margin: 0 0 10px 25px;
  font-size: 1.45rem;
  letter-spacing: 0.3rem;
  line-height: 2;
}

.listCircle li strong,
.listNumber li strong {
  font-weight: bold;
}

.listCircle li b,
.listNumber li b {
  font-weight: bold;
}

@media only screen and (max-width:768px) {}

/***囲い系***/
.backgroundCommon {
  background: #f4f2ed;
}

.backgroundBox {
  padding: 20px;
  background: #f4f2ed;
}

@media only screen and (max-width:768px) {}


/***ページ区切り***/
.separate {
  width: 100%;
  display: block;
  border-bottom: 1px solid #181000;
}

/***テーブル***/
.dlTableSimpleImportantArea {
  background: #ddd;
  padding: 15px;
}

.dlTableSimple {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  border: 1px solid #ddd;
  border-bottom: none;
}

.dlTableSimple:last-of-type,
.dlTableSimpleLast {
  border-bottom: 1px solid #ddd;
}

.dlTableSimple dt {
  width: 20%;
  padding: 15px;
  font-size: 1.6rem;
  letter-spacing: 0.3rem;
  line-height: 2;
  background: #f4f2ed;
  border-right: 1px solid #ddd;
}

.dlTableSimple dd {
  width: 80%;
  padding: 15px;
  font-size: 1.6rem;
  letter-spacing: 0.3rem;
  line-height: 2;
  background: #fff;
}

.dlTableSimpleItemSpacer {
  margin: 10px 0;
  border-top: 1px solid #ddd;
}

.tableWrap {
  width: 100%;
  border: 1px solid #ddd;
  border-collapse: collapse;
}

.tableWrap tr {
  border-bottom: 1px solid #ddd;

}

.tableWrap th {
  padding: 15px;
  font-size: 1.6rem;
  letter-spacing: 0.3rem;
  line-height: 2;
  text-align: left;
  background: #f4f2ed;
  border-right: 1px solid #ddd;
}

.tableWrap td {
  padding: 15px;
  font-size: 1.6rem;
  letter-spacing: 0.3rem;
  vertical-align: top;
  line-height: 2;
  text-align: left;
  background: #FFF;
  border-right: 1px solid #ddd;
}

@media only screen and (max-width:768px) {
  .dlTableSimple dt {
    width: 100%;
    border-bottom: 1px solid #ddd;
    border-right: none;
  }

  .dlTableSimple dd {
    width: 100%;
  }

  .tableWrap {
    width: 100%;
    overflow-x: scroll;
  }

  .tableWrap tbody {
    min-width: 600px;
    width: 100%;
  }

  .tableWrap th {
    padding: 10px;
    font-size: 1.3rem;
  }

  .tableWrap td {
    padding: 10px;
    font-size: 1.3rem;
  }

}

/***レイアウト***/
.flexColPc3Sp1 {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

.flexColPc3Sp1Item {
  width: calc(100% / 3 - 12px);
}

@media only screen and (max-width:768px) {
  .flexColPc3Sp1Item {
    width: 100%;
  }
}

.flexColPc3Sp2Center {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
}

.flexColPc3Sp2Item {
  width: calc(100% / 3 - 12px);
}

@media only screen and (max-width:768px) {
  .flexColPc3Sp2Item {
    width: calc(100% / 2 - 5px);
  }

  .flexColPc3Sp2Item:nth-of-type(2n) {
    margin: 0 0 0 10px;
  }
}

.flexColPc2Sp1 {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: -20px;
}

.flexColPc2Sp1Center {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: -20px;
}


.flexColPc2Sp1Between {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

.flexColPc2Sp1Item {
  width: calc(100% / 2 - 10px);
  margin: 0 0 20px 0;
}

.flexColPc2Sp1Item:nth-of-type(2n) {
  margin: 0 0 20px 20px;
}

@media only screen and (max-width:768px) {
  .flexColPc2Sp1Item {
    width: 100%;
  }

  .flexColPc2Sp1Item:nth-of-type(2n) {
    margin: 0 0 20px 0;
  }
}

.flexItem75PerSp100Per {
  width: 75%;
}

.flexItem70PerSp100Per {
  width: 70%;
}

.flexItem65PerSp100Per {
  width: 65%;
}

.flexItem60PerSp100Per {
  width: 60%;
}

.flexItem57PerSp100Per {
  width: 57%;
}

.flexItem55PerSp100Per {
  width: 55%;
}

.flexItem45PerSp100Per {
  width: 45%;
}

.flexItem40PerSp100Per {
  width: 40%;
}

.flexItem35PerSp100Per {
  width: 35%;
}

.flexItem30PerSp100Per {
  width: 30%;
}

.flexItem25PerSp100Per {
  width: 25%;
}

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

  .flexItem75PerSp100Per,
  .flexItem70PerSp100Per,
  .flexItem65PerSp100Per,
  .flexItem60PerSp100Per,
  .flexItem57PerSp100Per,
  .flexItem55PerSp100Per,
  .flexItem45PerSp100Per,
  .flexItem40PerSp100Per,
  .flexItem35PerSp100Per,
  .flexItem30PerSp100Per,
  .flexItem25PerSp100Per {
    width: 100%;
  }

}



/***フォーム***/

.formWrap {
  position: relative;
  min-width: 300px;
}

.formText {
  min-width: 300px;
  width: 100%;
  padding: 10px 50px 10px 20px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #181000;
  background: #FFF;
  letter-spacing: 0.15rem;
  border: 1px solid #181000;
  border-radius: 20px;
  box-sizing: border-box;
  transition: border-color 0.5s;
}

.formText:focus {
  border-color: #02C0BD;
}

.formSearch {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 21px;
  height: 25px;
  margin: auto;
  background: transparent;
  border: none;
  cursor: pointer;
}

.formSearch img {
  top: 0;
  bottom: 10px;
  margin: auto;
}


.formButtonSearch {
  position: relative;
  right: 50px;
  width: 21px;
  height: 25px;
  padding: 0;
  background: transparent;
  border: none;
}

@media only screen and (max-width:768px) {}

/***リンク***/

/*ページ内リンクの調整*/
section>h2[id]:before,
section>h3[id]:before,
section>h4[id]:before,
section>h5[id]:before {
  display: block;
  height: 100px;
  margin-top: -100px;
  content: '';
}

/*下線がつくリンク*/
.linkUnderLine {
  font-size: 1.45rem;
  letter-spacing: 0.2rem;
  line-height: 1.6;
  text-decoration: underline;
}

.linkUnderLine:hover,
.linkUnderLine:focus {
  text-decoration: none;
}

/*下線と区切りがつくリンク*/
.linkSeparate {
  font-size: 1.45rem;
  letter-spacing: 0.2rem;
  line-height: 1.6;
  text-decoration: underline;
  padding: 0 15px;
  border-left: 1px solid #181000;
}

.linkSeparate:last-child {
  border-right: 1px solid #181000;
}

.linkSeparateCurrent {
  text-decoration: none;
}

.linkSeparateCurrnet:before {
  content: '●';
}

.linkSeparate:hover,
.linkSeparate:focus {
  text-decoration: none;
}

.linkNewWindow:hover,
.linkNewWindow:focus {
  text-decoration: none;
}

/*別タブで開く。テキストのすぐ後ろにマークをつける*/
.linkNewWindow,
.newWindow {
  /*font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';*/
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  color: #181000;
  font-size: 1.45rem;
  font-weight: bold;
  text-decoration: none;
}

.newWindow {
  font-size: 1.6rem;
}


.linkNewWindow {
  transition: opacity 0.5s;
}

.linkNewWindow:hover,
.linkNewWindow:focus {
  opacity: 0.6;
}

a:has(> .newWindow) {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  text-decoration: none;
}

.newWindowGray {
  display: inline-flex;
  align-items: center;
  font-size: 1.45rem;
}

.newWindow:after {
  content: url(./assets/images/iconNewWindow.png);
  width: 14px;
  height: 14px;
  padding: 0 0 6px 10px;
}

.linkNewWindow:after {
  content: url(./assets/images/iconNewWindow.png);
  width: 14px;
  height: 14px;
  padding: 0 0 6px 10px;
}

.newWindowGray:after {
  content: url(./assets/images/iconNewWindowGray.png);
  width: 14px;
  height: 14px;
  padding: 0 0 0 10px;
}

/*別タブで開く。テキストのすぐ後ろでなくブロックの一番後ろにつける*/
.newWindowStatic {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  position: relative;
  color: #181000;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
}

a:has(> .newWindowStatic) {
  text-decoration: none;
}

.newWindowStatic:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 14px;
  height: 14px;
  margin: auto 0;
  content: url(./assets/images/iconNewWindow.png);
}

/*同じサイト内のリンク。矢印つき*/
/*共通に使う。before要素、after要素を両方消費するので固定ページ共通でのみ使う。テンプレートでは使わない*/
.linkToPage {
  position: relative;
  display: inline-block;
  padding: 0 40px 0 0;
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  font-size: 1.45rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.3rem;
  text-decoration: none;
}

.linkToPage:before {
  position: absolute;
  top: 0;
  bottom: -7px;
  /*全て小さいものに統一した
  right: 15px;
  width: 20px;
  */
  right: 8px;
  width: 12px;
  height: 2px;
  margin: auto;
  background: #181000;
  content: '';
  transition: background-color 0.2s;
}

.linkToPage:after {
  position: absolute;
  top: 0;
  bottom: 0;
  /*全て小さいものに統一した
  bottom: 0;
  right: 13px;
  width: 10px;
  */
  right: 8px;
  width: 6px;
  height: 2px;
  margin: auto;
  background: #181000;
  transform: rotate(45deg);
  content: '';
  transition: background-color 0.2s;
}


/*before要素、after要素を両方消費しない書き方。テンプレートではなるべくこっち使う*/
. a:has(> .linkArrow) {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  text-decoration: none;
  letter-spacing: 0.3rem;
  font-weight: bold;
}

a:has(> .linkArrowSmall),
a:has(> .linkArrowSmallGray) {
  letter-spacing: 0.1rem;
}

.linkArrowWrap {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  /*ページ内リンク。矢印自体をhtml要素（<a class="linkArrowWrap">link<p class="linkArrow"</p></a>など）にする場合のcss*/
  /*親要素にlinkArrowをつけた方がシンプルなのだが、before,after擬似要素どちらも使って矢印を作るので、擬似要素と干渉しやすいためこの実装*/
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.3rem;
  text-decoration: none;
}


.linkArrow {
  /*ページ内リンク。矢印自体をhtml要素（<a class="linkArrowWrap">link<p class="linkArrow"</p></a>など）にする場合のcss*/
  /*親要素にlinkArrowをつけた方がシンプルなのだが、before,after擬似要素どちらも使って矢印を作るので、擬似要素と干渉しやすいためこの実装*/
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  display: inline-block;
  position: relative;
  width: 25px;
  margin: 0;
}


.linkArrowStatic {
  /*テキストのすぐ後ろでなくブロックの一番後ろにつける*/
  position: relative;
  width: 28px;
}

.linkArrowStaticVertical {
  /*テキストのすぐ後ろでなくブロックの一番後ろにつける*/
  position: relative;
}

.linkArrow:before,
.linkArrowStatic:before,
.linkArrowStaticVertical:before {
  position: absolute;
  top: 0;
  bottom: 0;
  /* 全て小さいものに統一した
  right: 15px;
  width: 20px;
  */
  right: 8px;
  bottom: -3px;
  width: 12px;
  height: 2px;
  margin: auto;
  background: #181000;
  content: '';
  transition: background-color 0.2s;
}

.linkArrow:after,
.linkArrowStatic:after,
.linkArrowStaticVertical:after {
  position: absolute;
  top: -4px;
  bottom: -3px;
  /* 全て小さいものに統一した
  bottom: 0;
  right: 13px;
  width: 10px;
  */
  right: 8px;
  width: 6px;
  bottom: -3px;
  height: 2px;
  margin: auto;
  background: #181000;
  transform: rotate(45deg);
  content: '';
  transition: background-color 0.2s;
}


.linkArrow:before {
  /*全て小さいものに統一した
  right: 0px;
  width: 20px;
  */
  right: 8px;
  width: 12px;
}

.linkArrow:after {
  /*全て小さいものに統一した
  right: -2px;
  */
  right: 6px;
}

.linkArrowSmall {
  width: 25px;
}


.linkArrowSmall:before {
  right: 8px;
  width: 12px;
}

.linkArrowSmall:after {
  right: 8px;
  width: 6px;
  bottom: -3px
}

.linkArrowSmallGray {
  width: 25px;
}


.linkArrowSmallGray:before {
  right: 8px;
  width: 12px;
  background: #a5a5a5;
}

.linkArrowSmallGray:after {
  right: 8px;
  width: 6px;
  bottom: -3px;
  background: #a5a5a5;
}

.linkArrowSmallWhite:before {
  right: 8px;
  width: 12px;
  background: #FFF;
}

.linkArrowSmallWhite:after {
  right: 8px;
  width: 6px;
  bottom: -3px;
  background: #FFF;
}

.linkArrowStaticVertical:before {
  top: auto;
  bottom: 10px;
  right: 0;
  left: 0;
  margin: auto;
}

.linkArrowStaticVertical:after {
  top: auto;
  bottom: 13px;
  right: -16px;
  left: 0;
  margin: auto;

}

.linkToPage:hover:before,
.linkArrowStatic:hover:before,
.linkArrowStatic:focus:before,
.linkArrowStaticVertical:hover:before,
.linkArrowStaticVertical:focus:before {
  background: #02C0BD;
}

.linkToPage:hover:after,
.linkArrowStatic:hover:after,
.linkArrowStatic:focus:after,
.linkArrowStaticVertical:hover:after,
.linkArrowStaticVertical:focus:after {
  background: #02C0BD;
}

a:has(> .linkArrow):hover .linkArrow:before,
a:has(> .linkArrow):focus .linkArrow:before {
  background: #02C0BD;
}

a:has(> .linkArrow):hover .linkArrow:after,
a:has(> .linkArrow):focus .linkArrow:after {
  background: #02C0BD;
}

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

  .linkArrow {
    margin: 0 0 0 15px;
  }

  .linkArrowStatic:before {
    right: 5px;
  }

  .linkArrowStatic:after {
    right: 3px;
  }

  .linkArrow:before {
    right: 15px;
  }

  .linkArrow:after {
    right: 13px;
  }

  .linkArrowSpShort {
    width: 20px;
    margin: 0;
  }

  .linkArrowSpShort:after {
    width: 8px;
    top: -5px;
    right: -2px;
  }

  .linkArrowSpShort:before {
    width: 15px;
    right: 0;
  }

}

.linkPdfMenu {
  display: inline-block;
  padding: 3px 5px;
  margin: 0 0 0 5px;
  font-size: 1.1rem;
  letter-spacing: 0.15rem;
  background: #6f6a61;
  color: #FFF;
  margin: 0 0 0 10px;
}


.linkPdf,
.linkExcel,
.linkWord,
.linkZip,
.linkFile {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  line-height: 1.45;
  font-weight: bold;
  text-decoration: underline;
  transition: opacity 0.5s;
}

.linkPdf:hover,
.linkExcel:hover,
.linkWord:hover,
.linkZip:hover,
.linkFile:hover,
.linkPdf:focus,
.linkExcel:focus,
.linkWord:focus,
.linkZip:focus,
.linkFile:focus {
  opacity: 0.6;
}

.linkPdf:after,
.linkExcel:after,
.linkWord:after,
.linkZip:after,
.linkFile:after {
  display: inline-block;
  padding: 3px 5px;
  margin: 0 0 0 5px;
  font-size: 1.1rem;
  letter-spacing: 0.15rem;
  background: #6f6a61;
  color: #FFF;
  margin: 0 0 0 10px;
}

.linkPdf:after {
  content: 'PDF';
}

.linkExcel:after {
  content: 'Excel';
}

.linkWord:after {
  content: 'Word';
}

.linkZip:after {
  content: 'ZIP';
}

.linkFile:after {
  content: 'File';
}


.linkScroll {
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  line-height: 1.6;
  font-weight: bold;
}

.linkScrollSub {
  margin: 10px 0 0 10px;
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
  line-height: 1.6;
  font-weight: normal;
}

.linkScrollSub:before {
  content: '・';
  margin: 0 3px 0 0;
}


.linkScroll:after,
.linkScrollSub:after {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 0 0 7px;
  border-bottom: 2px solid #6f6a61;
  border-right: 2px solid #6f6a61;
  transform: rotate(45deg);
  content: '';
  transition: border-color 0.2s;
}

.linkScrollSub:after {
  width: 5px;
  height: 5px;
}

.linkScroll:hover:after,
.linkScroll:focus:after,
.linkScrollSub:hover:after,
.linkScrollSub:focus:after {
  border-color: #02C0BD;
}


/*hoverエフェクトのみ後付けする用*/
.hoverOpacity {
  transition: opacity 0.5s;
}

.hoverOpacity:hover,
.hoverOpacity:focus {
  opacity: 0.6;
}


.hoverUnderline {
  position: relative;
}

.hoverUnderline:before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  display: inline-block;
  width: 0%;
  height: 1px;
  background: #181000;
  transition: width 0.5s;
}

.hoverUnderline:hover:before,
.hoverUnderline:focus:before {
  width: 100%;
}

.hoverZoom {
  transition: transform 0.4s;
}

.hoverZoom:hover,
.hoverZoom:focus {
  transform: scale(1.1);
}

.hoverBgGray {
  transition: background-color 0.5s;
}

.hoverBgGray:hover,
.hoverBgGray:focus {
  background: #f6f2ee;
}

/*パンくずリスト*/
.breadcrumb {
  padding: 20px 0;
  background: #f4f2ed;
}

.breadcrumbInner {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.breadcrumbInner li {
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  line-height: 1.4;
}

.breadcrumbInner li:after {
  margin: 0 15px;
  content: '>';
}

.breadcrumbInner li:last-of-type:after {
  content: none;
}

.breadcrumbInner li a {
  text-decoration: underline;
}

.breadcrumbInner li a:hover,
.breadcrumbInner li a:focus {
  text-decoration: none;
}

.pagenation {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.pagenation li {
  margin: 0 10px;
}

.pagenation li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-size: 2.4rem;
  border: 1px solid #DDD;
  border-radius: 50px;
}

.pagenation li a:hover,
.pagenation li a:focus {
  background: #f4f2ed;
}

.pagenationActive a {
  background: #f4f2ed;
}

/*ページ内リンクエリア*/
.linkScrollWrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto -25px;
}

.linkScrollWrap li {
  margin: 0 25px 15px 0;
}

.linkScrollSquare {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  max-width: 1280px;
  margin: 0 auto;
  border: 1px solid #DDD;
}

.linkScrollSquare li {
  width: 50%;
  padding: 20px;
  border: 1px solid #DDD;
  box-sizing: border-box;
}

@media only screen and (max-width:768px) {
  .linkScrollSquare li {
    width: 100%;
  }

}

/*ローダー*/
.loader {
  padding: 0 0 60px;
}

.loader:before {
  content: '';
  display: block;
  margin: 60px auto 0;
  font-size: 25px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load5 1.1s infinite ease;
  animation: load5 1.1s infinite ease;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

@keyframes load5 {

  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #ffa600, 1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2), 2.5em 0em 0 0em rgba(255, 166, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 166, 0, 0.2), 0em 2.5em 0 0em rgba(255, 166, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 166, 0, 0.2), -2.6em 0em 0 0em rgba(255, 166, 0, 0.5), -1.8em -1.8em 0 0em rgba(255, 166, 0, 0.7);
  }

  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 166, 0, 0.7), 1.8em -1.8em 0 0em #ffa600, 2.5em 0em 0 0em rgba(255, 166, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 166, 0, 0.2), 0em 2.5em 0 0em rgba(255, 166, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 166, 0, 0.2), -2.6em 0em 0 0em rgba(255, 166, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 166, 0, 0.5);
  }

  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 166, 0, 0.5), 1.8em -1.8em 0 0em rgba(255, 166, 0, 0.7), 2.5em 0em 0 0em #ffa600, 1.75em 1.75em 0 0em rgba(255, 166, 0, 0.2), 0em 2.5em 0 0em rgba(255, 166, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 166, 0, 0.2), -2.6em 0em 0 0em rgba(255, 166, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2);
  }

  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 166, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 166, 0, 0.5), 2.5em 0em 0 0em rgba(255, 166, 0, 0.7), 1.75em 1.75em 0 0em #ffa600, 0em 2.5em 0 0em rgba(255, 166, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 166, 0, 0.2), -2.6em 0em 0 0em rgba(255, 166, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2);
  }

  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 166, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2), 2.5em 0em 0 0em rgba(255, 166, 0, 0.5), 1.75em 1.75em 0 0em rgba(255, 166, 0, 0.7), 0em 2.5em 0 0em #ffa600, -1.8em 1.8em 0 0em rgba(255, 166, 0, 0.2), -2.6em 0em 0 0em rgba(255, 166, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2);
  }

  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 166, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2), 2.5em 0em 0 0em rgba(255, 166, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 166, 0, 0.5), 0em 2.5em 0 0em rgba(255, 166, 0, 0.7), -1.8em 1.8em 0 0em #ffa600, -2.6em 0em 0 0em rgba(255, 166, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2);
  }

  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 166, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2), 2.5em 0em 0 0em rgba(255, 166, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 166, 0, 0.2), 0em 2.5em 0 0em rgba(255, 166, 0, 0.5), -1.8em 1.8em 0 0em rgba(255, 166, 0, 0.7), -2.6em 0em 0 0em #ffa600, -1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2);
  }

  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 166, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 166, 0, 0.2), 2.5em 0em 0 0em rgba(255, 166, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 166, 0, 0.2), 0em 2.5em 0 0em rgba(255, 166, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 166, 0, 0.5), -2.6em 0em 0 0em rgba(255, 166, 0, 0.7), -1.8em -1.8em 0 0em #ffa600;
  }
}


/**********************/
/****** 中ページ *******/
/**********************/
/* 共通（中ページ共通パーツ） */
.inPageVisual {
  position: relative;
  width: 100%;
}

.noVisual {
  padding: 150px 0 0;
}

.inPagePict {
  opacity: 0;
  position: absolute;
  z-index: -3;
}

.inPagePictAbout {
  bottom: -50px;
  right: 10%;
  width: 130px;
  transform: rotate(20deg);
  opacity: 0.7;
}

.inPagePictRelative {
  bottom: -80px;
  right: 5%;
  width: 130px;
  transform: rotate(20deg);
  opacity: 0.5;
}

.inPagePictBeyond {
  bottom: 0px;
  right: 0%;
  width: 130px;
  transform: rotate(20deg);
  opacity: 0.5;
}

.inPagePictCommon {
  bottom: -120px;
  right: 0;
}

.inPageNav {
  width: 100%;
  padding: 27px 0;
  margin: 40px 0 0;
  background: #f4f2ed;
}

.inPageNavSub {
  width: 100%;
  padding: 27px 0;
}

.inPageNavSub a {
  font-size: 1.4rem;
}

.inPageNavInner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto -20px;
}

.inPageNav a,
.inPageNav p {
  margin: 0 0 15px 0;
}

.InPagePallaraxBg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.InPagePallaraxInner {
  position: relative;
  width: 100%;
  height: 100%;
}

.InPagePallarax01 {
  position: absolute;
  top: 0%;
  right: 0;
}

.InPagePallarax {
  position: absolute;
  right: 0;
}

.InPagePallarax:nth-of-type(2n) {
  left: 0;
  transform: scale(-1, 1);
}

@media only screen and (max-width:768px) {
  .noVisual {
    padding: 100px 0 0;
  }

  .inPagePictRelative {
    right: 20%;
  }

  .inPagePictBeyond {
    right: 10%;
  }

  .inPagePictCommon {
    width: 60%;
    top: 60px;
  }

  .inPageNav {
    padding: 20px 0;
    margin: 20px 0 0;
  }

  .inPageNavSub {
    padding: 20px 0;
  }

  .inPageNavInner {
    width: 95%;
    margin: 0 auto -15px;
  }

  .inPageNav a,
  .inPageNav p {
    font-size: 1.2rem;
  }


  .inPageNavSub a {
    font-size: 1.1rem;
  }

  .inPageNav a:last-child,
  .inPageNavSub a:last-child {
    border-right: none;
  }

  .InPagePallaraxBg {
    opacity: 0.7;
  }

  .InPagePallarax01 {
    width: 30%;
  }

  .InPagePallarax02 {
    width: 35%;

  }

}

/* 投稿ページ（post）・投稿アーカイブ・タグアーカイブ・検索結果などで使用する見出し */
.headlineNewsTop {
  position: relative;
  z-index: 0;
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
  letter-spacing: 0.5rem;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.2;
  padding: 30px 0 15px;
}


* {
  word-break: normal;
}

@media only screen and (max-width:768px) {
  * {
    word-break: normal !important;
  }
}

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

  /*table横スクロール発生させる*/
  .tableScrollX {
    display: block;
    overflow: scroll;
    height: auto;
    width: 100%;
    margin: 10px auto;
    white-space: nowrap;
  }

  .tableScrollX::before {
    content: '下記表は横にスクロールすることができます';
    display: block;
    width: 100%;
    height: auto;
    font-size: 1.0rem;
    margin: 0 0 0.5rem;
    color: #333;
    text-align: center;
  }

  .tableScrollX table {
    width: 100%;
  }

  /*table横スクロール発生させる＿英語版*/
  .tableScrollXe {
    display: block;
    overflow: scroll;
    height: auto;
    width: 100%;
    margin: 10px auto;
    white-space: nowrap;
  }

  /*.tableScrollXe::before { content:'下記表は横にスクロールすることができます'; display: block; width: 100%; height: auto; font-size: 1.0rem; margin: 0 0 0.5rem; color: #333; text-align: center; }*/
  .tableScrollXe table {
    width: 100%;
  }

  /*table組み替える*/
  .tableTransform01 {
    display: block;
    width: 100%;
    height: auto;
  }

  .tableTransform01 table {
    width: 100%;
  }

  .tableTransform01 table th,
  .tableTransform01 table td {
    display: block;
    width: 100% !important;
  }

  /*table組み替える2*/
  .tableTransform02 {
    display: block;
    width: 100%;
    height: auto;
  }

  .tableTransform02 table {
    width: 100%;
    border: none;
  }

  .tableTransform02 tr {
    display: block;
    border: solid 1px #ccc;
    padding: 1rem;
    margin-bottom: 2rem;
  }

  .tableTransform02 thead {
    display: none;
  }

  .tableTransform02 table th,
  .tableTransform02 table td {
    display: block;
    width: 100% !important;
    border: none;
    padding: 0 1rem;
  }

  .tableTransform02 table td::before {
    content: attr(data-label);
    display: block;
    font-weight: bold;
    padding: 0.5rem;
    margin: 1rem auto 0.5rem;
    color: #333;
    border-bottom: dashed 1px #ccc;
    margin-left: -1rem;
    background: #ccc;
  }

  /*20230602_azuma_add*/
  .resource250 {
    width: 200px
  }

  .resource120 {
    width: 120px
  }
}