

#width {
  width: 990px;
}

.adspecial_type1 {
  margin: 20px auto;
  text-align: center;
  width: 980px;
}
.adspecial_type1 .frame_header {
  margin-bottom: 0;
  text-align: left;
}
.adspecial_type1 .frame_col_left_container {
  width: 980px;
  float: left;
  position: relative;
  background: #fafafa;
  right: 320px;
  text-align: left;
}
.adspecial_type1 .frame_col_right_container {
  overflow: hidden;
  width: 980px;
  float: left;
  position: relative;
  background: #ccc;
}
.adspecial_type1 .frame_col_left {
  float: left;
  width: 650px;
  position: relative;
  left: 320px;
}
.adspecial_type1 .frame_col_left_inner {
  padding: 0;
}
.adspecial_type1 .frame_col_right {
  float: left;
  width: 320px;
  position: relative;
  left: 320px;
}






#adspecial_fbj_202601 {
  margin-left: 0;
  padding: 0;
}
#adspecial_fbj_202601.adspecial_type1 .frame_col_left_container {
  background: none;
}
#adspecial_fbj_202601.adspecial_type1 .frame_col_right_container {
  background: none;
}


footer{
margin-top:0;
}


/*ヘッダー横幅100% layout*/


#adspecial_fbj_202601.adspecial_type1{
width:100% !important;
max-width:100% !important;
position:relative;
}



#adspecial_fbj_202601.adspecial_type1::before{
content:"";
position:fixed;
top:0;
left:0;
background:url(/extra/fbj_202601/media/img_bg.png) center center no-repeat;
width:100%;
height:100%;
z-index:-1;
}


#adspecial_fbj_202601.adspecial_type1 .frame_col_left{
width:100%;
}


#adspecial_fbj_202601.adspecial_type1 .frame_col_left_container{
width:100%;
}




/*本文＆画像余白調整*/


#adspecial_fbj_202601.adspecial_type1 #block_story p{
margin:0 15px !important;
}


#adspecial_fbj_202601.adspecial_type1 .article-contents{/*横幅100％の場合*/
width:100%;
}

#adspecial_fbj_202601.adspecial_type1 .article-contents-inner{
max-width:1050px;
margin:0 auto;
padding:40px 20px;
border-bottom:4px solid #01936c;
box-shadow:0 30px 30px -10px #666;
backdrop-filter:blur(5px);
}


#adspecial_fbj_202601.adspecial_type1 .article-contents .left{
margin:0 0 0 15px;
}

#adspecial_fbj_202601.adspecial_type1 .article-contents .right{
margin:0 15px 0 0;
}


#adspecial_fbj_202601.adspecial_type1 .article-contents .center{
margin:0;
}



#adspecial_fbj_202601.adspecial_type1 .img-xl{
max-width:450px;
}

#adspecial_fbj_202601.adspecial_type1 .img-xxxl{
max-width:***px;
}





#adspecial_fbj_202601.adspecial_type1 .frame_header{
width:100%;
position:relative;
}

#adspecial_fbj_202601.adspecial_type1 .frame_header::before{
content:"";
position:absolute;
top:0;
left:0;
background:url(/extra/fbj_202601/media/img_kv.png) left top no-repeat;
width:100%;
height:100%;
z-index:-1;
}


#adspecial_fbj_202601.adspecial_type1 h1{
display:flex;
flex-direction:column;
/*justify-content: flex-end;*/
justify-content:center;
align-items: flex-end;
max-width:1600px;
height:500px;
margin:0 auto;
padding:0 20px 10px;
font-size:clamp(1.25rem, 0.75rem + 1.25vw, 2rem);
}

@media screen and (max-width: 1200px) {
#adspecial_fbj_202601.adspecial_type1 h1{
justify-content:flex-end;
}
}



#adspecial_fbj_202601.adspecial_type1 h1 span{
margin:0 0 15px 0;
/*border:2px solid;*/
/*border-image: linear-gradient(to right, #01936c, #193f2b, #77f376, #5ea87d) 1;*/
padding:5px 25px;
width:fit-content;
backdrop-filter:blur(7px);
background:rgba(255,255,255,0.7);
box-shadow:0 10px 10px -5px #ccc;
opacity:0;
animation: right-in 0.5s ease-out 0.5s forwards;
}

#adspecial_fbj_202601.adspecial_type1 h1 span:nth-child(2){
animation: right-in 0.5s ease-out 0.9s forwards;
}



@keyframes right-in{
0% {
    opacity: 0;
    transform: translateX(100px);
}
100% {
    opacity: 1;
    transform: translateX(0);
}
}


/* add --------------------------------------------------------------------------------------- */



#adspecial_fbj_202601.adspecial_type1 .lead_block{
position:relative;
}

#adspecial_fbj_202601.adspecial_type1 .lead_block p{
max-width:600px;
margin:20px auto;
padding:25px;
background-color:#fff;
border:1px solid #a5a5a5;
text-align:left;
}



/* h2 css setting */

/* 親にテーマ変数を定義（必要に応じてスコープ調整） */
#adspecial_fbj_202601.adspecial_type1 {
  --dot-size: 0.5em;        /* 丸の直径 */
  --dot-gap: 0.8em;         /* 丸と丸の“中心間”のオフセット差分 */
  --dot-color: #01936c;     /* 先頭ドットの色 */
  --dot-color-sub: #5ea87d; /* 2・3個目の色 */
}

/* h2 本体（中央揃え）はそのまま */
#adspecial_fbj_202601.adspecial_type1 h2 {
  margin: 40px auto 0;
padding:10px 0 0 !important;
  text-align: center;
  font-size: clamp(1.25rem, 0.75rem + 1.25vw, 2rem);
}

/* 中身のテキストを基準にする */
#adspecial_fbj_202601.adspecial_type1 h2 span {
  position: relative;
  display: inline-block;

  /* ドット列の長さに合わせて余白を確保
     先頭ドットの左端～3個目の右端までの長さ ≒ dot-size + 2*dot-gap
     そこに少しスペースを足すイメージで  */
  padding-left: calc(var(--dot-size) + 2 * var(--dot-gap) + 0.6rem);
  padding-right: calc(var(--dot-size) + 2 * var(--dot-gap) + 0.6rem);
}

/* 左側の3点リーダー */
#adspecial_fbj_202601.adspecial_type1 h2 span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);

  width: var(--dot-size);
  height: var(--dot-size);
  border-radius: 50%;
  background: var(--dot-color);

  /* 2個目・3個目を box-shadow で横に並べる
     オフセットは gap の倍数にする */
  box-shadow:
    calc(1 * var(--dot-gap)) 0 0 var(--dot-color-sub),
    calc(2 * var(--dot-gap)) 0 0 var(--dot-color-sub);
}

/* 右側の3点リーダー（左右反転して配置） */
#adspecial_fbj_202601.adspecial_type1 h2 span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);

  width: var(--dot-size);
  height: var(--dot-size);
  border-radius: 50%;
  background: var(--dot-color);

  box-shadow:
    calc(-1 * var(--dot-gap)) 0 0 var(--dot-color-sub),
    calc(-2 * var(--dot-gap)) 0 0 var(--dot-color-sub);
}




#adspecial_fbj_202601.adspecial_type1 .info_block{
text-align:center;
margin:20px auto;
padding:40px;
}

#adspecial_fbj_202601.adspecial_type1 .info_block p{
margin:0 auto !important;
padding-bottom:5px !important;
}

#adspecial_fbj_202601.adspecial_type1 .info_block a{
display:block;
max-width:500px;
margin:0 auto;
padding:10px;
background-color:#01916d;
color:#fff;
text-align:center;
border-radius:40px;
transition:0.3s;
}
#adspecial_fbj_202601.adspecial_type1 .info_block a:hover{
background-color:#151515;
color:#fff !important;
}

#adspecial_fbj_202601.adspecial_type1 .annotation{
padding:0 0 10px 0 !important;
font-size:80% !important;
color:#666;
}



#adspecial_fbj_202601.adspecial_type1 .relation_block{
max-width:1050px;
margin:10px auto;
padding:20px;
border:1px solid #ccc;
background-color:#fff;
text-align;center;
font-size:90%;
}

#adspecial_fbj_202601.adspecial_type1 .relation_block p{
text-align:center;
font-weight:bold;
}

#adspecial_fbj_202601.adspecial_type1 .relation_block a{
margin:0 auto;
text-align:center;
color:#151515;
text-decoration:underline;
display:block;
}





/* end add ----------------------------------------------------------------------------------- */



#adspecial_fbj_202601.adspecial_type1 .frame_col_left #block_story p {
  line-height: 1.8em;
}

#adspecial_fbj_202601.adspecial_type1 .frame_col_left #block_story p {
  margin: 1em 10px;
  font-size: 16px;
}

#adspecial_fbj_202601.adspecial_type1 .article_leaf_paging_word {
  font-size: 12px;
  margin: 20px 0px 30px 0;
  text-align: right;
}

#adspecial_fbj_202601.adspecial_type1 .frame_col_left #block_story.article_body {
  margin-top: 0;
}





/* ヘッダー＆フッター広告表記 2024～
-------------------------------------------------------------------------------------------------------*/


.header_sponsored_area{
    width:100%;
    background-color:#fff;
    color:#000;
    font-size:14px;
    text-align:right;
    padding:15px 20px;
    position:relative;
    z-index:1000;
}

.header_sponsored_area span{
    margin:0;
    line-height:1.3;
    display:block;
}


.block_sponsored{
    clear:both;
    padding:25px 0 0 0;
}

.block_sponsored_area{
    clear:both;
    background-color:#fff;
    color:#000;
    font-size:14px;
    border:1px solid #000;
    margin:25px auto;
    padding:15px 15px 10px;
    max-width:760px;
    position:relative;
    z-index:1000;
}

.block_sponsored_area span{
    margin:5px 0;
    text-align:left;
    display:block;
}


.block_sponsored_area:before{
    display: block;
    content: "PR";
    position: absolute;
    top: -12px;
    left: 30px;
    width: 40px;
    height: 30px;
    text-align: center;
    background-color: #fff;
}






#adspecial_fbj_202601.adspecial_type1 .block_sponsored {
  clear: both;
  /*border: 1px solid #ccc;*/
  background-color:#fff;
  padding: 10px;
}



#adspecial_fbj_202601.adspecial_type1 .block_sponsored address {
  font-weight: normal;
  font-style: normal;
}





@media screen and (max-width: 960px) {
  #adspecial_fbj_202601.adspecial_type1,
  #adspecial_fbj_202601.adspecial_type1 .frame_col_right_container,
  #adspecial_fbj_202601.adspecial_type1 .frame_col_left_container,
  #adspecial_fbj_202601.adspecial_type1 .frame_col_left,
  #adspecial_fbj_202601.adspecial_type1 .frame_col_right {
    width: auto !important;
    float: none;
  }
  #adspecial_fbj_202601.adspecial_type1 .article_body .left,
  #adspecial_fbj_202601.adspecial_type1 .article_body .right,
  #adspecial_fbj_202601.adspecial_type1 .article_body .center {
    float: none;
    max-width: 100%;
    text-align: center;
  }
  #adspecial_fbj_202601.adspecial_type1 img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: auto;
    margin: 0 auto 10px;
  }

  #adspecial_fbj_202601.adspecial_type1 .block_right_plink {
    display: none;
  }





#adspecial_fbj_202601.adspecial_type1 .frame_header::before{
right:0;
background-size:contain;
}





@media screen and (max-width: 640px) {

#adspecial_fbj_202601.adspecial_type1 h1{
height:450px;
}

#adspecial_fbj_202601.adspecial_type1 h1 span{
padding:10px;
}


#adspecial_fbj_202601.adspecial_type1 .article-contents-inner{
padding:10px;
}


}


