@charset "UTF-8";
article, aside, figcaption, figure, footer, header, img, nav, section {
display:block;
}
body, dd, div, dl, dt, h1, h2, h3, h4, html, img, li, ol, p, span, table, td, th, tr, ul, figure {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
	font-size: 13px;
	line-height: 2.2em;
	font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	background-color: #FFFFFF;
	color: #222222;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
}
h1, h2 {
line-height: 1.8em;
}
h1, h2, h3, h4, h5 {
font-weight: 600;
}

@media screen and (max-width: 820px) {
body {
font-size: 13px;
line-height: 2.0em;
}
h1, h2 {
line-height: 1.5em;
color: #000000;
}
}
@media screen and (max-width: 767px) {
body {
font-size: 3vw;
line-height: 2.0em;
}
}


ol, ul {
list-style:none
}
table{
border-collapse: collapse;
border-spacing: 0;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button;
cursor: pointer;
}
a {  }
a:link {
color: #222222;
text-decoration: none;
}
a:visited {
color: #222222;
text-decoration: none;
}
a:hover, a:active {
color: #222222;
text-decoration: underline;
}
@media screen and (max-width: 767px) {
a:hover, a:active {
text-decoration: none;
}
}



/* ---------------------------------------------------------------- *
ドキュメント全体に関する設定
* ---------------------------------------------------------------- */
.contents {
overflow: hidden;
margin: 0;
padding: 0;
clear: both;
position: relative;
}
/* 下層ページ用 */
.contents_Sub {
overflow: hidden;
margin: 0;
padding: 0;
clear: both;
position: relative;
width: calc(100% - 230px);
margin-left: auto;
margin-right: 0px;
}
@media screen and (max-width: 820px) {
.contents_Sub {
width: calc(100% - 0px);
}
}


/* ------ Column ------ */
.row140,.row140in{
max-width: 1400px;
margin: 0 auto;
padding: 0 3%;
}
.row130,.row130in{
max-width: 1300px;
margin: 0 auto;
padding: 0 3%;
}
.row120,.row120in{
max-width: 1200px;
margin: 0 auto;
padding: 0 4%;
}
.row110,.row110in{
max-width: 1100px;
margin: 0 auto;
padding: 0 3%;
}
.row110r{
max-width: 1100px;
max-width: calc(1100px - 3%);
margin-top: 0;
margin-right: 0px;
margin-left: auto;
margin-bottom: 0;
padding: 0 3%;
}
.row,.row00{
max-width: 1000px;
margin: 0 auto;
padding: 0 3%;
}
.row:after,.row00:after,.row02:after {
content: "";
display: block;
clear: both;
}
.row02,.row02in {
max-width: 900px;
margin: 0 auto;
padding: 0 3%;
}
.row800,.row800in {
max-width: 800px;
margin: 0 auto;
padding: 0 3%;
}
.row700,.row700in {
max-width: 700px;
margin: 0 auto;
padding: 0 3%;
}

.pc_only {
display: block!important;
}
.sp_only {
display: none!important;
}
@media screen and (max-width: 767px) {
/* 左右に余白を設定 */
.row140,.row130,.row120,.row110,.row,.row02,.row800,.row700  {
padding: 0 6%;
}
.row110r{
margin: 0 auto;
padding: 0 6%;
}
.row140in,.row130in,.row120in,.row110in,.row00,.row02in,.row800in,.row700in {
padding-top: 0;
padding-right: 0px;
padding-left: 0px;
padding-bottom: 0;
}
.pc_only {
display: none !important;
}
.sp_only {
display: block!important;
}
}

.sp_only1250 {
display: none!important;
}
@media screen and (max-width: 1250px) {
.sp_only1250 {
display: block!important;
}
}



/*ホワイト*/
.wt .fa,.wt{
color: #FFF !important;
}
.wt a:link {
text-decoration: none !important;
color: #FFF !important;
}
.wt a:visited {
text-decoration: none !important;
color: #FFF !important;
}
.wt a:hover, .wt a:active {
text-decoration: none !important;
color: #FFF !important;
}

/*ブラック*/
.bk .fa,.bk{
color: #000000 !important;
}
.bk a:link {
text-decoration: none !important;
color: #000000 !important;
}
.bk a:visited {
text-decoration: none !important;
color: #000000 !important;
}
.bk a:hover, .bk a:active {
text-decoration: none !important;
color: #000000 !important;
}

/*コーポレートカラー*/
.corp .fa{
color: #44AF35 !important;
}
.corp a:link {
text-decoration: none !important;
color: #44AF35 !important;
}
.corp a:visited {
text-decoration: none !important;
color: #44AF35 !important;
}
.corp a:hover, .corp a:active {
text-decoration: none !important;
color: #44AF35 !important;
}

/*BGカラー*/

.bg_wt{
background-color: #FFFFFF;
}
.bg_bk{
background-color: #000000;
}
.bg_pink{
background-color: #FFE8EB;
}

/*BG　TV*/
.bg_C_tv{
background-color: #FF6478!important;
}
.bg_C_tv15{
background-color: #FFE8EB!important;
}
/*BG　インターネット*/
.bg_C_net{
background-color: #1EAFFF!important;
}
.bg_C_net15{
background-color: #ddf3ff!important;
}
/*BG　固定電話*/
.bg_C_tel{
background-color: #5ACDB4!important;
}
.bg_C_tel15{
background-color: #E6F8F4!important;
}
/*BG　モバイル*/
.bg_C_mobile15{
background-color: #D9EDF4!important;
}
/*BG　でんき*/
.bg_C_denki15{
background-color: #FEF7D9!important;
}
/*BG　eテレビStick*/
.bg_C_stick15{
background-color: #E2EDFB!important;
}
/*BG　よくある質問*/
.bg_C_faq{
background-color: #EDEDED!important;
}

/*BG　OTOKU*/
.bg_C_otoku15{
background-color: #F0DADA!important;
}

/* ---------------------------------------------------------------- *
ヘッダ部分の設定
* ---------------------------------------------------------------- */
#header.topnav{
position: fixed;
width: 100%;
top: 0;
left: 0;
z-index: 3;
margin: 0;
background-color: #FFFFFF;
height: 60px;
display: none;
}
#header.topnav h1 img {
padding-top: 10px;
height: 42px;
width: auto;
display: block;
margin-left: 3%;
transition: all 0.3s;
z-index: 1;
position: absolute;
}
@media screen and (max-width: 820px) {
#header.topnav{
display: block;
}
}
@media screen and (max-width: 820px) {
#header.topnav{
z-index: 998;
}
#header.topnav h1 img {
padding-top: 18px;
height: 28px;
right: 5%;
}
}



/*swiper　設定*/

.t_mv{
position: relative;
_zoom: 1;
overflow: hidden;
padding: 0;
margin-top: 0px;
width: calc(100% - 230px);
margin-left: auto;
margin-right: 0px;
border-bottom-left-radius: 100px;
margin-bottom: 90px;
}
@media screen and (max-width: 820px) {
.t_mv{
width: calc(100% - 0px);
margin-left: auto;
margin-right: 0px;
border-bottom-left-radius: 70px;
margin-bottom: 70px;
}
}


/*トップmp4 動画設定*/
.t_movie {
max-width: 100%;
margin-top: 0px;
margin-bottom: 0px;
}

.t_movie video {
width: 100%;
height: auto;
display: block;
}
/* =====================
SP 用（780×1100 比率）
===================== */
@media screen and (max-width: 767px) {

.t_movie {
aspect-ratio: 780 / 1100; /* ← SP動画比率 */
}

.t_movie video {
width: 100%;
height: 100%;
object-fit: cover;   /* はみ出しOKでトリミング */
}
}

/*フルスクリーン表示　トップ*/
.swiper-container {
width: 100%;
max-height: 700px;	
/*height: 100vh;*/
}
.swiper-slide {
background-position: center;
background-size: cover;
}

.swiper-slide {
position: relative;
}

/*画像配置の場合*/
.swiper-slide img {
width: 100%;
height: auto;
display: block;
transition: all 0.3s;
}

/* スマホ：全画面（ヘッダー60pxぶん差し引き） */
@media screen and (max-width: 767px){
  /* 100vh のブラウザUI問題に強い新単位も併記 */
  .swiper-container{
    height: calc(100vh - 60px);   /* フォールバック */
    height: calc(100svh - 60px);  /* 推奨：iOS/AndroidのUIを考慮 */
    background-color:#000;
  }
  /* スライドを親の高さいっぱいに */
  .swiper-wrapper,
  .swiper-slide{
    height: 100%;
  }
  /* 画像で容器を埋める（トリミングあり） */
  .swiper-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;          /* 余白を出さずにフィット */
    object-position: center;    /* トリミングの基準。必要なら 50% 35% などに調整 */
    display: block;
  }
}


/* コピー配置（PC/スマホ共通の土台） */
.t_mv .place{
position: absolute;
inset: 0;                 /* top/right/bottom/left:0 と同義 */
display: flex;
align-items: center;      /* 交差軸センター */
justify-content: center;  /* 主軸センター */
z-index: 2;
pointer-events: none;     /* スワイプ操作の邪魔をしない */
}

/* コピーの見た目（PCは横書きのまま） */
.t_mv .copy1{
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 700;
	color: #fff;
	text-align: center;
	text-shadow: 0 0 10px rgba(0,0,0,.5),
1px 0 2px rgba(0,0,0,.5),
0 1px 2px rgba(0,0,0,.5),
-1px 0 2px rgba(0,0,0,.5),
0 -1px 2px rgba(0,0,0,.5);
	line-height: 1.6em;
}

/* スマホ：縦書き＆中央 */
@media screen and (max-width: 767px){
.t_mv .copy1{
writing-mode: vertical-rl;    /* 縦書き（右→左） */
text-orientation: mixed;      /* 英数は横向きのまま */
white-space: nowrap;          /* 1列に収める（改行なし） */
line-height: 1.6;
font-size: clamp(20px, 6vw, 28px);
letter-spacing: .06em;        /* 縦組みの字間を少しだけ */
}
}



/*swiper-button prev next　エフェクト*/
[class^="swiper-button-"], .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet::before {
transition: all .3s ease;
}
/*.swiper-container:hover .swiper-button-prev,
.swiper-container:hover .swiper-button-next {
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1;
visibility: visible;
}
[class^="swiper-button-"] {
opacity: 0;
visibility: hidden;
}*/
.swiper-button-prev {
-webkit-transform: translateX(50px);
transform: translateX(50px);
}
.swiper-button-next {
-webkit-transform: translateX(-50px);
transform: translateX(-50px);
}

/*pagination　cureent2重丸*/
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 10px !important;
position: relative;
width: 12px;
height: 12px;
background-color: #FFFFFF;
opacity: .4;
padding-right: 0px;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 18px;
height: 18px;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
border: 0px solid #FFFFFF;
border-radius: 50%;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet:hover, .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
opacity: 1;
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
border-width: 1px;
}


.swiper-container .swiper-slide:before {
z-index: 0;
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color:rgba(0,0,0,0);
}

/**/
.swiper-wrapper.disabled {
transform: translate3d(0px, 0, 0) !important;
}
.swiper-pagination.disabled {
display: none;
}



/*トピックス*/
.course_Box {
margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
.course_Box {
margin-bottom: 70px;
}
}



/*サービス*/
.tv_1th {
position: relative;
z-index: 0;
/*padding-left: 3%;
padding-right: 3%;*/
margin-bottom: 100px!important;
box-sizing: border-box;
}

@media screen and (max-width: 767px) {
.tv_1th {
/*padding-left: 6%;
padding-right: 6%;*/
margin-bottom: 70px!important;
}
}

/*オプション*/
.tv_1th_opt1 {
/*padding-left: 3%;
padding-right: 3%;*/
width: calc(100% - 230px);
margin-left: auto;
box-sizing: border-box;
margin-bottom: 30px;
}

/*サービス　サポート　TOP*/
.tv_1th_opt1.SStop {
padding-left: 3%;
padding-right: 3%;
width: 100%;
margin-left: auto;
box-sizing: border-box;
margin-bottom: 30px;
}

/*サービストップ*/
.tv_1th_opt1.svr_top {
	margin-top: 40px;
}

.tv_1th_opt1 ul.in_desc {
display: grid;
gap: 30px;
/*grid-template-columns: 1fr 1fr 1fr;*/
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.tv_1th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
border-radius: 20px;
box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}
.tv_1th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tv_1th_opt1 ul.in_desc li.item {
position: relative;
}
/*サービストップ*/
.tv_1th_opt1 ul.in_desc li.item p.srv {
	margin-top: 10px;
	line-height: 1.8em;
	font-size: 13px;
}

.tv_1th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
.tv_1th_opt1 ul.in_desc li.item:hover{
background-color: rgba(204,204,204,0.10);
z-index: 0;
}
@media screen and (max-width: 820px) {
.tv_1th_opt1 ul.in_desc {
gap: 20px;
}
}
@media screen and (max-width: 767px) {
.tv_1th_opt1 {
/*padding-left: 6%;
padding-right: 6%;*/
width: 100%;
margin-bottom: 20px;
}

.tv_1th_opt1 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
}
/*サービストップ*/
.tv_1th_opt1 ul.in_desc li.item p.srv {
font-size: 3vw;
}
}




/*お知らせ*/
.tv_2th {
position: relative;
z-index: 0;
margin-bottom: 80px!important;
}
@media screen and (max-width: 767px) {
.tv_2th {
margin-bottom: 40px!important;
}
}


/*お知らせナビ*/
.news_Nv {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 10px;
	margin-bottom: 50px;
	width: 70%;
	margin-left: 0px;
	margin-right: auto;
}
.news_Nv .item {
text-align: center;
}
.news_Nv .item p {
font-size: 14px;
line-height: 1.6em;
display: flex;
align-items: center;
justify-content: center;
}
.news_Nv .item a {
display: block;
cursor: pointer;
background-color: #FFFFFF;
border-radius: 50px;
transition: all 0.3s;
padding-top: 12px;
padding-bottom: 12px;
box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}
.news_Nv .item.active a {
background-color: #00B4C3;
color: #FFFFFF;
}

.news_Nv .item img {
max-width: 100%;
height: auto;
}
.news_Nv .item a:hover {
background-color: #00B4C3;
text-decoration: none;
color: #FFFFFF;
}
@media screen and (max-width: 767px) {
.news_Nv {
gap: 8px;
margin-top: 20px;
margin-bottom: 20px;
width: 100%;
}
.news_Nv .item p {
font-size: 2.5vw;
}
}



/*お知らせの切り替え*/
/*エリアの表示非表示と形状*/
.in_News .area {
display: none;/*はじめは非表示*/
opacity: 0;/*透過0*/
}
/*areaにis-activeというクラスがついた時の形状*/
.in_News .area.is-active {
display: block;/*表示*/
animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
animation-duration: 2s;
animation-fill-mode: forwards;
}

@keyframes displayAnime{
from {
opacity: 0;
}
to {
opacity: 1;
}
}





.tv_2th_opt1{
	padding-left: 3%;
	padding-right: 3%;
	/*width: calc(100% - 230px);*/
	margin-left: auto;
	box-sizing: border-box;
	margin-bottom: 60px;
}
/*トップ　キャンペーン*/
.tv_2th_opt1.t_cmp{
	padding-left: 3%;
	padding-right: 3%;
	width: 100%;
	margin-left: auto;
	box-sizing: border-box;
	margin-bottom: 60px;

}
@media screen and (max-width: 820px) {
.tv_2th_opt1{
padding-left: 6%;
padding-right: 6%;
width: calc(100% - 0px);
margin-bottom: 30px;
}
}

.tv_2th_opt1 ul.in_desc {
display: grid;
gap: 20px 70px;
grid-template-columns: 1fr;
margin-bottom: 50px;
}
.tv_2th_opt1 ul.in_desc li.item {
padding-bottom: 15px;
border-bottom: 1px solid #CCCCCC;
align-items: flex-start;
position: relative;
z-index: 1;
}


.tv_2th_opt1 ul.in_desc li.item .in_txt {
display: flex;
gap: 20px;
}
.tv_2th_opt1 ul.in_desc li.item .n_cat {
	position: relative;
	display: flex;
	gap:10px;
	place-items: center start;
}
.tv_2th_opt1 ul.in_desc li.item .n_cat p {
	font-size: 13px;
	line-height: 1.8em;
}

.tv_2th_opt1 ul.in_desc li.item p.update{
	padding-top: 0px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 0px;
	color: #FFFFFF;
	font-size: 10px;
	margin-bottom: 0px;
	background-color: #FF0000;
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	border-radius: 50%;
	position: absolute;
	top: -10px;
	display: inline-block;
	z-index: 10;
	right: -5px;
}
.tv_2th_opt1 ul.in_desc li.item .n_cat h3 {
	font-size: 11px;
	font-weight: 300;
	line-height: 1.8em;
	border-radius: 20px;
	background-color: #4B81BC;
	text-align: center;
	width: 130px;
	color: #FFFFFF;
}

.tv_2th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}

@media(max-width: 767px){
.tv_2th_opt1 ul.in_desc {
grid-template-columns: 1fr;
gap: 20px;
margin-bottom: 30px;
}
.tv_2th_opt1 ul.in_desc li.item {
gap: 20px;
padding-top: 10px;
padding-bottom: 20px;
}
.tv_2th_opt1 ul.in_desc li.item .in_txt {
display: block;
}
.tv_2th_opt1 ul.in_desc li.item .n_cat {
	gap:10px;
}
.tv_2th_opt1 ul.in_desc li.item .n_cat h3 {
font-size: 2.5vw;
width: 110px;
}
.tv_2th_opt1 ul.in_desc li.item .n_cat p {
font-size: 2.5vw;
}
.tv_2th_opt1 ul.in_desc li.item p.update{
font-size: 2.3vw;
	width: 34px;
	height: 34px;
	line-height: 34px;
}
}






/*お知らせ*/
.emr_Btns {
position: relative;
padding-top: 0px;
padding-bottom: 0px;
z-index: 1;
/*margin-left: 70px;*/
width: calc(100% - 210px);
margin-left: auto;
margin-right: 0px;
}
@media screen and (max-width: 820px) {
.emr_Btns {
margin-left: 0px;
width: calc(100% - 0px);
}
}



/* リンクボタン：中央寄せ & 横幅制御 */
.cta-list{
display:flex;
justify-content:center;
align-items:stretch;      /* 高さも揃える */
gap:20px;
list-style:none;
padding:0;
margin:0 auto;            /* 中央寄せ */
width:min(1100px, 92%);   /* 画面に応じて可変 */
}

/* 各カラムを均等にする */
.cta-list > li{
flex:1 1 0;               /* 3つを等分 */
min-width:260px;          /* つぶれ防止（必要に応じて調整） */
display:flex;             /* 内側の a を縦方向に伸ばすため */
}

/* ボタン本体（幅100%で揃える） */
.cta{
--grad: linear-gradient(135deg, #0b58a7 0%, #3cc0f3 100%);
display:flex;
align-items:center;
gap:14px;
padding:0 30px;
border-radius:50px;
font-weight:700;
font-size:14px;
line-height:1.2em;
color:#111;
text-decoration:none;
white-space:nowrap;
background:
linear-gradient(#fff, #fff) padding-box,
var(--grad) border-box;  /* グラデ枠 */
border:2px solid transparent;
transition: background-color .2s ease; /* 本体は動かさない */
width:100%;                /* 均等幅の肝 */
min-height:60px;           /* 高さも揃える（任意） */
}

/* アイコン */
.cta__icon{
width:28px;
height:auto;
flex:0 0 auto;
}

/* テキスト */
.cta__label{
letter-spacing:.02em;
}

/* 右端の矢印（> を描画） */
.cta::after{
content:"";
width:8px;
height:8px;
border-right:2px solid currentColor;
border-top:2px solid currentColor;
transform: rotate(45deg);
margin-left:auto;                 /* 右端へ寄せる */
transition: transform .18s ease;  /* ホバー時にスライド */
}

/* 矢印だけ右へスライド（hover / keyboard focus） */
.cta:hover::after,
.cta:focus-visible::after{
transform: translateX(4px) rotate(45deg);
}

/* アクセシビリティ（任意）：フォーカスリング */
.cta:focus-visible{
outline: none;
box-shadow: 0 0 0 3px rgba(60,192,243,.25);
}

@media screen and (max-width: 820px) {
.cta-list{
	gap: 10px;
	width: 95%;
	margin-left: auto;
	margin-right: auto;
}
.cta-list > li{
min-width:230px;
}
.cta{
padding:0 30px;
font-size:12px;
}
}

/* === スマホ === */
@media (max-width: 767px){
.cta-list{
flex-direction: column;
gap:20px;
width:min(640px, 92%);   /* 画面中央で幅を統一 */
}
.cta-list > li{
min-width:0;
width:100%;
}
.cta{
width:100%;
white-space:normal;      /* 長文は折り返し */
text-align:left;
font-size:13px;
}
}



/* ボタンを中央寄せ */
.btn-area{
display: flex;
justify-content: center;
gap: 30px;
flex-wrap: wrap;  /* スマホ時に折り返し */
margin-top: 40px;
margin-right: 0;
margin-left: 0;
/*width: calc(100% - 100px);*/
margin-left: auto;
margin-right: 0px;
}
.btn-area.svTop{
margin-top: 0px;
}

.round-btn{
display: inline-flex;
align-items: center;
justify-content: center;
padding-top: 10px;
padding-bottom: 10px;
border: 1px solid #0072ce;
border-radius: 40px;
color: #0072ce!important;
font-weight: bold;
text-decoration: none;
position: relative;
transition: .3s;
background-color: #FFFFFF;
width: 300px;
}

/* 矢印 */
.round-btn::after{
content:"";
display:inline-block;
width:.5em; height:.5em;
border-top:2px solid currentColor;
border-right:2px solid currentColor;
transform:rotate(45deg);
margin-left:.6em;
transition:.3s;
}
.round-btn:hover::after{
	transform: translateX(4px) rotate(45deg);
}
.round-btn:hover{
	text-decoration: none;
}
@media screen and (max-width: 820px) {
.btn-area{
	width: calc(100% - 0px);
	margin-left: auto;
	margin-right: auto;
}
}
@media screen and (max-width: 767px) {
.btn-area{
gap: 20px;
margin-top: 20px;
width: calc(100% - 0px);
}
.round-btn{
width: 95%;
}

.btn-area.svTop{
margin-top: 20px;
}
}




/*市民が主役　街中がスタジオ*/
.tv_3th {
	position: relative;
	text-align: center;
	padding-bottom: 0px;
	padding-top: 0px;
	margin-bottom: -50px;
}
@media screen and (max-width: 767px) {
.tv_3th {
padding-bottom: 0px;
padding-top: 0px;
margin-bottom: 0px;
}

}

/* 地域情報 */
.resion {
position: absolute;
top: 250px;
z-index: 1;
width: calc(100% + 230px);
/*width: 100%;*/
/*margin-left: auto;*/
margin-right: auto;
text-shadow: 0px 0px;
/*margin-left: 70px;*/
}
.resion .R_lead{
margin-bottom: 50px;
color: #FFFFFF;
}
.resion .R_lead figure{
width: 550px;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
.resion .R_lead figure img{
width: 100%;
height: auto;
display: block;
}
.resion .R_lead p{
text-align: center;
}
@media screen and (max-width: 820px) {
.resion {
width: calc(100% + 0px);
/*margin-left: 0px;*/
}
}
@media screen and (max-width: 767px) {
.resion {
top: 13%;
padding-top: 50px;
/*margin-left: 0px;*/
}
.resion .R_lead{
margin-bottom: 20px;
}
.resion .R_lead figure{
width: 95%;
margin-bottom: 10px;
}
.resion .R_lead p{
text-align: left;
}
}


/* ロゴアニメーション */
.tv_3th .world_ani{

}
.city_wrap {
position: relative;
width: calc(100% + 228px);
/*width: 100%;
max-width: 1500px;*/
aspect-ratio: 1 / 1;
margin-right: auto;
margin-left: auto;
margin-bottom: 0;
z-index: 0;
}
.city-rotate {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
animation: rotateCity 120s linear infinite;
transform-origin: center center;
}
.city-rotate img {
width: 100%;
height: 100%;
}
.cityscape {
position: absolute;
top: 50%;
left: 50%;
width: 80%;   /* 416 ÷ 556 ≒ 0.748 */
height: 80%;
transform: translate(-50%, -50%);
}
.cityscape img {
width: 100%;
height: 100%;
}
/* 回転アニメーション　左回り */
@keyframes rotateCity {
from {
transform: rotate(0deg);
}
to {
transform: rotate(-360deg);
}
}
/* 回転アニメーション　右回り */
@keyframes rotateCity_R {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@media screen and (max-width: 820px) {
.city_wrap {
width: 150%;
margin-right: auto;
margin-left: -25%;
margin-bottom: 0;
z-index: 0;
}
}
@media screen and (max-width: 767px) {
.tv_3th .world_ani{

}
.city_wrap {
width: 300%;
margin-right: auto;
margin-left: -100%;
margin-bottom: 0;
z-index: 0;
}

}


/* スクロール中のチラつき/合成最適化 */
.city_wrap{ will-change: transform; }

/* 前後関係を明示（resionが必ず前面） */
.resion{ z-index: 2; }
.world_ani{ z-index: 1; }




/*家族みんな*/
.tv_4th {
	position: relative;
	text-align: center;
	padding-bottom: 0px;
	padding-top: 0px;
	margin-top: -150px;
	margin-bottom: -300px;
	/*background-color: rgba(0,0,0,0.50);*/
}

.tv_4th .t_minG {
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
.tv_4th {
padding-bottom: 0px;
padding-top: 0px;
margin-top: -90px;
margin-bottom: -200px;
}
.tv_4th .t_minG {
	width: 94%;
	margin-top: 15px;
}
}





/*オプション*/
.resion2 {
position: absolute;
top: 300px;
z-index: 1;
/*width: 100%;*/
width: calc(100% + 230px);
margin-right: auto;
text-shadow: 0px 0px;
/*margin-left: 70px;*/
}
.resion2 .R_lead{
margin-bottom: 0px;
}
.resion2 .R_lead figure{
width: 550px;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
}
.resion2 .R_lead figure img{
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 1024px) {
.resion2 {

}
}
@media screen and (max-width: 820px) {
.resion2 {
width: calc(100% + 0px);
/*margin-left: 0px;*/
}
}
@media screen and (max-width: 767px) {
.resion2 {
top: 13%;
padding-top: 25px;
width: calc(100% + 0px);
/*margin-left: 0px;*/
}
.resion2 .R_lead{
margin-bottom: 0px;
}
.resion2 .R_lead figure{
width: 95%;
margin-bottom: 10px;
}
}







/*オプション*/
.tv_4th_opt1 {
	padding-top: 50px;
	padding-bottom: 0px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.tv_4th_opt1 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr;
margin-bottom: 0px;
}
.tv_4th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tv_4th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}

.tv_4th_opt1 ul.in_desc li.item {
	padding-top: 30px;
	padding-right: 30px;
	padding-left: 30px;
	border-radius: 15px;
	position: relative;
	background-color: #FFFFFF;
	box-shadow: 0 3px 10px rgba(0,0,0,0.2);
	padding-bottom: 10px;
}
.tv_4th_opt1 ul.in_desc li.item h3 {
font-size: 15px;
font-weight: bold;
margin-bottom: 5px;
border-radius: 40px;
background-color: #FFCD00;
position: absolute;
top: -45px;
color: #0062B2;
padding-bottom: 100px;
width: 340px;
text-align: center;
left: 50%;
transform: translateX(-50%);
z-index: -1;
padding-top: 8px;
}

.tv_4th_opt1 ul.in_desc li.item p.more{
  display:inline-flex;
  align-items:center;
  	color: #0062B2;
	margin-top: 5px;
}
.tv_4th_opt1 ul.in_desc li.item p.more::after{
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: translateY(-1px) rotate(45deg);
	margin-left: .5em;
	transition: transform .2s ease;
	margin-top: 5px;
}


.tv_4th_opt1 ul.in_desc li.item .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
@media screen and (max-width: 1024px) {
.tv_4th_opt1 ul.in_desc li.item h3 {
width: 250px;
}

}
@media screen and (max-width: 820px) {

}
@media screen and (max-width: 767px) {
.tv_4th_opt1 {
width: 100%;
padding-top: 50px;
padding-bottom: 0px;
}
.tv_4th_opt1 ul.in_desc {
gap: 60px;
grid-template-columns: 1fr;
margin-bottom: 0px;
}

/* 画像トリミング */
.tv_4th_opt1 figure {
width: 100%;
aspect-ratio: 500 / 277; /* 横：縦の比率 */
overflow: hidden; /* はみ出た部分を非表示 */
display: flex;
justify-content: center;
align-items: center;
}
.tv_4th_opt1 figure img {
width: 100%;
height: 100%;
object-fit: cover; /* 画像をトリミング */
}

.tv_4th_opt1 ul.in_desc li.item {
	padding-top: 10px;
	padding-bottom: 10px;
	border-radius: 10px;
	padding-left: 15px;
	padding-right: 15px;
}

.tv_4th_opt1 ul.in_desc li.item h3 {
font-size: 3.3vw;
font-weight: bold;
margin-bottom: 5px;
border-radius: 40px;
top: -40px;
color: #0062B2;
padding-bottom: 100px;
width: 70%;
padding-top: 8px;
}
.tv_4th_opt1 ul.in_desc li.item p {
font-size: 3vw;
}
}


/* 円のテクスチャ */
.city_wrap2 {
position: relative;
width: calc(100% + 228px);
aspect-ratio: 1 / 1;
margin-right: auto;
margin-left: auto;
margin-bottom: 0;
z-index: 0;
}
.cityscape2 {
position: absolute;
top: 50%;
left: 50%;
width: 80%;
height: 80%;
transform: translate(-50%, -50%);
}
.cityscape2 img {
width: 100%;
height: 100%;
}
@media screen and (max-width: 820px) {
.city_wrap2 {
width: 150%;
margin-right: auto;
margin-left: -25%;
margin-bottom: 0;
z-index: 0;
}
}
@media screen and (max-width: 767px) {
.city_wrap2 {
width: 300%;
margin-right: auto;
margin-left: -100%;
margin-bottom: 0;
z-index: 0;
}
.cityscape2 {

}
}


/* スクロール中のチラつき/合成最適化 */
.city_wrap2{ will-change: transform; }

/* 前後関係を明示（resionが必ず前面） */
.resion2{ z-index: 2; }



/* tv_4th コンテンツはセクション外へ描画させない */
/*.tv_4th{
overflow: clip;
overflow: hidden;
position: relative;
}*/

/* 念のため z-index を適正化（前面化し過ぎを抑える） */
/*.tv_4th .resion2 { z-index: 2; }
.tv_4th .city_wrap2 { z-index: 1; }*/




/*セクション03*/
.tv_5th {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
z-index: 0;
background-image: url(../parts/f_bg.svg);
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
}
.tv_5th.s_contents {
background-image: url(../parts/f_bg_sub.webp);
}
.tv_5th p.guide {
font-size: 16px;
line-height: 2em;
width: calc(100% - 290px);
margin-left: auto;
margin-right: 0px;
}
.tv_5th p.guide2 {
font-size: 16px;
line-height: 2em;
margin-left: auto;
margin-right: 0px;
}
@media screen and (max-width: 820px) {
.tv_5th p.guide {
width: 100%;
box-sizing: border-box;
padding-left: 6%;
padding-right: 6%;
}
}
@media screen and (max-width: 767px) {
.tv_5th {
padding-top: 40px;
padding-bottom: 40px;
}
.tv_5th p.guide {
font-size: 3.3vw;
width: 100%;
box-sizing: border-box;
padding-left: 6%;
padding-right: 6%;
}
.tv_5th p.guide2 {
font-size: 3.3vw;
width: 100%;
box-sizing: border-box;
padding-left: 6%;
padding-right: 6%;
}
}

/*オプション*/
.tv_5th_opt1 {
padding-top: 40px;
padding-bottom: 0px;
width: calc(100% - 230px);
margin-left: auto;
padding-left: 30px;
padding-right: 100px;
box-sizing: border-box;
}
.tv_5th_opt1 ul.in_desc {
display: grid;
gap: 0px;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
margin-bottom: 60px;
}
.tv_5th_opt1 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tv_5th_opt1 figure img {
width: 100%;
height: auto;
display: block;
}
.tv_5th_opt1 ul.in_desc li.item {
position: relative;
margin-left: 30px;
margin-right: 30px;
}
.tv_5th_opt1 ul.in_desc li.item::after {
position: absolute;
content: '';
width: 1px;
height: 80px;
background-color: #0062B2;
top: 50%;
transform: translateY(-50%);
left: -30px;
}
.tv_5th_opt1 ul.in_desc li.item:last-child ::before {
position: absolute;
content: '';
width: 1px;
height: 80px;
background-color: #0062B2;
top: 50%;
transform: translateY(-50%);
right: -30px;
}
@media screen and (max-width: 820px) {
.tv_5th_opt1 {
	width: 100%;
	padding-left: 30px;
padding-right: 30px;
}
}
@media screen and (max-width: 767px) {
.tv_5th_opt1 {
padding-top: 20px;
padding-bottom: 0px;
width: 100%;
padding-left: 0%;
padding-right: 0%;
}

.tv_5th_opt1 ul.in_desc {
gap: 20px 0px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 20px;
}
.tv_5th_opt1 ul.in_desc li.item {
margin-left: 20px;
margin-right: 20px;
}
.tv_5th_opt1 ul.in_desc li.item::after {
height: 50px;
left: -20px;
}
.tv_5th_opt1 ul.in_desc li.item:nth-child(3) ::before {
position: absolute;
content: '';
width: 1px;
height: 50px;
background-color: #0062B2;
top: 50%;
transform: translateY(-50%);
right: -20px;
}
.tv_5th_opt1 ul.in_desc li.item:last-child ::before {
height: 50px;
right: -20px;
}
}





/*オプション*/
.tv_5th_opt2 {
padding-top: 40px;
padding-bottom: 0px;
}
.tv_5th_opt2 figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.tv_5th_opt2 figure img {
width: 100%;
height: auto;
display: block;
}

.tv_5th_opt2 ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 1fr 1fr 1fr;
margin-bottom: 60px;
}

.tv_5th_opt2 ul.in_desc li.item {
position: relative;
}
@media screen and (max-width: 820px) {
.tv_5th_opt2 ul.in_desc {
gap: 20px;
}
}
@media screen and (max-width: 767px) {
.tv_5th_opt2 {
padding-top: 20px;
padding-bottom: 0px;
}
.tv_5th_opt2 ul.in_desc {
gap: 20px;
grid-template-columns: 1fr;
margin-bottom: 30px;
}
}

/* PCのみ（例：768px以上）電話リンク無効 */
@media screen and (min-width: 768px) {
.tv_5th_opt2 ul.in_desc li.phone a {
    pointer-events: none;
    cursor: default;
  }
}



/*コンタクト*/
.tv_1th_C {
position: relative;
z-index: 0;
/*padding-left: 60px;
padding-right: 60px;*/
padding-left: 30px;
padding-right: 30px;
margin-bottom: 0px;
box-sizing: border-box;
}
@media screen and (max-width: 767px) {
.tv_1th_C {
/*padding-left: 6%;
padding-right: 6%;*/
padding-left: 3%;
padding-right: 3%;
margin-bottom: 0px;
}
}



/*協賛バナー*/
.sponsor_Box {
margin-bottom: 0px;
}
@media screen and (max-width: 767px) {
.sponsor_Box {
margin-bottom: 0px;
}
}




/* フッター */
footer{
padding: 0;
margin: 0;
width: calc(100% - 230px);
margin-left: auto;
margin-right: 0px;
}
footer p.copyright {
text-align: center;
font-size: 12px;
padding-top: 10px;
color: #FFFFFF;
padding-bottom: 0px;
font-weight: 300;
}
footer a:link {
text-decoration: none!important;
}
footer a:hover,footer a:active {
text-decoration: underline!important;
}
@media screen and (max-width: 820px) {
footer{
width: calc(100% - 0px);
}
}
@media screen and (max-width: 767px) {

footer p.copyright {
font-size: 2.5vw;
padding-bottom: 100px;
}
}

/*footナビ2*/
.f_nav2 {
	margin-bottom: 0px;
	padding-top: 50px;
}	
.f_nav2 ul.in_desc {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
	padding-bottom: 40px;
	font-size: 13px;
	border-bottom: 1px solid rgba(255,255,255,0.70);
}
.f_nav2 ul.in_desc li.item {

}
.f_nav2 ul.in_desc li.item h2{
font-size: 13px;
color: #FFFFFF;
}
.f_nav2 ul.in_desc li.item h2 a{
padding-top: 2px;
padding-bottom: 2px;
display: block;
font-weight: normal;
color: #FFFFFF;
}
.f_nav2 ul.in_desc li.item p{
font-size: 11px;
line-height: 2.1em;
font-weight: 300;
}
.f_nav2 ul.in_desc li.item p.sub{
font-size: 10px;
line-height: 2.0em;
}
.f_nav2 ul.in_desc li.item p span{
font-size: 10px;
}
.f_nav2 ul.in_desc li.item p a{
display: block;
color: #FFFFFF;
}
.f_nav2 ul.in_desc li.item p a:hover,.f_nav2 ul.in_desc li.item h2 a:hover{
text-decoration: underline;
}
@media screen and (max-width: 820px) {

}
@media screen and (max-width: 767px) {
.f_nav2_Box {
display: none;
}
.f_nav2 ul.in_desc {
grid-template-columns: 1.2fr 1fr;
gap: 20px 10px;
padding-bottom: 100px;
}
.f_nav2 ul.in_desc li.item h2{
font-size: 3.6vw;
}
.f_nav2 ul.in_desc li.item p{
font-size: 2.8vw;
line-height: 2.1em;
margin-bottom: 4px;
}
.f_nav2 ul.in_desc li.item p.sub{
font-size: 2.5vw;
}
.f_nav2 ul.in_desc li.item p span{
font-size: 2.3vw;
}
}


.f_nav {
	padding-bottom: 0px;
	padding-top: 30px;
}
.f_nav.burger {
background-color: transparent;
}
.f_nav ul.in_desc {
display: grid;
gap: 30px;
grid-template-columns: 0.8fr 1.5fr 1.2fr;
padding-bottom: 50px;
align-items:flex-start;
}
.f_nav .item figure {
margin-top: 10px;
margin-right: 0px;
padding-right: 30px;
}
.f_nav .item img {
width: 100%;
height: auto;
display: block;
}
.f_nav .item.area1 {
position: relative;
}
.f_nav .item.area2 p {
	line-height: 1.8em;
	font-size: 12px;
	color: #FFFFFF;
font-weight: 300;
}

.f_nav .item.area3 {
background: #fff;
border-radius: 12px;
padding-right: 20px;
padding-left: 20px;
padding-bottom: 5px;
padding-top: 5px;
text-align: center;
}
.f_nav .public_B .in_pub {
box-sizing: border-box;
display: grid;
grid-template-columns: 1fr 1fr 1.5fr 1fr;
justify-content: center;
align-items: center;
gap: 5px;
}
.f_nav .public_B .in_pub img {
width: 100%;
height: auto;
display: block;
}
@media(max-width: 767px){
.f_nav ul.in_desc {
gap: 30px;
grid-template-columns: 1fr;
padding-bottom: 20px;
}
.f_nav .item figure {
	width: 70%;
	margin-left: 0px;
	margin-right: auto;
}
.f_nav .item.area2 p {
	text-align: left;
	font-size: 2.5vw;
}
.f_nav .item.area3 {
	width: 70%;
	margin-left: auto;
	margin-right: auto;
}
.f_nav .item.area3 p {
font-size: 2.5vw;
}
}





/*固定フッター*/
.fixnav {
display: none;
}
@media screen and (max-width: 767px) {
.fixnav {
width: calc(100% - 10px);
position: fixed;
bottom: 0px;
display: block;
z-index: 2;
margin-right: 5px;
margin-left: 5px;
}
.fixnav img {
width: 100%;
height: auto;
display: block;
}
.fixnav .nav {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 5px;
}

.fixnav .nav .item.new_m,.fixnav .nav .item.contact {
background-color: #3CB5EC;
display: block;
height: auto;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.fixnav .nav .item.login {
background: #FFE478;
background: linear-gradient(180deg, rgba(255, 228, 120, 1) 0%, rgba(235, 163, 0, 1) 100%);
border-top-right-radius: 10px;
border-top-left-radius: 10px;
display: block;
}
.fixnav .nav .item.login a {
background: #FFE478;
background: linear-gradient(180deg, rgba(255, 228, 120, 1) 0%, rgba(235, 163, 0, 1) 100%);
border-top-right-radius: 10px;
border-top-left-radius: 10px;
display: block;
padding-top: 11px;
padding-bottom: 15px;
}
.fixnav .nav .item.login2 {
background: #FFE478;
background: linear-gradient(180deg, rgba(255, 228, 120, 1) 0%, rgba(235, 163, 0, 1) 100%);
border-top-right-radius: 10px;
border-top-left-radius: 10px;
display: block;
padding-top: 10px;
padding-bottom: 5px;
}
.fixnav .nav .item.login2 p.user_n {
background: #FFFFFF;
border-radius: 5px;
font-size: 9px;
text-align: center;
width: 160px;
margin-left: auto;
margin-right: auto;
padding: 4px;
line-height: 1.5em;
}

}







/*PAGE TOP（上へ）*/
/*リンクの形状*/
#page-top a{
display: flex;
justify-content: center;
align-items: center;
background-color: #3EB8EC;
border-radius: 50%;
width: 60px;
height: 60px;
color: #fff;
text-align: center;
text-transform: uppercase;
text-decoration: none;
transition: all 0.3s;
}
#page-top a:hover{
background-color: #0366B5;
}
#page-top span{
display: inline-block;
width: 13px;
height: 13px;
border-top:1px solid #FFFFFF;
border-left: 1px solid #FFFFFF;
transform: rotate(45deg);
margin: 8px 0 0 0;
}
/*リンクを右下に固定*/
#page-top {
position: fixed;
right: 50px;
bottom: 70px;
z-index: 3;
/*はじめは非表示*/
opacity: 0;
transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
from {
opacity: 0;
transform: translateY(300px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/*　下に下がる動き　*/

#page-top.DownMove{
animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
from {
opacity: 1;
transform: translateY(0);
}
to {
opacity: 1;
transform: translateY(300px);
}
}
@media screen and (max-width: 767px) {
#page-top {
position: fixed;
right: 5%;
bottom: 15%;
display: none;
}
}


/*下層コンテンツタイトル*/
.cT {
width: 100%;
text-align: center;
position: absolute;
top: -50px;
left: 50%;
transform: translateX(-50%);
}
.cT h1 {
font-size: 30px;
margin-bottom: 0px;
line-height: 1.1em;
background-color: #FFFFFF;
border: 2px solid #0085FF;
border-top-left-radius: 20px;
display: inline-block;
padding-top: 20px;
padding-bottom: 20px;
text-align: center;
padding-left: 40px;
padding-right: 40px;
box-shadow: 4px 4px 0px #0085FF;
min-width: 300px;
}
.cT h1 span.en {
font-family: 'Josefin Sans', sans-serif;
font-optical-sizing: auto;
font-weight: 500;
font-size: 18px;
display: block;
line-height: 1.4em;
}
@media screen and (max-width: 767px) {
.cT {
width: 100%;
}
.cT h1 {
width: 84%;
font-size: 5.4vw;
padding-left: 3%;
padding-right: 3%;
}
.cT h1 span.en {
font-size: 3.8vw;
}
}



/*シングルページ　Topics*/
.s_Topics{
}
.s_Topics h1.subT{
font-size: 28px;
border-bottom: 2px solid #D7EFFF;
padding-bottom: 15px;
margin-bottom: 20px;
padding-right: 100px;
line-height: 1.6em;
}
.s_Topics .T_desc{
padding-bottom: 30px;
position: relative;
margin-top: 50px;
}
.s_Topics .T_desc p.date{
color: #777777;
}

/*xoイベント開催日時*/
.Xo_ev .s_Topics .T_desc p.date{
position: static;
right: auto;
color: #000000;
top: auto;
font-size: 16px;
padding-top: 0px;
margin-top: 10px;
}

.s_Topics p.g_btn01{
margin-left: auto;
margin-right: auto;
margin-top: 40px;
}

.s_Topics .T_desc ul.post-tags{
width: 88%;
margin-left: 0px;
margin-right: auto;
}
.s_Topics figure.mv {
flex-basis: 100%;
margin-bottom: 3em;
}
.s_Topics figure.mv img {
width: 100%;
height: auto;
display: block;
}

@media screen and (max-width: 767px) {
.s_Topics{
}
.s_Topics h1.subT{
font-size: 5.0vw;
padding-right: 0px;
}
.s_Topics .T_desc{
padding-bottom: 20px;
margin-bottom: 15px;
margin-top: 20px;
}
.s_Topics .T_desc p.date{
font-size: 3vw;
}
.s_Topics .T_desc ul.post-tags{
width: 80%;
}
.s_Topics figure.mv {
margin-bottom: 2em;
}

}





/*2カラム*/
.t_News {
display: grid;
gap: 50px;
grid-template-columns: 1fr 3.2fr;
}
.t_News .itemA {
}
.t_News .itemB {
}
/*一覧*/
.t_News.n_archive {
grid-template-columns: 1fr;
margin-top: 50px;
margin-bottom: 50px;
}

@media(max-width: 767px){
.t_News {
grid-template-columns: 1fr;
}
/*一覧*/
.t_News.n_archive {
margin-top: 30px;
margin-bottom: 30px;
}
}




/*新着投稿*/
ul.n_post {
display: flex;
flex-direction: column;
gap: 0px;
}
ul.n_post li.item {
background-color: #FFFFFF;
border-bottom: 1px solid #AAAAAA;
transition: all 0.3s;
padding-top: 10px;
padding-bottom: 10px;
}
ul.n_post li.item:first-child {
border-top: 1px solid #AAAAAA;
}
/*共通タグ表示用*/
ul.n_post li.item .post-tags {
margin-right: auto;
margin-left: 36%;
padding-bottom: 0px;
}

ul.n_post li.item .in_txt {
position: relative;
padding-top: 10px;
padding-bottom: 10px;
cursor: pointer;
}
ul.n_post li.item .in_txt .link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
}
/*ul.n_post li.item .in_txt:hover {
background-color: rgba(241,241,241,0.50);
}*/
ul.n_post li.item .in_txt:hover h3 {
text-decoration: underline;
}
ul.n_post li.item .in_txt {
display: grid;
gap: 30px;
grid-template-columns: 0.8fr 1.5fr 4.5fr;
align-items: center;
gap: 20px;
}
ul.n_post li.item h3 {
font-size: 14px;
font-weight: normal;
line-height: 1.6em;
}
ul.n_post li.item p.date {
font-size: 13px;
}
ul.n_post li.item p.cat {
font-size: 11px;
padding-top: 5px;
padding-bottom: 5px;
padding-left: 10px;
padding-right: 10px;
border: 1px solid #888888;
line-height: 1.6em;
white-space: nowrap;
text-align: center;
display: block;
transition: all 0.3s;
background-color: #FFFFFF;
}
@media(max-width: 767px){
ul.n_post {
grid-template-columns: 1fr;
margin-bottom: 25px;
}
ul.n_post li.item {
}
ul.n_post li.item .in_txt {
grid-template-columns: 1.2fr 3fr;
gap: 10px;
}
ul.n_post li.item h3 {
font-size: 3.0vw;
}
ul.n_post li.item h3 {
grid-row: 2 / 3;
grid-column: 1 / 3;
}
ul.n_post li.item p.cat a {
font-size: 2.5vw;
display: inline-block;
}
/*共通タグ表示用*/
ul.n_post li.item .post-tags {
margin-left: 0px;
}
}


/* =========================
Flowplayer：背景動画用
========================= */

#player,
#player .fp-player,
#player video,
#player .fp-engine{
width: 100%;
height: 100%;
display: block;
object-fit: cover;
}

/* 背景動画として触れないように */
#player,
#player *{
pointer-events: none;
}

/* SPだけ高さを確保（現状踏襲） */
@media (max-width: 768px){
#player{ height: 72vh; min-height: 360px; max-height: 88vh; }
}
@media (min-width: 769px){
#player{ aspect-ratio: 16 / 9; }
}




/*緊急のお知らせ*/
.U_Wrap{
	position: relative;
	_zoom: 1;
	overflow: hidden;
	padding: 0;
	margin-top: 60px;
	width: calc(100% - 230px);
	margin-left: auto;
	margin-right: 0px;
}
@media screen and (max-width: 820px) {
.U_Wrap{
width: calc(100% - 0px);
margin-left: auto;
margin-right: 0px;
}
}


/*緊急のお知らせ*/
.Urgent{
	width: 100%;
	z-index: 3;
	border: 5px solid #E40012;
	box-sizing: border-box;
	position: fixed;
	top: 0px;
	background-color: #FFFFFF;
}
.tr_update {
_zoom: 1;
overflow: hidden;
display: flex;
}
.tr_update h3 {
color: #FFFFFF;
display: flex;
align-items: center;
padding-left: 20px;
padding-right: 20px;
position: relative;
margin-right: 20px;
font-weight: normal;
background-color: #E40012;
}
.tr_update h3::after {
	content    : "";
	width: 30px;
	height: 50px;
	background-color: #E40012;
	clip-path: polygon(0 0, 0 100%, 100% 0);
	position: absolute;
	top: 0px;
	z-index: 100;
	right: -30px;
}
.tr_update ul {
list-style: none;
height: 50px;
}
.tr_update li {
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 20px;
}
.tr_update li p{
display: flex;
align-items: center;
}
.tr_update li p a {
display: block;
position: relative;
width: 100%;
color: #000000;
}
.tr_update li p a:hover, .tr_update li p a:active {
text-decoration: underline;
}

@media screen and (max-width: 820px) {
.Urgent{
	margin-top: 60px;
}
}
@media screen and (max-width: 767px) {
.tr_update h3 {
font-size: 3vw;
line-height: 2.0em;
padding-left: 10px;
padding-right: 10px;
margin-right: 10px;
}
.tr_update li p{
font-size: 3vw;
line-height: 2.5em;
}
}



