@charset "UTF-8";

body {
    font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-family: "Noto Sans JP", sans-serif;
    font-family: "rera", sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: .08rem;
    color: #333;
    background-image: url("img/body-imitation.webp");
    background-repeat: repeat-y;
    background-size: 4%;
    background-position: calc((100% - 1200px) / 2 - 80px);
    background-origin: center;
}

*{
    position: relative;
    box-sizing: border-box;
}

.content-wrap{
    margin: auto;
    padding: 1rem;
    max-width: 1200px;
}

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

.flex-inner-left{
    width: 40%;
}
.flex-inner-right{
    width: 60%;
}

/*--------------ヘッダー--------------*/
header {
    width: 100%;
}
.head-container {
    position: static;
    padding-top: 2rem;
    margin: auto;
    width: 100%;
}
.head-container::before {
    position: absolute;
    content: '';
    margin: auto;
    width: 100%;
    max-width: 1260px;
    height: 140%;
    background-color: rgba(101, 76, 155, 0.2);
    border-radius: 50%;
    left: 0;
    right: 0;
    bottom: -65px;
}
header::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 800px;
    height: 150px;
    border-radius: 0 0 100% 0;
    background-image: url("img/header-asset-white.webp");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: left top;
    z-index: 20;
}
header::after {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    width: 1600px;
    height: 140px;
    border-radius: 0 0 0 100% ;
    background-image: url("img/header-asset-purple.webp");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: right top;
    z-index: 10;
}
/*----------------
.head-wrapper {
    display: flex;
    justify-content: flex-end;
    position: relative;
    width: 100%;
    padding: 1rem;
    color: #fff;
    z-index: 40;
}
.head-wrapper li {
    display: flex;
    font-weight: 500;
    margin-left: 15px;
}
.head-wrapper li p {
    font-size: 18px;
    font-weight: 500;
    margin-left: 10px;
}
.head-wrapper img {
    max-width: 18px;
    vertical-align: baseline;
}
----------*/
.nav-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    padding: 0 1rem;
    margin: auto;
    z-index: 40;
}

.nav-list-main > li .nav-list-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 24px;
    text-decoration: none;
    color: inherit;
    width: 100%;
    height: 100%;
}
.nav-list .nav-list-link .nav-list-link-name {
    font-size: 12px;
    font-weight: 500;
}
.nav-list .nav-list-link .nav-list-link-name::after {
    position: absolute;
    content: '';
    margin: auto;
    width: 60px;
    height: 5px;
    background-color: #6EC35B;
    border-radius: 5px;
    left: 0;
    right: 0;
    bottom: -8px;
}

.nav-list > a > img {
    width: 200px;
}
.nav-list-main {
    display: flex;
    justify-content: space-between;
}
.nav-list-main > li > a {
    font-size: 14px;
    letter-spacing: .1rem;
    text-align: center;
    vertical-align: middle;
}
.nav-list-main > li {
    text-align: center;
    background-color: #fff;
    box-shadow: 1px 1px 4px #000;
    width: 108px;
    height: 108px;
    border-radius: 50%;
    transition: .3s;
}
.nav-list-main > li:hover {
    transform: scale(1.1);
    box-shadow: none;
}
.nav-list-main > li + li {
    margin-left: 32px;
}
.nav-list-main > li > a > img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}
.nav-list-main > li > a > span {
    text-emphasis: center;
}
/*-------------サブメニューの設定------------------*/
.nav-list li .nav-sublist {
    display: none;
    position: absolute;
    background-color: #fff;
    box-shadow: 1px 1px 2px #000;
    border-radius: 4px;
    min-width: max-content;
    z-index: 1;
}
.nav-list li li:hover {
    background-color: #ddd;
    transform: scale(1.0);
}
.nav-list li:hover .nav-sublist {
    display: block;
}
.nav-list li ul li .nav-sublist-link {
    display: block;
    color: inherit;
    font-size: 0.8rem;
    text-decoration: none;
    padding: 0.5rem 1rem;
    vertical-align: baseline;
    font-weight: 500;
    text-align: left;
}

/*-------------メインビジュアル------------------*/
.main-visual {
    position: absolute;
    margin: 0 auto;
    height: 500px;
    top: -744px;
    right: 0;
    left: 0;
}

.main-visual-slider-wrap{
    position: relative;
    height: 760px;
    overflow: hidden;
}

.main-visual-slider {
    position: absolute;
    width: 1000px;
    max-width: 100%;
    border-radius: 5px;
    right: 0;
    z-index: -1;
}
.main-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main-visual .flex-wrap{
    justify-content: space-between;
    padding: 0 1rem;
}

/*-------------メインビジュアル メニューリスト------------------*/
.main-visual .menu li {
    position: relative;
    margin-bottom: 5px;
}
.main-visual .main-visual-sidemenu {
    margin-bottom: 1rem;
}
.main-visual .main-visual-sidemenu li:not(.sub-menu-child):before {
    content: "";
    position: absolute;
    top: 50%;
    left: -1rem;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-left: 8px solid #6EC35B;
}
.sub-menu-child  {
    margin-left: 1rem;
    transition: .3s;
}
.main-visual .main-visual-sidemenu a {
    padding-bottom: 5px;
    position: relative;
    color: #654C9C;
    text-decoration: none;
    -webkit-text-stroke: 3px #fff;
    font-size: 18px;
    font-weight: 500;
    paint-order: stroke;
}
.main-visual .main-visual-sidemenu a::before {
    background: #6EC35B;
    content: "";
    width: 100%;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 5px;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.main-visual .main-visual-sidemenu a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}
.open::before {
    transform: translateY(-50%) rotate(0deg);
}
.open::after {
    transform: translateY(50%) rotate(0deg);
    opacity: 0;
}
/*-------------新着情報エリア------------------*/
.news-area {
    position: relative;
    display: table;
    padding-top: 8px;
    margin-left: -1rem;
}
.news-area::before {
    position: absolute;
    content: '';
    background-color: #000;
    width: 100%;
    height: 1px;
    top: 0;
    right: 0;
    left: 0;
}
.news-area h2 {
    font-size: 1.5rem;
    -webkit-text-stroke: 3px #fff;
    paint-order: stroke;
    margin-bottom: 8px;
}
.news-area ul li a {
    color: #000;
    font-size: 18px;
    text-decoration: none;
    -webkit-text-stroke: 3px #fff;
    paint-order: stroke;
    transition: .3s;
}
.news-area ul li a:hover {
    color: #654C9C;
}
.news-area ul li span + span {
    margin-left: 20px;
}
/*-------------メインビジュアル　採用情報------------------*/
.main-visual .recruit {
    background-color: #654C9C;
    padding: 10px 20px;
    border-radius: 5px;
    transition: .3s;
}
.main-visual .recruit:hover {
    transform: scale(1.1);
}
.main-visual .recruit a {
    display: flex;
    justify-content: space-between;
    color: #fff;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
}
.main-visual .recruit img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    padding-bottom: 5px;
    margin-right: 10px;
}
/*-------------メインビジュアル　お問い合わせ------------------*/
.main-visual-link-wrap{
    display: flex;
}
.main-visual-link-wrap > * + *{
    margin-left: 1rem;
}
.main-visual .contact {
    background-color: #654C9C;
    padding: 10px 20px;
    border-radius: 5px;
    transition: .3s;
}
.main-visual .contact:hover {
    transform: scale(1.1);
}
.main-visual .contact a {
    display: flex;
    justify-content: space-between;
    color: #fff;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
}
.main-visual .contact img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    padding-bottom: 5px;
    margin-right: 10px;
}
/*-------------メインビジュアル　キャッチコピー------------------*/
.main-text-slider .main-text {
    position: relative;
}
.slick-list {
    overflow: visible;
}
.main-visual-slider .main-text {
    position: absolute;
    bottom: 58%;
    right: 4%;
}
.main-visual-slider .maintextsmall {
    font-size: 1.7rem;
    font-weight: 500;
    -webkit-text-stroke: 4px #fff;
    paint-order: stroke;
    padding-bottom: 5px;
}
.main-visual-slider h1 {
    font-size: 60px;
    font-weight: 500;
    font-family: 'YuMincho','Yu Mincho';
    letter-spacing: normal;
}
.main-visual-slider .purple {
    color: #654C9C;
    -webkit-text-stroke: 10px #fff;
    paint-order: stroke;
}
/*
.main-visual-slider .maintextsmall {
    font-size: 2rem;
    -webkit-text-stroke: 6px #fff;
    paint-order: stroke;
}
    */
.main-visual-slider .catch-detail {
    font-size: 20px;
    font-weight: 500;
    -webkit-text-stroke: 4px #fff;
    paint-order: stroke;
}

/*-------------藤実会の紹介------------------*/
.intro {
    position: relative;
    padding: 1rem;
    margin-bottom: 8rem;
    overflow-x: clip;
}
.intro img {
    width: calc(100% + 30px);
    margin-top: 50px;
    z-index: 20;
    border-radius: 5px;
}
/*-------------藤実会の紹介　テキスト部分------------------*/
.intro .flex-inner-left {
    z-index: 20;
}
.flex-inner-left > img{
    margin-right: -30px;
}
.intro .intro-text {
    width: 60%;
    padding: 40px 100px 40px 6%;
    z-index: -1;
}
.intro .intro-text > *{
    z-index: 2;
}
.intro .intro-text::before {
    position: absolute;
    content: "";
    width: 120%;
    height: 100%;
    background-color: #EEE;
    background-repeat: no-repeat;
    background-size: 2000px;
    background-position: top left;
    top: 0;
    left: 0;
    border-radius: 5px 0 0 5px;
}
.intro .intro-text::after {
    position: absolute;
    content: "";
    width: 54%;
    height: 110%;
    background-image: url("img/background-imitatation.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right;
    bottom: 0;
    right: 0;
}

.intro .intro-locate {
    font-size: 1.6rem;
    padding-bottom: 30px;
}
.intro .intro-locate::after {
    position: absolute;
    content: '';
    margin: auto;
    width: 120%;
    height: 5px;
    background-color: #654C9C;;
    left: 0;
    right: 0;
    bottom: 0;
}
.intro .intro-detail {
    letter-spacing: .1em;
    padding-top: 30px;
}
/*-------------フッター------------------*/
#footer .purple {
    position: relative;
    background-color: #654C9C;
    background-image: url("img/footer-background.webp");
    background-repeat: no-repeat;
    background-size: 300px;
    background-position: 5% bottom;
    height: 300px;
}
#footer .footer-nav {
    position: absolute;
    width: 64%;
    top: 20px;
    left: 10%;
}
#footer .footer-nav ul {
    display: flex;
    justify-content: space-between;
}
#footer .footer-nav a {
    color: #fff;
    font-weight: 500;
}
#footer .footer-nav a:hover {
    text-decoration: none;
}
#footer .logo-area {
    position: absolute;
    background-color: #fff;
    padding: 20px;
    bottom: 0;
    right: 10%;
    border-radius: 5px 5px 0 0;
}
#footer .logo-area a:hover {
    opacity: .7;
}
#footer .logo-area img {
    width: 200px;
    margin-bottom: 10px;
}
#footer .copyright-area {
    text-align: center;
    font-size: 0.8rem;
    padding: 20px;
}
/*-------------レスポンシブデザイン------------------*/
#nav_toggle {
    display: none
}

#close_toggle {
    display: none
}

#gnav_overlay {
    display: none
}
.sp_area {
    display: none;
}
/*-------------個別ページ------------------*/

/*------------トップページ専用のヘッダー要素を打ち消す-----------*/
.article-header::after,
.article-header .head-container::before {
    content: none;
}
.article-header {
    color: #000;
}
/*-------------個別ページヘッダー------------------*/
.article-header {
    background: #e0dbeb;
}
.article-header .head-container {
    padding: 1rem 0;
}
.article-header .nav-list .article-logo {
    width: 228px;
}
.article-container {
    display: block;
    padding: 2rem 0;
    background-color: #fff;
    background-image:url("img/footer-background-purple.webp");
    background-repeat: no-repeat;
    background-position: right 8rem top 1rem;
    background-size: 16%;
    box-shadow: 1px 1px 3px;
    }
.page-title {
    display: block;
    margin: auto;
    padding: 1rem;
    width: 100%;
    max-width: 1200px;
    color: #654C9C;
    font-size: 32px;
    font-weight: 500;
}
.page-content{
    margin:1rem auto 3rem;
    width:100%;
    max-width:1200px;
    min-height: 500px;
    padding: 1rem;
}
/*-------------個別ページエディター設定------------------*/
.page-content h2 {
    font-size: 1.6rem;
    font-weight: 500;
    padding: 0.25em 0.5em;
    margin-bottom: 1.5rem;
    border-left: solid 5px #6EC35B;
}
.page-content h2:first-letter {
    font-size: 2rem;
    color: #654C9C;
}
.page-content h3 {
    font-size: 1.4rem;
    font-weight: 500;
    padding: 0.25em 0.5em;
    margin-bottom: 1.5rem;
    background: transparent;
    border-left: double 5px #F15A24;
}
.page-content h4 {
    display: table;
    font-size: 1.2rem;
    font-weight: 500;
    position: relative;
    padding: 0.25em 1em;
    margin-bottom: 1.5rem;
    border-top: solid 2px #6EC35B;
    border-bottom: solid 2px #6EC35B;
}
.page-content h4:before, .page-content h4:after {
    content: '';
    position: absolute;
    top: -7px;
    width: 2px;
    height: -webkit-calc(100% + 14px);
    height: calc(100% + 14px);
    background-color: #6EC35B;
}
.page-content h4:before {
    left: 7px;
}
.page-content h4:after {
    right: 7px;
}
.page-content h5 {
    display: table;
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    border-bottom: double 5px #654C9C;
}
.page-content h6 {
    display: table;
    font-size: 1.05rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    border-bottom: double 5px #6EC35B;
}
.page-content p {
    margin-bottom: 1.5rem;
}
.page-content img {
    max-width: 100%;
    height: auto;
}
.page-content a {
    font-weight: 500;
    color: #654C9C;
    transition: .3s;
}
.page-content a:hover {
    opacity: .8;
}
strong {
    font-size: 1.2rem;
    font-weight: 500;
}
.page-content ol {
    counter-reset: li_count;
    margin-bottom: 1.5rem;
}
.page-content ol li {
    list-style-position: outside;
    margin-bottom: 10px;
    font-size: 1rem;
}
.page-content ol li:before {
    counter-increment: li_count;
    content: counter(li_count)".";
    color: #6EC35B;
    margin-right: 5px;
}
.page-content ul li {
    position: relative;
    margin-bottom: 10px;
    margin-left: 1rem;
}
.page-content ul li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -1rem;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-left: 8px solid #6EC35B;
}
.page-content table {
    width: 100%;
    margin-bottom: 10px;
    border-collapse: collapse;
    }
.page-content th,
.page-content td {
    border: solid 1px #ddd;
    }
.page-content th {
    width: 30%;
    padding: 8px;
    background-color: #f2f2f2;
    text-align: left;
}
.page-content td {
    width: 70%;
    padding: 10px;
}
.page-content .table-flex {
    border-collapse: initial !important;
    border: none;
}
.page-content .table-flex tr {
    display: flex;
    justify-content: space-between;
    border: none;
}
.page-content .table-flex th,
.page-content .table-flex td {
    border: none;
}
.page-content .table-flex-reverse {
    border-collapse: initial !important;
    border: none;
}
.page-content .table-flex-reverse tr {
    display: flex;
    justify-content: space-between;
    border: none;
}
.page-content .table-flex-reverse th,
.page-content .table-flex-reverse td {
    border: none;
}

.page-content address {
    font-size: 1rem;
}
/*-------------コンタクトフォーム------------------*/
form{
    background-color: #fff;
    padding:1em;
	border:1px solid #ccc;
	border-radius:4px;
	box-shadow:2px 2px 10px #ccc;
}

form label{
	display:block;
}

.wpcf7-form-control {
	margin-bottom:1em;
}

input[type=submit],
button[type=submit]{
	display:block;
	color: #fff;;
    font-size: 1rem;
	background:#0064be;
	border: 1px solid #0064be;
	transition:.2s;
}

input[type=submit]:hover,
button[type=submit]:hover{
	color: #0064be;
	background:#fff;
}

form input,
form select,
form textarea,
form button{
    width: 50%;
	max-width:100%;
	padding:.2em;
	border:1px solid #ccc;
	border-radius:4px;
}
form button {
    width: 6rem;
}

form :disabled{
	color:#ccc;
	background:#eee;
}

form span{
	display: block;
}


/*-------------レスポンシブ_タブレット------------------*/

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

    body {
        background-position: calc((100% - 508px) / 2 - 80px);
        background-size: 8%;
    }
    .content-wrap{
        width: 100%;
    }
    .flex-wrap{
        flex-direction: column;
    }

    .flex-inner-left{
        width: 100%;
    }
    .flex-inner-right{
        width: 100%;
    }

    /*-------------ハンバーガーメニュー------------------*/

    #close_toggle {
        display: block;
        padding: 1em;
        text-align: right
    }

    #gnav_overlay {
        position: fixed;
        width: 100vw;
        height: 100vh;
        background: rgba(0,0,0,.7);
        transition: .5s;
        z-index: 30;
        top: 0;
        right: 0
    }

    .head-container {
        width: auto
    }
    .head-container nav {
        position: fixed;
        display: none;
        width: 300px;
        max-width: 100%;
        height: 100%;
        right: -100%;
        box-shadow: 2px 2px 10px #ddd;
        transition: .5s;
        top: 0
    }

    .head-container.open nav {
        background: #fff;
        right: 0;
        z-index: 9999
    }

    .head-container #nav_toggle {
        position: fixed;
        display: block;
        height: 42px;
        color: #333;
        font-size: 80%;
        font-weight: 500;
        text-align: center;
        box-sizing: border-box;
        z-index: 999;
        cursor: pointer;
    }
    .head-container #nav_toggle::before {
        position: absolute;
        content: "";
        background-color: rgba(255,255,255,.6);
        width: 128%;
        height: 128%;
        top: 46%;
        right: 3%;
    }

    .head-container #nav_toggle #nav_toggle_icon {
        position: absolute;
        display: block;
        width: 30px;
        height: 2px;
        background: #000;
        transition: .2s;
        top: 90%;
        right: 1,4em;
    }

    .head-container #nav_toggle #nav_toggle_icon:before,
    .head-container #nav_toggle #nav_toggle_icon:after {
        position: absolute;
        display: block;
        content: "";
        width: 30px;
        height: 2px;
        background: #000;
        transition: .3s;
        top: 50%;
        left: 0
    }

    .head-container #nav_toggle #nav_toggle_icon:before {
        margin-top: -10px
    }

    .head-container #nav_toggle #nav_toggle_icon:after {
        margin-top: 8px
    }
    .head-container #nav_toggle .close::before {
        background-color: transparent;
    }
    .head-container #nav_toggle.close {
        background: rgba(0,0,0,0)
    }

    .head-container #nav_toggle.close #nav_toggle_icon:before {
        background-color: #000;
        margin-top: -1px;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg)
    }

    .head-container #nav_toggle.close #nav_toggle_icon:after {
        background-color: #000;
        margin-top: -1px;
        transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg)
    }

    .head-container #nav_toggle.close #nav_toggle_icon {
        background-color: transparent;
    }
    .head-container #nav_toggle_text {
        display: block;
        color: #000;
        bottom: -128%;
        right: 6px;
    }
    .head-container .close #nav_toggle_text  {
        color: #000000;
    }

    #panel-btn .close:after {
        margin-top: 0
    }

    .head-container ul li a.current,header ul li a:hover {
        border-radius: 0
    }

    .nav-list nav ul,
    .nav-list nav li{
        display: block;
        width: 100%;
        background-color:transparent;
        box-shadow: none;
        margin-bottom: -40px;
    }
    .nav-list .nav-list-link {
        flex-direction: row;
    }
    .nav-list li img {
        margin-right: 10px;
    }
    .nav-list li + li{
        margin-left: 0;
    }
/*-------------ナビゲーションメニュー_タブレット------------------*/
    .nav-list li .nav-sublist {
        display: none;
    }
    .nav-list li:hover .nav-sublist {
        display: none;
    }
    .nav-list .nav-list-main > li .nav-list-link {
        flex-direction: row;
        justify-content: flex-start;
    }
    .nav-list .nav-list-link .nav-list-link-name {
        font-size: 14px;
    }

/*-------------ヘッダー_タブレット------------------*/
    header::before {
        width: 100%;
        max-width: 600px;
        height: 200px;
    }
    header::after {
        height: 90px;
    }
    .head-container {
        display: flex;
        flex-direction: row-reverse;
        padding-top: 0;
    }
    .head-container::before {
        width: 92%;
        height: 112%;
        bottom: -20px;
    }
    .nav-list  {
        padding: 1rem;
    }
    .nav-list nav {
        padding: 1rem 2rem;
    }
    .nav-list .nav-list-link {
        justify-content: flex-start;
    }
    .nav-list img {
        width: 120px;
    }
    .nav-list .nav-list-link .nav-list-link-name::after {
        width: 100%;
        right: auto;
    }
    /*-------------メインビジュアル_タブレット------------------*/
    .main-visual {
        position: static;
        display: flex;
        flex-direction: column-reverse;
        height: auto;
        margin-bottom: 2rem;
    }
    .main-visual-slider {
        position: relative;
        top: 8px;
        margin-bottom: 12rem;
    }
    .main-visual .main-text {
        position: relative;
        width: 100%;
        padding: 1rem 4rem;
        bottom: 0;
        left: 0;
    }
    .main-visual-slider .main-text {
        bottom: 62%;
    }
    .main-visual-slider .maintextsmall {
        font-size: 3vw;
    }
    .main-visual .menu {
        width: 100%;
        padding: 1rem;
        border-top: solid 4px #6EC35B;
        border-bottom: solid 4px #6EC35B;
    }
    .main-visual .menu li {
        margin-bottom: 10px;
    }
    /*-------------メインビジュアルスライダー_タブレット------------------*/
    .main-visual-slider {
        width: 1000px;
    }
    /*-------------メインビジュアルキャッチフレーズ_タブレット------------------*/
    .main-visual .content-wrap {
        padding: 1rem 4rem;
    }
    .main-visual-slider-wrap{
        height: 500px;
    }
    .main-visual-slider h1 {
        font-size: 6.6vw;
    }
    .main-visual .main-text br {
        display: none;
    }
    /*-------------採用情報_タブレット------------------*/
    .recruit, .contact {
        display: none;
    }
    .sp_area {
        display: flex;
        flex-direction: column;
    }
    .recruit_sp {
        line-height: 2;
        background-color: #654C9C;
        padding: 10px 20px;
        margin-top: 30px;
        border-radius: 5px;
        transition: .3s;
    }
    .recruit_sp:hover {
        transform: scale(1.1);
    }
    .recruit_sp a {
        display: flex;
        color: #fff;
        text-align: center;
        text-decoration: none;
        vertical-align: middle;
    }
    .recruit_sp img {
        width: 30px;
        height: 30px;
        object-fit: contain;
        padding-bottom: 5px;
        margin-right: 10px;
    }
/*-------------お問い合わせ_タブレット------------------*/
    .contact_sp {
        line-height: 2;
        background-color: #654C9C;
        padding: 10px 20px;
        margin-top: 30px;
        border-radius: 5px;
        transition: .3s;
    }
    .contact_sp:hover {
        transform: scale(1.1);
    }
    .contact_sp a {
        display: flex;
        color: #fff;
        text-align: center;
        text-decoration: none;
        vertical-align: middle;
    }
    .contact_sp img {
        width: 30px;
        height: 30px;
        object-fit: contain;
        padding-bottom: 5px;
        margin-right: 10px;
    }
/*-------------藤実会の紹介_タブレット------------------*/
    .intro {
        margin-bottom: 4rem;
        padding: 0 4rem;
    }
    .intro .flex-inner-left {
        margin-bottom: -3rem;
    }
    .intro img {
        width: 100%;
        margin-top: 0;
        border-radius: 5px 5px 0 0;
    }
    .intro .intro-text {
        width: 100%;
        padding: 4rem 1rem 2rem 1rem;
        z-index: -1;
    }
    .intro .intro-text::before {
        width: 100%;
    }
    .intro .intro-text::after {
        height: 80%;
    }
    .intro .intro-locate::after {
        width: 100%;
    }
/*-------------施設紹介_タブレット------------------*/
    .facility {
        display: flex;
        flex-direction: column;
        padding: 0 4rem;
        margin-bottom: 4rem;
    }
    .facility img {
        width: 100%;
    }
    .tonan, .yuzawa, .fujino {
        width: 100%;
        margin-bottom: 2rem;
        border-radius: 0;
    }
    .fujino {
        margin-bottom: 0;
    }
    .facility .tonan .facility-title,
    .facility .yuzawa .facility-title,
    .facility .fujino .facility-title {
        margin-left: 0;
    }
    .facility .yuzawa .facility-title .title-big span {
        display: inline-block;
    }
/*-------------フォトギャラリー_タブレット------------------*/
    .news {
        display: flex;
        flex-direction: column;
        margin-bottom: 4rem;
        padding: 20px 4rem;
    }
    .news .news-area {
        width: 100%;
        text-align: left;
    }
    .news .news-area h2 {
        font-size: 24px;
        margin-bottom: 24px;
    }
    .news .news-area ul li {
        display: block;
        margin-bottom: 1rem;
    }
/*-------------フッター_タブレット------------------*/
    #footer .purple {
        background-size: 25%;
        background-position: right 1rem top 1rem;
        height: auto;
        padding: 10px 1rem 0 1rem;
    }
    #footer .footer-nav {
        position: static;
        width: 100%;
        margin-bottom: 20px;
    }
    #footer .footer-nav li {
        margin-left: 5px;
    }
    #footer .logo-area {
        display: inline-block;
        position: static;
        padding: 10px;
    }
/*-------------個別ページ_タブレット------------------*/
    .page-title {
        width: 100%;
        font-size: 4vw;
    }
    .article-container {
        background-image:url("img/footer-background-purple.webp");
        background-repeat: no-repeat;
        background-position: right 1rem bottom;
        background-size: 28%;
        box-shadow: 1px 1px 3px;
        }
    .page-content .table-flex tr {
        flex-direction: column;
        justify-content: space-between;
    }
    .page-content .table-flex-reverse tr {
        flex-direction: column-reverse;
        justify-content: space-between;
    }
    .page-content .table-flex tr > *,
    .page-content .table-flex-reverse tr > *{
        padding: 0 0 1.5rem;
    }

/*-------------個別ページのハンバーガーメニューの色変更_タブレット------------------*/
    .article-header .head-container #nav_toggle #nav_toggle_icon {
        background: #000;
    }

    .article-header .head-container #nav_toggle #nav_toggle_icon:before,
    .article-header .head-container #nav_toggle #nav_toggle_icon:after {
        background: #000;
    }
    .article-header .head-container #nav_toggle.close #nav_toggle_icon {
        background-color: transparent;
    }
/*-------------表の組み換え設定_タブレット------------------*/
    .page-content table {
        width: 100% !important;
        margin-bottom: 10px;
        border-collapse: collapse;
        }
    .page-content tr {
        width: 100% !important;
    }
    .page-content th,td {
        display: block;
        border: solid 1px #ddd;
        }
    .page-content th {
        width: 100% !important;
        padding: 8px;
        background-color: #f2f2f2;
        text-align: left;
    }
    .page-content td {
        background-color: #fff;
        width: 100% !important;
        padding: 10px;
    }
    /*-------------コンタクトフォーム_タブレット------------------*/
    form input,
    form select,
    form textarea,
    form button{
    width: 100%;
}
}


/*-------------レスポンシブ_SP------------------*/
@media screen and (max-width: 768px) {
    body {
        background-position: calc((100% - 480px) / 2 - 80px);
    }

    header::before{
        height: 42px;
    }
/*-------------ヘッダー_SP------------------*/
    header::before {
        content: none;
    }
    header::after {
        content: none;
    }
    .head-container::before {
        content: none;
    }
    .nav-list {
        padding: 1rem 1rem 0;
    }

/*-------------メインビジュアルキャッチフレーズ_SP------------------*/
    .main-visual .main-text {
        padding: 1rem;
    }
    .main-visual .content-wrap {
        padding: 1rem;
    }
    .main-visual .main-text h1 {
        font-size: 6.6vw;
    }
    .main-visual .main-text .catch-detail {
        font-size: 4vw;
    }
/*-------------メインビジュアルスライダー_SP------------------*/
    .main-visual-slider .main-text {
        padding: 1rem;
    }
    .main-visual-slider-wrap{
        height: 418px;
    }
/*-------------藤実会の紹介_SP------------------*/
    .intro {
        margin-bottom: 2rem;
        padding: 0 1rem;
    }
    .intro .intro-locate {
        font-size: 5vw;
        padding-bottom: 30px;
    }
    .intro .intro-locate br {
        display: none;
    }

/*-------------フッター_SP------------------*/
    #footer .purple {
        background-size: 60%;
        background-position: right 1rem top 12px;
    }
    #footer address span {
        display: inline-block;
    }
    #footer .logo-area img {
        display: none;
    }
    #footer .footer-nav ul {
        display: inline-block;
        text-align: left;
    }
    #footer .footer-nav li {
        margin-bottom: 15px;
    }
    #footer .copyright-area {
        font-size: 2.8vw;
    }
/*-------------個別ページ_SP------------------*/
    .page-title {
        font-size: 6vw;
    }
}
@media screen and (max-width: 600px) {
    .main-visual-slider-wrap{
        height: 360px;
    }
}
@media screen and (max-width: 550px) {
    .main-visual-slider-wrap{
        height: 320px;
    }
}
@media screen and (max-width: 450px) {
    .main-visual-slider-wrap{
        height: 280px;
    }
}
@media screen and (max-width: 400px) {
    .main-visual-slider-wrap{
        height: 240px;
    }
}

/*-------------アニメーション------------------*/
.animation {
    opacity: 0
}

.fadeup {
    transform-origin: center top;
    -webkit-animation: fadeup 1s both;
    animation: fadeup 1s both
}

.slidein_left {
    transform-origin: right center;
    -webkit-animation: slidein_left 1s both;
    animation: slidein_left 1s both
}

.slidein_right {
    transform-origin: left center;
    -webkit-animation: slidein_right 1s both;
    animation: slidein_right 1s both
}

.d3 {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.d5 {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.d10 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.d15 {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s
}

.d20 {
    -webkit-animation-delay: 2s;
    animation-delay: 2s
}

.d25 {
    -webkit-animation-delay: 2.5s;
    animation-delay: 2.5s
}

.d30 {
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

.d35 {
    -webkit-animation-delay: 3.5s;
    animation-delay: 3.5s
}

.d40 {
    -webkit-animation-delay: 4s;
    animation-delay: 4s
}

.d45 {
    -webkit-animation-delay: 4.5s;
    animation-delay: 4.5s
}

.d50 {
    -webkit-animation-delay: 5s;
    animation-delay: 5s
}

.d55 {
    -webkit-animation-delay: 5.5s;
    animation-delay: 5.5s
}

.d60 {
    -webkit-animation-delay: 6s;
    animation-delay: 6s
}

@-webkit-keyframes fadeup {
    0% {
        transform: translate(0, 2em);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@keyframes fadeup {
    0% {
        transform: translate(0, 2em);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@-webkit-keyframes slidein_left {
    0% {
        transform: translate(-2em, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@keyframes slidein_left {
    0% {
        transform: translate(-2em, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@-webkit-keyframes slidein_right {
    0% {
        transform: translate(2em, 0, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0, 0);
        opacity: 1
    }
}

@keyframes slidein_right {
    0% {
        transform: translate(2em, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes circle {
    0% {
        transform-origin: 50% 50%;
        transform: scaleY(1) rotate(0deg)
    }

    50% {
        transform: scaleY(1) rotate(180deg);
        transform-origin: 50% 50%
    }

    100% {
        transform: scaleY(1) rotate(360deg);
        transform-origin: 50% 50%
    }
}

@keyframes circle {
    0% {
        transform-origin: 50% 50%;
        transform: scaleY(1) rotate(0deg)
    }

    50% {
        transform: scaleY(1) rotate(180deg);
        transform-origin: 50% 50%
    }

    100% {
        transform: scaleY(1) rotate(360deg);
        transform-origin: 50% 50%
    }
}