@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 {
    -webkit-print-color-adjust: exact;
    -webkit-text-size-adjust: 100%;
}

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

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

pre {
    direction: initial !important;
    unicode-bidi: initial !important;
    white-space: initial !important;
}

address {
    font-style: initial;
}

a {
    text-decoration: none;
}

body img {
    max-width: 100%;
}

body iframe:focus {
    border: 1px solid #000;
}

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

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

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

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

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

    .spW100p {
        width: 100% !important;
    }

    .spAlignLForce {
        text-align: left !important;
    }
}

/*ある程度の画面サイズ以下で左右の空白を保つ*/
@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%;*/
    }
}


/***************************************/
/******** ページ遷移アニメーション ********/
/*************************************/
.pageTransision {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    display: none;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

.pageTransisionInitial {
    display: block;
}

.pageTransisionBefore {
    position: fixed;
    top: 100vh;
    left: 0;
    background: #f4f2ed;
}

.pageTransisionAfter {
    position: fixed;
    z-index: 10001;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #f4f2ed;
}

.pageTransisionAfterMove {
    animation: 2s pageTransisionAfterMove ease forwards;
}

.pageTransisionAfterFirstMove {
    position: fixed;
    z-index: 10003;
    top: 100vh;
    left: 0;
    background: #f4f2ed;
}

.pageTransisionWrap {
    position: fixed;
    z-index: 10002;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pageTransisionItem {
    animation: 0.2s ease pageTransisionItem forwards;
    text-align: center;
}

.pageTransisionAbout {
    transform: rotate(20deg);
}

.pageTransisionRelative {
    transform: rotate(90deg);
    transform-origin: center center;
    margin: 0 0 -60px;
}

.pageTransisionbeyond {
    max-width: 220px
}

.pageTransisionDesing {
    width: 100%;
    max-width: 360px
}

.pageTransisionNursing {
    width: 100%;
    max-width: 360px
}

.pageTransisionText {
    margin: 20px 0 0;
    font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.4;
}

/* SP */
@media only screen and (max-width:768px) {
    .pageTransisionItem {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        text-align: left;
    }

    .pageTransisionAbout,
    .pageTransisionbeyond {
        width: 50%;
        height: 50%;
    }

    .pageTransisionRelative {
        transform: rotate(0);
        width: 30%;
        margin: 0;
    }
}

@keyframes pageTransisionAfterMove {
    0% {
        top: -50%;
        left: -50%;
    }

    100% {
        top: -300%;
        left: -300%;
        display: none;
    }
}

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

    100% {
        opacity: 1;
    }
}


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

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

@media print {
    .headerScrolled {
        display: none;
    }
}

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

.headerLogo img {
    display: block;
}

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

.headerLogoText {
    position: absolute;
    bottom: 0;
    width: 113px;
    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: 10px;
    left: 70px;
    width: 150px;
}


.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;
    }

    .headerLogoIcon,
    .headerLogoIconNoAction {
        width: auto;
        height: 60px;
        margin: 0 0 0 4px;
    }

    .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 33px;
    }

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

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

    100% {
        width: 60px;
    }
}

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

    }

    100% {
        bottom: 10px;
        left: 70px;
        width: 150px;
    }
}

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

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

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

    100% {
        width: 104px;
    }
}

@keyframes headerLogoTextScrolledReverse {
    0% {
        bottom: 0;
        top: 0;
        left: 70px;
        width: 150px;
        margin: auto;
    }

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


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

.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: 0px 5px 0 0;
    letter-spacing: 0.1rem;
}

.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;
}

.bigMenuHeadline:focus {
    border: 1px solid #000;
}

.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: 2s 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: #FFF;
}

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


.bigMenuSectionHeadLineDesign div {
    font-size: 1.6rem;
    color: #FFF !important;
}

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

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

.bigMenuSectionHeadLineNursing div {
    font-size: 1.6rem;
    color: #FFF !important;
}

.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;
    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;
}

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

.bigMenuLinkListCirle {
    margin: 0 0 20px;
    font-size: 1.3rem;
    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: #fff;
    margin-top: 10px;
}

.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;
    }

    .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;
    }

    .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,
    .bigMenuInnerFlexCol4 {
        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: 1000px;
    width: 100%;
    margin: 0 auto;
}

.footerSnsArea li {
    margin: 0 30px 0 0;
}

.footerSnsArea li:last-of-type {
    margin: 0;
}

.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;
}

.footerSnsArea .newWindowStatic:after {
    right: 70px;
}

.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 5px 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) {

    .footerSnsArea li a {
        margin: 0 0 15px 0;
    }

    .footerSnsArea li a {
        width: 100%;
    }


    .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;
    }


}

/*ページTOPへ戻るボタン*/
.toTopButton {
    position: fixed;
    z-index: 100;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    transition: 1s opacity;
}

@media print {
    .toTopButton {
        display: none;
    }
}

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

/* SP */
@media only screen and (max-width:768px) {
    .toTopButton {
        bottom: 60px;
    }
}


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

@media print {
    .stakeholderMenu {
        display: none;
    }
}

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

/* SP */
@media only screen and (max-width:768px) {
    .stakeholderMenu a {
        width: calc(100% / 4 - 3px);
        font-size: 0.8rem;
        padding: 5px 10px;
        letter-spacing: 0em;
    }
}

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

.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 a,
.tagListNoFlex li a {
    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 a {
    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: 65px 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: 18%;
    font-size: 2.1rem;
    font-weight: bold;
    color: #181000;
    letter-spacing: 0.3rem;
}

.informationTimeNoTag {
    text-decoration: none;
}


.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: 60%;
    margin: 0 0 0 5%;
    font-size: 1.6rem;
    line-height: 1.6;
    text-decoration: underline;
}

.informationTextNoTag {
    width: 75%;
}

.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;
    }

    .informationTextNotag {
        width: 100%;
    }

}

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

.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 a: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;
    margin-bottom: 10px;
}

.newsItemText:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.6));
    content: '';
    opacity: 0.6;
}

.newsItemTextBgDesign1,
.newsItemTextBgDesign2,
.newsItemTextBgDesign3,
.newsItemTextBgDesign4,
.newsItemTextBgDesign5 {
    background: url(./assets/images/newsItemTextBgDesign1.jpg) repeat;
    background-size: cover;
}

.newsItemTextBgDesign6,
.newsItemTextBgDesign7,
.newsItemTextBgDesign8,
.newsItemTextBgDesign9,
.newsItemTextBgDesign10 {
    background: url(./assets/images/newsItemTextBgDesign2.jpg) repeat;
    background-size: cover;
}

.newsItemTextBgNursing1,
.newsItemTextBgNursing2,
.newsItemTextBgNursing3,
.newsItemTextBgNursing4,
.newsItemTextBgNursing5 {
    background: url(./assets/images/newsItemTextBgNursing1.jpg) repeat;
    background-size: cover;
}

.newsItemTextBgNursing6,
.newsItemTextBgNursing7,
.newsItemTextBgNursing8,
.newsItemTextBgNursing9,
.newsItemTextBgNursing10 {
    background: url(./assets/images/newsItemTextBgNursing2.jpg) repeat;
    background-size: cover;
}

.newsItemTextBgAIT1,
.newsItemTextBgAIT2,
.newsItemTextBgAIT3,
.newsItemTextBgAIT4,
.newsItemTextBgAIT5 {
    background: url(./assets/images/newsItemTextBgAIT1.jpg) repeat;
    background-size: cover;
}

.newsItemTextBgAIT6,
.newsItemTextBgAIT7,
.newsItemTextBgAIT8,
.newsItemTextBgAIT9,
.newsItemTextBgAIT10 {
    background: url(./assets/images/newsItemTextBgAIT2.jpg) repeat;
    background-size: cover;
}

.newsItemTextBgOther1,
.newsItemTextBgOther2,
.newsItemTextBgOther3,
.newsItemTextBgOther4,
.newsItemTextBgOther5 {
    background: url(./assets/images/newsItemTextBgOther1.jpg) repeat;
    background-size: cover;
}

.newsItemTextBgOther6,
.newsItemTextBgOther7,
.newsItemTextBgOther8,
.newsItemTextBgOther9,
.newsItemTextBgOther10 {
    background: url(./assets/images/newsItemTextBgOther2.jpg) repeat;
    background-size: cover;
}

.newsItemText p {
    position: absolute;
    z-index: 1;
    top: 38%;
    right: 0;
    left: 0;
    width: 85%;
    margin: auto;
    font-size: 1.58rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 0.2rem;
}

.newsItemTextAIT {
    color: #181000;
    /*  color: #3e4886;*/
}

.newsItemTextDesign {
    color: #181000;
    /*  color: #ef6c50;*/
}

.newsItemTextNursing {
    color: #181000;
    /*  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;
    background-position: center;
    margin-bottom: 10px;
}

.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: soft-light;
}

/*
.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: 0 0 5px 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: 0 0 5px 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;
    }

}

/*20240107トータライズ微調整*/
@media only screen and (max-width:1010px) {
    .newsItemUnility time {
        font-size: 1.15rem;
    }
    .newsItemTag {
        font-size: 1.15rem;
        padding: 2px 0 2px 10px;
    }
}



/**********************/
/****** パーツ類 *******/
/**********************/
/*タイトル・見出し系（h2,h3,h4）*/
/*右に小さい文字でリンクテキストが入る見出し*/
.headlineWithLink {
    font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP', 'sans-serif';
    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: baseline;
    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;
    -webkit-font-smoothing: antialiased;
}

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


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

.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: 2.4rem;
    }

    .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;
    }

}

/*横に棒のつく見出し*/
.headlineLeftBorder {
    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;
    border-left: #f4f2ed 8px solid;
    padding: 0 0 0 10px;
}


@media only screen and (max-width:768px) {
    .headlineLeftBorder {
        font-size: 2.8rem;
    }
}

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

.headlineBarDesign {
    background: #ef6c50;
    color: #fff;
}

.headlineBarNursing {
    background: #3fafab;
    color: #fff;
}

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

.headlineBarScuColor {
    background: #F8B500;
}

/*頭に色のあるマーカーがつく見出し*/
.headlineMarker {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.2rem;
}

.headlineMarker:before {
    display: block;
    width: 16px;
    height: 9px;
    margin: 3px 15px 0 0;
    background: #d8d0c3;
    content: '';
}

.headlineMarkerDesign:before {
    background: #ef6c50;
}

.headlineMarkerNursing:before {
    background: #3fafab;
}

.headlineMarkerAit:before {
    background: #3e4886;
}

.headlineMarkerScuColor:before {
    background: #F8B500;
}

/*左に丸のつく見出し*/
.headlineWithCircle {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05rem;
}

.headlineWithCircle div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}

.headlineWithCircle span {
    font-size: 1.6rem;
}


.headlineWithCircle:before {
    content: '●';
    font-size: 1.4rem;
    color: #F8B500;
    margin: 0 15px 0 0;
}

/*左に丸のつく見出し*/
.headlineWithCircleLeft {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 0 20px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05rem;
}


.headlineWithCircleLeft:before {
    content: '●';
    font-size: 1.4rem;
    color: #d8d0c3;
    margin: 0 15px 0 0;
}

.headlineWithCircleLeftBig {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05rem;
}

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


.headlineWithCircleLeftBig span {
    width: 100%;
    padding: 10px 0 0;
    font-size: 1.4rem;
    color: #756f66;
    font-family: 'Barlow', sans-serif;
    letter-spacing: 0.2em;
    line-height: 1.4;
}


.headlineWithCircleLeftBig:before {
    content: '●';
    font-size: 1.5rem;
    color: #d8d0c3;
    margin: 15px 15px 0 0;
}

@media only screen and (max-width:768px) {
    .headlineWithCircleLeftBig {
        font-size: 2.4rem;
    }

}

/*左右に丸のつく見出し*/
.headlineBothCircle {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05rem;
}

.headlineBothCircle:before {
    content: '●';
    font-size: 1.8rem;
    color: #F8B500;
    margin: 0 15px 0 0;
}

.headlineBothCircle:after {
    content: '●';
    font-size: 1.8rem;
    color: #F8B500;
    margin: 0 0 0 15px;
}

.headlineWithCircleDesign:before,
.headlineWithCircleLeftDesign:before,
.headlineWithCircleLeftBigDesign:before,
.headlineBothCircleDesign:before,
.headlineBothCircleDesign:after {
    color: #ef6c50;
}

.headlineWithCircleNursing:before,
.headlineWithCircleLeftNursing:before,
.headlineWithCircleLeftBigNursing:before,
.headlineBothCircleNursing:before,
.headlineBothCircleNursing:after {
    color: #3fafab;
}

.headlineWithCircleAit:before,
.headlineWithCircleLeftAit:before,
.headlineWithCircleLeftBigAit:before,
.headlineBothCircleAit:before,
.headlineBothCircleAit:after {
    color: #3e4886;
}

@media only screen and (max-width:768px) {
    .headlineBothCircle {
        font-size: 2.8rem;
    }

}

/*右上と左上に角がついた見出し*/
/*<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;
}

/*四方向に角がついた見出し*/
/*<h5 class="headlineSquareFull"><div class="headlineSquareFullLeft"></div>テキスト<div class="headlineSquareFullRight"></div></h5>*/
/*のように使う。固定ページでは以下のように使う*/
/*<duv class="headlineSquareFull""><p class="headlineSquareFullLeft"></p><p class="text">テキスト<p class="headlineSquareFullRight"></p></p></div>*/
.headlineSquareFull {
    display: flex;
    align-items: stretch;
    justify-content: center;
    position: relative;
    width: 120px;
    padding: 20px 0;
    margin: 20px 0;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.5rem;
    text-align: center;
    flex-wrap: wrap;
}

.headlineSquareFull .text {
    font-size: 1.6rem;
    font-weight: bold;
}

.headlineSquareFullLeft,
.headlineSquareFullRight {
    height: 0;
}

.headlineSquareFullLeft:before,
.headlineSquareFullLeft:after,
.headlineSquareFullRight:before,
.headlineSquareFullRight:after {
    position: absolute;
    width: 30px;
    height: 30px;
    content: '';
}


.headlineSquareFullLeft:before {
    top: -20px;
    left: 0;
    border-top: 6px solid #E9B2AB;
    border-left: 6px solid #E9B2AB;
}

.headlineSquareFullLeft:after {
    bottom: -20px;
    left: 0;
    border-bottom: 6px solid #E9B2AB;
    border-left: 6px solid #E9B2AB;
}

.headlineSquareFullRight:before {
    top: -20px;
    right: 0;
    border-top: 6px solid #E9B2AB;
    border-right: 6px solid #E9B2AB;
}

.headlineSquareFullRight:after {
    bottom: -20px;
    right: 0;
    border-bottom: 6px solid #E9B2AB;
    border-right: 6px solid #E9B2AB;
}

.headlineSquareFullLeftNursing:before,
.headlineSquareFullLeftNursing:after,
.headlineSquareFullRightNursing:before,
.headlineSquareFullRightNursing:after {
    border-color: #c5e7e6;
}

.headlineSquareFullLeftAit:before,
.headlineSquareFullLeftAit:after,
.headlineSquareFullRightAit:before,
.headlineSquareFullRightAit:after {
    border-color: #3D478A;
    opacity: 0.5;
}

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

}

/*ドットの下線がつく見出し*/
.headlineUnderlineDotted {
    padding: 0 0 10px;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    border-bottom: 2px dotted #181000;
}

.headlineUnderlineDottedNodot {
    border-bottom: none;
}

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

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

.headlineToggleOther {
    padding: 20px 20px 20px 40px;
}

.headlineToggleOther .headlineToggleIcon {
    right: auto;
    left: 10px;
    font-weight: bold;
}

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

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

/*左に台形マークが入る見出し、先進的な取り組みで使っている*/
.headlineLeftrapezoid {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    padding: 0 0 20px 0;
    border-bottom: 2px dotted #181000;
}

.headlineLeftrapezoid .headlineLeftrapezoidMarker {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: 12px 15px;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.125em;
    color: #000;
    background: #f4f2ed;
    writing-mode: vertical-rl;
}

.headlineLeftrapezoid .headlineLeftrapezoidMarker:before {
    position: absolute;
    z-index: -2;
    bottom: 0;
    right: -15px;
    display: block;
    width: 15px;
    height: 50%;
    background: linear-gradient(to bottom right, #f4f2ed 0%, #f4f2ed 50%, transparent 50%, transparent 100%);
    content: '';
}

.headlineLeftrapezoid .headlineLeftrapezoidMarker:after {
    position: absolute;
    z-index: -2;
    top: 0;
    right: -15px;
    display: block;
    width: 15px;
    height: 50%;
    background: linear-gradient(to top right, #f4f2ed 0%, #f4f2ed 50%, transparent 50%, transparent 100%);
    content: '';
}



.headlineLeftrapezoid .headlineLeftrapezoidText {
    width: calc(100% - 135px);
    margin: 0 0 0 35px;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    line-height: 1.8;
    color: #000;
    font-weight: bold;
}

.headlineLeftrapezoidDesign .headlineLeftrapezoidText {
    color: #ef6c50;
}

.headlineLeftrapezoidDesign .headlineLeftrapezoidMarker {
    background: #ef6c50;
}

.headlineLeftrapezoidDesign .headlineLeftrapezoidMarker:before {
    background: linear-gradient(to bottom right, #ef6c50 0%, #ef6c50 50%, transparent 50%, transparent 100%);
}

.headlineLeftrapezoidDesign .headlineLeftrapezoidMarker:after {
    background: linear-gradient(to top right, #ef6c50 0%, #ef6c50 50%, transparent 50%, transparent 100%);
}


.headlineLeftrapezoidNursing .headlineLeftrapezoidText {
    color: #3fafab;
}

.headlineLeftrapezoidNursing .headlineLeftrapezoidMarker {
    background: #3fafab;
}

.headlineLeftrapezoidNursing .headlineLeftrapezoidMarker:before {
    background: linear-gradient(to bottom right, #3fafab 0%, #3fafab 50%, transparent 50%, transparent 100%);
}

.headlineLeftrapezoidNursing .headlineLeftrapezoidMarker:after {
    background: linear-gradient(to top right, #3fafab 0%, #3fafab 50%, transparent 50%, transparent 100%);
}

.headlineLeftrapezoidAit .headlineLeftrapezoidText {
    color: #3e4886;
}


.headlineLeftrapezoidAit .headlineLeftrapezoidMarker {
    background: #3e4886;
    color: #FFF;
}

.headlineLeftrapezoidAit .headlineLeftrapezoidMarker:before {
    background: linear-gradient(to bottom right, #3e4886 0%, #3e4886 50%, transparent 50%, transparent 100%);
}

.headlineLeftrapezoidAit .headlineLeftrapezoidMarker:after {
    background: linear-gradient(to top right, #3e4886 0%, #3e4886 50%, transparent 50%, transparent 100%);
}

@media only screen and (max-width:768px) {
    .headlineLeftrapezoid .headlineLeftrapezoidMarker {
        width: 100%;
        margin: 0 0 10px 0;
        writing-mode: initial;
    }

    .headlineLeftrapezoid .headlineLeftrapezoidText {
        width: 100%;
    }

}

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

p.textEnglish,
.textEnglish p,
.textEnglish span,
.textEnglish li {
    font-weight: normal;
}


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;
}

.textBig {
    font-size: 1.7rem;
    /*letter-spacing: 0.2rem;*/
    line-height: 2;
}

.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;
}

/*単純に文字色変更*/
.colorDesign {
    color: #ef6c50;
}

.colorNursing {
    color: #3fafab;
}

@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;
}

.catchCopySmall {
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.05rem;
    line-height: 1.4;
}

.catchCopyBig {
    font-size: 3.5rem;
    font-weight: bold;
    letter-spacing: 0.05rem;
    line-height: 1.4;
}

@media only screen and (max-width:768px) {
    .catchCopy {
        font-size: 2.1rem;
    }

    .catchCopySmall {
        font-size: 1.7rem;
    }

    .catchCopyBig {
        font-size: 2.8rem;

    }
}

/***リスト系***/
.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 15px 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 {
    position: relative;
}

.backgroundCommon:after {
    position: absolute;
    z-index: -3;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #f4f2ed;
    content: '';
}

.backgroundCommonTriangle {
    position: relative;
    margin: 200px 0 0;
}

.backgroundCommonTriangle:before {
    position: absolute;
    z-index: -3;
    top: -200px;
    left: 0;
    display: block;
    width: 100%;
    height: 200px;
    background: linear-gradient(to bottom right, transparent 0%, transparent 50%, #f4f2ed 50%, #f4f2ed 100%);
    content: '';
}

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

    .backgroundCommonTriangle:before {
        top: -100px;
        height: 100px;
    }

}

.backgroundCommonGray {
    position: relative;
}

.backgroundCommonGray:after {
    position: absolute;
    z-index: -4;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #f1f0f0;
    content: '';
}

/*カード上の囲い*/
.hasImageCard {
    border: 2px solid #d8d0c3;
}
.hasImageCardInner {
    padding: 25px;
}

.cardLinksWrap li {
    margin: 0 12px 12px 0;
}

.cardLinksWrap li:nth-of-type(2n) {
    margin: 0 0 12px 0;
}


@media only screen and (max-width:768px) {
    .cardLinksWrap li {
        margin: 0 0 12px 0;
    }

    .cardLinksWrap li:nth-of-type(2n) {
        margin: 0 0 0 12px;
    }
}

/***ページ区切り***/
.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: 15%;
    padding: 16px;
    font-size: 1.45rem;
    line-height: 2;
    background: #f4f2ed;
    border-right: 1px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dlTableSimpleDesign dt {
    background: #FCCCB2;
}

.dlTableSimpleNursing dt {
    background: #C6CBE5;
}

.dlTableSimple dd {
    width: 80%;
    padding: 16px;
    font-size: 1.45rem;
    line-height: 2;
    background: #fff;
}

.dlTableSimpleItemSpacer {
    margin: 10px 0;
    border-top: 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%;
    }

}

/***レイアウト***/
.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;
}

.flexColPc2Sp1ItemSmall {
    width: calc(100% / 2 - 45px);
    margin: 0 0 45px 0;
}

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

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

    .flexColPc2Sp1Item,
    .flexColPc2Sp1ItemSmall {
        width: 100%;
    }

    .flexColPc2Sp1Item:nth-of-type(2n),
    .flexColPc2Sp1ItemSmall: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%;
}

.flexItem50perSp100Per {
    width: 50%;
}

.flexItem45PerSp100Per {
    width: 45%;
}

.flexItem48PerSp100Per {
    width: 48%;
}

.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,
    .flexItem50PerSp100Per,
    .flexItem48PerSp100Per,
    .flexItem45PerSp100Per,
    .flexItem40PerSp100Per,
    .flexItem35PerSp100Per,
    .flexItem30PerSp100Per,
    .flexItem25PerSp100Per {
        width: 100%;
    }

    .flexItem50perSp100Per {
        width: 100%;
    }

}

/***googleMap埋め込み*/
.googleMap {
    width: 100%;
    position: relative;
    padding-top: 62.25%;
}

.googleMap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


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

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

.formText {
    min-width: 300px;
    width: 100%;
    padding: 10px 50px 10px 20px;
    font-size: 1.45rem;
    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) {}

/***リンク***/
/*下線がつくリンク*/
.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-of-type {
  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;
    line-height: 1.4;
    letter-spacing: 0.3rem;
    text-decoration: none;
}

.newWindow {
    font-size: 1.45rem;
    letter-spacing: 0.05em;
}


.linkNewWindow {
    font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Quicksand, '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, sans-serif;
    transition: opacity 0.5s;
    text-decoration: underline;
}

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

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

.newWindowGray {
    font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Quicksand, sans-serif;
    display: inline-flex;
    align-items: center;
    font-size: 1.35rem;
}

.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 3px 0px;
    margin-left: 5px;

}

/*別タブで開く。テキストのすぐ後ろでなくブロックの一番後ろにつける*/
.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;
}
.pageSitemap .linkToPage {
    letter-spacing: normal;

}

.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;
  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;
}


/*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.1rem;
    text-decoration: none;
}

.linkArrowWrapSmall {
    font-size: 1.45rem;
}



.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: 0px;
    bottom: 0;
    /* 全て小さいものに統一した
  right: 15px;
  width: 20px;
  */
    right: 8px;
    width: 12px;
    height: 2px;
    margin: auto;
    background: #181000;
    content: '';
    transition: background-color 0.2s;
}

.linkArrow:after,
.linkArrowStatic:after,
.linkArrowStaticVertical:after {
    position: absolute;
    top: -7px;
    /* 全て小さいものに統一した
  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,
.linkToPage:focus:before,
.linkArrowStatic:hover:before,
.linkArrowStatic:focus:before,
.linkArrowStaticVertical:hover:before,
.linkArrowStaticVertical:focus:before {
    background: #02C0BD;
}

.linkToPage:hover:after,
.linkToPage:focus: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;
}

.linkPdfWithHeadLine {
    text-decoration: underline;
    transition: opacity 0.5s;
}


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



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

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

.linkPdf:after,
.linkPdfWithHeadLine: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;
}

.linkToggle {
    font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.1rem;
    text-decoration: none;
    cursor: pointer;
}

.linkToggle:after {
    content: '＋';
    /*border: 1px solid #000;*/
    margin: 0 0 0 5px;
    padding: 0 5px 0;
    font-size: 1.8rem;
    line-height: 0;
}

.linkToggleActive:after {
    content: 'ー';
    border: none;
}

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

/*リンクじゃないが、リンクと並べたいテキスト*/
.noLink {
    display: inline-block;
    font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.1rem;
    text-decoration: none;
    color: darkgray;
}

/*lightbox*/
.lightBoxMarker {
    cursor: pointer;
}


.lightBoxMarker:after {
    content: '＋';
    padding: 0 0 0 10px;
    color: #181000;
    font-size: 1.8rem;
}


.lightBoxMarker:hover:after,
.lightBoxMarker:focus:after {
    color: #02C0BD;
}

.lightBoxModal {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    background: rgba(255, 255, 255, 0.95);
}

.lightBoxModalInner {
    width: 90%;
    margin: 40px auto;
}

.lightBoxModalClose {
    position: fixed;
    z-index: 1001;
    top: 30px;
    right: 30px;
    font-size: 48px;
    font-weight: bold;
    cursor: pointer;
    color: #181000;
}

.lightBoxModalClose:hover,
.lightBoxModalClose:focus {
    color: #02C0BD;
}

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

.hoverOpacity:hover,
.hoverOpacity:focus,
.hoverOpacity a: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;
}

/*パンくずリスト*/
/*謝って2パターンのクラスを用意してしまった。どちらかに統合すべき*/
.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;
}

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

.breadcrimbItem {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.breadcrimbItem:after {
    content: '>';
    padding: 0 15px;
}

.breadcrimbItem a {
    text-decoration: underline;
}

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

.breadcrimbItem:last-child:after {
    content: none;
}

@media only screen and (max-width:768px) {
    .breadcrimbItem {
        font-size: 1.2rem;
    }
}



.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;
}

.inPageNavGray {
    width: 100%;
    padding: 47px 0;
    background: #E8E8E8;
}

.inPageNavHasVisual {
    margin: 0 0 0;
}

.inPageNavSub {
    width: 100%;
}

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

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

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

.inPageNavInner a,
.inPageNavInner p {
    display: block;
    margin: 0 25px 13px 0;
}

.inPageNavGrayInner p,
.inPageNavGrayInner a {
    display: block;
    margin: 0 25px 13px 0;
}

.inPageNavGrayInner li:last-of-type p,
.inPageNavGrayInner li:last-of-type a {
    margin: 0 0 13px 0;
}



.inPageNavInner a.linkSeparate,
.inPageNavInner p.linkSeparate {
    margin: 0 0 13px 0;
}

.inPageNavInner p.linkToggle {
    margin-right: 20px !important;
}

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

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

.inPagePallarax {
    position: absolute;
    width: 126px;
    height: 100%;
    top: 0;
    right: 0;
    background-position: left;
}

.inPagePallaraxLeft {
    background-position: 0 50%;
    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;
    }

    .inPageNavHasVisual {
        margin: 0 0 0;
    }

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

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


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

    .inPageNavInner a:last-child,
    .inPageNavSubInner a:last-child {
        border-right: none;
    }

    .inPagePallaraxBg {
        opacity: 0.7;
    }

    .inPagePallarax01 {
        width: 30%;
    }

    .inPagePallarax02 {
        width: 35%;

    }

}

.illustBg {
    width: 100%;
    background: url("./assets/images/illustBg.png") no-repeat;
    background-size: contain;
    padding: 0 0 15px;
}

.illustBgNursing {
    background: url("./assets/images/illustBgNursing.png") no-repeat;
}

.illustBgNursingImage {
    max-width: 550px;
    margin: 0 auto;
}

@media only screen and (max-width:768px) {
    .illustBg {
        background-size: cover;
        background-position: center;
    }
}

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

/* タグから記事内容を取ってきて表示するショートコードの中身
* なるべくsingle.phpの中身と一致させたいが、single.phpを読むと干渉するのと余白等のバランスが違うのでやむをえずここに書く
*/
.researchGuidanceBox .newsContentFromTagWrap {
    padding: 30px 0 55px;
    border-bottom: 1px solid #000;
}

.researchGuidanceBox .newsContentFromTagWrap:last-of-type {
    border-bottom: none;
}


.researchGuidanceBox h3 {
    margin: 40px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.2rem;
}

.researchGuidanceBox h3:before {
    display: block;
    width: 16px;
    height: 9px;
    margin: 3px 15px 0 0;
    background: #d8d0c3;
    content: '';
}

.researchGuidanceBoxDesign .newsContentFromTagWrap h3:before {
    background: #ef6c50;
}

.researchGuidanceBoxNursing .newsContentFromTagWrap h3:before {
    background: #3fafab;
}

.researchGuidanceBoxAit .newsContentFromTagWrap h3:before {
    background: #3e4886;
}

.newsContentFromTagWrap p {
    font-size: 1.45rem;
    letter-spacing: 0.2rem;
    line-height: 2;
}

.newsContentFromTagWrap ul {
    margin: 20px 0;
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 0.07em;
    line-height: 1.7;
}

.newsContentFromTagWrap ul li {
    margin: 0 0 15px;
    list-style-type: disc;
    list-style-position: inside;
}

/* 学長メッセージ */
.presidentMessageOld {
    margin: 0 0 30px;
}

/*学部・研究科・専攻科ページレイアウト*/
.inPageTopImageForPages {
    position: relative;
    margin: 86px 0 -40px;
}

.inPageTopImageForPages img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: auto;
}

.headlineDepartment {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 140px;
    margin: auto 0;
    padding: 25px 50px;
    background: #FFF;
    border: 7px solid #D36458;
    border-left: none;
}

.headlineDepartmentTop {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    text-align: center;
}

.headlineDepartmentTop img {
    width: 100%;
    /* max-width: 1000px; */
    height: 100%;
    object-fit: cover;
    object-position: right bottom;
}

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

.headlineDepartmentBack:before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(10px);
}

.headlineDepartmentBack img {
    position: relative;
    width: 120%;
    max-width: none;
    height: 100%;
    z-index: -2;
    object-fit: cover;
}

.headlineDepartment {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 140px;
    margin: auto 0;
    padding: 25px 50px;
    background: #FFF;
    border: 7px solid #D36458;
    border-left: none;

    max-height: 130px;
    padding: 20px 40px;
}

.headlineDepartmentNursing {
    border-color: #00a190;
}

.headlineDepartmentAit {
    border-color: #3D478A;
}

.headlineDepartmentThirdlevel {
    max-height: 180px;
}

.inPageTopImageForPages img.headlineDepartmentPictDesign {
    width: 65px;
}

.inPageTopImageForPages img.headlineDepartmentPictNursing {
    width: 82px;
}

.inPageTopImageForPages img.headlineDepartmentPictAit {
    width: 60px;
}

.headlineDepartmentText {
    font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
    font-size: 3.4rem;
    font-weight: bold;
    letter-spacing: 0.07em;
    line-height: 1.4;
    margin: -10px 0 0 25px;
}

.headlineDepartmentText span {
    font-family: 'Barlow', sans-serif;
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.2;
}

@media only screen and (max-width:768px) {
    .inPageTopImageForPages {
        margin: 86px 0 -20px;
    }

    .headlineDepartment {
        position: relative;
        padding: 10px 20px;
        margin: 0 0 20px;
        border-width: 4px;
        border-left: none;
    }

    .headlineDepartmentText {
        font-size: 1.8rem;
        margin: -10px 0 0 25px;
    }

    .headlineDepartmentText span {
        font-size: 1.4rem;
    }

    .inPageTopImageForPages img.headlineDepartmentPictDesign {
        width: 40px;
    }

    .inPageTopImageForPages img.headlineDepartmentPictNursing {
        width: 40px;
    }

}

.courseBox {
    width: 47.7%;
    border: 1px solid #F8B500;
}
.courseBox:hover {
    opacity: 0.8;
}

.courseBoxNursing {
    width: 32%;
}


.courseBox a:hover .linkArrow:before,
.courseBox a:hover .linkArrow:after,
.courseBox a:focus .linkArrow:before,
.courseBox a:focus .linkArrow:after {
    background: #02C0BD;
}

.courseBox:hover .linkArrow:before,
.courseBox:hover .linkArrow:after,
.courseBox:focus .linkArrow:before,
.courseBox:focus .linkArrow:after {
    background: #02C0BD;
}


.courseBox dt {
    padding: 15px;
    letter-spacing: 0.085rem;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    border-bottom: 1px solid #F8B500;
    cursor: pointer;
}
.courseBox dt a {
    color: #D8644E;
}
.courseBoxNursing dt {
    font-size: 2.1rem;
}


.courseBox dt span {
    font-size: 2.6rem;
}

.courseBoxDesign:hover {
    opacity: 0.8;
}

.courseBoxDesign,
.courseBoxDesign dt {
    border-color: #D8644E;
}

.courseBoxNursing,
.courseBoxNursing dt {
    border-color: #3fafab;
}
.courseBoxNursing:hover {
    opacity: 0.8;
}
.courseBoxNursing .linkArrow:before {
    position: absolute;
    top: 5px !important;
    bottom: 0;
    right: 8px;
    width: 12px;
    height: 2px;
    margin: auto;
    background: #181000;
    content: '';
    transition: background-color 0.2s;
}

.courseBoxNursing .linkArrow:after {
    position: absolute;
    top: -2px !important;
    right: 8px;
    width: 6px;
    bottom: -3px;
    height: 2px;
    margin: auto;
    background: #181000;
    transform: rotate(45deg);
    content: '';
    transition: background-color 0.2s;
}

.courseBoxAit,
.courseBoxAit dt {
    color: #3e4886;
}

.courseBox dd {
    display: flex;
    justify-content: space-between;
}

.courseBoxNursing dd {
    display: block;
}

.courseImg {
    width: 280px;
}

.courseText {
    width: calc(100% - 280px);
}

/*ある程度の画面サイズ以下で左右の空白を保つ*/
@media screen and (max-width: 1050px) {
    .courseBox dd {
        justify-content: center;
        flex-wrap: wrap;
        margin: 20px 0 0;
    }
}


@media only screen and (max-width:768px) {
    .courseBox {
        width: 100%;
        margin: 0 0 20px;
    }

    .courseBox dd {
        display: block;
        text-align: center;
    }

    .courseBox dd img {
        margin: 20px auto 0;
    }

    .courseBox dd p {
        text-align: left;
    }

    .courseBox dt {
        font-size: 2.4rem;
    }

    .courseBox dt span {
        font-size: 1.6rem;
    }

    .courseBox .flex-between {
        display: block;
    }

    .courseImg {
        width: 100%;
    }

    .courseText {
        width: 100%;
    }

}

.departmentOtherBox {
    position: relative;
    display: flex;
    justify-items: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    border: 1px solid #F8B500;
    background: #FFF;
}

.departmentOtherBoxNursing {
    border-color: #3fafab;
}

.departmentOtherBoxImgMidwifery {
    position: absolute;
    top: -40px;
    /* 20230321_tsaito_mod
  right: 20px;*/
    right: 0px;
    width: 110px;
    height: auto;
}

.departmentOtherBoxImgMidwifery img {
    height: 100px;
}

.departmentOtherBoxHeadline {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15%;
    padding: 15px;
    border-right: 1px dotted #F8B500;
    font-size: 2.1rem;
    letter-spacing: 0.085em;
    line-height: 1.5;
}

.departmentOtherBoxNursing .departmentOtherBoxHeadline {
    border-color: #3fafab;
    color: #3fafab;
}


.departmentOtherBoxRight {
    width: 85%;
    padding: 15px 20px;
}

.departmentOtherBoxRight h3 {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

@media only screen and (max-width:768px) {
    .departmentOtherBoxHeadline {
        width: 100%;
        border-right: none;
        border-bottom: 1px dotted #F8B500;
    }

    .departmentOtherBoxNursing .departmentOtherBoxHeadline {
        border-color: #3fafab;
    }


    .departmentOtherBoxRight {
        width: 100%;
    }
}


.featureItem {
    width: calc(100% / 3 - 20px);
    margin: 40px 30px 0 0;
}

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

.featureItemCol2 {
    width: calc(100% / 3 * 2 - 20px);
    margin: 40px 30px 0 0;
}

.featureItemImg {
    width: 100%;
}


.featureItemTitle {
    margin: 20px 0 15px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

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

.featureItemNumber {
    padding: 1px 0 2px;
    font-size: 1.6rem;
    color: #FFF !important;
    letter-spacing: 0.2em;
    line-height: 1.6;
    text-align: center;
    background: #F8B500;
}


.featureItemDesign .featureItemNumber {
    background: #D8644E;
    color: #000;
}

.featureItemNursing .featureItemNumber {
    background: #3fafab;
    color: #000;
}

.featureItemAit .featureItemNumber {
    background: #3e4886;
    letter-spacing: 0.1em;
    font-size: 1.8rem;
    padding: 5px;
}

.featureItemNumber span {
    font-size: 2.1rem;
    color: #fff;
}

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

    .featureItem {
        width: 100%;
        margin: 40px 0 0 0;
    }
}

.departmentHumanItem {
    justify-content: space-between;
    align-items: flex-start;
}

.departmentHumanItemLeft {
    width: 145px;
}

.departmentHumanItemCenter {
    width: 526px;
}

.departmentHumanItemRight {
    width: 211px;
}

.departmentHumanItemLeftSmall {
    width: 145px;
}

.departmentHumanItemCenterSmall {
    width: 418px;
}

.departmentHumanItemRightSmall {
    width: 248px;
    text-align: center;
}

.departmentHumanItemRightMiddle {
    width: 248px;
    text-align: center;
}

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

    .departmentHumanItemCenter {
        width: 52%;
    }

    .departmentHumanItemRight {
        width: 24%;
    }

    .departmentHumanItemLeftSmall {
        width: 14%;
    }

    .departmentHumanItemCenterSmall {
        width: 48%;
    }

    .departmentHumanItemRightSmall {
        width: 25%;
    }
}

@media only screen and (max-width:768px) {
    .departmentHumanItem {
        justify-content: center;
    }

    .departmentHumanItemCenter,
    .departmentHumanItemRight,
    .departmentHumanItemCenterSmall,
    .departmentHumanItemRightSmall,
    .departmentHumanItemRightMiddle {
        width: auto;
        max-width: 100%;
    }

    .departmentHumanItemCenter,
    .departmentHumanItemCenterSmall {
        margin: 30px 0;
    }

    .departmentHumanItemLeft,
    .departmentHumanItemLeftSmall {
        width: 80%;
    }


}


.departmentHumanBox {
    padding: 80px 55px 40px 55px;
    background: #FFF;
}

.departmentDoubleBorderBox {
    display: flex;
    justify-items: flex-start;
    align-items: center;
    padding: 20px 0;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
}

.departmentDoubleBorderBoxHeadline {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 110px;
    height: 110px;
    background: #717071;
    color: #FFF;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.05em;
    border-radius: 100px;
}

.departmentDoubleBorderBoxHeadline span {
    color: #FFF;
}


.departmentDoubleBorderBoxCenter {
    width: 540px;
    margin: 0 0 0 60px;
}

.departmentDoubleBorderList {
    font-size: 2.0rem;
    letter-spacing: 0.1em;
    line-height: 1.4;
    list-style-type: disc;
}

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

.departmentDoubleBorderList li:last-of-type {
    margin: 0;
}

.departmentDoubleBorderBoxRight {
    width: 270px;
}

@media only screen and (max-width:768px) {
    .departmentHumanBox {
        padding: 40px 20px 20px 20px;
    }

    .departmentHumanItemLeft {
        display: block;
        margin: 0 auto 30px;
    }

    .departmentHumanItemRightSmall {
        margin: 0 auto;
    }

    .departmentDoubleBorderBox {
        flex-wrap: wrap;
        justify-content: center;
    }

    .departmentDoubleBorderBoxCenter {
        width: 100%;
        margin: 30px 0;
    }

    .departmentDoubleBorderBoxRight {
        width: 100%;
    }

    .departmentDoubleBorderList {
        width: 90%;
        margin: 30px auto;
        font-size: 1.8rem;
    }

}

.departmentSlickSlider {
    position: relative;
    max-width: 430px;
}

.slickSliderNext,
.slickSliderPrev {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    width: 36px;
    height: 26px;
    cursor: pointer;
    background: url(./assets/images/sliderIcon.svg) no-repeat;
}

.slickSliderNext:hover,
.slickSliderPrev:hover,
.slickSliderNext:focus,
.slickSliderPrev:focus {
    opacity: 0.7;
}

.slickSliderPrev {
    right: 40px;
    transform: rotateY(180deg);
}

.swiperSliderNext,
.swiperSliderPrev {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    width: 36px;
    height: 26px;
    cursor: pointer;
    background: url(./assets/images/sliderIcon.svg) no-repeat;
}

.swiperSliderNext:hover,
.swiperSliderPrev:hover,
.swiperSliderNext:focus,
.swiperSliderPrev:focus {
    opacity: 0.7;
}

.swiperSliderPrev {
    right: 40px;
    transform: rotateY(180deg);
}

/*
.departmentSlickSlider p,
.departmentSlickSlider p img {
  width: 100%;
}
*/

.designGraduateSchoolSquareBtn {
    display: block;
    width: 460px;
    color: #fff;
    font-size: 2.5rem;
    font-weight: 500;
    text-align: center;
    background: #ef6c50;
    margin: 0 auto;
    padding: 20px 0;
    border-radius: 5px;
}

.designGraduateSchoolSquareBtn a {
    color: #fff !important;
}


@media only screen and (max-width:768px) {
    .designGraduateSchoolSquareBtn {
        max-width: 80%;
        font-size: 2.0rem;
        padding: 20px;
    }
}

/*教員一覧*/
.teacherListHeadline {
    width: 100%;
    font-size: 3.4rem;
    font-weight: bold;
    font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP';
    letter-spacing: 0.07em;
    line-height: 1.4;
    color: #FFF;
}

.teacherListHeadline:nth-of-type(n+2) {
    margin: 80px 0 0;
}

.teacherListHeadlineDesign {
    background: url(./assets/images/teacherListDesignBg.png) no-repeat;
    background-size: 100%;
}

.teacherListHeadlineNursing {
    background: url(./assets/images/teacherListNursingBg.png) no-repeat;
    background-size: 100%;
}

.teacherListHeadlineAit,
.teacherListHeadlineOther {
    background: url(./assets/images/teacherListCommonBg.png) no-repeat;
    background-size: 100%;
}

.teacherListHeadline .inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 6% 0;
}

.teacherListHeadlineAit .inner,
.teacherListHeadlineOther .inner {
    padding: 2% 0;

}

.teacherListHeadline span {
    font-size: 2.2rem;
    color: #FFF;
    padding: 0 0 0 35px;
    align-self: bottom;
}


.teacherListHeadline img {
    max-width: 60px;
    height: 130%;
    margin: 0 35px 0 0;
}


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

.teacherListCard {
    width: calc(100% / 5 - 24px);
    padding: 25px 5px;
    margin: 0 30px 60px 0;
    font-size: 2.3rem;
    letter-spacing: 0.1em;
    text-align: center;
    border-bottom: 2px solid #828283;
}

.teacherListCard:hover,
.teacherListCard:focus {
    background: #f4f2ed;
    border-bottom: 2px solid #FFF;
}


.teacherListCardDesign:hover,
.teacherListCardDesign:focus {
    border-bottom: 2px solid #ef6c50;

}

.teacherListCardNursing:hover,
.teacherListCardNursing:focus {
    border-bottom: 2px solid #3fafab;

}

.teacherListCardAit:hover,
.teacherListCardAit:focus {
    border-bottom: 2px solid #3e4886;
}

.teacherListCard span {
    display: block;
    padding: 10px 0 0;
    font-size: 1.1rem;
    font-family: 'Barlow', sans-serif;
    color: #756f66;
    letter-spacing: 0.2em;
}

.teacherListCard span.teacherListCardDuty {
    font-size: 1.5rem;
}

.teacherListCard:nth-of-type(5n) {
    margin: 0 0 60px 0;
}


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

    .teacherListHeadline {
        background-size: cover;
    }

    .teacherListHeadline span {
        padding: 0;
    }

    .teacherListHeadline img {
        margin: 0 5px 0 0;
    }

    .teacherListHeadline .inner {
        flex-wrap: wrap;
        padding: 10% 0;
    }

    .teacherListHeadlineAit .inner,
    .teacherListHeadlineOther .inner {
        padding: 5% 0;

    }

    .teacherListCard {
        width: calc(100% / 2 - 24px);
        padding: 25px 5px;
        font-size: 2rem;
    }

    .teacherListCard:nth-of-type(5n) {
        margin: 0 30px 60px 0;
    }

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


}

.profileEnglishArea {
    padding: 150px 0;
}

.profileAreaBasic {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    background: url(./assets/images/profileBgGray.png) right 30% no-repeat;
}

.profileEnglishArea .profileAreaBasic {
    background: url(./assets/images/profileBgWhite.png) right 30% no-repeat;
}

.profileAreaBasicImage {
    width: 290px;
    text-align: center;
    margin: 12px 0 0;
}

.profileAreaBasicItem {
    width: calc(100% - 345px);
    margin: 0 0 0 40px;
}

.profileAreaBasicName {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    font-size: 3.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.4;
    padding: 0 0 10px;
    border-bottom: 1px solid #474033;
}

.profileAreaBasicName span {
    font-size: 2rem;
    color: #a39f99;
    font-family: 'Barlow', sans-serif;
}

.profileAreaPostion {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    line-height: 1.4;
    color: #181000;
}

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

.profileAreaBasicDl01 dt {
    width: 80px;
}

.profileAreaBasicDl01 dd {
    width: calc(100% - 80px);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}

.profileEnglishArea .profileAreaBasicDl01 dt {
    width: 120px;
}

.profileEnglishArea .profileAreaBasicDl01 dd {
    width: calc(100% - 120px);
}

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

.profileAreaBasicDl02 dt {
    width: 60px;
    padding: 3px 0;
    font-size: 1.3rem;
    background: #cccccc;
    text-align: center;
    line-height: 1;
}

.profileAreaBasicDl02 dd {
    width: calc(100% - 80px);
    margin: -7px 0 0 20px;
    /*background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 0) 100%);*/
}

.profileAreaKeyword {
    position: relative;
    z-index: -3;
    padding: 35px 70px;
    border: 4px solid #b4b4b5;
}

.profileAreaKeywordHeadline {
    position: absolute;
    z-index: -2;
    top: -22px;
    padding: 8px 10px 8px 15px;
    font-size: 2.2rem;
    letter-spacing: 0.18em;
    background: #000;
    color: #FFF;
}

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

.profilePict {
    position: absolute;
    z-index: -1;
    top: -100px;
    right: 10px;
    height: 130px;
}

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

.profileYoungText {
    margin: 0 40px 0 0;
    width: calc(100% - 340px);
}

.profileYoungImage {
    max-width: 300px;
    text-align: left;
}

.profileContent .roma {
    height: 1.45rem;
    vertical-align: middle;
}

.profileContent strong,
.profileContent b {
    font-weight: bold;
    font-size: 1.55rem;
}

.profileContent img[class^=”wp-image”] {
    margin: 20px 0 0;
}

.profileToggle {
    position: relative;
    height: 12em;
    overflow: hidden;
}

.profileToggle:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
}

.profileEnglishArea .profileToggle:before {
    background: linear-gradient(to bottom, rgba(241, 240, 240, 0), rgba(241, 240, 240, 1));

}

.profileToggleOpen {
    width: 65px;
    margin: auto;
    margin: 60px auto 0;
    padding: 20px 0 0;
    border-top: 1px solid #474033;
    font-size: 2.6rem;
    cursor: pointer;
    text-align: center;
}

.profileToggleOpen:hover,
.profileToggleOpen:focus {
    color: #69afe7;
}

@media only screen and (max-width:768px) {
    .profileAreaBasic {
        background-position: right 40%;
    }

    .profileEnglishArea .profileAreaBasic {
        background-position: right 40%;
    }

    .profileAreaBasicItem {
        width: 100%;
        margin: 40px 0 0;
    }

    .profileAreaBasicDl02 dt {
        width: 100%;
    }

    .profileAreaBasicDl02 dd {
        width: 100%;
        margin: 10px 0 20px;
    }

    .profileAreaKeyword {
        padding: 35px 25px;
    }

    .profileAreaKeywordText {
        font-size: 2.1rem;
    }

    .profilePict {
        top: -60px;
        right: 0;
        height: 80px;
    }

    .profileYoungText {
        margin: 0 0 20px 0;
        width: 100%;
    }

    .profileYoungImage {
        text-align: center;
    }

    .profileToggleOpen {
        margin: 0 auto;
    }

}


/*施設紹介ページ*/
.map {
    position: relative;
}

.mapBase {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
}

.mapBaseSp {
    display: none;
}

.mapMarker {
    position: absolute;
    cursor: pointer;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    text-decoration: underline;
    /*text-shadowだと何故かガタつく
  text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff;*/
    background: linear-gradient(0deg, transparent 0%, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 1) 60%, transparent 100%);
}

.mapMarker:hover,
.mapMarker:focus {
    opacity: 0.7;
}

.mapDesign .mapMarker01 {
    top: 310px;
    left: 700px;
}

.mapDesign .mapMarker02 {
    top: 170px;
    left: 275px;
}

.mapDesign .mapMarker03 {
    top: 220px;
    left: 170px;
}

.mapDesign .mapMarker04 {
    top: 280px;
    left: 95px;
}

.mapDesign .mapMarker05 {
    top: 305px;
    left: 105px;
}

.mapDesign .mapMarker06 {
    top: 295px;
    left: 415px;
}

.mapDesign .mapMarker07 {
    top: 220px;
    left: 540px;
}

.mapDesign .mapMarker08 {
    top: 125px;
    left: 520px;
}

.mapDesign .mapMarker09 {
    top: 390px;
    left: 475px;
}

.mapDesign .mapMarker10 {
    top: 480px;
    left: 450px;
}

.mapNursing .mapMarker01 {
    top: 355px;
    left: 545px;
}

.mapNursing .mapMarker02 {
    top: 370px;
    left: 145px;
}

.mapNursing .mapMarker03 {
    top: 510px;
    left: 695px;
}

.mapNursing .mapMarker04 {
    top: 435px;
    left: 305px;
}

.mapNursing .mapMarker05 {
    top: 150px;
    left: 560px;
}

.mapNursing .mapMarker06 {
    top: 450px;
    left: 755px;
}

.mapNursing .mapMarker07 {
    top: 495px;
    left: 435px;
}

.mapNursing .mapMarker08 {
    top: 185px;
    left: 270px;
}

.mapMarker span {
    display: inline;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin: 0 0 0 5px;
}

.mapDetail {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100000;
    background: rgba(255, 255, 255, 0.95);
    width: 100vw;
    height: 100vh;
    padding: 30px 15%;
    box-sizing: border-box;
    overflow-y: scroll;
}

.mapDetailPh {
    text-align: center;
    margin: 0 0 30px;
}

.mapDetail p {
    font-size: 1.8rem;
    line-height: 1.8;
}

.mapDetail p.js-close {
    position: fixed;
    top: 20px;
    right: 20px;
    font-size: 7rem;
    font-weight: bold;
    cursor: pointer;
}

.mapDetail p.js-close:hover,
.mapDetail p.js-close:focus {
    opacity: 0.6;
}

.mapDetailShow {
    animation: 0.5s ease-in-out opacityShow;
}

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

    100% {
        opacity: 1;
    }
}

.mapGuide {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 0 0 30px;
}

.mapGuide .mapMarker {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 10px 10px 0;
    font-weight: bold;
}

.mapGuide .mapMarker img {
    width: 28px;
    height: 28px;
}

.mapGuide .mapMarker span {
    display: inline;
    font-size: 1.6rem;
    margin: 0 0 0 5px;
}

@media only screen and (max-width:999px) {
    .map {
        display: flex;
        flex-wrap: wrap;
    }

    .mapBase {
        display: none;
    }

    .mapBaseSp {
        display: block;
        width: 100%;
    }

    .mapMarker {
        display: none;
    }

    .mapGuide .mapMarker {
        position: relative;
        top: 0;
        left: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        margin: 10px 15px 0 0;
        font-weight: bold;
    }

    .mapMarker img {
        height: 3rem;
    }

    .mapMarker span {
        display: inline;
        font-size: 1.4rem;
        margin: 0 0 0 5px;
    }


    .mapDetail {
        padding: 5%;
        overflow-y: scroll;
    }

    .js-close {
        top: 5px;
        font-size: 60px;
    }



    .mapDetailPh img {
        max-width: 100%;
    }

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

}

.interviewLesson {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    padding: 20px;
}

.interviewLessonDesign {
    background: #E4390F;
    color: #FFF;
}

.interviewLessonNursing {
    background: #DCDEEE;
    color: #231815;
}

.interviewLessonLeft {
    width: 150px;
}

.interviewLessonRight {
    width: 100%;
    margin: 20px 0 0;
}

.interviewLessonHeadline {
    font-size: 2.1rem;
    letter-spacing: 0.05em;
    line-height: 1.2;
    font-weight: bold;
}

.interviewLessonHeadlineNursing {
    color: #3E63A6;
}

.interviewLessonTextDesign p {
    color: #FFF;
}

@media only screen and (min-width:767px) {
    .interviewLessonLeft {
        width: 150px;
    }

    .interviewLessonRight {
        width: calc(100% - 190px);
        margin: 0 0 0 40px;
    }

}

/*先進的な取り組み*/
.innovationPointBox {
    position: relative;
    border: 20px solid #d8dae7;
    padding: 50px;
    background: #FFF;
}

.innovationPointHeadline {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    width: 360px;
    max-width: 100%;
    padding: 10px 25px;
    margin: auto;
    font-size: 2.0rem;
    letter-spacing: 0.2em;
    text-align: center;
    color: #FFF;
    background: #3e4886;
}

.innovationPointList {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding: 20px 0;
    color: #3e4886;
    border-bottom: 1px dotted #3e4886;
}

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


.innovationPointList dt {
    position: relative;
    width: 100px;
    font-size: 2rem;
    letter-spacing: 0.2em;
    text-align: center;
    font-weight: bold;
    font-family: 'Barlow', sans-serif;
}

.innovationPointList dt:before,
.innovationPointList dt:after {
    position: absolute;
    top: 0;
    right: 0;
    height: 52%;
    border-right: 1px solid #3e4886;
    content: '';
}

.innovationPointList dt:before {
    top: 0;
    transform: rotate(-20deg);
}

.innovationPointList dt:after {
    top: auto;
    bottom: 0;
    transform: rotate(20deg);
}

.innovationPointList dt span {
    display: block;
    padding: 10px 0 0;
    font-size: 3rem;
    color: #3e4886;
}

.innovationPointList dd {
    width: calc(100% - 130px);
    margin: 0 0 0 30px;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

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

    .innovationPointList dt {
        width: 100%;
    }

    .innovationPointList dt span {
        display: inline;
    }

    .innovationPointList dd {
        width: 100%;
        margin: 20px 0 0;
    }

}

.innovationRouteWrap {
    position: relative;
    max-width: 890px;
    margin: 0 auto;
}

.innovationRouteWrap:before {
    position: absolute;
    z-index: -1;
    left: 60px;
    display: block;
    width: 3px;
    height: 95%;
    content: '';
    background: #3e4886;
}

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

.innovationRouteColCenter {
    align-items: center;
}

.innovationRouteCol dt {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 120px;
    height: 120px;
    border-radius: 120px;
    background: #3e4886;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.08em;
    list-style: 1.5;
}

.innovationRouteCol dt .innovationRouteColYear {
    font-size: 2.4rem;
    text-align: center;
}

.innovationRouteCol dt .innovationRouteColYear span {
    font-size: 1.7rem;
    color: #FFF;
    text-align: center;
}

.innovationRouteCol dd {
    width: calc(100% - 160px);
    margin: 0 0 0 40px;
}

.innovationRouteHeadline {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 1.9rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #3e4886;
}

.innovationRouteHeadline:before {
    content: '●';
    color: #b2b6cf;
}

@media only screen and (max-width:768px) {
    .innovationRouteWrap:before {
        display: none;
    }

    .innovationRouteCol dt {
        width: 100%;
        height: auto;
        padding: 15px 0;
    }

    .innovationRouteCol dd {
        width: 100%;
        margin: 20px 0 0;
    }

}

.inquirypamph {
    display: flex;
    justify-content: space-between;
}
.pamphJa {
    width: 40%;
}
@media only screen and (max-width:768px) {
    .inquirypamph {
        display: block;
    }
    .pamphJa {
        width: 100%;
        text-align: center;
    }
    .pamphEn {
        width: 100%;
        text-align: center;
    }
}

.js-profileToggle li {
    text-indent: -1em;
    padding-left: 1em;
}

/** Englishページ用 2023-03-31_tsaito_add **/
html[lang=en] * {
    word-break: normal;
}

/** 理念・特徴・目的 2024-01-12_azuma_add **/
.philosophy .headlining {
    padding-left: 2em;
}
.philosophy .headlining2 {
    padding-left: 1em;
}
.philosophy .headlineWithCircleLeft:before {
    margin: 0 5px 0 0;
}


/** 留学体験記 フィンランド ラップランド大学 2024-01-19_azuma_add **/

.studyStayHalf {
    width: 50%
}
.studyStayThirty {
    margin-left: 30px;
}
.studyStayThirty .half {
    width: 47%;
}

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

    .studyStayFlex {
        display: block !important;
    }

    .studyStayHalf {
        width: 100% !important;
    }

    .studyabroad .listNumber li {
        margin: 0 0 15px 20px;
    }
    .studyabroad .headlineWithCircleLeft {
        padding-left: 0
    }

    .studyStayThirty {
        margin-left: 0;
    }
    .studyStayThirty .half {
        width: 90%;

    }
    .studyStayThirty .half figure {
        padding: 0 !important;
    }
}

/** 看護学研究科　入試関連情報 2024-04-30_azuma_add **/

.borderBoxNursing {
    border: 2px solid #3fafab;
    font-weight: 500;
}
.fontMB {
    font-family: '游ゴシック', '游ゴシック体', 'Yu Gothic', YuGothic, 'Noto Sans JP';
    font-weight: 700;
}


/** 卒業後の進路 2024-06-14_azuma_add **/

.futurePathW {
    width: 31%;
}

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

    .futurePathW {
        width: 100%;
    }

    .futurePathflex {
        display: block;
    }

}
/** 看護コンソーシアム 2024-10-03_azuma_add **/

.consortium_kakomi {
    border: 1px solid #3fafab;
    flex-grow: 1;
}

.consortium_kakomiBlue {
    border: 1px solid #0a6763;
    flex-grow: 1;
}

.consortium_kakomiYellow {
    border: 1px solid #FFD800;
    flex-grow: 1;
}

.consortium_jisage li {
    text-indent: -1em;
    padding-left: 1em;
    list-style-type: none;
}
.featureItemConsortium {
    display: flex;
    width: calc(100% / 2 - 30px);
    margin: 40px 30px 0 0;
    flex-direction: column;
}

dl.consortium_content {
    display: flex;
    flex-direction: row;
}

dl.consortium_content dt,
dl.consortium_content dd {
    display: inline-block;
    vertical-align: top;
}

dl.consortium_content dt {
    width: 75px;
    /* 適宜調整：幅を揃える */
    font-weight: bold;
}

dl.consortium_content dd {
    width: calc(100% - 75px);
}

.featureItemNursing .featureItemNumber.consortiumBgBlue {
    background: #0a6763;
    color: #FFF;
}
.featureItemNursing .featureItemNumber.consortiumBgYellow {
    background: #FFD800;
    color: #000000 !important;
}
.consortiumReskillingArea {
    background: #3fafab;
    color: #FFF;
    padding: 20px;
}
.consortiumReskillingArea a {
    color: #FFF;
}
.consortiumReskillingArea p {
    color: #FFF;
}
.consortiumReskillingTitle {
    font-size: 2rem;
}
nav.consortiumcont {
    margin: 0 auto 80px;
    width: 750px;
}

nav.consortiumcont ul {
    display: flex;
    /* justify-content: space-between; */
    flex-wrap: wrap;
}

nav.consortiumcont li {
    text-align: center;
    width: 250px;
}

nav.consortiumcont li a {
    border-right: 1px solid #595757;
    display: block;
    font-size: 16px;
    line-height: 50px;
}

nav.consortiumcont li:nth-child(1) a {
    border-top: 1px solid #595757;
    border-left: 1px solid #595757;
    border-bottom: 1px solid #595757;
}

nav.consortiumcont li:nth-child(2) a,
nav.consortiumcont li:nth-child(3) a {
    border-top: 1px solid #595757;
    border-bottom: 1px solid #595757;
}

nav.consortiumcont li:nth-child(3) a,
    {
    border-right: 1px solid #595757;
}

nav.consortiumcont li:nth-child(4) a {
    border-bottom: 1px solid #595757;
    border-left: 1px solid #595757;
}
nav.consortiumcont li:nth-child(5) a {
    border-bottom: 1px solid #595757;
    border-right: 1px solid #595757;
}
nav.consortiumcont li:nth-child(6) a {
    border-bottom: 1px solid #595757;
    border-right: 1px solid #595757;
}







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

    .featureItemConsortium {
        display: block;
        width: 100%;
    }

}





/** 保健師養成課程 2024-10-28_azuma_add **/

.publicHealthNursing h1.headlineScrollUnderline.headlineScrollUnderlineLeft {
    display: none;
}
.publicHealthNursing nav.breadcrimb {
    display: none;
}
.publicHealthNursing nav.inPageNav {
    display: none;
}
.headlinePublicHealthNursing {
    color: #3fafab;
    font-size: 3.2rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catchPublicHealthNursing {
    color: #3fafab;
    font-size: 2.4rem;
    line-height: 2;
}
.jisage li {
    text-indent: -1em;
    padding-left: 1em;
    list-style-type: none;
}
.inPageTopImageForPages.publicHealthNursing {
    top: -100px;
}
.tableWrapper.PublicHealthNursing th {
    color: #FFF;
    background: #3fafab;
}
.tableWrapper th.palegreen,
.tableWrapper td.palegreen {
    color: #FFF;
    background: rgba(63, 175, 171, 1);
}

.PublicHealthNursingHeadline {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.2rem;
}
.PublicHealthNursingheadlineWithCircleLeft {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    color: #3fafab;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 0 20px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05rem;
}

.headlineBothCircle.headlineBothCircleNursing.bothcirclephn {
    display: flex;
    justify-content: flex-start;
    font-size: 2.2rem;
}




@media only screen and (max-width:768px) {
    .headlinePublicHealthNursing {
        font-size: 2.4rem;
    }

    .headlineBothCircle.headlineBothCircleNursing.bothcirclephn {
        display: flex;
        justify-content: center;
        font-size: 2.2rem;
    }
    .tableWrapper.PublicHealthNursing th {
        display: none;
    }
    .tableWrapper.PublicHealthNursing td {
        padding: 10px;
        border: solid 1px #ccc;
        text-align: center;
        box-sizing: border-box;
    }
    .tableWrapper.PublicHealthNursing td {
        width: 100%;
    }
    .tableWrapper.PublicHealthNursing1 td {
        display: block;
        width: 100%;
        border-bottom: none;
    }
    .tableWrapper.PublicHealthNursing td {
        padding: 0px 12px 0 0;
        display: block;
        width: 100%;
        line-height: 2.5;
        text-align: left;
    }
    .tableWrapper.PublicHealthNursing td:before {
        content: attr(data-label);
        font-weight: bold;
        padding: 0px 10px;
        display: inline;
        background: #3fafab;
        color: #fff;
        margin-right: 10px;
        float: left;
    }
    .tableWrapper.PublicHealthNursing1 tr:last-child {
        border-bottom: solid 1px #ccc;
    }
    .tableWrapper.PublicHealthNursing .palegreen {
        text-align: center;
        font-weight: bold;
        font-size: 1.5rem;

    }
}

/** 保健師養成課程TOPバナー 2025-10-01_azuma_add **/
@media only screen and (max-width:768px) {
    .specialBanner img{
        width: 90%!important;
    }
}