@charset "UTF-8";
#item_detail{
	width: calc(100% - 36px);
    margin: 0 auto 50px auto;
}
#item_detail a{
	text-decoration: underline;
	color: #1A57B1; 
}
.column_box{
	clear: both;
	padding-bottom:60px;
}
.zerosai{
    width: calc(100% - 36px);
	box-sizing: border-box;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;     /* 折り返しを許可(画面幅狭い時に備える) */
	justify-content: space-between; /* 横方向にカラム同士を空ける */
	border: 1px solid #1A57B1;  
	padding: 16px 12px;
	box-sizing: border-box;
	font-size:16px;
	font-family: "NotoSans_R";
	border-radius: 10px;
  }
  .zerosai img{
	display: block;
	width:70%;
	max-width:330px;
	margin:0 auto 12px;
  }
  .col {
    flex: 0 0 100%; /* 1カラム表示 */
  }

  /* カラムの表示順を変更したい場合にorderを使う例 */
  .col1 { order: 1; }
  .col2 { order: 3; }
  .col3 { order: 2; width:90%}

  .bl_sub{
	font-size:16px;
	font-weight: bold;
	color:#1A57B1;
	display: block;
	margin-bottom:10px;
	text-align: center;
  }
  .bl_btn{
	width: calc((100% - 36px) / 2);
	box-sizing: border-box;
	font-size: 9.44px;
	padding: 8px;
	background: #1A57B1;
	display: inline-block;
	text-align: center;
	margin: 0 20px 10px 0px;
	line-height: 10px;
	border-radius: 35px;
	transition: .3s;
	color: #fff;
 }
 .bl_btn:nth-of-type(even){
	margin-right:0;
 }

 .fl_box4 .bl_btn{
	margin:0 auto 16px;
	width:105px;
 }
 .fl_box4 .bl_btn:nth-of-type(even){
	margin-left:20px;
 }

  .bl_sankaku{
	width: calc(100% - 72px);
	margin: 0 auto;
	padding: 40px 22px 70px;
	background: #F1F4F8;
	position: relative; 
	box-sizing: border-box; 
	display: flex; 
	flex-wrap: wrap;
	gap: 20px; 
  }
  .bl_sankaku::before {
	content: "";
	position: absolute;
	/* 三角形を.containerの中央上部へ */
	top: -25px;              /* 三角形の高さ分だけ上に飛び出す */
	left: 50%;
	transform: translateX(-50%);
	/* ここで三角形（▲）を描く */
	border-left: 40px solid transparent; 
	border-right: 40px solid transparent;
	border-bottom: 40px solid #F1F4F8;
  }   
  .fl_box{
	width:100%;
	background-color: #fff;
	box-sizing: border-box;
	background: #F1F4F8;
	font-family: "NotoSans_R";
  }
  .fl_box2{
	flex-direction: column;
	width: 100%;
	font-family: "NotoSans_R";
	margin-bottom: 56px;
  } 
  .fl_box4{
	box-sizing: border-box;
	font-family: "NotoSans_R";
	width: 100%;
	margin-bottom:48px;
	text-align: center;
  }
  .fl_box4:nth-last-of-type{
	margin-bottom:0;
}

  .fl_box img,  .fl_box .bl_sub,  .fl_box p,
  .fl_box2 img,  .fl_box2 .bl_sub,  .fl_box2 p,
  .fl_box4 img,  .fl_box4 .bl_sub,  .fl_box4 p{
	margin-bottom:20px;
  }
  .fl_box p,  .fl_box2 p,  .fl_box4 p{
	text-align: left;
  }

  .fl_box4 img{
	max-width:295px;
  }


.w1280_bg_bl{
	width: 100%;
	padding: 30px 16px 117px;
	background-color: #F1F4F8;
	box-sizing: border-box;
	margin: 60px auto 0;
	text-align: center;
}
.flexbox{
	display: flex;          
	flex-wrap: wrap;    
}
.flexbox02{
    display: flex;
	box-sizing: border-box;
	flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    margin: 0 auto;
    width: calc(100% - 120px);
	text-align: center;
}




img{
	max-width: 100%;
}
.content{
	width:98%;
	margin:0 auto;
	font-family:'NotoSans_R'!important;
}
a.i_link{
	border: 1px solid #ccc;
	background: #f1e767;
	background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
	background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
	background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
	-webkit-box-shadow: inset 1px 1px 1px #fff;
	box-shadow: inset 1px 1px 1px #fff;
	padding:2px 20px 2px 5px;
	font-family:'NotoSans_R';
	font-size:13px;
	color:blue;
	position: relative;
	height:150px;
}
a.i_link:hover{
	background: -webkit-gradient(linear, left bottom, left top, from(#fdfbfb), to(#ebedee));
	background: -webkit-linear-gradient(bottom, #fdfbfb 0%, #ebedee 100%);
	background: linear-gradient(to top, #fdfbfb 0%, #ebedee 100%);
}
a.i_link:before{
	content: '';
	width: 4px;
	height: 4px;
	border: 0;
	border-bottom: solid 2px blue;
	border-right: solid 2px blue;
	position: absolute;
	top: 50%;
	right: 3px;
	margin-top: -6px;
	transform: rotate(45deg);
}

.bg_img,.bg_img2{
	max-width: 600px;
	width:98%;
	margin:0 auto 10px auto;
}
#slider1 img,#slider2 img,#slider3 img,#slider4 img,#slider5 img{
	width:100%;
	height:auto;
}
.bg_img .bx-pager{
	margin-bottom:15px;
	width:98%;
}
a.active{
	display: inline-block;
	z-index: 999;
	width:50px;
	height:42px;
	margin:0 2px;
}
.bg_img .bx-pager img{
	width:50px;
	height:42px;
	object-fit: cover;
}
.bg_img .bx-pager li{
	margin:0 1px;
}
.left_box,.right_box{
	word-wrap: break-word;
  	overflow-wrap: break-word;
 	word-break: break-all; 
}
/*
table td{
	display: block;
	width: 100%;
	padding:10px 0;
}*/
.chtch{
	font-size:24px;
	font-weight: normal;
	color:#1A57B1;
	letter-spacing: -0.1px;
	margin-bottom:30px;
	font-family:'NotoSans_B';
	word-wrap: break-word;
	text-align: left;
}
.main_txts{
	
	margin-bottom:30px;
}
.movie{
	text-align: center;
	margin-bottom:20px;
}
.movie h3{
	font-size:22px;
	color:#000;
	text-align: center;
	
}
.movie iframe{
	width:100%;
	height:auto;
}
.movie_box{
	width:calc(100% - 50px);
	margin:20px auto;
}
.movie_box iframe{
	width:100%;
	height:auto;
	display: block;
}
.movie_box .h3_box{
	height:58px;
	display:table;
	text-align:center;
	width:100%;
	margin-bottom:10px;
}
.movie_box h3{
	color: #1A57B1;
	font-size: 16px;
	display:table-cell;
	vertical-align:middle;
	font-weight: normal;
}


.tokucho{
	margin:20px 0;
	padding-bottom:20px;
}
.tokucho h3{
	font-size:24px;
	font-weight: normal;
	color:#1A57B1;
	letter-spacing: -0.1px;
	margin-bottom:30px;
	font-family:'NotoSans_B';
	word-wrap: break-word;
	text-align: left;
}
.tokucho img{
	width:300px;
	margin:0 auto 20px auto;
	display: block;
}

.jirei{
	margin:30px 0;
}
.jirei h3{
	font-family:'NotoSans_B';
	font-weight: normal;
	font-size:20px;
	color:#333;
	border-bottom:3px solid #333;
	padding:0 0 5px 10px;
	margin-bottom:20px;
}
.jirei p{
	font-family:'NotoSans_R';
}
.jirei_box{
	width:300px;
	margin:20px auto;
	border-bottom:1px #ccc dashed;
	padding-bottom:20px;
}
.jirei_box img{
	width:auto;
}
.jirei_box a{
	display: block;
}
.jirei_box .jirei_title{
	margin-bottom:25px;
	clear: both;
	padding-top:15px;
}
.jirei_box .jirei_txt{
	font-size:15px;
	color:#011972;
}
#action_box{
	border-radius: 10px;
	box-shadow:0px 0px 10px;
	border:1px solid #ccc;
	width:250px;
	z-index: 999;
	background: #fff;
	padding:40px 10px;
	margin:20px auto 50px auto;
}
a.catalog{
	display: block;
	border-radius: 3px;
	background: #a82124 url("../../images/products/download.png") no-repeat 190px center;
	text-align: center;
	color:#fff;
	font-size:17px;
	padding:5px 10px;
	margin-bottom:30px;
}
a.mitsumori{
	display: block;
	border-radius: 3px;
	background: #fd7200 url("../../images/products/dentaku.png") no-repeat 190px center;
	text-align: center;
	color:#fff;
	font-size:17px;
	padding:5px 10px;
}
.itemlist_box{
	width:300px;
	margin:0 auto 50px auto;
}
.itemlist_box img{
	width:300px;
	height:auto;
	margin-bottom:10px;
}
.itemlist_box h3{
	font-size:18px;
	margin-bottom:20px;
}
.itemlist_box p{
	font-size:15px;
	color: #011972;
}

table{
	width:100% !important;
	border-collapse: collapse;
}
/*
table th,
table td {
	padding: 10px;
	text-align: left;
	border: 1px solid #333;
}

table th {
	background-color: #f2f2f2;
}*/

/* 横スクロール可能なテーブル用CSS */
.h_scroll {
display: block; /* tableをブロック要素化 */
width: 100% !important;
height: auto !important;
overflow-x: scroll;  /* 横スクロール */
-webkit-overflow-scrolling: touch; /* スマホでスムーズスクロール */
border-collapse: collapse;
white-space: nowrap; /* 折り返しを防ぎ横スクロールにする */
}

/* スクロールバーの見た目調整 */
.h_scroll::-webkit-scrollbar {
height: 8px;
}

.h_scroll::-webkit-scrollbar-thumb {
background: #ccc;
border-radius: 4px;
}

.h_scroll::-webkit-scrollbar-track {
background: #f1f1f1;
}
/* スクロールできることを示すヒント（任意で .show-hint 付与） */
.show-hint::after {
content: "← スワイプ →";
position: absolute;
bottom: 6px; /* スクロールバー領域と干渉しにくい位置 */
left: 50%;
transform: translateX(-50%);
font-size: 12px;
line-height: 1;
padding: 6px 10px;
background: rgba(0,0,0,0.55);
color: #fff;
border-radius: 999px;
pointer-events: none; /* タップ操作を邪魔しない */
}

/* 初回インタラクション後は自然に目立たなくする（純CSSの軽い演出） */
.show-hint:active::after,
.show-hint:focus-within::after {
opacity: 0.15;
}


/* アクセシビリティ：動きの軽減を尊重（演出をオフ気味に） */
@media (prefers-reduced-motion: reduce) {
.show-hint::after { transition: none; }
}

/*** 
記事
***/
.menu_sp{
	width:277px;
	height:56px;
	line-height: 56px;
	background: #3A75BB;
	color: #fff;
	padding-left:50px;
	box-sizing: border-box;
	margin:30px auto;
	border-radius: 100px;
	position: relative;
}
summary.menu_sp::before {
    content: "＋";
    margin-right: 6px;
	color:#fff;
	font-size:20px;
	font-weight: bold;
	position: absolute;
	right:30px;
}
details#leftside_sp[open] summary.menu_sp::before {
    content: "－";
}
#kiji_detail{
	width: calc(100% - 36px);
    margin: 0 auto 50px auto;
}
#kiji_detail a{
	text-decoration: underline;
	color: #1A57B1; 
	word-break: break-all;
}
a.catalog {
	display: block;
	width: 80%;
	border-radius: 3px;
	background: #a82124 url(../../images/products/download.png) no-repeat 80% center;
	text-align: center;
	color: #fff!important;
	font-size: 16px;
	padding: 15px 0;
	margin: 30px auto;
}
#leftside_sp{
	/*width: auto;*/
	width: 277px !important;;
	margin: 0 auto;
}
#leftside_sp .itemlist_box{
	width: 277px !important;
	box-sizing: border-box;
}
#leftside_sp .itemlist_box a{
	display: block;
	padding:14px 0 14px 23px;
	border-bottom: 1px solid #ededed;
	color:#242424;
	font-size: 16px;
	font-family: "NotoSans_R";
	width: 277px !important;
	box-sizing: border-box;
}
#leftside_sp .itemlist_box a:first-of-type{
	border-top: 1px solid #ededed;
}
#leftside_sp .itemlist_box a.page_on{
	background: #F1F4F8;
	color:#1A57B1;
}
#leftside_sp .itemlist_box a:hover{
	color:#1A57B1;
	text-decoration: none;
}

#leftside_sp a{
	padding-left:30px!important;
}
#leftside_sp details summary{
	display: block;
	padding:14px 0 14px 5px;
	color:#242424;
	font-size: 16px;
	font-family: "NotoSans_R";
	cursor: pointer;
}
#leftside_sp details summary.page_on{
	background: #F1F4F8;
	color:#1A57B1;
}
#leftside_sp .itemlist_box > li:first-of-type details > summary,
#leftside_sp .itemlist_box > a[href="../contents/kishou/"],
#leftside_sp .itemlist_box > a[href="../../contents/kishou/"] {
	background:url("../images/../osusume.png") no-repeat 90% 50%;
	background-size:120px auto;
}
#leftside_sp .itemlist_box > li:first-of-type details > summary.page_on,
#leftside_sp .itemlist_box > a[href="../contents/kishou/"].page_on {
	background:#F1F4F8 url("../../images/osusume.png") no-repeat 90% 50%;
	background-size:120px auto;
}
#leftside_sp details{
	border-bottom: 1px solid #ededed;
}
#leftside_sp details a{
	border-bottom:none!important;
	padding-left:30px!important;
}
#leftside_sp .itemlist_box details a:first-of-type{
	border-top:none!important;
}


#leftside_sp details summary::before {
    content: "＋";
    margin-right: 6px;
	color:#1A57B1;
	font-size:20px;
	font-weight: bold;
}
#leftside_sp details[open] summary{
	border-bottom: 1px solid #ededed;
}
#leftside_sp details[open] summary::before {
    content: "－";
}
dl.news{
	width:100%;
	color:#000;
	box-sizing: border-box;
	border-bottom:1px solid #DBDBDB;
}
dl.news dt{
	display: block;
	width:100%;
	font-size:14px;
	border-top:1px solid #DBDBDB;
	padding-left:5px;
	padding-top:20px;
	margin-bottom:10px;
}
dl.news a dt {
	color: #000 !important;
}
dl.news a{
	display: block;
	text-decoration: none!important;
}
dl.news a:hover{
	background:#F1F4F8;
	text-decoration: none;
}
dl.news dt img{
	vertical-align: middle;
	margin:0 0 0 28px;
	width:92px;
	height: auto;
}
dl.news dd{
	padding-left:5px;
	font-family:'NotoSans_L';
	font-size:14px;
	width:100%;
	margin-bottom:15px;
}

.column_box ul{
	list-style: disc;
	padding-left: 20px;
}
.column_box ol{
	list-style: decimal;
	padding-left: 20px;
}
.column_box a{
	color: #0000ff;
	text-decoration: underline; 
	font-weight: bold;
}
.column_box .bg_img ul {
	list-style: none !important;
}


