@charset "utf-8";

:root {
    scroll-padding-top: 141px;
}

/* 改行 */

.br-pc,
.br-sm {
    display: none;
}

.br-tb {
    display: block;
}

#top section .in1200 p>a:first-of-type {
    position: relative;
    display: block;
    width: 266px;
    margin: auto;
    top: 0;
    right: 0;
    text-align: center;
    max-width: 100%;
    box-sizing: border-box;
}

.col25 {
    width: 48%;
}

.col25:nth-child(2n+1) {
    margin-left: 0;
}

.news_list .col25 {
    margin-left: 3%;
}

.news_list .col25:nth-child(2n+1) {
    margin-left: 0;
}

.main_column .col25:nth-child(3n),
.main_column .col25:nth-child(3n+2) {
    margin-left: 2%;
}

.main_column,
.side_bar {
    width: 100%;
}

.side_bar {
    display: flex;
    justify-content: space-around;
    margin-top: 30px;
    border-top: 1px solid #B5B5B6;
    padding-top: 20px;
}

#contact input,
#contact select {
    max-width: 240px;
}

#contact textarea {
    max-width: 300px;
}

#page #lead h1 {
    font-size: 50px;
}

section h2 {
    font-size: 34px;
}

#top .description img {
    margin-right: 22px;
}

/* #top .description p:last-child {
    font-size: 1em !important;
    padding: 2px 22px !important;
} */

.main_column>article>header {
    width: auto;
}

/* 佐藤医院 */
/* 共通 */
.upper1023 {
    display: none !important;
}

.under1023:not(.bottom-menu) {
    display: block !important;
}

section {
    padding: 0 24px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.section-border {
    width: -webkit-fill-available;
    max-width: unset;
    border: 4px solid #113478;
    border-radius: 32px;
    margin: 0;
    position: relative;
}

.info-bar {
    display: none;
}

.next_btn {
    display: none;
    pointer-events: none;
    visibility: hidden;
}

/* ヘッダー */
#header .header-inner {
    display: none;
}

#header .mailer {
    margin-right: 16px;
}

.teaser-top-lead .lead-photo::before {
    top: -198px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 688px;
    height: 100%;
    max-height: 236px;
    background-image: url(../img/teaser/character_open.svg);
}

#page #top #lead .top-lead-img {
    max-width: 100%;
}

/* リード */
#top #lead .teaser-top-lead {
    padding: 58px 16px 0 16px;
    height: auto;
}

#page #top #lead .teaser-top-lead {
    padding: 58px 16px 96px 16px;
    height: auto;
}

#top #lead .lead-photo {
    margin-top: 210px;
}

#top .description img {
    width: -webkit-fill-available;
    border-radius: 20px;
    margin: 0;
}

#page .true-top-lead .top-lead-img::before {
    top: unset;
    bottom: -81px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    max-width: 640px;
    max-height: 104px;
}

#top #lead .message_open img {
    display: none;
}

.teaser-top-lead .message_open {
    position: relative;
    top: unset;
    right: unset;
    max-width: unset;
    background-color: #113478;
    border-radius: 10px;
    margin: 9px 26px 0 26px;
    padding: 10px 21px;
}

.teaser-top-lead .message_open p {
    font-size: 18px;
    text-align: left;
    margin: 0;
    padding: 0;
    color: #ffffff;
    line-height: 2rem;
}

#top .teaser-top-lead .under1023 img {
    margin-top: 13.5px;
    margin-left: 12px;
    border-radius: 0;
}

#page .true-top-lead .anchor-btn-wrap {
    /* margin-top: 112px; */
    margin-top: 30px;
}

#page .true-top-lead .anchor-btn {
    width: fit-content;
    margin: 0 auto;
}

#page .true-top-lead .anchor-btn a {
    width: 272px;
    height: 53px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    color: #ffffff;
}

#page .true-top-lead .anchor-btn:nth-child(odd) a {
    background-color: #5770A0;
}

#page .true-top-lead .anchor-btn:nth-child(even) a {
    background-color: #4CA6DA;
}

#page .true-top-lead .anchor-btn img {
    width: fit-content;
}

#page .true-top-lead .anchor-btn:nth-child(1) img {
    width: 28px;
    height: auto;
    margin: 0px 7.7px 0 0;
}

#page .true-top-lead .anchor-btn:nth-child(2) img {
    width: 30px;
    height: auto;
    margin: 0px 8.1px 0 0;
}

#page .true-top-lead .anchor-btn:nth-child(3) img {
    width: 22px;
    height: auto;
    margin: 0px 8px 0 0;
}

#page .true-top-lead .anchor-btn:nth-child(4) img {
    width: 31px;
    height: auto;
    margin: 0px 7px 0 0;
}

#page .true-top-lead .anchor-btn:nth-child(5) img {
    width: 24px;
    height: auto;
    margin: 0px 2.9px 0 0;
}

/* 本文*/
/* :root:has(#page article#about),
:root:has(#page article#guidance),
:root:has(#page article#first) {
    scroll-padding-top: 141px;
} */

#info {
    padding-top: 214px;
    padding-bottom: 0;
}

#info .section-border {
    padding: 30px 21px 0 21px;
}

#info .section-border::before {
    top: -34%;
    left: 47%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 622px;
    height: 100%;
    max-height: 418px;
    background-image: url(../img/teaser/title_guidance_sp.svg);
    z-index: -1;
}

#info .inner-icon,
#info .icon-other {
    font-size: 25px;
}

#info .icon-row {
    padding-bottom: 30px;
}

#info .icon-row:nth-child(n+2) {
    padding-top: 25px;
}

#info .icon-row::after {
    content: '';
    position: absolute;
    bottom: 0;
    background: radial-gradient(circle farthest-side, #8CA9E1, #8CA9E1 40%, transparent 60%, transparent);
    background-size: 8px 5px;
    background-repeat: repeat-x;
    display: inline-block;
    width: 100%;
    height: 5px;
}

#info .icon-row:last-child {
    align-items: center;
}

#info .icon-row:last-child:after {
    display: none;
}

#page #info .section-border::before {
    top: -40%;
    left: 47.9%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 617.58px;
    height: 100%;
    max-height: 412.58px;
    background-image: url(../img/teaser/title_guidance_sp.svg);
    z-index: -1;
}

#page #info {
    padding-top: 160px;
    padding-bottom: 42.4px;
}

/* 初診のかたへ */
#at-first {
    padding-top: 357px;
    padding-bottom: 0;
}

#at-first .section-border:before {
    top: -22%;
    left: 30.5%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 873.36px;
    height: 100%;
    max-height: 418.58px;
    background-image: url(../img/teaser/title_at-first_sp.svg);
    z-index: -1;
}


#at-first .section-border {
    padding: 101px 32px 38px 32px;
}

#at-first .af-caution,
#page #first .af-caution {
    position: relative;
    margin: 60px auto 0 auto;
}

#at-first .af-caution::before,
#page #first .af-caution::before {
    top: -53px;
    width: 60px;
    height: 60px;
}

#page #at-first {
    padding-top: 282.6px;
    padding-bottom: 27.7px;
}

#page #at-first .section-border:before {
    top: -65%;
    left: 35.5%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 868.12px;
    height: 100%;
    max-height: 412.58px;
    background-image: url(../img/teaser/title_at-first_sp.svg);
    z-index: -1;
}

#page #at-first .section-border::after {
    content: '';
    position: absolute;
    top: unset;
    bottom: -40px;
    right: 0;
    left: unset;
    -webkit-transform: unset;
    width: 100%;
    max-width: 116px;
    height: 100%;
    max-height: 135px;
    background-image: url(../img/sp_beginner.png);
    background-repeat: no-repeat;
    background-size: contain;
}

#page #at-first .section-border {
    padding: 39px 30px 35px 30px;
}

#page #at-first ul::before,
#page #at-first ul::after {
    content: none;
}

#page #at-first ul li {
    font-size: 22px;
    padding: 0;
    text-indent: -2.2rem;
    padding-left: 2.2rem;
}

#page #at-first ul {
    margin: 0 auto;
    padding: 0;
    width: fit-content;
}

#page #at-first p {
    font-size: 16px;
    margin: 25px auto 0 auto;
    padding: 0 20px;
}

.btn-green a {
    font-size: 14px;
    padding: 12px 28px 10px 34px;
}

#page #first ol li {
    font-size: 0.875rem;
}

/* アクセス */
#page #access {
    display: block;
    padding-top: 264.2px;
    padding-bottom: 61.7px;
    margin-bottom: 0;
    padding-right: 0;
    padding-left: 0;
}

#page #access .map_box {
    position: relative;
}

#page #access .map_box:before {
    content: '';
    position: absolute;
    top: -260px;
    left: 35%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 778px;
    height: 100%;
    max-height: 412.58px;
    background-image: url(../img/top_sp_access.svg);
    z-index: -1;
    background-repeat: no-repeat;
    background-size: contain;
}

#page #access iframe {
    height: 508px;
    width: 100%;
}

#faq-accord {
    padding-top: 322px;
    padding-bottom: 0;
}

.faq_list {
    width: -webkit-fill-available;
    max-width: unset;
    margin: 0;
}

#faq-accord .faq_list:before {
    top: -251px;
    left: 43.5%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 366.6px;
    height: 100%;
    max-height: 285.6px;
    background-image: url(../img/teaser/title_faq_sp.svg);
    z-index: -1;
}

#faq-accord .faq_list>li {
    border: 4px solid #113478;
    border-radius: 32px;
    margin-bottom: 14px;
}

.faq-box {
    font-size: 22px;
    display: flex;
    flex-direction: column;
    padding: 16px 37px 27px 105px;
}

.faq-box h3 {
    padding-right: 0;
}

.faq-box::after {
    content: '';
    position: absolute;
    top: unset;
    right: unset;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 23px;
    height: 13px;
    background-image: url(../img/teaser/faq_triangle.svg);
    background-repeat: no-repeat;
    background-size: cover;
    transition: all .3s ease;
}

.faq-box.close::after {
    transform: rotate(180deg) translateX(12px);
}

#access {
    padding-top: 338.6px;
    padding-bottom: 60.8px;
    margin-bottom: 0;
}

#access .ac-adress img,
#about .ac-adress img {
    max-width: unset;
    border-radius: 20px;
}

#access .section-border {
    padding: 22.8px 26px 0 26px;
}

#access .section-border:before {
    top: -282px;
    left: 34%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 778px;
    height: 100%;
    max-height: 412.58px;
    background-image: url(../img/teaser/title_access_sp.svg);
    z-index: -1;
}

#access h4 {
    border: 2px solid #113478;
}

#page #access p {
    font-size: 19px;
    margin: 17.1px auto 10.3px auto;
}

#page #about .g-map {
    margin: 0 auto;
}

#page #newsletter .newsletter-wrap:before {
    content: '';
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 630.46px;
    height: 100%;
    max-height: 285.6px;
    background-image: url(../img/top_sp_news.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

#page article#top #newsletter .newsletter-wrap:before {
    top: -43%;
    width: 100%;
}

#page #newsletter article:first-child:before,
#page #newsletter article:last-child:after,
#page.news-page .newsletter-wrap article:first-child::before,
#page.news-page .newsletter-wrap article:last-child::after,
#page #news-list .newsletter-wrap article:first-child::before,
#page #news-list .newsletter-wrap article:last-child::after,
#page #column-list .newsletter-wrap article:first-child::before,
#page #column-list .newsletter-wrap article:last-child::after,
#page #recruit-list .newsletter-wrap article:first-child::before,
#page #recruit-list .newsletter-wrap article:last-child::after {
    content: none;
}

.news-container article a .content,
.recruit-container article a .content {
    padding: 16px 13px 10px 13px;
    ;
}

#gotop {
    right: unset;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -42px;
    bottom: unset;
    z-index: 2;
}

#footer {
    height: 229.71px;
    padding-top: 35.5px;
    align-items: unset;
}

#footer .ft-flex {
    margin: 0 auto;
    flex-direction: column;
    align-items: center;
}

#footer .ft-flex .ft-left h4 {
    margin-right: 0;
}

#footer .ft-flex .ft-left h4 img {
    width: 189px;
    height: 43px;
    margin-bottom: 5.5px;
}

#footer .ft-flex .ft-left {
    align-items: center;
    flex-direction: column;
}

#footer .ft-flex .ft-left .ft-marginal {
    margin: 0;
}

@supports(padding-bottom: env(safe-area-inset-bottom)) {
    .bottom-menu {
        padding-bottom: calc(9px + env(safe-area-inset-bottom));
    }
}

.bottom-menu {
    background-color: #113478;
    padding: 9px 10px;
    display: flex !important;
    justify-content: center;
    width: 100%;
    height: 82px;
    position: fixed;
    bottom: 0;
    z-index: 200;
}

.bottom-menu button {
    background-color: unset;
    border: none;
    padding: 0;
}

.bottom-menu .bottom-biz-hours {
    margin: 0 10px;
}

/* 下部メニューアニメ */
#btm-biz-img {
    position: fixed;
    bottom: -466px;
    /* 画像の高さに合わせて完全に隠れるようにする */
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 342px;
    height: auto;
    transition: bottom 0.3s ease, transform 0.3s ease;
    /* 出る時・戻る時の両方にアニメーションを適用 */
}

#btm-biz-img.panelactive {
    bottom: 50%;
    transform: translateX(-50%) translateY(50%);
}

/* アニメここまで */

#top #header .header-flex {
    width: -webkit-fill-available;
    justify-content: space-between;
}

/* 共通パーツ（本番） */
#page article {
    padding-top: 181px;
    background-image: unset;
    background-color: #E7F1FE;
    background-blend-mode: unset;
}

#page #g-navi {
    top: 141px;
}

#page #g-navi .global-top,
#page #g-navi .global-bottom .global-search {
    display: none;
    visibility: hidden;
}

#page #g-navi .global-bottom .global-news {
    width: -webkit-fill-available;
}

#page #header {
    height: 141px;
    padding-top: 0;
    z-index: 101;
}

#page #header>.in100per {
    position: relative;
}

#page #s-menu,
#page #header .sp-header {
    display: unset;
}

#page #s-menu {
    display: block;
    position: absolute;
    top: 23px;
    right: 17px;
    z-index: 200;
}

#page #s-menu .to-open,
#page #s-menu.active .to-close {
    display: block;
    transition: all 0.4s;
}

#page #s-menu .to-close,
#page #s-menu.active .to-open {
    display: none;
    transition: all 0.4s;
}

#page #sp-navi {
    position: fixed;
    z-index: 199;
    top: -120%;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #ffffff;
    transition: all 0.4s;
}

#page #sp-navi.panelactive {
    box-sizing: border-box;
    top: 0;
    padding: 23px 0 83px 0;
}

#page #sp-navi .sp-navi-head {
    width: fit-content;
    margin: -7px 81px 0 auto;
}

#page #sp-navi .sp-navi-content {
    margin: 50px 37px 50px 37px;
}

#page #sp-navi .sp-navi-content ul {
    list-style: none;
    padding-left: 0;
}

#page #sp-navi .sp-navi-content ul li {
    border-bottom: 1.5px solid #E2E2E2;
    padding: 0 13px;
}

#page #sp-navi .sp-navi-content ul li:last-child {
    border-bottom: none;
}

#page #sp-navi .sp-navi-content ul li a {
    font-size: 28px;
    font-weight: bold;
    color: #113478;
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: center;
    padding: 20px 0;
    position: relative;
}

#page #sp-navi .sp-navi-content ul li:last-child a {
    padding: 20px 0 0 0;
}

#page #sp-navi .sp-navi-content ul li a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 18px;
    height: 6.72px;
    background-image: url(../img/sg-li-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

#page #sp-navi .sp-navi-content ul li:nth-child(1) a img {
    width: 32px;
    height: 23.79px;
    margin: 0px 12.5px 0 0;
}

#page #sp-navi .sp-navi-content ul li:nth-child(2) a img {
    width: 34px;
    height: 30px;
    margin: -5px 11.5px 0 0;
}

#page #sp-navi .sp-navi-content ul li:nth-child(3) a img {
    width: 30px;
    height: 29px;
    margin: -3px 10.5px 0 0;
}

#page #sp-navi .sp-navi-content ul li:nth-child(4) a img {
    width: 22px;
    height: 30px;
    margin: -2px 17px 0 0;
}

#page #sp-navi .sp-navi-content ul li:nth-child(5) a img {
    width: 32px;
    height: 28px;
    margin: -4px 12px 0 0;
}

#page #sp-navi .sp-navi-content ul li:nth-child(6) a img {
    width: 26px;
    height: 34px;
    margin: -4px 15px 0 0;
}

#page #sp-navi .global-search {
    width: -webkit-fill-available;
    height: 56px;
    background-color: #113478;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 21px;
}

#page #sp-navi .global-search form {
    width: 100%;
    max-width: 333px;
    height: 100%;
    position: relative;
}

#page #sp-navi .global-search form input {
    width: -webkit-fill-available;
    height: calc(100% - 20px);
    margin: 8px 0;
    border-radius: 19px;
    border: none;
    font-size: 18px;
    padding: 4px 0 0 21px;
}

#page #sp-navi .global-search form button {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    border: none;
    background-color: unset;
    padding: 0;
    width: 22px;
    height: 22px;
}

#page #sp-navi .sp-navi-foot {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 14px;
}

#page #sp-navi .sp-navi-foot p {
    font-size: 16px;
    margin: 5px 0 0 0;
}

#page #sp-navi .sp-navi-foot .head-gmap {
    color: #ffffff;
    font-size: 14px;
    width: 100%;
    max-width: 220px;
    height: 35.59px;
    background-color: #113478;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin: 9.6px 0 11.2px 0;
}

#page #sp-navi .sp-navi-foot .sp-navi-foot-tel {
    color: #113478;
}

#page #header>.in100per {
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
}

#page #header .header-flex {
    width: -webkit-fill-available;
    justify-content: space-between;
    padding: 7.1px 81px 0 14.1px;
    align-items: flex-start;
}

#page #header .logo {
    margin-right: 0;
    width: 346px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#header .logo img {
    height: auto;
}

#page #header .logo .header-sp-tel {
    margin-top: 10px;
}

#page #header .logo .header-sp-tel a {
    font-size: 23px;
    font-weight: bold;
    color: #113478;
}

#page #header .mailer {
    margin: 10px 0 0 0;
    height: auto;
}

#page #header .open-hour .at-title {
    font-size: 14px;
}

#page #header .open-hour p,
#header .open-hour .hour-time {
    font-size: 17px;
    margin: 0;
}

#page #header .open-hour {
    width: auto;
    height: 41px;
    padding: 2px 16.1px 0 22px;
    box-shadow: unset;
    margin: -43px 0 0 auto;
}

#g-navi .global-bottom .global-news .news_list {
    height: 40px;
    padding-left: 11px;
}

#g-navi .global-bottom .category {
    font-size: 16px;
    padding: 3px 15px 0 15px;
    width: fit-content;
    height: 26px;
}

#g-navi .global-bottom .news_list .date {
    display: none;
    visibility: hidden;
}

#g-navi .news_list a {
    min-width: 98px;
}

#g-navi .news_list h3 {
    padding-top: 3px;
    font-size: 16px;
    margin-left: 8px;
}

/* お知らせ */
#page #newsletter {
    padding-top: 285.6px;
    padding-bottom: 50.7px;
}

#page #newsletter .newsletter-wrap,
#page.news-page .newsletter-wrap,
#page #news-list .newsletter-wrap,
#page #column-list .newsletter-wrap,
#page #recruit-list .newsletter-wrap,
#page.single .single-contents .article-body,
#page.single .single-contents .single-body,
#page #faq .faq-wrap .content-none-sorry {
    width: 100%;
    max-width: unset;
    margin: 0 auto;
}

.news-container,
.column-container,
.recruit-container {
    max-width: unset;
    border: 4px solid #113478;
    border-radius: 32px;
    padding: 20px 22px 12px 22px;
}

/* よくある質問 */
#page #faq-accord {
    padding-top: 218.6px;
    padding-bottom: 73.1px;
}

#page #faq-accord .faq_list:before {
    top: -38%;
    left: 44%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 366.6px;
    height: 100%;
    max-height: 285.6px;
    background-image: url(../img/teaser/title_faq_sp.svg);
    z-index: -1;
}

/* 下層ページ */
#page #about {
    background-image: url(../img/teaser/aurora_bg.svg);
    background-attachment: fixed;
    background-color: rgba(255, 255, 255, 0.65);
    background-blend-mode: lighten;
}

/* #page #about #lead {
    padding: 315px 24px 0 24px;
    position: relative;
    z-index: 1;
}

#page #about #lead .section-border {
    padding: 50px 40px 90px 40px;
}

#page #about #lead .section-border:before {
    content: '';
    position: absolute;
    top: -335px;
    left: -3%;
    width: 74%;
    max-width: 701.06px;
    height: 100%;
    max-height: 412.58px;
    background-image: url(../img/pagetitle_about_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
} */

#page #guidance .department-wrap section,
#page #first .atfirst-wrap section,
#page #about .intro-wrap section {
    padding: 50px 23px 0;
}

#page #about .intro-wrap section#sect1 {
    margin-top: 0;
    padding: 245px 23px 0;
}

#page #about section#sect1 .section-border .accordion-header:before {
    content: '';
    position: absolute;
    top: -277px;
    left: -1%;
    width: 74%;
    max-width: 701.06px;
    max-height: 412.58px;
    background-image: url(../img/pagetitle_about_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}

#page #about #sect2 {
    margin-top: 0;
    padding-top: 120px;
}

#page #about section .section-border {
    padding: 62px 40px 73px 40px;
}

#page #about #access {
    padding: 50px 24px 0 24px;
}

#page #about section:last-child,
#page #guidance .department-wrap section:last-child,
#page #first section:last-child {
    margin-bottom: 0;
    padding-bottom: 66px;
    z-index: unset;
}

#page #guidance #sect1 {
    padding-top: 286px;
}

#page #guidance .department-wrap section,
#page #result .result-wrap section,
#page #result .result-wrap #lead,
#page #result .result-wrap section {
    padding: 50px 24px 0 24px;
}

#page #guidance section#sect1 .section-border .accordion-header:before {
    top: -340px;
    left: 47.9%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 617.58px;
    height: 412.58px;
    max-height: 412.58px;
    background-image: url(../img/teaser/title_guidance_sp.svg);
    z-index: -1;
}

#page #guidance .section-border .guide_titleflex {
    padding-bottom: 1rem;
}

#page #first section#sect1 .section-border .accordion-header:before {
    top: -432px;
    left: 31%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 873.36px;
    height: 419px;
    max-height: 418.58px;
    background-image: url(../img/teaser/title_at-first_sp.svg);
    z-index: -1;
}

#page #first #sect1 {
    padding-top: 314px;
}

#page #first section .section-border {
    padding: 62px 40px 73px 40px;
}

#page #first section .section-border h3 {
    line-height: 1.8rem;
}

#page #first #sect1 h3:before {
    top: -195px;
}

/* #page #first section#sect1 .section-border {
    padding: 113px 40px 80.8px 40px;
} */

#page.news-page .newsletter-wrap,
#page #news-list .newsletter-wrap,
#page #column-list .newsletter-wrap,
#page #recruit-list .newsletter-wrap,
#page.single .single-contents .article-body {
    min-height: calc(100vh - 181px);
    padding: 224px 0 66px 0;
}

#page.news-page .recruit-container,
#page #column-list .newsletter-wrap,
#page #recruit-list .newsletter-wrap,
#page.single .single-contents .article-body {
    margin-bottom: 0;
    z-index: unset;
}

#page.news-page .newsletter-wrap:before,
#page #news-list .newsletter-wrap::before,
#page #column-list .newsletter-wrap::before,
#page #recruit-list .newsletter-wrap::before,
#page.single .single-contents .article-body::before {
    content: '';
    position: absolute;
    top: -1%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 630.46px;
    height: 100%;
    max-height: 285.6px;
    background-image: url(../img/top_sp_news.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

#page #faq .faq-wrap {
    padding-top: 248px;
    padding-bottom: 73px;
    min-height: calc(100vh - 181px);
}

#page #faq #faq-accord .faq_list:before {
    top: -276px;
    left: 39%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    max-width: 487.1px;
    height: 100%;
    max-height: 412.58px;
    background-image: url(../img/pagetitle_faq_sp.svg);
    z-index: -1;
}

/* お問い合わせ */
#page #contact section {
    padding-top: 240px;
}

#page #contact .section-border,
#page #thanks .section-border,
#page #article_404 .section-border {
    z-index: unset;
    margin-bottom: 68.7px;
}

#page #contact .section-border:before,
#page #thanks .section-border:before {
    top: -253px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
    z-index: -1;
}

#page #contact .section-border table td input,
#page #contact .section-border table td textarea {
    max-width: unset;
}

/* サンクスページ */
#page #thanks section {
    padding-top: 190px;
}

#page #thanks section ul,
#page #article_404 section ul {
    margin: 35px auto 0;
    width: fit-content;
}

/* 検索結果 */
#page #result .result-wrap h2 {
    font-size: 2.5rem;
    margin-bottom: 0;
}

#page #result h3 {
    font-size: 1.563rem;
}

#page #result .result-wrap .section-border {
    padding: 12px 1rem 10px;
    border-radius: calc(infinity * 1px);
    margin: 0 auto 30px;
    width: 50vw;
    min-width: 250px;
}

#page #result .result-wrap .section-border.no-result {
    width: 100%;
    min-width: unset;
}

/* トップページ次へボタン改修 */
.next_btn_fixed {
    display: none;
    pointer-events: none;
    z-index: -1;
}

/* モーダル改修 */
#page .lightbox .lb-image {
    width: 82vw !important;
    height: 600px !important;
}













@media (max-width: 900px) {
    #page #about #lead .section-border:before {
        top: -315px;
        left: -4%;
    }
}

@media (max-width: 870px) {
    #page #first section#sect1 .section-border .accordion-header:before {
        top: -390px;
    }
}

@media (max-width: 860px) {
    #at-first .section-border:before {
        top: -18%;
    }

    #page #access .map_box:before {
        left: 32%;
    }
}

@media (max-width: 855px) {
    #page #first #sect1 .section-border:before {
        top: -50%;
    }
}

@media (max-width: 851px) {
    #page #guidance #sect1 .section-border:before {
        top: -43%;
    }
}

@media (max-width: 815px) {
    #page #first #sect1 .section-border:before {
        top: -46%;
    }
}

@media (max-width: 800px) {
    #page #header .logo {
        width: 173px;
    }

    #page #header .logo .header-sp-tel a {
        font-size: 18px;
    }

    #page #header .header-flex {
        align-items: center;
    }

    #page #header .mailer {
        margin: 0;
    }

    #page #header .open-hour {
        margin: 6.7px 0 0 auto;
    }

    #page #about #lead .section-border:before {
        top: -285px;
    }
}

@media (max-width: 768px) {
    #info .section-border::before {
        top: -32%;
    }

    #at-first .section-border:before {
        top: -16.5%;
        left: 32%;
    }

    .faq-box h3 {
        font-size: 22px;
    }

    #faq-accord .faq_list:before {
        left: 41.5%;
    }

    #access .section-border:before {
        top: -255px;
        left: 28%;
    }

    #g-navi .global-bottom .category {
        font-size: 16px;
        border-radius: 15px;
        padding: 2px 0 0 0;
        width: 98px;
        height: 26px;
    }

    #g-navi .global-bottom .news_list .date {
        display: none;
        visibility: hidden;
    }

    #g-navi .news_list h3 {
        padding-top: 3px;
        font-size: 16px;
        text-align: left;
        margin-left: 7px;
    }

    #page #at-first .section-border:before {
        left: 29.5%;
    }

    #page #access .map_box:before {
        left: 28%;
    }

    #page article:not(#top) #newsletter .newsletter-wrap:before {
        width: 560.46px;
    }

    #page #faq-accord .faq_list:before {
        left: 42%;
    }

    /* #page #about #lead {
        padding: 157.5px 24px 0 24px;
    }

    #page #about #lead .section-border {
        padding: 69px 22px 47px 22px;
    }

    #page #about #lead .section-border:before {
        top: -165px;
        left: 39%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 350.53px;
        max-width: unset;
        height: 206.29px;
        max-height: unset;
    }

    #page #about #lead h3:before {
        top: -120px;
        width: 133px;
        height: 104px;
    } */

    #page #about h3,
    #page #about section .section-border h3,
    #page #first section .section-border h3 {
        font-size: 1.375rem;
        margin-bottom: 32px;
        line-height: 1.5rem;
    }

    #page #about h3::after {
        max-width: 169px;
    }

    #page #about #lead .section-border p {
        margin: 32px 0 0 0;
    }

    #page #about #lead .section-border .director-name {
        margin-top: 37px;
        font-size: 1.563rem;
    }

    #page #about #lead .director-title {
        font-size: 1.188rem;
        margin-right: 6.5px;
    }

    #page #about p,
    #page #about ol li,
    #page #first #sect3 ul li,
    #page #faq .faq-answer li,
    #page #top #faq-accord .faq-answer li,
    #page #first p,
    #page.single .single-contents .single-body p {
        font-size: 0.875rem;
        line-height: 1.5rem;
        padding: 0 10px;
    }

    /* #page #about section,
    #page #guidance .department-wrap section,
    #page #first section {
        padding-top: 20px;
    } */

    #page #about section .section-border {
        padding: 35px 22px 36px 22px;
    }

    #page #about section .section-border h4 {
        font-size: 1.125rem;
        border: 2px solid #113478;
        max-width: 273px;
    }

    #page #about section#sect8 .section-border h4 {
        font-size: 1rem;
    }

    #page #about section#sect3 .section-border h4 {
        margin-top: 20px;
    }

    #page #about #sect2 .section-border .introduction,
    #page #about #sect4 .section-border .introduction {
        padding-bottom: 30px;
        margin-bottom: 27px;
    }

    #page #about #sect2 .section-border p,
    #page #about #sect4 .section-border p {
        margin-bottom: 29px;
    }

    #page #about #sect3 img {
        max-width: 220px;
        margin: 0 auto 41px auto;
    }

    #page #about #sect5 .ac-adress,
    #page #about #sect5 .ac-info {
        position: relative;
        margin-bottom: 23px;
        padding-bottom: 23px;
    }

    #page #about #sect5 .ac-adress img {
        margin-bottom: 18px;
    }

    #page #about #sect5 .section-border h4 {
        margin: 0 auto 13px auto;
    }

    #page #about section#sect5 .section-border h4.doc_margin {
        margin-top: 30px;
    }

    #page #about #sect5 p {
        margin: 0 auto;
    }

    #page #about section#sect5 .section-border p.introduction {
        padding-bottom: 30px;
        margin-bottom: 30px;
    }

    #page #about #sect5 .g-map {
        margin: 0 auto 17px auto;
    }

    #page #guidance .department-wrap section .section-border {
        padding: 19px 32px 32px 32px;
    }

    #page #guidance .section-border p {
        padding: 0;
        margin-top: 18px;
        font-size: 0.875rem;
        line-height: 1.5rem;
    }

    #page #guidance #sect1 {
        padding-top: 143px;
    }

    /* #page #guidance #sect1 .section-border:before {
        top: -38%;
        left: 47.9%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 100%;
        max-width: 308.79px;
        height: 100%;
        max-height: 206.29px;
        background-image: url(../img/teaser/title_guidance_sp.svg);
        z-index: -1;
    } */

    #page #guidance section#sect1 .section-border .accordion-header:before {
        top: -174px;
        width: 308px;
        max-height: 207px;
    }

    #page #guidance h3 {
        font-size: 1.375rem;
        white-space: nowrap;
    }

    #page #guidance .section-border .guide_titleflex img {
        width: 38px;
    }

    #page #guidance .section-border .guide-innerimg,
    #page #first .section-border .guide-innerimg,
    #page #about .section-border .guide-innerimg {
        max-width: 208px;
        max-height: 170px;
        margin-top: 17px;
    }

    #page #first section .section-border {
        padding: 37px 22px 40px 22px;
    }

    #page #first section#sect1 .section-border {
        padding: 68px 22px 40px 22px;
    }

    #page #first section#sect1 .section-border:has(.accordion-content.hidden),
    #page #first section .section-border:has(.accordion-content.hidden) {
        padding-bottom: 13.5px;
    }

    #page #first #sect1 {
        padding-top: 157px;
    }

    #page #first #sect1 h3:before {
        width: 129px;
        height: 101px;
        top: -119px;
    }

    #page #first section#sect1 .section-border .accordion-header:before {
        width: 433px;
        height: 206px;
        top: -235px;
        left: 37%;
    }

    #page #first #sect4 .flow-next {
        width: 39px;
        margin: 27px auto 25px auto;
    }

    #page #first .first-flow h4::before {
        left: 2.9px;
        width: 22.4px;
        height: 22.4px;
        background-size: contain;
    }

    #page #first section .section-border h4 {
        font-size: 1.125rem;
        padding: 0 0 10px 32.6px;
    }

    #page #first #sect1 .section-border:before {
        top: -170px;
        left: 37%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 436.68px;
        height: 209.29px;
        background-image: url(../img/teaser/title_at-first_sp.svg);
        z-index: -1;
    }

    #page #contact .section-border:before,
    #page #thanks .section-border:before {
        top: -155px;
        width: 275.25px;
        height: 206.29px;
        background-image: url(../img/pagetitle_contact_sp.svg);
    }

    #page #contact section {
        padding-top: 143.5px;
    }

    #page #contact .section-border {
        padding: 28px 30px 40px;
    }

    #page #contact h1,
    #page #thanks section h2,
    #page #article_404 section h1 {
        font-size: 1.375rem;
        line-height: 1.5rem;
        padding-bottom: 21px;
    }

    #page #contact .contact-lead ul,
    #page #thanks section ul,
    #page #article_404 section ul {
        padding: 20px 0 0;
    }

    #page #contact .contact-lead ul li,
    #page #thanks section ul li,
    #page #article_404 section ul li {
        font-size: 0.875rem;
        text-indent: -1.5rem;
        padding-left: 1.5rem;
        margin-bottom: 22px;
    }

    #page #contact .contact-lead ul li span,
    #page #thanks section ul li span,
    #page #article_404 section ul li span {
        color: #2693D2;
        margin-right: 10px;
    }

    #page #contact .contact-lead a:not(.tel-sp) {
        display: none;
    }

    #page #contact .contact-lead a.tel-sp {
        display: flex;
        margin: 0 auto;
        font-weight: normal;
        font-size: 0.813rem;
        align-items: center;
        justify-content: center;
        line-height: 1.2rem;
        padding: 9px 0 7px 10px;
        max-width: 202px;
    }

    #page #contact .contact-lead a.tel-sp img {
        margin: -3px 4px 0 0;
    }

    #page #contact .section-border form {
        padding: 25px 0 0 0;
    }

    #page #contact .section-border h4 {
        font-size: 1rem;
    }

    #page #contact .section-border .must {
        margin: 0 0 0 7.8px;
        width: 42px;
        height: calc(21px - 2px);
        font-size: 0.75rem;
    }

    #page #contact .section-border td:has(p) p {
        font-size: 0.75rem;
    }

    #page #contact .section-border .contact-check {
        margin-top: 17px;
    }

    #page #contact .section-border .contact-check label,
    #page #contact .section-border .contact-check a {
        font-size: 0.625rem;
    }

    #page #contact .section-border input[type="checkbox"] {
        width: 17px;
        height: 17px;
    }

    #page #contact .section-border .mfp_buttons button,
    #page #thanks .page-return a,
    #page #article_404 .page-return a {
        font-size: 0.938rem;
        padding: 7.5px 0 9.5px 10px;
        max-width: 243px;
    }

    #page #contact .section-border .contact-check label {
        text-indent: -27px;
        padding-left: 27px;
    }

    #page #contact .section-border table.mailform {
        padding: 0;
    }

    #page #thanks section {
        padding-top: 93.5px;
    }

    #page #article_404 section p {
        font-size: 1rem;
    }

    #page #thanks .section-border img {
        top: -23px;
        max-width: 136px;
    }

    #page #article_404 .section-border img {
        top: -50px;
        max-width: 136px;
    }

    #page #thanks .section-border,
    #page #article_404 .section-border {
        padding: 79px 30px 31.5px;
    }

    #page #thanks section ul,
    #page #article_404 section ul {
        margin: 0 auto;
    }

    #page #thanks .page-return,
    #page #article_404 .page-return {
        margin-top: 31px;
    }

    #page #thanks .page-return a,
    #page #article_404 .page-return a {
        padding: 11.5px 0 9.5px 10px;
        width: calc(100% - 10px);
    }
}

@media (max-width: 700px) {
    #at-first .section-border:before {
        top: -14.5%;
        left: 32.5%;
    }

    #page #at-first .section-border:before {
        left: 26.5%;
    }

    #page #about #lead .section-border:before {
        left: 38%;
    }

    #page #first #sect1 .section-border:before {
        left: 36%;
    }
}

@media (max-width: 659px) {
    #page #faq-accord .faq_list:before {
        top: -36%;
        left: 41%;
    }

    #page #about #lead .section-border:before {
        left: 37%;
    }

    #page #first #sect1 .section-border:before {
        left: 35%;
    }
}

@media (max-width: 630px) {
    #at-first .section-border:before {
        top: -12.5%;
        left: 33.5%;
    }

    #access .section-border:before {
        top: -209px;
    }

    #page #access .map_box:before {
        left: 24%;
    }

    #page #about #lead .section-border:before {
        left: 36%;
    }
}

@media (orientation: landscape) {
    body {
        overflow-y: scroll;
    }

    #page #header {
        position: relative;
    }

    #page #sp-navi {
        top: -250%;
    }

    #page #sp-navi.panelactive {
        overflow: scroll;
    }

    #page #header .open-hour {
        margin: 0 0 0 auto;
    }

    #page #header .logo {
        width: 200px;
    }

    #page #g-navi {
        position: static;
    }

    #page article {
        padding-top: 0;
    }

    #btm-biz-img {
        width: 30%;
    }
}