@charset "UTF-8";
/* ============================================================
   CCA Theme - Front Page Stylesheet
   - PC基準のデザインをベースにタブレット/スマホ対応
   - 色: 黒 #000 / 白 #FFF / 薄グレー #777 / 濃グレー #191919 / グリーン #6A9070
   ============================================================ */

/* ============================================================
   Site Footer
   ============================================================ */
.site-footer {
background-color:#000000;
border-top:1px solid #777;
padding:30px 40px 0;
}
@media screen and (max-width:757px) {
.site-footer {
padding:24px 18px 0;
}
}

.site-footer__inner {
max-width:1100px;
margin:0 auto;
}

.site-footer__top {
display:flex;
align-items:flex-end; /* ← center から flex-end に変更 */
justify-content:space-between;
gap:24px;
padding-bottom:22px;
flex-wrap:wrap;
}
@media screen and (max-width:757px) {
.site-footer__top {
flex-direction: column;
align-items: center;
gap: 20px;
}
}

@media screen and (max-width:757px) {
/* 表示順：ロゴ → nav → copy */
.site-footer__logo { order: 1; }
.site-footer__nav  { order: 2; }
.site-footer__copy { order: 3; }

/* nav を縦積みに */
.site-footer__nav ul {
flex-direction: column;
gap: 10px;
}
}

.site-footer__nav ul {
display:flex;
gap:40px;
}
@media screen and (max-width:757px) {
.site-footer__nav ul {
gap:10px;
text-align: center;
}
}

.site-footer__nav a {
font-size:16px;
font-weight:700;
color:#FFFFFF;
}

.site-footer__copy {
font-size:13px;
color:#777777;
}
@media screen and (max-width:757px) {
.site-footer__copy {
font-size:10px;
}
}

.site-footer__logo {
display:inline-flex;
align-items:center;
color:#FFFFFF;
line-height:1;
}
@media screen and (max-width:757px) {
.site-footer__logo {
text-align: center;
margin: 0 auto;
margin-top: 30px;
margin-bottom: 20px;
}
}

.site-footer__logo img {
display:block;
width:152px;
height:auto;
}

.site-footer__logo-cca {
font-size:22px;
font-weight:300;
letter-spacing:0.04em;
}

.site-footer__logo-name {
font-size:13px;
font-weight:700;
letter-spacing:0.04em;
}



.site-footer__bottom {
width:100vw;
margin-left:calc(50% - 50vw);  /* 親の max-width/padding を突き抜ける */
margin-right:calc(50% - 50vw);
margin-bottom:0;
padding:10px;
background-color:#191919;
text-align:center;
display:flex;
align-items:center;
justify-content:center;
min-height:50px; /* 上下中央のための最小高さ（任意で調整） */
}
@media screen and (max-width:757px) {
.site-footer__bottom {
justify-content: flex-start;
text-align: left;
padding: 14px 18px;
min-height: 0;
}
}

.site-footer__host {
font-size:13px;
font-weight:200;
color:#fff;
}
@media screen and (max-width:757px) {
.site-footer__host {
font-size:12px;
line-height: 1.5;
}
}

.site-footer__host span {
font-size:14px;
font-weight:700;
color:#fff;
margin-right:20px;
}
@media screen and (max-width:757px) {
.site-footer__host span {
font-size:12px;
margin-bottom: 6px;
}
}


.site-footer__host a {
margin-left:15px;
color:#fff;
text-decoration:underline;
}
@media screen and (max-width:757px) {
.site-footer__host a {
margin-top: 6px;
}
}

@media screen and (max-width:757px) {
.site-footer__host span,
.site-footer__host a {
display: block;
margin: 0;
}
}


