/* CSS Document */

/* -----------------------------------------
 *
 * Table of Contents:
 *
 * 0.0 - tags
 * 1.0 - Repeatable Patterns
 * 2.0 - Basic Layout
 * 3.0 - Page setting
 ----------------------------------------- */

/* -----------------------------------------

	0.0 - tags

-----------------------------------------*/
body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: #fff;
  color: #333;
  line-height: 1.4;
  font-size: 15px;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}
li {
  list-style-type: none;
}
/* -----------------------------------------

	1.0 - Repeatable Patterns

-----------------------------------------*/
.mincho {
  /*font-family: 小塚明朝 Pro, Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;*/
}
.size-xs {
  font-size: 80%;
}
.size-s {
  font-size: 90%;
}
.size-m {
  font-size: 110%;
}
.size-l {
  font-size: 120%;
}
.size-xl {
  font-size: 130%;
}
.bg1 {
  background: #f4f1e7;
}
.c-01 {
  color: #1d2088;
}
.c-02 {
  color: #aa569d;
}
.tit-03 {
  text-align: center;
}
.tbl-01 {
}
.tbl-01 table {
  width: 100%;
}
.tbl-01 table tr td {
  padding: 10px;
  border: 1px solid #000;
}
.tbl-01 table tr:nth-child(odd) td {
  background: #cae5cd;
}
.tbl-01 table tr td.name {
  width: 120px;
}
.tbl-01 table tr td.year {
  width: 65px;
  padding: 10px 0 10px 10px;
  border-right: none;
}
.tbl-01 table tr td.month {
  width: 35px;
  text-align: right;
  padding: 10px 10px 10px 0;
  border-left: none;
}

.tbl-01 table tr td.tx-middle {
  vertical-align: middle;
}
.tbl-01 table tr td.map p:first-child {
  float: left;
  margin-top: 5px;
}
.tbl-01 table tr td.map p:nth-child(2) {
  float: left;
  margin: 5px 10px 0 10px;
}
.tbl-01 table tr td.map p.ml-46 a {
  margin-left: 48px;
}
.tbl-01 table tr td.map p a:hover {
  opacity: 0.6;
}
.tbl-01 table tr td.clear {
  clear: both;
}
.tbl-01 table tr td a.tg_link {
  color: black;
}
.tbl-01 table tr td a.tg_link:hover {
  opacity: 0.6;
}

.lnav-center {
  text-align: center;
}
.lnav-center li {
  display: inline-block;
}
.list-01 li {
  margin-left: 1em;
  text-indent: -1em;
}
.list-outline {
}
.list-outline .single {
  width: 914px;
  overflow: hidden;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #000;
}
.list-outline .single .img {
  float: left;
  width: 302px;
}
.list-outline .single .info {
  float: right;
  width: 594px;
}
.list-outline .single .info .mincho {
  margin-left: 1.2em;
  margin-top: 5px;
}
.list-works {
  overflow: hidden;
  width: 728px;
  margin: auto;
}
.list-works li {
  float: left;
  padding: 5px;
  width: 354px;
}
.list-half {
  overflow: hidden;
}
.list-half li {
  float: left;
}
.box-m-01 {
  width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.box-m-02 {
  width: 672px;
  margin-left: auto;
  margin-right: auto;
}
/* -----------------------------------------

	2.0 - Basic Layout

-----------------------------------------*/
#wrapper {
  width: 1000px;
  margin: auto;
}
#header {
}
#header #gnav {
  margin: auto;
}
#header #gnav ul {
  overflow: hidden;
}
#header #gnav ul li {
  float: left;
  width: 144.8px;
  border-right: 1px solid #000;
}
#header #gnav ul li.home {
  width: 123px;
  border-left: 1px solid #000;
}
#header #gnav ul li a {
  color: #000;
  text-align: center;
  text-decoration: none;
  display: block;
  padding: 8px 0;
}
#header #gnav ul li a:hover,
#header #gnav ul li a.on {
  background: #000;
  color: #fff;
}
#footer {
  text-align: center;
}
#footer .copy {
  background: #000;
  color: #fff;
  font-size: 90%;
  padding: 10px 0;
}
#footer .in {
  background: #f4f1e7;
  padding: 15px 0 40px;
}
#footer .in .address {
  font-size: 90%;
  margin-top: 5px;
}
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
#contents-in {
  width: 914px;
  margin: 0 auto 50px;
}
#page-title {
  position: relative;
}
/* -----------------------------------------

	3.0 - Page setting

-----------------------------------------*/
/* index */
.bg-index {
  background-image: url(../img/index/main_index.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  min-height: 1014px;
}
.bg-index #header #gnav {
  width: 907px;
  margin: auto;
}
.bg-index #header #gnav ul {
  border-left: 1px solid #fff;
}
.bg-index #header #gnav ul li {
  border-right: 1px solid #fff;
  width: 128px;
}
.bg-index #header #gnav ul li a {
  color: #fff;
}
#contents-index {
  text-align: center;
}
#contents-index h2 {
  margin: 20px 0 520px;
}
/* company */
.title-access {
  position: absolute;
  top: 0;
  left: 414px;
}

.csr_block {
  display: flex;
  gap: 20px;
}
.csr_block img.csr_title {
  width: 100px;
  margin-top: 5px;
}
.csr_block img.new {
  height: 32px;
  vertical-align: middle;
}
.csr_block a {
  color: #e60012;
}
.info_block {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}
.info_block img.info_title {
  width: 69px;
  padding-right: 31px;
  margin-top: 5px;
}
.info_block img.new {
  height: 32px;
  vertical-align: middle;
}
.info_block a {
  color: #e60012;
}
.information2024_content {
  display: flex;
  gap: 20px;
}
.information2024_content .information2024_text {
  width: 53%;
  line-height: 1.8;
  font-size: 120%;
}
.information2024_content .information2024_img {
  width: 47%;
  text-align: right;
}
.information2024_content .information2024_img img {
  width: 100%;
}
.information2024_content2 img {
  width: 100%;
}

.information2024_img2_notes {
  position: relative;
  width: 100%;
}

.information2024_img2_notes .center {
  position: absolute;
  top: 50%; /* 縦方向の中央 */
  left: 50%; /* 横方向の中央 */
  transform: translate(-50%, -50%); /* 完全に中央に配置 */
  color: #e60012;
}

.information2024_img2_notes .right {
	position: absolute;
	top: 50%; /* 縦方向の中央 */
	right: 0; /* 横方向の右端 */
	transform: translateY(-50%); /* 縦方向を中央揃え */
}

/* XXX */
