@charset "utf-8";


/*トップページ用　2カラム　コンテナー　左ナビ*/
#container_T{
/*display: flex;
justify-content: space-between;
flex-wrap: wrap;*/
}
#container_T #header.sidenav{
width: 230px;
position: fixed;
border-right: 0px solid #CCCCCC;
z-index: 4;
background: #0062B2;
background: linear-gradient(90deg, rgba(0, 98, 178, 1) 0%, rgba(0, 98, 178, 1) 20%, rgba(63, 184, 236, 1) 100%);
border-bottom-right-radius: 30px;
box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}
#container_T #header.sidenav .logo {
background-color: #FFFFFF;
}
#container_T #header.sidenav .logo h1 img {
display: block;
width: 70%;
height: auto;
margin-left: auto;
margin-right: auto;
padding-top: 20px;
margin-bottom: 10px;
padding-bottom: 20px;
}
#container_T #main-area{
/*width: calc(100% - 230px);*/
margin-left: auto;
margin-right: 0px;
}
#container_T #main-area2{
/*width: calc(100% - 230px);*/
margin-left: auto;
margin-right: 0px;
}
/*@media screen and (max-width: 1023px) {*/
@media screen and (max-width: 820px) {
#container_T{
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
#container_T #header.sidenav{
width: 100%;
height: 100px;
border-right: 0px solid #CCCCCC;
}
#container_T #header.sidenav{
display: none;
}
#container_T #main-area{
width: 100%;
margin-top: 60px;
}
#container_T #main-area2{
width: 100%;
/*margin-top: 60px;*/
}
}



#container{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#container #header.sidenav{
width: 230px;
position: fixed;
border-right: 0px solid #CCCCCC;
z-index: 4;
background: #0062B2;
background: linear-gradient(90deg, rgba(0, 98, 178, 1) 0%, rgba(0, 98, 178, 1) 20%, rgba(63, 184, 236, 1) 100%);
border-bottom-right-radius: 30px;
box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}
#container #header.sidenav .logo {
background-color: #FFFFFF;
}
#container #header.sidenav .logo h1 img {
display: block;
width: 70%;
height: auto;
margin-left: auto;
margin-right: auto;
padding-top: 20px;
margin-bottom: 10px;
padding-bottom: 20px;
}
#container #main-area{
width: calc(100% - 230px);
margin-left: auto;
margin-right: 0px;
}
/*@media screen and (max-width: 1023px) {*/
@media screen and (max-width: 820px) {
#container{
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
#container #header.sidenav{
width: 100%;
height: 100px;
border-right: 0px solid #CCCCCC;
}
#container #header.sidenav{
display: none;
}
#container #main-area{
width: 100%;
margin-top: 60px;
}
}




/*左ナビゲーション全体の設定*/
.sidenav nav ul{
list-style: none;
margin-bottom: 20px;
}

/*ナビゲーションのリンク設定*/
.sidenav nav ul li a{
/*矢印の基点にするためrelativeを指定*/
position: relative;
display: block;
text-decoration: none;
color: #FFF;
padding-top: 8px;
padding-right: 15px;
padding-left: 15px;
padding-bottom: 8px;
transition: all 0s;
line-height: 1.8em;
}

.sidenav nav ul li a:hover{
color: #000000;
background: #FFFFFF;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
margin-left: 15px;
}

.sidenav nav ul li li a{
padding-right: 15px;
padding-left: 15px;
padding-top: 8px;
padding-bottom: 8px;
}


/*==矢印の設定*/

/* 1階層リンクの右余白を縮小 */
.sidenav nav ul > li > a{
position: relative;
padding-right: 48px;
}

/* 丸ボタン */
.sidenav nav ul li.has-child > a::after{
content: "";
position: absolute;
top: 50%;
right: 12px;
width: 20px;                     /* ← 小さめの丸（元36px） */
height: 20px;
transform: translateY(-50%);
background: #fff;
border-radius: 50%;
box-shadow: 0 1px 4px rgba(0,0,0,.15);
transition: background .2s ease, box-shadow .2s ease;
z-index: 1;
}

/* 矢印（右向き） */
.sidenav nav ul li.has-child > a::before{
content: "";
position: absolute;
top: 50%;
right: 20px;                     /* 丸の中央に合わせる */
width: 4px;                      /* ← 矢印サイズ小さめ */
height: 4px;
border-top: 2px solid #3EB8EC;   /* 線も細く */
border-right: 2px solid #3EB8EC;
transform: translateY(-50%) rotate(45deg);
transition: border-color .2s ease;
z-index: 2;
}

/* ホバー／開いている状態 */
.sidenav nav ul li.has-child > a:hover::after,
.sidenav nav ul li.has-child > a:focus-visible::after,
.sidenav nav li.has-child.open > a::after{
background: #3EB8EC;
}
.sidenav nav ul li.has-child > a:hover::before,
.sidenav nav ul li.has-child > a:focus-visible::before,
.sidenav nav li.has-child.open > a::before{
border-top-color: #fff;
border-right-color: #fff;
}

/* 第2階層が開いているとき、1階層目の見た目を“ホバー状態”で固定 */
.sidenav nav li.has-child.open > a{
color: #000000;
background: #FFFFFF;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
margin-left: 15px;          /* ← 現在のホバースタイルをそのまま踏襲 */
}

/* すでに入れている丸ボタン／矢印の“開いている状態”も維持 */
.sidenav nav li.has-child.open > a::after{
background: #3EB8EC;
}
.sidenav nav li.has-child.open > a::before{
border-top-color: #fff;
border-right-color: #fff;
}



/*== 2階層目の設定 */

/* サブメニューのスタイルを調整 */
.sidenav nav li.has-child ul {
position: absolute;
visibility: hidden;
}

/*追記*/
nav {
overflow-y: visible; /* デフォルトは非スクロール */
max-height: none;
}




/* --- レイヤー（重なり順）調整 --- */
#container_T #header.sidenav { z-index: 1002; } /* メニュー本体を最前面に */


/* --- 黒フィルター --- */
.nav-overlay{
position: fixed;
inset: 0;
background: #000;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity .25s ease, visibility .25s ease;
z-index: 1000; /* メニュー本体(1002)の下、ページコンテンツの上 */
}



/* --- メニューを開いている状態の見た目（bodyにクラスを付与します） --- */
body.nav-open .nav-overlay{
opacity: .55;                 /* フィルター */
visibility: visible;
pointer-events: auto;
}
body.nav-open .nav-close{
display: block;
}




/* 初期は画面外に退避 */
.nav-close{
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden;
}

/* フライアウト内に入ったら表示＆親を relative に戻す */
.submenu-flyout .nav-close{
  position: relative;   /* ← relative にするのがポイント */
  top: auto;
  left: auto;
  display: block;
  visibility: visible;

  /* ボタンの見た目（必要ならここに集約してOK） */
  width: 26px;
  height: 26px;
  margin: 40px 15px 20px auto;
  border: 0;
  border-radius: 50%;
  background: #3EB8EC;
  cursor: pointer;
}

/* 白い矢印 */
.submenu-flyout .nav-close::before{
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}







/* レイヤー順 */
#container_T #header.sidenav { z-index: 1002; } /* 青 */
.nav-overlay { z-index: 1000; }                 /* 黒 */

/* フライアウトコンテナ（body直下） */
.submenu-flyout{
	position: fixed;
	top: 0;
	left: 230px;              /* 青メニューの幅に合わせる */
	z-index: 1001;            /* 青より下、フィルターより上 */
	pointer-events: none;     /* 中身が無い時にクリックを拾わない */
}



/* 開く（右へスライド） */
.submenu-flyout > ul.is-open{
transform: translateX(0);
}

/* 閉じるアニメ（左へ） */
.submenu-flyout > ul.is-closing{
transform: translateX(-100%);
}





/* 既存：.nav-overlay の定義はそのまま */

/* 開き始め＝可視だがクリック無効（レース防止） */
body.nav-opening .nav-overlay{
opacity: .55;
visibility: visible;
pointer-events: none;   /* ← ここがポイント */
}



/* ★左端まで白を伸ばす“袖” */
.submenu-flyout::before{
content: "";
position: absolute;
top: 0;
left: calc(var(--sideW, 230px) * -1);  /* ← 230pxぶん左へ突出 */
width:  var(--sideW, 230px);           /* ← 青の幅と同じ */
height: 100%;
background: #fff;
pointer-events: none;                  /* クリックは拾わない */
}



/* 第2階層パネル */
.submenu-flyout > ul{
position: relative;
width: 270px;
background: #fff;
border-bottom-right-radius: 30px;
transform: translateX(-100%);
transition: transform .25s ease;
will-change: transform;
pointer-events: auto;

max-height: calc(100vh - 60px);
overflow-y: auto;
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;

padding: 30px 0 20px 0;
box-sizing: border-box;
}



.submenu-flyout > ul.is-open   { transform: translateX(0); }
.submenu-flyout > ul.is-closing{ transform: translateX(-100%); }








/* 2階層目リスト */
.submenu{
  list-style: none;
  margin: 0;
  padding: 0;
}
.submenu h3{
	padding-left: 20px;
	color: #3EB8EC;
	font-weight: bold;
	font-size: 14px;
}
.submenu li a{
  position: relative;           /* 疑似要素の基準 */
  display: block;               /* クリック面を広く */
  padding: 8px 20px 8px 20px;   /* 右に丸＋矢印ぶんの余白 */
  text-decoration: none;
  color: #000;
  font-size: 13px;
}

/* 青い丸（::before） */
/*.submenu li a::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 20px;
  height: 20px;
  background: #3EB8EC;
  border-radius: 50%;
  transform: translateY(-50%);
}*/

/* 白い矢印（::after）… ::before の“上”に描画される */
/*.submenu li a::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 24px; 
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}*/

/* ホバー時：丸の色だけ濃くする（1階層目のノリに合わせる） */
.submenu li a:hover::before,
.submenu li a:focus-visible::before{
  background: #0085FF;
}

/* 行背景のホバー（任意） */
.submenu li a:hover{
  background: #f5f5f5;
}











/*side nav*/
.acce_nav {
display: grid;
gap: 10px;
grid-template-columns: 1fr 1fr;
width: 84%;
margin-left: auto;
margin-right: auto;
margin-bottom: 15px;
}
.acce_nav .item.login,.acce_nav .item.login2 {
grid-row: 1 / 2;
grid-column: 1 / 3;
}
.acce_nav .item.login a {
	background: #FFE478;
	background: linear-gradient(180deg, rgba(255, 228, 120, 1) 0%, rgba(235, 163, 0, 1) 100%);
	border-radius: 10px;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
}
.acce_nav .item.login2 {
	background: #FFE478;
	background: linear-gradient(180deg, rgba(255, 228, 120, 1) 0%, rgba(235, 163, 0, 1) 100%);
	border-radius: 10px;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
}
.acce_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;
	margin-bottom: 4px;
	padding: 4px;
	line-height: 1.5em;
}
/*.acce_nav .item.area1 a {
	background-color: #0085FF;
	border-top-left-radius: 10px;
	border-bottom-right-radius: 10px;
	display: block;
}
.acce_nav .item.area2 a {
background-color: #FFFFFF;
border-top-left-radius: 10px;
padding-right: 10px;
padding-left: 10px;
padding-bottom: 5px;
border-bottom-right-radius: 10px;
border: 2px solid #0085FF;
display: block;
padding-top: 5px;
}*/
.acce_nav .item img {
width: 100%;
height: auto;
display: block;
}
/*@media screen and (max-width: 1023px) {*/
@media screen and (max-width: 820px) {
.acce_nav {
gap: 0px;
width: 120px;
margin-left: auto;
margin-right: 60px;
margin-bottom: 0px;
}
.acce_nav .item.area1 a {
border-top-left-radius: 0px;
padding: 7px;
border-bottom-right-radius: 0px;
}
.acce_nav .item.area2 a {
border-top-left-radius: 0px;
padding: 7px;
border-bottom-right-radius: 0px;
border: 2px solid #0085FF;
}
}




/*SNS*/
.snsG {
margin-bottom: 0px;
width: 85%;
margin-left: auto;
margin-right: auto;
}
.sns_nav {
width: 100%;
margin-left: auto;
margin-right: auto;
display: grid;
gap: 10px;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
padding-top: 15px;
padding-bottom: 15px;
}
/*SNS　バーガー*/
.snsG.in_B {
	margin-bottom: 50px;
	width: 85%;
	margin-top: 0px;
}
.snsG.in_B .sns_nav {
gap: 15px;
}
@media screen and (max-width: 820px) {
.snsG.in_B {
	margin-bottom: 50px;
	width: 40%;
	margin-top: 30px;
}
}
@media screen and (max-width: 767px) {
.snsG.in_B {
	margin-bottom: 0px;
	width: 75%;
	margin-top: 0px;
}
}


.sns_nav figure {
width: 100%;
margin-left: auto;
margin-right: auto;
}
.sns_nav figure img {
width: 100%;
height: auto;
display: block;
}
.sns_nav ul.in_desc li.item {
padding: 0px;
position: relative;
}
@media screen and (max-width: 767px) {
.sns_nav {
padding-top: 40px;
padding-bottom: 40px;
}
.sns_nav ul.in_desc {
gap: 20px;
}
}




/*SNS nav*/
.flex_sns {
display: flex;
justify-content: center;
gap: 10px;
}
.flex_sns .item {
}
.flex_sns .item img {
width: 30px;
height: auto;
}
@media screen and (max-width: 767px) {
.flex_sns {
width: 80%;
margin-left: auto;
margin-right: auto;
gap: 15px;
}
.flex_sns .item {
/*width: 25%;*/
}
.flex_sns .item img {
width: 100%;
height: auto;
display: block;
}
}






/*検索窓　グローバル左カラムナビ内*/
.search_nv{
	box-sizing: border-box;
	position: relative;
	border: 1px solid #FFFFFF;
	display: block;
	padding-right: 25px;
	border-radius: 8px;
	height: 40px;
	overflow: hidden;
	padding-left: 10px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	background-color: transparent;
}
.search_nv form{
width: 100%;
padding: 0;
margin: 0;
}
.search_nv input[type="text"]{
	width: 90%!important;
	border: none;
	height: 1.8em;
	font-size: 12px;
	display: block;
	padding-top: 5%;
	padding-bottom: 2%;
	background-color: transparent;
	color: #FFFFFF;
}
.search_nv input[type="text"]:focus {
outline: 0;
}
.search_nv input[type="submit"]{
	cursor: pointer;
	font-size: 1.3em;
	border-left-style: none;
	border-left-width: 1px;
	border-right: none;
	border-bottom: none;
	border-top: none;
	background-repeat: no-repeat;
	background-position: 50% center;
	background-image: url("../parts/icon_search_w.svg");
	background-size: 25px 25px;
	position: absolute;
	width: 3em;
	height: 3em;
	right: 0;
	top: -8px;
	outline : none;
	background-color: transparent;
}
.search_nv input[type="text"]::placeholder {
  color: #FFFFFF; /* プレースホルダー文字色 */
  opacity: 1;     /* Safari対応：透明度をリセット */
}
@media screen and (max-width: 820px) {
.search_nv{
width: 60%;
margin-left: auto;
margin-right: auto;
margin-bottom: 50px;
}
.search_nv input[type="text"]{
	padding-top: 2%;
}
.search_nv input[type="submit"]{
	top: -5px;
}
}
@media screen and (max-width: 767px) {
.search_nv{
width: 80%;
}
.search_nv input[type="text"]{
	padding-top: 3%;
}
.search_nv input[type="submit"]{
	top: -4px;
}
}


/* ==========================================
   FAQページ専用 検索窓（入力＋検索ボタン）
========================================== */

.search_faq{
	display: flex;
	justify-content: flex-end;
	margin-right: 3%;
}

.search_faq form{
/*  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0;*/
}

/* テキスト入力 */
.search_faq input[type="text"]{
  flex: 1;
  height: 36px;
  padding: 0 14px;
  font-size: 12px;
  color: #333;
  background: #fff;

  border: 1px solid #bdbdbd;
  border-radius: 4px;
  box-sizing: border-box;
}

.search_faq input[type="text"]::placeholder{
  color: #999;
  opacity: 1;
}

.search_faq input[type="text"]:focus{
  outline: none;
}

/* 検索ボタン（文字のみ） */
.search_faq input[type="submit"]{
  width: 80px;
  height: 36px;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #000;
  background: #f3f3f3;
  border: 2px solid #7a7a7a;
  border-radius: 6px;
  cursor: pointer;
}

@media screen and (max-width: 767px){
.search_faq{
	margin-left: 5%;
	margin-right: 5%;
	margin-top: 20px;
}
.search_faq form{
display: flex;
align-items: center;
gap: 5px;
width: 100%;
margin: 0;
padding: 0;
}
}



/*BG　右寄せ*/
.Right_align {
padding-top: 30px;
padding-bottom: 30px;
width: calc(100% - 230px);
margin-right: 0px;
margin-left: auto;
margin-top: 50px;
position: relative;
margin-bottom: 50px;
border-top-left-radius: 100px;
}
/*BG　右寄せ　左スペースなし*/
.Right_align.noL {
width: calc(100% - 0px);
}

.Right_align.bgC01{
background-color: #CDECFA;
}
.Right_align.bgC02{
background-color: #DCE8F5;
}
.Right_align.bgC03{
background-color: #D7F3F5;
}
.Right_align.bgC04{
background-color: #FFFFFF;
}
/*BG　TV*/
.Right_align.bgC05{
background-color: #FFE8EB;
}
/*BG　インターネット*/
.Right_align.bgC06{
background-color: #DDF3FF;
}
/*BG　固定電話*/
.Right_align.bgC07{
background-color: #E6F8F4;
}
/*BG　モバイル*/
.Right_align.bgC08{
background-color: #D9EDF4;
}
/*BG　キャンペーン*/
.Right_align.bgC09{
background-color: #EBF9FC;
}
.Right_align.SubP {
padding-top: 70px;
margin-top: 70px;
}
@media screen and (max-width: 820px) {
.Right_align {
padding-top: 20px;
padding-bottom: 20px;
width: 100%;
margin-top: 30px;
border-top-left-radius: 70px;
/*width: calc(100% - 0px);*/
}

/*BG　右寄せ　左スペースなし*/
.Right_align.noL {
	margin-top: 60px;
	margin-bottom: 30px;
}

.Right_align2 {
	padding-top: 30px;
	padding-bottom: 20px;
	width: 100%;
}
/*お問い合わせ*/
.Right_align.bgC04 {
	width: 95%;
	margin-right: 0px;
	margin-left: auto;
}
}


/*BG　左寄せ*/
.Left_align {
padding-top: 30px;
padding-bottom: 30px;
width: 100%;
margin-right: auto;
margin-left: 0px;
margin-top: 50px;
position: relative;
margin-bottom: 50px;
border-top-right-radius: 100px;
}
/*BG　右寄せ　角丸なし　トップサービスエリア2*/
.Left_sv2 {
	padding-top: 50px;
	padding-bottom: 30px;
	/*width: calc(100% - 230px);*/
	width: 100%;
	margin-right: 0px;
	margin-left: auto;
	margin-top: 0px;
	position: relative;
	margin-bottom: 50px;
	background-color: #F0F5FB;
}

.Left_align.bgC01{
background-color: #CDECFA;
}
.Left_align.bgC02{
background-color: #DCE8F5;
}
.Left_align.bgC03{
background-color: #D7F3F5;
}
/*サポートカテゴリー*/
.Left_align.bgC04{
background-color: #E6F3F8;
}
/*BG　TV*/
.Left_align.bgC05{
background-color: #FFE8EB;
}
/*BG　インターネット*/
.Left_align.bgC06{
background-color: #DDF3FF;
}
/*BG　固定電話*/
.Left_align.bgC07{
background-color: #E6F8F4;
}
/*BG　モバイル*/
.Left_align.bgC08{
background-color: #D9EDF4;
}
/*BG　サービストップ*/
.Left_align.bgC09{
background-color: #dce8f5;
}
@media screen and (max-width: 767px) {
.Left_align {
padding-top: 20px;
padding-bottom: 20px;
margin-top: 30px;
border-top-right-radius: 70px;
}
}



/*BG白　左寄せ　90%*/
.Left_align2 {
	padding-top: 30px;
	padding-bottom: 30px;
	width: 95%;
	margin-right: auto;
	margin-left: 0px;
	margin-top: 50px;
	position: relative;
	margin-bottom: 100px;
	border-top-right-radius: 100px;
	background-color: #FFFFFF;
}
@media screen and (max-width: 767px) {
.Left_align2 {
padding-top: 20px;
padding-bottom: 20px;
margin-top: 30px;
border-top-right-radius: 70px;
margin-bottom: 70px;
}
}



/*BG　中央寄せ*/
.Center_align {
	padding-top: 30px;
	padding-bottom: 30px;
	width: 100%;
	margin-right: auto;
	margin-left: 0px;
	position: relative;
	border-top-right-radius: 100px;
	border-top-left-radius: 100px;
}
.Center_align.bgC01{
background-color: #EDEDED;
}
@media screen and (max-width: 767px) {
.Center_align {
	padding-top: 20px;
	padding-bottom: 20px;
	border-top-right-radius: 70px;
	border-top-left-radius: 70px;
}
}


/*BG　中央寄せ　上下アール*/
.Center_align2 {
	padding-top: 30px;
	padding-bottom: 30px;
	width: 100%;
	margin-right: auto;
	margin-left: 0px;
	position: relative;
	border-radius: 100px;
}
.Center_align2.bgC01{
background-color: #EDEDED;
}
@media screen and (max-width: 767px) {
.Center_align2 {
	padding-top: 20px;
	padding-bottom: 20px;
	border-radius: 60px 60px 10px 10px;
}
}



/*アジャスト　トップ*/
.adjust01{
margin-top: 80px!important;
}
@media screen and (max-width: 767px) {
.adjust01 {
margin-top: 50px!important;
}
}


/*フォントカラーonly*/
.fc_tv{
	color: #FF6478!important;
}
.fc_inet{
	color: #1EAFFF!important;
}
.fc_tel{
	color: #5ACDB4!important;
}
.fc_mobile{
	color: #0087B4!important;
}
.fc_e_suma1{
	color: #49B4FE!important;
}
.fc_e_suma2{
	color: #64C897!important;
}
.fc_e_suma3{
	color: #FD9646!important;
}

/*トップ H2*/
h2.top_g01{
font-weight: 500;
font-size: 22px;
line-height: 1em;
margin-bottom: 30px;
transform: translateY(-30px);
width: calc(100% - 290px);
margin-left: auto;
margin-right: 0px;
}
h2.top_g01 span{
font-family: "Josefin Sans", sans-serif;
font-style: italic;
font-optical-sizing: auto;
font-weight: 700;
font-size: 100px;
display: block;
color: rgba(60,181,236,0.50);
margin-bottom: 30px;
padding-left: 0px;
margin-left: -5px;
}
h2.top_g01 em.denki_p{
	font-size: 12px;
	display: block;
	font-style: normal;
	color: #000000;
	border-radius: 50px;
	background-color: #FAC900;
	margin-top: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
	width: 250px;
	margin-left: auto;
	margin-right: auto;
}
h2.top_g01 em{
	font-size: 14px;
	font-style: normal;
}
h2.top_g01 span.t_type2{
	color: rgba(0,98,178,0.50);
}
/*サポートカテゴリー*/
h2.top_g01 span.t_type3{
	color: rgba(0,135,180,0.50);
}
/*FAQ*/
h2.top_g01 span.t_type4{
	color: rgba(35,24,21,0.50);
}
/*サービス　TV*/
h2.top_g01 span.t_type5{
	color: rgba(255,100,120,0.50);
}
/*サービス　インターネット*/
h2.top_g01 span.t_type6{
	color: rgba(30,175,255,0.50);
}
/*サービス　固定電話*/
h2.top_g01 span.t_type7{
	color: rgba(90,205,180,0.50);
}
/*サービス　モバイル*/
h2.top_g01 span.t_type8{
	color: rgba(0,135,180,0.50);
}
h2.top_g01 em.type8{
	color: #0087B4;
}
/*サービス　安心パック*/
h2.top_g01 em.type9{
	color: #FA8296;
}
/*サービス　サポート*/
h2.top_g01 .t_type9{
	color: rgba(0,111,222,0.50);
}
/*サービス　OTOKU*/
h2.top_g01 .t_type10{
	color: rgba(155,7,7,0.50);
}
/*サービス　でんき*/
h2.top_g01 .t_type11{
	color: rgba(250,201,0,0.50);
}
/*サービス　キャンペーン*/
h2.top_g01 .t_type12{
	color: rgba(50,193,227,0.50);
}
/*シミュレーション*/
h2.top_g01 .t_type13{
	color: rgba(255,150,0,0.50);
}

/*特に見られている質問　カテゴリー*/
h2.top_g01 span.cat{
	border-radius: 50px;
	font-size: 13px;
	background-color: #0062B2;
	width: 240px;
	display: block;
	padding-top: 5px;
	margin-left: auto;
	margin-right: auto;
	color: #FFFFFF;
	font-style: normal;
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
.tS_3th h2.top_g01{
	margin-bottom: 0px!important;
	padding-bottom: 0px!important;
}
.tS_3th .adn-area{
margin-top: 0px;
}
h2.top_g01 span.cat{
	font-size: 2.5vw;
	width: 180px;
	padding-top: 5px;
	margin-top: 10px;
}
}

/*右寄せ*/
h2.top_g01.to_right{
	text-align: right;
	margin-right: 3%;
}

/*下層 H2*/
h2.top_g01.under{
width: calc(100% - 40px);
}
h2.top_g01.under_C{
	width: 100%;
	text-align: center;
}
@media screen and (max-width: 820px) {
h2.top_g01{
font-size: 20px;
width: calc(100% - 6%);
}
h2.top_g01 span{
font-size: 80px;
}
/*下層 H2*/
h2.top_g01.under{
width: calc(100% - 6%);
}
}

@media screen and (max-width: 767px) {
h2.top_g01{
font-size: 3.8vw;
margin-bottom: 20px;
transform: translateY(-20px);
width: calc(100% - 6%);
}
h2.top_g01 span{
font-size: 65px;
margin-bottom: 20px;
}
h2.top_g01 em{
font-size: 3.3vw;
	display: block;
	margin-top: 8px;
}
/*右寄せ*/
h2.top_g01.to_right{
	margin-right: 6%;
}

h2.top_g01 em.denki_p{
	font-size: 2.5vw;
	padding-left: 0px;
	padding-right: 0px;
	width: 85%;
}

}

/*お知らせ*/
h1.sub_pp01{
font-size: 20px;
margin-bottom: 45px;
font-weight: bold;
border-left: 4px solid #FF6478;
padding-left: 10px;
position: relative;
}

/*エリア検索*/
h1.sub_pp01.bdr_area{
border-left: 4px solid #6E64C8;
}
/*インターネットカラー*/
h1.sub_pp01.bdr_net{
border-left: 4px solid #1EAFFF;
}
/*モバイルカラー*/
h1.sub_pp01.bdr_mobile{
border-left: 4px solid #0087B4;
}
/*固定電話カラー*/
h1.sub_pp01.bdr_tel{
border-left: 4px solid #5ACDB4;
}
/*お知らせカラー*/
h1.sub_pp01.bdr_news{
border-left: 4px solid #00B4C3;
}
/*障害情報カラー*/
h1.sub_pp01.bdr_trouble{
border-left: 4px solid #8764D2;
}
/*メンテナンスカラー*/
h1.sub_pp01.bdr_maint{
border-left: 4px solid #55C6E5;
}
/*でんきスカラー*/
h1.sub_pp01.bdr_denki{
border-left: 4px solid #FAC900;
}
h1.sub_pp01.bdr_denki strong{
	color: #FAC900;
	margin-right: 10px;
}
/*eてれびstickスカラー*/
h1.sub_pp01.bdr_stick{
border-left: 4px solid #4B8CE6;
}
/*広告一覧カラー*/
h1.sub_pp01.bdr_adv{
border-left: 4px solid #0062B2;
}
/*見逃し配信カラー*/
h1.sub_pp01.bdr_mi{
border-left: 4px solid #2EA5B4;
}
/*OTOKUカラー*/
h1.sub_pp01.bdr_otoku{
border-left: 4px solid #9b0707;
}


h1.sub_pp01 span{
	font-size: 14px;
	color: #FF6478;
}
h1.sub_pp01::after {
position: absolute;
bottom: -15px;
content: '';
width: 100%;
height: 1px;
background-color: #CCCCCC;
left: 50%;
transform: translateX(-50%);
}

h1.sub_pp01 em{
	font-size: 12px;
	display: block;
	font-style: normal;
	line-height: 1.8em;
}
@media screen and (max-width: 767px) {
h1.sub_pp01{
font-size: 4.8vw;
margin-bottom: 35px;
}

h1.sub_pp01.bdr_denki strong{
	display: block;
}
}


/*下層H2タイトル*/
/*02サービス　TVカラー*/
h2.sub_pp01{
font-size: 20px;
margin-bottom: 45px;
font-weight: bold;
border-left: 4px solid #FF6478;
padding-left: 10px;
position: relative;
}

/*エリア検索*/
h2.sub_pp01.bdr_area{
border-left: 4px solid #6E64C8;
}
/*インターネットカラー*/
h2.sub_pp01.bdr_net{
border-left: 4px solid #1EAFFF;
}
/*モバイルカラー*/
h2.sub_pp01.bdr_mobile{
border-left: 4px solid #0087B4;
}
/*固定電話カラー*/
h2.sub_pp01.bdr_tel{
border-left: 4px solid #5ACDB4;
}
/*お知らせカラー*/
h2.sub_pp01.bdr_news{
border-left: 4px solid #00B4C3;
}
/*障害情報カラー*/
h2.sub_pp01.bdr_trouble{
border-left: 4px solid #8764D2;
}
/*メンテナンスカラー*/
h2.sub_pp01.bdr_maint{
border-left: 4px solid #55C6E5;
}
/*でんきスカラー*/
h2.sub_pp01.bdr_denki{
border-left: 4px solid #FAC900;
}
h2.sub_pp01.bdr_denki strong{
	color: #FAC900;
	margin-right: 10px;
}
/*eてれびstickスカラー*/
h2.sub_pp01.bdr_stick{
border-left: 4px solid #4B8CE6;
}
/*広告一覧カラー*/
h2.sub_pp01.bdr_adv{
border-left: 4px solid #0062B2;
}
/*見逃し配信カラー*/
h2.sub_pp01.bdr_mi{
border-left: 4px solid #2EA5B4;
}
/*OTOKUカラー*/
h2.sub_pp01.bdr_otoku{
border-left: 4px solid #9b0707;
}


h2.sub_pp01 span{
	font-size: 14px;
	color: #FF6478;
}
h2.sub_pp01::after {
position: absolute;
bottom: -15px;
content: '';
width: 100%;
height: 1px;
background-color: #CCCCCC;
left: 50%;
transform: translateX(-50%);
}

h2.sub_pp01 em{
	font-size: 12px;
	display: block;
	font-style: normal;
	line-height: 1.8em;
}
@media screen and (max-width: 767px) {
h2.sub_pp01{
font-size: 4.8vw;
margin-bottom: 35px;
}

h2.sub_pp01.bdr_denki strong{
	display: block;
}
}


/*下層H2タイトル*/
h2.sub_pp{
line-height: 1.8em;
border-bottom: 1px solid #0085FF;
margin-bottom: 30px;
font-size: 24px;
}
h2.sub_pp strong {
position: relative;
display: inline-block;
padding-bottom: 10px;
font-weight: 500;
}
h2.sub_pp strong::after {
content: "";
display: block;
width: 100%;
height: 3px;
background-color: #0085FF;
position: absolute;
bottom: 0px;
}
@media screen and (max-width: 767px) {
h2.sub_pp{
font-size: 5.3vw;
margin-bottom: 20px;
}

}

/*下層H3タイトル*/
h3.sub_pp{
line-height: 1.8em;
margin-bottom: 30px;
font-size: 20px;
color: #0085FF;
background-color: rgba(215,239,255,0.60);
font-weight: 500;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 30px;
padding-right: 10px;
}
@media screen and (max-width: 767px) {
h3.sub_pp{
font-size: 4.4vw;
margin-bottom: 15px;
}

}





/*左右中央配置 general*/
.g-wrap_C {
	display: flex;
	justify-content: center;
	/*align-items: center;*/
}
.g-wrap_R,.g-wrap_RC {
display: flex;
justify-content: flex-end;
}
.g-wrap_L,.g-wrap_LC {
display: flex;
justify-content: flex-start;
}

@media screen and (max-width: 767px) {
.g-wrap_RC,.g-wrap_LC {
justify-content: center;
align-items: center;
}
}



/*general　ボタン*/
p.g_btn01 {
/*width: 250px;*/
min-width: 300px;
}
p.g_btn01 a{
padding-top: 10px;
padding-bottom: 10px;
margin-right: auto;
margin-left: auto;
width: 100%;
text-align: center;
margin-bottom: 0px;
display: block;
border-radius: 50px;
transition: all 0.3s;
line-height: 1.5em;
background: #0062B2;
background: linear-gradient(90deg, rgba(0, 98, 178, 1) 0%, rgba(0, 98, 178, 1) 20%, rgba(63, 184, 236, 1) 100%);
color: #FFFFFF;
font-size: 13px;
position: relative;
}
p.g_btn01.sky a{
background-image: linear-gradient(90deg, #00beff, #93e3ff);
}
p.g_btn01.present a{
	background-image: linear-gradient(90deg, #00bebb, #95e1e1);
}
p.g_btn01.present span{
	font-size: 10px;
	border-radius: 20px;
	background-color: #FFFFFF;
	color: #00BEBB;
	padding-left: 7px;
	padding-right: 7px;
	position: absolute;
	left: 10px;
}
/*arrow*/
p.g_btn01 a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 30px;
width: 8px;
height: 8px;
margin: -4px 0 0 0;
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
p.g_btn01 a:hover::after {
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
right: 25px;
}
p.g_btn01 a:hover{
	text-decoration: none;
}

@media(max-width: 820px){
p.g_btn01 a{
font-size: 12px;
}
}
@media(max-width: 767px){
p.g_btn01 {
/*max-width: initial;*/
margin-right: auto;
margin-left: auto;
/*width: 80%;*/
}
p.g_btn01 a{
font-size: 3.0vw;
}
}


/*general　ボタン　青ライン　bg白　矢印*/
p.g_btn02 {
min-width: 300px;
}
p.g_btn02 a{
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	/*width: 100%;*/
	text-align: center;
	margin-bottom: 0px;
	display: block;
	border-radius: 50px;
	transition: all 0.3s;
	line-height: 1.5em;
	background: #FFFFFF;
	color: #0062B2;
	font-size: 13px;
	position: relative;
	padding-left: 40px;
	padding-right: 50px;
	border: 1px solid #0062B2;
}
/*arrow*/
p.g_btn02 a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 25px;
width: 7px;
height: 7px;
margin: -4px 0 0 0;
border-top: solid 1px #0062B2;
border-right: solid 1px #0062B2;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
p.g_btn02 a:hover::after {
/*border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;*/
right: 20px;
}
p.g_btn02 a:hover{
	text-decoration: none;
}
p.g_btn02.sim a::after {
	display: none;
}


/*bg　固定電話*/
p.g_btn02.bbg_tel a{
	border: 1px solid #5ACDB4;
	color: #5ACDB4;
}
p.g_btn02.bbg_tel a::after {
border-top: solid 1px #5ACDB4;
border-right: solid 1px #5ACDB4;
}

@media(max-width: 820px){
p.g_btn02 a{
font-size: 12px;
}
}
@media(max-width: 767px){
p.g_btn02 {
/*min-width: initial;*/
margin-right: auto;
margin-left: auto;
/*width: 100%;*/
}
p.g_btn02.sim {
min-width: initial;
width: 90%;
}

p.g_btn02 a{
	font-size: 2.8vw;
	padding-left: 10px;
	padding-right: 20px;
	box-sizing: border-box;
}
p.g_btn02 a::after {
right: 15px;
width: 5px;
height: 5px;
}
p.g_btn02 a:hover::after {
right: 15px;
}
}



/*general　ボタン　青ライン　bg白　独自アイコン付き*/
p.g_btn03 {
min-width: 300px;
}
p.g_btn03 a{
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	/*width: 100%;*/
	text-align: center;
	margin-bottom: 0px;
	display: block;
	border-radius: 50px;
	transition: all 0.3s;
	line-height: 1.5em;
	background: #FFFFFF;
	color: #0062B2;
	font-size: 13px;
	position: relative;
	padding-left: 30px;
	padding-right: 40px;
	border: 1px solid #0062B2;
}
/*料金シミュレーション*/
.simu_dl p.g_btn03 {
min-width: initial;
}
.simu_dl p.g_btn03 a {
	background: #0062B2;
	color: #FFFFFF;
}

/*bg　固定電話*/
p.g_btn03.b_tel a{
	color: #5ACDB4;
	border: 1px solid #5ACDB4;
}
/*bg　スマホ*/
p.g_btn03.b_mobile a{
	color: #0087B4;
	border: 1px solid #0087B4;
}
/*bg　スマホ*/
p.g_btn03.b_denki a{
	color: #000000;
	border: 1px solid #FAC900;
}

p.g_btn03 i{
width: 12px;
height: auto;
display: block;
position: absolute;
right: 25px;
top: 50%;
transform: translateY(-50%);
transition: all 0.3s;
}
p.g_btn03 a:hover{
z-index: 0;
text-decoration: none;
}
p.g_btn03 a:hover i{
right: 20px;
}
@media(max-width: 767px){
p.g_btn03 {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 100%;
}
p.g_btn03 a{
	font-size: 2.8vw;
	padding-left: 10px;
	padding-right: 20px;
	box-sizing: border-box;
}

/*料金シミュレーション*/
.simu_dl p.g_btn03 {
width: 90%;
}
}




/*general　ボタン　bg青　矢印*/
p.g_btn02b {
min-width: 300px;
}
p.g_btn02b a{
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	/*width: 100%;*/
	text-align: center;
	margin-bottom: 0px;
	display: block;
	border-radius: 50px;
	transition: all 0.3s;
	line-height: 1.5em;
	background: #006fde;
	color: #FFFFFF;
	font-size: 13px;
	position: relative;
	padding-left: 40px;
	padding-right: 50px;
}

/*料金シミュレーション*/
.simu_dl p.g_btn02b {
	min-width: initial;
}
/*bg　TV*/
p.g_btn02b.bbg_tv a{
	background: #ff6478;
}
/*bg　インターネット*/
p.g_btn02b.bbg_i a{
	background: #1EAFFF;
}
/*bg　モバイル*/
p.g_btn02b.bbg_m a{
	background: #0087B4;
}
/*bg　固定電話*/
p.g_btn02b.bbg_tel a{
	background: #5ACDB4;
}

/*bg　eスマホ*/
p.g_btn02b.bbg_e a{
	background: #49B4FE;
}
/*bg　eスマホ　パンフ*/
p.g_btn02b.bbg_book a{
	background: #fff650;
	color: #000000;
}
p.g_btn02b.bbg_book a::after {
border-top: solid 1px #000000;
border-right: solid 1px #000000;
}
/*bg　eスマホ　データプラン*/
p.g_btn02b.bbg_data a{
	background: #64c897;
}
/*bg　eスマホ　シェアプラン*/
p.g_btn02b.bbg_share a{
	background: #FD9646;
}

/*bg　障害*/
p.g_btn02b.bbg_trouble a{
	background: #8764d2;
}
/*bg　メンテ*/
p.g_btn02b.bbg_mente a{
	background: #55c6e5;
}
/*bg　お知らせ一覧*/
p.g_btn02b.bbg_news a{
	background: #00B4C3;
}
/*bg　フォーム内ボタン*/
p.g_btn02b.bbg_form a{
	background: #0062B2;
}
/*bg　オトク*/
p.g_btn02b.bbg_otoku a{
	background: #9B0707;
		padding-top: 13px;
	padding-bottom: 13px;
	font-size: 14px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}
/*bg　イチオシ*/
p.g_btn02b.bbg_oshi a{
	background: #FFFFFF;
	color: #FF6478;
	border: 1px solid #FF6478;
	box-shadow: 0 3px 6px rgba(0,0,0,0.15);
}
p.g_btn02b.bbg_oshi a::after {
border-top: solid 1px #FF6478;
border-right: solid 1px #FF6478;
}


/*arrow*/
p.g_btn02b a::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 25px;
width: 7px;
height: 7px;
margin: -4px 0 0 0;
border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transition: all 0.3s;
}
p.g_btn02b a:hover::after {
/*border-top: solid 1px #FFFFFF;
border-right: solid 1px #FFFFFF;*/
right: 20px;
}
p.g_btn02b a:hover{
	text-decoration: none;
}

@media(max-width: 820px){
p.g_btn02b a{
font-size: 12px;
}
}
@media(max-width: 767px){
p.g_btn02b {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 90%;
}
p.g_btn02b a{
	font-size: 2.8vw;
	padding-left: 10px;
	padding-right: 20px;
	box-sizing: border-box;
}
p.g_btn02b a::after {
right: 15px;
width: 5px;
height: 5px;
}
p.g_btn02b a:hover::after {
right: 15px;
}

/*bg　オトク*/
p.g_btn02b.bbg_otoku{
width:100%;
}
p.g_btn02b.bbg_otoku a{
font-size: 3.3vw;
}

/*bg　フォーム内ボタン*/
p.g_btn02b.bbg_form{
width: 100%;
}

}



/*general　ボタン　bg青　矢印なし*/
p.g_btn02b_n {
min-width: 300px;
}
p.g_btn02b_n a{
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	margin-bottom: 0px;
	display: block;
	border-radius: 50px;
	transition: all 0.3s;
	line-height: 1.5em;
	background: #4B8CE6;
	color: #FFFFFF;
	font-size: 13px;
	position: relative;
	padding-left: 40px;
	padding-right: 40px;
}
p.g_btn02b_n a:hover{
	text-decoration: none;
}
/*bg　収録予定*/
p.g_btn02b_n.bbg01 a{
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}
p.g_btn02b_n.bbg01 a::after {
	display: none;
}
@media(max-width: 767px){
p.g_btn02b_n {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 90%;
}
p.g_btn02b_n a{
	font-size: 2.8vw;
	padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;
}
}



/*ボタン アイコン*/
p.btn_iFree{
min-width: 350px;
}
p.btn_iFree a{
	border-radius: 50px;
	border: 1px solid #FF6478;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	position: relative;
	display: block;
	margin-bottom: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 14px;
	font-weight: 400;
	background-color: #FFFFFF;
	padding-left: 40px;
	padding-right: 40px;
	line-height: 1.5em;
}
p.btn_iFree i{
width: 15px;
height: auto;
display: block;
position: absolute;
right: 25px;
top: 50%;
transform: translateY(-50%);
transition: all 0.3s;
}
p.btn_iFree a:hover{
z-index: 0;
text-decoration: none;
}
p.btn_iFree a:hover i{
right: 20px;
}
@media screen and (max-width: 767px) {
p.btn_iFree {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 90%;
}
p.btn_iFree a{
font-size: 3vw;
}
}


/*ボタン 番組表*/
p.btn_pgm{
width: 100%;
/*min-width: 200px;*/
}
p.btn_pgm a{
	border-radius: 50px;
	border: 1px solid #FF6478;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	position: relative;
	display: block;
	margin-bottom: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 12px;
	font-weight: 400;
	background-color: #FFFFFF;
	padding-left: 15px;
	padding-right: 30px;
	line-height: 1.5em;
	color: #FF6478;
}
p.btn_pgm i{
	width: 15px;
	height: auto;
	display: block;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s;
}
p.btn_pgm a:hover{
z-index: 0;
text-decoration: none;
}
p.btn_pgm a:hover i{
right: 10px;
}
@media screen and (max-width: 767px) {
/*p.btn_pgm {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 90%;
}
p.btn_pgm a{
font-size: 3vw;
}*/
p.btn_pgm {
min-width: initial;
margin-right: auto;
margin-left: auto;
width: 100%;
}
p.btn_pgm a{
	padding-top: 5px;
	padding-bottom: 5px;
font-size: 3vw;
}
}



/*サービス約款ボタン*/
.b_yakkan {
	display: inline-block;
	margin-bottom: 100px;
}
.b_yakkan a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	position: relative;
	text-decoration: none;
	color: #000;
	padding-right: 40px; /* 矢印分のスペース */
	font-size: 14px;
}

/* 丸い背景 */
.b_yakkan a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 26px;
  height: 26px;
  background-color: #f46f7a;
  border-radius: 50%;
  transform: translateY(-50%);
}
/* 白い矢印（前面に表示） */
.b_yakkan a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  z-index: 1; /* ← 丸の上にくるように */
}
/* インターネット */
.b_yakkan.inet a::before {
  background-color: #1EAFFF;
}
/* 固定電話 */
.b_yakkan.phone a::before {
  background-color: #5ACDB4;
}
/* カメラ */
.b_yakkan.camera a::before {
  background-color: #1EAFFF;
}
/* スマホ */
.b_yakkan.mobile a::before {
  background-color: #0087B4;
}
/* でんき */
.b_yakkan.denki a::before {
  background-color: #1EAFFF;
}

@media(max-width: 767px){
.b_yakkan {
	margin-bottom: 70px;
}
.b_yakkan a {
font-size: 3.3vw;
}
}





/*フリーワード検索用タイトル*/
h1.free_S{
color: #444444;
font-size: 25px;
font-weight: bold;
text-align: center;
position: relative;
margin-bottom: 30px;
line-height: 1em;
letter-spacing: 0.1em;
}
h1.free_S span{
font-size: 40px;
}
h1.free_S em{
font-size: 16px;
display: block;
color: #595757;
font-weight: normal;
letter-spacing: 0.3em;
margin-top: 5px;
font-style: normal;
}
@media screen and (max-width: 767px) {
h1.free_S{
line-height: 1.3em;
margin-bottom: 20px;
padding-top: 5%;
font-size: 4.8vw;
}
h1.free_S span{
font-size: 8.2vw;
}
h1.free_S em{
font-size: 3.5vw;
margin-top: 0px;
}
}



/*==================================================
3本線が回転して×に
===================================*/

/*ボタン外側*/
.openbtn{
display: none;
}
/*@media screen and (max-width: 1023px) {*/
@media screen and (max-width: 820px) {
.openbtn{
	position: fixed;
	z-index: 1000;
	cursor: pointer;
	width: 60px;
	height: 60px;
	overflow: hidden;
	display: block;
	left: 0px;
}
}
@media screen and (max-width: 767px) {
.openbtn{

}
}

/*ボタン内側*/
.openbtn span{
display: inline-block;
transition: all .4s;
position: absolute;
left: 15px;
height: 1px;
border-radius: 0px;
background: #000000;
}


.openbtn span:nth-of-type(1) {
top:22px;	
width: 50%;
}

.openbtn span:nth-of-type(2) {
top:30px;
width: 50%;
}

.openbtn span:nth-of-type(3) {
top:38px;
width: 50%;
}


/*activeクラスが付与されると線が回転して×になる*/

.openbtn.active span:nth-of-type(1) {
top: 22px;
left: 21px;
/*transform: translateY(6px) rotate(-135deg);*/
transform: translateY(6px) rotate(-45deg);
width: 38%;
}

.openbtn.active span:nth-of-type(2){
top: 33px;
left: 21px;
transform: translateY(-6px) rotate(45deg);
width: 38%;
}

.openbtn.active span:nth-of-type(3) {
opacity: 0;
}
@media screen and (max-width: 767px) {
.openbtn.active span:nth-of-type(1) {
left: 21px;
}
.openbtn.active span:nth-of-type(2){
left: 21px;
}
}



/* ---------------------------------------------------------------- *
バーガーナビ
* ---------------------------------------------------------------- */

/*アコーディオン全体　バーガーメニュー*/
.acod-burger ul.menu{
list-style: none;
width: 100%;
margin:0 auto;
}
.acod-burger > li{
margin-right: 0;
margin-left: 0;
margin-bottom: 10px;
}

/*サブページなしのボタン*/
.acod-burger .gen_title a {
position: relative;
cursor: pointer;
font-size: 13px;
padding-top: 10px;
padding-bottom: 10px;
transition: all .5s ease;
font-weight: normal!important;
border-bottom: 1px solid #CCCCCC;
color: #000000!important;
display: block;
}
/* 青い丸（::before） */
.acod-burger .gen_title a::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 20px;
  height: 20px;
  background: #3EB8EC;
  border-radius: 50%;
  transform: translateY(-50%);
}

/* 白い矢印（::after）… ::before の“上”に描画される */
.acod-burger .gen_title a::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;                  /* 丸の中心に合わせる */
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}


/*アコーディオンタイトル*/
.acod-burger .bgr_title {
position: relative;
cursor: pointer;
font-size: 13px;
font-weight: normal;
padding-top: 10px;
padding-bottom: 10px;
transition: all .5s ease;
border-bottom: 1px solid #CCCCCC;
}

/*アイコンの＋と×*/
.acod-burger .bgr_title::before,
.acod-burger .bgr_title::after{
position: absolute;
content:'';
width: 15px;
height: 2px;
background-color: #0085FF;
}
.acod-burger .bgr_title::before{
top:48%;
right: 15px;
transform: rotate(0deg);
}
.acod-burger .bgr_title::after{    
top:48%;
right: 15px;
transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.acod-burger .bgr_title.close::before{
transform: rotate(45deg);
}
.acod-burger .bgr_title.close::after{
transform: rotate(-45deg);
}


/*アコーディオンで現れるエリア*/
.acod-burger .bgr_box {
display: none;/*はじめは非表示*/
}
@media screen and (max-width: 820px) {
.acod-burger ul.menu{
width: 94%;
margin-left: auto;
margin-right: auto;
}
}
@media screen and (max-width: 767px) {
.acod-burger ul.menu{
width: 90%;
margin-left: auto;
margin-right: auto;
}
.acod-burger > li{

}
.acod-burger .bgr_title,.acod-burger .gen_title {
font-size: 3.3vw;
}
}

/*アコーディオン　2階層メニュー　オプション*/
ul.option {
display: grid;
gap: 0px;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
list-style: none;
}
ul.option li {
font-size: 13px;
}
ul.option li a {
	padding-top: 10px;
	padding-bottom: 10px;
	display: block;
	border-bottom: 1px solid #CCCCCC;
	color: #0085FF;
	position: relative;
}
/* 青い丸（::before） */
ul.option li a::before{
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 20px;
	height: 20px;
	background-color: rgba(62,184,236,0.70);
	border-radius: 50%;
	transform: translateY(-50%);
}

/* 白い矢印（::after）… ::before の“上”に描画される */
ul.option li a::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;                  /* 丸の中心に合わせる */
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 820px) {
ul.option {
grid-template-columns: 1fr;
}
}
@media screen and (max-width: 767px) {
ul.option {
grid-template-columns: 1fr;
}
ul.option li {
font-size: 3vw;
}
}





#g-nav{
/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
position:fixed;
z-index: 997;
/*ナビのスタート位置と形状*/
top:0;
left: -120%;
width:100%;
height: 100vh;/*ナビの高さ*/
background: #0062B2;
background: linear-gradient(90deg, rgba(0, 98, 178, 1) 0%, rgba(0, 98, 178, 1) 20%, rgba(63, 184, 236, 1) 100%);
/*動き*/
transition: all 0.35s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
left: 0;
}


/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
/*ナビの数が増えた場合縦スクロール*/
position: fixed;
z-index: 999; 
width:100%;
height: 100vh;/*表示する高さ*/
overflow: auto;
-webkit-overflow-scrolling: touch;
}



/*ナビゲーション*/
#g-nav .nav-in {
	opacity: 0;/*はじめは透過0*/
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 90px;
	border-radius: 10px;
	background-color: #FFFFFF;
}
#g-nav ul.menu ul{
width: 100%;
margin: 0;
}
/*背景が出現後にナビゲーションを表示*/
#g-nav .nav-in {
opacity:1;
}
@media screen and (max-width: 820px) {
#g-nav .nav-in {
width: 90%;
}
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li{
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}



.pankuzu_wrap .pankuzu {
	/*background-color: #9ED8F5;*/
	padding-bottom: 0px;
	position: absolute;
	top: 0px;
	left: 0px;
}
@media screen and (max-width: 767px) {
.pankuzu_wrap  {

}
}
/*　パンくず　*/
.pankuzu {
	font-size: 12px;
	padding-top: 20px;
	padding-bottom: 40px;
	width: 100%;
	line-height: 2em;
}
.pankuzu a:link {
text-decoration: none;
color: #666666;
padding-left: 2px;
padding-right: 2px;
}
.pankuzu a:visited {
text-decoration: none;
color: #666666;
}
.pankuzu a:hover, .pankuzu a:active {
text-decoration: underline;
color: #666666;
}

/*　パンくずWP　Breadcrumb NavXT*/
.bread-crumb {
margin:0;
padding: 0px;
}
.bread-crumb li {
float: left;
list-style: none outside none;
}
.bread-crumb li:after {
content : '>';
}
.bread-crumb li:last-child:after {
content : '';
}
.bread-crumb li.current {
}
@media screen and (max-width: 767px) {
.pankuzu {
	font-size: 2.5vw;
	padding-top: 10px;
	padding-bottom: 0px;
	display: none;
}
}



/* ---------------------------------------------------------------- *
エフェクト
* ---------------------------------------------------------------- */
/*Fade in up down*/
.f_in{
opacity: 0;
animation: f_in 2s;
animation-fill-mode: forwards;
}
@keyframes f_in{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.f_up{
opacity: 0;
animation: f_up 0.7s;
animation-fill-mode: forwards;
}
@keyframes f_up{
0% {
opacity: 0;
transform: translateY(50px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.f_down{
opacity: 0;
animation: f_down 0.7s;
animation-fill-mode: forwards;
}
@keyframes f_down{
0% {
opacity: 0;
transform: translateY(-50px);
}
100% {
opacity: 1;
animation-fill-mode: forwards;
}
}



/* 4-1 ふわっ（下から） */
.fadeUp {
animation-name: fadeUpAnime;
animation-duration: 0.7s;
animation-fill-mode: forwards;
}

@keyframes fadeUpAnime {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* 4-1 ふわっ（上から） */
.fadeDown {
animation-name: fadeDownAnime;
animation-duration: 0.7s;
animation-fill-mode: forwards;
}

@keyframes fadeDownAnime {
from {
opacity: 0;
transform: translateY(-30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* 左から */
.fadeLeft {
animation-name: fadeLeftAnime;
animation-duration: 0.7s;
animation-fill-mode: forwards;
}

@keyframes fadeLeftAnime {
from {
opacity: 0;
transform: translateX(-30px);
}
to {
opacity: 1;
transform: translateX(0);
}
}

/* 右から */
.fadeRight {
animation-name: fadeRightAnime;
animation-duration: 0.7s;
animation-fill-mode: forwards;
}

@keyframes fadeRightAnime {
from {
opacity: 0;
transform: translateX(30px);
}
to {
opacity: 1;
transform: translateX(0);
}
}

/*==================================================
* ボンッ、ヒュッ
* ===================================*/

/* 拡大 */
.zoomIn {
animation-name: zoomInAnime;
animation-duration: 0.7s;
animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
from {
transform: scale(0.6);
opacity: 0;
}
to {
transform: scale(1);
opacity: 1;
}
}

/* 縮小 */
.zoomOut {
animation-name: zoomOutAnime;
animation-duration: 0.7s;
animation-fill-mode: forwards;
}

@keyframes zoomOutAnime {
from {
transform: scale(1.2);
opacity: 0;
}
to {
transform: scale(1);
opacity: 1;
}
}

/*==================================================
* スクロールで出現する要素の初期状態
* ここだけ「opacity:0」にしておく
* ===================================*/

.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger,
.zoomInTrigger,
.zoomOutTrigger {
opacity: 0;
}

/*.fadeUpTrigger{ opacity:0; transform: translateY(30px); }
.fadeDownTrigger{ opacity:0; transform: translateY(-30px); }
.fadeLeftTrigger{ opacity:0; transform: translateX(-30px); }
.fadeRightTrigger{ opacity:0; transform: translateX(30px); }
.zoomInTrigger{ opacity:0; transform: scale(0.6); }
.zoomOutTrigger{ opacity:0; transform: scale(1.2); }*/





/*スクロールトリガー*/
/*TXTエフェクト　背景が流れる*/
/*.txbg .bg-wrap {
position: relative;
display: inline-block;
margin-top: 5px;
}
.txbg.is-active .bg-wrap::before {
animation: txbg 4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
background-color: rgba(0,0,0,0.70);
content: '';
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 100%;
height: 100%;
transform-origin: left center;
}
.txbg .bg-wrap .inn {
color: #fff;
display: inline-block;
font-weight: bold;
padding: 5px 15px;
position: relative;
z-index: 1;
}

@keyframes txbg {
0% {
opacity: 0;
transform: scaleX(0) translateX(-5%);
}
30% {
transform: scaleX(1) translateX(0);
}
100% {
transform: scaleX(1) translateX(0);
}
30%, 100% {
opacity: 1;
}
}*/



/* アニメーションの開始を遅らせるCSS*/
.delay-time05{
animation-delay: 0.5s;
}
.delay-time1{
animation-delay: 1s;
}
.delay-time15{
animation-delay: 1.5s;
}
.delay-time2{
animation-delay: 2s;
}
.delay-time25{
animation-delay: 2.5s;
}










/*Not Found*/
.NotF{
width: 100%;
margin-top: 0px;
margin-bottom: 0px;
clear: both;
padding-top: 100px;
padding-bottom: 100px;
position: relative;
text-align: center;
}
.NotF h1{
font-size: 55px;
font-weight: bold;
padding-bottom: 50px;
color: #444444!important;
line-height: 1.3em;
}
.NotF h1 span{
font-size: 25px;
font-weight: bold;
display: block;
color: #989898;
}
.NotF p{
font-size: 16px;
color: #444444;
}
.NotF p.btn a{
padding-top: 10px;
padding-bottom: 10px;
display: block;
margin-top: 50px;
background-color: #2D2D2D;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
/*-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;*/
color: #FFFFFF;
}
.NotF p.btn{
width: 30%;
margin-left: auto;
margin-right: auto;
}
.NotF p.btn a:hover{
background-color: #989898;
}
@media screen and (max-width: 767px) {
.NotF{
padding-top: 10%;
padding-bottom: 10%;
}
.NotF h1{
font-size: 35px;
padding-bottom: 30px;
line-height: 1.3em;
}
.NotF h1 span{
font-size: 17px;
}
.NotF p{
font-size: 14px;
text-align: left;
}
.NotF p br{
display: none;
}
.NotF p.btn{
width: 80%;
text-align: center;
}
}


/*ブログナビ*/
#event_nav {
overflow: hidden;
}

#event_nav ul {
position: relative;
left: 50%;
float: left;
}

#event_nav ul li {
position: relative;
left: -50%;
float: left;
padding-top: 10px;
padding-bottom: 10px;
margin-bottom: 10px;
}
#event_nav ul li i.fa{
margin-left: 10px;
}
#event_nav ul li a{
color: #000000;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 30px;
padding-right: 30px;
margin-right: 10px;
margin-left: 10px;
margin-top: 0px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
font-size: 12px;
}
#event_nav ul li.blog a{
background-color: #E3F0F0;
}
#event_nav ul li.news a{
background-color: #99CDFF;
}
#event_nav ul li.works a{
background-color: #8EC21F;
}

@media screen and (max-width: 767px) {
#event_nav ul li a{
padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;
margin-right: 10px;
margin-left: 10px;
margin-top: 0px;
}
}


/*インデント*/
p.indent-1 {
padding-left:1em;
text-indent:-1em;
}
/*generalインデント*/
.g_indent-1 {
padding-left:1em;
text-indent:-1em;
}

/*ナンバリング*/
.list_num {
_zoom: 1;
overflow: hidden;
clear: both;
margin-right: auto;
margin-bottom: 20px;
margin-left: auto;
width: 100%;
margin-top: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-top: 50px;
padding-bottom: 30px;
background-color: rgba(241,241,241,0.60);
}
.list_num ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin-right: auto;
margin-left: auto;
max-width: 900px;
}
.list_num ol li {
margin-bottom: 20px;
padding-left: 0px;
position: relative;
padding-right: 0px;
float: left;
width: 46%;
margin-left: 2%;
margin-right: 2%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.list_num ol li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #0F4C97;
color: #ffffff;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
margin-right: 10px;
}
.list_num ol li h3 {
font-size: 16px;
font-weight: bold;
}
.list_num ol li p {
}
.list_num ol li h3.indent {
margin-bottom: 10px;
position: relative;
font-size: 18px;
font-weight: bold;
padding-left:3em;
text-indent:0em;
}

@media screen and (max-width: 767px) {
.list_num {
margin-bottom: 20px;
padding-top: 25px;
padding-right: 25px;
padding-left: 25px;
padding-bottom: 15px;
}
.list_num ol li {
margin-bottom: 20px;
float: none;
width: 100%;
margin-left: 0%;
margin-right: 0%;
}
.list_num ol li h3.indent {
font-size: 14px;
padding-top: 2px;
line-height: 1.8em;
}
}


.list_num2 {
_zoom: 1;
overflow: hidden;
clear: both;
margin-right: auto;
margin-bottom: 40px;
margin-left: auto;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
padding-top: 50px;
padding-right: 50px;
padding-left: 50px;
box-sizing: border-box;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
padding-bottom: 30px;
background-color: rgba(241,241,241,0.60);
}
.list_num2 ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin-bottom: 10px;
clear: both;
}
.list_num2 ol li {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
float: left;
width: 50%;
margin-left: 0%;
margin-right: 0%;
}
.list_num2 ol li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #0F4C97;
color: #FFFFFF;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num2 ol li p.indent {
padding-left:40px;
text-indent:0px;
}
.list_num2 ol li p strong{
font-weight: bold;
}
@media screen and (max-width: 767px) {
.list_num2 {
margin-bottom: 20px;
padding-top: 25px;
padding-right: 25px;
padding-left: 25px;
padding-bottom: 15px;
}
.list_num2 ol li {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
float: left;
width: 100%;
margin-left: 0%;
margin-right: 0%;
}
}


.list_num3 {
clear: both;
margin-right: auto;
margin-bottom: 50px;
margin-left: auto;
width: 100%;
margin-top: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.list_num3 ol {
counter-reset: my-counter;
list-style: none;
padding: 0px;
margin: 0px;
}
.list_num3 ol li.number {
margin-bottom: 15px;
padding-left: 0px;
position: relative;
}
.list_num3 ol li.number:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li.number.az:before {
content: counter(my-counter,lower-alpha);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li.number.az2:before {
content: counter(my-counter,upper-alpha);
counter-increment: my-counter;
background-color: #E7E7E7;
display: block;
float: left;
line-height: 30px;
margin-left: 0px;
text-align: center;
height: 30px;
width: 30px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-right: 10px;
}
.list_num3 ol li p.indent {
padding-left:40px;
text-indent:0px;
}
@media screen and (max-width: 767px) {

}




/*アウトライン*/
.flex_Line {
/*_zoom: 1;
overflow: hidden;*/
clear: both;
margin: 0;
padding: 0;
}
.flex_Line ul {
list-style: none;
padding: 0px;
margin: 0px;
}
.flex_Line li{
display: flex;
display: -webkit-flex;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-top: 0px;
padding-bottom: 0px;
border-bottom: 1px solid #CCCCCC;
line-height: 2em;
}
.flex_Line li:first-child {
border-top: 1px solid #CCCCCC;
}
.flex_Line li .txt{
width: 25%;
padding-top: 10px;
padding-bottom: 10px;
}
.flex_Line li .txt2{
width: 75%;
padding-left: 50px;
padding-top: 10px;
padding-bottom: 10px;
}
.flex_Line li .txt2 p.address a{
color: #009ED9;
font-size: 18px;
font-weight: bold;
}
@media screen and (max-width: 767px) {
.flex_Line li .txt{
width: 28%;
text-align: center;
}
.flex_Line li .txt2{
width: 72%;
padding-left: 10px;
}
}
@media screen and (max-width: 320px) {
.flex_Line li p{
font-size: 12px;
}
}

/*アウトライン　サブ*/
.flex_Line table.sub{
width: 100%;
}
.flex_Line table.sub th{
width: 20%;
}
.flex_Line table.sub td{
width: 80%;
}
@media screen and (max-width: 767px) {
.flex_Line table.sub th{
width: 50%;
}
.flex_Line table.sub td{
width: 50%;
}
}


/*外部リンク　アイコン設定*/
i.fa-external-link {
margin-left: 10px;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
a:hover i.fa-external-link{
margin-left: 15px;
color: #FF0004;
}

/*reCAPTCHA　ロゴの場所を変更*/
.grecaptcha-badge {
bottom: 0px !important;
}
/*reCAPTCHA　ロゴの場所をトップページだけ非表示*/
.page-id-2 .grecaptcha-badge {
display: none !important;
}

/*ユーチューブ*/
.youtube {
width: 100%;
padding-top: 56.25%;
position: relative;
top: 0;
left: 0;
}
.youtube iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

.youtube-short {
position: relative;
width: 100%;
max-width: 400px; /* 必要に応じて */
aspect-ratio: 9 / 16;
margin: auto;
}

.youtube-short iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}

.youtube-comi {
position: relative;
width: 100%;
aspect-ratio: 80 / 23;
margin: auto;
}
.youtube-comi iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}

.youtube-comi_sp {
position: relative;
width: 100%;
aspect-ratio: 39 / 21;
margin: auto;
}
.youtube-comi_sp iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}


/*SNSボタンといいね*/
.f_single {
display: grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
margin-top: 50px;
}
.f_single .itemA {
padding-top: 10px;
}
.f_single .itemB {
display: flex;
justify-content:flex-end;
}
@media(max-width: 767px){
.f_single {
grid-template-columns: 1fr;
margin-top: 25px;
}
.f_single .itemA {
}
.f_single .itemB {
justify-content:flex-start;
}
}



/*タームナビ　タグナビ*/
.terms_nav {
}
.terms_nav ul {
display: flex;
flex-wrap:wrap;
/*justify-content:center;*/
gap: 10px;
}

/*検索用*/
.I_search .terms_nav ul {
justify-content: center;
margin-bottom: 50px;
}
/*ブログ*/
.s_Life .terms_nav ul {
justify-content: center;
margin-top: 50px;
margin-bottom: 50px;
}

.terms_nav ul li a {
font-size: 12px;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 20px;
padding-right: 20px;
color: #444444;
border-radius: 30px;
background-color: #EDEDED;
transition: all 0.3s;
display: block;
line-height: 1.6em;
position: relative;
}
.terms_nav.comm ul li a {
background-color: #FFFFFF;
}
.terms_nav ul li a:hover {
color: #FFFFFF;
background-color: #444444;
text-decoration: none!important;
}
.terms_nav ul li.current a{
color: #FFFFFF;
background-color: #444444;
}
/*カレントページ*/
.terms_nav ul li.current-cat a {
color: #FFFFFF;
background-color: #444444;
}


/*FAQ用タームナビ*/
.ct_Faq .terms_nav ul li a {
color: #FF780A;
background-color: #FFFFFF;
border: 1px solid #FF780A;
}
.ct_Faq .terms_nav ul li a:hover {
color: #FFFFFF;
background-color: #FF780A;
}
.ct_Faq .terms_nav ul li.current a{
color: #FFFFFF;
background-color: #FF780A;
}
.ct_Faq .terms_nav ul li.current a::before {
position   : absolute;
content    : "";
width: 12px;
height: 12px;
background-color: #FF780A;
clip-path: polygon(0 0, 100% 0, 50% 100%);
bottom: -12px;
left: 50%;
transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
.terms_nav {
}
.I_search .terms_nav ul {
margin-bottom: 30px;
}
/*学科ブログ*/
.s_Life .terms_nav ul {
margin-top: 25px;
margin-bottom: 25px;
}
.terms_nav ul li a {
padding-top: 3px;
padding-bottom: 3px;
font-size: 2.5vw;
}

/*Faq*/
.ct_Faq .terms_nav ul {
gap: 5px;
}
.ct_Faq .terms_nav ul li a {
padding-left: 10px;
padding-right: 10px;
margin-bottom: 10px;
}
}




/*記事を探す*/
.I_search {
background-color: #EEEEEE;
padding-top: 60px;
padding-bottom: 60px;
margin-bottom: 0px;
margin-top: 80px;
border-top: 10px solid #FFFFFF;
}
.I_search h2.search{
color: #444444;
font-size: 40px;
font-weight: bold;
text-align: center;
position: relative;
margin-bottom: 30px;
line-height: 1em;
/*letter-spacing: 0.1em;*/
}
.I_search h2.search span{
font-size: 16px;
display: block;
/*letter-spacing: 0.3em;*/
margin-top: 5px;
color: #595757;
}
.I_search figure img{
width: 100%;
height: auto;
display: block;
}
@media screen and (max-width: 767px) {
.I_search {
padding-top: 30px;
padding-bottom: 30px;
margin-bottom: 0px;
margin-top: 40px;
}
.I_search h2.search{
font-size: 8.2vw;
line-height: 1.3em;
margin-bottom: 20px;
padding-top: 3%;
}
.I_search h2.search span{
font-size: 3.5vw;
margin-top: 0px;
}
}


/*検索ボックス*/
.search_B{
position: relative;
width: 40%;
margin-left: auto;
margin-right: auto;
}
.search_container{
box-sizing: border-box;
position: relative;
border: 2px solid #999999;
/*display: block;*/
padding-top: 0px;
padding-bottom: 0px;
padding-right: 10px;
-moz-border-radius: 30px;
-webkit-border-radius: 30px;
border-radius: 30px;
height: 50px;
overflow: hidden;
background-color: #FFFFFF;
padding-left: 20px;
margin-left: auto;
margin-right: auto;
display: flex;
align-items: center;
}
.search_container input[type="text"]{
width: 280px!important;
border: none;
height: 2.0em;
font-size: 16px;
}
.search_container input[type="text"]:focus {
outline: 0;
}
.search_container input[type="submit"]{
cursor: pointer;
/*font-size: 1.3em;*/
font-size: 14px;
border: none;
background-repeat: no-repeat;
background-position: 50% center!important;
background-image: url("../parts/i_search4.svg");
background-size: 75px 54px;
position: absolute;
width: 70px;
height: 48px;
right: 0;
top: -2px;
outline : none;
background-color: #999999;
border-radius: 0px!important;
}
.search_B h3{
font-size: 22px;
font-weight: bold;
text-align: center;
color: #028080;
}
.search_container input.submit{
border-radius: 0px!important;
}
@media screen and (max-width: 767px) {
.search_B{
width: 90%;
}
.search_container input[type="text"]{
font-size: 3.5vm!important;
}
.search_container input[type="submit"]{
height: 52px;
}
}
@media screen and (max-width: 414px) {
.search_container input[type="submit"]{
top: -5px;
}
}










.search_B .nav{
position: absolute;
bottom: 0px;
left: calc(50% - 490px);
width: 110px;
}
.search_B .nav img{
width: 100%;
height: auto;
display: block;
}
.search_B p{
text-align: center;
margin-top: 10px;
}
@media screen and (max-width: 767px) {
.search_B .nav{
left: 5%;
width: 18%;
}
.search_B p{
text-align: center;
width: 85%;
margin-right: 0px;
margin-left: auto;
}
}






/*Instagram　プラグイン　カスタマイズ*/
#sb_instagram .sbi_link {
background: rgba(0,0,0,0.4)!important;
}
#sb_instagram .sbi_link .sbi_caption{
line-height: 1.8!important;
padding-top: 10px;
}
#sb_instagram .sbi_link .sbi_hover_caption_wrap{
padding-top: 20px!important;
}

@media screen and (max-width: 767px) {
#sb_instagram .sbi_link .sbi_hover_caption_wrap{
padding-top: 10px!important;
}
}





/*ブロックエディタ　追加CSS*/
.B_editor h1 {
font-size: 35px;
padding-bottom: 0.5em;
line-height: 1.6em;
}
.B_editor h2 {
font-size: 30px;
padding-bottom: 0.5em;
}
.B_editor h3 {
font-size: 20px;
padding-bottom: 0.5em;
}
.B_editor h4 {
font-size: 16px;
padding-bottom: 0.5em;
}
.B_editor p {
margin: 0 0 2.5em;
font-size: 14px;
line-height: 2.4em;
}

.B_editor .has-x-large-font-size {
font-size: 35px!important;
line-height: 1.6em;
}
.B_editor .has-large-font-size {
font-size: 30px!important;
line-height: 1.6em;
}
.B_editor .has-medium-font-size {
font-size: 20px!important;
line-height: 1.6em;
}
.B_editor .has-small-font-size {
font-size: 12px!important;
line-height: 1.6em;
}

.wp-block-image {
margin:0 0 2em;
}
.wp-block-audio {
margin:0 0 2em;
}
.wp-block-embed {
margin:0 0 2em;
}
.wp-block-table {
margin:0 0 2em;
}
.wp-block-video {
margin:0 0 2em;
}
.wp-block-media-text {
margin:0 0 2em;
}
.wp-block-gallery {
margin:0 0 2em;
}
.B_editor ul {
list-style: none;
padding-top: 0px;
padding-bottom: 0px;
margin-bottom: 2em;
padding-left: 25px;
}
.B_editor ul li {
font-size: 15px;
list-style-type: none;
position: relative;
padding-bottom: 10px;
}
.B_editor ul li::after {
display: block;
content: '';
position: absolute;
top: 0.8em;
left: -1.5em;
width: 10px;
height: 10px;
background-color: #000000;
border-radius: 100%;
}
.B_editor ul:after {
height: 0;
visibility: hidden;
content: ".";
display: block;
clear: both;
}
.wp-block-button__link {
color: #fff!important;
}
.wp-block-file__button {
color: #fff!important;
}

/*ギャラリーの画像間隔調整*/
.B_editor .wp-block-gallery.has-nested-images figure.wp-block-image {

}
.B_editor .wp-block-gallery.has-nested-images {
/*gap: 10px;*/
}

/*URLの途中でも折り返す設定*/
.B_editor{
  overflow-wrap:anywhere;
  word-break: break-word;
}

@media screen and (max-width: 767px) {
.B_editor ul li {
font-size: 3.5vw;
}
.B_editor ul li::after {
top: 0.7em;
}
.has-x-large-font-size {
font-size: 6.8vw !important;
padding-bottom: 0.5em;
}
.has-large-font-size {
font-size: 5.3vw!important;
padding-bottom: 0.5em;
}
.B_editor h1 {
font-size: 6.0vw;
padding-bottom: 0.5em;
}
.B_editor h2 {
font-size: 5.3vw;
padding-bottom: 0.5em;
}
.B_editor h3 {
font-size: 4.4vw;
padding-bottom: 0.5em;
}
.B_editor h4 {
font-size: 3.5vw;
padding-bottom: 0.5em;
}
.B_editor p {
font-size: 3.3vw;
line-height: 2.0em;
}
.B_editor .has-x-large-font-size {
font-size: 6.0vw!important;
}
.B_editor .has-large-font-size {
font-size: 5.3vw!important;
}
.B_editor .has-medium-font-size {
font-size: 4.4vw!important;
}
.B_editor .has-small-font-size {
font-size: 3vw!important;
}
}

/*ブロックエディタ　ユーチューブ*/
.B_editor .wp-block-embed-youtube iframe  {
width: 100%;
height: 100%;
aspect-ratio: 16/9;
}


/*ブロックエディタ　リンク*/
.B_editor a:link {
color: #0058DC;
text-decoration: underline;
}
.B_editor a:visited {
color: #0058DC;
text-decoration: none;
}
.B_editor a:hover, a:active {
color: #003A92;
}



/* =========================
   ブロックエディタ：wp-block-list（箇条書き / 番号付き）
   ※既存の .B_editor ul（独自の黒丸）を上書きして戻す
========================= */

/* 共通：余白と文字 */
.B_editor ul.wp-block-list,
.B_editor ol.wp-block-list{
  margin: 0 0 2em;
  padding-left: 1.6em; /* マーカー分 */
  font-size: 13px;     /* p に合わせるなら 13px、既存ULに寄せるなら 15px */
  line-height: 2.2em;
}

/* ul（黒丸） */
.B_editor ul.wp-block-list{
  list-style: disc;
}

/* ol（数字） */
.B_editor ol.wp-block-list{
  list-style: decimal;
}

/* li：余白 */
.B_editor ul.wp-block-list > li,
.B_editor ol.wp-block-list > li{
  padding-bottom: 0.6em;
}

/* 既存の独自マーカー（::after）を無効化 */
.B_editor ul.wp-block-list > li::after{
  content: none;
  display: none;
}

/* ネスト（入れ子）も自然に */
.B_editor ul.wp-block-list ul,
.B_editor ul.wp-block-list ol,
.B_editor ol.wp-block-list ul,
.B_editor ol.wp-block-list ol{
  margin: 0.6em 0 0.8em;
  padding-left: 1.6em;
}

/* 入れ子の種類（好みで） */
.B_editor ul.wp-block-list ul{ list-style: circle; }
.B_editor ul.wp-block-list ul ul{ list-style: square; }
.B_editor ol.wp-block-list ol{ list-style: lower-alpha; }

/* マーカーの位置（段落と揃えたい時） */
.B_editor ul.wp-block-list,
.B_editor ol.wp-block-list{
  list-style-position: outside;
}

/* SP */
@media screen and (max-width: 767px){
  .B_editor ul.wp-block-list,
  .B_editor ol.wp-block-list{
    font-size: 3.3vw;   /* p に寄せる */
    line-height: 2.0em;
    padding-left: 1.4em;
  }
  .B_editor ul.wp-block-list > li,
  .B_editor ol.wp-block-list > li{
    padding-bottom: 0.5em;
  }
}




/*月刊アーカイブ　プルダウンメニュー*/
.year-wrap {
position: relative;
max-width: 200px;
margin-left: auto;
margin-right: 0px;
margin-bottom: 20px;
}
.year-wrap::before {
position   : absolute;
content    : "";
width: 12px;
height: 10px;
background-color: #666666;
clip-path: polygon(0 0, 100% 0, 50% 100%);
right: 15px;
z-index: 1;
top: 15px;
}
.year-wrap select{
outline: none;
-moz-appearance: none;
text-indent: 0.01px;
text-overflow: '';
background: none transparent;
vertical-align: middle;
font-size: inherit;
color: inherit;
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
height: 40px;
padding-top: 0px;
padding-right: 12px;
padding-bottom: 0px;
border: 1px solid #ddd;
width: 100%;
border-radius: 5px;
padding-left: 20px;
}

@media screen and (max-width: 767px) {
.year-wrap {
max-width: 160px;
}
.year-wrap select{
outline: none;
-moz-appearance: none;
text-indent: 0.01px;
text-overflow: '';
background: none transparent;
vertical-align: middle;
font-size: inherit;
color: inherit;
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
height: 40px;
padding-top: 0px;
padding-right: 12px;
padding-left: 10px;
font-size: 3vw!important;
}
}










/*スタイル調整の設定*/
/*投稿日時*/
.entry-date {
margin: 0px;
font-weight: bold;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 10px;
padding-left: 0px;
color: #128C15;
}

/*続きを読む*/
.link-text {
display: block;
text-align: right;
margin-top: 15px;
line-height: 1;
}

.link-text a:before {
content: '> ';
}

/*NEW表記*/
.newicon {
font-weight: bold;
color: #F00;
margin: 0px;
padding: 0px;
}


/*左右中央*/
.center {
padding: 0px;
text-align: center !important;
margin: 0px;
}
.right {
padding: 0px;
text-align: right !important;
margin: 0px;
}
.left {
padding: 0px;
text-align: left !important;
margin: 0px;
}

/*padding*/
.pt00 { padding-top: 0   !important;}
.pt10 { padding-top:10px !important;}
.pt20 { padding-top:20px !important;}
.pt30 { padding-top:30px !important;}
.pt40 { padding-top:40px !important;}
.pt50 { padding-top:50px !important;}

.pb00 { padding-bottom: 0   !important;}
.pb10 { padding-bottom:10px !important;}
.pb20 { padding-bottom:20px !important;}
.pb30 { padding-bottom:30px !important;}
.pb40 { padding-bottom:40px !important;}
.pb50 { padding-bottom:50px !important;}

@media screen and (max-width: 767px) {
.pt10 { padding-top:5px !important;}
.pt20 { padding-top:10px !important;}
.pt30 { padding-top:15px !important;}
.pt40 { padding-top:20px !important;}
.pt50 { padding-top:25px !important;}

.pb10 { padding-bottom:5px !important;}
.pb20 { padding-bottom:10px !important;}
.pb30 { padding-bottom:15px !important;}
.pb40 { padding-bottom:20px !important;}
.pb50 { padding-bottom:25px !important;}
}

/*margin*/
.mt00 { margin-top: 0   !important;}
.mt05 { margin-top:5px !important;}
.mt10 { margin-top:10px !important;}
.mt15 { margin-top:15px !important;}
.mt20 { margin-top:20px !important;}
.mt30 { margin-top:30px !important;}
.mt40 { margin-top:40px !important;}
.mt50 { margin-top:50px !important;}
.mt60 { margin-top:60px !important;}
.mt70 { margin-top:70px !important;}
.mt80 { margin-top:80px !important;}
.mt90 { margin-top:90px !important;}
.mt100 { margin-top:100px !important;}

.mb00 { margin-bottom: 0   !important;}
.mb05 { margin-bottom:5px !important;}
.mb10 { margin-bottom:10px !important;}
.mb15 { margin-bottom:15px !important;}
.mb20 { margin-bottom:20px !important;}
.mb30 { margin-bottom:30px !important;}
.mb40 { margin-bottom:40px !important;}
.mb50 { margin-bottom:50px !important;}
.mb60 { margin-bottom:60px !important;}
.mb70 { margin-bottom:70px !important;}
.mb80 { margin-bottom:80px !important;}
.mb90 { margin-bottom:90px !important;}
.mb100 { margin-bottom:100px !important;}

@media screen and (max-width: 767px) {
.mt20 { margin-top:10px !important;}
.mt30 { margin-top:15px !important;}
.mt40 { margin-top:25px !important;}
.mt50 { margin-top:30px !important;}
.mt60 { margin-top:35px !important;}
.mt70 { margin-top:40px !important;}
.mt80 { margin-top:45px !important;}
.mt90 { margin-top:50px !important;}
.mt100 { margin-top:60px !important;}

.mb20 { margin-bottom:10px !important;}
.mb30 { margin-bottom:15px !important;}
.mb40 { margin-bottom:20px !important;}
.mb50 { margin-bottom:25px !important;}
.mb60 { margin-bottom:30px !important;}
.mb70 { margin-bottom:35px !important;}
.mb80 { margin-bottom:40px !important;}
.mb90 { margin-bottom:45px !important;}
.mb100 { margin-bottom:50px !important;}
}

/*SPのみ*/
@media screen and (max-width: 767px) {
.mt20_sp { margin-top:10px !important;}
.mt30_sp { margin-top:15px !important;}
.mt40_sp { margin-top:25px !important;}
.mt50_sp { margin-top:30px !important;}
.mt60_sp { margin-top:35px !important;}
}




/*フォントカラー*/
.red  {	color: #F00;}

/* Width */
.w100p   { width: 100% !important;}
.w90p   {
width: 90% !important;
margin-left: auto;
margin-right: auto;
}
.w85p   {
width: 85% !important;
margin-left: auto;
margin-right: auto;
}
.w80p   {
width: 80% !important;
margin-left: auto;
margin-right: auto;
}
.w75p   {
width: 75% !important;
margin-left: auto;
margin-right: auto;
}
.w70p   {
width: 70% !important;
margin-left: auto;
margin-right: auto;
}
.w65p   {
width: 65% !important;
margin-left: auto;
margin-right: auto;
}
.w60p   {
width: 60% !important;
margin-left: auto;
margin-right: auto;
}
.w50p   {
width: 50% !important;
margin-left: auto;
margin-right: auto;
}
.w40p   {
width: 40% !important;
margin-left: auto;
margin-right: auto;
}
.w30p   {
width: 30% !important;
margin-left: auto;
margin-right: auto;
}
.w980   { width: 980px !important;}
.w960   { width: 960px !important;}
.w900   { width: 900px !important;}
.w700	{
width: 700px !important;
margin-right: auto;
margin-left: auto;
}
.w600	{
width: 600px !important;
margin-left: auto;
margin-right: auto;
}
.w500	{ width: 500px !important;}
.w400	{ width: 400px !important;}
.w300	{ width: 300px !important;}
.w200	{ width: 220px !important;}

@media screen and (max-width: 767px) {
.w90p   { width: 100% !important;}
.w85p   { width: 100% !important;}
.w80p   { width: 100% !important;}
.w75p   { width: 100% !important;}
.w70p   { width: 100% !important;}
.w65p   { width: 100% !important;}
.w60p   { width: 100% !important;}
.w50p   { width: 100% !important;}
.w40p   { width: 100% !important;}
.w30p   { width: 100% !important;}

.w980   { width: 100% !important;}
.w960   { width: 100% !important;}
.w900   { width: 100% !important;}
.w700	{ width: 100% !important;}
.w600	{ width: 100% !important;}
.w500	{ width: 100% !important;}
.w400	{ width: 100% !important;}
.w300	{ width: 100% !important;}
.w200	{ width: 100% !important;}
}






.PrivacyP {
margin-top: 20px;
line-height: 2.0em;
padding-left: 30px;
padding-right: 30px;
}
.PrivacyP p.lead {
margin-bottom: 50px;
font-weight: normal;
}
.PrivacyP h2{
margin-top: 0px;
margin-right: 0px;
margin-bottom: 15px;
margin-left: 0px;
font-size: 16px;
line-height: 1.5em;
padding-bottom: 10px;
clear: both;
border-bottom: 1px solid #CCCCCC;
font-weight: bold;
}
.PrivacyP p a:link {
color: #0058DC;
text-decoration: underline;
}
.PrivacyP p a:visited {
color: #0058DC;
text-decoration: none;
}
.PrivacyP p a:hover {
color: #003A92;
}
@media screen and (max-width: 430px) {
.PrivacyP {
padding-left: 10px;
padding-right: 10px;
}
.PrivacyP h2{
font-size: 3.5vw;
}
.PrivacyP p.lead {
margin-bottom: 25px;
}
}


.PrivacyP .item {
padding: 0px;
position: relative;
margin-bottom: 50px;
}
.PrivacyP .item h3 {
font-weight: normal;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
/*font-size: 100%;*/
margin-bottom: 10px;
}
.PrivacyP .item p{
margin-bottom: 10px;
font-weight: normal;
}

@media screen and (max-width: 430px) {
.PrivacyP .item {
margin-bottom: 30px;
}
.PrivacyP .item h3 {
/*font-size: 3.3vw;*/
font-size: 13px;
}
.PrivacyP .item p{
/*font-size: 3vw;*/
font-size: 12px;
}
}

.PrivacyP .item  ol {
}
.PrivacyP .item  ol li {
_zoom: 1;
overflow: hidden;
padding-bottom: 12px;
margin-top: 0px;
padding-top: 12px;
background-repeat: repeat-x;
background-position: left bottom;
margin-bottom: 0px;
background-image: url(../parts/line_dot.gif);
}
.PrivacyP .item  ol li dt {
float: left;
width: 40px;
color: #333;
margin: 0px;
font-weight: bold;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 10px;
}
.PrivacyP .item  ol li dt span{
font-size: 10px;
}
.PrivacyP .item  ol li dd {
margin-left: 50px;
background-repeat: no-repeat;
background-position: 0px 0px;
margin-right: 10px;
}
.PrivacyP .item  ol li span.blue{
font-size: 15px;
font-weight: bold;
color: #06C;
margin: 0px;
line-height: 1.8em;
padding: 0px;
}
.PrivacyP .item  ol li span.chui{
font-size: 15px;
font-weight: normal;
margin: 0px;
line-height: 1.8em;
padding: 0px;
}
.PrivacyP .item  ol li dd p{
margin: 0px;
padding: 0px;
}
* html .PrivacyP .item  ol li dd {
zoom: 1;
}

/*clCLOSEボタン*/
p.close a{
padding-top: 10px;
padding-bottom: 10px;
margin-right: auto;
margin-left: auto;
width: 30%;
text-align: center;
margin-bottom: 0px;
display: block;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
line-height: 1.5em;
background-color: #000000;
color: #FFFFFF!important;
text-decoration: none;
}
p.close a:hover,
p.close a:active {
background-color: #777777;
color: #FFFFFF!important;
}
@media screen and (max-width: 767px) {
p.close a{
width: 40%;
}
}






/*リストタイプ01*/
.list_type1 {
margin-bottom: 20px;
margin-top: 10px;
}
.list_type1 .item {
display: flex;
gap: 0px;
border-bottom: 1px solid #CCCCCC;
padding-bottom: 20px;
padding-top: 20px;
position: relative;
z-index: 1;
transition: all 0.3s;
}
.list_type1 .item .in_if01 {
flex-basis: 30%;
font-weight: bold;
}
.list_type1 .item .in_if02 {
flex-basis: 70%;
}
@media(max-width: 767px){
.list_type1 .item {
flex-direction: column;
padding-bottom: 15px;
padding-top: 15px;
}
.list_type1 .item .in_if01 p {
margin-right: 20px;
}
}





/*  PageNavi 設定 */
.wp-pagenavi {
margin: 80px auto;
display: flex;
justify-content: center;
}
.wp-pagenavi .page {
display: inline-block;
text-align: center;
width: 40px;
line-height: 40px;
border: solid 1px #CCC;
border-radius: 21px;
margin: auto 4px;
transition: 0.3s ease-out;
background-color: #FFFFFF;
}
.wp-pagenavi .page:hover {
background: #333;
color: #FFF;
}
.wp-pagenavi .current {
display: inline-block;
text-align: center;
width: 40px;
line-height: 40px;
color: #fff;
background: #333;
border: solid 1px #333;
border-radius: 21px;
margin: auto 4px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
line-height: 40px;
margin: auto 8px;
transition: 0.3s ease-out;
font-size: 20px;
font-weight: 100;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .first:hover,
.wp-pagenavi .last:hover {
color: #CCC;
}

@media screen and (max-width: 767px) {
.wp-pagenavi {
margin: 50px auto;
}
.wp-pagenavi .page,.wp-pagenavi .current {
width: 35px;
line-height: 35px;
margin: auto 2px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
line-height: 35px;
margin: auto 6px;
font-size: 18px;
}
}




