@charset "UTF-8";

/* @media (min-width: 768px) { ... } */
/*============================= 共通 ==============================*/
html {
    scroll-behavior: smooth;
    font-family: "Font Awesome 5 Free" !important;
}

body {
    font-size: 16px;
    margin: 0;
}

a {
    text-decoration: none;
    color: #000;
}

li {
    list-style-type: none;
}

ul {
    padding: 0;
    margin: 0;
}

.inner {
    width: 90%;
    max-width: 89%;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1366px) {
    .main {
        width: 80%;
        margin-left: 20%;
    }
}

/*============================= ヘッダー ==============================*/

.header__logo {
    width: 80%;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.header__iryo {
    width: 50%;

}


.header__pic {
    margin-top: 60%;
}

/* 縦メニュー */
.vertical {
    display: none;
}


/** =======================
   * Contenedor Principal
   ===========================*/

.accordion {
    width: 100%;
    max-width: 360px;
    margin: 30px auto 20px;
    background: #FFF;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

.accordion .link {
    cursor: pointer;
    display: block;
    padding: 20px 15px 20px 10px;
    color: #4b4a5e;
    font-size: 14px;
    font-weight: 700;
    border-bottom: 2px solid #CCC;
    position: relative;
    -webkit-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.accordion li:last-child .link {
    border-bottom: 0;
}

.accordion li i {
    position: absolute;
    top: 16px;
    left: 12px;
    font-size: 18px;
    color: #a5a5a5;
    -webkit-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.accordion li i.fa-chevron-down {
    right: 12px;
    left: auto;
    font-size: 16px;
    top: 40%;
}

.accordion li.open .link {
    color: #23A564;
}

.accordion li.open i {
    color: #23A564;
}

.accordion li.open i.fa-chevron-down {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

/**
   * Submenu
   -----------------------------*/
.submenu {
    display: none;
    background: #fff98b;
    font-size: 14px;
}

.submenu li {
    border-bottom: 1px dashed #a5a5a5;
}

.submenu a {
    display: block;
    text-decoration: none;
    color: #000000;
    padding: 15px;
    padding-left: 20px;
    -webkit-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

.submenu a:hover {
    background: #23A564;
    color: #FFF;
}


@media (min-width: 600px) {
    .header__logo {
        width: 60%;
    }
}

@media (min-width: 1366px) {
    .header__logo {
        width: 100%;
        padding-left: 0px;
        padding-top: 50px;
    }

    .vertical {
        display: block;
    }
}

/* ---------------------------------------------- */
/* ハンバーガーメニュー */
/* ------------------------- */
.menu {
    height: fit-content;
    background-color: rgb(255, 255, 255, 1);
    width: 100%;
    z-index: 1000;
}

.menu-inner {
    padding: 0 5%;
}

#menu-hamburger {
    /* 見た目のCSS */
    background: #F6F063;
    cursor: pointer;
    width: 50px;
    aspect-ratio: 1/1;
    margin-left: auto;
    /* ボタンがハンバーガーウィンドウの下に隠れないようにする指定 */
    position: relative;
    z-index: 10;
}

@media (min-width: 1366px) {
    .menu {
        display: none;
    }
}

/* ----------------- */
/* 三本線 */
/* ----------------- */
#menu-hamburger span {
    /* 見た目のCSS */
    display: inline-block;
    background: #000000;
    width: 50%;
    height: 2px;
    /* バーガー線の太さ */
    /*アニメーションの設定*/
    transition: all .4s;
    position: absolute;
    left: 50%;
    /* バーガー線の位置 */
    transform: translateX(-50%);
}

/* １本目 */
#menu-hamburger span:nth-of-type(1) {
    top: 30%;
}

/* ２本目 */
#menu-hamburger span:nth-of-type(2) {
    top: 50%;
}

/* ３本目 */
#menu-hamburger span:nth-of-type(3) {
    top: 70%;
}

/* ------------------ */
/* ×印 */
/* ------------------ */
/*activeクラスが付与されると線が回転して×になる*/
#menu-hamburger.active span:nth-of-type(1) {
    top: 50%;
    left: 25%;
    transform: rotate(-45deg);
    width: 50%;
}

#menu-hamburger.active span:nth-of-type(2) {
    opacity: 0;
}

#menu-hamburger.active span:nth-of-type(3) {
    top: 50%;
    left: 25%;
    transform: rotate(45deg);
    width: 50%;
}

/* ----------------------------------------------- */
/* メニューウィンドウ */
/* -------------------------- */
#hamburger-window {
    transition: 0.3s;
    text-align: center;
    /* 初期状態は非表示 */
    visibility: hidden;
    position: fixed;
    top: 50px;
    right: -100vw;
    z-index: 1;
    /* 画面いっぱいに表示されるサイズに設定 */
    width: 100%;
    height: 100vh;
    /* 画面からはみ出したらスクロール可能にする */
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/*スクロールバー非表示（Chrome・Safari）*/
.content::-webkit-scrollbar {
    display: none;
}

#hamburger-window.open {
    visibility: visible;
    right: 0;
    top: 90px;
    padding-bottom: 100px;
}

.hamburger-window__link {
    display: block;
    margin: 0 auto;
    width: 100%;
    background-color: #fff;
}

.hamburger-window__link p {
    font-weight: bold;
}

.hamburger-window__nav-list {
    margin: 0px;
    padding-left: 0px;
}

.hamburger-window__link:hover {
    background-color: #ccc;
}

.hamburger-window__link p {
    margin: 0;
    padding-top: 20px;
    padding-bottom: 20px;
}

.hamburger-window__link:first-child .acordion-btn {
    border-top: 1px solid #ccc;
}


/* ----------------------------------
アコーディオン部分
--------------------- */
.acordion-menu-wrapper {
    background-color: #ffffff
}

.acordion-btn {
    display: flex;
    align-items: center;
    padding-left: 5%;
}

.acordion-btn:hover {
    background-color: #d5f4ff;
}

.acordion-btn::after {
    /* ＋ボタン */
    content: '＋';
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    display: inline-block;
    position: absolute;
    right: 5%;
    width: 10px;
    aspect-ratio: 1/1;
    color: #333;
}

.acordion-btn.is-open::after {
    /*　－ボタン */
    content: 'ー';
}

.hamburger-window__title,
.hamburger-window__link>a {
    color: #333;
}

.hamburger-window__link>a {
    display: block;
    text-align: left;
    padding-left: 5%;
    position: relative;
}

.hamburger-window__link>a::after {
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5%;
    width: 10px;
    aspect-ratio: 1/1;
    color: #333;
}

.acordion>.acordion__item {
    position: relative;
    text-align: left;
    width: 100%;

    background-color: #dfdfdf;
    /* 閉じている状態 */
    border-top: 0 #ccc solid;
    line-height: 0;

    /* 閉じるアニメーション */
    transition:
        border-top .1s ease-out,
}

.acordion.is-open>.acordion__item {
    background-color: #dfdfdf;

    /* 開いている状態 */
    border-top: 1px #ffffff solid;
    /* 開くアニメーション */
    transition:
        border-top .1s ease-out,
}

.acordion.is-open>.acordion__item:first-child {
    border-top: none;
}

.acordion.is-open>.acordion__item::after {
    font-weight: 900;
    font-family: "Font Awesome 6 Free";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10%;
    width: 10px;
    aspect-ratio: 1/1;
    color: #333;
}

.acordion>.acordion__item>.acordion__link {
    color: #333;
    background-color: #fff;
    display: block;
    padding-left: 7%;
    /* 閉じている状態 */
    padding-top: 0;
    padding-bottom: 0;
    line-height: 0;
    opacity: 0;
    visibility: hidden;
    /* 閉じるアニメーション */
    transition:
        padding-top .3s ease-out,
        padding-bottom .3s ease-out,
        line-height .3s ease-out,
        opacity .1s linear,
        visibility .1s linear;
}

.acordion.is-open>.acordion__item>.acordion__link {
    display: block;
    background-color: #fff;
    /* 開いている状態 */
    padding-top: 23px;
    padding-bottom: 23px;
    line-height: 1.5;
    opacity: 1;
    visibility: visible;
    /* 開くアニメーション */
    transition:
        padding-top .3s ease-out,
        padding-bottom .3s ease-out,
        line-height .3s ease-out,
        opacity .1s linear,
        visibility .1s linear;
}

/* ----------------------------------
トップに戻るボタン
--------------------- */
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 2;
    cursor: pointer;
}

.pagetop__arrow {
    display: block;
    height: 10px;
    width: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(20%) rotate(-45deg);
}

/* ----------------------------------
タブレットサイズ以上のメニューバー
--------------------- */
.cp_navi06 {
    background-color: #ffffff;
    display: block;
    margin: 1em auto;
    overflow: hidden;
    width: 100%;
}


.cp_navi06 ul {
    display: flex;
    margin: 0;
    padding: 0;
    justify-content: space-evenly;
}

.cp_navi06 ul li {
    list-style-type: none;
    transition: all 0.3s;
}


.cp_navi06 ul li a.caret::after {
    content: '';
    background: #aaaaaa;
    width: 10px;
    height: 5px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    transition: color 0.1s linear;
}

.cp_navi06 ul li a {
    display: block;
    line-height: 56px;
    padding: 0 10px;
    text-decoration: none;
}

.caret__a {
    color: #13ae67;
    font-weight: bold;
}

.cp_navi06 ul li:hover a {
    color: #ffff;
    font-weight: bold;
}

.cp_navi06 ul li:hover a.caret::after {
    background: #ffffff;
}

/*下層に隠れたメニューの動き*/
.cp_navi06 ul li ul {
    background-color: #13ae67;
    border-top: 0;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);
    display: none;
    margin: 0;
    opacity: 0;
    position: absolute;
    visibility: hidden;
    transition: all 0.3s;
    min-width: 84px;
}

.cp_navi06 ul li:hover ul {
    display: block;
    opacity: 1;
    visibility: visible;
}

.cp_navi06 ul li ul li {
    border-radius: 0 0 4px 4px;
}

.cp_navi06 ul li ul li a {
    color: #ffffff;
}

.cp_navi06 ul li ul li:hover a {
    background-color: rgba(255, 255, 255, 0.1);
}

/*============================= フッター ==============================*/
.footer {
    background-color: #FFFCC7;
    text-align: center;
    font-size: 12px;
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (min-width: 1366px) {
    .footer {
        width: 80%;
        margin-left: 20%;
    }
}

.footer__campaign {
    background-color: #FFFCC7;
    text-align: center;
    font-size: 12px;
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}


/*============================= お知らせボタン ==============================*/
.special {
    border-radius: 50%;
    /* 角丸指定 */
    display: inline-block;
    background-color: #F08200;
    /* 背景色指定 */
    width: 100px;
    height: 100px;
    /* 幅指定 */
    text-align: center;
    /* 中央揃え */
    box-shadow: 0 2px 10px 0 #9E9E9E;
    /* 影指定 */
    z-index: 100;
    position: fixed;
    bottom: 10px;
    right: 10px;
    text-align: center;
    padding: 30px 0;
    opacity: 0.9;
}

.special__text {
    font-size: 12px;
    font-weight: bold;
    color: #fff;
}



/*============================= トップートップ ==============================*/

.top-logo {
    width: 300px;
    display: block;
    margin: 0 auto;
}

.top-text {
    text-align: center;
    font-weight: bold;
    color: #F08200;
}

.top-character {
    width: 30%;
    position: absolute;
    z-index: -10px;
}

.top-pic {
    position: relative;
}

/*スクロールダウン全体の場所*/
.scrolldown4 {
    /*描画位置※位置は適宜調整してください*/
    position: absolute;
    bottom: 1%;
    right: 50%;
    /*矢印の動き1秒かけて永遠にループ*/
    animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove {
    0% {
        bottom: 1%;
    }

    50% {
        bottom: 3%;
    }

    100% {
        bottom: 1%;
    }
}

/*Scrollテキストの描写*/
.scrolldown4 span {
    /*描画位置*/
    position: absolute;
    left: -20px;
    bottom: 10px;
    /*テキストの形状*/
    color: #eee;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    /*縦書き設定*/
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-weight: bold;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background: #eee;
    transform: skewX(-31deg);
}

.scrolldown4:after {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    right: 0;
    /*矢印の形状*/
    width: 1px;
    height: 50px;
    background: #eee;
}

/*============================= トップ　ー　動き ==============================*/

#header {
    width: 100%;
    height: 100vh;
    position: relative;
}

.header {
    background-color: #fff;
    width: 100%;
    position: fixed;
    z-index: 10;
    display: flex;
    align-items: center;
    box-shadow: 5px 5px 5px rgb(225, 221, 221);
}

#header:before {
    /*headerの疑似要素に背景画像を指定*/
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background: url("./image/back1.png") no-repeat center;
    background-size: cover;
}

#container {
    /*下のかぶさるエリアの指定*/
    position: relative;
    z-index: 1;
    /*以下はレイアウトのための記述。削除可能*/
    background: #fff;
}


@media (min-width: 930px) {
    #header:before {
        background: url("./image/backpc1.png") no-repeat center;
        background-size: cover;

    }
}


@media (min-width: 1366px) {
    .header {
        height: 100vh;
        width: 20%;
        display: block;
    }

    #container {
        width: 80%;
        left: 20%;
    }

}


/*============================= トップ　ー　業務 ==============================*/
.point__card:first-child {
    margin-top: 50px;
}

.point__card {
    background-color: #FFF98B;
    padding: 10px;
    margin-top: 50px;
}

.point__title {
    text-align: center;
    font-weight: bold;
    padding-bottom: 5px;
}

@media (min-width: 1366px) {
    .point__card {
        width: 45%;
    }

    .point__box {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .point__title {
        padding-top: 40px;
    }

    .point__text {
        padding-bottom: 40px;
    }
}


/*============================= トップ　ー　アバウト ==============================*/
.top__title {
    text-align: center;
    padding-top: 100px;
    font-weight: bold;
    font-size: 20px;
}

.top__read {
    text-align: center;
    padding-top: 30px;
    line-height: 1.5em;
}

.about__box--title {
    font-size: 20px;
    padding-top: 110px;
}

.about__box--pic {
    padding-top: 35px;
    display: block;
    margin: 0 auto;
}

.about__box--text {
    padding-top: 30px;
}

.about__box--point {
    font-weight: bold;
}

@media (min-width: 850px) {
    .about__box {
        width: 50%;
    }

    .about__box--flex {
        display: flex;
        align-items: center;
    }

    .about__box--top {
        height: 200px;
        width: 100%;
        object-fit: cover;
    }

    .about__box--pic {
        height: 10%;
        object-fit: cover;
        width: 40%;
    }
}



/*============================= トップ　ー　特色 ==============================*/
.strength {
    background-color: #FFFCC7;
    border-radius: 25px;
    padding: 100px 0px;
    margin-top: 170px;
}

.strength__name {
    font-weight: bold;
    text-align: center;
}

.strength__read {
    font-size: 16px;
}

.strength__flex {
    display: flex;
    justify-content: center;
    align-items: center;
}

.strength__pic {
    width: 30%;
    padding-left: 30px;
}

@media (min-width: 850px) {
    .strength__pic {
        width: 15%;
    }
}

.strength__text {
    padding-top: 50px;
    width: 85%;
    display: block;
    margin: 0 auto;
}

/*============================= トップ　ー　新着情報 ==============================*/

.news {
    padding-bottom: 200px;
}

.news__title {
    margin-top: 200px;
}

.news__subtitle {
    display: none;
}

.news__card {
    display: flex;
    align-items: center;
    margin-top: 15px;
}

.news__jump {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.news__card:first-child {
    margin-top: 50px;
}

.news__day {
    padding-right: 15px;
    width: 70px;
    font-size: 14px;
}

.news__genre {
    background-color: #FFF98B;
    font-size: 14px;
    margin-right: 15px;
    width: 60px;
    text-align: center;
}

.news__read {
    font-size: 14px;
}

.news__btn {
    display: block;
    background-color: #23A564;
    color: #fff;
    border-radius: 10px;
    padding: 10px 0px;
    width: 60%;
    text-align: center;
    margin: 0px auto;
    margin-top: 60px;
}

.news__subbtn {
    display: none;
}

.news__topline {
    display: none;
}

.news__line {
    margin-top: 50px;
}

@media (min-width: 850px) {
    .news__title {
        height: 55px;
        width: 100%;
        object-fit: cover;
    }

    .news__btn {
        width: 30%;
    }
}

@media (min-width: 1366px) {
    .news__title {
        display: none;
    }

    .news__subtitle {
        display: block;
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 20px;
        margin-left: 20%;
    }

    .news__btn {
        display: none;
    }

    .news__subbtn {
        display: block;
        background-color: #23A564;
        color: #fff;
        border-radius: 10px;
        padding: 10px 0px;
        width: 70%;
        text-align: center;
    }

    .news__topline {
        display: block;
        margin-top: 100px;
    }

    .news__flex {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .news__box {
        width: 20%;
        padding-right: 30px;
    }

    .news__card:first-child {
        margin-top: 5px;
    }

    .news__subbox {
        width: 50%;
        border-left: 10px solid #13ae67;
    }
}

/*============================= トップ　ー　エリア ==============================*/

.area {
    background-color: #DCF5FE;
    padding-bottom: 80px;
}

.area__flex {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    padding-top: 85px;
}

.area__icon {
    width: 15%;
}

.area__title {
    font-weight: bold;
    font-size: 20px;
}

.area__map {
    display: block;
    margin: 0 auto;
    border: 1px solid #000;
    width: 80%;
    margin-top: 60px;
}

.area__read {
    display: block;
    margin: 0 auto;
    width: 80%;
    margin-top: 30px;
}

.area__card {
    margin-top: 50px;
}

.area__place {
    font-size: 14px;
    display: block;
    margin: 0 auto;
    width: 80%;
    font-weight: bold;
}

.area__region {
    display: block;
    margin: 0 auto;
    width: 80%;
    margin-top: 15px;
}

@media (min-width: 850px) {
    .area__flex--1 {
        display: flex;
        align-items: center;
        justify-content: space-evenly;
    }

    .area__region {
        margin-right: 0px;
    }

    .area__icon {
        width: 10%;
    }

    .area__title {
        font-size: 30px;
    }
}

@media (min-width: 1366px) {

    .area__icon {
        display: none;
    }

    .area__map {
        width: 40%;
    }

    .area__box {
        width: 80%;
    }
}




/*============================= トップ　ー　サイトマップ ==============================*/

.accordion-003 summary {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
}

.accordion-003 summary::-webkit-details-marker {
    display: none;
}

.accordion-003 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    content: '';
    transition: transform .3s;
}

.accordion-003[open] summary::after {
    transform: rotate(225deg);
}

.sitemap {
    padding-top: 70px;
}

.sitemap__color {
    background-color: #D5F4FF;
}

.sitemap__tag {
    display: block;
    margin-top: 25px;
}

.sitemap__tag--genre {
    display: block;
    margin-top: 10px;
    margin-left: 20px;
}

.sitemap__pic {
    width: 30%;
    display: block;
    margin-left: auto;
}

@media (min-width: 850px) {
    .sitemap__flex {
        display: flex;
        justify-content: space-evenly;
        margin-top: 30px;
    }

    .sitemap__pic {
        width: 15%;
        margin-top: 50px;
    }
}

/*============================= ステーション案内　ー　ファーストビュー ==============================*/
.view {
    position: relative;
}

.view__title {
    font-size: 14px;
    line-height: 1.5em;
    text-align: center;
}

.view__pic {
    padding-top: 70px;
}

.view__box {
    display: inline-block;
    width: 58%;
    background-color: #fff;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 50px;
    padding-right: 20px;
    position: absolute;
    border-radius: 15px;
    bottom: -30px;
    left: -30px;
    box-shadow: 5px 5px 5px rgb(225, 221, 221);
}

@media (min-width: 850px) {
    .view__box {
        width: 40%;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .view__pic {
        height: 550px;
        width: 100%;
        object-fit: cover;
    }
}

@media (min-width: 1366px) {
    .view__box {
        width: 30%;
    }

    .view__pic {
        padding-top: 0px;
    }
}

/*==============S=============== ステーション案内　ー　訪問エリア ==============================*/
.individual {
    margin-top: 170px;
    padding-bottom: 150px;
}

.individual__flex {
    display: flex;
    align-items: center;
}

.individual__pic {
    width: 15%;
}

.individual__map {
    width: 80%;
    display: block;
    margin: 0 auto;
    border: 1px solid #000;
    margin-top: 35px;
}

.individual__read {
    display: block;
    width: 80%;
    margin: 0 auto;
    margin-top: 10px;
}

.individual__district {
    display: flex;
    justify-content: space-evenly;
    margin-top: 35px;
}

.individual__area {
    padding-top: 20px;
}

@media (min-width: 850px) {
    .individual__flex--1 {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .individual__pic {
        width: 5%;
    }
}

@media (min-width: 1366px) {
    .individual__flex {
        margin-left: 25%;
    }
}

/*============================= ステーション案内　ー　営業時間 ==============================*/

.time {
    background-color: #FFFCC7;
    padding-bottom: 50px;
    padding-top: 50px;
}

@media (min-width: 850px) {
    .time__pic {
        width: 100%;
        object-fit: cover;
    }
}

@media (min-width: 1366px) {}

/*============================= ステーション案内　ー　店舗情報 ==============================*/

.store {
    padding-top: 150px;
    padding-bottom: 150px;
}

.store__flex {
    display: flex;
    align-items: center;
}

.store__icon {
    width: 10%;
    margin-right: 10px;
}

.store__name {
    text-align: center;
    margin-top: 30px;
}

.store__map {
    display: block;
    margin: 0 auto;
    margin-top: 20px;
    height: 250px;
    border: 2px solid #000;
}

.store__address {
    display: block;
    margin: 0 auto;
    width: 90%;
    margin-top: 30px;
}

.store__box {
    display: block;
    width: 90%;
    margin: 0 auto;
    margin-top: 20px;
}

.store__number {
    display: flex;
    margin-top: 5px;
}

.store__genre {
    margin-right: 20px;
}

.store__mail {
    margin-top: 10px;
}

.store__card {
    width: 90%;
    display: block;
    margin: 0 auto;
    padding-top: 40px;
    border-top: 1px solid #000;
    margin-top: 40px;
}

.store__pdf {
    color: blue;
    font-weight: bold;
    margin-left: 10px;
}

@media (min-width: 850px) {
    .store__subflex {
        display: flex;
        margin-top: 20px;
    }

    .store__icon {
        width: 5%;
    }

    .store__subbox {
        width: 50%;
    }
}

@media (min-width: 1366px) {
    .store__map {
        width: 80%;
        height: 80%;
    }
}

/*============================= ステーション案内　ー　ボタン ==============================*/

.btn {
    padding-bottom: 150px;
}

.btn__card {
    background-color: #16AE67;
    width: 60%;
    display: block;
    padding: 10px;
    text-align: center;
    color: #fff;
    border-radius: 5px;
    margin: 0 auto;
}

.btn__box {
    position: relative;
}

.btn__box:last-child {
    margin-top: 70px;
}

.btn__download {
    text-align: center;
    margin-top: 15px;
}

.btn__point {
    width: 20%;
    position: absolute;
    bottom: 0%;
    left: 10%;
}

.btn__deco {
    margin-bottom: 150px;
}

@media (min-width: 500px) {
    .btn__point {
        width: 15%;
    }
}

@media (min-width: 850px) {
    .btn__card {
        width: 40%;
    }

    .btn__point {
        width: 10%;
        bottom: 0%;
        left: 30%;
    }
}

@media (min-width: 1366px) {
    .btn {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
    }

    .btn__box {
        width: 20%;
    }

    .btn__box:first-child {
        margin-top: 7%;
    }

    .btn__card {
        width: 100%;
    }

    .btn__point {
        width: 30%;
        left: -10%;
    }
}

/*============================= ご利用ガイド１　ー　職員紹介 ==============================*/
.genre {
    display: flex;
    justify-content: space-around;
    margin-top: 150px;
}

.genre__box {
    width: 85%;
    margin-left: 10px;
}

.introduction__title {
    text-align: center;
    font-size: 20px;
    margin-top: 100px;
}

.introduction__flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center
}

.introduction__box {
    width: 45%;
    position: relative;
    margin-top: 40px;
}

.introduction__genre {
    background-color: #16AE67;
    color: #ffffff;
    width: 60%;
    text-align: center;
    top: 5px;
    left: 5px;
    position: absolute;
    font-size: 14px;
}

.introduction__pic {
    border: 1px solid #5f4812;
}

.introduction__name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
}

.introduction__area {
    font-size: 14px;
    padding-right: 20px;
}

.introduction__text {
    font-size: 14px;
    margin-top: 10px;
}

@media (min-width: 850px) {
    .genre__box {
        width: 50%;
        margin: 0 auto;
    }
}

@media (min-width:1366px) {
    .genre__box {
        width: 30%;
    }

    .introduction__box {
        width: 30%;
        margin-top: 60px;
    }

    .voice__flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 30px;
    }

    .voice__card {
        width: 45%;
    }
}


/*============================= ご利用ガイド１　ー　利用者様の声 ==============================*/

#voice {
    padding-bottom: 150px;
}

.voice__card {
    background-color: #FFFCC7;
    padding-top: 15px;
    padding-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin-top: 40px;
    box-shadow: 5px 5px 5px rgb(225, 221, 221);
}

.voice__pic {
    width: 30%;
}

.voice__read {
    width: 60%;
}

.voice__title {
    font-size: 20px;
    padding-bottom: 10px;
}

.voice__text {
    font-size: 14px;
}

.voice__profile {
    font-size: 14px;
    text-align: right;
    padding-right: 10px;
}

/*============================= ご利用ガイド２　ー　ひまわりの方針 ==============================*/

.policy__flex {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    padding-top: 200px;
}

.policy__pic {
    margin-top: 60px;
}

.policy__text {
    margin-top: 40px;
}

@media (min-width: 850px) {
    .policy__flex--1 {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .policy__pic {
        width: 40%;
        object-fit: cover;
        margin-right: 60px;
    }

    .policy__pic--2 {
        width: 90%;
    }

    .policy__box {
        width: 100%;
    }
}


/*============================= ご利用ガイド２　ー　ひまわりの理念 ==============================*/

.philosophy__read {
    margin-right: 50px;
    margin-top: 50px;
}

.philosophy__text--1 {
    font-weight: bold;
    text-align: center;
    margin-top: 50px;
}



@media (min-width: 850px) {
    .philosophy__text--1 {
        text-align: center;
    }
}


/*============================= ご利用ガイド２　ー　サービス内容==============================*/

.service {
    padding-bottom: 150px;
}

.service__card:first-child {
    margin-top: 60px;
}

.service__card {
    margin-top: 30px;
}

.service__title {
    font-size: 20px;
}

.service__read {
    margin-left: 30px;
    margin-top: 10px;
}

@media (min-width: 1366px) {
    .service__card {
        width: 45%;
    }

    .service__flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: baseline;
    }
}


/*============================= ご利用ガイド３　ー　サンプルプラン==============================*/

.sample {
    padding-bottom: 200px;
}

.sample__box {
    margin-top: 150px;
}

.sample__flex {
    display: flex;
    margin-top: 20px;
    justify-content: space-around;
    align-items: center;
}

.sample__menu {
    background-color: #FFFCC7;
    padding-left: 50px;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-top: 150px;
}

.sample__genre {
    display: block;
    margin-top: 10px;
}

.sample__pic {
    width: 40%;
    height: auto;
}

.sample__card {
    width: 50%;
}

.sample__profile {
    padding-top: 20px;
}

.sample__title {
    font-weight: bold;
    padding-top: 20px;
    padding-bottom: 5px;
}


@media (min-width: 850px) {
    .sample__pic {
        width: 25%;
    }
}

@media (min-width: 1366px) {

    .sample__box {
        width: 45%;
    }


    .sample__subflex {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }


}


/*============================= ブログ　ー　ジャンル一覧==============================*/
.genrelist {
    margin-top: 100px;
}

.genrelist__all {
    text-align: center;
    background-color: #FFFCC7;
    width: 60%;
    border-radius: 15px;
    display: block;
    margin: 0 auto;
    box-shadow: 5px 5px 5px rgb(225, 221, 221);
}

.genrelist__box {
    display: flex;
    margin-top: 30px;
    flex-wrap: wrap;
    justify-content: center;
}

.genrelist__card {
    background-color: #FFFCC7;
    text-align: center;
    width: 25%;
    border-radius: 15px;
    display: block;
    margin: 15px;
    box-shadow: 5px 5px 5px rgb(225, 221, 221);
}

/*=============================ニュース記事　 ==============================*/
.single {
    padding: 5%;
}

.single__top {
    margin-top: 150px;

}

.single__title {
    font-size: 20px;
    font-weight: bold;
}

.single__time {
    display: flex;
    padding-top: 20px;
    padding-bottom: 10px;
}

.single__text {
    padding-top: 40px;
}

.single__text2 {
    margin-top: 40px;
    width: 45%;
}

.single__pic2 {
    width: 50%;
    margin-top: 40px;
}

.single__flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single__btn {
    display: flex;
    justify-content: space-around;
    margin-top: 40px;
    margin-bottom: 20px;
}

.single__previous {
    font-size: 14px;
}

.single__next {
    font-size: 14px;
}

@media (min-width: 1366px) {
    .single {
        width: 90%;
        margin-left: 10%;
    }

    .single__pic {
        height: 350px;
        width: 100%;
        object-fit: cover;
    }

    .single__title {
        font-size: 32px;
    }

    .single__top {
        display: flex;
        justify-content: space-between;
        padding-bottom: 10px;
    }

    .single__previous {
        margin-top: 30px;
    }

    .single__next {
        margin-top: 30px;
    }
}


/*============================= ブログ　ー　ブログ==============================*/

.blog {
    margin-top: 100px;
}

.blog__flex {
    display: flex;
    justify-content: flex-start;
    border: 1px solid #000;
    width: 85%;
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 0 auto;
    margin-top: 50px;
}

.blog__pic {
    width: 20%;
    margin-right: 10px;
    margin-left: 10px;
    object-fit: cover;
}

.blog__day {
    font-size: 14px;
}

.blog__title {
    padding-bottom: 10px;
    margin-left: 10px;
}

.blog__genrelist {
    display: flex;
}

.blog__genre {
    background-color: #D5F4FF;
    width: 75px;
    text-align: center;
    border-radius: 10px;
    margin-left: 10px;
    font-size: 14px;
}

.blog__box {
    margin-top: 150px;
}

@media (min-width: 850px) {
    .blog__subflex {
        display: flex;
        margin-top: 100px;
    }

    .blog__box {
        width: 75%;
    }

    .blog__box {
        margin-top: 0px;
    }
}


/*============================= ブログ　ー　アーカイブ ==============================*/

.archive {
    border-top: 15px solid #D5F4FF;
    border-bottom: 15px solid #D5F4FF;
    margin-top: 120px;
    padding-bottom: 100px;
    margin-bottom: 150px;
}

.archive__title {
    text-align: center;
    font-size: 20px;
    margin-top: 100px;
}

.archive__card {
    background-color: #FFFCC7;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    width: 70%;
    display: block;
    margin: 0 auto;
    margin-top: 30px;
    box-shadow: 5px 5px 5px rgb(225, 221, 221);
}

@media (min-width: 850px) {
    .archive {
        margin-top: 90px;
        border-bottom: none;
    }
}


/*============================= 採用ページ　ー　求人情報 ==============================*/
.read {
    text-align: center;
    margin-top: 200px;
    padding: 0 5%;
}

.recruit__title {
    text-align: center;
    font-size: 20px;
    margin-top: 120px;
    margin-bottom: 70px;
}

.recruit__box {
    background-color: #FFFCC7;
    padding-bottom: 50px;
}

.recruit__flex:first-child {
    padding-top: 50px;
}

.recruit__flex {
    display: flex;
    padding-left: 20px;
    padding-top: 30px;
}

.recruit__genre {
    padding-right: 25px;
    font-weight: bold;
    width: 30%;
    text-align: center;
}

.recruit__card {
    width: 60%;
}

.photo {
    display: flex;
    flex-wrap: wrap;
}

@media (min-width: 850px) {
    .photo__card {
        width: 50%;
    }
}

/*============================= 採用ページ　ー　1日の流れ ==============================*/

.schedule {
    background-image: url(./image/flow-line.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding-bottom: 100px;
}

.schedule__flex:nth-child(even) {
    display: flex;
    align-items: center;
    margin-left: -30px;
    margin-top: 70px;
}

.schedule__flex:nth-child(odd) {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    margin-top: 50px;
}

.schedule__pic {
    width: 50%;
}

.schedule__read {
    background-color: rgba(255, 255, 255, 0.7);
}

.schedule__flex:nth-child(odd) .schedule__read {
    margin-left: 15px;
}

.schedule__text {
    margin-left: 16px;
}

/*=============================　よくある質問　ー　質問内容 ==============================*/

.question {
    padding-bottom: 150px;
}

ul.question-list>*+* {
    margin-top: 10px;
}

ul.question-list>li {
    /* border: 1px solid #000; */
    background-color: #FFFCC7;
    padding: 0px 30px;
    margin-top: 15px;
}

@media only screen and (max-width: 768px) {
    ul.question-list>li {
        padding: 0 20px;
    }
}

ul.question-list .acc-ttl {
    font-size: 16px;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.05em;
    cursor: pointer;
    padding: 23px 25px 23px 0;
    position: relative;
}

@media only screen and (max-width: 768px) {
    ul.question-list .acc-ttl {
        padding: 13px 25px 13px 0;
    }
}

ul.question-list .acc-ttl::before {
    position: absolute;
    content: "\f067";
    /* プラスのアイコン */
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    font: var(--fa-font-solid);
    font-weight: 900;
    font-size: 20px;
}

@media only screen and (max-width: 768px) {
    ul.question-list .acc-ttl::before {
        font-size: 16px;
    }
}

ul.question-list .acc-ttl.active {
    border-bottom: 1px solid #000;
}

ul.question-list .acc-ttl.active::before {
    content: "\f068";
    /* マイナスのアイコン */
}

ul.question-list .acc-txt {
    font-weight: 500;
    padding: 26px 0 23px;
    line-height: 2;
    letter-spacing: 0.05em;
    display: none;
}

/*============================= お問い合わせ　ー　個人情報保護法 ==============================*/
.form {
    margin-bottom: 100px;
}

.form__policy {
    margin-top: 150px;
    margin-bottom: 150px;
    text-align: center;
}

.form__google {
    width: 95%;
    display: block;
    margin: 0 auto;
}

.appi {
    font-size: 14px;
    border-bottom: 1px solid #000;
}

.info {
    display: block;
    width: 50%;
    text-align: center;
    margin: 0 auto;
    margin-top: 100px;
    font-weight: bold;
}

@media only screen and (min-width: 768px) {
    .info {
        width: 20%;
    }
}


/*============================
個人情報保護方針
  ============================*/
.personalinfo__deco {
    background-color: #D5F4FF;
    padding-bottom: 30px;
    width: 100%;
}

.personalinfo__inner {
    padding-top: 100px;
    padding-bottom: 100px;
}

.personalinfo__main {
    text-align: center;
}

.personalinfo__box {
    margin-top: 50px;
}



.personalinfo__text {
    margin-top: 20px;
}

.personalinfo__text-day {
    margin-top: 10px;
}

.personalinfo__profile {
    margin-top: 10px;
}

.personalinfo__card {
    margin-top: 45px;
}

.personalinfo__read {
    margin-left: 10px;
}

.personalinfo__read-left {
    margin-left: 20px;
}

.personalinfo__read-info {
    margin-left: 10px;
    margin-top: 20px;
}

.personalinfo__flex {
    display: flex;

    margin-top: 20px;
}

/* キャンペーンページ */
.campaign {
    width: 90%;
    margin: 0 auto;
}

.campaign__read {
    margin-top: 20px;
}



.campaign__box {
    background-color: #FFFCC7;
    border-radius: 15px;
    padding-bottom: 20px;
    margin-top: 50px;
}

.campaign__wrapper {
    width: 90%;
    margin: 0 auto;
}

.campaign__wrapper--flex {
    display: flex;
    padding-top: 20px;
}

.campaign__wrapper--mark {
    margin-right: 10px;
}

.campaign__wrapper--title {
    font-weight: bold;
}

.campaign__wrapper--text {
    margin-top: 5px;
}

.campaign__point {
    margin-top: 40px;
}

.campaign__point--text {
    margin-top: 10px;
}

.campaign__top {
    width: 100%;
}

.campaign__top01 {
    display: none;
}

@media (min-width: 768px) {
    .campaign__read {
        text-align: center;
    }

    .campaign__box {
        width: 60%;
        display: block;
        margin: 0 auto;
        margin-top: 70px;
    }

    .campaign__point {
        text-align: center;
        margin-top: 90px;
    }

    .campaign__top {
        display: none;
    }

    .campaign__top01 {
        display: block;
        width: 100%;
    }
}

/*========= モーダル表示のためのCSS ===============*/

/*全て共通：hideエリアをはじめは非表示*/
.hide-area {
    display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after,
.modaal-close:before {
    background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
    background: #666;
}

.storeinfo {
    margin-top: 60px;
}

@media (min-width: 768px) {
    .storeinfo {
        margin-top: 80px;
    }
}


/* ラジオボタンは非表示 */
.storeinfo input[type="radio"] {
    display: none;
}

.storeinfo .tab {
    max-width: 100%;
    margin: auto;
    display: flex;
    flex-flow: wrap;
}

.tab-item {
    display: block;
    flex-grow: 1;
    text-align: center;
    padding: 10px 0;
    cursor: pointer;
    order: -1;
    background-color: #f9f9f9;
    font-size: 20px;
    font-weight: bold;
    border-top: #16AE67 2px solid;
    border-left: #16AE67 2px solid;
    border-right: #16AE67 2px solid;
}

.tab-item:hover {
    color: #16AE67;
}

.tab-item:not(:first-of-type) {
    border-left: none;
}

.tab-input:checked+.tab-item {
    background: #16AE67;
    color: #ffffff;
}

.tab-content {
    background-color: #f9f9f9;
    width: 100%;
    height: auto;
    display: none;
    font-size: 40px;
}

.tab-input:checked+.tab-item+.tab-content {
    display: block;
}

.eachstore {
    background-color: #ffffff;
    width: 100%;
    padding-bottom: 30px;
    margin-bottom: 10px;
    border-top: #16AE67 2px solid;
    border-bottom: #16AE67 2px solid;
    border-left: #16AE67 2px solid;
    border-right: #16AE67 2px solid;
}

.eachstore:last-child {
    margin-bottom: 0px;
    border-bottom: #16AE67 2px solid;
}

.eachstore__inner {
    width: 90%;
    margin: 0 auto;
}

.eachstore__flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-top: 20px;
    width: 100%;
}

.eachstore__category {
    font-size: 20px;
    font-weight: bold;
    width: 40%;
}

.eachstore__answer {
    font-size: 16px;
    width: 60%;
}

.eachstore__card {
    display: flex;
}

.eachstore__title {
    width: 65%;
}


.eachstore__btn {
    background-color: #16AE67;
    text-align: center;
    color: #f9f9f9;
    font-size: 20px;
    margin: 0 auto;
    display: block;
    width: 30%;
    border-radius: 5%;
    padding: 5px;
    margin-top: 15px;
}

.eachstore__btn:hover {
    background-color: #f9f9f9;
    color: #16AE67;
    border: #16AE67 2px solid;
}


@media (min-width: 768px) {
    .eachstore__inner {
        display: flex;
    }

    .eachstore__box {
        width: 90%;
    }
}


/*========= フォーム ===============*/
.c-form {
    background-color: #FFFCC7;
    margin-top: 50px;
    margin-bottom: 70px;
    border-radius: 15px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.c-form__required {
    color: red;
}

.c-form__item {
    display: flex;
    margin-top: 20px;
}

.c-form__label {
    width: 35%;
    padding-left: 15px;
}

.c-form__input {
    border: none;
}

.form_label {
    padding-left: 15px;
    margin-top: 20px;
}

.form_field--textfield {
    width: 90%;
    display: block;
    margin: 0 auto;
    margin-top: 5px;
    border: none;
}

.c-form__submit {
    display: block;
    margin: 0 auto;
    background-color: #13ae67;
    color: #fff;
    font-weight: bold;
    width: 30%;
    text-align: center;
    border: none;
    padding: 15px;
    margin-top: 30px;
}


@media (min-width: 768px) {
    .c-form {
        width: 70%;
        display: block;
        margin: 0 auto;
        margin-top: 100px;
        margin-bottom: 100px;
    }

    .c-form__item {
        padding-left: 50px;
    }

    .form_label {
        padding-left: 50px;
    }

    .form_field--textfield {
        margin-top: 20px;
    }

}

.thank {
    margin-top: 250px;
}

.thank__text {
    text-align: center;
    margin-top: 50px;
}

.thank__btn {
    display: block;
    width: 300px;
    padding: 10px;
    margin: 0 auto;
    margin-top: 50px;
    background-color: #FFF98B;
    text-align: center;
}

.thank__footer {
    background-color: #FFFCC7;
    text-align: center;
    font-size: 12px;
    padding-top: 30px;
    padding-bottom: 30px;
    position: absolute;
    /*←絶対位置*/
    bottom: 0;
    /*下に固定*/
    width: 100%;
}