   /* スタイルの追加 */
    body {
      font-family: 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
      font-size: 20px;
      margin: 0px; /* 左右と上部の余白を追加 */
      padding: 0px;
  margin-top: 0px; /* 上部の余白を追加 */
    background-image: url('../img_m/b058.jpg');
    background-repeat: repeat; /* 縦横にリピート */
    background-size: auto; /* 画像サイズを保持 */
    background-position: top left; /* 画像の配置位置 */
    }
    
    
    
.footer{
	clear: both;
	padding: 20px 10px 20px 0;
	text-align: center;
	font-size: 12px;
}

  .centered-image img {
    	width: 100%;
	height: auto;
margin-bottom:10px;
	vertical-align: bottom;
  }



    /* コンテナ */
    .container {
      max-width: 100%; /* コンテンツの最大幅を100%に指定 */
      margin: 10 10 10 10; /* 水平中央に配置 */
      text-align: left; /* テキストを左寄せ */
      padding: 10px;
    }


    /* 本文テキストのスタイル */
    .body_text {
		font-family: 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
      text-align: justify;
font-size: 20px;
      padding: 10px;
      text-align: left; /* テキストを左揃えに */
line-height: 1.3; /* 行間を調整する値を指定 */
    }



a {
  text-decoration: none; /* リンクのアンダーバーを非表示にする */
}


/* シンプル 枠（影）1 */
.kakomi-box3 {
 margin: 2em auto;
 padding: 1em;
 width: 88%;
 border: 1px solid #ccc; /* 枠線 */
 background-color: #fff; /* 背景色 */
 box-shadow: 1px 1px 2px #ccc;
}

.under {
  background: linear-gradient(transparent 50%, #a8eaff 50%);
}

h2 {
  position: relative;
  padding: 1em 1em;
  text-align: center;
 white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

h2:before,
h2:after {
  position: absolute;
  content: '';
}

h2:after {
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
margin:10px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
}

h2:before {
  right: 0;
  bottom: 0;
  width: 60px;
  height: 60px;
margin:10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
}

h3 {
  position: relative;
  text-align: center;
}

h3 span {
  font-size: 2rem;
  display: block;
}

h3:before {
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #fa4141;
}

h4 {
  position: relative;
  display: inline-block;
  padding: 0 2em;
  text-align: center;
}

h4:before,
h4:after {
  font-family: 'Font Awesome 5 Free';
  line-height: 1;
  position: absolute;
  top: calc(50% - .5em);
  color: #eb6100;
}

h4:before {
  left: 0;
  content: '\f101';
}

h4:after {
  right: 0;
  content: '\f100';
}




#footer .inner{
border-top:2px solid #ebebeb;
border-bottom:2px solid #ebebeb;
overflow:hidden;
font-size:15px;
margin:10px;
}


ul.footnav{
float:right;
width:630px;
padding:10px 0;
}

ul.footnav li{
float:left;
margin-bottom:10px;
padding:0 7px 0 8px;
border-right:1px solid #ebebeb;
}

	#footer .grid,#footer ul.footnav{
	float:none;
	width:100%;
	text-align:center;
	}

	ul.footnav li{float:none;display:inline-block;}
	
	.grid{
	width:32%;
	margin:10px 0 0 1%;
	}


/*ハンバーガーボタン*/
.el_humburger {
  position: fixed;
  top: 45px;
  right: 60px;
  width: 46px;
  height: 25px;
  padding-top: 1px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 0px;
  z-index: 20;
  cursor: pointer;
  pointer-events: auto;
  color: #000;
  text-align: center;}
 
@media screen and (max-width: 840px) {
  .el_humburger {
    display: block;
    right: 0;
    top: 0;
    padding-top: 30px;
    width: 70px;
    height: 70px;}
    #factory .el_humburger {
      display: none; } }
 
.el_humburger_wrapper {
  margin-bottom: 5px;
  width: 42px;
  display: inline-block; }
 
@media screen and (max-width: 840px) {
  .el_humburger_wrapper {
    margin-bottom: 5px;
    width: 30px; } }
 
.el_humburger_text {
  font-size: 12px;
  letter-spacing: 0.1em;
  font-family: "游ゴシック Medium", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; }
 
.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
  display: none; }
 
.el_humburger_text.el_humburger_text__close {
  display: none; }
 
.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
  display: block; }
 
@media screen and (max-width: 840px) {
  .el_humburger_text {
    font-size: 10px;
    padding-top: 2px; } }
 
@media screen and (max-width: 840px) {
  .el_humburger_text svg path {
    -webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    -o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    fill: #000; } }
 
@media screen and (max-width: 840px) {
  .js_humburgerOpen .el_humburger_text svg path {
    fill: #000; } }
 
.el_humburger span.el_humburger_bar {
  display: block;
  width: 100%;
  margin: 0 auto 9px;
  height: 1px;
  background: #000;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }
 
.el_humburger span.el_humburger_bar:last-child {
  margin-bottom: 0; }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar {
  background: #000; }
 
@media screen and (max-width: 840px) {
  .el_humburger span.el_humburger_bar {
    left: 0;
    top: 0;
    background: #000; } }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
  -webkit-transform: translateY(9px) rotate(-45deg);
  -ms-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg); }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
  opacity: 0; }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-11px) rotate(45deg);
  -ms-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg); }
 
.el_humburgerButton.el_humburgerButton__close {
  top: 2%;
  right: 2%; }
 
.el_humburgerButton__close span.el_humburger_bar {
  display: block;
  width: 35px;
  margin: 0 auto;
  height: 4px;
  background: #000; }
 
.el_humburgerButton__close span.el_humburger_bar.top {
  -webkit-transform: translateY(5px) rotate(-45deg);
  -ms-transform: translateY(5px) rotate(-45deg);
  transform: translateY(5px) rotate(-45deg); }
 
.el_humburgerButton__close span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-6px) rotate(45deg);
  -ms-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg); }
 
.navi {
  position: fixed;
  right: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  width: 50%;
  z-index: 3;
  padding-top: 00px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 600ms ease-out;
  -o-transition: all 600ms ease-out;
  transition: all 600ms ease-out;
  transform:translateZ(0) translateX(100%);
  overflow: auto; }
  .js_humburgerOpen .navi {
    right: auto;
    transform:translateZ(0) translateX(0); }
    @media screen and (max-width: 840px) {
      .navi {
        padding: 70px 5% 0; }
      .js_humburgerOpen .navi {
        width: 100%;
right: -100px;} }
 
.navi_item {
  margin-bottom: 28px;
  font-size: 24px;
  white-space: nowrap;
  margin-left: 120px; }
  .navi_item.op_innerLink {
    cursor: pointer; }
  @media screen and (max-width: 840px) {
    .navi_item {
      margin-left: 10px;
      font-size: 20px; 
 display: block;
      margin: 25px 0;
font-family: 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
} }


h5 {
 font-size:20px;
  padding: 0.5em;/*文字周りの余白*/
  color: #494949;/*文字色*/
  background: #fff;/*背景色*/
  border-left: solid 7px #ffaf58;/*左線（実線 太さ 色）*/
border-right: solid 7px #ffaf58;/*左線（実線 太さ 色）*/
 border-bottom: solid 3px #d7d7d7;/*下線*/
}

h6
 {
 font-size:20px;
  padding: 0.5em;/*文字周りの余白*/
  color: #494949;/*文字色*/
  background: #fff;/*背景色*/
  border-left: solid 7px #7db4e6;/*左線（実線 太さ 色）*/
  border-right: solid 7px #7db4e6;/*左線（実線 太さ 色）*/
 border-bottom: solid 3px #d7d7d7;/*下線*/
}


h9 {
  position: relative;
  padding: 1.5rem 2rem;
  -webkit-box-shadow: 0 2px 14px rgba(0, 0, 0, .1);
  box-shadow: 0 2px 14px rgba(0, 0, 0, .1);
}

h9:before,
h9:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background-image: -webkit-linear-gradient(315deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
  background-image: linear-gradient(135deg, #704308 0%, #ffce08 40%, #e1ce08 60%, #704308 100%);
}

h9:before {
  top: 0;
}

h9:after {
  bottom: 0;
}


h10 {
  position: relative;
  overflow: hidden;
  padding: 1.5rem 2rem 1.5rem 130px;
  border: 2px solid #000;
}

h10:before {
  position: absolute;
  top: -150%;
  left: -100px;
  width: 200px;
  height: 300%;
  content: '';
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #000;
}

h10 span {
  font-size: 40px;
  font-size: 4rem;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  padding-top: 3px;
  padding-left: 16px;
  color: #fff;
}

/*タイトル付き（見出しボックス）*/
.box71{
	margin: 2em auto; /* ボックスの余白 */
	background-color: #fff; /* ボックス背景色 */
	padding: 3em 1em 1em; /* ボックス内側余白 */
	position:relative; /*配置(ここを基準に)*/
	box-shadow: 0px 1px 5px rgba(0,0,0,0.1);/*ボックス影*/
}
.box71 .box-title {
	background-color: #6a5acd; /* タイトル背景色 */
	font-size: 1em;/* タイトル文字の大きさ */
	color: #fff; /* タイトル文字色 */
	padding-top:10px;/*タイトル余白*/
	padding-bottom:10px;/*タイトル余白*/
	text-align: center;	/* タイトル中央寄せ */
	position:absolute;	/* 配置(ここを動かす) */
	top:0;	/*上から(0px)に配置 */
	left:0; /*左から(0px)に配置 */
	width:100%;/*横幅最大幅 */
}

.box72{
	margin: 2em auto; /* ボックスの余白 */
	background-color: #fff; /* ボックス背景色 */
	padding: 3em 1em 1em; /* ボックス内側余白 */
	position:relative; /*配置(ここを基準に)*/
	box-shadow: 0px 1px 5px rgba(0,0,0,0.1);/*ボックス影*/
}
.box72 .box-title {
	background-color: #191970; /* タイトル背景色 */
	font-size: 1em;/* タイトル文字の大きさ */
	color: #fff; /* タイトル文字色 */
	padding-top:10px;/*タイトル余白*/
	padding-bottom:10px;/*タイトル余白*/
	text-align: center;	/* タイトル中央寄せ */
	position:absolute;	/* 配置(ここを動かす) */
	top:0;	/*上から(0px)に配置 */
	left:0; /*左から(0px)に配置 */
	width:100%;/*横幅最大幅 */
}

.box73{
	margin: 2em auto; /* ボックスの余白 */
	background-color: #fff; /* ボックス背景色 */
	padding: 3em 1em 1em; /* ボックス内側余白 */
	position:relative; /*配置(ここを基準に)*/
	box-shadow: 0px 1px 5px rgba(0,0,0,0.1);/*ボックス影*/
}
.box73 .box-title {
	background-color: #87cefa; /* タイトル背景色 */
	font-size: 1em;/* タイトル文字の大きさ */
	color: #fff; /* タイトル文字色 */
	padding-top:10px;/*タイトル余白*/
	padding-bottom:10px;/*タイトル余白*/
	text-align: center;	/* タイトル中央寄せ */
	position:absolute;	/* 配置(ここを動かす) */
	top:0;	/*上から(0px)に配置 */
	left:0; /*左から(0px)に配置 */
	width:100%;/*横幅最大幅 */
}





.table_design07 {
  border-collapse: collapse;
  width: 100%;
  max-width: 700px;
}

.table_design07 th,
.table_design07 td {
  border: 1px solid #fff;
  background-color: #fff;
  border-radius: 5px;
  padding: 1.3em;
}

.table_design07 th {
  background-color: #A7B4AF;
  color: #fff;
  font-weight: bold;
  text-align: left;
  padding: 0.5em;
  position: relative;
}

.table_design07 th::before {
  content: '';
  position: absolute;
  top: calc(100% + 4px); /* 下向きの位置に調整 */
  left: 50%;
  border: 10px solid transparent;
  border-top: 10px solid #A7B4AF; /* 下向きの矢印 */
  transform: translateX(-50%);
  z-index: 2;
}

/* タイトルセルのスタイル変更 */
.table_design07 th {
  display: flex;
  flex-direction: column-reverse; /* タイトルを下に移動 */
  align-items: center;
}

.table_design07 th span {
  margin-bottom: 5px; /* タイトルと内容の間隔 */
}

/* コンテンツセルのスタイル変更 */
.table_design07 td {
  display: flex;
  flex-direction: column;
  align-items: center;
}





.body_text2 {
	font-family: 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
      text-align: justify;
font-size: 20px;
      padding: 10px;
      text-align: left; /* テキストを左揃えに */
line-height: 1.4; /* 行間を調整する値を指定 */
    }






h12 {
  position: relative;
  display: inline-block;
  padding: 0 65px;
  text-align: center;
}

h12:before,
h12:after {
  position: absolute;
  top: calc(50% - 3px);
  width: 50px;
  height: 6px;
  content: '';
  border-top: solid 2px #000;
  border-bottom: solid 2px #000;
}

h12:before {
  left: 0;
}

h12:after {
  right: 0;
}


.under2 {
 font-size:30px;
 font-weight:bold;
  background: linear-gradient(transparent 80%, #a8eaff 50%);
}

.under3 {
  font-size: 30px;
  font-weight: bold;
  background: linear-gradient(transparent 80%, rgba(25, 25, 112, 0.2) 50%);
}

.under4 {
 font-size:30px;
 font-weight:bold;
  background: linear-gradient(transparent 80%, #A7B4AF 50%);
}

.under5 {
 font-size:30px;
 font-weight:bold;
  background: linear-gradient(transparent 80%, #6a5acd 50%);
  }



/* 共通のスタイル */
.accordion-008 {
    max-width: 500px;
    margin-bottom: 10px;
    border-radius: 5px;
    box-shadow: 0 7px 15px -5px rgb(0 0 0 / 5%);
    background-color: #fff;
    border-left: solid 7px #0000ff;
    border-right: solid 7px #0000ff;
    border-bottom: solid 3px #d7d7d7;
}

.accordion-008 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
    list-style: none; /* 追加：リストスタイルを無効にする */
}

.accordion-008 summary::-webkit-details-marker {
    display: none;
}

.accordion-008 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-008[open] summary::after {
    transform: rotate(225deg);
}

.accordion-008 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-008[open] p {
    transform: none;
    opacity: 1;
}

/* スマートフォン向けのスタイル */
@media only screen and (max-width: 600px) {
    .accordion-008 summary {
        padding: 1em; /* スマートフォン向けの適切なパディングを設定 */
    }
}



h13 {
  position: relative;
  display: inline-block;
  padding: 1em 3em;
}
h13::before, h13::after {
  position: absolute;
  content: '';
  top: calc(50% - 1px);
  width: 2em;
  height: 2px;
  background-color: #DA5019;
}
h13::before {
  left:0;
}
h13::after {
  right: 0;
}


