@charset "utf-8";

/*-----------------------------フォント*/
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

/*-----------------------------リセットCSS*/
html {
    box-sizing: border-box;
    -ms-overflow-style: scrollbar;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove default padding */

ul[class],
ol[class] {
    padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul[class],
ol[class],
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Set core root defaults */

html {
    scroll-behavior: smooth;
}

/* Set core body defaults */

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 100%;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul[class],
ol[class] {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
    max-width: 100%;
    display: block;
}

/* Natural flow and rhythm in articles by default */

article>*+* {
    margin: 0;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
    font: inherit;
}

/* Blur images when they have no alt attribute */

/* Remove all animations and transitions for people that prefer not to see them */


img {
    height: auto;
}

picture {
    display: block;
}

address,
em {
    font-style: normal;
}

table {
    border-collapse: collapse;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea {
    -webkit-appearance: none;
    border-radius: 0;
}

input[type="search"],
input[type="submit"],
input[type="button"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="search"]::-webkit-search-decoration,
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
    font-weight: normal;
}

/*-----------------------------初期値CSS*/
body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    position: relative;
    background: #fff;
    color: #000000;
    overflow-x: hidden;
}

body.index {
    background-color: #F8F6F0;
}

a {
    text-decoration: none;
    color: #000000;
    display: block;
    cursor: pointer;
    -webkit-text-decoration: none;
}

ul {
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

hr {
    height: 1px;
    border: none;
}

a[href*="tel:"] {
    display: inline;
}

/*スマホ時電話リンク*/
@media (min-width: 599px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

/*iPhoneで画面サイズに合わせる*/
@supports (-webkit-touch-callout: none) {
    html {
        height: -webkit-fill-available;
    }

    body {
        min-height: 100vh;
        min-height: -webkit-fill-available;
    }
}

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

    .fs16 {
        font-size: 16px;
    }

}

/*-----------------------------共通CSS*/
span.kai {
    display: inline-block;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.inner,
ul.inner {
    max-width: 1200px;
    width: calc(100% - 32px);
    margin: 0 auto;
    box-sizing: border-box;
}

.inner1100 {
    max-width: 1100px;
}

body.page {
    margin-top: 120px;
}

.sp {
    display: none;
}

.bold {
    font-weight: 700;
}

/*page*/
.page .section {
    margin-bottom: 88px;
}

/*modBtn1,modBtn2*/
.modBtn1,
.modBtn2 {
    height: 44px;
}

.modBtn1 a,
.modBtn2 a {
    font-size: 15px;
    font-weight: 700;
    line-height: 44px;
    text-align: center;
    height: 100%;
    transition: .2s;
    color: #fff;
    border-radius: 5px;
}

.modBtn1 a {
    border: 1px solid #EA572B;
    background-color: #EA572B;
}

.modBtn2 a {
    border: 1px solid #053F98;
    background-color: #053F98;
}

.modBtn1 a:hover {
    color: #EB8030;
    background-color: #FFF8F4;
}

.modBtn2 a:hover {
    color: #053F98;
    background-color: #F8FBFF;
}

/*modBtn3*/
.sectionTop {
    position: relative;
}

.sectionTop .modBtn3 {
    position: absolute;
    top: 31px;
    right: 0;
}

.modBtn3 {
    width: 100%;
    max-width: 140px;
    height: 40px;
}

.modBtn3 a {
    height: 100%;
    display: flex;
    align-items: center;
    transition: .2s;
    background: url(../img/common/icon-right-gray.svg) no-repeat center right 9px;
    background-size: 13px;
    background-color: #fff;
    border: 1px solid #5E7B89;
    border-radius: 100px;
    padding-left: 13px;
}

.modBtn3 a:hover {
    background-image: url(../img/common/icon-right-white.svg);
    background-color: #5E7B89;
}

.modBtn3 a .btnInner {
    font-size: 15px;
    font-weight: 500;
    color: #5E7B89;
    transition: .2s;
}

.modBtn3 a:hover .btnInner {
    color: #fff;
}

/*modBtn4*/
.modBtn4 {
    width: 100%;
    max-width: 260px;
    height: 48px;
}

.modBtn4 a,
.modBtn4 button {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .2s;
    background: url(../img/common/icon-right-gray.svg) no-repeat center right 18px;
    background-size: 16px;
    background-color: #EFF5FF;
    border: 2px solid #5E7B89;
    border-radius: 5px;
    width: 100%;
    cursor: pointer;
}

.modBtn4 a:hover,
.modBtn4 button:hover {
    background-image: url(../img/common/icon-right-white.svg);
    background-color: #5E7B89;
}

.modBtn4 a .btnInner,
.modBtn4 button .btnInner {
    font-size: 15px;
    font-weight: 700;
    color: #5E7B89;
    transition: .2s;
}

.modBtn4 a:hover .btnInner,
.modBtn4 button:hover .btnInner {
    color: #fff;
}

/*modBtn5*/
.modBtn5 {
    width: 100%;
    max-width: 308px;
    height: 64px;
}

.modBtn5 a {
    height: 100%;
    display: flex;
    align-items: center;
    transition: .2s;
    background-repeat: no-repeat, no-repeat;
    background-position: center left, center right 15px;
    background-size: auto 100%, 16px;
    background-color: #fff;
    border: 1px solid #EB8030;
    border-radius: 5px;
    padding: 0 35px 0 86px;
}

.modBtn5.blue a {
    border: 1px solid #053F98;
}

.modBtn5.icon1 a {
    background-image: url(../img/top/icon-1.png), url(../img/common/icon-right-orange.svg);
}

.modBtn5.icon2 a {
    background-image: url(../img/top/icon-2.png), url(../img/common/icon-right-orange.svg);
}

.modBtn5.icon3 a {
    background-image: url(../img/top/icon-3.png), url(../img/common/icon-right-orange.svg);
}

.modBtn5.icon4 a {
    background-image: url(../img/top/icon-4.png), url(../img/common/icon-right-orange.svg);
}

.modBtn5.icon5 a {
    background-image: url(../img/top/icon-5.png), url(../img/common/icon-right-blue.svg);
}

.modBtn5 a:hover {
    background-color: #FFF8F4;
}

.modBtn5.blue a:hover {
    background-color: #F8FBFF;
}

.modBtn5 a .btnInner {
    font-weight: 700;
    transition: .2s;
}

.modBtn5 a:hover .btnInner {
    color: #EB8030;
}

.modBtn5.blue a:hover .btnInner {
    color: #053F98;
}

.modBtn5 a .btnInner .big,
.modBtn5 a .btnInner .small {
    display: inline-block;
    vertical-align: middle;
}

.modBtn5 a .btnInner .big {
    font-size: 22px;
    line-height: 1;
    margin-right: 1px;
}

.modBtn5 a .btnInner .small {
    margin-top: 2px;
}

/*modBtn6*/
.modBtn6 {
    width: 100%;
    max-width: 280px;
    height: 56px;
}

.modBtn6.back {
    max-width: 160px;
    height: 48px;
}

.modBtn6 a,
.modBtn6.back button,
.modBtn6 button[type="submit"] {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .2s;
    background: url(../img/common/icon-right-white.svg) no-repeat center right 12px;
    background-size: 13.36px;
    background-color: #5E7B89;
    border: 2px solid #5E7B89;
    border-radius: 5px;
    width: 100%;
    cursor: pointer;
}

.modBtn6 a:hover,
.modBtn6 button[type="submit"]:hover {
    background-image: url(../img/common/icon-right-gray.svg);
    background-color: #EFF5FF;
}

.modBtn6.back button {
    background: url(../img/common/icon-left-white.svg) no-repeat center left 11px;
    background-size: 13.36px;
    background-color: #A3A2A2;
    border: none;
}

.modBtn6.back button:hover {
    background-color: #666666;
}

.modBtn6 a .btnInner,
.modBtn6.back button .btnInner,
.modBtn6 button[type="submit"] .btnInner {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    transition: .2s;
}

.modBtn6 a:hover .btnInner,
.modBtn6 button[type="submit"]:hover .btnInner {
    color: #5E7B89;
}

/*modBtn7*/
.modBtn7 a {
    padding-left: 24px;
    background: url(../img/common/icon-right-blue.svg) no-repeat top 7px left;
    background-size: 16px;
    display: inline-block;
}

.modBtn7 a:hover {
    text-decoration: underline;
    color: #053F98;
}

/*modContactBtn,headerContactBtn*/
.modContactBtn {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
}

.header .headerContactBtn {
    margin: 0;
    max-width: 180px;
    width: 12vw;
}

.hamburger .headerContactBtn {
    max-width: 240px;
    margin: 0 auto 8px auto;
}

.modContactBtn a {
    position: relative;
    height: 56px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .2s;
    background-image: url(../img/common/icon-mail.svg), url(../img/common/icon-right-white.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: center left 18px, center right 12px;
    background-size: 20.78px, 13.36px;
    background-color: #EB8030;
    border: 1px solid #EB8030;
    border-radius: 5px;
}

.header .headerContactBtn a {
    justify-content: flex-start;
    max-height: 42px;
    height: 3vw;
    padding-right: min(7px, 0.5vw);
    background-position: center left 11px, center right 10px;
    background-size: min(17.13px, 1.2235714285714285vw), 13.36px;
}

.hamburger .headerContactBtn a {
    height: 48px;
    padding-right: 0;
    background-position: top 16px left 18px, top 16px right 12px;
    background-size: 20.78px, 13.36px;
    justify-content: center;
}

.modContactBtn a:hover {
    background-image: url(../img/common/icon-mail-hover.svg), url(../img/common/icon-right-orange.svg);
    background-color: #FFF8F4;
}

.modContactBtn a .btnInner {
    position: relative;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    padding: 0 38px 0 50px;
    display: block;
    transition: .2s;
}

.header .headerContactBtn a .btnInner {
    font-size: min(15px, 1.0714285714285714vw);
    padding: 0 min(33px, 2vw) 0 min(38px, 2.7142857142857144vw);
}

.modContactBtn a:hover .btnInner {
    color: #EB8030;
}

/*mapBtn*/
.mapBtn {
    height: 24px;
    width: 70px;
    font-size: 12px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    height: 100%;
    transition: .2s;
    color: #fff;
    border-radius: 100px;
    border: 1px solid #EA572B;
    background-color: #EA572B;
    display: inline-block;
    vertical-align: top;
    margin: 1px 0 0 25px;
}

.mapBtn:hover {
    color: #EB8030;
    background-color: #FFF8F4;
}

/*contactMailBtn*/
.contactMailBtn a {
    position: relative;
    height: 110px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .2s;
    background-image: url(../img/common/contact-mail-btn.png), url(../img/common/icon-right-white.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: center left 28px, center right 19px;
    background-size: 58px, 24px;
    background-color: #EA572B;
    border: 2px solid #EA572B;
    border-radius: 10px;
}

.contactMailBtn a:hover {
    background-image: url(../img/common/contact-mail-btn-hover.png), url(../img/common/icon-right-orange-hover.svg);
    background-color: #FFF8F4;
}

.contactMailBtn a .btnInner {
    position: relative;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    padding: 0 100px;
    display: block;
    transition: .2s;
    text-align: center;
}

.contactMailBtn a:hover .btnInner {
    color: #EA572B;
}

/*sectionTitle*/
.sectionTitle {
    position: relative;
    text-align: center;
    margin-bottom: 40px;
}

.sectionTitle .en {
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    color: #EA572B;
}

.sectionTitle .ja {
    font-size: 33px;
    font-weight: 700;
}

/*タイトル*/
.h2 {
    position: relative;
    font-size: 32px;
    font-weight: 700;
    padding-bottom: 16px;
    margin-bottom: 48px;
    line-height: 1.4;
}

.h2::before,
.h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
}

.h2::before {
    width: 100%;
    border-radius: 30px;
    background-color: #EA572B;
}

.h2::after {
    width: 100px;
    border-radius: 30px 0 0 30px;
    background-color: #EBAA30;
}

/*h3*/
.h3 {
    position: relative;
    font-size: 27px;
    font-weight: 700;
    padding: 5px 0 17px 17px;
    margin-bottom: 40px;
    margin-top: 64px;
    line-height: 1.4;
    border-bottom: 1px solid #E6E6E6;
}

.h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 48px;
    width: 5px;
    border-radius: 30px;
    background-color: #EA572B;
}

.h4 {
    position: relative;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    padding-left: 26px;
    margin-bottom: 24px;
    margin-top: 48px;
}

.h4::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 18px;
    background-color: #fff;
    border: 5px solid #EA572B;
}

.h5 {
    position: relative;
    font-size: 19px;
    font-weight: 700;
    padding-left: 20px;
    margin-top: 40px;
    margin-bottom: 12px;
}

.h5::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: #EA572B;
}

.h6 {
    position: relative;
    font-size: 17px;
    font-weight: 700;
    padding-left: 23px;
    margin-top: 5px;
    margin-bottom: 8px;
}

.h6::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 0;
    width: 15px;
    height: 5px;
    border-radius: 100px;
    background: #EA572B;
}

/*ol*/
ol.listNum {
    counter-reset: item;
    margin: 24px 0;
}

ol.listNum li {
    position: relative;
    padding-left: 31px;
    margin-bottom: 3px;
}

ol.listNum li::before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: item;
    content: counter(item)'.';
    padding-right: 8px;
}

/*ul*/
.list li {
    position: relative;
    padding-left: 22px;
}

.list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}

/*googleMap*/
.googleMap iframe {
    width: 100%;
    height: 300px;
}

.pageCompany .googleMap iframe {
    height: 400px;
}

/*pageMv*/
.pageMv {
    height: 220px;
    background: url(../img/common/page-bg-pc.jpg) no-repeat center right;
    background-size: cover;
    margin-bottom: 12px;
}

.pageMv .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.pageMv .sub {
    font-weight: 700;
    color: #EA572B;
    padding-left: 33.46px;
    background-image: url(../img/common/page-mv-sub.png);
    background-repeat: no-repeat;
    background-size: 25.46px;
    background-position: center left;
    margin-bottom: 4px;
}

.pageMv .title {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.5;
}

/*パンくず*/
ul.breadcrumb {
    column-gap: 23px;
    margin: 0 auto;
}

.breadcrumb li {
    position: relative;
    font-size: 13px;
    font-weight: 400;
    color: #2D2D2D;
}

.breadcrumb li:not(:last-of-type)::before {
    content: "＞";
    position: absolute;
    top: 0;
    right: -20px;
    color: #1A1A1A;
}

.breadcrumb li a {
    text-decoration: underline;
    color: #2D2D2D;
}

.breadcrumb li a:hover {
    opacity: .7;
    text-decoration: none;
}

/*table*/
.table,
.table th,
.table td {
    border-collapse: collapse;
}

.table {
    width: 100%;
}

/*table1*/
.table1 {
    border-top: 1px solid #707070;
    margin-top: 24px;
    table-layout: fixed;
}

.table1 th,
.table1 td {
    border-bottom: 1px solid #707070;
    text-align: left;
    vertical-align: middle;
    padding: 16px 20px;
}

.table1 th {
    font-weight: bold;
    background: #F5F5F5;
    width: 25%;
}

.pageCompany .table1 th {
    width: 30%;
}

.table1 td {
    letter-spacing: .03em;
}

.table1 .bold {
    font-size: 20px;
}

.table1 .red {
    font-size: 25px;
    font-weight: 700;
    color: #EA572B;
}

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

    .innerTablet {
        max-width: 568px;
    }

    body.page {
        margin-top: 60px;
    }

    .page .section {
        margin-bottom: 56px;
    }

    /*sectionTitle*/
    .sectionTitle {
        margin-bottom: 32px;
    }

    .sectionTitle .en {
        font-size: 12px;
    }

    .sectionTitle .ja {
        font-size: 30px;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /*modBtn4*/
    .modBtn4 {
        margin: 0 auto;
    }

}

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

    /*pageMv*/
    .pageMv {
        height: 180px;
        background-image: url(../img/common/page-bg-sp.jpg);
    }

    .pageMv .inner {
        width: calc(100% - 66px);
    }

    .pageMv .sub {
        font-size: 12px;
        padding-left: 27.47px;
        background-size: 21.47px;
        margin-bottom: 2px;
    }

    .pageMv .title {
        font-size: 30px;
    }

    .h2 {
        font-size: 24px;
        padding-bottom: 10px;
        margin-bottom: 32px;
    }

    /*h3*/
    .h3 {
        font-size: 22px;
        padding: 0 0 9px 13px;
        margin-bottom: 24px;
        margin-top: 48px;
        line-height: 1.71818181818;
    }

    .h3::before {
        top: 4px;
        height: 32px;
        width: 5px;
    }

    .h4 {
        font-size: 20px;
        padding-left: 23px;
        margin-bottom: 32px;
        margin-bottom: 16px;
    }

    .h4::before {
        top: 7px;
        width: 15px;
        height: 15px;
        border: 4px solid #EA572B;
    }

    /*modBtn3*/
    .sectionTop .modBtn3 {
        position: relative;
        top: auto;
        margin: 0 auto;
    }

    .modBtn3 {
        max-width: 280px;
        height: 46px;
    }

    .modBtn3 a {
        background-position: center right 15px;
        background-size: 17px;
        padding-left: 19px;
    }

    .modBtn3 a .btnInner {
        font-size: 16px;
    }

    /*modBtn5*/
    .modBtn5 {
        height: 48px;
    }

    .modBtn5 a {
        background-position: center left, center right 10px;
        background-size: auto 100%, 14px;
        padding: 0 35px 0 58px;
    }

    .modBtn5 a .btnInner {
        font-size: 15px;
    }

    .modBtn5 a .btnInner .big {
        font-size: 20px;
    }

    /*modBtn6*/
    .modBtn6.back {
        max-width: 280px;
        height: 44px;
    }

    /*modBtn7*/
    .modBtn7 {
        text-align: center;
    }

    /*mapBtn*/
    .mapBtn {
        height: 36px;
        width: 120px;
        font-size: 16px;
        line-height: 36px;
        margin: -6px 0 0 20px;
    }

    .mapBtn:hover {
        color: #EB8030;
        background-color: #FFF8F4;
    }

    /*contactMailBtn*/
    .contactMailBtn a {
        height: 100px;
        background-position: center left 14px, center right 10px;
        background-size: 42.55px, 18px;
    }

    .contactMailBtn a .btnInner {
        font-size: 18px;
        padding: 0 0 0 10px;
    }

    /*table1*/
    .table1 tr,
    .table1 .column td {
        border-bottom: 1px solid #707070;
    }

    .table1 .column td:last-child {
        border-bottom: none;
    }

    .table1 th,
    .table1 td {
        display: block;
        border-bottom: none;
        padding: 20px 10px;
        width: 100%;
        min-width: auto;
    }

    .pageCompany .table1 th {
        width: 100%;
    }

    .table1 td {
        padding: 28px 10px;
    }

    .table1 .column td {
        width: 100%;
    }

    .table1 .bold {
        font-size: 15px;
    }

    .table1 .red {
        font-size: 22px;
    }

    /*googleMap*/
    .googleMap iframe,
    .pageCompany .googleMap iframe {
        height: 290px;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

ヘッダー

--------------------------------------------------------------------------------------------------------------------*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 500;
    height: 120px;
    width: 100%;
    transition: .2s;
    border-bottom: 1px solid #E6E6E6;
}

.header .headerInner {
    max-width: 100%;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

@media screen and (min-width: 1400px) {

    .header .headerInner {
        padding: 0 24px;
    }

}

/*-----------------------------左ロゴ*/
.logo {
    width: 412px;
}

.logo a {
    display: inline-block;
    padding-left: min(68px, 4.5vw);
    background: url(../img/common/logo.png) no-repeat bottom 5px left;
    background-size: min(62px, 4.428571428571428vw);
}

.logo a .sub {
    font-size: min(12px, 0.9vw);
    font-weight: 500;
    line-height: 1.66666666;
    color: #5E7B89;
    padding: 0 0 3px 8px;
}

.footer .logo a .sub {
    font-size: 12px;
}

.logo a .title {
    font-size: 20px;
    font-weight: 900;
    line-height: 1.3;
}

.logo a .store {
    display: block;
    font-size: 13px;
    font-weight: 700;
    height: 25px;
    line-height: 25px;
    width: 238px;
    background-color: #053F98;
    border-radius: 5px;
    text-align: center;
    margin: 8px 0 0 14px;
    color: #fff;
}

/*-----------------------------メニュー*/
.header .nav {
    width: calc(100% - 412px);
}

/*navTop*/
.header .navTop {
    column-gap: min(16px, 1.1428571428571428vw);
    align-items: center;
    justify-content: flex-end;
    text-align: center;
    margin-bottom: 11px;
}

.hamburger .navTop {
    text-align: center;
    flex-direction: column;
    row-gap: 16px;
    justify-content: center;
}

.navTop .navTel .text {
    font-size: min(13px, 0.9285714285714286vw);
    font-weight: 500;
    display: block;
}

.hamburger .navTop .navTel .text {
    font-size: 14px;
}

.navTop .navTel .tel {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    display: inline-block;
    padding-left: 25.36px;
    background-repeat: no-repeat;
    background-size: 17.36px;
    background-position: center left;
}

.navTop .navTel1 .tel {
    background-image: url(../img/common/icon-tel1.png);
}

.navTop .navTel2 .tel {
    background-image: url(../img/common/icon-tel2.png);
}

.header .navTop .open {
    font-size: min(12px, 0.8571428571428572vw);
    font-weight: 500;
    padding-top: 4px;
    max-width: 224px;
    width: 16vw;
    max-height: 50px;
    height: 3.571428571428571vw;
    border-radius: 5px;
    background-color: #F3F3F3;
}

.hamburger .navTop .open {
    font-size: 13px;
    font-weight: 500;
}

/*navBottom*/
.header .navBottom {
    text-align: center;
    justify-content: flex-end;
}

.header .navBottom .title {
    font-size: min(15px, 1.2vw);
    font-weight: 600;
    width: 85.98px;
    height: 32px;
    line-height: 32px;
    color: #fff;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center;
}

.header .navBottom .title1 {
    background-image: url(../img/common/nav-bottom-title-bg1.png);
}

.header .navBottom .title2 {
    background-image: url(../img/common/nav-bottom-title-bg2.png);
}

.header .navBottom .btn.border {
    border-right: 1px solid #E6E6E6;
}

.header .navBottom .btn a {
    height: 100%;
    padding: 0 min(18px, 1.2857142857142856vw);
    text-align: center;
    transition: .2s;
}

.header .navBottom .btn a .btnInner {
    position: relative;
    display: inline-block;
    font-size: min(15px, 1.2vw);
    font-weight: 500;
}

.header .navBottom .btn a .btnInner::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #EA572B;
    transform: scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.6s ease;
}

/* hover時の状態：transformで線を出すが、opacityは即時に1へ（フェードインしない） */
.header .navBottom .btn a:hover .btnInner::after {
    transform: scaleX(1);
    opacity: 1;
    transition: transform 0.3s ease, opacity 0s ease;
    /* opacityは即時切替 */
}

.header .navBottom .navGroup:last-child ul .btn:first-child a {
    padding-left: min(18px, 1.2857142857142856vw);
}

.header .navBottom .navGroup:last-child ul .btn a {
    padding: 0 9px;
}

.header .navBottom .navGroup:last-child ul .btn:last-child a {
    padding-right: 0;
}

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

    .logo {
        max-width: 320px;
        width: 22.857142857142858vw;
    }

    .header .nav {
        width: calc(100% - min(320px, 22.857142857142858vw));
    }

}

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

    .header {
        height: 60px;
    }

    /*-----------------------------左ロゴ*/
    .header .logo {
        width: 100%;
    }

    .header .logo a {
        padding-left: 36px;
        background-position: bottom left;
        background-size: 41.99px;
    }

    .header .logo a .sub {
        display: none;
    }

    .header .logo a .title {
        font-size: 16px;
    }

    .header .logo a .store {
        font-size: 10px;
        height: 17px;
        line-height: 17px;
        width: 181px;
        margin: 5px 0 0 11px;
    }

    /*-----------------------------メニュー*/
    .header .nav {
        display: none;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

ハンバーガーメニュー

--------------------------------------------------------------------------------------------------------------------*/
.hamburger {
    display: none;
}

/*----------------------------------------------------------------------三本ライン*/
.hamburger .line {
    position: fixed;
    top: 0;
    right: 0;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 999999;
    cursor: pointer;
    background-color: #5E7B89;
}

.hamburger .line span,
.hamburger .line span:before,
.hamburger .line span:after {
    content: '';
    display: block;
    height: 2px;
    width: 32px;
    background-color: #fff;
    position: absolute;
}

.hamburger .line span {
    top: 29px;
    right: 14px;
}

/*.line1*/
.hamburger .line span.line1:before {
    bottom: 8px;
    left: 0;
}

.hamburger .line span.line1:after {
    top: 8px;
    left: 0;
}

/*open*/
.hamburger .line.is-activeLine span.line1 {
    background-color: rgba(255, 255, 255, 0);
    /*メニューオープン時は真ん中の線を透明にする*/
}

.hamburger .line.is-activeLine span.line1::before {
    bottom: 0;
    width: 30px;
    transform: rotate(45deg);
}

.hamburger .line.is-activeLine span.line1::after {
    top: 0;
    width: 30px;
    transform: rotate(-45deg);
}

/* アニメーション前のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: auto;
    opacity: 1;
}

/* アニメーション後のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: none;
    opacity: 0;
}

.hamburger .line.is-activeLine span.line1 {
    pointer-events: none;
    opacity: 0;
}

/* アニメーション後のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: auto;
    opacity: 1;
}

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

    .hamburger {
        display: block;
    }

}

/*-----------------------------------------------------------------------中のメニュー*/
.hamburger .menu {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    /* 追加 */
    z-index: 80;
    background: #F8F6F0;
    padding: 110px 0 107px 0;
    scrollbar-width: none;
    /* Firefox用 */
    -ms-overflow-style: none;
    /* IE・Edge旧対応 */
}

.hamburger .menu::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari用 */
}

.hamburger .menu::before {
    content: "";
    position: absolute;
    top: 80px;
    right: 0;
    width: 96%;
    height: calc(100vh + 194px);
    border-radius: 30px 0 0 0;
    background-color: #fff;
}

.hamburger .innerTablet {
    position: relative;
    max-width: 568px;
    width: calc(100% - 94px);
}

/*navBottom*/
.hamburger .navBottom .navGroup1 {
    margin-bottom: 16px;
}

.hamburger .navBottom .navGroup3 {
    margin: 24px 0;
    border-radius: 20px;
    padding: 24px 22px;
    background-color: #F7F6F4;
}

.hamburger .navBottom .navGroup3 ul {
    display: flex;
    flex-direction: column;
    row-gap: 7px;
}

.hamburger .navBottom .title {
    font-size: 21px;
    font-weight: 700;
}

.hamburger .navBottom .title1 {
    color: #EA572B;
}

.hamburger .navBottom .title2 {
    color: #053F98;
}

.hamburger .navBottom .btn.border {
    border-right: 1px solid #E6E6E6;
}

.hamburger .navBottom .navGroup .btn {
    background-image: radial-gradient(circle, #c8c8c8 1px, transparent 1px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 8px 2px;
}

.hamburger .navBottom .navGroup3 .btn {
    background: none;
}

.hamburger .navBottom .navGroup .btn a {
    padding: 14px 0 14px 19.8px;
    background: url(../img/common/icon-right.svg) no-repeat center left;
    background-size: 6.75px;
}

.hamburger .navBottom .navGroup3 .btn a {
    padding: 0 0 0 19.8px;
}

.hamburger .navBottom .btn a .btnInner {
    position: relative;
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
}

/*動き*/
/* アニメーション前のメニューの状態 */
.hamburger .menu {
    pointer-events: none;
    opacity: 0;
    transition: .2s;
}

/* アニメーション後のメニューの状態 */
.hamburger .menu.is-active {
    pointer-events: auto;
    opacity: 1;
}

/*---------------アコーディオン*/
.hamburger .menu ul.menuList>li {
    position: relative;
    background-color: #fff;
    padding: 0 20px 12.5px 20px;
}

.hamburger .menu ul.menuList li .toggleBtn {
    display: block;
    position: absolute;
    top: 16px;
    cursor: pointer;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    right: 20px;
    background-image: url(../img/common/icon_bottom-white.svg);
    background-repeat: no-repeat;
    background-position: top 8px center;
    background-size: 8px;
    background-color: #5DB7E8;
}

.hamburger .child {
    display: none;
}

.hamburger .menu ul.menuList li .toggleBtn.toggleBtn.is-active {
    /* アイコン縦棒なし（開いてるとき） */
    background-image: url(../img/common/icon_top-white.svg);
    background-position: top 7px center;
}

.hamburger .subMenu {
    background: #F5F5F5;
    padding: 15px 0 15px 20px;
    margin: 13px 0 6px 0;
}

/*--------------------------------------------------------------------------------------------------------------------

フッター
--------------------------------------------------------------------------------------------------------------------*/
.footer {
    position: relative;
    background: url(../img/common/contact-bg-pc.jpg) no-repeat top center;
    background-size: auto max(360px, 25.71428571428571vw);
    overflow: hidden;
}

.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 360px + 70px);
    background: linear-gradient(45deg, #EBB130, #EA572B);
    z-index: -1;
}

/*footer-top*/
.footer .top {
    padding: 120px 0 65px 0;
}

.footer .top .sectionTitle {
    margin-bottom: 24px;
}

.footer .top .contactInner {
    position: relative;
    text-align: center;
    padding: 64px 24px;
    background-color: #fff;
    border-radius: 20px;
}

.footer .top .contactInner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 800px;
    width: calc(100% - 44px);
    height: 10px;
    border-radius: 0 0 10px 10px;
    background-color: #EA572B;
}

.footer .top .contactBox {
    column-gap: 24px;
    row-gap: 50px;
    max-width: 1068px;
    margin: 58px auto 0 auto;
}

.footer .top .contactBox .box {
    position: relative;
    width: calc(100% / 3 - 16px);
    border: 2px solid #E6E6E6;
    border-radius: 10px;
    padding: 40px 10px 24px 10px;
}

.footer .top .contactBox .box .icon {
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
}

.footer .top .contactBox .box3 .icon {
    top: -14px;
}

.footer .top .contactBox .box .title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.footer .top .contactBox .box3 .title {
    margin: 5px 0 33px 0;
}

.footer .top .contactBox .box .tel a {
    font-weight: 700;
    font-size: 32px;
    line-height: 1;
    display: inline-block;
    padding-left: 26.91px;
    margin: 10px 0 15px 0;
    background: url(../img/common/icon-tel.png) no-repeat top 10px left;
    background-size: 18.91px;
    color: #EA572B;
}

.footer .top .contactBox .box .cm {
    font-size: 14px;
    line-height: 1.5;
}

/*footer-bottom*/
.footer .bottom {
    position: relative;
    background-color: #fff;
    border-radius: 70px 70px 0 0;
}

.footer .bottom hr {
    max-width: 1320px;
    background-color: #C8C8C8;
}

/*logoBox*/
.footer .logo {
    width: 412px;
    max-width: 100%;
}

.footer .bottom .logoBox .address {
    margin: 34px 0 0 0;
}

/*menuBox*/
.footer .bottom .menu {
    padding: 67px 0 87px 0;
    width: calc(100% - 80px);
    justify-content: space-between;
    row-gap: 34px;
}

.footer .menuBox {
    column-gap: 48px;
    row-gap: 30px;
    width: 46.7%;
}

.footer .menuBox.sp {
    display: none;
}

.footer .menuBox .navGroupIn {
    margin-bottom: 18px;
}

.footer .menuBox .title {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 2px;
}

.footer .menuBox .title::before {
    content: "";
    position: absolute;
    top: 12px;
    left: -15px;
    width: 10px;
    height: 10px;
    background-color: #EA572B;
}

.footer .menuBox .subMenu {
    margin-left: 14px;
}

.footer .menuBox .btn a {
    font-size: 15px;
    padding: 0 0 0 11px;
    margin-bottom: 15px;
    background-image: url(../img/common/icon-right.svg);
    background-repeat: no-repeat;
    background-size: 6.51px;
    background-position: center left;
}

.footer .menuBox .btn a:hover {
    background-image: url(../img/common/icon-right-hover.svg);
    color: #EA572B;
}

.footer .menuBox .navGroupIn .btn a,
.footer .menuBox .subMenu .btn a {
    margin-bottom: 0;
    padding: 1px 0 1px 11px;
}

.footer .menuBox .subMenu .btn a {
    position: relative;
    background: none;
    padding-left: 13px;
}

.footer .menuBox .subMenu .btn a::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 0;
    width: 10px;
    height: 2px;
    border-radius: 2px;
    background-color: #C8C8C8;
}

.footer .menuBox .subMenu .btn a:hover::before {
    background-color: #EA572B;
}

.footer .menuBox .sub a {
    margin-bottom: 2px;
}

/*copy*/
.footer .copy {
    font-size: 15px;
    padding: 16px 0;
}

.footer .copy .inner {
    width: calc(100% - 80px);
    display: block;
}

/*pageTop*/
.footer .pageTopInner {
    position: fixed;
    bottom: 66px;
    right: 40px;
    z-index: 10;
}

.footer .pageTop {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 56px;
    height: 56px;
    font-size: 0;
    transition: .2s;
    background-image: url(../img/common/back_btn.png);
    background-repeat: no-repeat;
    background-size: 56px;
    background-position: center;
    border-radius: 56px;
    cursor: pointer;
}

.pageTop {
    opacity: 0;
    visibility: hidden;
    /* 非表示時はフォーカスやクリックを無効化 */
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.pageTop.show {
    opacity: 1;
    visibility: visible;
    /* 表示時はクリック可能に */
}

.footer .pageTop:hover {
    background-image: url(../img/common/back_btn-hover.png);
}

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

    .footer .logo {
        text-align: center;
        width: 100%;
    }

    .footer .logo a {
        padding: 0;
        background: none;
        text-align: left;
    }

    .footer .logo a .sub {
        padding: 0;
    }

    .footer .logo a .title {
        padding: 18px 0 0 68px;
        background: url(../img/common/logo.png) no-repeat bottom left;
        background-size: 62px;
    }

    .footer .menuBox {
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        column-gap: 41px;
    }

    .footer .copy {
        text-align: center;
    }

    .footer .top .contactBox .box {
        width: calc(100% / 2 - 12px);
    }

    .footer .top .contactBox .box3 {
        width: 100%;
    }

    .footer .top .contactBox .box .tel a {
        font-size: min(32px, 4.9vw);
    }

    .footer .top .contactBox .box3 .title {
        margin: 5px 0 22px 0;
    }

    /*pageTop*/
    .footer .pageTopInner {
        bottom: 65px;
        right: 16px;
    }

    .footer .pageTop {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 56px;
        height: 56px;
        font-size: 0;
        transition: .2s;
        background-image: url(../img/common/back_btn.png);
        background-repeat: no-repeat;
        background-size: 56px;
        background-position: center;
        border-radius: 56px;
        cursor: pointer;
    }

    .footer .pageTop:hover {
        background-image: url(../img/common/back_btn.png);
    }

}

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

    .footer {
        background-image: url(../img/common/contact-bg-sp.jpg);
        background-size: auto max(220px, 58.666666666666664vw);
    }

    .footer::before {
        height: calc(100% - max(220px, 58.666666666666664vw) + 70px);
    }

    /*footer-top*/
    .footer .top {
        padding: 71px 0 56px 0;
    }

    .footer .topText {
        font-size: 15px;
    }

    .footer .top .contactInner {
        padding: 41px 22px 37px 22px;
    }

    .footer .top .contactInner::before {
        height: 8px;
        border-radius: 0 0 8px 8px;
    }

    .footer .top .contactBox {
        margin: 56px auto 0 auto;
    }

    .footer .top .contactBox .box {
        width: 100%;
        padding: 28px 25px 20px 25px;
    }

    .footer .top .contactBox .box3 {
        padding-bottom: 35px;
    }

    .footer .top .contactBox .box .icon {
        top: -32px;
    }

    .footer .top .contactBox .box3 .icon {
        top: -17px;
    }

    .footer .top .contactBox .box .title {
        font-size: 17px;
    }

    .footer .top .contactBox .box3 .title {
        margin: 16px 0 22px 0;
    }

    .footer .top .contactBox .box .tel a {
        font-size: 32px;
    }

    .footer .top .contactBox .box .cm {
        font-size: 13px;
    }

    /*footer-bottom*/
    /*logoBox*/
    .footer .logo a .sub {
        font-size: 13px;
        line-height: 1.8;
    }

    .footer .logo a .title {
        font-size: 19px;
        padding: 18px 0 0 48px;
        background-size: 53.04px;
        margin: 0 auto;
        max-width: 290px;
    }

    .logo a .store {
        font-size: 12px;
        height: 24px;
        line-height: 24px;
        width: 228px;
        margin: 6px 0 0 14px;
    }

    .footer .bottom .logoBox .address {
        font-size: 15px;
    }

    /*menuBox*/
    .footer .bottom .menu {
        padding: 42px 0 38px 0;
        row-gap: 14px;
    }

    .footer .menuBox {
        display: none;
    }

    .footer .menuBox.sp {
        display: flex;
        justify-content: center;
    }

    .footer .menuBox.sp .btn a {
        margin-bottom: 0;
    }

    /*copy*/
    .footer .copy {
        font-size: 13px;
        padding: 18px 0;
    }

    .footer .copy .inner {
        width: calc(100% - 32px);
    }

}

/*--------------------------------------------------------------------------------------------------------------------

トップページ

--------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------MV*/
.mv {
    position: relative;
    padding: 152px 0 66px 0;
    background-color: #fff;
}

.mv .mvSwiper {
    position: relative;
    height: 100%;
}

.mvSwiper .swiper-slide {
    transition: .2s;
}

.mvSwiper .swiper-slide:hover {
    opacity: .7;
}

@media screen and (min-width: 600px) {
    .mvSwiper .swiper-slide {
        max-width: 800px;
    }
}

.mv .mvSwiper .swiper-slide img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.mv .mvSwiper .swiper-pagination {
    bottom: -44px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
}

.mv .mvSwiper .swiper-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background-color: #C3D5DE;
    opacity: 1;
    transition: .5s;
    margin: 0 7px;
}

.mv .mvSwiper .swiper-pagination .swiper-pagination-bullet-active {
    position: relative;
}

.mv .mvSwiper .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #5E7B89;
}

.mv .swiper-button-prev,
.mv .swiper-button-next {
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.mv .swiper-button-prev {
    left: 0;
    background-image: url(../img/top/swiper-button-prev.png);
}

.mv .swiper-button-next {
    right: 0;
    background-image: url(../img/top/swiper-button-next.png);
}

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

    .mv {
        padding: 73px 0 47px 0;
    }

}

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

    .mv .mvSwiper .swiper-pagination {
        bottom: -33px;
    }

    .mv .mvSwiper .swiper-pagination .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
        margin: 0 6px;
    }

    .mv .swiper-button-prev,
    .mv .swiper-button-next {
        width: 24px;
        height: 24px;
    }

}

/*topMenu*/
.topMenu {
    padding: 40px 35px;
    margin: 72px auto 60px auto;
    background-color: #fff;
    border: 1px solid #E6E6E6;
    border-radius: 5px;
    column-gap: 4.25%;
    row-gap: 32px;
}

.topMenu .box1 {
    width: 60.28%;
}

.topMenu .box2 {
    width: 35.47%;
}

.topMenu .box .boxTitle {
    position: relative;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    height: 48px;
    border-radius: 5px;
    line-height: 48px;
    margin-bottom: 16px;
}

.topMenu .box1 .boxTitle {
    background-color: #EA572B;
}

.topMenu .box2 .boxTitle {
    background-color: #053F98;
}

.topMenu .box1 .boxTitle::before {
    content: "";
    position: absolute;
    bottom: 9px;
    right: 20px;
    width: 65.05px;
    height: 61.96px;
    background: url(../img/common/icon-contact01.png) no-repeat center;
    background-size: cover;
}

.topMenu .box .boxInner {
    padding: 0 12px;
    column-gap: 40px;
    row-gap: 12px;
}

.topMenu .box1 .boxInner ul {
    width: calc(100% / 2 - 20px);
}

.topMenu .box .boxInner .h4 {
    margin: 0 0 12px 0;
}

.topMenu .box .boxInner .modBtn5 {
    margin-bottom: 16px;
}

.topMenu .box .boxInner .modBtn5:last-child {
    margin-bottom: 0;
}

.topMenu .box2 .boxInner .modBtn7 {
    margin-top: 32px;
}

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

    .topMenu {
        padding: 40px 16px;
    }

    .topMenu .box1,
    .topMenu .box2 {
        width: 100%;
    }

}

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

    .topMenu {
        padding: 0 0 25px 0;
        margin: 52px auto 50px auto;
    }

    .topMenu .box .boxTitle {
        font-size: 21px;
        height: 51.24px;
        border-radius: 5px 5px 0 0;
        line-height: 51.24px;
    }

    .topMenu .box1 .boxTitle::before {
        bottom: 13px;
        right: 16px;
        width: 56.44px;
        height: 53.76px;
    }

    .topMenu .box .boxInner {
        padding: 0;
        width: calc(100% - 32px);
        max-width: 310px;
        margin: 0 auto;
    }

    .topMenu .box1 .boxInner ul {
        width: 100%;
    }

    .topMenu .box .boxInner .h4 {
        margin: 0 0 12px 0;
    }

    .topMenu .box .boxInner .modBtn5 {
        margin-bottom: 16px;
    }

    .topMenu .box .boxInner .modBtn5:last-child {
        margin-bottom: 0;
    }

    .topMenu .box2 .boxInner .modBtn7 {
        margin-top: 24px;
    }

}

/*container*/
.container {
    row-gap: 64px;
    margin-bottom: 120px;
}

.page .container {
    margin-top: 73px;
}

.container.flex .main {
    width: calc(100% - 348px);
}

/*aside*/
.aside {
    position: relative;
    width: 300px;
    margin-right: 48px;
}

.aside .asideInner {
    position: relative;
    padding: 32px 20px;
    border-radius: 5px;
    border: 1px solid #E6E6E6;
    background-color: #fff;
    margin-bottom: 40px;
}

.aside .asideInner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: calc(100% - 40px);
    height: 4px;
    border-radius: 0 0 4px 4px;
    background-color: #EA572B;
}

.aside .title {
    position: relative;
    font-size: 20px;
    font-weight: 700;
    padding-left: 8px;
    margin-bottom: 6px;
}

.aside .title::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 3px;
    height: 32px;
    background-color: #EA572B;
}

.aside .btnBox {
    column-gap: 12px;
    margin-bottom: 16px;
}

.aside .btnBox .modBtn1,
.aside .btnBox .modBtn2 {
    width: calc(100% / 2 - 6px);
}

.aside .h5 {
    margin: 0 0 2px 0;
}

.aside hr {
    margin: 32px -20px;
    background-color: #C8C8C8;
}

.aside .banner {
    transition: .2s;
}

.aside .banner:hover {
    opacity: .7;
}

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

    /*container*/
    .container.flex .main {
        width: 100%;
        order: 1;
    }

    .page .container {
        margin-top: 40px;
    }

    /*aside*/
    .aside {
        width: 100%;
        order: 2;
        margin: 0;
    }

    .aside .asideInner {
        padding: 34px 17px;
        margin-bottom: 32px;
    }

    .aside .asideInner::before {
        width: calc(100% - 84px);
    }

    .aside .title {
        font-size: 18px;
    }

    .aside .title::before {
        top: 5px;
        height: 24px;
    }

    .aside .btnBox {
        column-gap: 18px;
    }

    .aside .btnBox .modBtn1,
    .aside .btnBox .modBtn2 {
        width: calc(100% / 2 - 9px);
    }

    .aside hr {
        margin: 32px 0;
    }

    .aside .banner img {
        margin: 0 auto;
    }

}

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

    .container {
        margin-bottom: 64px;
    }

}

/*itemList*/
.sectionTop {
    margin-bottom: 72px;
}

.sectionTop.rentalTop {
    margin-bottom: 0;
}

.hrTop {
    margin: 80px 0;
    background-color: #E6E6E6;
}

.sectionTop .itemList {
    column-gap: 21px;
    row-gap: 32px;
}

.page .itemList {
    display: flex;
    flex-direction: column;
    row-gap: 32px;
}

.sectionTop .itemList .box {
    width: calc(100% / 3 - 14px);
}

.page .itemList .box {
    border: 1px solid #E6E6E6;
    border-radius: 5px;
    padding: 22px 30px;
    width: 100%;
}

.itemList .box .img {
    position: relative;
    overflow: hidden;
}

.sectionTop .itemList .box .img {
    max-height: 190px;
    height: 15vw;
    margin-bottom: 10px;
}

.page .itemList .box .img {
    width: 36.36%;
    margin-right: 4.05%;
    max-height: 190px;
}

.page .itemList .box .text {
    width: 59.59%;
}

.itemList .box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.sectionTop .itemList .box:hover .img img {
    transform: scale(1.04);
}

.itemList .box.new .img::before {
    content: "新着";
    position: absolute;
    width: 65.45px;
    line-height: 23.33px;
    height: 23.33px;
    text-align: center;
    border-radius: 0 0 5px 0;
    background-color: #EA572B;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    z-index: 1;
}

.page .itemList .box.new .img::before {
    width: 70px;
    line-height: 24px;
    height: 24px;
    font-size: 11px;

}

.page .itemList .box .tag {
    margin-right: 16px;
    display: inline-block;
}

.itemList .box .tag li {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    margin-right: 1px;
    height: 20px;
    line-height: 20px;
    color: #fff;
    padding: 0 8px;
    border-radius: 2px;
}

.itemList .box .tag li.green {
    background-color: #386F40;
}

.itemList .box .tag li.purple {
    background-color: #84569D;
}

.itemList .box .tag li.pink {
    background-color: #EB6262;
}

.itemList .box .tag li.red {
    background-color: #BF4600;
}

.itemList .box .tag li.orange {
    background-color: #EB8030;
}

.itemList .box .tag li.lightGreen {
    background-color: #93B522;
}

.itemList .box .tag li.blue {
    background-color: #053F98;
}

.itemList .box .tag li:last-child {
    margin-right: 0;
}

.itemList .box .title {
    font-size: 16px;
    font-weight: 700;
    margin: 3px 0 -2px 0;
}

.page .itemList .box .title {
    font-size: 19px;
    font-weight: 700;
    margin: 0 0 -2px 0;
}

.sectionTop .itemList .box:hover .title {
    text-decoration: underline;
}

.itemList .box .price {
    font-size: 13px;
    margin-bottom: -2px;
}

.itemList .box .bold {
    font-size: 14px;
}

.itemList .box .red {
    font-size: 23px;
    font-weight: 700;
    color: #EA572B;
}

.itemList .box .area {
    font-size: 13px;
}

.itemList .box .map {
    font-size: 14px;
    padding-left: 20px;
    background: url(../img/common/icon-map.png) no-repeat center left;
    background-size: 16px;
    display: inline-block;
}

.itemList .box .info {
    row-gap: 8px;
    margin: 12px 0 24px 0;
}

.itemList .box .info dl {
    width: 100%;
}

.itemList .box .info dl.half {
    width: 50%;
    display: inline-block;
}

.itemList .box .info dl dt {
    width: 91px;
    height: 27px;
    border-radius: 4px;
    text-align: center;
    background-color: #E6E6E6;
    line-height: 27px;
    font-size: 15px;
    font-weight: 500;
    display: inline-block;
    vertical-align: top;
    margin-right: 8px;
}

.itemList .box .info dl dd {
    width: calc(100% - 103px);
    font-size: 15px;
    display: inline-block;
}

.itemList .box .btnBox {
    column-gap: 16px;
    justify-content: flex-end;
}

.itemList .box .btnBox .btn {
    width: 23.7vw;
    max-width: 160px;
}

.itemList .box .btnBox .btn a {
    height: 44px;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: .2s;
}

.itemList .box .btnBox .btn1 a {
    border: 1px solid #EB8030;
    background-color: #EB8030;
}

.itemList .box .btnBox .btn1 a:hover {
    background-color: #FFF8F4;
}

.itemList .box .btnBox .btn2 a {
    border: 1px solid #5E7B89;
    background-color: #5E7B89;
}

.itemList .box .btnBox .btn2 a:hover {
    background-color: #EFF5FF;
}

.itemList .box .btnBox .btn a .btnInner {
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    transition: .2s;
}

.itemList .box .btnBox .btn1 a .btnInner {
    padding-left: 23.44px;
    background: url(../img/common/icon-mail.svg) no-repeat center left;
    background-size: 15.44px;
}

.itemList .box .btnBox .btn1 a:hover .btnInner {
    background-image: url(../img/common/icon-mail-hover.svg);
    color: #EB8030;
}

.itemList .box .btnBox .btn2 a:hover .btnInner {
    color: #5E7B89;
}

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

    .sectionTop .itemList {
        column-gap: 15px;
    }

    .sectionTop .itemList .box {
        width: calc(100% / 3 - 10px);
    }

    .sectionTop .itemList .box .img {
        height: 19vw;
    }

}

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

    .sectionTop {
        margin-bottom: 56px;
    }

    .hrTop {
        margin: 56px 0;
    }

    .sectionTop .itemList {
        margin-bottom: 40px;
        row-gap: 24px;
    }

    .page .itemList {
        row-gap: 24px;
        padding: 0 6px;
    }

    .sectionTop .itemList .box {
        width: calc(100% / 2 - 10px);
    }

    .page .itemList .box {
        padding: 20px;
    }

    .itemList .box .img {
        margin-bottom: 2px;
    }

    .page .itemList .box .img {
        width: 100%;
        margin-right: 0;
        max-height: 100%;
        height: 51.2vw;
        margin-bottom: 12px;
    }

    .sectionTop .itemList .box .img {
        height: 30vw;
        min-height: 115px;
    }

    .sectionTop .itemList .box.new .img::before {
        width: 48px;
        line-height: 16px;
        height: 16px;
        font-size: 10px;
    }

    .page .itemList .box .text {
        width: 100%;
    }

    .sectionTop .itemList .box .bold {
        font-size: 13px;
    }

    .sectionTop .itemList .box .title .red {
        font-size: 20px;
    }

    .itemList .box .title {
        line-height: 1.4;
        margin: 6px 0 1px 0;
    }

    .page .itemList .box .title {
        font-size: 18px;
        margin: 0 0 1px 0;
    }

    .page .itemList .box .tag {
        margin-right: 0;
        display: block;
    }

    .itemList .box .map {
        font-size: 16px;
        margin: 16px 0 0 0;
    }

    .itemList .box .info {
        row-gap: 6px;
        margin: 10px 0 18px 0;
    }

    .itemList .box .info dl.half {
        width: 100%;
        display: block;
    }

    .itemList .box .btnBox {
        column-gap: 14px;
    }

    .itemList .box .btnBox .btn {
        width: calc(100% / 2 - 7px);
    }

}

/*pagination*/
.pagination {
    margin-top: 56px;
}

.pagination .flex {
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
}

.pagination .button a {
    width: 8.49px;
    height: 16.97px;
    margin: 0 auto;
}

.pagination .button.prev a {
    background: url(../img/common/prev.png) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.prev a:hover {
    background: url(../img/common/prev-hover.png) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.next a {
    background: url(../img/common/next.png) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.next a:hover {
    background: url(../img/common/next-hover.png) no-repeat center;
    background-size: 100% auto;
}

.pagination .num a {
    width: 40px;
    height: 40px;
    text-align: center;
    border: 2px solid #5E7B89;
    padding-top: 4px;
}

.pagination .num a:hover {
    background-color: #FF6C00;
    border: 2px solid #FF6C00;
    color: #fff;
}

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

    .pagination {
        margin-top: 32px;
        max-width: 240px;
    }

    .pagination .button {
        width: 100%;
    }

}

/*itemSlide*/
.itemSlide .swiper {
    max-width: 900px;
    width: 100%;
}

.itemSlide .slider .swiper-slide {
    background-color: #F8F6F0;
    padding: 28px 90px;
    margin-bottom: 32px;
    height: 520px;
}

@media screen and (max-width: 799px) {
    .itemSlide .slider .swiper-slide {
        height: 440px;
    }
}

@media screen and (max-width: 599px) {
    .itemSlide .slider .swiper-slide {
        height: 370px;
        background-color: #FFF;
    }
}

@media screen and (max-width: 499px) {
    .itemSlide .slider .swiper-slide {
        height: 240px;
        background-color: #FFF;
    }
}

.swiper-slide img {
    object-fit: contain;
    height: 100%;
    width: 100%;
}

.itemSlide .slider-thumbnail .swiper-slide {
    cursor: pointer;
    height: 91px;
}

@media screen and (max-width: 799px) {
    .itemSlide .slider-thumbnail .swiper-slide {
        cursor: pointer;
        height: 80px;
    }
}

.itemSlide .swiper-button-prev,
.itemSlide .swiper-button-next {
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.itemSlide .swiper-button-prev {
    left: 32px;
    background-image: url(../img/top/swiper-button-prev.png);
}

.itemSlide .swiper-button-next {
    right: 32px;
    background-image: url(../img/top/swiper-button-next.png);
}

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

    .itemSlide .slider .swiper-slide {
        padding: 0;
        margin-bottom: 24px;
    }

    .itemSlide .swiper-button-prev,
    .itemSlide .swiper-button-next {
        width: 24px;
        height: 24px;
    }

    .itemSlide .swiper-button-prev {
        left: 0;
    }

    .itemSlide .swiper-button-next {
        right: 0;
    }

    .itemSlide .slider-thumbnail .swiper-wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 16px 11px;
        /* 縦16px・横11pxの間隔 */
        justify-content: center;
    }

    .itemSlide .slider-thumbnail .swiper-slide {
        flex: 0 0 calc((100% - 22px) / 3);
        /* 横幅を3分割（間隔2つぶん引く） */
        box-sizing: border-box;
        margin: 0 !important;
        /* SwiperのspaceBetweenを無効化 */
    }

}

/*deta*/
.deta {
    margin-top: 64px;
}

.deta .toggleBtn {
    position: relative;
    font-size: 20px;
    font-weight: 700;
    height: 72px;
    line-height: 70px;
    border-radius: 10px;
    border: 1px solid #DBD6C6;
    background-color: #F8F6F0;
    padding-left: 43px;
    background-image: url(../img/common/icon-down.svg);
    background-repeat: no-repeat;
    background-position: center right 27px;
    background-size: 23px;
    cursor: pointer;
}

.deta .toggleBtn.is-active {
    /* アイコン縦棒なし（開いてるとき） */
    background-image: url(../img/common/icon-up.svg);
}

.deta .toggleBtn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    margin: auto;
    width: 12.25px;
    height: 12.25px;
    border-radius: 20px;
    background-color: #EA572B;
}

.deta .child {
    display: none;
    padding-top: 48px;
}

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

    .deta {
        margin-top: 48px;
    }

    .deta .toggleBtn {
        font-size: 18px;
        height: 64px;
        line-height: 62px;
        padding-left: 34px;
        background-position: center right 16px;
    }

    .deta .toggleBtn::before {
        left: 15px;
    }

    .deta .child {
        padding-top: 32px;
    }

}

/*pageInfo*/
.pageInfo {
    margin-top: 64px;
    background-color: #F8F6F0;
    padding: 32px 64px;
    column-gap: 16px;
    row-gap: 16px;
    justify-content: space-between;
}

.pageInfo .box {
    width: calc(100% / 2 - 8px);
    max-height: 110px;
    max-width: 454px;
}

.pageInfo .box1 {
    background-color: #FFF8F4;
    border: 2px solid #EA572B;
    padding: 7px;
    border-radius: 10px;
    text-align: center;
    color: #EA572B;
}

.pageInfo .box1 .title {
    font-weight: 700;
}

.pageInfo .box1 .tel a {
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    display: inline-block;
    padding-left: 26.91px;
    margin: 0 0 10px 0;
    background: url(../img/common/icon-tel.png) no-repeat top 10px left;
    background-size: 18.91px;
    color: #EA572B;
}

.pageInfo .box1 .cm {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}

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

    .pageInfo .box {
        max-width: 454px;
        width: 100%;
        margin: 0 auto;
    }

}

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

    .pageInfo {
        margin-top: 48px;
        padding: 32px 22px;
    }

    .pageInfo .box1 {
        padding: 11px;
        max-height: 121px;
    }

    .pageInfo .box1 .title {
        font-size: 13px;
    }

    .pageInfo .box1 .tel a {
        font-size: 25px;
        padding-left: 26.07px;
        margin: 2px 0 0 0;
        background-position: top 5px left;
        background-size: 18.07px;
    }

}

/*reasonBox*/
.reasonBox {
    position: relative;
    margin-bottom: 160px;
}

.reasonBox:last-child {
    margin-bottom: 180px;
}

.reasonBox::before {
    content: "";
    position: absolute;
    top: 41px;
    width: 42.1428571%;
    height: 100%;
    background-color: #F8F6F0;
}

.reasonBox.odd::before {
    right: 0;
    border-radius: 0 0 0 30px;
}

.reasonBox.even::before {
    left: 0;
    border-radius: 0 0 30px 0;
}

.reasonBox .reasonBoxInner {
    justify-content: space-between;
    row-gap: 32px;
}

.reasonBox .text {
    width: 47.18%;
}

.reasonBox .img {
    position: relative;
    width: 47.27%;
    height: 320px;
}

.reasonBox .text .num {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background-color: #EA572B;
    width: 94px;
    height: 27px;
    line-height: 27px;
    display: inline-block;
    text-align: center;
    margin-bottom: 12px;
}

.reasonBox .text .title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.reasonBox .text .title .orange {
    color: #EA572B;
}

.reasonBox .text .sub {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin: 24px 0 16px 0;
}

.reasonBox .text .modBtn4 {
    margin-top: 24px;
}

.reasonBox .img .pic {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.reasonBox .img .ab {
    position: absolute;
    bottom: -72px;
}

.reasonBox.odd .img .ab {
    right: -50px;
}

.reasonBox.even .img .ab {
    left: -50px;
}

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

    .reasonBox.odd .img .ab {
        right: 0;
    }

    .reasonBox.even .img .ab {
        left: 0;
    }

}

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

    .reasonBox {
        margin-bottom: 87px;
    }

    .reasonBox:last-child {
        margin-bottom: 102px;
    }

    .reasonBox::before {
        min-height: 200px;
        height: 53.333333333333336vw;
        top: auto;
        bottom: -30px;
        width: calc(100% - 43px);
    }

    .reasonBox .text {
        width: 100%;
    }

    .reasonBox .img {
        width: 100%;
        height: auto;
    }

    .reasonBox.even .text {
        order: 1;
    }

    .reasonBox.even .img {
        order: 2;
    }

    .reasonBox .text .num {
        font-size: 13px;
        width: 83px;
        height: 25px;
        line-height: 25px;
        margin-bottom: 8px;
    }

    .reasonBox .text .title {
        font-size: 24px;
    }

    .reasonBox .text .sub {
        font-size: 18px;
        margin: 16px 0;
    }

    .reasonBox .text .modBtn4 {
        margin: 16px 0 0 0;
    }

    .reasonBox .img .ab {
        position: absolute;
        bottom: -39px;
    }

    .reasonBox1 .img .ab {
        min-width: 121.97px;
        width: 32.525333333333336vw;
    }

    .reasonBox2 .img .ab {
        min-width: 91px;
        width: 24.266666666666666vw;
    }

    .reasonBox3 .img .ab {
        min-width: 113.89px;
        width: 30.37066666666667vw;
    }

    .reasonBox4 .img .ab {
        min-width: 54.84px;
        width: 14.624vw;
    }

}

/*greeting*/
.greeting .sub {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 26px;
}

.greeting .name {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 26px;
    text-align: right;
}

.greeting .name .small {
    font-size: 16px;
    display: block;
}

.greetingHr {
    margin: 88px auto;
    background-color: #E6E6E6;
}

.bannerCompany {
    position: relative;
    width: 100%;
    max-width: 560px;
    height: 120px;
    background: url(../img/common/banner-company.jpg) no-repeat center;
    background-size: cover;
    border: 2px solid #EA572B;
    border-radius: 10px;
    overflow: hidden;
    padding-left: 34px;
    display: flex;
    align-items: center;
    transition: .3s;
    margin: 0 auto;
}

.bannerCompany:hover {
    background-image: url(../img/common/banner-company-hover.jpg);
}

.bannerCompany .btnInner {
    position: relative;
    font-size: 25px;
    font-weight: 700;
    color: #fff;
    display: block;
    width: 100%;
    background: url(../img/common/icon-right-white.svg) no-repeat center right 15px;
    background-size: 26.06px;
    z-index: 3;
}

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

    .greeting .sub {
        font-size: 21px;
        margin-bottom: 24px;
    }

    .greeting .name {
        margin-top: 28px;
    }

    .greetingHr {
        margin: 48px auto;
    }

    .bannerCompany {
        height: 74px;
        padding-left: 16px;
        background-position: bottom center;
    }

    .bannerCompany .btnInner {
        font-size: 20px;
        background-size: 18px;
    }

}

/*access*/
.accessBox {
    justify-content: space-between;
    row-gap: 32px;
}

.accessBox .img {
    width: 43.63%;
}

.accessBox .text {
    width: 49.09%;
}

.accessBox .text .h6:first-child {
    margin-top: 0;
}

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

    .accessBox .img,
    .accessBox .text {
        width: 100%;
    }

    .accessBox .img img {
        margin: 0 auto;
    }

}

/*newsList*/
.newsTop .newsList {
    background-color: #fff;
    padding: 71px 52px;
    border-radius: 20px;
    border: 1px solid #E6E6E6;
}

.newsList a {
    position: relative;
    border-bottom: 1px solid #E6E6E6;
    padding: 28px 50px 28px 12px;
    background: url(../img/common/icon-right-orange.svg) no-repeat center right 12px;
    background-size: 20px;
}

.newsList a:first-child {
    padding-top: 0;
    background-position: top 3px right 12px;
}

.newsList a:hover {
    background-image: url(../img/common/icon-right-orange-hover.svg);
}

.newsList a::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #EA572B;
    transform: scaleX(0);
    transform-origin: left;
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.6s ease;
}

.newsList a:hover::after {
    transform: scaleX(1);
    opacity: 1;
    transition: transform 0.3s ease, opacity 0s ease;
}

.newsList .date {
    font-size: 13px;
    font-weight: 500;
    color: #5E7B89;
    width: 87px;
    padding-right: 20px;
    margin-top: 3px;
}

.newsList .title {
    font-size: 15px;
    font-weight: 500;
    width: calc(100% - 87px);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    /* 制限したい行数が3の場合 */
    overflow: hidden;
}

.newsList a:hover .title {
    text-decoration: underline;
}

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

    .newsTop .newsList {
        padding: 36px 22px;
        margin-bottom: 40px;
    }

    .newsList a {
        padding: 14px 36px 14px 0;
        background-position: center right;
        background-size: 20px;
    }

    .newsList a:first-child {
        background-position: center right;
    }

    .newsList .date {
        width: 100%;
        padding-right: 0;
        margin-top: 0;
    }

    .newsList .title {
        font-size: 16px;
        width: 100%;
        -webkit-line-clamp: 3;
        /* 制限したい行数が3の場合 */
    }

}

/*btnSection*/
.btnSection {
    column-gap: 32px;
    row-gap: 24px;
}

.btnSection .btn {
    position: relative;
    width: calc(100% / 2 - 16px);
    border-radius: 10px;
    min-height: 220px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
}

.btnSection .btn1 {
    background-image: url(../img/top/btn-comany-bg.jpg);
}

.btnSection .btn2 {
    background-image: url(../img/top/btn-reason-bg.jpg);
}

.btnSection .btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .2s;
    border-radius: 10px;
}

.btnSection .btn1::before {
    background-color: #EA572B;
}

.btnSection .btn2::before {
    background-color: #053F98;
}

.btnSection .btn:hover:before {
    opacity: .85;
}

.btnSection .btn::after {
    content: "";
    position: absolute;
    bottom: 13px;
    right: 13px;
    width: 18px;
    height: 18px;
    background-image: url(../img/common/icon-right-white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.btnSection .btn .text {
    position: relative;
    font-size: min(15px, 1.3vw);
    font-weight: 500;
    padding: 2px 11px;
    display: inline-block;
    margin-bottom: 8px;
    background-color: #fff;
    border-radius: 2px;
}

.btnSection .btn1 .text {
    color: #EA572B;
}

.btnSection .btn2 .text {
    color: #053F98;
}

.btnSection .btn .title {
    position: relative;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.288;
    padding: 2px 0 2px 66px;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 58px;
    text-align: left;
    display: inline-block;
    color: #fff;
    transition: .2s;
}

.btnSection .btn1 .title {
    background-image: url(../img/top/btn-comany.png);
}

.btnSection .btn1:hover .title {
    background-image: url(../img/top/btn-comany-hover.png);
}

.btnSection .btn2 .title {
    background-image: url(../img/top/btn-reason.png);
}

.btnSection .btn2:hover .title {
    background-image: url(../img/top/btn-reason-hover.png);
}

.btnSection .btn .title .en {
    display: block;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.8;
}

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

    .btnSection {
        column-gap: 24px;
    }

    .btnSection .btn {
        width: calc(100% / 2 - 12px);
    }

    .btnSection .btn .text {
        font-size: min(15px, 2vw);
    }

}

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

    .btnSection .btn {
        width: 100%;
        min-height: 180px;
    }

    .btnSection .btn::after {
        width: 17px;
        height: 17px;
    }

    .btnSection .btn .text {
        font-size: 14px;
        padding: 2px 11px;
    }

    .btnSection .btn .title {
        font-size: 22px;
        line-height: 1.46363636363;
        padding: 2px 0 2px 61px;
        background-size: 56px;
    }

}

/*single*/
.pageNewsSingle .newsList {
    margin-bottom: 24px;
}

.pageNewsSingle .newsList .date {
    font-size: 18px;
}

.pageNewsSingle .mainImg img {
    margin: 0 auto 72px auto;
}

.pageNewsSingle .modBtn6 {
    margin: 56px auto 0 auto;
}

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

    .pageNewsSingle .newsList {
        margin-bottom: 12px;
    }

    .pageNewsSingle .newsList .date {
        font-size: 15px;
    }

    .pageNewsSingle .mainImg img {
        margin: 0 auto 32px auto;
    }

    .pageNewsSingle .modBtn6 {
        margin: 48px auto 0 auto;
    }

}

/*contactTelBox*/
.contactTelBox {
    column-gap: 24px;
    row-gap: 24px;
    background-color: #F8F6F0;
    border-radius: 10px;
    padding: 45px 31px;
    margin-bottom: 88px;
}

.contactTelBox .box {
    position: relative;
    width: calc(100% / 3 - 16px);
    border: 1px solid #E6E6E6;
    border-radius: 20px;
    background-color: #fff;
    padding: 34px 0 30px 0;
    text-align: center;
}

.contactTelBox .box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 240px;
    width: calc(100% - 90px);
    height: 5px;
    border-radius: 0 0 5px 5px;
    background-color: #EA572B;
}

.contactTelBox .box .title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.contactTelBox .box3 .title {
    margin: 0 0 25px 0;
}

.contactTelBox .box .tel a {
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    display: inline-block;
    padding-left: 26.91px;
    margin: 15px 0;
    background: url(../img/common/icon-tel.png) no-repeat top 10px left;
    background-size: 18.91px;
    color: #EA572B;
}

.contactTelBox .box .fax {
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    display: inline-block;
    padding-left: 33.86px;
    margin: 15px 0;
    background: url(../img/common/icon-fax.png) no-repeat top 7px left;
    background-size: 25.86px;
    color: #EA572B;
}

.contactTelBox .box .cm {
    font-size: 14px;
    line-height: 1.5;
}

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

    .contactTelBox {
        column-gap: 16px;
        row-gap: 16px;
        padding: 32px 22px;
    }

    .contactTelBox .box {
        width: calc(100% / 2 - 16px);
    }

    .contactTelBox .box3 {
        width: 100%;
    }

    .contactTelBox .box3 .title {
        margin: 0 0 4px 0;
    }

}

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

    .contactTelBox {
        margin-bottom: 56px;
    }

    .contactTelBox .box {
        width: 100%;
        padding: 23px 0 20px 0;
    }

    .contactTelBox .box::before {
        width: calc(100% - 82px);
    }

    .contactTelBox .box .title {
        font-size: 16px;
        line-height: 1.375;
    }

    .contactTelBox .box .tel a {
        font-size: 27px;
        padding-left: 25.19px;
        margin: 10px 0;
        background: url(../img/common/icon-tel.png) no-repeat top 8px left;
        background-size: 17.19px;
        color: #EA572B;
    }

    .contactTelBox .box .fax {
        font-size: 27px;
        margin: 11px 0;
        background: url(../img/common/icon-fax.png) no-repeat top 5px left;
        background-size: 25.86px;
        color: #EA572B;
    }

    .contactTelBox .box .cm {
        font-size: 12px;
        line-height: 1.83333333;
    }

}

/*bannerLink*/
.bannerLink {
    position: relative;
    padding: 14px 14px 15px 14px;
    background-color: #6FBA2D;
    border-radius: 10px;
    box-shadow: 0px 4px 0px 0px #508621;
    margin: 48px auto 0 auto;
    max-width: 580px;
    transition: .2s;
}

.bannerLink:hover {
    background-color: #508621;
}

.bannerLink .img img {
    width: 100%;
    max-width: 502px;
    margin: 0 auto;
}

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

    .bannerLink {
        padding: 11px;
        margin: 32px auto 0 auto;
        max-width: 343px;
    }

    .bannerLink .img img {
        max-width: 291px;
    }

}

/*privacyContact*/
.privacyContact {
    margin-top: 64px;
}

.privacyContact .title {
    font-size: 18px;
}

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

    .privacyContact {
        margin-top: 48px;
    }

}

/*form*/
.form .box {
    margin-bottom: 12px;
    align-items: center;
}

.formContact .box {
    margin-bottom: 20px;
}

.form .boxTextarea {
    align-items: flex-start;
}

.form .box label {
    display: block;
}

.formContact .box label {
    width: 298px;
    font-size: 18px;
    font-weight: 700;
}

.form .box label.check {
    display: inline-block;
    font-size: 15px;
    margin-right: 24px;
    cursor: pointer;
}

.form .box label .small {
    font-size: 14px;
}

.form .box label .red {
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    width: 50px;
    height: 25px;
    border-radius: 2px;
    background-color: #F4F4F4;
    color: #DB2356;
    line-height: 1;
    padding-top: 6px;
    display: inline-block;
    margin: 5px 0 0 10px;
    vertical-align: top;
}

.form .box input[type="text"],
.formContact .box input[type="tel"],
.formContact .box input[type="email"],
.form .box textarea,
.form .box select {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    border: 1px solid #7C7C7C;
    padding: 7.5px 14px;
    font-size: 15px;
    font-weight: 400;
    max-width: 340px;
    border-radius: 0;
}

.formContact .box input[type="text"],
.formContact .box input[type="tel"],
.formContact .box input[type="email"],
.formContact .box textarea,
.formContact .box select {
    width: calc(100% - 298px);
    max-width: 100%;
    padding: 10px 14px;
}

.formContact .box input[type="text"]#postalCode {
    max-width: 300px;
}

.form input::placeholder {
    color: #666;
    /* 好きな色に変更 */
    opacity: 1;
    /* 透明度を確保 */
}

.form select option:first-child {
    color: #666;
    /* 好きな色に変更 */
}

.form select {
    color: #666;
    /* 通常の選択肢の色 */
}

.form .box textarea {
    min-height: 180px;
}

.form .box2 input {
    max-width: 300px;
}

.form .box select {
    max-width: 340px;
    background: url(../img/common/arrow.jpg) no-repeat top right;
    background-size: auto 100%;
    appearance: none;
    cursor: pointer;
}

.form .box select.select2 {
    max-width: 110px;
    background: url(../img/common/arrow2.jpg) no-repeat center right 8px;
    background-size: 11.81px;
    appearance: none;
    cursor: pointer;
}

.form .box .mark {
    margin: 0 3px;
}

.formContact .policy {
    margin: 64px 0 40px 0;
}

.form .policy .scroll {
    max-width: 509px;
    height: 228px;
    overflow-y: scroll;
    margin: 0 0 16px 298px;
    border: 1px solid #808080;
    padding: 17px 34px 19px 34px;
    font-size: 15px;
    font-weight: 400;
    text-align: left;
}

.form input[type="checkbox"] {
    display: none;
}

.form .policy label {
    font-size: 15px;
    display: flex;
    align-items: center;
    cursor: pointer;
    justify-content: center;
    font-weight: 400;
}

.form .check-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    background: url(../img/common/check-no.svg) no-repeat center left;
    background-size: auto 100%;
    margin: 8px 6px 0 0;
    vertical-align: top;
}

.form .policy .check-icon {
    margin: 1px 6px 0 0;
}

.form input[type="checkbox"]:checked+.check-icon {
    background: url(../img/common/check.svg) no-repeat center left;
    background-size: auto 100%;
}

/*policy*/
.policy .bold {
    font-weight: bold;
    margin-top: 18px;
}

.policy .title {
    font-size: 18px;
    margin-bottom: 18px;
    margin-top: 0;
}

.submitBox {
    column-gap: 32px;
    row-gap: 16px;
    justify-content: center;
    align-items: center;
}

.form .ac1 {
    margin-bottom: 8px;
}

.form .ac .toggleBtn {
    position: relative;
    color: #fff;
    border-radius: 5px;
    font-weight: 700;
    padding-left: 14px;
    line-height: 44px;
    height: 44px;
    background: url(../img/common/icon-bottom-white.svg) no-repeat center right 10px;
    background-size: 11.81px;
    background-color: #5E7B89;
    max-width: 340px;
    cursor: pointer;
}

.form .ac .toggleBtn.is-active {
    background-color: #EA572B;
}

.form .ac .toggleBtn::before {
    content: "校区を選択";
    position: absolute;
    top: 0;
    right: 28px;
    font-size: 14px;
    font-weight: 500;
}

.form .ac .child {
    display: none;
    padding: 16px 16px 0 16px;
}

.form .ac .child .flex {
    justify-content: space-between;
}

.form .ac .child .check {
    margin: 0;
}

.form .ac1 .child .check:nth-child(even) {
    width: 95px;
}

.form .ac2 .child .check:nth-child(even) {
    width: 110px;
}

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

    .formContact .box label {
        width: 228px;
    }

    .form .policy .scroll {
        margin: 0 auto 16px auto;
    }

    .formContact .box input[type="text"],
    .formContact .box input[type="tel"],
    .formContact .box input[type="email"],
    .formContact .box textarea,
    .formContact .box select {
        width: calc(100% - 228px);
    }

    .form .ac .child .flex {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
        /* 最小幅180pxで自動調整 */
        gap: 0 12px;
        /* 行・列の余白 */
        align-items: start;
    }

    .form .ac .child .check {
        display: flex;
    }

}

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

    .formContact .box label {
        width: 100%;
        margin-bottom: 16px;
    }

    .formContact .box input[type="text"],
    .formContact .box input[type="tel"],
    .formContact .box input[type="email"],
    .formContact .box textarea,
    .formContact .box select {
        width: 100%;
        padding: 8px 17px;
    }

    .formContact .policy {
        margin: 48px 0 40px 0;
    }

    .form .policy .scroll {
        height: 254px;
    }

}