@charset "UTF-8";
/* ------------------------------------------------------------
このファイルは2025年11月のトップページリニューアル用
------------------------------------------------------------ */
/* 変数 */
:root {
--main-color: #1d9ac8;
--main-color-rgb: 29, 154, 200;
--light-color: #d2ebf4;
--gray: #ddd;
}

html {
    overflow-x: hidden;
}
.top2511 {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5rem;
    overflow-x: hidden;
}
.top2511 article {
    padding: 0;
}
.top2511 a {
    transition: .5s;
    text-decoration: none!important;
}

/* セクション */
.top2511 section {
    margin: 3em auto;
}
.top2511 section.bg {
    padding-top: 3em;
    padding-bottom: 3em;
    margin: 0 auto;
}
/* 内側寄せ */
.home-inner {
    padding-left: 5%;
    padding-right: 5%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1400px;
}
/* 中央寄せ */
.ma {
    margin-left: auto;
    margin-right: auto;
}

@media (min-width:768px) {
    .top2511 {
    min-width: auto;
}
    .top2511 article,
    .top2511 .inner {
    width: 100%;
}
/* セクション */
    .top2511 section {
    margin: 6em auto;
}
    .top2511 section.bg {
    padding-top: 6em;
    padding-bottom: 6em;
}
}

@media (min-width: 1024px) {
    .top2511 {
    font-size: 1.6rem;
}
}


/* 画像 */
.top2511 img {
    max-width: 100%;
    vertical-align: bottom;
}
/* 画像hover時ズーム */
.top2511 .zoom {
	overflow:hidden;
	position:relative;
	display:block;
}
.top2511 .zoom img {
	transition-duration:0.5s;
}
.top2511 .zoom img:hover {
	transform:scale(1.03);
}
/* 見出し */
.top2511 .top-sec-ttl {
    margin-bottom: 2em;
}
.top2511 .top-sec-ttl .sub-heading {
    font-size: 4rem;
    font-weight: 700;
    letter-spacing: .01em;
}
.top2511 .top-sec-ttl h2 {
    color: var(--main-color);
    font-weight: 700;
    font-size: 1.8rem;
}
@media (min-width:768px) {
    .top2511 .top-sec-ttl .sub-heading {
    font-size: 6rem;
}
    .top2511 .top-sec-ttl h2 {
    font-size: 2.0rem;
}
}
@media (min-width:1024px) {
    .top2511 .top-sec-ttl .sub-heading {
    font-size: 8rem;
}
    .top2511 .top-sec-ttl h2 {
    font-size: 2.0rem;
}
}

/* ボタン */
.top2511 .btn a {
    display: block;
    background-color: var(--main-color);
    color: #fff;
    text-align: center;
    border-radius: 999px;
    padding: 1em 2em;
    transition: 0.3s;
    font-weight: 600;
    /* width: clamp(200px, 50%, 400px); 
    max-width: 400px;*/
    
}
/* ボタン矢印つき */
.top2511 .btn.arrow a {
    display: grid;
    grid-template-columns: auto 1.75em;
    align-items: center;
    width: fit-content;
    position: relative;
}
.top2511 .btn.arrow a::after {
    content: "";
    display: block;
    width: 1.5em;
    height: 100%;
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
    background-image: url("../img/ico-arrow-white.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transition: 0.3s;
    will-change: transform;
}
.top2511 .btn.arrow a:hover::after {
    right: calc(2em - 5px);
}
@media (min-width:768px) {
    .top2511 .btn a {
    padding: 1.25em 2em;
    font-size: 1.1em;
}
}

/* ------------------------------------------------------------
ヘッダー
------------------------------------------------------------ */
@media (max-width:768px) {
    .mean-bar:nth-of-type(n+2) {
    display: none;
    }
    #header h1 a {
    padding-top: 40px;
    height: 0;
    width: 190px;
    background: url(img/logo_smp.png);
    overflow: hidden;
    background-size: contain;
}
}
@media (min-width:769px) {
    .top2511 #header .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 90%;
    max-width: 1500px;
    padding: 0 0;
}
    .top2511 #header .inner nav {
    /* flex: 1; */
}
    .top2511 #header .inner nav ul.gnav {
    position: relative;
    display: grid;
    align-items: center;
    justify-content: end;
    grid-template-columns: repeat(auto-fit, minmax(6em, auto));
    gap: 1em;
    top: auto;
    left: auto;
}
    .top2511 #header nav ul.gnav li a {
    font-weight: 600;
    font-size: 1.8rem;
    padding-bottom: 0;
    white-space: nowrap;
}

}

@media (min-width:1024px) {
    .top2511 #header .inner nav ul.gnav {
    gap: 3vw;
}
}

/* ------------------------------------------------------------
ヒーローエリア
------------------------------------------------------------ */
.top2511 .hero-section {
    display: grid;
    grid-template-columns: clamp(40px,5%,100px) 1fr;
    margin-top: 1em;
    position: relative;
    width: 100vw;
    height: 100%;
    margin-bottom: 100px;
    margin-top: 0;
}

/* 左 */
.top2511 .hero-left {
    justify-self: center;
    align-self: center;
}
.top2511 .hero-left .scroll {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-weight: bold;
    font-size: 0.7em;
    position: relative;
    /* transform: translateY(-200%); */
}
/* 線のアニメーション部分 */
.top2511 .hero-left .scroll::before {
    animation: scroll 2s infinite;
    background-color: #000;
    bottom: -115px;
    content: "";
    height: 100px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 1px;
}
/*線のアニメーション */
@keyframes scroll {
    0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
}
    50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
}
    51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
}
    100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
}
}

/* 右 */
.top2511 .hero-right {
    background: linear-gradient(180deg,#fff 50%, var(--light-color) 50%);
    position: relative;
    /* padding-left: 5%; */
    height: 90dvh;
    display: grid;
    justify-items: center;
    align-items: center;
}
/* 波線 */
.top2511 .hero-right::after {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 50px;
    content: "";
    display: block;
    background-image: url(../img/company-wave-btm.png);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: auto 100%;
}
/* 白斜線 */
.top2511 .hero-right::before {
    position: absolute;
    width: 100%;
    height: 20px;
    bottom: 2.5%;
    left: 38%;
    content: "";
    display: block;
    background-image: url(../img/line-white.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: auto 100%;
    z-index: 1;
}

/* スライダー */
.top2511 .hero-right .slide-wrap {
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%;
    height: 92%;
    z-index: 0;
}

.top2511 .hero-right .slider {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.top2511 .hero-right .swiper-slide {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.top2511 .hero-right .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 社名英語 */
.top2511 .hero-right .top-sec-ttl {
    position: absolute;
    top: 10px;
    left: -2.5vw;
    z-index: 10;
}
.top2511 .hero-right .top-sec-ttl .en {
    letter-spacing: .1em;
}

/* テキスト囲み */
.top2511 .hero-right .hero-text {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: #fff;
    width: fit-content;
    /* max-width: 500px; */
    padding: 2em 3em;
    text-align: center;
    font-weight: 700;
    /*
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%); */
    z-index: 1;
}
.top2511 .hero-right .hero-text h2 {
    font-size: 2.0em;
    font-weight: 700;
    line-height: 1.3;
    text-align: center ;
}
.top2511 .hero-right .hero-text h2 .kakeru {
    display: block;
}
.top2511 .hero-right .hero-text h2 .line {
    background: linear-gradient(transparent 70%,#f9f066 70%);
}
.top2511 .hero-right .hero-text h2 + p {
    font-size: 1.2em;
    margin: 1em 0;
}
.top2511 .hero-right .hero-text .btn a {
    margin: auto;
    background-color: #0b5fa4;
}

@media (min-width:768px) {
    .top2511 .hero-section {
    margin-bottom: 100px;
}
    .top2511 .hero-right .top-sec-ttl {
    top: 20px;
}
/* スライダー */
    .top2511 .hero-right .slider {
    /* height: 90%; */
}
    .top2511 .hero-right .slide-wrap {
    height: 90%;
    top: 70px;
}
/* 白斜線 */
    .top2511 .hero-right::before {
    height: 30px;
    left: 50%;
    bottom: .5%;
}
/* テキスト囲み */
    .top2511 .hero-right .hero-text h2 {
    font-size: 2.8em;
}
    .top2511 .hero-right .hero-text h2 + p {
    font-size: 1.5em;
}
    .top2511 .hero-right .hero-text .btn a {
    padding: 1.25em 3em;
}
}

@media (min-width: 1024px) {
    .top2511 .hero-section {
    margin-bottom: 150px;
    /* overflow-x: hidden; */
}
    .top2511 .hero-right {
    justify-items: flex-start;
    align-items: self-start;
    height: 115dvh;
}
    .top2511 .hero-right::before {
    bottom: 0;
    /* top: calc(100% - 45px); */
}
/* 社名英語 */
    .top2511 .hero-right .top-sec-ttl {
    top: 40px;
    left: 0vw;
}
/* テキスト囲み */
    .top2511 .hero-right .hero-text {
    margin-left: 2.5%;
    min-width: 400px;
    padding: 3em;
    position: relative;
    top: 30%;
}
/* スライダー */
    .top2511 .hero-right .slide-wrap {
    top: 100px;
    left: 5vw;
    overflow-y: hidden;
}
}

/* ------------------------------------------------------------
物件情報
------------------------------------------------------------ */
.top2511 .estate-top {
    padding-left: 2.5%;
    padding-right: 2.5%;
}
.top2511 .estate-top .sub-heading {
    text-align: center;
    font-size: 3.0rem;
}
.top2511 .estate-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    gap: 4em;
    margin-bottom: 3em;
}
/* 物件カード */
.top2511 .estate-card a {
    color: inherit;
}
.top2511 .estate-card a:hover p:not(.syubetu) {
    opacity: .85;
    transition: 1s;
}
.top2511 .estate-card .estate-eye {
    text-align: center;
    position: relative;
    overflow: hidden;
}
.top2511 .estate-card .estate-eye img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
}
.top2511 .estate-card .estate-detail {
    margin-top: -1em;
    position: relative;
}
.top2511 .estate-card .icon-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}
/* .top2511 .estate-card .syubetu {
    background-color: var(--main-color);
    color: #fff;
    font-weight: 500;
    width: fit-content;
    padding: .25em .75em;
} */
.top2511 .estate-card .syubetu time {
    background-color: var(--main-color);
    color: #fff;
    font-weight: 500;
    width: fit-content;
    padding: .25em .75em;
}
.top2511 .estate-card .syubetu .new {
    background-color: #c00;
    color: #fff;
    font-weight: 500;
    width: fit-content;
    padding: .25em .75em;
    margin-right: .5em;
}
.top2511 .estate-card .seiyaku {
    background-color: #e5911a;
    color: #fff;
    font-weight: 500;
    width: fit-content;
    padding: .25em .75em;
    margin-left: .5em;
}
.top2511 .estate-card .name {
    font-weight: 700;
    font-size: 1.3em;
    margin-bottom: 0.1em;
}
.top2511 .estate-card .kakaku {
    font-weight: 700;
    margin-bottom: 1em;
}
.top2511 .estate-card .txt {
    line-height: 1.6;
    display: -webkit-box;             
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
}
/* 一覧ボタン */
.top2511 .estate-top .btn {
    text-align: center;
    margin: 1em auto 0;
}
.top2511 .estate-top .btn a {
    text-align: center;
    margin: auto;
}

/* 滋賀不動産バナー */
.top2511 .bnr-shigafudosan {
    margin: 3em auto 5em;
}
.top2511 .bnr-shigafudosan img {
    transition: .5s;
}
.top2511 .bnr-shigafudosan a:hover img {
    opacity: .8;
}

@media (min-width:768px) {
    .top2511 .estate-top .top-sec-ttl {
    margin-bottom: 3em;
}
    .top2511 .estate-top .sub-heading {
    font-size: 4.5rem;
}
    .top2511 .bnr-shigafudosan {
    margin: 5em auto 8em;
}
    .top2511 .bnr-shigafudosan .home-inner {
    max-width: 900px;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
}
    .top2511 .estate-card .icon-wrap {
    margin-left: 1em;
}
}

@media (min-width: 1024px) {
    .top2511 .estate-top .top-sec-ttl {
    margin-bottom: 4em;
}
    .top2511 .estate-top .sub-heading {
    font-size: 6.0rem;
}
}


/* ------------------------------------------------------------
お知らせ
------------------------------------------------------------ */
.top2511 .news-top .news-list {
    border-top: 1px solid var(--gray);
    margin-bottom: 3em;
}
.top2511 .news-top .news-item {
    border-bottom: 1px solid var(--gray);
    padding: 1em;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    row-gap: .5em;
}
.top2511 .news-top .news-item span.new {
	color:#c00;
	font-weight:700;
	padding-right:5px;
}
.top2511 .news-top .news-item time {
    font-weight: 600;
}
.top2511 .news-top .news-item .news-ttl a {
    color: var(--main-color);
    font-weight: 600;
}
.top2511 .news-top .news-item .news-ttl a:hover {
    text-decoration: underline!important;
}
.top2511 .news-top .btn {
    text-align: center;
    margin: 1em auto 0;
    width: 70%;
}
.top2511 .news-top .btn a {
    background-color: #000;
}
.top2511 .news-top .btn a:hover {
    background-color: #333;
}

@media (min-width:768px) {
    .top2511 .news-top {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    gap: 0 5%;
}
    .top2511 .news-top .top-sec-ttl {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
    .top2511 .news-top .news-list {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}
    .top2511 .news-top .news-item {
    padding: 1.5em 1em;
}
    .top2511 .news-top .btn {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin-top: 0;
    justify-self: flex-start;
    width: 100%;
}
}

@media (min-width: 1024px) {
    .top2511 .news-top {
    gap: 0 8%;
    max-width: 1300px;
}
    .top2511 .news-top .news-item {
    flex-direction: row;
    padding: 2em 1em;
}
    .top2511 .news-top .news-item time {
    width: 8em;
}
}


/* ------------------------------------------------------------
会社案内
------------------------------------------------------------ */
.top2511 .company {
    position: relative;
    margin-top: 4em;
    padding-top: 50px;
    overflow-x: hidden;
}
.top2511 .company-inner {
    background-color: var(--light-color);
    position: relative;
    padding-bottom: 8em;
}
/* 波線 */
.top2511 .company::before {
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    height: 50px;
    content: "";
    display: block;
    background-image: url(../img/company-wave.png);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: auto 100%;
}
/* 斜線 */
.top2511 .company::after {
    position: absolute;
    width: 100%;
    height: 20px;
    bottom: 2.5%;
    left: 38%;
    content: "";
    display: block;
    background-image: url(../img/line-white.png);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: auto 100%;
}
.top2511 .company .top-sec-ttl {
    text-align: center;
}
.top2511 .company .text-area {
    background-image: url(../img/company-biwako.png);
    background-position: 50% 5vw;
    background-repeat: no-repeat;
    background-size: clamp(200px, 40vw, 300px) auto;
}
.top2511 .company-lead {
    font-weight: 700;
    font-size: 2.5rem;
    line-height: 1.8;
    margin: auto;
    width: fit-content;
}
.top2511 .company-lead span {
    display: block;
}
/* ボタン */
.top2511 .company .btn-wrap {
    /* display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 1.25em; */
    margin-top: 2em;
}
.top2511 .company .btn-wrap .btn {
    width: 75%;
    margin: 1.5em auto;
}
/*.top2511 .company .btn-wrap .btn01 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    width: calc(50% - 0.5em);
    margin: auto;
}
.top2511 .company .btn-wrap .btn02 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
.top2511 .company .btn-wrap .btn03 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
} */
.top2511 .company .btn-wrap .btn a {
    max-width: none;
}
.top2511 .company .btn-wrap .btn a:hover {
    background-color: #fff;
    color: var(--main-color);
}
/* 写真 */
.top2511 .company .company-img-wrap {
    margin-top: 3em;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    position: relative;
    max-width: 700px;
    margin: 3em auto 0;
}
.top2511 .company .company-img-wrap .company-img {
    
}
.top2511 .company .company-img-wrap .company-img01 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    align-self: flex-end;
    margin-right: 10px;
    position: relative;
}
.top2511 .company .company-img-wrap .company-img01 img {
    margin-bottom: -50px;
    margin-left: 10%;
}
.top2511 .company .company-img-wrap .company-img02 {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}
.top2511 .company .company-img-wrap .company-img02 img {
    margin-left: -10%;
    position: relative;
    z-index: 2;
}
.top2511 .company .company-img-wrap .company-img03 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: flex-end;
}
.top2511 .company .company-img-wrap .company-img03 img {
    display: block;
    width: 60%;
    margin: 0 auto 0 18%;
}

@media (min-width:768px) {
    .top2511 .company {
    margin-top: 6em;
    
}
    .top2511 .company .home-inner {
    padding-top: 2em;
    padding-bottom: 2em;
}

/* 斜線 */
    .top2511 .company::after {
    height: 30px;
    bottom: 3%;
}
    .top2511 .company .text-area {
    background-position: 50% 5vw;
    background-size: clamp(300px, 40vw, 400px) auto;
}
    .top2511 .company-lead {
    font-size: 3.5rem;
}
/* ボタン */
    .top2511 .company .btn-wrap {
    gap: 1.5em;
    margin: 2em auto 0;
    max-width: 700px;
}
}

@media (min-width: 1024px) {
    .top2511 .company::after {
    bottom: 5%;
    left: 50%;
}
    .top2511 .company-inner {
    padding-bottom: 6em;
}
    .top2511 .company .company-content {
    display: flex;
}
    .top2511 .company .text-area {
    background-image: none;
    position: relative;
    width: 40vw;
}
    .top2511 .company .text-area::before {
    position: absolute;
    content: "";
    display: block;
    width: min(25vw, 300px);
    height: auto;
    aspect-ratio: 1 / 1;
    top: 0;
    left: 80%;
    background-image: url(../img/company-biwako.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
    .top2511 .company .top-sec-ttl {
    text-align: left;
}
    .top2511 .company .company-lead {
    margin: 0;
}
/* ボタン */
    .top2511 .company .btn-wrap {
    margin-top: 3em;
}
    .top2511 .company .btn-wrap .btn {
    margin-left: 0;
}
/* 写真 */
    .top2511 .company .company-img-wrap {
    grid-template-columns: 1fr 1fr;
    max-width: 800px;
    margin: 0 0 0 auto;
    right: 0;
}
    .top2511 .company .company-img-wrap .company-img01 {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    align-self:center;
    margin-right: 0;
    padding-bottom: 10%;
    margin-top: 50%;
}
    .top2511 .company .company-img-wrap .company-img01 img {
    margin-top: 10%;
    margin-bottom: 0px;
    margin-left: 10%;
}
    .top2511 .company .company-img-wrap .company-img02 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    align-self: flex-end;
}
    .top2511 .company .company-img-wrap .company-img02 img {
    margin-left: 0%;
}
    .top2511 .company .company-img-wrap .company-img03 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    align-self: flex-start;
    padding-top: 10%;
}
    .top2511 .company .company-img-wrap .company-img03 img {
    margin: 0 auto 0 30%;
}
}

/* ------------------------------------------------------------
CTA
------------------------------------------------------------ */
.top2511 .cta {
    background-color: #0f63a6;
    background-image: url(../img/cta-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
    color: #fff;
    position: relative;
}
.top2511 .cta::before {
    position: absolute;
    content: "";
    display: block;
    width: 15vw;
    max-width: 119px;
    aspect-ratio: 1 / 1;
    top: -10vw;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/cta-house.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
.top2511 .cta-lead {
    font-weight: 700;
    font-size: 2.0rem;
    margin-bottom: 1em;
}
.top2511 .cta .btn {
    margin: 1em auto;
}
.top2511 .cta .btn a {
    background-color: #ffea00;
    color: #0b5fa4;
    justify-self: center;
    box-shadow: 5px 5px 0 rgba(0,0,0,.3);
    margin: auto;
}
.top2511 .cta .btn.arrow a::after {
    background-image: url("../img/ico-arrow-blue.svg");
}
.top2511 .cta-content {
    display: flex;
    flex-direction: column;
    row-gap: .5em;
    align-items: center;
    margin: 1em auto;
}
.top2511 .cta-content .num {
    font-weight: 700;
    font-size: 3.0rem;
    position: relative;
    padding-left: 1.25em;
}
.top2511 .cta-content .num::before {
    content: "";
    display: block;
    width: 1em;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.top2511 .cta-content .num-tel::before {
    background-image: url(../img/ico-freedial.svg);
}
.top2511 .cta-content .num-fax::before {
    background-image: url(../img/ico-fax.svg);
}
.top2511 .cta-content .num .icon img {
    width: auto;
}
.top2511 .cta-content .att {
    font-size: .8em;
    font-weight: 500;
}
@media (min-width:768px) {
    .top2511 .cta::before {
    top: -60px;
}
    .top2511 .cta-lead {
    font-size: 3.5rem;
    margin-bottom: 1em;
}
    .top2511 .cta .btn {
    margin: 0 auto;
}
    .top2511 .cta .btn a {
    font-size: 1.4em;
    box-shadow: 8px 8px 0 rgba(0,0,0,.3);
    max-width: none;
}
    .top2511 .cta-content {
    flex-direction: row;
    row-gap: 0;
    column-gap: 3em;
    justify-content: center;
    align-items: center;
    margin: 2em auto 0;
}
    .top2511 .cta-content .num {
    font-size: 4.0rem;
}
    .top2511 .cta-content .att {
    font-size: 1em;
}
}

/* ------------------------------------------------------------
フッター
------------------------------------------------------------ */
.top2511 footer {
    background-color: #fff;
}
.top2511 .footer-nav {
    display: block!important;
    border-bottom: 1px solid var(--gray);
    padding: 1.5em 0;
}
.top2511 .footer-nav-list {
    display: grid;
    grid-template-columns: auto auto;
    gap: 1em 2em;
    justify-content: center;
}
.top2511 .footer-nav-list li a {
    font-weight: 600;
    color: #333!important;
}
.top2511 .footer-nav-list li a:hover {
    color: var(--main-color)!important;
    opacity: 1;
}
.top2511 .footer-box {
    display: flex;
    flex-direction: column;
    row-gap: .5em;
    align-items: center;
    margin: 1em auto;
}
.top2511 .footer-box .logo {
    width: 30%;
    max-width: 160px;
}
.top2511 .footer-box dl {
    text-align: center;
}
.top2511 .footer-box dt {
    font-weight: 600;
    margin-bottom: 0.25em;
}
.top2511 .footer-box dd {
    font-size: .9em;
}
.top2511 footer .copy {
    font-size: .8em;
    text-align: center;
    margin-bottom: 2em;
}

@media (min-width:768px) {
    .top2511 .footer-nav {
    padding: 1.75em 0;
}
    .top2511 .footer-nav-list {
    grid-template-columns: repeat(5, auto);
    gap: 0 4em;
}    
    .top2511 .footer-nav-list li a {
    font-size: 1.1em;
}
    .top2511 .footer-box {
    flex-direction: row;
    column-gap: 1.0em;
    justify-content: center;
    margin: 2em auto;
}
    .top2511 .footer-box dl {
    text-align: left;
}
    .top2511 footer .copy {
    margin-bottom: 3em;
}
}


@media (min-width: 768px) {
}
@media (min-width: 1024px) {
}