
body.sponsor .company-section .section-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.3;
  letter-spacing: -2px;
  position: relative;
Padding:70px 0;
}
body.sponsor .company-section .section-title .sub {
  font-size: 28px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  body.sponsor .company-section .section-title .sub {
    font-size: 22px;
  }
}
body.sponsor .company-section .section-title .main {
  font-size: 84px;
  font-weight: 800;
}
@media screen and (max-width: 768px) {
  body.sponsor .company-section .section-title .main {
    font-size: 54px;
  }
}
body.sponsor .company-section .section-title .main span {
  color: var(--main-color);
}
body.sponsor .company-section .section-title::before {
  position: absolute;
  font-family: var(--ff-latin-01);
  font-size: 300px;
  line-height: 1;
  color: #f0f0f0;
  white-space: nowrap;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  body.sponsor .company-section .section-title::before {
    font-size: 20vw;
    bottom: auto;
    top: -10vw;
  }
}
/* =========================
MAP BUTTON
========================= */

.map-button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;

width:auto;
padding:8px 14px;

background:#33c1e3;
color:#fff;
text-decoration:none;

font-size:14px;
font-weight:700;
margin-left:10px;

transition:opacity .3s;
white-space:nowrap;
}

.map-button:hover{
opacity:.8;
}

.icon-external{
position:relative;
display:inline-block;
width:14px;
height:14px;
border:2px solid #fff;
box-sizing:border-box;
}

.icon-external::after{
content:"";
position:absolute;
top:-6px;
right:-6px;
width:14px;
height:14px;
border:2px solid #fff;
background:#33c1e3;
box-sizing:border-box;
}


/* =========================
代表メッセージ
========================= */

.message-inner{
display:flex;
align-items:flex-start;
gap:50px;
max-width:1100px;
margin:auto;
padding:40px;
}

.profile-column{
flex:0 0 300px;
text-align:center;
}

.profile-image img{
width:100%;
height:auto;
display:block;
margin-bottom:15px;
}

.profile-info{
text-align:left;
}

.job-title{
font-size:1.1rem;
font-weight:bold;
margin-bottom:5px;
}

.name{
font-size:1.6rem;
font-weight:bold;
letter-spacing:.1em;
}

.text-column{
flex:1;
}

.text-column p{
margin-bottom:20px;
font-size:1.05rem;
letter-spacing:1px;
line-height:1.8;
text-align:justify;
}


/* =========================
共通レイアウト
========================= */

.cont{
width:1150px;
padding:0 20px;
Margin:0 auto;
}

.bk_white{
background:#fff;
padding:40px;
max-width:1100px;
margin:auto;
text-align:center;
}

.bk_white_npd{
background:#fff;
max-width:1100px;
margin:auto;
margin-top:0px;
}

.white_title{
font-size:30px;
font-weight:bold;
color:#fff;
background:var(--main-color);

max-width:1100px;
margin:auto;
padding:10px;
text-align:center;
}

.bk_gray{
background:#f5f5f5;
padding:80px 0;
width:100%;
}

.rinen{
font-size:40px;
color:var(--main-color);
}

.company_title{
max-width:1100px;
width:100%;
border-left:10px solid var(--main-color);
padding:20px 20px 20px 25px;
margin:0 auto 30px;
font-size:46px;
font-weight:bold;
}


/* =========================
会社概要
========================= */

.company_overview{
max-width:1100px;
margin:auto;
padding:0;
list-style:none;
border-top:1px solid #ddd;
}

.company_overview .detail{
display:grid;
grid-template-columns:260px 1fr;
gap:24px;
padding:24px 16px;
border-bottom:1px solid #ddd;
}

.company_overview .ttl{
font-weight:600;
}

.company_overview .txt{
line-height:1.8;
}


/* =========================
SP
========================= */

@media (max-width:768px){

/* メッセージ */

.message-inner{
flex-direction:column;
gap:30px;
padding:25px;
}

.profile-column{
flex:none;
width:100%;
}

.profile-info{
text-align:center;
}

.text-column p{
font-size:15px;
line-height:1.9;
}

/* タイトル */

.company_title{
font-size:28px;
padding:14px 14px 14px 18px;
Margin:0 15px 30px;;
Width:auto;
}

.white_title{
font-size:20px;
}

.rinen{
font-size:26px;
}

/* 白BOX */

.bk_white{
padding:25px 18px;
}

.bk_white_npd{
margin-top:0px;
}

/* 会社概要 */

.company_overview .detail{
grid-template-columns:1fr;
gap:6px;
padding:18px 10px;
}

.company_overview .ttl{
font-size:13px;
color:#888;
}

/* MAPボタン */

.map-button{
margin-left:0;
margin-top:8px;
font-size:13px;
padding:8px 12px;
}

.cont{
Width:auto;
}

}