@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト
[2] 詳細デザイン（共通）
	検索
	画像横並び（.bannerimg ul）
[2] 詳細デザイン
[3] 緊急エリア
　　オプション：緊急情報メール（表示切替3パターン）
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト
*******************************************************************************/
#wrap{
	width:100%;
	background:#000000;
}
#content3{
	width:100%;
	background:transparent;
	max-width:none;
	min-width:auto;
}
.container{
	margin:auto;
	padding:32px 32px 32px 32px;
	width:100%;
	max-width:1376px;
	box-sizing:border-box;
}
#portalheader{
	position:relative;
	display:flex;
	justify-content:space-between;
}
#plogo{
	width:30%;
	height:0;
/*	padding-bottom:66.667%;*/
	padding-bottom:56.25%;
	position:relative;
	z-index:1;
	pointer-events:none;
}
#plogo h1{
	padding:5% 8% 9% 8%;;
	pointer-events:auto;
	text-align:left;
}
#headright{
	width:70%;
	position:relative;
	z-index:1;
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	align-content:flex-start;
}
#portalpagebody{
	width:100%;
}
#portalfooterbg{
	width:100%;
	transform:translateY(-50px);
	pointer-events:none;
	background:url(images/portal/footer_bg.png) no-repeat right 30px top;
}
#portalfooter{
	margin:auto;
	padding:32px 32px 32px 32px;
	max-width:1376px;
	box-sizing:border-box;
	text-align:left;
}
/*******************************************************************************
[2] 詳細デザイン（共通）
*******************************************************************************/
/*==============================================================================
	ヘッダー
==============================================================================*/
/*==============================================================================
	フッター
==============================================================================*/
#portalfooter{
	padding-top:200px;
	max-width:none;
	min-height:470px;
	display:flex;
}
#portalfooterbg #add{
	margin-left:40px;
	padding-top:16px;
	color:#ffffff;
	line-height:1.6;
}
#portalfooterbg #add a{
	color:#ffffff;
}
#portalfooterbg #add h2{
	font-size:120%;
}
#portalfooterbg #copy{
	margin:30px 0px 20px 0px;
	padding:0px;
	width:auto;
	font-size:65%;
	color:#dddddd;
	background:transparent;
	text-align:left;
}
#portalfooterbg #copy p{
	margin:auto;
	padding:0px;
	width:auto;
	max-width:1376px;
}
/*==============================================================================
	検索
==============================================================================*/
/*------------------------------------------------------------------------------
	タブ表示（サイト内検索／ページ番号検索）
------------------------------------------------------------------------------*/
#searchtab{
	margin-right:138px;
	list-style-type:none;
	display:flex;
	align-items:center;
	box-sizing:border-box;
	border-bottom:2px solid #252e75;
}
#searchtab li{
	margin-right:8px;
	display:flex;
	justify-content:flex-start;
}
#searchtab [role="tab"]{
	padding:14px 24px 12px 24px;
	width:100%;
	display:block;
	box-sizing:border-box;
	font-weight:bold;
	color:#FFF;
	font-size:95%;	
	font-weight:normal;
	background:#333B8C url(images/portal/topics_tab.png) repeat top center;
	border-top:2px solid #252e75;
	border-left:2px solid #252e75;
	border-right:2px solid #252e75;
	border-bottom:none;
	border-radius:12px 12px 0px 0px;
	text-decoration:none;
	text-align:center;
	transition:all .5s;
	cursor:pointer;
	line-height:1.2;
	-webkit-appearance: none;
}
#searchtab [role="tab"][aria-selected="true"]{
	position:relative;
	color:#252e75;
	font-weight:bold;
	background:#ffffff url(images/portal/topics_tab_active.png) repeat top center;
}
#searchtab [role="tab"]:focus,
#searchtab [role="tab"]:hover{
	color:#252e75;
	background:#e3e4e5;
}
/*------------------------------------------------------------------------------
	サイト内検索
------------------------------------------------------------------------------*/
#searchmenu{
	margin-right:138px;
	padding:15px 0px 0px 0px;
	box-sizing:border-box;
	background:transparent;
	border-top:none;
}
#searchmenu form{
	margin:0px auto 20px auto;
	width:100%;
}
#searchmenu label img{
	vertical-align:middle;
}
#searchmenu input{
	display:inline-block;
	vertical-align:middle;
}
#searchmenu input[type="text"]{
	padding:12px 8px;
	width:calc(100% - 68px);
	height:auto!important;
	box-sizing:border-box;
	border:2px solid #252e75;
	border-right:none;
	border-radius:12px 0px 0px 12px;
}
#searchmenu input.submit{
	padding:12px 20px 12px 20px;
	box-sizing:border-box;
	color:#FFF;
	font-size:100%;
	background:#ffffff;
	border:2px solid #252e75;
	border-left:none;
	border-radius:0px 12px 12px 0px;
	-webkit-appearance:none;
}
/*------------------------------------------------------------------------------
	ページ番号検索
------------------------------------------------------------------------------*/
#searchmenu .navidetail{
	margin:0px auto 20px auto;
	width:100%;
}
#searchmenu .navidetail p{
	margin:0px 0px 10px 0px;
	--x: 0 0 var(--text-outline--width, 2px) var(--text-outline--color, #ffffff);
	--y: var(--x), var(--x), var(--x), var(--x), var(--x), var(--x) /* 6 */;
	text-shadow: var(--y), var(--y), var(--y), var(--y), var(--y), var(--y) /* 6 * 6 = 36 */;
}
#searchmenu .navidetail form{
	width:100%;	
}
#searchmenu .navidetail input[type="text"]{
	width:calc(100% - 100px);
}
#searchmenu .navidetail #idbtn{
	padding:12px 30px 12px 30px;
	box-sizing:border-box;
	color:#252e75;
	background-color:#ffffff;
	border-radius:0px;
	border:2px solid #252e75;
	border-left:none;
	border-radius:0px 12px 12px 0px;
	cursor:pointer;
	-webkit-appearance:none;
}
#searchmenu #idresult p{
	margin:0px;
	color:#c50000;
	font-weight:bold;
}
/*------------------------------------------------------------------------------
	注目キーワード
------------------------------------------------------------------------------*/
#topsearch .keyword{
	margin:30px auto 0 auto;
	width:70%;
}
#topsearch .keyword dl{
	display: flex;
	flex-wrap: wrap;
}
#topsearch .keyword dt{
	width:9em;
	font-weight:bold;
	line-height: 1.5;
}
#topsearch .keyword dd{
	margin:0px 10px 10px 0px;
	background:#F3F2F4;
	line-height: 1.5;
}
#topsearch .keyword dd a{
	display:block;
	padding:3px 10px 2px 10px;
	color:#222;
	border-bottom:2px solid #CCC;
	text-decoration:none;
	line-height: 1.5;
	transition:all .5s;
}
#topsearch .keyword dd a:hover{
	background:#ccc;
}
/*==============================================================================
	画像横並び（.bannerimg ul）
==============================================================================*/
.bannerimg{
	padding:0px 0px 30px 0px;
}
.bannerimg ul{
	margin:0 0 0 -10px;
	display:flex;
	flex-wrap:wrap;
	list-style:none;
}
.bannerimg ul li{
	margin:0 0px 10px 10px;
}
.bannerimg ul li a{
	display:block;
}
.bannerimg img{
	vertical-align:bottom;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
.kinkyulink{
	padding-right:20px;
	width:45%;
	align-self:center;
	box-sizing:border-box;
}
.kinkyulink a{
	padding:18px 50px;
	display:inline-block;
	color:#ffffff;
	font-size:170%;
	font-weight:bold;
	background:#b60000;
	border-radius:24px;
	line-height:1.2;
}
/*==============================================================================
	サイト内検索／キーワード
==============================================================================*/
/*------------------------------------------------------------------------------
		検索
------------------------------------------------------------------------------*/
#topsearch{
	margin-left:auto;
	margin-bottom:80px;
	padding-top:2.5%;
	width:55%;
	max-width:600px;
	text-align:left;
}
#topsearch #formwrap{
}
#topsearch form{
	display:flex;
}
/*	PICK UP
------------------------------------------------------------------------------*/
#topsearch .keyword{
	margin:10px 0px;
	width:100%;
}
#topsearch .keyword dt{
	margin-bottom:10px;
  width:100%;
	font-size:130%;
	font-weight:normal;
	font-family:"underscore","Anton","BIZ UDPGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	color:#ffffff;
	letter-spacing:.1em;
	--x: 0 0 var(--text-outline--width, 1px) var(--text-outline--color, #020959);
	--y: var(--x), var(--x), var(--x), var(--x), var(--x), var(--x) /* 6 */;
	text-shadow: var(--y), var(--y), var(--y), var(--y), var(--y), var(--y) /* 6 * 6 = 36 */;
}
#topsearch .keyword dd{
	font-size:80%;
	font-weight:bold;
	background:#343C8F;
	border:2px solid #000000;
	border-radius:100vh;
}
#topsearch .keyword dd a{
	padding:7px 15px 7px 15px;
	color:#ffffff;
	border:none;
	border-radius:100vh;
}
#topsearch .keyword dd a:hover{
	background:#4C57CA;
}
/*==============================================================================
	メインメニュー／SNS
==============================================================================*/
#mainmenubg{
	width:100%;
}
#mainmenu{
	display:flex;
	justify-content:flex-end;
}
/*------------------------------------------------------------------------------
		メインメニュー
------------------------------------------------------------------------------*/
#bannermenu{
	width:calc(100% - 300px);
}
#portalnavibg,
.portalnavi{
	height:100%;
}
#portalnavibg ul.flexstyle1{
	margin:0px 0px 0px 0px;
	height:100%;
	justify-content:flex-end;
}
#portalnavibg ul.flexstyle1 li{
	margin:0px 25px 20px 0px;
	width:calc(100% / 3 - 25px);
	max-width:300px;
}
#portalnavibg ul.flexstyle1 li a{
	position:relative;
	font-size:170%;
	color:#ffffff;
	background:rgba(0,0,0,0.8);
	border-radius:30px;
	line-height:1;
}
#portalnavibg ul.flexstyle1 li:nth-child(1) a{
	color:#FD6864;
}
#portalnavibg ul.flexstyle1 li:nth-child(2) a{
	color:#C0D61B;
}
#portalnavibg ul.flexstyle1 li:nth-child(3) a{
	color:#F5A244;
}
#portalnavibg ul.flexstyle1 li [lang]{
	padding-top:20px;
	font-family:"underscore","Anton","BIZ UDPGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	display:block;
	font-size:55%;
	font-weight:normal;
	letter-spacing:.2em;
}
#portalnavibg ul.flexstyle1 li a::after{
	width:0px;
	height:0px;
	box-sizing:border-box;
	content:"";
	position:absolute;
	bottom:22px;
	right:21px;
	border-style:solid;
	border-width:5px 0 5px 8px;
	border-color:transparent transparent transparent #ffffff;
}
#portalnavibg ul.flexstyle1 li a::before{
	width:30px;
	height:30px;
	position:absolute;
	bottom:12px;
	right:12px;
	content:"";
	background-color:#333B8C;
	border:2px solid #333B8C;
	border-radius:100%;
	box-sizing:border-box;
}
#portalnavibg ul.flexstyle1 li a img:not(.external){
	margin-top:-60px;
}
/*------------------------------------------------------------------------------
		SNS
------------------------------------------------------------------------------*/
.portalsns{
	margin-bottom:20px;
	width:300px;
	background:rgba(236,236,236,0.9);
	border-radius:30px 0px 0px 30px;
}
/*	X
------------------------------------------------------------------------------*/
.portalsns ul.flexstyle2{
	margin:20px 15px 18px 15px;
	border-bottom:1px solid #BCBCBC;
}
.portalsns ul.flexstyle2 li{
	margin:0 0px 15px 0px;
	width:calc(100%);
	text-align:left;
}
.portalsns ul.flexstyle2 li a{
	font-size:68%;
	color:#020957;
	background:none;
}
.portalsns ul.flexstyle2 li .bigtxt{
	display:block;
	font-size:130%;
}
/*	その他SNS
------------------------------------------------------------------------------*/
.portalsns ul.flexstyle1{
	margin:0px 0px 0px -10px;
	padding:15px 20px 20px 20px;
}
.portalsns ul.flexstyle1 li{
	margin:0 0px 15px 10px;
	width:calc(100% / 2 - 10px);
}
.portalsns ul.flexstyle1 li a{
	padding:0px;
	font-size:70%;
	font-weight:normal;
	color:#020957;
	background:none;
	letter-spacing:0em;
}
.portalsns ul.flexstyle1 li a img:not(.external){
	margin:0px auto 5px auto;
}
/*==============================================================================
	bxslider
==============================================================================*/
#bxsliderbg{
	width:100%;
	position:absolute;
	top:0px;
	left:0px;
	z-index:0;
}
#bxsliderbg::before{
	width:100px;
	height:745px;
	content:'';
	position:absolute;
	top:0px;
	left:0px;
	background:url(images/portal/tlogo_bg.png) no-repeat left top;
	mix-blend-mode:multiply;
	z-index:2;
}
#bxsliderbg::after{
	width:100%;
	height:80px;
	content:'';
	position:absolute;
	bottom:0px;
	left:0px;
	background:url(images/portal/slider_bg.png) no-repeat center bottom / contain;
	z-index:2;
}
#bxsliderbg .bx-controls-auto{
	padding:0px 15px;
	bottom:80px;
	box-sizing:border-box;
	text-align:left;
}
#bxsliderbg .bx-wrapper .bx-controls-auto .bx-start,
#bxsliderbg .bx-wrapper .bx-controls-auto .bx-stop{
	padding:3px 10px;
	z-index:99;
	font-size:90%;
	color:#ffffff;
	background:#333B8C;
	border:none;
	border-radius:3px;
	cursor:pointer;
}
.bxslider > li[aria-hidden="false"] img{
	animation:anime_zoom 7.5s ease-in-out;
}
.bxslider > li[aria-hidden="true"] img{
	transform:scale(1.0);
}
@keyframes anime_zoom{
	0%   { transform:scale(1.1); }
	100% { transform:scale(1.0); }
}
/*==============================================================================
	インスタ
==============================================================================*/
#insta .container{
	padding:32px 32px 60px 32px;
}
#insta .titlebg{
	margin-bottom:40px;
	display:flex;
	align-items:flex-end;
	color:#ffffff;
}
#insta h2{
	margin-right:20px;
	font-size:350%;
	font-family:"underscore","Anton","BIZ UDPGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	color:#ffffff;
	text-align:left;
	line-height:1;
	letter-spacing:.1em;
}
#insta .titlebg p{
	font-size:95%;
	text-align:left;
}
#insta .titlebg a{
	color:#ffffff;
	text-decoration:none;
}
#insta .titlebg .h2title{
	padding-left:84px;
	background:url(images/sns/logo_instagram_w.svg) no-repeat left center / 52px auto;
}
#photolist{
	padding:0px;
}
#photolist li a img{
	border-radius:30px;
}
#photolist.pattern02 li.photo03{
	width:49%;
	float:right;
}
#photolist.pattern02 li.photo03{
	margin-right:0px;
}
#photolist.pattern02 li.photo04{
	margin:0px 2% 2% 0px;
}
/*==============================================================================
	バナー広告
==============================================================================*/
#sad{
	margin:0px auto 0px auto;
	max-width:1090px;
	display:flex;
	align-items:center;
	border:none;
}
#sad .titlebg{
	width:14em;
}
#sad h2{
	padding:0px 0px 20px 0px;
	font-size:195%;
	color:#ffffff;
	background:none;
	border:none;
}
#sad p{
	margin-right:10%;
	padding:10px 0px;
	text-align:left;
}
#sad p a{
	padding:10px 16px 10px 32px;
	position:relative;
	display:block;
	font-size:90%;
	color:#ffffff;
	background:#333B8C;
	border-radius:100vh;
	text-decoration:none;
}
#sad p a::after{
	width:0px;
	height:0px;
	box-sizing:border-box;
	content:"";
	position:absolute;
	top:calc(50% - 4px);
	left:16px;
	border-style:solid;
	border-width:5px 0 5px 8px;
	border-color:transparent transparent transparent #ffffff;
}
#sad ul{
	margin:0px;
	width:auto;
}
#sad ul li{
	margin:10px 10px 10px 10px;
	float:left;
}
#sad ul li:nth-child(5n + 1){
	clear:left;
}
/*******************************************************************************
[3] 緊急エリア
*******************************************************************************/
#kinkyu{
	text-align:left;
}
/*==============================================================================
	重要なお知らせ
==============================================================================*/
.important{
	margin:0px 0px 20px 0px;
	padding:0px 0px 6px 0px;
	background:#FFFFFF;
	border:2px solid #343C8F;
	border-radius:8px;
}
.important h2{
	margin-bottom:18px;
	padding:12px 10px 12px 20px;
	color:#FFFFFF;
	font-size:125%;
	background:#343C8F;
	border-radius:5px 5px 0px 0px;
}
.important h3{
	margin:0px 20px 10px 20px;
	padding:12px 15px 12px 15px;
	position:relative;
	font-size:115%;
	background:#dbdde8;
}
.important h3::before{
	width:2px;
	height:1em;
	position:absolute;
	left:0px;
	top:calc(50% - .5em);
	content:"";
	background:#343C8F;
}
.important p{
	padding:0px 20px 10px 20px;
}
.important ul{
	padding:0px 20px 10px 25px;
	list-style-type:none;
}
.important ul li{
	margin-bottom:12px;
	padding-left:15px;
	position:relative;
}
.important ul li::before {
	width:0;
	height:0;
	position:absolute;
	content:'';
	top:calc(.9em - 9px);
	left:0;
	border-style:solid;
	border-width:5px 0 5px 8px;
	border-color:transparent transparent transparent #343C8F;
}