@charset "utf-8";

/* ===== ステージ（画像3枚＋ブルー背景） ===== */
.stage {
position: relative;
width: 100vw;
height: 100vh;/* SP初期値。JSが中身に合わせて上書き */
margin: 0;
padding: 0;

overflow: hidden;
-webkit-user-select: none; /* Safari / iOS */
-webkit-tap-highlight-color: transparent;
}


/* ===== 画像レイヤー（写真3枚） ===== */
.pic {
  position: absolute;
  overflow: hidden;
  will-change: transform;
  visibility: hidden;       /* JSが左外へ配置し終えるまで隠す（チラ見え防止） */
}

.pic picture {
  display: block;
  width: 100%;
  height: 100%;
}


.pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--op-pc, center center);
  display: block;
}



/* ===== 青背景レイヤー（.stageサイズと同一・一番奥・ゆっくり動く） ===== */
.bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background: var(--stage-bg, greenyellow);  /* 変数が無ければ従来の緑黄 *//*ACFと連動、ない場合はgreenyellow*/
  will-change: transform;
  visibility: hidden;
}

/* JSが配置完了（is-ready）したら各レイヤーを表示する */
.stage.is-ready .pic,
.stage.is-ready .bg-layer {
visibility: visible;
}















/*基本 SP--------------------------------------------------------*/
.single-news {
display: block;
width: 100%;
margin: 0;
padding: 0;
-webkit-user-select: none; /* Safari / iOS */
-webkit-tap-highlight-color: transparent;
}



/*タイトル周り*/
.single-news__head {
position: absolute;
z-index: 4;
top: 0;
left: 0;
width: 100vw;
height: 50vh;
height: 50vhs;

display: flex;
justify-content: flex-start;
align-items: flex-end;

mix-blend-mode: difference;
color: #fff;

/*FONT 375px計算*/
font-size: 12px;
font-size: 3.2vw;
font-size: clamp(11px, 3.2vw, 13px);

line-height: 1.3;

user-select: none;
}


.single-news__head-inner{
padding: 0 0 0 10px;
box-sizing: border-box;
}



/* 基本 */
.single-news__body {
position: relative;
margin: 0;
padding: 0;
-webkit-user-select: none; /* Safari / iOS */
-webkit-tap-highlight-color: transparent;
}



/*サムネイル*/
.thumb_news_journal{
width: 100%;
user-select: none;

overflow: hidden;
}

.thumb_news_journal img{
width: 100%;
height: auto;
user-select: none;
}


/*テキストエリア*/
.single-news__body .text_area_layout{
position: relative;
z-index: 5;
width: 96%;
margin: -20vh auto 0 auto;
padding: 0;
box-sizing: border-box;
background-color: white;

-webkit-user-select: none; /* Safari / iOS */
-webkit-tap-highlight-color: transparent;
}
}



/*SP 飾り*/
.single-news__body::after{
content: '';
position: absolute;
z-index: 11;
top: 0;
right: 0;

width: 2vw;
height: 100%;
background-color: white;
mix-blend-mode: difference;
}







/*SP 日本語　本文
--------------------------------------------------------------------------*/
h1.single-news__title {
margin: 10px 0 15px 0;

/* Noto Sans - Google */
font-family: YakuHanJPs, "swiss-721-bt","Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 800;
font-style: normal;

font-size: 12px;
line-height: 1.4;

font-feature-settings: normal;
letter-spacing: 0.0em;
}


.single-news__body p {
margin: 0 0 15px 0;

/* Noto Sans - Google */
font-family: YakuHanJPs, "swiss-721-bt","Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 800;
font-style: normal;

font-size: 12px;

line-height: 1.6;
font-feature-settings: normal;
letter-spacing: 0.0em;
}


.single-news__body a{
color: #000;
text-decoration: none;
}


/*SP 見出し h2（本文pと同じ扱い）
--------------------------------------------------------------------------*/
.single-news__body h2 {
margin: 0;

/* 本文pと同じ */
font-family: YakuHanJPs, "swiss-721-bt","Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 800;
font-style: normal;

font-size: 12px;

line-height: 1.7;
font-feature-settings: normal;
letter-spacing: 0.0em;
}


/*SP テーブル（センサーサイズ一覧表など）
--------------------------------------------------------------------------*/
.single-news__body table {
width: calc( 100% - 2% );
margin: 0 2% 15px 0;
border-collapse: collapse;   /* 罫線を重ねて1本に */

/* Noto Sans - Google */
font-family: YakuHanJPs, "swiss-721-bt","Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 800;
font-style: normal;

font-size: 11px;

line-height: 1.3;
letter-spacing: 0.0em;
}

.single-news__body th,
.single-news__body td {
padding: 6px 8px;
border: 1px solid #333;   /* セルを罫線で囲う */
text-align: left;
vertical-align: middle;
}

.single-news__body th {
background-color: #eee;   /* 見出し行は薄いグレー地 */
color: #000;
white-space: nowrap;      /* 見出し語の折り返し防止 */
}

/* 数値セル（寸法・面積）は折り返さず桁を揃える */
.single-news__body td:nth-child(2),
.single-news__body td:nth-child(3) {
white-space: nowrap;
}

/* 表が画面幅を超える場合の横スクロール（HTMLで<div class="table-wrap">で囲った時のみ有効） */
.single-news__body .table-wrap {
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
margin: 0 0 15px 0;
}
.single-news__body .table-wrap table {
min-width: 350px;   /* これ以下には縮めず、はみ出し分はスクロール */
margin: 0;
}





/*SP 英語　本文
--------------------------------------------------------------------------*/
h1.single_news_h1.english {
margin: 10px 0 15px 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

/*FONT 375px計算*/
font-size: 14px;
font-size: 3.7333333vw;
font-size: clamp(13px, 3.7333333vw, 15px);


font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}

.single-news__body.english p {
margin: 0 0 15px 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

/*FONT 375px計算*/
font-size: 14px;
font-size: 3.7333333vw;
font-size: clamp(13px, 3.7333333vw, 15px);


line-height: 1.5;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}


/*SP 英語 見出し h2（英語本文pと同じ扱い・swiss統一）
--------------------------------------------------------------------------*/
.single-news__body.english h2 {
margin: 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;


/*FONT 375px計算*/
font-size: 14px;
font-size: 3.7333333vw;
font-size: clamp(13px, 3.7333333vw, 15px);

line-height: 1.5;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}


/*SP 英語 テーブル（swiss統一）
--------------------------------------------------------------------------*/
.single-news__body.english table {
width: calc( 100% - 2% );
margin: 0 2% 15px 0;
border-collapse: collapse;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 12px;
line-height: 1.4;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}

.single-news__body.english th,
.single-news__body.english td {
padding: 6px 8px;
border: 1px solid #000;
text-align: left;
vertical-align: middle;
}

.single-news__body.english th {
background-color: #eee;
color: #000;
white-space: nowrap;
}

.single-news__body.english td:nth-child(2),
.single-news__body.english td:nth-child(3) {
white-space: nowrap;
}






/*SP 画像*/
.single-news__body img {
margin: 0 auto 15px auto;
padding: 0 0 0 0;

display: block;
width: 100%;
height: auto;
}


/*SP シェアボタン*/
.share_buttons{
margin: 0px 0 0 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;


font-size: 13px;


line-height: 1.5;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;

text-transform: uppercase;
}

.share_title{
margin: 0 10px 0 0;
}

.share_whatsapp{
margin: 0 10px 0 10px;
}

.share_fb{
margin: 0 10px 0 10px;
}

.share_line{
margin: 0 10px 0 10px;
}

.share_x{
margin: 0 0 0 10px;
}




/* SP   BACK TO INDEX */
.back_to_news,
.back_to_journal {
display: none;
visibility: hidden;
position: fixed;
z-index: 2000;
top: 70px;
left: 3px;

transform: translateZ(0);
-webkit-transform: translateZ(0);

text-transform: uppercase;
mix-blend-mode: difference;

/*選択禁止*/
-webkit-touch-callout: none;
-webkit-user-drag: none;
-webkit-tap-highlight-color: transparent;
user-select: none;
-webkit-user-select: none;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

/*FONT 375px計算*/
font-size: 12px;
font-size: 3.2vw;
font-size: clamp(11px, 3.2vw, 13px);

/*FONT 375px計算*/
font-size: 11px;
font-size: 2.9333333vw;
font-size: clamp(10px, 2.9333333vw, 12px);

line-height: 1.3;
color: #fff;

font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}

.back_to_news.is-visible,
.back_to_journal.is-visible {
/* JSからクラスが付与されたら即座に表示 */
display: block;
visibility: visible;
}


.back_to_news a,
.back_to_journal a {
position: relative;
inset: 0;
color: #fff;
padding: 15px 40px 50px 0;
touch-action: manipulation; /* スマホのタップ遅延を解除 */
}

.back_to_news .hover_shffule,
.back_to_journal .hover_shffule {
display: inline-block;
position: relative;
z-index: 0;
pointer-events: none;
white-space: nowrap;
}

.back_to_news a:hover,
.back_to_journal a:hover{
color: #fff;
}

.back_to_news a:visited,
.back_to_journal a:visited{
color: #fff;
}





/* スマホ終了
-------------------------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width: 768px) {

.single-news {
position: relative;
display: block;
width: 100%;
margin: 0;
padding: 0;

}


/*メインエリア*/
.stage {
position: fixed;
z-index: -1;
top: 0;
left: 0;
height: 100vh;/* PC初期値。JSが上書き */
margin: 0;
padding: 0;
}



.pic img {
object-position: var(--op-sp, center center);/*WP管理*/
}


/*PC 飾り*/
.single-news__body::after{
content: '';
position: fixed;
z-index: 11;
top: 0;
right: 0;

margin: 70px 0 0 0;
width: 1.2vw;
height: calc( 100% - 70px );/*黄色消すため*/

background-color: white;
mix-blend-mode: difference;
box-sizing: border-box;
}


/* タイトル周り */
.single-news__head {
position: fixed;
z-index: 4;
top: 0;

height: 100%;
height: 100vh;
height: 100svh;

width: 100vw;

display: flex;
align-items: flex-start;

mix-blend-mode: difference;
}

.single-news__head-inner {
padding: 110px 0 0 10px;
box-sizing: border-box;
}


/*英語タイトル*/
.news_journal_english_title{
position: relative;
margin:  0;
padding: 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 13px;
line-height: 1.5;
color: white;

font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
text-transform: uppercase;
}


/*日付 カテゴリ*/
.single-news__head-inner .first_date{
visibility: visible;
display: block;

margin: 0;
padding: 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 13px;
line-height: 1.5;
color: white;

font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
text-transform: uppercase;
}







/*PC 基本
------------------------------------------*/
.single-news__body {
position: relative;
margin: 0;
padding: 0;
box-sizing: content-box;
}


/*テキストエリア*/
.single-news__body .text_area_layout{
position: relative;
z-index: 5;
margin: 0 0 0 63vw;
padding: 50vh 0 0 0;
padding: 50dvh 0 0 0;
width: 37vw;
box-sizing: border-box;
background-color: transparent;
/*
min-height: 100vh;
min-height: 100dvh;
display: flex;
flex-direction: column;
justify-content: flex-end;
*/
}


.text_area_layout02{
position: relative;
margin: 0;
padding: 0 1.2vw 0 0;
box-sizing: border-box;
background-color: #fff;
}






/*日本語 本文 PC
-----------------------------------------------------*/
h1.single-news__title {
margin: 0 0 14px 0;
padding: 0;
/* Noto Sans - Google */
font-family: YakuHanJPs, "swiss-721-bt","Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 800;
font-style: normal;

font-size: 12px;
line-height: 1.0;


font-feature-settings: normal;
letter-spacing: 0.0em;
}


/*日本語 見出し h2 PC（本文pと同じ扱い）
-----------------------------------------------------*/
.single-news__body h2 {
margin: 0;

/* Noto Sans - Google */
font-family: YakuHanJPs, "swiss-721-bt","Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 800;

font-style: normal;

font-size: 12px;
line-height: 1.7;

font-feature-settings: normal;
letter-spacing: 0.0em;
}


.single-news__body p{
margin: 0 0 14px 0;

/* Noto Sans - Google */
font-family: YakuHanJPs, "swiss-721-bt","Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 800;
font-style: normal;

font-size: 12px;
line-height: 1.7;

font-feature-settings: normal;
letter-spacing: 0.0em;
}

.single-news__body p:last-of-type{
margin: 0;
padding: 0;
}




/*日本語 テーブル PC
-----------------------------------------------------*/
.single-news__body table {
width: 100%;
margin: 9px auto 18px auto;
border-collapse: collapse;

/* Noto Sans - Google */
font-family: YakuHanJPs, "swiss-721-bt","Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 800;
font-style: normal;

font-size: 11px;
line-height: 1.4;
letter-spacing: 0.0em;
}

.single-news__body th,
.single-news__body td {
padding: 8px 10px;
border: 1px solid #000;
text-align: left;
vertical-align: middle;
}

.single-news__body th {
background-color: #eee;
color: #000;
white-space: nowrap;
}

.single-news__body td:nth-child(2),
.single-news__body td:nth-child(3) {
white-space: nowrap;
}

/* PCでは横スクロールは基本不要だが、囲った場合に余白だけ揃える */
.single-news__body .table-wrap {
margin: 0 0 14px 0;
}

/* テーブル左右外枠の罫線なし */
/*
.single-news__body table {
  border-left: none;
  border-right: none;
}
.single-news__body th:first-child,
.single-news__body td:first-child {
  border-left: none;
}
.single-news__body th:last-child,
.single-news__body td:last-child {
  border-right: none;
}
*/


/*英語 本文 PC
----------------------------------------------*/
h1.single_news_h1.english {
margin: 0 0 15px 0;
padding: 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 14px;

line-height: 1.0;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}



.single-news__body.english p {
margin: 0 0 15px 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 14px;

line-height: 1.5;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}



.single-news__body.english p:last-of-type{
margin: 0;
padding: 0;
}


/*PC 英語 見出し h2（英語本文pと同じ扱い・swiss統一）
----------------------------------------------*/
.single-news__body.english h2 {
margin: 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 14px;

line-height: 1.5;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}


/*PC 英語 テーブル（swiss統一）
----------------------------------------------*/
.single-news__body.english table {
width: 100%;
margin: 0 0 15px 0;
border-collapse: collapse;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 13px;
line-height: 1.5;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;
}

.single-news__body.english th,
.single-news__body.english td {
padding: 8px 10px;
border: 1px solid #000;
text-align: left;
vertical-align: middle;
}

.single-news__body.english th {
background-color: #eee;
color: #000;
font-weight: 700;
white-space: nowrap;
}

.single-news__body.english td:nth-child(2),
.single-news__body.english td:nth-child(3) {
white-space: nowrap;
}


/*本文中の画像*/
.single-news__body img {
display: block;
width: 96%;
height: auto;
margin: 0 auto 14px auto;
}




/*PC シェアボタン*/
.share_buttons{
margin: 12px 0 0 0;
padding: 0;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 13px;

line-height: 1.0;
font-feature-settings: "liga" 1, "pnum" 1;
letter-spacing: -0.02em;

text-transform: uppercase;
overflow: hidden;/*重要！これがないと、隙間発生*/
}



.share_title{
margin: 0 10px 0 0;
}

.share_fb{
display: inline-block;
margin: 0 10px 0 10px;
width: 74px;
}

.share_line{
display: inline-block;
margin: 0 10px 0 10px;
width: 30px;
}

.share_whatsapp{
display: inline-block;
margin: 0 10px 0 10px;
width: 74px;
}

.share_x{
margin: 0 0 0 10px;
}





/*UI PC-------------------------------------------------------------*/
/* BACK TO INDEX（PC版） */
.back_to_news,
.back_to_journal {
display: none;

position: fixed;
z-index: 2000;
top: 60px;
left: 13px;
right: auto;

user-select: none;
-webkit-user-select: none;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

font-size: 13px;
color: #fff;
letter-spacing: -0.02em;
font-feature-settings: "liga" 1, "pnum" 1;

mix-blend-mode: difference;
text-transform: uppercase;
}

.back_to_news a,
.back_to_journal a {
inset: 0;
color: #fff;
padding: 0;
inset: -3px;
}


/* 最短版：span本体をそのまま□にする（::before不要） */
body.journal_single .text_area_layout02.ph_static > .ph_handle{
  display: block;
  position: absolute;
  width: 9px;
  height: 9px;
  margin: -4.5px 0 0 -4.5px;   /* 中心を left/top 座標に合わせる */
  transform: none;
  background: #fff;
  border: 1px solid #4a90e2;
  box-sizing: border-box;
  z-index: 9999;
  pointer-events: none;
}
body.journal_single .text_area_layout02.ph_static > .ph_handle::before{
  display: none;   /* 二重防止 */
}

body.journal_single .text_area_layout02.ph_static{
  border: 1px solid #4a90e2;
  box-sizing: border-box;
}
body.journal_single .text_area_layout02.ph_static > .ph_handle_nw{ left:0;    top:0;    }
body.journal_single .text_area_layout02.ph_static > .ph_handle_n { left:50%;  top:0;    }
body.journal_single .text_area_layout02.ph_static > .ph_handle_ne{ left:100%; top:0;    }
body.journal_single .text_area_layout02.ph_static > .ph_handle_w { left:0;    top:50%;  }
body.journal_single .text_area_layout02.ph_static > .ph_handle_e { left:100%; top:50%;  }
body.journal_single .text_area_layout02.ph_static > .ph_handle_sw{ left:0;    top:100%; }
body.journal_single .text_area_layout02.ph_static > .ph_handle_s { left:50%;  top:100%; }
body.journal_single .text_area_layout02.ph_static > .ph_handle_se{ left:100%; top:100%; }




/* 最短版：span本体をそのまま□にする（::before不要） */
body.news_single .text_area_layout02.ph_static > .ph_handle{
  display: block;
  position: absolute;
  width: 9px;
  height: 9px;
  margin: -4.5px 0 0 -4.5px;   /* 中心を left/top 座標に合わせる */
  transform: none;
  background: #fff;
  border: 1px solid #4a90e2;
  box-sizing: border-box;
  z-index: 9999;
  pointer-events: none;
}
body.news_single .text_area_layout02.ph_static > .ph_handle::before{
  display: none;   /* 二重防止 */
}

body.news_single .text_area_layout02.ph_static{
  border: 1px solid #4a90e2;
  box-sizing: border-box;
}
body.news_single .text_area_layout02.ph_static > .ph_handle_nw{ left:0;    top:0;    }
body.news_single .text_area_layout02.ph_static > .ph_handle_n { left:50%;  top:0;    }
body.news_single .text_area_layout02.ph_static > .ph_handle_ne{ left:100%; top:0;    }
body.news_single .text_area_layout02.ph_static > .ph_handle_w { left:0;    top:50%;  }
body.news_single .text_area_layout02.ph_static > .ph_handle_e { left:100%; top:50%;  }
body.news_single .text_area_layout02.ph_static > .ph_handle_sw{ left:0;    top:100%; }
body.news_single .text_area_layout02.ph_static > .ph_handle_s { left:50%;  top:100%; }
body.news_single .text_area_layout02.ph_static > .ph_handle_se{ left:100%; top:100%; }














/* イラレ方式
---------------------------------------------------------------------*/
/*
body.journal_single .tf-source{
position:absolute;
z-index: 999;
top: 0px;
left: 0px;

}


body.journal_single .tf_box{
mix-blend-mode: normal;
background-color: #fff;
}

body.journal_single .tf_text{
font-size: 10px;
color: #000;
letter-spacing: -0.01em;
}

.src0_journal_jp{
width:37vw;


font-family: YakuHanJPs, 'Noto Sans JP',　sans-serif;
font-weight: 800;
font-optical-sizing: auto;
font-style: normal;

line-height: 1.1;
}

.src0_journal_english{
width:37vw;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

line-height: 1.1;
}



.src1_journal_jp{
width:37vw;


font-family: YakuHanJPs, 'Noto Sans JP',　sans-serif;
font-weight: 800;
font-optical-sizing: auto;
font-style: normal;

line-height: 1.4;
}

.src1_journal_english{
width:280px;

font-family: "swiss-721-bt", sans-serif;
font-weight: 700;
font-style: normal;

line-height: 1.4;
}

*/





}/*end pd*/
