@charset "utf-8";
/*
サイト上の構成の大枠としてページ内に1度しか出てこないものと、グリッドレイアウトについてを記述します。
We will write about thing the only comes out once on the page as a frame and grid(column) layout.

接頭辞はLayoutの頭文字を取って【l_】とします。
Prefix will take the "Layout" first letter and use it as "l_".

ここで指定するのは以下の様なものと予想されます。
You might use the following.
.l_wrap/.l_container/.l_header/
.l_nav/.l_main/.l_contents/.l_footer

モディファイヤを使用する場合は接頭辞【has_】をつけ、各レイアウトの下に記述します。
When using modifier put the prefix "has_" and write it under each layout.

フォントサイズはremで指定します。
"rem" will be used for font-size.
*/
/*----------------------------------------------
	.l_wrap
---------------------------------------------*/
.l_wrap {
	width: 1150px;
	margin: 0 auto;
}

/*----------------------------------------------
	.l_page_top
---------------------------------------------*/
.l_page_top {
  z-index:10;
  position:fixed;
  right:20px;
  bottom:20px;
  margin:0;
  display:block;
  width:44px;
  height:44px;
  text-indent:-9999px;
  background:#0077B3 url("../images/return_top.png") no-repeat center;
  border-radius:4px;
}
.l_page_top:hover {
  background-color:#57BDCC;
}

/*----------------------------------------------
	.l_header_area
---------------------------------------------*/
.l_header_area {
  border-top: 5px solid #222;
}
.l_header {
  position: relative;
  height: 118px;
}

/*----------------------------------------------
	.l_logo
---------------------------------------------*/
.l_logo_image {
  position: absolute;
  margin: 0 0 6px 0;
}
.l_logo_image img {
  width: 160px;
	margin-top: 15px;
	margin-left: 11px;
}
.l_logo_txt {
  margin-left: 220px;
  padding-top: 37px;
  font-size: 13px;
  line-height: 20px;
}

/*----------------------------------------------
	.l_header_btn_area
---------------------------------------------*/
.l_header_btn_area {
  display: block;
  width: 490px;
  height: auto;
  position: absolute;
  right: 0px;
  top: 56px;
  background: none;
	margin-top: -20px;
}
.l_header_btn_area li {
	float: left;
	margin-left: 1.5%;
}

/*----------------------------------------------
	.l_global_menu
---------------------------------------------*/
.l_global_menu {
  width: 1150px;
  margin: 0 auto;
}
.l_global_menu > ul {
  display: flex; 
  width: 1150px;
  height: 50px;
  margin: 0;
  border: none;
  gap: 5px;
}
.l_global_menu > ul > li {
  flex: 1; 
  margin: 0;
  position: relative;
}
.l_global_menu > ul > li > a,
.l_global_menu > ul > li > span {
  height: 50px;
  border-radius: 7px 7px 0 0;
  background: linear-gradient(to bottom, #0077b3 1%,#0077b3 50%,#006399 50%,#006399 50%,#006399 68%,#1e5799 100%,#1e5799 100%,#006399 100%);
  font-size: 14px;
  line-height: 50px;
  letter-spacing: 1px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #fff;
  margin: 0;
  display: block;
}
.l_global_menu > ul > li > a:hover,
.l_global_menu > ul > li > span:hover {
  background: #0077b3;
}

/*----------------------------------------------
	.l_global_sub_menu
---------------------------------------------*/
.l_global_sub_menu {
  z-index: 9;
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.global_menu_list:hover > .l_global_sub_menu {
  height: auto;
  overflow: visible;
  opacity: 1;
}
.l_global_sub_menu > li {
  width: 100%;
  float: none;
  line-height: 150%;
  padding: 0;
  margin: 0;
  text-align: left;
  position: relative;
}
.l_global_sub_menu > li > a {
  display: block;
  height: auto;
  border-radius: 0;
  background: #fff;
  letter-spacing: 1px;
  font-weight: normal;
  color: #333;
  font-size: 13px;
  position: relative;
  padding: 14px 20px 12px 20px;
  line-height: 100%;
  margin: 0 0 -1px 0;
  text-align: left;
  border: 1px solid #aaa;
}
.l_global_sub_menu > li > a:hover {
  background: #EFEFEF;
}

/*----------------------------------------------
	.l_container
---------------------------------------------*/
.l_container {
  overflow: hidden;
  margin-bottom: 70px;
}

/*----------------------------------------------
	.l_main_contents
---------------------------------------------*/
.l_main_contents {
  float: left;
  overflow: hidden;
}

/*----------------------------------------------
	.l_mv
---------------------------------------------*/
.l_mv {
  /*position: relative;*/
  background: #222;
  overflow: hidden;
}

/*----------------------------------------------
	.l_main_slider
---------------------------------------------*/
.l_main_slider {
  width: 1150px;
  float: left;
  height: 455px;
}

/*----------------------------------------------
	.l_sub_slider
---------------------------------------------*/
.l_sub_slider {
  width: 300px;
  float: right;
  margin: 0;
  padding: 0;
}

/*----------------------------------------------
	.l_recent_post
---------------------------------------------*/
.l_recent_post li {
  width: 100%;
  float: left;
  box-sizing: border-box;
}
.l_recent_post li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.l_recent_post li a {
  text-decoration: none;
  display: flex;
  width: 100%;
}
.l_recent_post li a:hover {
  text-decoration: underline;
}
.l_recent_post li a:hover img {
  opacity:0.5;
}
.l_recent_post .is_post_img {
  /* float: left; */
  flex-shrink: 0;
  margin: 10px 10px 0 10px;
  display: block;
  background: #000;
  width: 100px;
  height: 75px;
  margin-bottom: 10px;
}
.l_recent_post .is_post_img img {
  width:100px;
  height:75px;
  object-fit: cover;
  display:block;
  opacity:1;
  transition: opacity .4s ease-in-out;
  transform: rotate(0);
}
.l_recent_post .is_post_info {
  /* float: left; */
  margin: 10px 0 0 0;
}
.l_recent_post .is_post_date {
  margin: 0 0 5px 0;
  padding: 0;
  line-height: 100%;
  font-size: 12px;
}
.l_recent_post .is_post_title {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 160%;
  height: 60px;
  overflow: hidden;
}

/*----------------------------------------------
	.l_post_list
---------------------------------------------*/
.l_post_list {
  margin: 0;
  padding: 0;
  background: #f9f9f9;
}
.l_post_list li {
  border-bottom: 1px solid #ccc;
  padding: 15px;
}
.l_post_list li:last-child {
  border-bottom: none;
}

/*----------------------------------------------
  .l_related_post
---------------------------------------------*/
.l_related_post img{
  width: auto;
  height: 70px;
  object-fit: cover;
}

/*----------------------------------------------
	.l_icon_list
---------------------------------------------*/
.l_icon_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding-top: 15px;
  padding-bottom: 30px;
}
.l_icon_list li {
  text-align: center;
	margin: 0 auto;
	border-bottom: dotted 1px #666;
  border-bottom: none;
  float: left;
	width: 230px;
	padding: 20px;
}
.l_icon_list li img {
	margin: 0 auto;
	border-radius: 50%;
  width: 90px;
}
.l_icon_list li h5 {
  font-size: 14px;
}
.l_icon_list li p {
  font-size: 12px;
	line-height: 18px;
}
.l_icon_list li span {
  color: blue;
	font-size: 12px;
}

/*----------------------------------------------
	.l_side_contents
---------------------------------------------*/
.l_side_contents {
  width: 300px;
  margin-top: 20px;
  float: right;
}

/*----------------------------------------------
	.l_inner_contents
---------------------------------------------*/
.l_inner_contents {
  width: 830px;
  float: left;
  margin: 20px 20px 0 0;
}
.l_inner_contents > div {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

/*----------------------------------------------
	.l_bread_crumb
---------------------------------------------*/
.l_bread_crumb {
  margin: 0;
  height: 40px;
  line-height: 40px;
  overflow: hidden;
  border: 1px solid #ccc;
  background: url("../images/bread_background.gif") repeat-x left bottom;
  padding: 0 20px;
}
.l_bread_crumb li {
  float: left;
  height: 40px;
  line-height: 40px;
  font-size: 12px;
  background: url("../images/bread_arrow.gif") no-repeat right bottom;
  padding-right: 30px;
  margin-right: 20px;
}
.l_bread_crumb li.last {
  background: none;
  margin: 0;
  padding: 0;
}
.l_bread_crumb li a {
  color: #aaa;
  text-decoration: none;
  display: inline-block;
}
.l_bread_crumb li.home span {
  display: block;
  text-indent: -9999px;
  width: 17px;
  background: url("../images/bread_home.gif") no-repeat left 1px;
  height: 40px;
  line-height: 40px;
}
.l_bread_crumb li.home a:hover span {
  background-position: left -39px;
}

/*----------------------------------------------
	.l_footer_area
---------------------------------------------*/
.l_footer_area {
  padding-bottom: 40px;
  background: #333333;
  color: #fff;
}

/*----------------------------------------------
	.l_footer_area
---------------------------------------------*/
.l_copyright {
  font-size: 12px;
  width: 100%;
  height: 40px;
  line-height: 40px;
  background: #222;
  text-align: center;
  color: #aaa;
  margin: 0;
  padding: 0;
}