@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 新規の場合使用 */
:root {
    /* --main-color: #0068B7; */
    --main-color: #C00419;
    --sub-color: #ea6060;
}

body {
    color: #1A1A1A;
    font-size: 16px;
    line-height: 1.7;
    font-family: "Noto Sans JP", sans-serif;
    -webkit-text-size-adjust: 100%;
    min-width: 1440px;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

a[href $='.pdf'] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    text-decoration: underline;
    color: #fff;
    line-height: 1.5;
}

a[href $='.pdf']::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 30px;
    height: 38px;
    mask-image: url(/wp-content/themes/swell_child/image/icon/icon_pdf.svg);
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: center;
    margin-right: 15px;
    background: #fff;
}

a[href $='.pdf']:hover {
    text-decoration: none;
}

/* PC固定ページ 共通設定 */

.common_page_wrap {
    padding: 100px 0;
}

.not_found .text {
    text-align: center;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}

/* パンくず */
.breadcrumb {
    font-size: 12px;
    color: #3E3E3E;
    letter-spacing: .08em;
}

.breadcrumb a {
    text-decoration: none;
    color: #3E3E3E;
}

/* PC固定ページ 404ページ */
#page_404 {
    text-align: center;
}

#page_404 .num {
    font-size: 100px;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

main {
    overflow: hidden;
}

html {
    scroll-behavior: smooth;
}

html.active {
    overflow: hidden;
}

.font_eurostile {
    font-family: "eurostile-condensed", sans-serif;
    font-weight: 800;
}

/* 共通部分 (pc) ------------------------------------------------------------------------------------------------------ */

span,
a {
    font-weight: inherit;
    display: inline-block;
}

body figure {
    margin: 0;
}

/* body img {
    -o-object-fit: cover;
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

a.common_btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-transition: background 0.3s, color 0.3s, border 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    aspect-ratio: 220/60;
    width: 220px;
    padding-left: 35px;
    border: 1px solid transparent;
    border-radius: 4px;
    background-color: #C00419;
    color: #FFF;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.12em;
    transition: background 0.3s, color 0.3s, border 0.3s ease 0s;
}

a.common_btn::after {
    -webkit-transform: translateY(-50%);
    -webkit-transition: background 0.3s ease 0s;
    position: absolute;
    top: calc(50% + 2px);
    right: 20px;
    aspect-ratio: 1/2;
    width: 9px;
    transform: translateY(-50%);
    background-image: url(/wp-content/themes/swell_child/image/common_arrow1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    transition: background 0.3s ease 0s;
}

a.common_btn:hover {
    border: 1px solid #C00419;
    background-color: #FFF;
    color: #C00419;
}

a.common_btn:hover::after {
    background-image: url(/wp-content/themes/swell_child/image/common_arrow2.svg);
}

.common_contact {
    z-index: 10300;
    position: relative;
    padding: 80px 0;
    overflow: hidden;
    color: #FFF;
}

.common_contact::before {
    z-index: -5;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1A1A1A;
    content: "";
    opacity: 0.8;
}

.common_contact .contact_img {
    -webkit-transform: translate(-50%, -50%);
    z-index: -10;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

.common_contact .contact_img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.common_contact .contact_heading {
    font-size: 80px;
    line-height: 1;
}

.common_contact .contact_text {
    margin-top: 15px;
    font-weight: 400;
    font-size: 15px;
    letter-spacing: 0.1em;
}

.common_contact .contact_items {
    display: grid;
    grid-template-columns: 380px 420px 1fr;
    margin-top: 40px;
}

.common_contact .contact_item.reserve .contact_btn {
    background-color: #C00419;
    color: #FFF;
}

.common_contact .contact_item.reserve .contact_btn::before {
    background-image: url(/wp-content/themes/swell_child/image/common_icon_reserve.svg);
}

.common_contact .contact_item.reserve .contact_btn::after {
    background-image: url(/wp-content/themes/swell_child/image/common_arrow1.svg);
}

.common_contact .contact_item.mail {
    border-right: 1px solid rgba(255, 255, 255, 0.6);
    border-left: 1px solid rgba(255, 255, 255, 0.6);
}

.common_contact .contact_item.mail .contact_btn {
    background-color: #FFF;
    color: #C00419;
}

.common_contact .contact_item.mail .contact_btn::before {
    background-image: url(/wp-content/themes/swell_child/image/common_icon_mail.svg);
}

.common_contact .contact_item.mail .contact_btn::after {
    background-image: url(/wp-content/themes/swell_child/image/common_arrow2.svg);
}

.common_contact .contact_item.tel {
    padding-left: 40px;
}

.common_contact .contact_lead {
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.08em;
    text-align: center;
}

.common_contact .contact_btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-transition: opacity 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    aspect-ratio: 340/74;
    width: 340px;
    margin: 10px auto 0;
    border-radius: 4px;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.12em;
    transition: opacity 0.3s ease 0s;
}

.common_contact .contact_btn::before {
    -webkit-transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 20px;
    aspect-ratio: 1/1;
    width: 34px;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

.common_contact .contact_btn::after {
    -webkit-transform: translateY(-50%);
    position: absolute;
    top: calc(50% + 2px);
    right: 20px;
    aspect-ratio: 1/2;
    width: 9px;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

.common_contact .contact_btn:hover {
    opacity: 0.7;
}

.common_contact .contact_tel {
    margin-top: 5px;
    font-size: 42px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-align: center;
    pointer-events: none;
}

.common_contact .contact_time {
    margin-top: 5px;
    color: #C1C1C1;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
}

.common_fv {
    margin-top: 90px;
}

.common_fv .common_fv_head {
    position: relative;
    padding: 140px 0 100px;
}

.common_fv .common_fv_heading_ja {
    color: #FFF;
    font-weight: 800;
    font-size: 44px;
    line-height: 1;
    letter-spacing: 0.08em;
}

.common_fv .common_fv_heading_ja span.ml {
    margin-left: -25px;
}

.common_fv .common_fv_heading_ja span.mr {
    margin-right: -15px;
}

.common_fv .common_fv_heading_en {
    margin-top: 10px;
    color: #FFF;
    font-size: 34px;
}

.common_fv .common_fv_img,
.common_fv .common_fv_bg {
    z-index: -10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.common_fv .common_fv_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_fv .common_fv_bg {
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

.common_fv .common_fv_bread {
    margin-top: 7px;
}

.common_fv .common_fv_items {
    -ms-flex-wrap: wrap;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 5px;
    flex-wrap: wrap;
    color: #848484;
    font-size: 12px;
    letter-spacing: 0.08em;
}

.common_fv .common_fv_items span a span {
    -webkit-transition: opacity 0.3s ease 0s;
    transition: opacity 0.3s ease 0s;
}

.common_fv .common_fv_items span a span:hover {
    opacity: 0.7;
}

.wp-pagenavi {
    text-align: center;
    margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    color: #999;
    background-color: #FFF;
    border: solid 1px #e0e0d2;
    padding: 8px 15px;
    margin: 0 2px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
}

.wp-pagenavi a:hover {
    color: #FFF;
    background-color: #C00419;
    border-color: #C00419 !important;
}

.wp-pagenavi .current {
    color: #FFF;
    background-color: #C00419;
    border-color: #C00419 !important;
    font-weight: bold;
}

.common_section {
    padding: 100px 0 120px;
}

/* header (pc) ------------------------------------------------------------------------------------------------------ */

.header {
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    z-index: 10500;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    min-width: 1440px;
    height: 110px;
    padding: 0 50px;
    border-top: 5px solid #C00419;
    border-radius: 0 0 14px 14px;
    background-color: #FFF;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.header .header_inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    height: 100%;
}

.header .header_logo {
    -webkit-transition: opacity 0.3s ease 0s;
    width: 280px;
    margin-top: -15px;
    transition: opacity 0.3s ease 0s;
}

.header .header_logo:hover {
    opacity: 0.7;
}

.header .header_nav {
    margin-left: auto;
}

.header .header_links {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 30px;
    align-items: center;
    justify-content: flex-end;
}

.header .header_link {
    position: relative;
}

.header .header_link::before {
    -webkit-transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: -16px;
    transform: translateY(-50%);
    content: "/";
    color: #D3616E;
    font-weight: 400;
    font-size: 12px;
}

.header .header_link:last-child::before {
    display: none;
}

.header .header_link a {
    -webkit-transition: opacity 0.3s ease 0s;
    color: #D3616E;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.08em;
    transition: opacity 0.3s ease 0s;
}

.header .header_link a:hover {
    opacity: 0.7;
}

.header .header_items {
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 40px;
    align-items: center;
    margin-top: 10px;
}

.header .header_item a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 8px;
    -moz-column-gap: 8px;
    -webkit-transition: opacity 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 8px;
    align-items: center;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.1em;
    transition: opacity 0.3s ease 0s;
}

.header .header_item a:hover {
    opacity: 0.7;
}

.header .header_item a::before {
    aspect-ratio: 1/1;
    width: 5px;
    border-radius: 50%;
    background-color: #C00419;
    content: "";
}

/* footer (pc) ------------------------------------------------------------------------------------------------------ */

.footer {
    z-index: 10300;
    position: relative;
    padding-top: 70px;
    background-color: #B10014;
}

.footer .footer_container {
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    display: grid;
    grid-template-columns: 1fr 390px;
    column-gap: 50px;
    padding: 50px 60px;
    border-radius: 6px;
    background-color: #FFF;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.footer .footer_body {
    padding-right: 50px;
    border-right: 2px solid #D0D0D0;
}

.footer .footer_head {
    -webkit-box-align: end;
    -ms-flex-align: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
}

.footer .footer_logo {
    -webkit-transition: opacity 0.3s ease 0s;
    width: 300px;
    margin-top: -20px;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_logo:hover {
    opacity: 0.7;
}

.footer .footer_company {
    margin-top: 8px;
    color: #6C6C6C;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.08em;
}

.footer .footer_address {
    margin-top: 3px;
    color: #6C6C6C;
    font-weight: 400;
    font-size: 12px;
    letter-spacing: 0.08em;
}

.footer .footer_sns {
    margin-left: auto;
}

.footer .footer_follow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #4B4B4B;
    font-size: 24px;
    text-align: center;
}

.footer .footer_follow::after {
    aspect-ratio: 84/7;
    width: 84px;
    background-image: url(/wp-content/themes/swell_child/image/footer_deco.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

.footer .footer_icons {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 12px;
    align-items: center;
    margin-top: 10px;
}

.footer .footer_icon {
    -webkit-transition: opacity 0.3s ease 0s;
    aspect-ratio: 1/1;
    width: 50px;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_icon:hover {
    opacity: 0.7;
}

.footer .footer_text {
    margin-top: 25px;
    padding: 15px 20px;
    border-radius: 6px;
    background-color: #F4F4F4;
    color: #606060;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.1em;
}

.footer .footer_map {
    aspect-ratio: 390/320;
    overflow: hidden;
    border-radius: 6px;
}

.footer .footer_map iframe {
    width: 100%;
    height: 100%;
}

.footer .footer_contents {
    -webkit-column-gap: 70px;
    -moz-column-gap: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 70px;
    margin-top: 45px;
}

.footer .footer_item a {
    -webkit-transition: opacity 0.3s ease 0s;
    color: #FFF;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.1em;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_item a:hover {
    opacity: 0.7;
}

.footer .footer_item+.footer_item {
    margin-top: 10px;
}

.footer .footer_lead {
    width: 230px;
    padding-bottom: 5px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
    color: #FFF;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.1em;
}

.footer .footer_lists {
    margin-top: 15px;
}

.footer .footer_list a {
    -webkit-transition: opacity 0.3s ease 0s;
    color: #F7D4D9;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.1em;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_list a:hover {
    opacity: 0.7;
}

.footer .footer_list+.footer_item {
    margin-top: 6px;
}

.footer .footer_wrap {
    -webkit-column-gap: 28px;
    -moz-column-gap: 28px;
    display: grid;
    grid-template-columns: repeat(2, 556px);
    column-gap: 28px;
    margin-top: 40px;
}

.footer .footer_inner {
    padding: 25px 30px;
    border-radius: 6px;
    background-color: #A50012;
}

.footer .footer_message {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 12px;
    align-items: center;
    color: #FFF;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.footer .footer_message::after {
    width: 100%;
    height: 1px;
    border-top: 1px dashed rgba(255, 255, 255, 0.6);
    content: "";
}

.footer .footer_links {
    -ms-flex-wrap: wrap;
    -webkit-column-gap: 4px;
    -moz-column-gap: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 4px;
    flex-wrap: wrap;
    margin-top: 15px;
}

.footer .footer_link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 4px;
    -moz-column-gap: 4px;
    -webkit-transition: opacity 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 4px;
    align-items: center;
    color: #FFF;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.08em;
    transition: opacity 0.3s ease 0s;
}

.footer .footer_link:hover {
    opacity: 0.7;
}

.footer .footer_link::after {
    content: "/";
}

.footer .footer_link:last-child::after {
    display: none;
}

.footer .footer_bottom {
    margin-top: 70px;
    padding: 15px 0 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    color: #FFF;
    font-weight: 400;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-align: center;
}

.footer .footer_bottom small {
    font-size: 100%;
}

/* top_fv (pc) ----------------------------------------------------------------- */
.top_fv {
    position: relative;
    margin-top: 100px;
}

.top_fv .fv_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
    z-index: 10;
}

.top_fv .swiper-wrapper {
    transition-timing-function: linear;
}

.top_fv .swiper-slide {
    width: 640px;
    aspect-ratio: 640/620;
}

.top_fv .fv_contents {
    /* position: absolute; */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    color: #FFF;
    position: relative;
}

.top_fv .wrap {
    width: 1240px;
    height: 100%;
}

.top_fv .fv_wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 280px 0 100px;
}

.top_fv .fv_message {
    font-size: 118px;
    line-height: 1;
    opacity: 0.15;
    margin-left: -50px;
}

.top_fv .fv_lead {
    font-size: 56px;
    font-weight: 800;
    margin-top: -70px;
}

.top_fv .fv_lead span.size {
    font-size: 66px;
}

.top_fv .fv_lead span.ls {
    margin-left: -0.3em;
}

.top_fv .fv_text {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

/* top_search (pc) ----------------------------------------------------------------- */
.top_search {
    padding-top: 120px;
}

.top_search .search_heading_en {
    line-height: 1;
    color: #E50D1A;
    font-size: 70px;
}

.top_search .search_heading_ja {
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: 400;
    margin-top: 10px;
}

.top_search .search_wrapper {
    display: grid;
    grid-template-columns: 1fr 400px;
    margin-top: 30px;
}

.top_search .search_items {
    display: grid;
    grid-template-columns: repeat(2, 330px);
    column-gap: 25px;
}

.top_search .search_item {
    padding: 20px;
    display: grid;
    grid-template-columns: 100px 1fr;
    column-gap: 20px;
    align-items: center;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease 0s;
}

.top_search .search_item:hover {
    transform: translateY(-10px);
}

.top_search .search_item::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    width: 20px;
    height: 100%;
    background-color: #C00419;
}

.top_search .search_item::after {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    right: 5px;
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    aspect-ratio: 1/2;
    width: 9px;
}

.top_search .search_img {
    aspect-ratio: 1/1;
}

.top_search .search_img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top_search .search_text_en {
    font-size: 16px;
    color: #F0BCC2;
}

.top_search .search_text_ja {
    font-size: 18px;
    letter-spacing: 0.12em;
    font-weight: 600;
    color: #1A1A1A;
}

.top_search .search_lead {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.top_search .search_lead_en {
    font-size: 30px;
}

.top_search .search_lead::before {
    content: "";
    width: 3px;
    height: 28px;
    background-color: #E50D1A;
    border-radius: 5px;
    margin-right: 15px;
}

.top_search .search_lead_en span {
    color: #E50D1A;
}

.top_search .search_lead_ja {
    margin-left: 12px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-top: 10px;
}

.top_search .search_free {
    width: 685px;
    margin-top: 10px;
    display: flex;
    position: relative;
}

.top_search [type="text"] {
    appearance: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    border: none;
    border-radius: 6px 0 0 6px;
    background-color: #FFF;
    padding: 10px 20px;
    color: inherit;
    font-family: inherit;
    font-size: 13px;
    width: calc(100% - 54px);
    height: 54px;
}

.top_search [type="text"]::placeholder {
    color: #B9B9B9;
    font-size: 13px;
    letter-spacing: 0.08em;
}

.top_search [type="submit"] {
    width: 54px;
    aspect-ratio: 1/1;
    background-color: #C00419;
    border-radius: 0 6px 6px 0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    position: relative;
    z-index: 10;
    background-image: url(/wp-content/themes/swell_child/image/top_search_icon3.svg);
    background-size: 70%;
    background-position: center center;
    background-repeat: no-repeat;
}

.top_search .search_lists {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
}

.top_search .search_list {
    font-size: 13px;
    color: #707070;
    letter-spacing: 0.08em;
    position: relative;
}

.top_search .search_list::after {
    position: absolute;
    content: "/";
    right: -18px;
}

.top_search .search_list:last-child:after {
    display: none;
}

.top_search .search_banner {
    aspect-ratio: 400/325;
    transition: opacity 0.3s ease 0s;
}

.top_search .search_banner:hover {
    opacity: 0.7;
}

/* top_pick (pc) ----------------------------------------------------------------- */
.top_pick {
    padding-top: 100px;
}

.top_pick .pick_heading_en {
    color: #E50D1A;
    line-height: 1;
    font-size: 50px;
    text-align: center;
}

.top_pick .pick_heading_ja {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 10px;
}

.top_pick .pick_items {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(5, 188px);
    column-gap: 25px;
    justify-content: center;
    padding-bottom: 65px;
    position: relative;
}

.top_pick .pick_items::before {
    position: absolute;
    content: "";
    background-color: #F8F8F8;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 290px;
    z-index: -10;
}

.top_pick .pick_item:hover .pick_img img {
    transform: scale(1.1);
}

.top_pick .pick_item:hover .pick_img::before {
    background-color: #FFF;
    border: 1px solid #C00419;
}

.top_pick .pick_item:hover .pick_img::after {
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow2.svg);
}

.top_pick .pick_img {
    aspect-ratio: 1/1;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    position: relative;
}

.top_pick .pick_img img {
    transition: transform 0.3s ease 0s;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top_pick .pick_img::before {
    position: absolute;
    content: "";
    width: 50px;
    aspect-ratio: 1/1;
    background-color: #C00419;
    right: 0;
    bottom: 0;
    transform: translate(18px, 18px);
    border-radius: 50%;
    z-index: 10;
    transition: background 0.3s ease 0s;
}

.top_pick .pick_img::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    aspect-ratio: 1/2;
    width: 9px;
    right: 8px;
    bottom: 5px;
    z-index: 10;
    transition: background 0.3s ease 0s;
}

.top_pick .pick_lead_en {
    color: #F0BCC2;
    text-align: center;
    font-size: 16px;
    margin-top: 5px;
}

.top_pick .pick_lead_ja {
    font-size: 18px;
    font-weight: 600;
    color: #1A1A1A;
    text-align: center;
    line-height: 1;
    margin-top: 5px;
    letter-spacing: 0.12em;
}

.top_pick .pick_text {
    color: #707070;
    font-size: 12px;
    letter-spacing: 0.08em;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed #707070;
}

/* top_university (pc) ----------------------------------------------------------------- */
.top_university {
    padding: 110px 0 135px;
}

.top_university .university_heading_en {
    color: #E50D1A;
    line-height: 1;
    font-size: 70px;
    text-align: center;
}

.top_university .university_heading_ja {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 15px;
}

.top_university .university_items {
    display: grid;
    grid-template-columns: repeat(3, 364px);
    gap: 24px;
    margin-top: 35px;
}

.top_university .university_item {
    display: grid;
    grid-template-columns: 140px 1fr;
    align-items: center;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}

.top_university .university_item::before {
    position: absolute;
    content: "";
    width: 50px;
    aspect-ratio: 1/1;
    background-color: #C00419;
    right: 0;
    bottom: 0;
    transform: translate(18px, 18px);
    border-radius: 50%;
    z-index: 10;
    transition: background 0.3s ease 0s;
}

.top_university .university_item::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    aspect-ratio: 1/2;
    width: 9px;
    right: 8px;
    bottom: 5px;
    z-index: 10;
    transition: background 0.3s ease 0s;
}

.top_university .university_item:hover .university_img img {
    transform: scale(1.1);
}

.top_university .university_item:hover::before {
    background-color: #FFF;
    border: 1px solid #C00419;
}

.top_university .university_item:hover::after {
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow2.svg);
}

.top_university .university_img {
    aspect-ratio: 140/160;
    overflow: hidden;
}

.top_university .university_img img {
    transition: transform 0.3s ease 0s;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top_university .university_body {
    padding: 0 38px 5px 23px;
}

.top_university .university_lead {
    font-size: 18px;
    color: #F0BCC2;
}

.top_university .university_title {
    font-size: 18px;
    color: #1A1A1A;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.5;
    margin-top: 5px;
    border-bottom: 1px dashed #9B9B9B;
    white-space: nowrap;
    padding-bottom: 5px;
}

/* top_arrival (pc) ----------------------------------------------------------------- */
.top_arrival {
    padding: 90px 0 120px;
    background-color: #F8F8F8;
}

.top_arrival .arrival_heading_en {
    color: #E50D1A;
    line-height: 1;
    font-size: 70px;
    text-align: center;
}

.top_arrival .arrival_heading_ja {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 10px;
}

.top_arrival .arrival_cats {
    display: grid;
    grid-template-columns: repeat(6, 160px);
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 40px;
    column-gap: 16px;
}

.top_arrival .arrival_cat {
    background-color: #FAEDEF;
    color: #C00419;
    font-size: 15px;
    font-weight: 600;
    border-radius: 4px;
    padding: 8px 0;
    cursor: pointer;
    transition: color 0.3s, background 0.3s ease 0s;
    text-align: center;
}

.top_arrival .arrival_cat:hover,
.top_arrival .arrival_cat.current {
    background-color: #C00419;
    color: #FFF;
}

.top_arrival .arrival_cat.current {
    cursor: initial;
}

.top_arrival .arrival_contents {
    margin-top: 50px;
}

.top_arrival .arrival_items {
    display: grid;
    grid-template-columns: repeat(4, 264px);
    gap: 60px 28px;
    display: none;
}

.top_arrival .arrival_items>div:first-child {
    display: grid;
    grid-template-columns: repeat(4, 264px);
    gap: 60px 28px;
}

.top_arrival .arrival_items.current {
    display: grid;
}

.top_arrival .arrival_item {
    display: flex;
    flex-direction: column;
}

.top_arrival .arrival_item:hover .arrival_img img {
    transform: scale(1.1);
}

.top_arrival .arrival_item:hover .arrival_price::after {
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow4.svg);
}

.top_arrival .arrival_img {
    aspect-ratio: 264/190;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    flex-shrink: 0;
}

.top_arrival .arrival_img img {
    transition: transform 0.3s ease 0s;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top_arrival .arrival_body {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.top_arrival .arrival_title {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #1A1A1A;
    margin-top: 10px;
    position: relative;
    padding-left: 15px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.top_arrival .arrival_title::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 3px;
    height: 24px;
    background-color: #C00419;
    border-radius: 5px;
}

.top_arrival .arrival_lists {
    margin: 15px 0 10px;
}

.top_arrival .arrival_list {
    display: grid;
    grid-template-columns: 60px 1fr;
    align-items: flex-start;
    column-gap: 10px;
}

.top_arrival .arrival_list+.arrival_list {
    margin-top: 8px;
}

.top_arrival .arrival_list dt {
    background-color: #E8E7E7;
    color: #505050;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-align: center;
    padding: 2px 0;
    border-radius: 2px;
}

.top_arrival .arrival_list dd {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.09em;
    color: #505050;
    line-height: 1.5;
    margin-top: 1px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.top_arrival .arrival_list:nth-child(1) dd {
    -webkit-line-clamp: 1;
}

.top_arrival .arrival_list:nth-child(2) dd {
    -webkit-line-clamp: 2;
}

.top_arrival .arrival_price {
    margin-top: auto;
    letter-spacing: 0.04em;
    font-size: 16px;
    color: #1A1A1A;
    border-bottom: 1px dashed #9B9B9B;
    position: relative;
}

.top_arrival .arrival_price::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow3.svg);
    background-size: contain;
    background-repeat: no-repeat;
    right: 0;
    bottom: 10px;
    width: 28px;
    aspect-ratio: 1/1;
    transition: background 0.3s ease 0s;
}

.top_arrival .arrival_price span {
    font-size: 30px;
    color: #C00419;
    margin-right: 3px;
}

/* top_staff (pc) ----------------------------------------------------------------- */
.top_staff {
    padding-top: 110px;
    position: relative;
}

.top_staff::before {
    position: absolute;
    content: "";
    width: 1040px;
    aspect-ratio: 1040/910;
    background-color: #F8F8F8;
    left: 50%;
    transform: translateX(-50%);
    top: 420px;
    z-index: -10;
}

.top_staff .staff_outer {
    display: flex;
    align-items: flex-end;
}

.top_staff .staff_heading_en {
    color: #E50D1A;
    line-height: 1;
    font-size: 80px;
}

.top_staff .staff_heading_ja {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-top: 10px;
}

.top_staff .staff_btn {
    margin-left: auto;
}

.top_staff .staff_items {
    display: grid;
    grid-template-columns: repeat(2, 550px);
    gap: 40px;
    margin-top: 40px;
}

.top_staff .staff_item {
    display: grid;
    grid-template-columns: 220px 1fr;
    align-items: center;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    position: relative;
    background-color: #FFF;
}

.top_staff .staff_item::before {
    position: absolute;
    content: "";
    width: 50px;
    aspect-ratio: 1/1;
    background-color: #C00419;
    right: 0;
    bottom: 0;
    transform: translate(18px, 18px);
    border-radius: 50%;
    z-index: 10;
    transition: background 0.3s ease 0s;
}

.top_staff .staff_item::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    aspect-ratio: 1/2;
    width: 9px;
    right: 8px;
    bottom: 5px;
    z-index: 10;
    transition: background 0.3s ease 0s;
}

.top_staff .staff_item:hover .staff_img img {
    transform: scale(1.1);
}

.top_staff .staff_item:hover::before {
    background-color: #FFF;
    border: 1px solid #C00419;
}

.top_staff .staff_item:hover::after {
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow2.svg);
}

.top_staff .staff_img {
    aspect-ratio: 220/260;
    overflow: hidden;
}

.top_staff .staff_img img {
    transition: transform 0.3s ease 0s;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top_staff .staff_body {
    padding: 0 40px;
}

.top_staff .staff_logo {
    width: 160px;
}

.top_staff .staff_title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #1A1A1A;
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.top_staff .staff_title::before {
    content: "";
    width: 3px;
    height: 24px;
    background-color: #C00419;
    border-radius: 5px;
    margin-right: 12px;
}

.top_staff .staff_text {
    font-size: 13px;
    color: #707070;
    border-top: 1px dashed #9B9B9B;
    padding-top: 10px;
    margin-top: 8px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* top_blog (pc) ----------------------------------------------------------------- */
.top_blog {
    padding-top: 120px;
}

.top_blog .blog_heading_en {
    color: #E50D1A;
    line-height: 1;
    font-size: 60px;
    text-align: center;
}

.top_blog .blog_heading_ja {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 10px;
}

.top_blog .blog_items {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(3, 356px);
    column-gap: 36px;
}

.top_blog .blog_item:hover .blog_img img {
    transform: scale(1.1);
}

.top_blog .blog_item:hover .blog_time::after {
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow4.svg);
}

.top_blog .blog_img {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.top_blog .blog_img img {
    transition: transform 0.3s ease 0s;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top_blog .blog_title {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.5;
    color: #1A1A1A;
    margin-top: 15px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.top_blog .blog_text {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.08em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: #808080;
    margin-top: 10px;
}

.top_blog .blog_time {
    margin-top: 25px;
    font-size: 20px;
    color: #696969;
    border-bottom: 1px dashed #9B9B9B;
    position: relative;
    display: block;
    padding-bottom: 8px;
}

.top_blog .blog_time::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow3.svg);
    background-size: contain;
    background-repeat: no-repeat;
    right: 0;
    bottom: 10px;
    width: 28px;
    aspect-ratio: 1/1;
    transition: background 0.3s ease 0s;
}

.top_blog .blog_btn {
    margin: 45px auto 0;
}

/* top_news (pc) ----------------------------------------------------------------- */
.top_news {
    padding: 120px 0 150px;
}

.top_news .news_wrapper {
    display: grid;
    grid-template-columns: 1fr 750px;
    column-gap: 90px;
    align-items: center;
}

.top_news .news_heading_en {
    color: #E50D1A;
    line-height: 1;
    font-size: 70px;
}

.top_news .news_heading_ja {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-top: 10px;
    line-height: 1.5;
}

.top_news .news_btn {
    margin-top: 40px;
}

.top_news .news_item {
    display: flex;
    align-items: center;
    column-gap: 40px;
    background-color: #F8F8F8;
    padding: 25px 80px 25px 35px;
    position: relative;
}

.top_news .news_item:hover .news_time,
.top_news .news_item:hover .news_title {
    transform: translateX(10px);
}

.top_news .news_item:hover::after {
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow4.svg);
}

.top_news .news_item::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow3.svg);
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
    width: 28px;
    aspect-ratio: 1/1;
    transition: background 0.3s ease 0s;
}

.top_news .news_item:nth-child(2n) {
    background-color: #FFF;
}

.top_news .news_time {
    color: #C00419;
    font-size: 18px;
    flex-shrink: 0;
    transition: transform 0.3s ease 0s;
}

.top_news .news_title {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #1A1A1A;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    transition: transform 0.3s ease 0s;
}

/* top_review (pc) ----------------------------------------------------------------- */
.top_review {
    padding-top: 70px;
    position: relative;
}

.top_review .review_img {
    position: absolute;
    width: 100%;
    height: 380px;
    z-index: -10;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}

.top_review .review_img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top_review .review_img::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1A1A1A;
    opacity: 0.55;
    z-index: 10;
}

.top_review .review_heading_en {
    color: #FFF;
    line-height: 1;
    font-size: 70px;
    text-align: center;
}

.top_review .review_heading_ja {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-top: 10px;
    color: #FFF;
    text-align: center;
}

.top_review .review_container {
    background-color: #FFF;
    margin-top: 40px;
    border-radius: 8px;
    height: 370px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    padding: 40px 70px 20px;
    position: relative;
}

.top_review .review_items {
    overflow-y: scroll;
    height: 100%;
    padding-right: 45px;
}

.top_review .review_items::-webkit-scrollbar {
    width: 8px;
}

.top_review .review_items::-webkit-scrollbar-track {
    background-color: #F2F2F2;
    border-radius: 9px;
}

.top_review .review_items::-webkit-scrollbar-thumb {
    background-color: #C00419;
    border-radius: 9px;
}

.top_review .review_item {
    padding-bottom: 30px;
    border-bottom: 1px dashed #ACACAC;
}

.top_review .review_item:last-child {
    border-bottom: none;
}

.top_review .review_item+.review_item {
    margin-top: 30px;
}

.top_review .review_head {
    display: grid;
    grid-template-columns: 150px 1fr;
    column-gap: 20px;
    align-items: center;
}

.top_review .review_star {
    aspect-ratio: 150/25;
}

.top_review .review_name {
    line-height: 1;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-top: 5px;
}

.top_review .review_text {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.09em;
    color: #707070;
    margin-top: 25px;
    line-height: 1.5;
}

.top_review .review_btn {
    margin: 45px auto 0;
}

/* top_sns (pc) ----------------------------------------------------------------- */
.top_sns {
    padding: 140px 0;
    position: relative;
}

.top_sns::before {
    width: 940px;
    aspect-ratio: 940/360;
    background-color: #F8F8F8;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    content: "";
    top: 180px;
    z-index: -10;
}

.top_sns .sns_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 520px);
    column-gap: 100px;
}

.top_sns .sns_heading_en {
    color: #E50D1A;
    line-height: 1;
    font-size: 60px;
}

.top_sns .sns_heading_ja {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-top: 10px;
}

.top_sns .sns_items {
    display: grid;
    grid-template-columns: repeat(2, 250px);
    column-gap: 20px;
    margin-top: 40px;
}

.top_sns .sns_item {
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 250/340;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.top_sns .sns_item:hover img {
    transform: scale(1.05);
}

.top_sns .sns_item img {
    transition: transform 0.3s ease 0s;
}

.top_sns .sns_lists {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 162px);
    gap: 17px;
}

.top_sns .sns_list {
    aspect-ratio: 1/1;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.top_sns .sns_list:hover img {
    transform: scale(1.1);
}

.top_sns .sns_list img {
    transition: transform 0.3s ease 0s;
}

/* top_awaji (pc) ----------------------------------------------------------------- */
.top_awaji {
    padding-bottom: 155px;
}

.top_awaji .awaji_container {
    background-color: #F8F8F8;
    padding: 50px;
    position: relative;
}

.top_awaji .swiper-slide {
    display: grid;
    grid-template-columns: 380px 1fr;
    align-items: center;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    background-color: #FFF;
}

.top_awaji .awaji_img {
    aspect-ratio: 380/400;
}

.top_awaji .awaji_img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top_awaji .awaji_body {
    padding: 0 60px;
}

.top_awaji .awaji_heading {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.12em;
    display: flex;
    align-items: center;
    border-bottom: 1px dashed #707070;
    padding-bottom: 10px;
}

.top_awaji .awaji_heading span {
    color: #C00419;
}

.top_awaji .awaji_heading::before {
    content: "";
    background-color: #C00419;
    border-radius: 5px;
    width: 3px;
    height: 24px;
    margin-right: 12px;
}

.top_awaji .awaji_text {
    margin-top: 20px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.09em;
    color: #707070;
}

.top_awaji .awaji_lead {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.09em;
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.top_awaji .awaji_lead::before {
    content: "";
    width: 12px;
    aspect-ratio: 1/1;
    border-radius: 2px;
    background-color: #2B2B2B;
    margin-right: 8px;
}

.top_awaji .awaji_text+.awaji_lead {
    margin-top: 15px;
}

.top_awaji .awaji_lead+.awaji_text {
    margin-top: 3px;
}

.top_awaji .swiper-button-prev,
.top_awaji .swiper-button-next {
    transition: opacity 0.3s ease 0s;
}

.top_awaji .swiper-button-prev::after,
.top_awaji .swiper-button-next::after {
    display: none;
}

.top_awaji .swiper-button-prev::before,
.top_awaji .swiper-button-next::before {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/top_common_arrow3.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px;
    aspect-ratio: 1/1;
    top: 50%;
    transform: translateY(-50%);
}

.top_awaji .swiper-button-prev:hover,
.top_awaji .swiper-button-next:hover {
    opacity: 0.7;
}

.top_awaji .swiper-button-prev::before {
    left: 20px;
    transform: translateY(-50%) rotate(180deg);
}

.top_awaji .swiper-button-next::before {
    right: 23px;
}

/* page_university (pc) ------------------------------------------------------------------------------------------------------ */

#page_university .head {
    padding: 120px 0 100px;
}

#page_university .head .head_lead {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 28px;
    letter-spacing: 0.12em;
}

#page_university .head .head_lead::before,
#page_university .head .head_lead::after {
    width: 2px;
    height: 25px;
    background-color: #1A1A1A;
    content: "";
}

#page_university .head .head_lead::before {
    -webkit-transform: rotate(-25deg);
    margin-top: 4px;
    margin-right: 18px;
    transform: rotate(-25deg);
}

#page_university .head .head_lead::after {
    -webkit-transform: rotate(25deg);
    margin-top: 0px;
    margin-left: 14px;
    transform: rotate(25deg);
}

#page_university .head .head_lead span {
    margin-right: 3px;
    font-size: 34px;
    letter-spacing: 0.01em;
}

#page_university .head .head_heading {
    font-weight: 800;
    font-size: 36px;
    line-height: 1.5;
    letter-spacing: 0.12em;
    text-align: center;
}

#page_university .head .head_heading span.color {
    border-bottom: 1px dashed #9F9F9F;
    color: #E50D1A;
}

#page_university .head .head_heading span.size {
    font-size: 30px;
}

#page_university .head .head_text {
    margin-top: 30px;
    color: #707070;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.08em;
    text-align: center;
}

#page_university .head .head_text+.head_text {
    margin-top: 15px;
}

#page_university .university {
    padding: 100px 0 140px;
    background-color: #F8F8F8;
}

#page_university .university .university_heading_en {
    color: #E50D1A;
    font-size: 24px;
    text-align: center;
}

#page_university .university .university_heading_ja {
    margin-top: 5px;
    font-weight: 700;
    font-size: 42px;
    line-height: 1;
    letter-spacing: 0.12em;
    text-align: center;
}

#page_university .university .university_message {
    margin-top: 15px;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0.1em;
    text-align: center;
}

#page_university .university .university_links {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-column-gap: 16px;
    -moz-column-gap: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 16px;
    align-items: center;
    justify-content: center;
    margin-top: 25px;
    padding-top: 25px;
    border-top: 2px solid #DBDBDB;
}

#page_university .university .university_link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-transition: opacity 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    aspect-ratio: 240/60;
    width: 240px;
    padding: 0 18px 0 22px;
    background-color: #FAEDEF;
    color: #C00419;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.06em;
    transition: opacity 0.3s ease 0s;
}

#page_university .university .university_link:hover {
    opacity: 0.7;
}

#page_university .university .university_link::after {
    -webkit-transform: rotate(90deg);
    aspect-ratio: 1/2;
    width: 10px;
    margin-left: auto;
    transform: rotate(90deg);
    background-image: url(/wp-content/themes/swell_child/image/common_arrow2.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

#page_university .university .university_img {
    aspect-ratio: 1140/390;
    margin-top: 40px;
    overflow: hidden;
    border-radius: 8px;
}

#page_university .university .university_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_university .university .university_wrapper {
    margin-top: 35px;
}

#page_university .university .university_wrapper+.university_wrapper {
    margin-top: 55px;
}

#page_university .university .university_lead {
    position: relative;
    padding-bottom: 8px;
    padding-left: 16px;
    border-bottom: 1px dashed #9F9F9F;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 0.12em;
}

#page_university .university .university_lead::before {
    position: absolute;
    top: 6px;
    left: 0;
    width: 3px;
    height: 28px;
    border-radius: 5px;
    background-color: #E50D1A;
    content: "";
}

#page_university .university .university_lead span {
    color: #C00419;
}

#page_university .university .university_text {
    margin-top: 20px;
    color: #707070;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.08em;
}

#page_university .university .university_spots {
    -webkit-column-gap: 24px;
    -moz-column-gap: 24px;
    display: grid;
    grid-template-columns: repeat(3, 364px);
    column-gap: 24px;
    row-gap: 30px;
    margin-top: 30px;
}

#page_university .university .spot {
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

#page_university .university .spot .spot_img {
    aspect-ratio: 364/170;
}

#page_university .university .spot .spot_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_university .university .spot .spot_body {
    height: 100%;
    padding: 15px 20px 20px;
    background-color: #FFF;
}

#page_university .university .spot .spot_lead {
    padding-bottom: 5px;
    border-bottom: 1px dashed #9F9F9F;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: 0.12em;
}

#page_university .university .spot .spot_lead::first-letter {
    color: #C00419;
}

#page_university .university .spot .spot_text {
    margin-top: 10px;
    color: #707070;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.08em;
}

#page_university .university .university_houses {
    display: grid;
    grid-template-columns: repeat(3, 364px);
    margin-top: 30px;
    gap: 24px;
}

#page_university .university .house {
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 140px 1fr;
    align-items: center;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

#page_university .university .house .house_img {
    aspect-ratio: 140/160;
}

#page_university .university .house .house_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_university .university .house .house_body {
    padding: 0 24px 10px;
}

#page_university .university .house .house_number {
    color: #F0BCC2;
    font-size: 18px;
}

#page_university .university .house .house_title {
    padding-bottom: 10px;
    border-bottom: 1px dashed #9F9F9F;
    font-weight: 600;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.12em;
}

#page_university .university .house .house_text {
    margin-top: 10px;
    color: #626262;
    font-weight: 400;
    letter-spacing: 0.08em;
}

#page_university .university .house .house_text span.color {
    color: #C00419;
    font-size: 36px;
    line-height: 1;
    letter-spacing: 0.04em;
}

#page_university .university .house .house_text span.size {
    margin-left: 2px;
    color: #1A1A1A;
    font-weight: 700;
    font-size: 18px;
}

#page_university .university .university_container {
    margin-top: 30px;
    padding: 40px 52px;
    border-radius: 8px;
    background-color: #FFF;
}

#page_university .university .university_table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

#page_university .university .university_table table th,
#page_university .university .university_table table td {
    height: 50px;
    border: 1px solid #EBEBEB;
    text-align: center;
    vertical-align: middle;
}

#page_university .university .university_table table thead th {
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.12em;
}

#page_university .university .university_table table thead th:nth-child(2n) {
    background-color: #F7F7F7;
}

#page_university .university .university_table table thead th:nth-child(2n+1) {
    background-color: #F2F2F2;
}

#page_university .university .university_table table thead th:nth-child(1) {
    background-color: #C00419;
    color: #FFF;
}

#page_university .university .university_table table tbody tr:nth-child(2n) th {
    background-color: #FAF0F1;
}

#page_university .university .university_table table tbody tr:nth-child(2n+1) th {
    background-color: #FFF7F8;
}

#page_university .university .university_table table tbody th {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    color: #C00419;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.12em;
}

#page_university.page_kansai-univ .university .university_table table tbody th {
    padding-left: 35px;
}

#page_university.page_osaka-ue .university .university_table table tbody th {
    padding-left: 10px;
}

#page_university.page_msom .university .university_table table tbody th {
    padding-left: 23px;
}

#page_university.page_sdhc .university .university_table table tbody th {
    padding-left: 23px;
}

#page_university.page_o-hara .university .university_table table tbody th {
    padding-left: 20px;
}

#page_university.page_osaka-seikei-univ .university .university_table table tbody th {
    padding-left: 20px;
}

#page_university .university .university_table table tbody th span {
    margin-right: 8px;
    color: #F0BCC2;
    font-size: 20px;
}

#page_university .university .university_table table tbody td {
    color: #646464;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0.12em;
}

#page_university .university .university_btn {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-transition: opacity 0.3s ease 0s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 90/32;
    width: 90px;
    margin: 0 auto;
    border-radius: 4px;
    background-color: #E50D1A;
    color: #FFF;
    font-weight: 700;
    font-size: 13px;
    transition: opacity 0.3s ease 0s;
}

#page_university .university .university_btn:hover {
    opacity: 0.7;
}

/* page_online (pc) ------------------------------------------------------------------------------------------------------ */

#page_online .head {
    padding: 120px 0 80px;
}

#page_online .head .head_wrapper {
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: grid;
    grid-template-columns: 1fr 500px;
    column-gap: 50px;
    align-items: center;
}

#page_online .head .head_heading {
    color: #E50D1A;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4;
}

#page_online .head .head_text {
    margin-top: 30px;
    font-size: 16px;
}

#page_online .head .head_img {
    aspect-ratio: 10/7;
    overflow: hidden;
    border-radius: 6px;
}

#page_online .head .head_img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

#page_online .flow {
    padding: 80px 0;
    background-color: #F8F8F8;
}

#page_online .flow .flow_heading_en {
    color: #E50D1A;
    font-size: 60px;
    line-height: 1;
    text-align: center;
}

#page_online .flow .flow_heading_ja {
    margin-top: 5px;
    font-weight: 500;
    text-align: center;
}

#page_online .flow .flow_items {
    margin-top: 30px;
}

#page_online .flow .flow_item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    display: grid;
    grid-template-columns: 1fr 300px;
    column-gap: 50px;
    align-items: center;
    padding: 25px;
    border-radius: 6px;
    background-color: #FFF;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

#page_online .flow .flow_item+.flow_item {
    margin-top: 20px;
}

#page_online .flow .flow_number {
    color: #F0BCC2;
    font-size: 24px;
    line-height: 1;
}

#page_online .flow .flow_lead {
    margin-top: 10px;
    color: #E50D1A;
    font-weight: 700;
    font-size: 21px;
    line-height: 1;
}

#page_online .flow .flow_text {
    margin-top: 20px;
    font-size: 14px;
}

#page_online .flow .flow_img {
    aspect-ratio: 10/7;
    overflow: hidden;
    border-radius: 4px;
}

#page_online .flow .flow_img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

#page_online .flow .flow_btn {
    aspect-ratio: 300/60;
    width: 300px;
    margin: 40px auto 0;
}

#page_online .feature {
    padding: 80px 0;
}

#page_online .feature .feature_heading_en {
    color: #E50D1A;
    font-size: 60px;
    line-height: 1;
    text-align: center;
}

#page_online .feature .feature_heading_ja {
    margin-top: 5px;
    font-weight: 500;
    text-align: center;
}

#page_online .feature .feature_items {
    -webkit-column-gap: 2%;
    -moz-column-gap: 2%;
    display: grid;
    grid-template-columns: repeat(2, 49%);
    column-gap: 2%;
    row-gap: 20px;
    margin-top: 30px;
}

#page_online .feature .feature_item {
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    padding: 20px;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

#page_online .feature .feature_lead {
    color: #E50D1A;
    font-weight: 700;
    font-size: 21px;
    text-align: center;
}

#page_online .feature .feature_text {
    margin-top: 10px;
    font-weight: 500;
    font-size: 16px;
}

#page_online .feature .feature_btn {
    aspect-ratio: 300/60;
    width: 300px;
    margin: 40px auto 0;
}

#page_online .faq {
    padding: 80px 0 140px;
    background-color: #F8F8F8;
}

#page_online .faq .faq_heading_en {
    color: #E50D1A;
    font-size: 60px;
    line-height: 1;
    text-align: center;
}

#page_online .faq .faq_heading_ja {
    margin-top: 5px;
    font-weight: 500;
    text-align: center;
}

#page_online .faq .faq_items {
    margin-top: 30px;
}

#page_online .faq .faq_item {
    padding: 30px 20px;
    border-top: 1px solid #1A1A1A;
    cursor: pointer;
}

#page_online .faq .faq_item:last-child {
    border-bottom: 1px solid #1A1A1A;
}

#page_online .faq .faq_item dd {
    display: none;
}

#page_online .faq .faq_item.is_open .faq_q::after {
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
}

#page_online .faq .faq_q,
#page_online .faq .faq_a {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    column-gap: 15px;
    align-items: start;
    padding-right: 60px;
    font-weight: 500;
    font-size: 16px;
}

#page_online .faq .faq_q span,
#page_online .faq .faq_a span {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    width: 35px;
    height: 35px;
    margin-top: -3px;
    padding-bottom: 2px;
    border-radius: 50%;
    background-color: #E50D1A;
    color: #FFF;
    font-weight: 700;
    font-size: 28px;
    border: 1px solid #E50D1A;
}

#page_online .faq .faq_a span {
    background-color: transparent;
    color: #E50D1A;
}


#page_online .faq .faq_q {
    position: relative;
}

#page_online .faq .faq_q::before,
#page_online .faq .faq_q::after {
    -webkit-transform: translateY(-50%);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #1A1A1A;
    content: "";
}

#page_online .faq .faq_q::before {
    right: 0;
    width: 20px;
    height: 2px;
}

#page_online .faq .faq_q::after {
    -webkit-transition: -webkit-transform 0.3s ease 0s;
    right: 9px;
    width: 2px;
    height: 20px;
    transition: -webkit-transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s;
    transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

#page_online .faq .faq_a {
    margin-top: 25px;
}

/* page_company (pc) ------------------------------------------------------------------------------------------------------ */

#page_company .outline {
    padding: 120px 0 80px;
}

#page_company .outline .outline_text {
    margin-bottom: 80px;
    font-size: 17px;
    text-align: center;
}

#page_company .outline .outline_heading_en {
    color: #E50D1A;
    font-size: 60px;
    line-height: 1;
    text-align: center;
}

#page_company .outline .outline_heading_ja {
    margin-top: 5px;
    font-weight: 500;
    text-align: center;
}

#page_company .outline .outline_items {
    max-width: 900px;
    margin: 30px auto 0;
}

#page_company .outline .outline_item {
    display: grid;
    grid-template-columns: 200px 1fr;
    padding: 15px 0;
    border-bottom: 1px solid #9F9F9F;
}

#page_company .outline .outline_item dt,
#page_company .outline .outline_item dd {
    color: #1A1A1A;
    font-weight: 500;
    font-size: 16px;
}

#page_company .outline .outline_item dt a,
#page_company .outline .outline_item dd a {
    color: #1A1A1A;
}

#page_company .outline .outline_item dt {
    padding-left: 10px;
}

#page_company .outline .outline_map {
    aspect-ratio: 2/1;
    margin-top: 40px;
    overflow: hidden;
    border-radius: 6px;
}

#page_company .outline .outline_map iframe {
    width: 100%;
    height: 100%;
}

#page_company .other {
    padding: 80px 0;
    background-color: #F8F8F8;
}

#page_company .other .other_heading_en {
    color: #E50D1A;
    font-size: 60px;
    line-height: 1;
    text-align: center;
}

#page_company .other .other_heading_ja {
    margin-top: 5px;
    font-weight: 500;
    text-align: center;
}

#page_company .other .other_items {
    -webkit-column-gap: 2%;
    -moz-column-gap: 2%;
    display: grid;
    grid-template-columns: repeat(2, 49%);
    column-gap: 2%;
    row-gap: 20px;
    margin-top: 30px;
}

#page_company .other .outer_item {
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    padding: 30px;
    border-radius: 6px;
    background-color: #FFF;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

#page_company .other .other_heading {
    font-weight: 700;
    font-size: 18px;
    text-align: center;
}

#page_company .other .other_lists {
    margin-top: 20px;
}

#page_company .other .other_list {
    display: grid;
    grid-template-columns: 100px 1fr;
    padding: 5px 0;
}

#page_company .other .other_list dt,
#page_company .other .other_list dd {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
}

#page_company .other .other_list dt {
    position: relative;
}

#page_company .other .other_list dt::before {
    position: absolute;
    content: "";
    height: 18px;
    width: 2px;
    background-color: #C00419;
    top: 4px;
    right: 16px;
}

/* page_error (pc) ------------------------------------------------------------------------------------------------------ */

#page_error .error_text {
    font-size: 18px;
}

#page_error .common_btn.error_btn {
    margin-top: 30px;
}

/* page_staff_archive (pc) ------------------------------------------------------------------------------------------------------------------- */
#page_staff_archive .staff .staff_items {
    display: grid;
    grid-template-columns: repeat(2, 550px);
    gap: 40px;
}

#page_staff_archive .staff .staff_item {
    display: grid;
    grid-template-columns: 220px 1fr;
    align-items: center;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    position: relative;
    background-color: #FFF;
}

#page_staff_archive .staff .staff_item::before {
    position: absolute;
    content: "";
    width: 50px;
    aspect-ratio: 1/1;
    background-color: #C00419;
    right: 0;
    bottom: 0;
    transform: translate(18px, 18px);
    border-radius: 50%;
    z-index: 10;
    transition: background 0.3s ease 0s;
}

#page_staff_archive .staff .staff_item::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/themes/swell_child/image/common_arrow1.svg);
    background-size: contain;
    background-repeat: no-repeat;
    aspect-ratio: 1/2;
    width: 9px;
    right: 8px;
    bottom: 5px;
    z-index: 10;
    transition: background 0.3s ease 0s;
}

#page_staff_archive .staff .staff_item:hover .staff_img img {
    transform: scale(1.1);
}

#page_staff_archive .staff .staff_item:hover::before {
    background-color: #FFF;
    border: 1px solid #C00419;
}

#page_staff_archive .staff .staff_item:hover::after {
    background-image: url(/wp-content/themes/swell_child/image/common_arrow2.svg);
}

#page_staff_archive .staff .staff_img {
    aspect-ratio: 220/260;
    overflow: hidden;
}

#page_staff_archive .staff .staff_img img {
    transition: transform 0.3s ease 0s;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#page_staff_archive .staff .staff_body {
    padding: 0 40px;
}

#page_staff_archive .staff .staff_logo {
    width: 160px;
}

#page_staff_archive .staff .staff_title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #1A1A1A;
    display: flex;
    align-items: center;
    margin-top: 20px;
}

#page_staff_archive .staff .staff_title::before {
    content: "";
    width: 3px;
    height: 24px;
    background-color: #C00419;
    border-radius: 5px;
    margin-right: 12px;
}

#page_staff_archive .staff .staff_text {
    font-size: 13px;
    color: #707070;
    border-top: 1px dashed #9B9B9B;
    padding-top: 10px;
    margin-top: 8px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* page_staff_single (pc) ------------------------------------------------------------------------------------------------------------------- */
#page_staff_single .staff .staff_wrapper {
    display: grid;
    grid-template-columns: max(calc(50vw - 50% + 600px), 750px) 1fr;
    margin-left: min(calc(50% - 50vw), -150px);
    column-gap: 50px;
    align-items: center;
}

#page_staff_single .staff .staff_img {
    aspect-ratio: 5/4;
    border-radius: 0 10px 10px 0;
    overflow: hidden;
    margin-top: -30px;
}

#page_staff_single .staff .staff_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

#page_staff_single .staff .staff_heading_en {
    font-size: 40px;
    color: #E50D1A;
    line-height: 1;
}

#page_staff_single .staff .staff_heading_ja {
    font-size: 21px;
    letter-spacing: 0.1em;
    font-weight: 700;
    line-height: 1;
    margin-top: 4px;
}

#page_staff_single .staff .staff_message {
    margin-top: 20px;
    font-size: 16px;
}

#page_staff_single .staff .staff_lead {
    background-color: #E50D1A;
    padding: 3px 15px;
    border-radius: 15px;
    color: #FFF;
    font-size: 16px;
    font-weight: 700;
    width: fit-content;
    margin-top: 40px;
}

#page_staff_single .staff .staff_items {
    margin-top: 10px;
}

#page_staff_single .staff .staff_item {
    display: grid;
    grid-template-columns: 110px 1fr;
    align-items: flex-start;
    padding: 5px 0;
    border-bottom: 1px solid #e0e0d2;
}

#page_staff_single .staff .staff_item dt {
    font-size: 16px;
    font-weight: 500;
}

#page_staff_single .staff .staff_item dd {
    font-size: 16px;
    font-weight: 500;
}

#page_staff_single .staff .staff_lists {
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(2, 48%);
    column-gap: 4%;
}

#page_staff_single .staff .staff_list {
    display: grid;
    grid-template-columns: 110px 1fr;
    align-items: flex-start;
    padding: 7px 0;
    border-bottom: 1px solid #e0e0d2;
}

#page_staff_single .staff .staff_list dt {
    font-size: 16px;
    font-weight: 500;
}

#page_staff_single .staff .staff_list dd {
    font-size: 16px;
    font-weight: 500;
}

#breadcrumbs {
    margin-top: 125px !important;
}

#main_content .c-postThumb__cat,
#main_content [class*=page-numbers].current,
#main_content [class*=page-numbers]:hover,
#main_content .c-categoryList__link,
#main_content .cap_box_ttl,
#main_content [data-a=fill-main] .faq_a:before,
#main_content [data-q=fill-main] .faq_q:before {
    background-color: #C00419;
}

#sidebar .c-widget__title.-side::before,
#main_content .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    background: #C00419;
}

#sidebar .widget_categories>ul>.cat-item>a:before,
#sidebar .wp-block-categories-list>li>a:before,
#main_content .c-categoryList,
#main_content .is-style-icon_good:before {
    color: #C00419;
}

#main_content .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    border-top: 2px solid #C00419;
    border-bottom: 2px solid #C00419;
}

#main_content .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    background: repeating-linear-gradient(90deg, #C00419 0%, #C00419 29.3%, rgba(150, 150, 150, .2) 29.3%, rgba(150, 150, 150, .2) 100%);
}

#main_content .p-pnLinks .-next .p-pnLinks__link {
    border-right: 1.25em solid #C00419;
}

#main_content .p-pnLinks .-prev .p-pnLinks__link {
    border-left: 1.25em solid #C00419;
}

#main_content .c-secTitle {
    border-left: solid 2px #C00419;
}

#main_content .is-style-icon_good {
    background: #F7F7F7;
}

#main #areaFavorites .Fav_list_cell .outline {
    border-top: 2px solid #C00419;
}

.top_fv .bg_img_slider {
    position: absolute;
    inset: 0;
}

.top_fv .bg_img_slider .img {
    width: 100%;
    height: 100%;
}

.top_fv .bg_img_slider .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top_fv .bg_img_slider .img img.pc {
    display: block;
}

.top_fv .bg_img_slider .img img.sp {
    display: none !important;
}

.top_fv .bg_img_slider .slick-track,
.top_fv .bg_img_slider .slick-list {
    height: 100%;
}

@media (max-width: 750px) {

    .wrap {
        max-width: 90%;
    }

    a[href $='.pdf']::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    a[href $='.pdf']:hover {
        text-decoration: underline;
    }

    body {
        font-size: 13px;
        line-height: 1.5;
        min-width: initial;
        padding-top: 0;
    }

    /* SP固定ページ 共通設定 */
    .common_page_wrap {
        padding: 20vw 0;
    }

    .reserve_text {
        font-size: 6vw;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.5vw;
    }

    /* SP固定ページ 404ページ */
    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    /* SP固定ページ サイトマップ */
    ul#sitemap_list li {
        margin: 0;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0;
    }

    /* 弊社のハンバーガーメニュー */
    header#sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        box-shadow: 1px 1px #ccc;
        z-index: 999;
        height: 55px;
    }

    header#sp_header .logo {
        position: absolute;
        left: 10px;
        top: 10px;
        line-height: 0;
    }

    header#sp_header .logo img {
        height: 40px;
    }

    header#sp_header a.icon {
        color: #000;
        position: absolute;
    }

    header#sp_header a.mail {
        right: 70px;
        top: 13px;
        font-size: 25px;
    }

    header#sp_header a.tel {
        right: 110px;
        top: 15px;
        font-size: 20px;
    }

    /*　ハンバーガーボタン　*/
    .hamburger {
        display: block;
        position: fixed;
        z-index: 99999;
        right: 13px;
        top: 12px;
        width: 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
    }

    .hamburger span {
        display: block;
        position: absolute;
        width: 30px;
        height: 2px;
        left: 6px;
        background: #555;
        -webkit-transition: 0.5s ease-in-out;
        -moz-transition: 0.5s ease-in-out;
        transition: 0.5s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        top: 10px;
    }

    .hamburger span:nth-child(2) {
        top: 20px;
    }

    .hamburger span:nth-child(3) {
        top: 30px;
    }

    /* ナビ開いてる時のボタン */

    /* sideの場合,popup1の場合ここから */
    .hamburger.active span:nth-child(1) {
        top: 16px;
        left: 6px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }

    .hamburger.active span:nth-child(2),
    .hamburger.active span:nth-child(3) {
        top: 16px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }

    /* sideの場合,popup1の場合ここまで */

    /* sideの場合ここから */
    nav.globalMenuSp {
        position: fixed;
        z-index: 999;
        top: 0;
        left: 0;
        color: #000;
        text-align: center;
        transform: translateX(100%);
        transition: all 0.6s;
        width: 100%;
        height: 100vh;
        align-items: center;
        background: #ccc;
        overflow: scroll;
    }

    /* sideの場合ここまで */

    nav.globalMenuSp ul {
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }

    nav.globalMenuSp ul li {
        list-style-type: none;
        padding: 0;
        width: 100%;
        border-bottom: 1px solid #fff;
        transition: .4s all;
    }

    nav.globalMenuSp ul li:last-child {
        padding-bottom: 0;
        border-bottom: none;
    }

    nav.globalMenuSp ul li a {
        display: block;
        color: #000;
        padding: 1em 0;
        text-decoration: none;
    }

    /* このクラスを、jQueryで付与・削除する */
    /* sideの場合 */
    nav.globalMenuSp.active {
        transform: translateX(0%);
    }

    /* sideの場合ここまで */

    .wrap,
    #page_article .wrap {
        max-width: 90%;
    }

    body {
        font-size: 13px;
        line-height: 1.5;
        min-width: initial;
        padding-top: 0;
    }

    a.common_btn {
        width: 50vw;
        aspect-ratio: 200/50;
        padding-left: 7.5vw;
        font-size: 3.8vw;
    }

    a.common_btn::after {
        width: 2vw;
        top: calc(50% + 0.5vw);
        right: 5vw;
    }

    a.common_btn:hover {
        background-color: #C00419;
        border: 1px solid transparent;
        color: #FFF;
    }

    a.common_btn:hover::after {
        background-image: url(/wp-content/themes/swell_child/image/top_common_arrow1.svg);
    }

    .common_contact {
        padding: 12vw 0 15vw;
    }

    .common_contact .contact_heading {
        font-size: 14vw;
    }

    .common_contact .contact_text {
        margin-top: 3vw;
        font-size: 3.3vw;
    }

    .common_contact .contact_items {
        grid-template-columns: 1fr;
        margin-top: 8vw;
    }

    .common_contact .contact_item {
        padding: 5vw 0;
        border-top: 2px solid rgba(255, 255, 255, 0.6);
    }

    .common_contact .contact_item:last-child {
        border-bottom: 2px solid rgba(255, 255, 255, 0.6);
    }

    .common_contact .contact_lead {
        font-size: 3.8vw;
    }

    .common_contact .contact_btn {
        aspect-ratio: 350/66;
        width: 100%;
        margin: 2vw auto 0;
        font-size: 4vw;
    }

    .common_contact .contact_btn::before {
        left: 4vw;
        width: 9vw;
    }

    .common_contact .contact_btn::after {
        top: 50%;
        right: 4vw;
        width: 2vw;
    }

    .common_contact .contact_btn:hover {
        opacity: 1;
    }

    .common_contact .contact_time {
        margin-top: 2vw;
        font-size: 3vw;
    }

    .common_contact .contact_btns_sp {
        -webkit-column-gap: 3vw;
        -moz-column-gap: 3vw;
        display: grid;
        grid-template-columns: repeat(2, 44vw);
        column-gap: 3vw;
        margin-top: 2vw;
    }

    .common_contact .contact_btn_sp {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-column-gap: 2vw;
        -moz-column-gap: 2vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        column-gap: 2vw;
        align-items: center;
        aspect-ratio: 169/58;
        padding-left: 3vw;
        border-radius: 5px;
        background-color: #FFF;
        color: #C00419;
        font-weight: 700;
        font-size: 3.5vw;
        letter-spacing: 0.12em;
    }

    .common_contact .contact_btn_sp::before {
        aspect-ratio: 1/1;
        width: 8vw;
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
    }

    .common_contact .contact_btn_sp:nth-child(1)::before {
        background-image: url(/wp-content/themes/swell_child/image/common_icon_mail.svg);
    }

    .common_contact .contact_btn_sp:nth-child(2)::before {
        background-image: url(/wp-content/themes/swell_child/image/common_icon_tel.svg);
    }

    .common_fv {
        margin-top: 70px;
    }

    .common_fv .common_fv_head {
        position: relative;
        padding: 12vw 0 8vw;
    }

    .common_fv .common_fv_heading_ja {
        font-size: 6vw;
        line-height: 1.4;
        white-space: nowrap;
    }

    .common_fv.page_msom .common_fv_heading_ja {
        font-size: 5.5vw;
    }

    .common_fv.page_sdhc .common_fv_heading_ja {
        font-size: 5vw;
    }

    .common_fv.page_o-hara .common_fv_heading_ja {
        font-size: 5.5vw;
    }

    .common_fv .common_fv_heading_ja span.ml {
        margin-left: -3.5vw;
    }

    .common_fv .common_fv_heading_ja span.mr {
        margin-right: 0;
    }

    .common_fv .common_fv_heading_en {
        margin-top: 3vw;
        font-size: 4.5vw;
    }

    .common_fv .common_fv_bread {
        margin-top: 1.5vw;
    }

    .common_fv .common_fv_items {
        -webkit-column-gap: 1vw;
        -moz-column-gap: 1vw;
        column-gap: 1vw;
        font-size: 3vw;
    }

    .common_fv .common_fv_items span a span:hover {
        opacity: 1;
    }

    .common_section {
        padding: 12vw 0 15vw;
    }

    /* header (sp) ------------------------------------------------------------------------------------------------------ */

    .header {
        min-width: initial;
        height: 80px;
        padding: 0 20px;
        border-top: 4px solid #C00419;
        border-radius: 0 0 12px 12px;
    }

    .header .header_logo {
        width: 200px;
        margin-top: -10px;
    }

    .header .header_logo:hover {
        opacity: 1;
    }

    .header .header_container {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        height: 100%;
        margin-left: auto;
    }

    .header .header_icon {
        aspect-ratio: 1/1;
        width: 24px;
    }

    .header .header_icon+.header_icon {
        margin-left: 12px;
    }

    .header .header_menu {
        position: relative;
        aspect-ratio: 1/1;
        width: 48px;
        margin-left: 15px;
        border-radius: 6px;
        background-color: #F8ECED;
        cursor: pointer;
    }

    .header .header_menu span {
        -webkit-transform: translateX(-50%);
        -webkit-transition: -webkit-transform 0.3s ease 0s;
        position: absolute;
        left: 50%;
        width: 24px;
        height: 2px;
        transform: translateX(-50%);
        border-radius: 5px;
        background-color: #C00419;
        transition: -webkit-transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    }

    .header .header_menu span:nth-child(1) {
        top: 15px;
    }

    .header .header_menu span:nth-child(2) {
        top: 23px;
    }

    .header .header_menu span:nth-child(3) {
        top: 31px;
    }

    .header .header_menu.active span:nth-child(1) {
        -webkit-transform: translateX(-50%) rotate(-145deg);
        top: 23px;
        transform: translateX(-50%) rotate(-145deg);
    }

    .header .header_menu.active span:nth-child(2) {
        display: none;
    }

    .header .header_menu.active span:nth-child(3) {
        -webkit-transform: translateX(-50%) rotate(145deg);
        top: 23px;
        transform: translateX(-50%) rotate(145deg);
    }

    /* drawer (sp) ------------------------------------------------------------------------------------------------------ */

    .drawer {
        -webkit-transition: opacity 0.3s ease 0s;
        visibility: hidden;
        z-index: 10400;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        height: 100dvh;
        height: 100vh;
        padding-top: calc(8vw + 80px);
        overflow: scroll;
        background-color: rgba(0, 0, 0, 0.85);
        color: #FFF;
        opacity: 0;
        transition: opacity 0.3s ease 0s;
    }

    .drawer.active {
        visibility: visible;
        opacity: 1;
    }

    .drawer::-webkit-scrollbar {
        display: none;
    }

    .drawer .search .search_heading_en {
        color: #FFF;
        font-size: 12vw;
        line-height: 1;
    }

    .drawer .search .search_heading_ja {
        margin-top: 2vw;
        font-weight: 400;
        font-size: 3.5vw;
        letter-spacing: 0.1em;
    }

    .drawer .search .search_items {
        -webkit-column-gap: 2.5vw;
        -moz-column-gap: 2.5vw;
        display: grid;
        grid-template-columns: repeat(2, 44vw);
        column-gap: 2.5vw;
        margin-top: 4vw;
    }

    .drawer .search .search_item {
        -webkit-column-gap: 2.5vw;
        -moz-column-gap: 2.5vw;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
        display: grid;
        grid-template-columns: 12vw 1fr;
        column-gap: 2.5vw;
        align-items: center;
        padding: 4vw 2.5vw;
        border-radius: 6px;
        background-color: #FFF;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    }

    .drawer .search .search_img {
        aspect-ratio: 1/1;
    }

    .drawer .search .search_text_en {
        color: #F0BCC2;
        font-size: 3.8vw;
    }

    .drawer .search .search_text_ja {
        color: #1A1A1A;
        font-weight: 600;
        font-size: 3.8vw;
        letter-spacing: 0.12em;
    }

    .drawer .search .search_lead {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        margin-top: 4vw;
    }

    .drawer .search .search_lead_en {
        font-size: 6vw;
    }

    .drawer .search .search_lead::before {
        width: 3px;
        height: 5.5vw;
        margin-right: 3vw;
        border-radius: 5px;
        background-color: #E50D1A;
        content: "";
    }

    .drawer .search .search_lead_en span {
        color: #E50D1A;
    }

    .drawer .search .search_lead_ja {
        margin-left: 2.5vw;
        font-weight: 400;
        font-size: 3.3vw;
        letter-spacing: 0.1em;
    }

    .drawer .search .search_free {
        -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        margin-top: 2vw;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    }

    .drawer .search [type="text"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: calc(100% - 12vw);
        height: 12vw;
        padding: 2vw 4vw;
        border: none;
        border-radius: 6px 0 0 6px;
        background-color: #FFF;
        color: #1A1A1A;
        font-size: 3.3vw;
        font-family: inherit;
    }

    .drawer .search [type="text"]::-webkit-input-placeholder {
        color: #B9B9B9;
        font-size: 3.3vw;
        letter-spacing: 0.08em;
    }

    .drawer .search [type="text"]::-moz-placeholder {
        color: #B9B9B9;
        font-size: 3.3vw;
        letter-spacing: 0.08em;
    }

    .drawer .search [type="text"]:-ms-input-placeholder {
        color: #B9B9B9;
        font-size: 3.3vw;
        letter-spacing: 0.08em;
    }

    .drawer .search [type="text"]::-ms-input-placeholder {
        color: #B9B9B9;
        font-size: 3.3vw;
        letter-spacing: 0.08em;
    }

    .drawer .search [type="text"]::placeholder {
        color: #B9B9B9;
        font-size: 3.3vw;
        letter-spacing: 0.08em;
    }

    .drawer .search [type="submit"] {
        z-index: 10;
        position: relative;
        aspect-ratio: 1/1;
        width: 12vw;
        border-radius: 0 6px 6px 0;
        background-color: #FFF;
        background-image: url(/wp-content/themes/swell_child/image/common_icon_search.svg);
        background-size: 70%;
        background-position: center center;
        background-repeat: no-repeat;
    }

    .drawer .drawer_contents {
        margin-top: 5vw;
    }

    .drawer .drawer_items {
        -webkit-column-gap: 4vw;
        -moz-column-gap: 4vw;
        display: grid;
        grid-template-columns: repeat(2, 43vw);
        column-gap: 4vw;
        margin-top: 2vw;
    }

    .drawer .drawer_item a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        width: 100%;
        padding: 4vw 0;
        border-bottom: 2px solid rgba(255, 255, 255, 0.3);
        color: #FFF;
        font-weight: 600;
        font-size: 3.5vw;
        letter-spacing: 0.1em;
    }

    .drawer .drawer_item a::after {
        aspect-ratio: 1/1;
        width: 4.5vw;
        margin-left: auto;
        background-image: url(/wp-content/themes/swell_child/image/common_arrow4.svg);
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
    }

    .drawer .drawer_lead {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        padding: 5vw 0;
        border-bottom: 2px solid rgba(255, 255, 255, 0.3);
        color: #FFF;
        font-weight: 600;
        font-size: 3.8vw;
        letter-spacing: 0.1em;
        cursor: pointer;
    }

    .drawer .drawer_lead::after {
        -webkit-transform: rotate(90deg);
        -webkit-transition: -webkit-transform 0.3s ease 0s;
        aspect-ratio: 1/1;
        width: 5.5vw;
        margin-left: auto;
        transform: rotate(90deg);
        background-image: url(/wp-content/themes/swell_child/image/common_arrow4.svg);
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
        transition: -webkit-transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    }

    .drawer .drawer_lead.is_active::after {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }

    .drawer .drawer_lists {
        display: grid;
        grid-template-columns: repeat(2, 50%);
        row-gap: 3vw;
        margin-top: 3vw;
    }

    .drawer .drawer_list a {
        color: #D1D1D1;
        font-weight: 400;
        font-size: 3.3vw;
        letter-spacing: 0.06em;
        white-space: nowrap;
    }

    .drawer .drawer_list+.drawer_item {
        margin-top: 6px;
    }

    .drawer .drawer_menu {
        display: none;
    }

    .drawer .contact {
        margin-top: 12vw;
    }

    .drawer .contact .contact_heading {
        font-size: 14vw;
        line-height: 1;
        text-align: center;
    }

    .drawer .contact .contact_items {
        margin-top: 4vw;
    }

    .drawer .contact .contact_item {
        padding: 5vw 0;
        border-top: 2px solid rgba(255, 255, 255, 0.6);
    }

    .drawer .contact .contact_item:last-child {
        border-bottom: 2px solid rgba(255, 255, 255, 0.6);
    }

    .drawer .contact .contact_lead {
        font-weight: 600;
        font-size: 3.8vw;
        letter-spacing: 0.08em;
        text-align: center;
    }

    .drawer .contact .contact_btn {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        align-items: center;
        justify-content: center;
        aspect-ratio: 350/66;
        margin: 2vw auto 0;
        border-radius: 4px;
        background-color: #C00419;
        color: #FFF;
        font-weight: 700;
        font-size: 4vw;
        letter-spacing: 0.12em;
    }

    .drawer .contact .contact_btn::before {
        -webkit-transform: translateY(-50%);
        position: absolute;
        top: 50%;
        left: 4vw;
        aspect-ratio: 1/1;
        width: 9vw;
        transform: translateY(-50%);
        background-image: url(/wp-content/themes/swell_child/image/common_icon_reserve.svg);
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
    }

    .drawer .contact .contact_btn::after {
        -webkit-transform: translateY(-50%);
        position: absolute;
        top: 50%;
        right: 4vw;
        aspect-ratio: 1/2;
        width: 2vw;
        transform: translateY(-50%);
        background-image: url(/wp-content/themes/swell_child/image/common_arrow1.svg);
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
    }

    .drawer .contact .contact_time {
        margin-top: 2vw;
        color: #C1C1C1;
        font-weight: 400;
        font-size: 3vw;
        line-height: 1.5;
        letter-spacing: 0.1em;
        text-align: center;
    }

    .drawer .contact .contact_links {
        -webkit-column-gap: 3vw;
        -moz-column-gap: 3vw;
        display: grid;
        grid-template-columns: repeat(2, 44vw);
        column-gap: 3vw;
        margin-top: 2vw;
    }

    .drawer .contact .contact_link {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-column-gap: 2vw;
        -moz-column-gap: 2vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        column-gap: 2vw;
        align-items: center;
        aspect-ratio: 169/58;
        padding-left: 3vw;
        border-radius: 5px;
        background-color: #FFF;
        color: #C00419;
        font-weight: 700;
        font-size: 3.5vw;
        letter-spacing: 0.12em;
    }

    .drawer .contact .contact_link::before {
        aspect-ratio: 1/1;
        width: 8vw;
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
    }

    .drawer .contact .contact_link:nth-child(1)::before {
        background-image: url(/wp-content/themes/swell_child/image/common_icon_mail.svg);
    }

    .drawer .contact .contact_link:nth-child(2)::before {
        background-image: url(/wp-content/themes/swell_child/image/common_icon_tel.svg);
    }

    .drawer .drawer_bottom {
        margin-top: 6vw;
        padding-bottom: 10vw;
        color: #FFF;
        font-weight: 400;
        font-size: 3vw;
        letter-spacing: 0.08em;
        text-align: center;
    }

    .drawer .drawer_bottom small {
        font-size: 100%;
    }

    /* footer (sp) ------------------------------------------------------------------------------------------------------ */

    .footer {
        padding-top: 8vw;
    }

    .footer .footer_container {
        grid-template-columns: 1fr;
        padding: 5vw;
    }

    .footer .footer_body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;
        margin-top: 6vw;
        padding-top: 2vw;
        padding-right: 0;
        border-top: 2px solid #D0D0D0;
        border-right: none;
    }

    .footer .footer_head {
        display: contents;
    }

    .footer .footer_logo {
        width: 60vw;
        margin: 0 auto;
    }

    .footer .footer_logo:hover {
        opacity: 1;
    }

    .footer .footer_company {
        margin-top: 2vw;
        font-size: 3.3vw;
        text-align: center;
    }

    .footer .footer_address {
        margin-top: 1vw;
        font-size: 3vw;
        text-align: center;
    }

    .footer .footer_sns {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-column-gap: 4vw;
        -moz-column-gap: 4vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        column-gap: 4vw;
        align-items: center;
        justify-content: center;
        order: 2;
        margin-top: 4vw;
        margin-left: 0;
    }

    .footer .footer_follow {
        font-size: 6vw;
    }

    .footer .footer_follow::after {
        display: none;
    }

    .footer .footer_icons {
        -webkit-column-gap: 3vw;
        -moz-column-gap: 3vw;
        column-gap: 3vw;
        margin-top: 0;
    }

    .footer .footer_icon {
        width: 12vw;
    }

    .footer .footer_icon:hover {
        opacity: 1;
    }

    .footer .footer_text {
        margin-top: 4vw;
        padding: 2.5vw 3.5vw;
        font-size: 3vw;
    }

    .footer .footer_map {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        aspect-ratio: 310/164;
    }

    .footer .footer_contents {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 4vw;
    }

    .footer .footer_items {
        -webkit-column-gap: 4vw;
        -moz-column-gap: 4vw;
        display: grid;
        grid-template-columns: repeat(2, 43vw);
        column-gap: 4vw;
        margin-top: 2vw;
    }

    .footer .footer_item a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        width: 100%;
        padding: 4vw 0;
        border-bottom: 2px solid #D07881;
        font-size: 3.5vw;
    }

    .footer .footer_item a::after {
        aspect-ratio: 1/1;
        width: 4.5vw;
        margin-left: auto;
        background-image: url(/wp-content/themes/swell_child/image/common_arrow3.svg);
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
    }

    .footer .footer_item a:hover {
        opacity: 1;
    }

    .footer .footer_item+.footer_item {
        margin-top: 0;
    }

    .footer .footer_lead {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        width: 100%;
        padding: 5vw 0;
        border-bottom: 2px solid #D07881;
        font-size: 3.8vw;
        cursor: pointer;
    }

    .footer .footer_lead::after {
        -webkit-transform: rotate(90deg);
        -webkit-transition: -webkit-transform 0.3s ease 0s;
        aspect-ratio: 1/1;
        width: 5.5vw;
        margin-left: auto;
        transform: rotate(90deg);
        background-image: url(/wp-content/themes/swell_child/image/common_arrow3.svg);
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
        transition: -webkit-transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    }

    .footer .footer_lead.is_active::after {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }

    .footer .footer_lists {
        display: grid;
        grid-template-columns: repeat(2, 50%);
        row-gap: 3vw;
        margin-top: 3vw;
    }

    .footer .footer_list a {
        font-size: 3.3vw;
        letter-spacing: 0.06em;
        white-space: nowrap;
    }

    .footer .footer_list a:hover {
        opacity: 1;
    }

    .footer .footer_list+.footer_item {
        margin-top: 0;
    }

    .footer .footer_wrap {
        grid-template-columns: 1fr;
        margin-top: 0;
    }

    .footer .footer_inner {
        display: contents;
    }

    .footer .footer_message {
        padding: 5vw 0;
        border-bottom: 2px solid #D07881;
        font-size: 3.8vw;
        cursor: pointer;
    }

    .footer .footer_message::after {
        -webkit-transform: rotate(90deg);
        -webkit-transition: -webkit-transform 0.3s ease 0s;
        aspect-ratio: 1/1;
        width: 5.5vw;
        height: initial;
        margin-left: auto;
        transform: rotate(90deg);
        border-top: none;
        background-image: url(/wp-content/themes/swell_child/image/common_arrow3.svg);
        background-size: contain;
        background-repeat: no-repeat;
        transition: -webkit-transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s;
        transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
    }

    .footer .footer_message.is_active::after {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }

    .footer .footer_links {
        -webkit-column-gap: 1vw;
        -moz-column-gap: 1vw;
        column-gap: 1vw;
        margin-top: 3vw;
    }

    .footer .footer_link {
        -webkit-column-gap: 1vw;
        -moz-column-gap: 1vw;
        column-gap: 1vw;
        font-size: 3.3vw;
    }

    .footer .footer_link:hover {
        opacity: 1;
    }

    .footer .footer_menu {
        display: none;
    }

    .footer .footer_bottom {
        margin-top: 10vw;
        padding: 0 0 6vw;
        border-top: none;
        font-size: 3vw;
    }

    /* fixed (sp) ------------------------------------------------------------------------------------------------------ */

    .fixed {
        z-index: 10200;
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        padding: 8px;
        background-color: #C00419;
    }

    .fixed .fixed_container {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-column-gap: 8px;
        -moz-column-gap: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        column-gap: 8px;
        justify-content: center;
        margin: 0 auto;
        padding: 8px;
        border-radius: 2px;
        background-color: #FFF;
    }

    .fixed .fixed_btn {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-column-gap: 8px;
        -moz-column-gap: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        column-gap: 8px;
        align-items: center;
        aspect-ratio: 160/42;
        width: 160px;
        padding-left: 8px;
        border-radius: 4px;
        font-weight: 700;
        font-size: 12px;
        letter-spacing: 0.12em;
    }

    .fixed .fixed_btn::before {
        aspect-ratio: 1/1;
        width: 24px;
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
    }

    .fixed .fixed_btn:nth-child(1) {
        background-color: #C00419;
        color: #FFF;
    }

    .fixed .fixed_btn:nth-child(1)::before {
        background-image: url(/wp-content/themes/swell_child/image/common_icon_reserve.svg);
    }

    .fixed .fixed_btn:nth-child(2) {
        background-color: #FFE5E7;
        color: #C00419;
    }

    .fixed .fixed_btn:nth-child(2)::before {
        background-image: url(/wp-content/themes/swell_child/image/common_icon_mail.svg);
    }

    .fixed .fixed_tel {
        position: relative;
        aspect-ratio: 1/1;
        width: 42px;
        border-radius: 6px;
        background-color: #FFE5E7;
    }

    .fixed .fixed_tel::before {
        -webkit-transform: translate(-50%, -50%);
        position: absolute;
        top: 50%;
        left: 50%;
        aspect-ratio: 1/1;
        width: 28px;
        transform: translate(-50%, -50%);
        background-image: url(/wp-content/themes/swell_child/image/common_icon_tel.svg);
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
    }

    .fixed .fixed_text {
        margin-top: 5px;
        color: #FFF;
        font-weight: 400;
        font-size: 11px;
        white-space: nowrap;
        text-align: center;
    }

    .top_contents {
        height: 300px;
        margin-top: 80px;
        font-size: 20px;
    }

    /* top_fv (sp) ----------------------------------------------------------------- */
    .top_fv {
        margin-top: 80px;
    }

    .top_fv .swiper-slide {
        width: 80vw;
        aspect-ratio: 320/480;
    }

    .top_fv .fv_wrapper {
        padding: 20vw 0 10vw;
    }

    .top_fv .fv_message {
        font-size: 20vw;
        margin-left: -3vw;
    }

    .top_fv .fv_lead {
        font-size: 9vw;
        margin-top: -10vw;
        line-height: 1.3;
    }

    .top_fv .fv_lead span.size {
        font-size: 10vw;
    }

    .top_fv .fv_lead span.ls {
        margin-left: 0;
    }

    .top_fv .fv_text {
        font-size: 3.3vw;
        margin-top: 4vw;
    }

    /* top_search (sp) ----------------------------------------------------------------- */
    .top_search {
        padding-top: 12vw;
    }

    .top_search .search_heading_en {
        font-size: 12vw;
    }

    .top_search .search_heading_ja {
        font-size: 3.5vw;
        margin-top: 1vw;
    }

    .top_search .search_wrapper {
        display: block;
        margin-top: 5vw;
    }

    .top_search .search_items {
        display: grid;
        grid-template-columns: repeat(2, 43vw);
        column-gap: 3.5vw;
    }

    .top_search .search_item {
        padding: 3.5vw;
        grid-template-columns: 1fr;
    }

    .top_search .search_item:hover {
        transform: translateY(0);
    }

    .top_search .search_item::before,
    .top_search .search_item::after {
        display: none;
    }

    .top_search .search_img {
        width: 14vw;
        margin: 0 auto;
    }

    .top_search .search_text_en {
        font-size: 3.8vw;
        text-align: center;
        margin-top: 1vw;
    }

    .top_search .search_text_ja {
        font-size: 3.8vw;
        text-align: center;
    }

    .top_search .search_lead {
        display: flex;
        align-items: center;
        margin-top: 20px;
    }

    .top_search .search_lead_en {
        font-size: 7vw;
    }

    .top_search .search_lead::before {
        height: 5vw;
        margin-right: 3vw;
        margin-top: 1vw;
    }

    .top_search .search_lead_ja {
        margin-left: 2vw;
        font-size: 3.3vw;
        margin-top: 2vw;
    }

    .top_search .search_free {
        width: 100%;
        margin-top: 2vw;
    }

    .top_search [type="text"] {
        padding: 2vw 4vw;
        font-size: 3.3vw;
        width: calc(100% - 12vw);
        height: 12vw;
    }

    .top_search [type="text"]::placeholder {
        font-size: 3.3vw;
    }

    .top_search [type="submit"] {
        width: 12vw;
    }

    .top_search .search_lists {
        margin-top: 4vw;
        column-gap: 7vw;
        row-gap: 1vw;
    }

    .top_search .search_list {
        font-size: 3vw;
    }

    .top_search .search_list::after {
        right: -4.5vw;
    }

    .top_search .search_banner {
        aspect-ratio: 350/196;
        margin-top: 12vw;
    }

    .top_search .search_banner:hover {
        opacity: 1;
    }

    /* top_pick (sp) ----------------------------------------------------------------- */
    .top_pick {
        padding-top: 15vw;
    }

    .top_pick .pick_heading_en {
        font-size: 10vw;
    }

    .top_pick .pick_heading_ja {
        font-size: 3.5vw;
        margin-top: 2vw;
    }

    .top_pick .pick_items {
        margin-top: 6vw;
        grid-template-columns: repeat(2, 43vw);
        column-gap: 3.5vw;
        row-gap: 5vw;
        padding-bottom: 0;
    }

    .top_pick .pick_items::before {
        bottom: auto;
        top: 12vw;
        left: 50%;
        transform: translateX(-50%);
        width: 77vw;
        aspect-ratio: 310/470;
        height: auto;
    }

    .top_pick .pick_item:hover .pick_img img {
        transform: scale(1);
    }

    .top_pick .pick_item:hover .pick_img::before {
        background-color: #C00419;
        border: 1px solid transparent;
    }

    .top_pick .pick_item:hover .pick_img::after {
        background-image: url(/wp-content/themes/swell_child/image/top_common_arrow1.svg);
    }

    .top_pick .pick_img {
        aspect-ratio: 168/100;
    }

    .top_pick .pick_img::before {
        width: 10vw;
        transform: translate(3.5vw, 3.5vw);
    }

    .top_pick .pick_img::after {
        width: 1.8vw;
        right: 1.8vw;
        bottom: 0.8vw;
    }

    .top_pick .pick_lead_en {
        font-size: 4vw;
        margin-top: 1vw;
    }

    .top_pick .pick_lead_ja {
        font-size: 3.8vw;
        margin-top: 1vw;
    }

    .top_pick .pick_text {
        font-size: 3vw;
        margin-top: 3vw;
        padding-top: 2vw;
    }

    /* top_university (sp) ----------------------------------------------------------------- */
    .top_university {
        padding: 15vw 0 18vw;
    }

    .top_university .university_heading_en {
        font-size: 12vw;
    }

    .top_university .university_heading_ja {
        font-size: 3.5vw;
        margin-top: 2vw;
    }

    .top_university .top_university_swiper {
        margin-top: 6vw;
        margin-right: calc(50% - 50vw);
        padding-bottom: 14vw;
    }

    .top_university .swiper-pagination-bullet {
        width: 15vw;
        height: 2vw;
        background-color: #F2F2F2;
        border-radius: 10px;
        margin: 0 !important;
    }

    .top_university .swiper-pagination-bullet-active {
        background-color: #C00419;
    }

    .top_university .university_items {
        display: none;
    }

    .top_university .university_item {
        grid-template-columns: 27vw 1fr;
        width: 89vw;
    }

    .top_university .university_item+.university_item {
        margin-top: 4vw;
    }

    .top_university .university_item::before {
        width: 12vw;
        transform: translate(3.5vw, 3.5vw);
    }

    .top_university .university_item::after {
        width: 2vw;
        right: 2.5vw;
        bottom: 1.5vw;
    }

    .top_university .university_item:hover .university_img img {
        transform: scale(1);
    }

    .top_university .university_item:hover::before {
        background-color: #C00419;
        border: 1px solid transparent;
    }

    .top_university .university_item:hover::after {
        background-image: url(/wp-content/themes/swell_child/image/top_common_arrow1.svg);
    }

    .top_university .university_img {
        aspect-ratio: 110/120;
    }

    .top_university .university_body {
        padding: 0 14vw 2vw 6vw;
    }

    .top_university .university_lead {
        font-size: 4.2vw;
    }

    .top_university .university_title {
        font-size: 4.2vw;
        line-height: 1.4;
        margin-top: 2vw;
        padding-bottom: 1.5vw;
    }

    /* top_arrival (sp) ----------------------------------------------------------------- */
    .top_arrival {
        padding: 15vw 0 20vw;
    }

    .top_arrival .arrival_heading_en {
        font-size: 12vw;
    }

    .top_arrival .arrival_heading_ja {
        font-size: 3.5vw;
        margin-top: 2vw;
    }

    .top_arrival .arrival_cats {
        display: grid;
        grid-template-columns: repeat(3, 30vw);
        margin-top: 7vw;
        gap: 2vw;
    }

    .top_arrival .arrival_cat {
        font-size: 3vw;
        letter-spacing: 0.04em;
        line-height: 1.4;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        aspect-ratio: 112/40;
    }

    .top_arrival .arrival_contents {
        margin-top: 7vw;
    }

    .top_arrival .arrival_items {
        column-gap: 6vw;
        flex-wrap: nowrap;
        overflow: scroll;
    }

    .top_arrival .arrival_items>div:first-child {
        column-gap: 6vw;
        flex-wrap: nowrap;
        overflow: scroll;
        display: flex;
    }

    .top_arrival .arrival_items::-webkit-scrollbar,
    .top_arrival .arrival_items>div:first-child::-webkit-scrollbar {
        display: none;
    }

    .top_arrival .arrival_items.current {
        display: flex;
    }

    .top_arrival .arrival_item {
        width: 60vw;
        flex-shrink: 0;
    }

    .top_arrival .arrival_item:hover .arrival_img img {
        transform: scale(1);
    }

    .top_arrival .arrival_item:hover .arrival_price::after {
        background-image: url(/wp-content/themes/swell_child/image/top_common_arrow3.svg);
    }

    .top_arrival .arrival_img {
        aspect-ratio: 238/170;
    }

    .top_arrival .arrival_title {
        font-size: 4vw;
        margin-top: 3vw;
        padding-left: 3vw;
    }

    .top_arrival .arrival_title::before {
        height: 6vw;
    }

    .top_arrival .arrival_lists {
        margin: 4vw 0 3vw;
    }

    .top_arrival .arrival_list {
        grid-template-columns: 14vw 1fr;
        column-gap: 2vw;
    }

    .top_arrival .arrival_list+.arrival_list {
        margin-top: 1.5vw;
    }

    .top_arrival .arrival_list dt {
        font-size: 2.8vw;
        padding: 1vw 0;
    }

    .top_arrival .arrival_list dd {
        font-size: 3vw;
        margin-top: 0.5vw;
    }

    .top_arrival .arrival_price {
        font-size: 3.5vw;
        padding-bottom: 1vw;
    }

    .top_arrival .arrival_price::after {
        bottom: 2vw;
        width: 6vw;
    }

    .top_arrival .arrival_price span {
        font-size: 7vw;
    }

    /* top_staff (sp) ----------------------------------------------------------------- */
    .top_staff {
        padding-top: 14vw;
    }

    .top_staff::before {
        display: none;
    }

    .top_staff .staff_wrapper {
        display: flex;
        flex-direction: column;
    }

    .top_staff .staff_outer {
        display: contents;
    }

    .top_staff .staff_heading_en {
        font-size: 12vw;
    }

    .top_staff .staff_heading_ja {
        font-size: 3.5vw;
        margin-top: 2vw;
    }

    .top_staff .staff_btn {
        margin: 8vw auto 0;
        order: 1;
    }

    .top_staff .top_staff_swiper {
        margin-top: 7vw;
        margin-right: calc(50% - 50vw);
        padding-bottom: 14vw;
    }

    .top_staff .swiper-pagination-bullet {
        width: 15vw;
        height: 2vw;
        background-color: #F2F2F2;
        border-radius: 10px;
        margin: 0 !important;
    }

    .top_staff .swiper-pagination-bullet-active {
        background-color: #C00419;
    }

    .top_staff .staff_item {
        grid-template-columns: 35vw 1fr;
        width: 89vw;
    }

    .top_staff .staff_item+.staff_item {
        margin-top: 5vw;
    }

    .top_staff .staff_item::before {
        width: 12vw;
        transform: translate(4.5vw, 4.5vw);
    }

    .top_staff .staff_item::after {
        width: 2vw;
        right: 2vw;
        bottom: 1vw;
    }

    .top_staff .staff_item:hover .staff_img img {
        transform: scale(1);
    }

    .top_staff .staff_item:hover::before {
        background-color: #C00419;
        border: 1px solid transparent;
    }

    .top_staff .staff_item:hover::after {
        background-image: url(/wp-content/themes/swell_child/image/top_common_arrow1.svg);
    }

    .top_staff .staff_img {
        aspect-ratio: 140/160;
    }

    .top_staff .staff_body {
        padding: 0 6vw 2vw;
    }

    .top_staff .staff_logo {
        width: 35vw;
    }

    .top_staff .staff_title {
        font-size: 4.2vw;
        margin-top: 3vw;
    }

    .top_staff .staff_title::before {
        height: 4vw;
        margin-right: 2vw;
    }

    .top_staff .staff_text {
        font-size: 3vw;
        padding-top: 1.5vw;
        margin-top: 1.5vw;
    }

    /* top_blog (sp) ----------------------------------------------------------------- */
    .top_blog {
        padding-top: 14vw;
        position: relative;
    }

    .top_blog::before {
        position: absolute;
        content: "";
        left: 50%;
        transform: translateX(-50%);
        background-color: #F8F8F8;
        width: 80vw;
        height: calc(100% - 25vw);
        z-index: -10;
        top: 20vw;
    }

    .top_blog .blog_heading_en {
        font-size: 10vw;
    }

    .top_blog .blog_heading_ja {
        font-size: 3.5vw;
        margin-top: 2vw;
    }

    .top_blog .blog_items {
        margin-top: 35px;
        grid-template-columns: 1fr;
        row-gap: 6vw;
    }

    .top_blog .blog_item:hover .blog_img img {
        transform: scale(1);
    }

    .top_blog .blog_item:hover .blog_time::after {
        background-image: url(/wp-content/themes/swell_child/image/top_common_arrow3.svg);
    }

    .top_blog .blog_img {
        aspect-ratio: 110/90;
    }

    .top_blog .blog_outer {
        display: grid;
        grid-template-columns: 27vw 1fr;
        column-gap: 3vw;
        align-items: center;
    }

    .top_blog .blog_title {
        font-size: 3.8vw;
        margin-top: 0;
    }

    .top_blog .blog_text {
        font-size: 3.3vw;
        margin-top: 2.5vw;
    }

    .top_blog .blog_time {
        margin-top: 4vw;
        font-size: 4.5vw;
        padding-bottom: 2vw;
    }

    .top_blog .blog_time::after {
        bottom: 2vw;
        width: 6vw;
    }

    .top_blog .blog_btn {
        margin: 8vw auto 0;
    }

    /* top_news (sp) ----------------------------------------------------------------- */
    .top_news {
        padding: 15vw 0 20vw;
    }

    .top_news .news_wrapper {
        grid-template-columns: 1fr;
        row-gap: 5vw;
    }

    .top_news .news_outer {
        display: contents;
    }

    .top_news .news_heading_en {
        font-size: 12vw;
    }

    .top_news .news_heading_ja {
        font-size: 3.5vw;
        margin-top: 2vw;
    }

    .top_news .news_btn {
        margin: 8vw auto 0;
        order: 1;
    }

    .top_news .news_item {
        flex-direction: column;
        align-items: flex-start;
        padding: 3vw 10vw 3vw 4vw;
    }

    .top_news .news_item:hover .news_time,
    .top_news .news_item:hover .news_title {
        transform: translateX(0);
    }

    .top_news .news_item:hover::after {
        background-image: url(/wp-content/themes/swell_child/image/top_common_arrow3.svg);
    }

    .top_news .news_item::after {
        right: 3vw;
        width: 6vw;
    }

    .top_news .news_time {
        font-size: 3.8vw;
    }

    .top_news .news_title {
        font-size: 3.5vw;
        margin-top: 0.5vw;
    }

    /* top_review (sp) ----------------------------------------------------------------- */
    .top_review {
        padding-top: 10vw;
    }

    .top_review .review_img {
        height: 90vw;
        overflow: hidden;
    }

    .top_review .review_heading_en {
        font-size: 12vw;
    }

    .top_review .review_heading_ja {
        font-size: 3.5vw;
        margin-top: 2vw;
    }

    .top_review .review_container {
        margin-top: 6vw;
        height: 100vw;
        padding: 7vw 5vw;
    }

    .top_review .review_items {
        padding-right: 0;
    }

    .top_review .review_items::-webkit-scrollbar {
        display: none;
    }

    .top_review .review_item {
        padding-bottom: 5vw;
    }

    .top_review .review_item+.review_item {
        margin-top: 5vw;
    }

    .top_review .review_head {
        grid-template-columns: 30vw 1fr;
        column-gap: 2vw;
    }

    .top_review .review_name {
        font-size: 3.8vw;
        margin-top: 0;
    }

    .top_review .review_text {
        font-size: 3.3vw;
        margin-top: 4vw;
    }

    .top_review .review_btn {
        margin: 8vw auto 0;
    }

    /* top_sns (sp) ----------------------------------------------------------------- */
    .top_sns {
        padding: 15vw 0;
    }

    .top_sns::before {
        width: 80vw;
        aspect-ratio: 310/650;
        top: 21vw;
    }

    .top_sns .sns_wrapper {
        grid-template-columns: 1fr;
    }

    .top_sns .sns_contents+.sns_contents {
        margin-top: 10vw;
    }

    .top_sns .sns_heading_en {
        font-size: 10vw;
    }

    .top_sns .sns_heading_ja {
        font-size: 3.5vw;
        margin-top: 2vw;
    }

    .top_sns .sns_items {
        grid-template-columns: repeat(2, 43vw);
        column-gap: 3.5vw;
        margin-top: 5vw;
    }

    .top_sns .sns_item {
        aspect-ratio: 168/229;
    }

    .top_sns .sns_item:hover img {
        transform: scale(1.05);
    }

    .top_sns .sns_lists {
        margin-top: 5vw;
        grid-template-columns: repeat(3, 28vw);
        gap: 3vw;
    }

    .top_sns .sns_list:hover img {
        transform: scale(1);
    }

    /* top_awaji (sp) ----------------------------------------------------------------- */
    .top_awaji {
        padding-bottom: 18vw;
    }

    .top_awaji .awaji_container {
        padding: 4vw 4vw 10vw;
    }

    .top_awaji .top_awaji_swiper {
        padding-bottom: 12vw;
    }

    .top_awaji .swiper-slide {
        grid-template-columns: 1fr;
    }

    .top_awaji .awaji_img {
        aspect-ratio: 320/180;
    }

    .top_awaji .awaji_body {
        padding: 4vw 5vw 5vw;
        min-height: 105vw;
    }

    .top_awaji .awaji_heading {
        font-size: 4.2vw;
        padding-bottom: 2vw;
    }

    .top_awaji .awaji_heading::before {
        height: 5vw;
        margin-right: 2vw;
    }

    .top_awaji .awaji_text {
        margin-top: 3vw;
        font-size: 3.3vw;
    }

    .top_awaji .awaji_lead {
        font-size: 3.5vw;
        margin-top: 3vw;
    }

    .top_awaji .awaji_lead::before {
        width: 2.5vw;
        margin-right: 2vw;
    }

    .top_awaji .awaji_text+.awaji_lead {
        margin-top: 3vw;
    }

    .top_awaji .awaji_lead+.awaji_text {
        margin-top: 1vw;
    }

    .top_awaji .swiper-pagination-bullet {
        width: 15vw;
        height: 2vw;
        background-color: #E5E5E5;
        border-radius: 10px;
        margin: 0 !important;
    }

    .top_awaji .swiper-pagination-bullet-active {
        background-color: #C00419;
    }

    .top_awaji .swiper-button-prev,
    .top_awaji .swiper-button-next {
        display: none;
    }

    /* page_university (sp) ------------------------------------------------------------------------------------------------------ */

    #page_university .head {
        padding: 12vw 0;
    }

    #page_university .head .head_lead {
        font-size: 4vw;
    }

    #page_university .head .head_lead::before,
    #page_university .head .head_lead::after {
        height: 4.5vw;
    }

    #page_university .head .head_lead::before {
        margin-top: 0.5vw;
        margin-right: 4vw;
    }

    #page_university .head .head_lead::after {
        margin-left: 3.5vw;
    }

    #page_university .head .head_lead span {
        font-size: 6vw;
    }

    #page_university .head .head_heading {
        font-size: 5.5vw;
        line-height: 1.7;
    }

    #page_university.page_msom .head .head_heading,
    #page_university.page_o-hara .head .head_heading {
        font-size: 5vw;
    }

    #page_university .head .head_heading span.size {
        font-size: 5vw;
    }

    #page_university .head .head_text {
        margin-top: 4vw;
        font-size: 3.3vw;
    }

    #page_university .head .head_text+.head_text {
        margin-top: 4vw;
    }

    #page_university .university {
        padding: 12vw 0;
    }

    #page_university .university .university_heading_en {
        font-size: 5vw;
    }

    #page_university .university .university_heading_ja {
        margin-top: 1vw;
        font-size: 8vw;
        white-space: nowrap;
    }

    #page_university.page_msom .university .university_heading_ja,
    #page_university.page_o-hara .university .university_heading_ja {
        font-size: 7vw;
    }

    #page_university.page_sdhc .university .university_heading_ja {
        font-size: 6vw;
    }

    #page_university .university .university_message {
        margin-top: 3vw;
        font-size: 3.5vw;
    }

    #page_university .university .university_links {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        row-gap: 3vw;
        flex-direction: column;
        margin-top: 5vw;
        padding-top: 5vw;
    }

    #page_university .university .university_link {
        width: 60vw;
        padding: 0 4vw 0 5vw;
        font-size: 4vw;
    }

    #page_university .university .university_link:hover {
        opacity: 1;
    }

    #page_university .university .university_link::after {
        width: 2vw;
    }

    #page_university .university .university_img {
        aspect-ratio: 5/3;
        margin-top: 8vw;
        border-radius: 4px;
    }

    #page_university .university .university_wrapper {
        margin-top: 6vw;
    }

    #page_university .university .university_wrapper+.university_wrapper {
        margin-top: 10vw;
    }

    #page_university .university .university_lead {
        padding-bottom: 1.5vw;
        padding-left: 3vw;
        font-size: 4.5vw;
    }

    #page_university .university .university_lead::before {
        top: 0.8vw;
        height: 5.5vw;
    }

    #page_university .university .university_text {
        margin-top: 4vw;
        font-size: 3.5vw;
    }

    #page_university .university .university_spots {
        grid-template-columns: 1fr;
        row-gap: 4vw;
        margin-top: 6vw;
    }

    #page_university .university .spot .spot_body {
        padding: 4vw 5vw 5vw;
    }

    #page_university .university .spot .spot_lead {
        padding-bottom: 1vw;
        font-size: 4vw;
    }

    #page_university .university .spot .spot_text {
        margin-top: 2vw;
        font-size: 3.3vw;
    }

    #page_university .university .university_houses {
        grid-template-columns: 1fr;
        margin-top: 6vw;
        gap: 4vw;
    }

    #page_university .university .house {
        grid-template-columns: 35vw 1fr;
    }

    #page_university .university .house .house_body {
        padding: 0 6vw 2vw;
    }

    #page_university .university .house .house_number {
        font-size: 4.5vw;
    }

    #page_university .university .house .house_title {
        margin-top: 1vw;
        padding-bottom: 2vw;
        font-size: 4.5vw;
    }

    #page_university .university .house .house_text {
        margin-top: 2vw;
    }

    #page_university .university .house .house_text span.color {
        font-size: 9vw;
    }

    #page_university .university .house .house_text span.size {
        font-size: 4.5vw;
    }

    #page_university .university .university_container {
        display: contents;
    }

    #page_university .university .university_table {
        margin-top: 5vw;
        overflow: scroll;
    }

    #page_university .university .university_table::-webkit-scrollbar {
        display: none;
    }

    #page_university .university .university_table table {
        min-width: 800px;
    }

    #page_university .university .university_table table th,
    #page_university .university .university_table table td {
        height: 12vw;
    }

    #page_university .university .university_table table thead th {
        font-size: 3.5vw;
    }

    #page_university .university .university_table table thead th:first-child {
        width: 40vw;
    }

    #page_university .university .university_table table tbody th {
        font-size: 3.5vw;
    }

    #page_university.page_kansai-univ .university .university_table table tbody th {
        padding-left: 7vw;
    }

    #page_university.page_osaka-ue .university .university_table table tbody th {
        padding-left: 2vw;
    }

    #page_university.page_msom .university .university_table table tbody th {
        padding-left: 5vw;
    }

    #page_university.page_sdhc .university .university_table table tbody th {
        padding-left: 5vw;
    }

    #page_university.page_o-hara .university .university_table table tbody th {
        padding-left: 4vw;
    }

    #page_university.page_osaka-seikei-univ .university .university_table table tbody th {
        padding-left: 4vw;
    }

    #page_university .university .university_table table tbody th span {
        margin-right: 2vw;
        font-size: 5vw;
    }

    #page_university .university .university_table table tbody td {
        font-size: 3.5vw;
    }

    #page_university .university .university_btn {
        width: 22vw;
        font-size: 3.5vw;
    }

    #page_university .university .university_btn:hover {
        opacity: 1;
    }

    /* page_online (sp) ------------------------------------------------------------------------------------------------------ */

    #page_online .head {
        padding: 15vw 0;
    }

    #page_online .head .head_wrapper {
        grid-template-columns: 1fr;
    }

    #page_online .head .head_heading {
        font-size: 4.5vw;
    }

    #page_online .head .head_text {
        margin-top: 5vw;
        font-size: 3.5vw;
        line-height: 1.7;
    }

    #page_online .head .head_img {
        aspect-ratio: 5/3;
        margin-top: 4vw;
    }

    #page_online .flow {
        padding: 15vw 0;
    }

    #page_online .flow .flow_heading_en {
        font-size: 12vw;
    }

    #page_online .flow .flow_heading_ja {
        margin-top: 1vw;
        font-size: 3.5vw;
    }

    #page_online .flow .flow_items {
        margin-top: 5vw;
    }

    #page_online .flow .flow_item {
        grid-template-columns: 1fr;
        padding: 4vw;
    }

    #page_online .flow .flow_item+.flow_item {
        margin-top: 4vw;
    }

    #page_online .flow .flow_number {
        margin-top: 5vw;
        font-size: 5vw;
    }

    #page_online .flow .flow_lead {
        margin-top: 2vw;
        font-size: 4.5vw;
    }

    #page_online .flow .flow_text {
        margin-top: 4vw;
        font-size: 3.5vw;
        line-height: 1.7;
    }

    #page_online .flow .flow_img {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        aspect-ratio: 5/3;
    }

    #page_online .flow .flow_btn {
        width: 75vw;
        margin: 8vw auto 0;
    }

    #page_online .feature {
        padding: 15vw 0;
    }

    #page_online .feature .feature_heading_en {
        font-size: 12vw;
    }

    #page_online .feature .feature_heading_ja {
        margin-top: 1vw;
        font-size: 3.5vw;
    }

    #page_online .feature .feature_items {
        grid-template-columns: 1fr;
        row-gap: 4vw;
        margin-top: 5vw;
    }

    #page_online .feature .feature_item {
        padding: 4vw;
    }

    #page_online .feature .feature_lead {
        font-size: 4.5vw;
    }

    #page_online .feature .feature_text {
        margin-top: 2vw;
        font-size: 3.5vw;
    }

    #page_online .feature .feature_btn {
        width: 75vw;
        margin: 8vw auto 0;
    }

    #page_online .faq {
        padding: 15vw 0;
    }

    #page_online .faq .faq_heading_en {
        font-size: 12vw;
    }

    #page_online .faq .faq_heading_ja {
        margin-top: 1vw;
        font-size: 3.5vw;
    }

    #page_online .faq .faq_items {
        margin-top: 5vw;
    }

    #page_online .faq .faq_item {
        padding: 5vw 0;
    }

    #page_online .faq .faq_q,
    #page_online .faq .faq_a {
        -webkit-column-gap: 3vw;
        -moz-column-gap: 3vw;
        column-gap: 3vw;
        padding-right: 8vw;
        font-size: 3.5vw;
    }

    #page_online .faq .faq_q span,
    #page_online .faq .faq_a span {
        width: 7vw;
        height: 7vw;
        margin-top: -0.5vw;
        padding-bottom: 0;
        font-size: 4.5vw;
    }

    #page_online .faq .faq_q::before {
        width: 4vw;
    }

    #page_online .faq .faq_q::after {
        right: 1.7vw;
        height: 4vw;
    }

    #page_online .faq .faq_a {
        margin-top: 4vw;
    }

    /* page_company (sp) ------------------------------------------------------------------------------------------------------ */

    #page_company .outline {
        padding: 15vw 0;
    }

    #page_company .outline .outline_text {
        margin-bottom: 15vw;
        font-size: 3.7vw;
    }

    #page_company .outline .outline_heading_en {
        font-size: 12vw;
    }

    #page_company .outline .outline_heading_ja {
        margin-top: 1vw;
        font-size: 3.5vw;
    }

    #page_company .outline .outline_items {
        margin: 6vw auto 0;
    }

    #page_company .outline .outline_item {
        grid-template-columns: 1fr;
        padding: 3vw 0;
    }

    #page_company .outline .outline_item dt,
    #page_company .outline .outline_item dd {
        font-size: 3.5vw;
    }

    #page_company .outline .outline_item dt {
        padding-left: 0;
        font-weight: 700;
    }

    #page_company .outline .outline_item dd {
        margin-top: 2vw;
    }

    #page_company .outline .outline_map {
        aspect-ratio: 5/3;
        margin-top: 8vw;
    }

    #page_company .other {
        padding: 15vw 0;
    }

    #page_company .other .other_heading_en {
        font-size: 12vw;
    }

    #page_company .other .other_heading_ja {
        margin-top: 1vw;
        font-size: 3.5vw;
    }

    #page_company .other .other_items {
        grid-template-columns: 1fr;
        row-gap: 5vw;
        margin-top: 6vw;
    }

    #page_company .other .outer_item {
        padding: 4vw;
    }

    #page_company .other .other_heading {
        font-size: 4vw;
    }

    #page_company .other .other_lists {
        margin-top: 4vw;
    }

    #page_company .other .other_list {
        grid-template-columns: 20vw 1fr;
        padding: 1vw 0;
    }

    #page_company .other .other_list dt,
    #page_company .other .other_list dd {
        font-size: 3.5vw;
    }

    #page_company .other .other_list dt::before {
        height: 4vw;
        top: 0.8vw;
        right: 2.5vw;
    }

    /* page_error (sp) ------------------------------------------------------------------------------------------------------ */

    #page_error .error_text {
        font-size: 4vw;
    }

    #page_error .error_btn {
        margin: 8vw auto 0;
    }

    /* page_staff_archive (sp) ------------------------------------------------------------------------------------------------------------------- */
    #page_staff_archive .staff .staff_items {
        grid-template-columns: 1fr;
        row-gap: 5vw;
    }

    #page_staff_archive .staff .staff_item {
        grid-template-columns: 35vw 1fr;
    }

    #page_staff_archive .staff .staff_item::before {
        width: 12vw;
        transform: translate(4.5vw, 4.5vw);
    }

    #page_staff_archive .staff .staff_item::after {
        width: 2vw;
        right: 2vw;
        bottom: 1vw;
    }

    #page_staff_archive .staff .staff_item:hover .staff_img img {
        transform: scale(1);
    }

    #page_staff_archive .staff .staff_item:hover::before {
        background-color: #C00419;
        border: 1px solid transparent;
    }

    #page_staff_archive .staff .staff_item:hover::after {
        background-image: url(/wp-content/themes/swell_child/image/common_arrow1.svg);
    }

    #page_staff_archive .staff .staff_img {
        aspect-ratio: 140/160;
    }

    #page_staff_archive .staff .staff_body {
        padding: 0 6vw 2vw;
    }

    #page_staff_archive .staff .staff_logo {
        width: 35vw;
    }

    #page_staff_archive .staff .staff_title {
        font-size: 4.2vw;
        margin-top: 3vw;
    }

    #page_staff_archive .staff .staff_title::before {
        height: 4vw;
        margin-right: 2vw;
    }

    #page_staff_archive .staff .staff_text {
        font-size: 3vw;
        padding-top: 1.5vw;
        margin-top: 1.5vw;
    }

    /* page_staff_single (sp) ------------------------------------------------------------------------------------------------------------------- */
    #page_staff_single .staff .staff_wrapper {
        grid-template-columns: 1fr;
        margin-left: 0;
    }

    #page_staff_single .staff .staff_img {
        aspect-ratio: 5/4;
        border-radius: 10px;
        margin: 0 -2vw;
    }

    #page_staff_single .staff .staff_heading_en {
        font-size: 8vw;
        margin-top: 5vw;
    }

    #page_staff_single .staff .staff_heading_ja {
        font-size: 4.5vw;
        margin-top: 1vw;
    }

    #page_staff_single .staff .staff_message {
        margin-top: 4vw;
        font-size: 3.5vw;
    }

    #page_staff_single .staff .staff_lead {
        padding: 0.5vw 3vw;
        border-radius: 3vw;
        font-size: 3.8vw;
        margin-top: 8vw;
    }

    #page_staff_single .staff .staff_items {
        margin-top: 2vw;
    }

    #page_staff_single .staff .staff_item {
        grid-template-columns: 1fr;
        padding: 2vw 0;
    }

    #page_staff_single .staff .staff_item dt {
        font-size: 3.5vw;
        font-weight: 700;
    }

    #page_staff_single .staff .staff_item dd {
        font-size: 3.5vw;
        margin-top: 1vw;
    }

    #page_staff_single .staff .staff_lists {
        margin-top: 0;
        grid-template-columns: 1fr;
    }

    #page_staff_single .staff .staff_list {
        grid-template-columns: 1fr;
        padding: 2vw 0;
    }

    #page_staff_single .staff .staff_list dt {
        font-size: 3.5vw;
        font-weight: 700;
    }

    #page_staff_single .staff .staff_list dd {
        font-size: 3.5vw;
        margin-top: 1vw;
    }

    #breadcrumbs {
        margin-top: 95px !important;
    }
}

@media (min-width: 751px) {
    .pc_tel {
        pointer-events: none;
    }
}