
@charset "UTF-8";

/* [ PC - SP switch ] */
@media screen and (min-width: 768px) {
  .pcOFF {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  /* Smartphone */
  .spOFF {
    display: none !important;
  }
}
@media print  {
  .spOFF {
    display: none !important;
  }
}



.cl {
  display: inline-block;
  min-height: 1%;
  display: block;
  *zoom: 1;
}

.cl:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: 0;
}

* html .cl {
  height: 1%;
}

/*----------------------------------
Reset Style
----------------------------------*/
dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, figure, input, textarea, p, blockquote {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

fieldset, img {
  border: 0;
  vertical-align: top;
}

ol, ul {
  list-style: none;
}

q:before, q:after {
  content: " ";
}

abbr, acronym {
  border: 0;
}

a {
  color: #555;
  text-decoration: none;
}

a:link {
  color: #555;
  text-decoration: none;
}

a:visited {
  color: #555;
  text-decoration: none;
}

a:hover {
  color: #2e73a3;
  text-decoration: none;
  cursor: pointer;
}

a:active {
  color: #2e73a3;
  text-decoration: none;
}

a:active, a:focus {
  outline: none;
}

li img,
dt img,
dd img {
  vertical-align: top;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

/*----------------------------------
Base Style
----------------------------------*/
/* Body Style */
@font-face {
  font-family: "YuGothic M";
  src: local("Yu Gothic Medium");
}

@font-face {
  font-family: 'Barlow';
  src: url("/library/fonts/barlow/Barlow-Medium.eot");
  /*src: url("/library/fonts/barlow/Barlow-Medium.eot?#iefix") format("embedded-opentype"), url("/library/fonts/barlow/Barlow-Medium.svg#barlow_mediumregular") format("svg"), url("/library/fonts/barlow/Barlow-Medium.woff") format("woff"), url("/library/fonts/barlow/Barlow-Medium.ttf") format("truetype");*/
  src: url("/library/fonts/barlow/Barlow-Medium.eot?#iefix") format("embedded-opentype"), url("/library/fonts/barlow/Barlow-Medium.svg#barlow_mediumregular") format("svg"), url("/library/fonts/barlow/Barlow-Medium.woff2") format("woff"), url("/library/fonts/barlow/Barlow-Medium.ttf") format("truetype");
}

@font-face {
  font-family: 'BarlowBold';
  src: url("/library/fonts/barlow/Barlow-extrabold.eot");
  src: url("/library/fonts/barlow/Barlow-extrabold.eot?#iefix") format("embedded-opentype"), url("/library/fonts/barlow/Barlow-extrabold.svg#barlow_mediumregular") format("svg"), url("/library/fonts/barlow/Barlow-extrabold.woff") format("woff"), url("/library/fonts/barlow/Barlow-extrabold.ttf") format("truetype");
}

html {
  font-size: 62.5%;
  overflow-y:scroll;
  overflow-x:scroll;
}

body {
  position: relative;
  min-width: 1080px;
  margin: 0;
  padding: 0;
  text-align: center;
  font-family: "YuGothic M", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", sans-serif;
  font-size: 1.0rem;
  line-height: 1.7;
  color: #555;
  -webkit-tap-highlight-color: transparent;
}

/* Body Style*/
body.is-scll {
  overflow: hidden;
}

body.js-scll {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

@media only handheld and (orientation: landscape) {
  body {
    min-width: initial;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
  }
}

@media only screen and (max-width: 767px) {
  body {
    min-width: 320px;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
  }
}

/* Image Style */
img {
  max-width: 100%;
  height: auto;
}

/* Tel Style */
a[href^="tel:"] {
  color: #555;
  text-decoration: none;
  cursor: default;
}

a[href^="tel:"]:hover img {
  opacity: 1;
}





/*----------------------------------
  Footer 全体のベース
----------------------------------*/
footer {
  margin-top: 20px;
  background: #333; /* 既存カラーを維持 */
}

/* PC用フッターはデフォルトで表示し、SP用フッターは非表示 */
.footer-pc {
  display: block;
}
.footer-sp {
  display: none;
}

/*----------------------------------
  PC用フッター固有のレイアウト
  （既存のCSS） 
----------------------------------*/
.l-ftrWrap {
  position: relative;
}

.l-ftrMain {
  display: flex; /* 既存では -ms-flexbox なども併用 */
  padding: 60px 0;
}

/* ↓ 既存のメディアクエリもそのまま活かす */
@media only screen and (max-width: 1080px) {
  .l-ftrMain.l-wrap {
    padding: 60px 15px;
  }
}

@media only screen and (max-width: 767px) {
  .l-ftrMain {
    flex-wrap: wrap;
    padding: 0 0 30px;
    font-size: 1.2rem;
  }
  .l-ftrMain.l-wrap {
    padding: 0;
  }
}

/* ・・・以下、既存のCSSをそのまま貼り付け or 調整 ・・・ */

.l-ftrList:not(:first-child) {
  margin-left: 50px;
}

.l-ftrList_title {
  margin-bottom: 15px;
  padding-left: 8px;
  font-weight: bold;
  line-height: 1;
  border-left: 2px solid #2e73a3;
}

.l-ftrList_main {
  font-size: 1.4rem;
}
.l-ftrList_main > li > a {
  position: relative;
  padding-left: 14px;
}
.l-ftrList_main > li > a:before {
  content: " ";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
}

.l-ftrList_sub {
  padding-left: 12px;
}
.l-ftrList_sub li {
  padding-left: 10px;
  background: url(/assets/images/common/ico_tree.png) 0 7px no-repeat;
}

.l-ftrList_single {
  margin: 35px 0;
}
.l-ftrList_single p:not(:last-child) {
  margin-bottom: 20px;
}

.l-ftrList_other {
  font-size: 1.4rem;
}
.l-ftrList a {
  color: #fff;
}

.lst-indent{
  margin-left:  22px;
}

/*----------------------------------
  SP用フッター関連
----------------------------------*/
/* 767px以下の時、PC用フッターを非表示、SP用フッターを表示 */
@media only screen and (max-width: 767px) {

	.l-ftrMain {
	  display: block;
	}

  .footer-pc {
    display: none;
  }
  .footer-sp {
    display: block;
  }
  /* もしSP用フッター独自の調整があればここに追加 */
  .l-ftrNav ul {
	  display:flex;
	  flex-wrap:wrap;
	  gap:0;
  }

  /* フッターのリスト全体に外枠を指定 */
  .l-ftrNav ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
  }

  .l-ftrNav ul li {
    width: 50%;               /* 2カラム */
    box-sizing: border-box;
    text-align: center;
    border-bottom: 1px solid #fff; /* 下線をデフォルトON */
    border-right: 1px solid #fff;  /* 右線をデフォルトON */
  }

  /* 右カラム（偶数番目）は右線を消す */
  .l-ftrNav ul li:nth-child(2n) {
    border-right: none;
  }

  /* 最後の要素は下線を消す */
  .l-ftrNav ul li:last-child {
    border-bottom: none;
  }

  /* 
     「最後から2番目」かつ「nth-child(odd)＝奇数番目」も下線を消す
     → 要素数が偶数の場合、末尾の2要素は同じ行にいるので下線を消したい。
     → 要素数が奇数の場合はここに当たらず、1つだけ最終行が残る。 
  */
  .l-ftrNav ul li:nth-last-child(2):nth-child(odd) {
    border-bottom: none;
  }

  .l-ftrNav a {
	 display:block;
    color: #fff;
    font-size: 1.2rem;
    text-decoration: none;
	padding:9px 5px;
  }
}

/*----------------------------------
Content Style
----------------------------------*/
/* Wrapper Style */
.l-wrapper {
  text-align: left;
  font-size: 1.6rem;
}

.l-wrapper * {
  box-sizing: border-box;
}

.l-wrapper sup {
  font-size: 1.0rem;
}

@media only screen and (max-width: 767px) {
  .l-wrapper {
   /* padding-top: 55px;*/
  }
}

.l-wrap {
  width: 1080px;
  margin: 0 auto;
}

@media only screen and (max-width: 1080px) {
  .l-wrap {
    width: 100%;
    padding: 0 10px;
  }
}

.l-underCnt {
  padding: 80px 0 120px;
}

@media only screen and (max-width: 1080px) {
  .l-underCnt {
    width: 100%;
    padding: 50px 10px 80px;
  }
}

/*----------------------------------
Navigation Style
----------------------------------*/
header.pcHeader{
	background:#fff;
	width:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:99999999;
}


header .l-wrap{
	width:1080px;
	margin-left:auto;
	margin-right:auto;
	padding:20px 0;
	transition: all 0.7s ease;
}
.pcHeader.fixed {
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
	z-index:9999999999;
}
/* スクロール後に適用するクラス */
header .l-wrap.shrink {
  padding: 10px 0;
}

/* ----- */
.l-headTop{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-bottom:15px;
	transition: all 0.7s ease;
}
.l-headTop.shrink{
	margin-bottom:5px;
}
.l-headTop .l-logo{
	width:245px;
	height:auto;
}
.l-headTop .l-logo img{
	width:100%;
	height:auto;
}
.l-headTop .l-headerRightMenu{
	width:calc(100% - 500px);
}

/* */
.l-headTop .l-headerRightMenu{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:0 15px;
}

.l-headTop a.l-headerRightMenuContact{
	font-size: clamp(13px, 0.2551vw + 12.0434px, 14px); /* Vary between 375px and 767px */
	border:solid 1px #ccc;
	padding:4px 10px;
	transition: all 0.3s;
}
.l-headTop a.l-headerRightMenuContact.shrink{
	font-size: 12px;
	padding:4px 10px 0;
}	


.l-headTop a.l-headerRightMenuContact.shrink span{
	display:inline;
}
.l-headTop a.l-headerRightMenuContact.shrink span.headerContact--en{
	display:none;
}

body.pageEnglish .l-headTop a.l-headerRightMenuContact.shrink span.headerContact--ja{
	display:none;
}
body.pageEnglish .l-headTop a.l-headerRightMenuContact.shrink span.headerContact--en{
	display:inline;
}

ul.l-langMenu{
	text-align:right;

	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
ul.l-langMenu li{
	display:inline;
}
ul.l-langMenu li:after{
	display:inline-block;
	content: "/";
	padding:0 0.5em;
}
ul.l-langMenu li:last-child:after{
	content:none;
}

ul.l-langMenu li a:hover,
ul.l-langMenu li a:active{
	color:#000;
}
ul.l-langMenu li a{
	display:inline;
	color:#c3c3c3;
	font-size: clamp(13px, 0.2551vw + 12.0434px, 14px); /* Vary between 375px and 767px */
}
ul.l-langMenu li.active a{
	color:#555;
}

/* ----- */
.l-gMenu{
}



/* English ページは非表示 */
body.pageEnglish .l-gMenu{
	display:none;
}



.l-gMenu nav > ul{
	width:100%;
	max-width:1100px;
	margin:0 auto;
	
	display:flex;
	flex-wrap:wrap;
}
.l-gMenu nav > ul li.l-gMenu_list-item{
	flex:1;
    border-left: 1px solid #e0e0e0;
}
.l-gMenu nav > ul li.l-gMenu_list-item:last-child{
   border-right: 1px solid #e0e0e0;
}

.l-gMenu nav > ul li.l-gMenu_list-item > a{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;



	text-align:center;
	line-height:1;
	font-size: clamp(13px, 0.5102vw + 11.0867px, 15px); /* Vary between 375px and 767px */
	font-weight:bold;
	color: #555;
	position:relative;
    height: 38px;

	transition: all 0.3s;

}
.l-gMenu nav > ul.l-gMenu_list.shrink li.l-gMenu_list-item > a{
	font-size:14px;
    height: 35px;
}


.l-gMenu nav > ul li.l-gMenu_list-item > a:after{
	display:block;
	content:"";
	width:50%;
	height:2px;
	position:absolute;
	bottom:0;
	margin-left:auto;
	margin-right:auto;
	background:none;
}

.l-gMenu nav > ul li.l-gMenu_list-item:hover > a{
	color: #2e73a3;
}
.l-gMenu nav > ul li.l-gMenu_list-item:hover > a:after{
	background: #2e73a3;
}
.l-gMenu nav > ul lil-gMenu_list-item.active > a:after{
	background: #2e73a3;
}

/* Mega Menu */
.hasMegaMenu {
  position: static; /* 親要素の位置指定をリセット */
}

header {
  position: relative; /* メガメニューの基準をヘッダーに設定 */
}

.megaMenu {
  position: absolute;
  top: 107px;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw; /* ビューポートの幅に設定 */
  border-top: solid 10px #fff;
  background: #2E73A3;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 9999;

  opacity: 0; /* 初期状態では透明 */
  visibility: hidden; /* 表示を完全に隠す */
  transition: opacity 0.7s ease, visibility 0.7s ease; /* スムーズなトランジション */
  pointer-events: none; /* マウスイベントを無効化 */
}
.megaMenu.shrink{
  top: 80px;
  border-top: solid 9px #fff;
}
.hasMegaMenu:hover .megaMenu {
  opacity: 1; /* 不透明にする */
  visibility: visible; /* 表示を有効化 */
  pointer-events: auto; /* マウスイベントを有効化 */
}

.megaMenu .inner {
  width: 100%;
  max-width: 1300px; /* 必要に応じて調整 */
  margin: 0 auto; /* 中央揃え */
  padding: 0px 10px;
  box-sizing: border-box;

  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* より柔軟な間隔 */
}

.megaMenuPic{
	width:30%;
	padding:0px 0;
}
.megaMenuPic img{
	width:100%;
}
.megaMenuContent{
	width:calc( 100% - (30% + 2%));
}


.megaMenuTit{
	padding:5px 0 3px;
	color:#fff;
	font-size: clamp(20px, 2.2959vw + 11.3903px, 29px); /* Vary between 375px and 767px */
}
.megaMenuTit a{
	color:#fff;
}
.megaMenuTit a:after{
	content: "";
	width:19px;
	height:25px;
	display:inline-block;

	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1LjExMSIgaGVpZ2h0PSI5LjAwMSIgdmlld0JveD0iMCAwIDUuMTExIDkuMDAxIj4gPHBhdGggaWQ9Ik9wX2NvbXBvbmVudF8xIiBkYXRhLW5hbWU9Ik9wIGNvbXBvbmVudCAxIiBkPSJNMjg0MS44ODEsMTI2Ni4xNjZsMi45NTYsMy4zNzhhLjY2LjY2LDAsMCwxLDAsLjg0NS40NzguNDc4LDAsMCwxLS43MzksMGwtMi45NTYtMy4zNzhhLjY1OS42NTksMCwwLDEsMC0uODQ0QS40NzguNDc4LDAsMCwxLDI4NDEuODgxLDEyNjYuMTY2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI4NDAuNDM3IC0xMjY1LjQ5MSkiIGZpbGw9IiNmZmYiIHN0cm9rZT0icmdiYSgwLDAsMCwwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEiLz4gPHBhdGggaWQ9Ik9wX2NvbXBvbmVudF8yIiBkYXRhLW5hbWU9Ik9wIGNvbXBvbmVudCAyIiBkPSJNMjg0MS4xNDcsMTI3Mi45NzJsMi45NTYtMy4zNzhhLjQ3Ny40NzcsMCwwLDEsLjczOSwwLC42NTguNjU4LDAsMCwxLDAsLjg0NGwtMi45NTYsMy4zNzhhLjQ3Ny40NzcsMCwwLDEtLjczOSwwQS42NTkuNjU5LDAsMCwxLDI4NDEuMTQ3LDEyNzIuOTcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI4NDAuNDM3IC0xMjY1LjQ5MSkiIGZpbGw9IiNmZmYiIHN0cm9rZT0icmdiYSgwLDAsMCwwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEiLz48L3N2Zz4=");
	background-size:auto 15px;
	background-repeat:no-repeat;
	background-position:right 8px;
}

.megaMenuTit a:hover{
	text-decoration:underline;
	text-underline-offset: 5px;
}


.megaMenu .inner ul.megaMenuLst {
  list-style: none;
  padding: 0;
  margin: 0;

	display: flex; /* 必要に応じて配置方法を調整 */
	flex-wrap:wrap;
	gap:5px 20px;

}

.megaMenu .inner ul.megaMenuLst li {
	width:calc( (100% - 60px) / 4);
}
.megaMenu .inner ul.megaMenuLst-hayawakari li {
	width:calc( (100% - 60px) / 3);
}

.megaMenu .inner ul.megaMenuLst li a {
	display:block;
	text-align:center;
	color:#555555;
	border-radius:100px;
	padding:5px  10px;
	font-size: clamp(13px, 0.2551vw + 12.0434px, 14px); /* Vary between 375px and 767px */
	font-weight:bold;


	background:#fff;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1LjExMSIgaGVpZ2h0PSI5LjAwMSIgdmlld0JveD0iMCAwIDUuMTExIDkuMDAxIj4gPHBhdGggaWQ9Ik9wX2NvbXBvbmVudF8xIiBkYXRhLW5hbWU9Ik9wIGNvbXBvbmVudCAxIiBkPSJNMjg0MS44ODEsMTI2Ni4xNjZsMi45NTYsMy4zNzhhLjY2LjY2LDAsMCwxLDAsLjg0NS40NzguNDc4LDAsMCwxLS43MzksMGwtMi45NTYtMy4zNzhhLjY1OS42NTksMCwwLDEsMC0uODQ0QS40NzguNDc4LDAsMCwxLDI4NDEuODgxLDEyNjYuMTY2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI4NDAuNDM3IC0xMjY1LjQ5MSkiIGZpbGw9IiM1NTUiIHN0cm9rZT0icmdiYSgwLDAsMCwwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEiLz4gPHBhdGggaWQ9Ik9wX2NvbXBvbmVudF8yIiBkYXRhLW5hbWU9Ik9wIGNvbXBvbmVudCAyIiBkPSJNMjg0MS4xNDcsMTI3Mi45NzJsMi45NTYtMy4zNzhhLjQ3Ny40NzcsMCwwLDEsLjczOSwwLC42NTguNjU4LDAsMCwxLDAsLjg0NGwtMi45NTYsMy4zNzhhLjQ3Ny40NzcsMCwwLDEtLjczOSwwQS42NTkuNjU5LDAsMCwxLDI4NDEuMTQ3LDEyNzIuOTcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI4NDAuNDM3IC0xMjY1LjQ5MSkiIGZpbGw9IiM1NTUiIHN0cm9rZT0icmdiYSgwLDAsMCwwKSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEiLz48L3N2Zz4=");
	background-repeat:no-repeat;
	background-position:right 10px center;

}


.megaMenu .inner ul.megaMenuLst li a:hover {
  color: #007BFF;
}

/* レスポンシブ対応 */
@media (max-width: 1200px) {
  .megaMenu {
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 1150px) {
	.megaMenuPic{
		width:25%;
	}
	.megaMenuContent{
		width:calc( 100% - (25% + 20px));
	}
}
@media (max-width: 1100px) {
	.megaMenuTit{
		margin-bottom:5px;
	}
	.megaMenu .inner ul.megaMenuLst {
		gap:5px 10px;
	}
	.megaMenu .inner ul.megaMenuLst li {
		width:calc( (100% - 20px) / 3);
	}
	.megaMenu .inner ul.megaMenuLst-hayawakari li {
		width:calc( (100% - 10px) / 2);
	}
}
@media (max-width: 900px) {
	.megaMenu .inner {
		padding-top:10px;
		padding-bottom:10px;
	}
	.megaMenuTit{
		font-size:18px;
		padding:0;
	}
	.megaMenuPic{
		display:none;
	}
	.megaMenuContent{
		width:100%;
	}

}


/*----------------------------------

----------------------------------*/
.l-busMenu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

.l-busMenu li {
  text-align: center;
  font-weight: bold;
}

.l-busMenu li a {
  position: relative;
  display: block;
  width: 155px;
  padding-top: 170px;
  color: #555;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.l-busMenu li a:before {
  position: absolute;
  top: 0;
  left: 0;
  content: " ";
  display: block;
  width: 155px;
  padding-top: 170px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  opacity: 0;
  transition: opacity .2s;
}

.l-busMenu li a:hover:before {
  opacity: 1;
}

.l-busMenu_public a {
  background-image: url(/assets/images/common/ico_public.png);
}

.l-busMenu_public a:before {
  background-image: url(/assets/images/common/ico_public_hover.png);
}

.l-busMenu_communication a {
  background-image: url(/assets/images/common/ico_communication.png);
}

.l-busMenu_communication a:before {
  background-image: url(/assets/images/common/ico_communication_hover.png);
}

.l-busMenu_cloud a {
  background-image: url(/assets/images/common/ico_cloud.png);
}

.l-busMenu_cloud a:before {
  background-image: url(/assets/images/common/ico_cloud_hover.png);
}

.l-busMenu_finance a {
  background-image: url(/assets/images/common/ico_finance.png);
}

.l-busMenu_finance a:before {
  background-image: url(/assets/images/common/ico_finance_hover.png);
}

.l-busMenu_manufacture a {
  background-image: url(/assets/images/common/ico_manufacture.png);
}

.l-busMenu_manufacture a:before {
  background-image: url(/assets/images/common/ico_manufacture_hover.png);
}

@media only screen and (max-width: 767px) {
  .l-busMenu {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: center;
        justify-content: center;
    margin: -25px 0 0 -15px;
    font-size: 1.4rem;
  }
  .l-busMenu li {
    margin: 25px 0 0 15px;
  }
  .l-busMenu li a {
    width: 105px;
    padding-top: 110px;
  }
  .l-busMenu li a:before {
    display: none;
  }
}

.l-panNav {
  padding: 8px 0;
  background: #d6d6e1;
}

.l-panNav ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.4rem;
}

.l-panNav li:last-child {
  color: #2e73a3;
}

.l-panNav li:not(:last-child) span:after {
  position: relative;
  top: -2px;
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 15px;
  border: solid #555;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
}

@media only screen and (max-width: 767px) {
  .l-panNav {
    padding: 5px 0;
  }
  .l-panNav ul {
    font-size: 1.2rem;
  }
  .l-panNav li:not(:last-child) span:after {
    margin: 0 10px;
  }
}

.l-pageNav {
  margin-bottom: 80px;
}

.l-pageNav ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

.l-pageNav li {
  display: -ms-flexbox;
  display: flex;
}

.l-pageNav li a {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: 333px;
  padding: 10px 0;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  border-radius: 33px;
  background: #2e73a3;
}

.l-pageNav li a:before {
  content: " ";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  margin-top: -8px;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  transform: rotate(135deg);
}

@media only screen and (min-width: 768px) {
  .l-pageNav li a:hover {
    color: #2e73a3;
    border: 2px solid #2e73a3;
    background: #fff;
    margin: -2px 0;
  }
  .l-pageNav li a:hover:before {
    border-color: #2e73a3;
  }
}

@media only screen and (max-width: 767px) {
  .l-pageNav {
    margin-bottom: 60px;
  }
  .l-pageNav ul {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .l-pageNav li:not(:first-child) {
    margin-top: 10px;
  }
  .l-pageNav li a {
    width: 100%;
    padding: 15px 35px 15px 15px;
    font-size: 3.2vw;
  }
  .l-pageNav li br {
    display: none;
  }
}

.c-linkList li:not(:first-child) {
  margin-top: 10px;
}

.c-linkList a {
  position: relative;
  display: inline-block;
  padding-right: 15px;
  text-decoration: underline;
}

.c-linkList a:before {
  content: " ";
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border: solid #2e73a3;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
}

.c-linkList a:hover {
  text-decoration: none;
}

.c-linkList02 {
  font-size: 1.6rem;
  font-weight: bold;
}

.c-linkList02 li:not(:first-child) {
  margin-top: 8px;
}

.c-linkList02 li a {
  color: #2e73a3;
}

.c-linkList02 li ul {
  margin-top: 8px;
}

.c-linkPanel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -20px 0 0 -20px;
}

.c-linkPanel * {
  transition: opacity .2s;
}

.c-linkPanel_wrap {
  width: 346px;
  margin: 20px 0 0 20px;
}

.c-linkPanel_title {
  position: relative;
  padding: 12px 0;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #2e73a3;
}

.c-linkPanel_title:before {
  content: " ";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
}

@media only screen and (min-width: 768px) {
  .c-linkPanel a:hover * {
    opacity: .8;
  }
}

@media only screen and (max-width: 767px) {
  .c-linkPanel {
    -ms-flex-direction: column;
        flex-direction: column;
    margin: 0;
  }
  .c-linkPanel_wrap {
    width: 100%;
    margin: 0;
  }
  .c-linkPanel_wrap:not(:first-child) {
    margin-top: 20px;
  }
  .c-linkPanel_wrap figure img {
    width: 100%;
  }
  .c-linkPanel_title {
    font-size: 2.1rem;
    padding: 5px 0;
  }
  .c-linkPanel_title:before {
    right: 15px;
  }
}


/* -----*/
.cLnkPanel-pageLnk_box{
	background:#D6D6E1;
	padding:30px 0;
}
.cLnkPanel-pageLnk_box + footer{
	margin-top:0;
}
.c-linkPanel-pageLnk {
	display:flex;
	flex-wrap:wrap;
	gap:20px 20px;
}

.c-linkPanel-pageLnk * {
  transition: opacity .2s;
}

.c-linkPanel-pageLnk_wrap {
  width: calc( (100% - 60px) / 4 );
}

.c-linkPanel-pageLnk_title {
  position: relative;
  padding: 12px 0;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #2e73a3;
  font-size:15px;
}

.c-linkPanel-pageLnk_title:before {
  content: " ";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
}

/* 事業内容 */
.cLnkPanel-pageLnk_box .l-busMenu{
	justify-content:normal !important;
	gap:10px 10px;
	margin:20px 0;
}
.cLnkPanel-pageLnk_box .l-busMenu li{
	width:calc( (100% - 40px) / 5);
	margin:0 !important;
}
.cLnkPanel-pageLnk_box .l-busMenu li a{
	margin-left:auto;
	margin-right:auto;
}
@media only screen and (min-width: 768px) {
  .c-linkPanel-pageLnk a:hover * {
    opacity: .8;
  }
}

@media only screen and (max-width: 767px) {
  .c-linkPanel-pageLnk {
	display:flex;
	flex-wrap:wrap;
	gap:20px 20px;
  }
  .c-linkPanel-pageLnk_wrap {
	width: calc( (100% - 20px) / 2 );
    margin: 0;
  }
  .c-linkPanel-pageLnk_wrap figure img {
    width: 100%;
  }
  .c-linkPanel-pageLnk_title {
    font-size: 1.5rem;
    padding: 5px 0;
  }
  .c-linkPanel-pageLnk_title:before {
    right: 15px;
  }

	.cLnkPanel-pageLnk_box .l-busMenu li{
		width:calc( (100% - 20px) / 3);
	}
	.cLnkPanel-pageLnk_box .l-busMenu li a{
		width:100%;
		max-width:120px !important;
		padding-top:130px;
	}


}
@media only screen and (max-width: 500px) {
  .c-linkPanel-pageLnk {
	gap:20px 20px;
  }
  .c-linkPanel-pageLnk_wrap {
	width: 100%;
  }
}

@media only screen and (max-width: 400px) {
	.cLnkPanel-pageLnk_box .l-busMenu li{
		width:calc( (100% - 10px) / 2);
	}
}



/*----------------------------------
Utility Style
----------------------------------*/
.u- {
  /* margin-top*/
  /* margin-bottom*/
  /* margin-right*/
  /* margin-left*/
  /* padding-top*/
  /* padding-bottom*/
  /* padding-right*/
  /* padding-left*/
  /* only PC*/
  /* only SP*/
  /* text position*/
  /* width */
  /* font size */
  /* font weight */
}

.u-mt0 {
  margin-top: 0px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mt65 {
  margin-top: 65px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mt75 {
  margin-top: 75px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mt85 {
  margin-top: 85px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mt95 {
  margin-top: 95px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mb65 {
  margin-bottom: 65px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-mb85 {
  margin-bottom: 85px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-mb95 {
  margin-bottom: 95px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-mr0 {
  margin-right: 0px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-mr65 {
  margin-right: 65px !important;
}

.u-mr70 {
  margin-right: 70px !important;
}

.u-mr75 {
  margin-right: 75px !important;
}

.u-mr80 {
  margin-right: 80px !important;
}

.u-mr85 {
  margin-right: 85px !important;
}

.u-mr90 {
  margin-right: 90px !important;
}

.u-mr95 {
  margin-right: 95px !important;
}

.u-mr100 {
  margin-right: 100px !important;
}

.u-ml0 {
  margin-left: 0px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-ml65 {
  margin-left: 65px !important;
}

.u-ml70 {
  margin-left: 70px !important;
}

.u-ml75 {
  margin-left: 75px !important;
}

.u-ml80 {
  margin-left: 80px !important;
}

.u-ml85 {
  margin-left: 85px !important;
}

.u-ml90 {
  margin-left: 90px !important;
}

.u-ml95 {
  margin-left: 95px !important;
}

.u-ml100 {
  margin-left: 100px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pt65 {
  padding-top: 65px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pt75 {
  padding-top: 75px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pt85 {
  padding-top: 85px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pt95 {
  padding-top: 95px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pb65 {
  padding-bottom: 65px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-pb75 {
  padding-bottom: 75px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pb85 {
  padding-bottom: 85px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-pb95 {
  padding-bottom: 95px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-pr0 {
  padding-right: 0px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-pr65 {
  padding-right: 65px !important;
}

.u-pr70 {
  padding-right: 70px !important;
}

.u-pr75 {
  padding-right: 75px !important;
}

.u-pr80 {
  padding-right: 80px !important;
}

.u-pr85 {
  padding-right: 85px !important;
}

.u-pr90 {
  padding-right: 90px !important;
}

.u-pr95 {
  padding-right: 95px !important;
}

.u-pr100 {
  padding-right: 100px !important;
}

.u-pl0 {
  padding-left: 0px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

.u-pl65 {
  padding-left: 65px !important;
}

.u-pl70 {
  padding-left: 70px !important;
}

.u-pl75 {
  padding-left: 75px !important;
}

.u-pl80 {
  padding-left: 80px;
}

.u-pl85 {
  padding-left: 85px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-pl95 {
  padding-left: 95px !important;
}

.u-pl100 {
  padding-left: 100px !important;
}

@media only screen and (max-width: 768px) {
  .u-pc {
    display: none !important;
  }
}

.u-sp {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .u-sp {
    display: block !important;
  }
}

.u-al {
  text-align: left !important;
}

.u-ar {
  text-align: right !important;
}

.u-ac {
  text-align: center !important;
}

.u-vt {
  vertical-align: top !important;
}

.u-vm {
  vertical-align: middle !important;
}

.u-vb {
  vertical-align: bottom !important;
}

.u-wAuto {
  width: auto !important;
}

.u-w5 {
  width: 5% !important;
}

.u-w10 {
  width: 10% !important;
}

.u-w15 {
  width: 15% !important;
}

.u-w20 {
  width: 20% !important;
}

.u-w25 {
  width: 25% !important;
}

.u-w30 {
  width: 30% !important;
}

.u-w35 {
  width: 35% !important;
}

.u-w40 {
  width: 40% !important;
}

.u-w45 {
  width: 45% !important;
}

.u-w50 {
  width: 50% !important;
}

.u-w55 {
  width: 55% !important;
}

.u-w60 {
  width: 60% !important;
}

.u-w65 {
  width: 65% !important;
}

.u-w70 {
  width: 70% !important;
}

.u-w75 {
  width: 75% !important;
}

.u-w80 {
  width: 80% !important;
}

.u-w85 {
  width: 85% !important;
}

.u-w90 {
  width: 90% !important;
}

.u-w95 {
  width: 95% !important;
}

.u-w100 {
  width: 100% !important;
}

.u-fs11 {
  font-size: 11px !important;
}

.u-fs12 {
  font-size: 12px !important;
}

.u-fs13 {
  font-size: 13px !important;
}

.u-fs14 {
  font-size: 14px !important;
}

.u-fs15 {
  font-size: 15px !important;
}

.u-fs16 {
  font-size: 16px !important;
}

.u-fs17 {
  font-size: 17px !important;
}

.u-fs18 {
  font-size: 18px !important;
}

.u-fs19 {
  font-size: 19px !important;
}

.u-fs20 {
  font-size: 20px !important;
}

.u-fs21 {
  font-size: 21px !important;
}

.u-fs22 {
  font-size: 22px !important;
}

.u-fs23 {
  font-size: 23px !important;
}

.u-fs24 {
  font-size: 24px !important;
}

.u-fs25 {
  font-size: 25px !important;
}

.u-fs26 {
  font-size: 26px !important;
}

.u-fs27 {
  font-size: 27px !important;
}

.u-fs28 {
  font-size: 28px !important;
}

.u-fs29 {
  font-size: 29px !important;
}

.u-fs30 {
  font-size: 30px !important;
}

.u-fs31 {
  font-size: 31px !important;
}

.u-fs32 {
  font-size: 32px !important;
}

.u-fs34 {
  font-size: 34px !important;
}

.u-fs35 {
  font-size: 35px !important;
}

.u-fw_normal {
  font-weight: normal !important;
}

.u-fw_thin {
  font-weight: 100;
}

.u-fw_light {
  font-weight: 300;
}

.u-fw_demiLight {
  font-weight: 350;
}

.u-fw_regular {
  font-weight: 400;
}

.u-fw_medium {
  font-weight: 500;
}

.u-fw_Bold {
  font-weight: 700;
}

.u-sp {
  display: none;
}

@media only screen and (max-width: 768px) {
  .u-sp {
    display: block;
  }
}








/*----------------------------------
Button Style
----------------------------------*/
.c-btn {
  display: inline-block;
  width: 250px;
  text-align: center;
  font-weight: bold;
  line-height: 1;
}

.c-btn a,
.c-btn span {
  display: block;
  position: relative;
  padding: 15px 0;
  color: #fff;
  background: #2e73a3;
  border-radius: 25px;
	border:2px solid #2e73a3;
}

.c-btn a::before,
.c-btn span::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border: 2px solid #fff;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
  transition: border-color 0.4s;
}

/* Specific Button Variations */
.c-btn--white a {
  color: #2e73a3;
  background: #fff;
  border-color: transparent;
}

.c-btn--white a::before {
  border-color: #2e73a3;
}

.c-btn.load-more a::before,
.c-btn.load-more span::before,
.c-btn span.load-more::before,
.c-btn a.load-more::before {
  transform: rotate(135deg);
}

.c-btn.reset-view a::before,
.c-btn.reset-view span::before,
.c-btn span.reset-view::before,
.c-btn a.reset-view::before {
  top: 55%;
  transform: rotate(-45deg);
}

@media only screen and (min-width: 768px) {
  /* Transition Effects */
  .c-btn a,
  .c-btn span {
    transition: color 0.4s, background 0.4s;
  }

  .c-btn a::before,
  .c-btn span::before {
    transition: border-color 0.4s;
  }

  /* Hover States */
  .c-btn a:hover,
  .c-btn span:hover {
    color: #2e73a3;
    background: #fff;
    border-color: #2e73a3;
  }

  .c-btn a:hover::before,
  .c-btn span:hover::before {
    border-color: #2e73a3;
  }

  .c-btn--white a:hover {
    color: #fff;
    background: #2e73a3;
  }

  .c-btn--white a:hover::before {
    border-color: #fff;
  }

  .c-btn--bdr a:hover {
   /* margin: -2px;*/
    border: 2px solid #2e73a3;
  }

  /* Specific Variations */
  .c-btn-normal a,
  .c-btn-normal span {
    transition: color 0.4s, background 0.4s;
  }

  .c-btn-normal a:hover,
  .c-btn-normal span:hover {
    color: #2e73a3;
    /*background: #c2deff;*/
  }
}

@media only screen and (max-width: 767px) {
  .c-btn {
    width: 100%;
    font-size: 1.5rem;
  }
}







.c-pageTop {
  display: none;
  position: absolute;
  top: 60px;
  right: 20px;
  width: 50px;
}

.c-pageTop.fixed {
  position: fixed;
  top: inherit;
  bottom: 60px;
}

@media only screen and (min-width: 768px) {
  .c-pageTop a img {
    transition: opacity .2s;
  }
  .c-pageTop a:hover img {
    opacity: .8;
  }
}

@media only screen and (max-width: 767px) {
  .c-pageTop {
    top: inherit;
    bottom: 15px;
    right: 10px;
    width: 45px;
  }
  .c-pageTop.fixed {
    top: inherit;
    bottom: 15px;
  }
}


/*----------------------------------------------------
SP-nav
------------------------------------------------------ */
/* スマホヘッダー */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 9999999;
}

#fixed-top {
  background: #fff;
  position: fixed;
  top: 0;
  z-index: 99999999;
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

/* ヘッダーのロゴ */
#fixed-top .logo {
	height:55px;

	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	padding-left:10px;
}

#fixed-top .logo img {
	width: clamp(180px, 30.6122vw + 65.2041px, 300px); /* Vary between 375px and 767px */
	height: auto;
	vertical-align:bottom;
}

/* ヘッダーのボタン関連 */
#fixed-top .headerButtons {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: right;
  justify-content: right;
}
#fixed-top .headerButtons img{
  vertical-align:bottom;
}
#fixed-top .headerButtons li a {
  display: block;
}

#fixed-top .headerButtons li img {
  vertical-align: bottom;
  height: 55px;
  width: auto;
}


/* ----- */
.sb-right-inner__header{
	background:#fff;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.sb-right-inner__header .logo{
	width:calc( 100% - 80px);
	text-align:left;

	height:60px;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:center;

}
.sb-right-inner__header .logo img{
	width: clamp(150px, 38.2653vw + 6.5051px, 300px); /* Vary between 375px and 767px */
	height:auto;
	margin-left:15px;
}
.sb-right-inner__header .closeBtn{
	width:60px;
	height:60px;
}
.sb-right-inner__header .closeBtn img{
	width:100%;
	height:auto;
}


/* スマートフォン用ナビゲーション*/
#slidar_menu ,
#slidar_menu_lang {
  background: #2E73A3;
  z-index: 999999999999999999;
}
#slidar_menu .sb-close ,
#slidar_menu_lang .sb-close {
}

#slidar_menu .sb-right-inner .logo ,
#slidar_menu_lang .sb-left-inner .logo {
}




/* スマホアコーディオンメニュー */
.spMenu-accordion{
	margin-bottom:35px;
}



body.pageEnglish .spMenu-accordion--item{
	display:none;
}

body.pageEnglish .spMenu-accordion--item--en{
	display:block;
}



body.pageEnglish .spMenu-accordion--item--en .ja-only{
	display:none;
}

body .spMenu-accordion--item--en .lang-both{
}
body .spMenu-accordion--item--en .lang-both .contact--ja{
	display:inline;
}
body .spMenu-accordion--item--en .lang-both .contact--en{
	display:none;
}
body.pageEnglish .spMenu-accordion--item--en .lang-both .contact--ja{
	display:none;
}
body.pageEnglish .spMenu-accordion--item--en .lang-both .contact--en{
	display:inline;
}



.spMenu-accordion .acCheck {
	display: none;
}
.spMenu-accordion .ac-label {		/*タイトル*/
	padding: 1em;
	display: block;

	text-align:left;
	font-weight: bold;
	font-size: clamp(16px, 0.7653vw + 13.1301px, 19px); /* Vary between 375px and 767px */
	letter-spacing: 0.1em;
	color: #fff;
	border-bottom:solid 1px #D5D5D5;
}
.spMenu-accordion .ac-label::before{		/*タイトル横の矢印*/
	content:"";
	width: 15px;
	height: 15px;
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;

	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4gPHBhdGggaWQ9IumVt+aWueW9ol8xIiBkYXRhLW5hbWU9IumVt+aWueW9oiAxIiBkPSJNMjk3MSwyODl2LTloLTl2LTJoOXYtOWgydjloOXYyaC05djlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjk2MiAtMjY5KSIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==");
	background-repeat:no-repeat;
	background-size:100% auto;
}
.spMenu-accordion .ac-label,
.spMenu-accordion .ac-content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transition: all 0.3s;
}
.spMenu-accordion .ac-content {		/*本体*/
	height: 0;
	overflow: hidden;
	background:#fff;
}
.spMenu-accordion .acCheck:checked + .ac-label + .ac-content {	/*開閉時*/
	height: auto;
	transition: all .3s;
}
.spMenu-accordion .acCheck:checked + .ac-label::before {
	transform: rotate(-45deg) !important;
}

.spMenu-accordion .ac-content ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2列レイアウト */
    gap: 1px; /* ボーダーの幅に合わせたギャップ */
    background-color: #fff; /* ボーダー色として機能 */
    padding: 0; /* 必要に応じて調整 */
    margin: 0; /* 必要に応じて調整 */
    list-style: none; /* リストスタイルのリセット */
}

.spMenu-accordion .ac-content ul li {
	background:#73B0DA;
    padding:10px 5px; /* 内側の余白 */
    box-sizing: border-box;

	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4LjAxNCIgaGVpZ2h0PSIxNi4wMDEiIHZpZXdCb3g9IjAgMCA4LjAxNCAxNi4wMDEiPiA8cGF0aCBpZD0iT3BfY29tcG9uZW50XzEiIGRhdGEtbmFtZT0iT3AgY29tcG9uZW50IDEiIGQ9Ik0yOTc1Ljc2MSw1OTcuMzMxbDUuOTEzLDYuNzU2YTEuMzE4LDEuMzE4LDAsMCwxLDAsMS42ODkuOTU1Ljk1NSwwLDAsMS0xLjQ3OCwwbC01LjkxMi02Ljc1NmExLjMxOCwxLjMxOCwwLDAsMSwwLTEuNjg5QS45NTYuOTU2LDAsMCwxLDI5NzUuNzYxLDU5Ny4zMzFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjk3My45NzcgLTU5Ni45ODIpIiBmaWxsPSIjZmZmIi8+IDxwYXRoIGlkPSJPcF9jb21wb25lbnRfMiIgZGF0YS1uYW1lPSJPcCBjb21wb25lbnQgMiIgZD0iTTI5NzQuMjk0LDYxMC45NDRsNS45MTItNi43NTdhLjk1Ni45NTYsMCwwLDEsMS40NzgsMCwxLjMxOCwxLjMxOCwwLDAsMSwwLDEuNjg5bC01LjkxMiw2Ljc1N2EuOTU2Ljk1NiwwLDAsMS0xLjQ3OCwwQTEuMzE4LDEuMzE4LDAsMCwxLDI5NzQuMjk0LDYxMC45NDRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjk3My45NzcgLTU5Ni45ODIpIiBmaWxsPSIjZmZmIi8+PC9zdmc+");
	background-repeat:no-repeat;
	background-position:right 8px center;
	background-size:4px auto;
	padding-right: 12px;


}


/* 最終列の項目から右ボーダーを削除 */
.spMenu-accordion .ac-content ul li:nth-child(2n) {
    border-right: none;
}

/* 最終行の項目から下ボーダーを削除（必要に応じて） */
.spMenu-accordion .ac-content ul li:nth-last-child(-n+2) {
    border-bottom: none;
}


.spMenu-accordion .ac-content ul li a{
	display:block;
	text-align:left;

	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* Vary between 375px and 767px */
	color:#fff;
}
.spMenu-accordion .ac-content ul li:last-child a{
}


/* スマホ サブリンク */
.spMenu-sublnk{
}
.spMenu-sublnk li{
	padding:1em;
	font-size: clamp(16px, 0.7653vw + 13.1301px, 19px); /* Vary between 375px and 767px */
	border-bottom:solid 1px #D5D5D5;

}
.spMenu-sublnk li a{
	display:block;
	text-decoration:none;
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.1em;
	text-align: left;
	color: #fff;

	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4LjAxNCIgaGVpZ2h0PSIxNi4wMDEiIHZpZXdCb3g9IjAgMCA4LjAxNCAxNi4wMDEiPiA8cGF0aCBpZD0iT3BfY29tcG9uZW50XzEiIGRhdGEtbmFtZT0iT3AgY29tcG9uZW50IDEiIGQ9Ik0yOTc1Ljc2MSw1OTcuMzMxbDUuOTEzLDYuNzU2YTEuMzE4LDEuMzE4LDAsMCwxLDAsMS42ODkuOTU1Ljk1NSwwLDAsMS0xLjQ3OCwwbC01LjkxMi02Ljc1NmExLjMxOCwxLjMxOCwwLDAsMSwwLTEuNjg5QS45NTYuOTU2LDAsMCwxLDI5NzUuNzYxLDU5Ny4zMzFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjk3My45NzcgLTU5Ni45ODIpIiBmaWxsPSIjZmZmIi8+IDxwYXRoIGlkPSJPcF9jb21wb25lbnRfMiIgZGF0YS1uYW1lPSJPcCBjb21wb25lbnQgMiIgZD0iTTI5NzQuMjk0LDYxMC45NDRsNS45MTItNi43NTdhLjk1Ni45NTYsMCwwLDEsMS40NzgsMCwxLjMxOCwxLjMxOCwwLDAsMSwwLDEuNjg5bC01LjkxMiw2Ljc1N2EuOTU2Ljk1NiwwLDAsMS0xLjQ3OCwwQTEuMzE4LDEuMzE4LDAsMCwxLDI5NzQuMjk0LDYxMC45NDRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjk3My45NzcgLTU5Ni45ODIpIiBmaWxsPSIjZmZmIi8+PC9zdmc+");
	background-repeat:no-repeat;
	background-position:right 8px center;
	background-size:6px auto;
	padding-right: 12px;


}

.spMenu-Close {
	padding:30px 0;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMzguNTk0IiBoZWlnaHQ9IjUzIiB2aWV3Qm94PSIwIDAgMTM4LjU5NCA1MyI+IDx0ZXh0IGlkPSJDbG9zZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDIuNTk0IDQzKSIgZmlsbD0iI2ZmZiIgZm9udC1zaXplPSI0MCIgZm9udC1mYW1pbHk9IlNlZ29lVUksIFNlZ29lIFVJIj48dHNwYW4geD0iMCIgeT0iMCI+Q2xvc2U8L3RzcGFuPjwvdGV4dD4gPHBhdGggaWQ9IumVt+aWueW9ol8xIiBkYXRhLW5hbWU9IumVt+aWueW9oiAxIiBkPSJNMjU3OCwxNDE1LjM2MmwtMTAuNjMyLDEwLjYzMi0yLjM2My0yLjM2M0wyNTc1LjYzOCwxNDEzbC0xMC42MzItMTAuNjMyLDIuMzYzLTIuMzYzTDI1NzgsMTQxMC42MzcsMjU4OC42MzIsMTQwMGwyLjM2MywyLjM2M0wyNTgwLjM2MywxNDEzbDEwLjYzMiwxMC42MzItMi4zNjMsMi4zNjNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjU2NS4wMDUgLTEzODUuMTgyKSIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==");
	background-repeat:no-repeat;
	background-position:center center;
	background-size:60px auto;
}

@media screen and (max-width: 1200px) {  /* ipad safari対応 */

	.nav__lst{
	}
	.nav__lst__item{
	}
	.nav__lst__item.toggle > a {
		font-size:15px !important;
	}

	.nav__lst__item:nth-child(6) { flex-basis:150px !important; }
	.nav__lst__item.btnContact > a {
		font-size:15px !important;
		padding-bottom:30px !important;
	}
	.nav__lst__item.btnContact > a span {
		background-size:20px auto;
		padding-left:30px !important;
	}
}

@media screen and (max-width: 375px) { 
}

@media print  {
	#spheader{
		display: none !important;
	}
}


/*----------------------------------
#wrapper
----------------------------------*/
#wrapper{
	margin-top:90px;
}
body.pageEnglish #wrapper{
	margin-top:55px;
}


@media screen and (max-width: 767px) { 
	#wrapper{
		margin-top:55px;
	}
}
/*----------------------------------
Heading Style
----------------------------------*/
.c-secTitleSingle {
  text-align: center;
  margin-bottom: 65px;
}

@media only screen and (max-width: 767px) {
  .c-secTitleSingle {
    margin-bottom: 45px;
  }
}

.c-secTitle {
  margin-bottom: 25px;
  text-align: center;
}

.c-secTitle_main {
  position: relative;
  display: inline-block;
  padding: 0 14px;
  font-size: 3.0rem;
  font-weight: bold;
}

.c-secTitle_main:before, .c-secTitle_main:after {
  content: " ";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  background-repeat: no-repeat;
  background-size: cover;
}

.c-secTitle_main:before {
  top: 2px;
  left: -2px;
  background-image: url(/assets/images/common/ona_title_lefttop.png);
}

.c-secTitle_main:after {
  bottom: 2px;
  right: -2px;
  background-image: url(/assets/images/common/ona_title_rightbtm.png);
}

.c-secTitle_main--white {
  color: #fff;
}

.c-secTitle_main--white:before {
  background-image: url(/assets/images/common/ona_title_lefttop_white.png);
}

.c-secTitle_main--white:after {
  background-image: url(/assets/images/common/ona_title_rightbtm_white.png);
}

.c-secTitle_sub {
  font-size: 1.8rem;
  color: #2e73a3;
}

.c-secTitle_sub--white {
  color: #fff;
}

@media only screen and (min-width: 768px) {
  .c-secTitle_main.active {
    color: #2e73a3;
  }
  .c-secTitle_main.active:before {
    background-image: url(/assets/images/common/ona_title_lefttop_blue.png);
  }
  .c-secTitle_main.active:after {
    background-image: url(/assets/images/common/ona_title_rightbtm_blue.png);
  }
}

@media only screen and (max-width: 767px) {
  .c-secTitle {
    margin-bottom: 20px;
  }
  .c-secTitle_main {
    font-size: 2.7rem;
  }
  .c-secTitle_sub {
    font-size: 1.6rem;
  }
}

.c-secTitle02 {
  margin-bottom: 35px;
  padding: 20px 25px;
font-size:3.0rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  background: #2e73a3;
}

.c-secTitle02 span {
  display: block;
  padding-left: 25px;
  border-left: 6px solid #fff;
}
.c-secTitle02--public {
}
@media only screen and (max-width: 767px) {
  .c-secTitle02 {
    margin-bottom: 15px;
    padding: 15px;
    font-size: 2.7rem;
  }
  .c-secTitle02 span {
    padding-left: 12px;
    border-left: 4px solid #fff;
  }
}

.c-secTitle03 {
  position: relative;
  margin-bottom: 35px;
  padding-bottom: 12px;
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 4px solid #d6d6e1;
}

.c-secTitle03:before {
  content: " ";
  position: absolute;
  bottom: -4px;
  left: 0;
  display: block;
  width: 100px;
  height: 4px;
  background: #2e73a3;
}

@media only screen and (max-width: 767px) {
  .c-secTitle03 {
    margin-bottom: 25px;
    font-size: 2.3rem;
  }
  .c-secTitle03:before {
    width: 50px;
  }
}

.c-secTitle04 {
  margin-bottom: 15px;
  padding: 10px 18px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  background: #efeff3;
}

@media only screen and (max-width: 767px) {
  .c-secTitle04 {
    padding: 8px 12px;
    font-size: 2.2rem;
  }
}

.c-secTitle05 {
  margin-bottom: 20px;
  font-size: 4.0rem;
  font-weight: bold;
  color: #2e73a3;
  line-height: 1.6;
}

@media only screen and (max-width: 767px) {
  .c-secTitle05 {
    margin-bottom: 25px;
    font-size: 3.0rem;
    line-height: 1.4;
  }
}
.c-secTitle06 {
  margin-bottom: 20px;
  font-size: 2.0rem;
  font-weight: bold;
  color: #2e73a3;
  line-height: 1.6;
}

@media only screen and (max-width: 767px) {
  .c-secTitle06 {
    margin-bottom: 25px;
    font-size: 3.0rem;
    line-height: 1.4;
  }
}

.c-secLead {
  margin-bottom: 30px;
  text-align: center;
  font-size: 2.2rem;
}

@media only screen and (min-width: 768px) {
  .c-secLead br {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .c-secLead {
    margin-bottom: 25px;
    font-size: 1.9rem;
    line-height: 1.5;
  }
}

.c-secLead02 {
  margin-bottom: 65px;
}

.c-secLead02 p:not(:first-child) {
  margin-top: 30px;
}

@media only screen and (max-width: 767px) {
  .c-secLead02 {
    margin-bottom: 45px;
  }
  .c-secLead02 p:not(:first-child) {
    margin-top: 20px;
  }
}

.c-secLead03 {
  margin-bottom: 70px;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .c-secLead03 {
    margin-bottom: 35px;
    font-size: 1.9rem;
  }
}

/*----------------------------------
Box Style
----------------------------------*/
.c-bgGray {
  background: url(/assets/images/common/bg_gray_dot.png);
}

.c-business {
  padding: 55px 0;
}

@media only screen and (max-width: 767px) {
  .c-business {
    padding: 50px 0;
  }
}

.c-info {
  padding-top: 55px;
}

.c-info_vis {
  position: relative;
  height: 437px;
  background: url(/assets/images/home/bg_info.jpg) 50% 50% no-repeat;
  background-size: cover;
}

.c-info .c-btn {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
}

@media only screen and (max-width: 767px) {
  .c-info {
    padding-top: 50px;
  }
  .c-info_vis {
    height: 0;
    padding-top: 61.3333%;
    background-image: url(/assets/images/home/bg_info_sp.jpg);
  }
  .c-info .c-btn {
    bottom: 30px;
    width: calc(100% - 30px);
  }
}

/* --------------- */
.c-info02{
	padding:100px 0 140px;
}
.c-info02 .l-wrap{
	width:1200px;
}
.c-info02-lst{
	display:flex;
	flex-wrap:wrap;
	gap:30px 20px;
}
.c-info02-lst li{
	width:calc( (100% - 40px) / 3);
}
.c-info02-lst li .c-secTitle{
}
.c-info02-lst li .c-secTitle_main{
	font-size:2.0rem;
}
.c-info02-lst li .c-secTitle_sub{
	font-size:1.5rem;
}
.c-info02-lst li .picLnk{
	text-decoration:none;
}
.c-info02-lst li .pic{
}
.c-info02-lst li .pic img{
	width:100%;
	height:auto;
    transition: opacity .2s;
}
.c-info02-lst li .pic:hover img{
  opacity: .8;
}
@media only screen and (max-width: 767px) {
	.c-info02{
		padding:40px 0 60px;
	}
	.c-info02 .l-wrap{
		width:100%;
	}
	.c-info02-lst li{
		width:100%;
	}
}


/* --------------- */
.c-news {
  position: relative;
  padding: 55px 0;
}

.c-news:before {
  content: " ";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: url(/assets/images/common/bg_loco.png) left 370px bottom -20px no-repeat;
}

.c-news_wrap {
  width: 870px;
  margin: 0 auto;
}

.c-news_list dl {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  color: #333;
}

.c-news_list dl:not(:first-child) {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e0e0e0;
}

.c-news_list dd {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex: 1;
      flex: 1;
  padding-left: 30px;
}






.c-news .c-btn{
	display:block;
	width:100%;
	text-align:center;
}
.c-news .c-btn a,
.c-news .c-btn span{
	width:100%;
	max-width:250px;
	margin:0 auto;
}

.c-news .c-btn a:hover,
.c-news .c-btn span:hover{
	/*background-color:#e0e0ff;*/
}

/* ニュースリストのスタイル */
.c-news_irList {
	list-style: none;
	padding: 0;
	margin: 0 auto 40px;
}

.c-news_irList li {
	border-bottom: 1px solid #ccc;
	padding: 10px 0;

	display: flex;
	flex-wrap: wrap;
	gap: 3px 10px;
	align-items: center; /* アイテムを縦方向に中央揃え */
}



.c-news_irList .date {
	width: 95px;
	padding-top:3px;
	text-align: center; /* 中央揃え */
	font-weight: bold; /* 太字 */
	flex-shrink: 0;
}

.c-news_irList .cat {
	width:120px;
	flex-shrink: 0;

	padding: 6px 0 4px;
	font-size: 1.1rem;
	line-height: 1;
	text-align: center;
	border: 1px solid #333;
	border-radius: 10px;



}

.c-news_irList .tit {
	flex-grow: 1;
}



.c-news_irList .tit a {
	color: #000;
	text-decoration: none; /* 下線を削除 */
	position: relative;
	display: inline-block;
}

.c-news_irList .tit a:hover {
	text-decoration: underline;
}

/* 他のリンク用クラス */
.c-news_irList a.otherlnk::after {
	content: "";
	width: 16px;
	height: 16px;
	display: inline-block;
	background: url(/assets/news_csv/images/icon_other.png) no-repeat center center;
	background-size: contain;
	margin-top:3px;
	margin-left:10px;
}

/* PDFリンク用クラス */
.c-news_irList a.pdflnk::after { 
	content: "";
	width: 16px;
	height: 16px;
	display: inline-block;
	background: url(/assets/news_csv/images/icon_pdf.png) no-repeat center center;
	background-size: contain;
	margin-top:3px;
	margin-left:10px;
}





@media only screen and (max-width: 767px) {
  .c-news {
    padding: 50px 0;
  }
  .c-news:before {
    top: 0;
    right: 0;
    background-position: right -5px top 20px;
    background-size: 172px auto;
  }
  .c-news_wrap {
    width: 100%;
    padding: 0 15px;
  }
	.c-news_irList li {
		align-items: flex-start;
	}

	.c-news_irList .date {
		text-align: left;
	}

	.c-news_irList .cat {
		margin-top: 5px;
	}

	.c-news_irList .tit {
		width: 100%;
	}
	.c-news_irList .tit a {
		padding-left: 0;
	}

	.c-news_irList a.otherlnk::after,
	.c-news_irList a.pdflnk::after {
		left: auto;
		top: auto;
		transform: none;
		margin-left: 10px;
	}





}

.c-employ {
  padding-top: 55px;
}

.c-employ_vis {
  position: relative;
  height: 540px;
  background: url(/assets/images/home/bg_employ.jpg) 50% 50% no-repeat;
  background-size: cover;
}

.c-employ .c-btn {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
}

@media only screen and (max-width: 767px) {
  .c-employ {
    padding-top: 50px;
  }
  .c-employ_vis {
    height: 0;
    padding-top: 61.3333%;
    background-image: url(/assets/images/home/bg_employ_sp.jpg);
  }
  .c-employ .c-btn {
    bottom: 30px;
    width: calc(100% - 30px);
  }
}

.c-iso {
  padding: 40px 0;
  font-size: 1.2rem;
  background: #fff;

  display:flex;
  flex-wrap:wrap;
  gap:15px 15px;
  align-items:center;
  justify-content:center;

}


.c-iso_chatoco {
	text-align:center;
}
.c-iso-sub{
  display:flex;
  flex-wrap:wrap;
  gap:15px 15px;
  align-items:center;
  justify-content:center;
}

.c-iso_privacy {
	text-align:center;
}

.c-iso_jma {
	text-align:center;
}
.c-iso_chatoco a{
	display:inline-block;
	border:solid 2px #ccc;
}
.c-iso_chatoco a span.c-iso_chatoco_label{
	display:block;
	padding:5px 20px;
	background:#fff;
	border:solid 5px #f5f5f5;
	text-align:center;
}
.c-iso_chatoco img{
	width:auto;
	height:35px;
	vertical-align:bottom;
	margin-bottom:5px;
}

.c-iso_privacy  img{
	width:auto;
	height:85px;
}

.c-iso_jma img{
	width:auto;
	height:85px;
}

@media only screen and (max-width: 767px) {
  .c-iso {
    padding: 20px 0;
    font-size: 1.0rem;
  }
	.c-iso_chatoco {
		width:100%;
	}

	.c-iso-sub{
	}

	.c-iso_privacy {
		width:100%;
		text-align:center;
	}

	.c-iso_jma {
		width:65px;
		text-align:left;
	}
}

.c-copyRight {
  padding: 5px 0 8px;
  text-align: center;
  line-height: 1;
  background: #d6d6e1;
}

.c-copyRight small {
  font-size: 1.2rem;
}

@media only screen and (max-width: 767px) {
  .c-copyRight {
	width:100%;
    padding: 3px 0 6px;
  }
  .c-copyRight small {
    font-size: 1.0rem;
  }
}

.c-underSecBlock:not(:last-child) {
  margin-bottom: 140px;
}

@media only screen and (max-width: 767px) {
  .c-underSecBlock:not(:last-child) {
    margin-bottom: 90px;
  }
}

.c-underSec section:not(:first-child) {
  margin-top: 75px;
}

@media only screen and (max-width: 767px) {
  .c-underSec section:not(:first-child) {
    margin-top: 45px;
  }
}

.c-jmaCnt {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.c-jmaCnt img {
  width: 76px;
}

.c-jmaCnt ul {
  margin-left: 30px;
}

@media only screen and (max-width: 767px) {
  .c-jmaCnt img {
    width: 60px;
  }
  .c-jmaCnt ul {
    margin-left: 20px;
  }
}

.c-defList {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -30px;
}

.c-defList dl {
  width: calc(100% / 2 - 30px);
  margin-top: 30px;
}

.c-defList dl:nth-child(even) {
  margin-left: 30px;
}

.c-defList dt {
  position: relative;
  margin-bottom: 5px;
  padding-left: 15px;
  color: #73b0da;
  font-weight: bold;
}

.c-defList dt:before {
  content: " ";
  position: absolute;
  top: 10px;
  left: 0;
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #73b0da;
}

@media only screen and (max-width: 767px) {
  .c-defList {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .c-defList dl {
    width: 100%;
    margin-top: 45px;
  }
  .c-defList dl:nth-child(even) {
    margin-left: 0;
  }
}

.c-charaSet p:not(:first-child) {
  margin-top: 30px;
}

.c-charaSet small {
  font-size: 1.2rem;
}

.c-charaSet + .c-charaSet {
  margin-top: 65px;
}

.c-charaSet + .c-charaSet--mdl {
  margin-top: 30px;
}

.c-charaSet + .c-charaSet--sml {
  margin-top: 10px;
}

.specific_personal_information .c-charaSet + .c-charaSet {
  margin-top: 0px;
}

@media only screen and (max-width: 767px) {
  .c-charaSet p:not(:first-child) {
    margin-top: 20px;
  }
  .c-charaSet + .c-charaSet {
    margin-top: 45px;
  }
  .c-charaSet + .c-charaSet--mdl {
    margin-top: 20px;
  }
  .c-charaSet + .c-charaSet--sml {
    margin-top: 5px;
  }
}

.c-policyDetail {
  margin-bottom: 65px;
}

@media only screen and (max-width: 767px) {
  .c-policyDetail {
    margin-bottom: 45px;
  }
}

.c-sitemap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin-top: -65px;
}

.c-sitemap_wrap {
  width: calc(100% / 2 - 40px);
  margin-top: 65px;
}

.c-sitemap_wrap dd {
  padding-left: 15px;
}

@media only screen and (max-width: 767px) {
  .c-sitemap {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .c-sitemap_wrap {
    width: 100%;
  }
  .c-sitemap_wrap:not(:first-child) {
    margin-top: 45px;
  }
  .c-sitemap_wrap dd {
    padding-left: 12px;
  }
}

.c-contact {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -65px 0 0 -40px;
}

.c-contact_wrap {
  width: calc(100% / 2 - 40px);
  text-align: center;
  margin: 65px 0 0 40px;
}

@media only screen and (max-width: 767px) {
  .c-contact {
    -ms-flex-direction: column;
        flex-direction: column;
    margin: -45px 0 0 0;
  }
  .c-contact_wrap {
    width: 100%;
    margin: 45px 0 0 0;
  }
}

.c-charaSetImg_main {
	position: relative;
	padding-right: 340px;
}
.c-charaSetImg-topmessage{
}
.c-charaSetImg-topmessage .c-charaSetImg_main {
	 padding-right: 0 !important;
}
.c-charaSetImg_main > p:not(:first-child) {
  margin-top: 15px;
}

.c-charaSetImg_image {
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
}

@media only screen and (max-width: 767px) {
  .c-charaSetImg {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .c-charaSetImg_main {
    padding-right: 0;
  }
  .c-charaSetImg_image {
    position: relative;
    width: 100%;
    margin-bottom: 25px;
  }
  .c-charaSetImg_image img {
    width: 100%;
  }
}

.c-charaSetImg02 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
}

.c-charaSetImg02_image {
  width: 230px;
}

@media only screen and (max-width: 767px) {
  .c-charaSetImg02 {
	 display:block;
  }
  .c-charaSetImg02_image {
    width: 100%;
    margin-top: 10px;
  }
  .c-charaSetImg02_image img {
    width: 100%;
  }
}

.c-sign {
  margin-top: 30px;
}

@media only screen and (max-width: 767px) {
  .c-sign {
    margin-top: 25px;
  }
}

.c-bnr img {
  border: 1px solid #e0e0e0;
  transition: opacity .2s;
}

.c-bnr span {
  display: block;
  margin-top: 5px;
}

.c-bnr a:hover img {
  opacity: .8;
}


/* .c-charaSetImg04_main{ */
.c-charaSetImg04_main{
	display:flex;
	flex-wrap:wrap;
	gap:15px 20px;
}
.c-charaSetImg04_image{
	width:calc(45% - 10px);
	order:2;
}
.c-charaSetImg04_image img{
	width:100%;
	height:auto;
	margin-bottom:10px;
}
.c-charaSetImg04_cnt{
	width:calc(55% - 10px);
	order:1;
}

/* ----- */
.c-charaSetImg04_main-contribution .c-charaSetImg04_image{
	width:calc(25% - 10px) !important;
}
.c-charaSetImg04_main-contribution .c-charaSetImg04_cnt{
	width:calc(75% - 10px) !important;
}

/* ----- */
.c-charaSetImg04_main-strength{
	gap:10px 5px !important;
}
.c-charaSetImg04_main-strength .c-charaSetImg04_image{
	width:calc(56% - 10px) !important;
}
.c-charaSetImg04_main-strength .c-charaSetImg04_cnt{
	width:calc(44% - 10px) !important;
}
@media only screen and (max-width: 767px) {

	.c-charaSetImg04_image{
		width:100% !important;
		order:1;
	}
	.c-charaSetImg04_image img{
	}
	.c-charaSetImg04_cnt{
		width:100% !important;
		order:2;
	}
	/* ----- */
	.c-charaSetImg04_main-contribution .c-charaSetImg04_image{
		width:100% !important;
	}
	.c-charaSetImg04_main-contribution .c-charaSetImg04_cnt{
		width:100% !important;
	}

	/* ----- */
	.c-charaSetImg04_main-strength .c-charaSetImg04_image{
		width:100% !important;
	}
	.c-charaSetImg04_main-strength .c-charaSetImg04_cnt{
		width:100% !important;
	}
}
/*----------------------------------
Text Style
----------------------------------*/
.c-tbl {
  width: 100%;
  table-layout: fixed;
  line-height: 1.4;
}

.c-tbl caption {
  margin-bottom: 10px;
  text-align: left;
  font-weight: bold;
}

.c-tbl tbody th, .c-tbl tbody td {
  padding: 1em 1.5em;
}

.c-tbl tbody tr:not(:first-child) th, .c-tbl tbody tr:not(:first-child) td {
  border-top: 2px solid #fff;
}

.c-tbl tbody th {
  width: 25%;
  text-align: left;
  color: #fff;
  background: #2e73a3;
}
.c-tbl thead th { border-right:solid 1px #fff;}
.c-tbl thead th:last-child { border-right:none;}
.c-tbl tbody th { border-right:solid 1px #fff;}
.c-tbl tbody th:last-child { border-right:none;}


.c-tbl tbody td {
  background: #f2f2f2;
}

.c-tbl--thSmall tbody th {
  width: 150px;
}

.c-tbl--thlarge tbody th {
  width: 400px;
}

.c-tbl--thNormal tbody th {
  width: auto;
}

.c-tbl--thCen tbody th {
  text-align: center;
}

/* ----- */
.c-tbl-executive,
.c-tbl-executive-charaSet{
	max-width:calc(100% - 50px);
	margin-left:auto;
	margin-right:auto;
}

.c-tbl-executive th{
	width:200px !important;
}

@media only screen and (max-width: 767px) {
	.c-tbl-executive,
	.c-tbl-executive-charaSet{
		max-width:100%;
	}
}

/* ----- */
.c-tbl-overview{
	max-width:calc(100% - 50px);
	margin-left:auto;
	margin-right:auto;
}
@media only screen and (max-width: 767px) {
	.c-tbl-overview{
		max-width:100%;
	}
}

/* ----- */
.c-tbl-history{
	max-width:calc(100% - 50px);
	margin-left:auto;
	margin-right:auto;
}

.c-tbl-history tbody td .wc0{
	width:9px;
	display:inline-block;
}
.c-tbl-history tbody td div{
    padding-left: 50px;   /* 全体を右へ寄せる */
    text-indent: -50px;   /* 1行目だけ左へ戻す＝結果的に2行目以降が字下げされる */
}
@media only screen and (max-width: 767px) {
	.c-tbl-history{
		max-width:100%;
	}
}
/* --- */
/*　c-tbl-fromnowon　thead */
.c-tbl-fromnowon{
	max-width:calc(100% - 50px);
	margin-left:auto;
	margin-right:auto;
}
.c-tbl-fromnowon thead th.col-1 { background:#2e73a3;color:#fff;padding:15px;text-align:center;}
.c-tbl-fromnowon thead th.col-2 { background:#2e73a3;color:#fff;padding:15px;text-align:center; }
.c-tbl-fromnowon thead th.col-3 { background:#2e73a3;color:#fff;padding:15px;text-align:center; }

.c-tbl-fromnowon tbody th.col-1 { background:#d6d6e1; color:#000; }



.c-tbl-fromnowon thead th.col-1 , 
.c-tbl-fromnowon tbody th.col-1 , 
.c-tbl-fromnowon tbody td.col-1 { width:14%;}

.c-tbl-fromnowon thead th.col-2 , 
.c-tbl-fromnowon tbody th.col-2 , 
.c-tbl-fromnowon tbody td.col-2 { width:23%;}

.c-tbl-fromnowon thead th.col-3 , 
.c-tbl-fromnowon tbody th.col-3 , 
.c-tbl-fromnowon tbody td.col-3 {  width:63%;
	border-left :solid 2px #fff;
}

.c-tbl-fromnowon tbody td.col-1 { font-weight:bold;}

.c-tbl-fromnowon th,
.c-tbl-fromnowon td {
	border-width: 2px !important;
	border-right-width: 2px !important;
}



@media only screen and (max-width: 767px) {
	.c-tbl-fromnowon{
		max-width:100%;
	}
}

/* --- */
/*　c-tbl-disclosure01　thead */


.c-tbl--disclosure01 thead th { background:#2e73a3;color:#fff;padding:15px;text-align:center;}

.c-tbl--disclosure01 tbody th { background:#d6d6e1; color:#000; }

.c-tbl--disclosure01 th,
.c-tbl--disclosure01 td{
	border-width: 2px !important;
	border-right-width: 2px !important;
}
.c-tbl--disclosure01 td {
	border-left:solid #fff;
}


/* --- */
/*　c-tbl--thNormal-privacy_policy */


.c-tbl--thNormal-privacy_policy th,
.c-tbl--thNormal-privacy_policy td{
	border-width: 2px !important;
	border-right-width: 2px !important;
}
.c-tbl--thNormal-privacy_policy td{
	border-left:solid #fff;
}




/* --- */
/*　c-tbl-exam　thead */

.c-tbl-exam02 {
	width:50%;
}
.c-tbl-exam02 + .c-txtRight{ width:50%; }

.c-tbl-exam thead th.col-1 , 
.c-tbl-exam tbody td.col-1 { width:80%;}

.c-tbl-exam thead th.col-2 , 
.c-tbl-exam tbody td.col-2 { width:20%;}

.c-tbl-exam thead th.col-1 { background:#2e73a3;color:#fff;padding:15px;text-align:center;}
.c-tbl-exam thead th.col-2 { background:#2e73a3;color:#fff;padding:15px;text-align:center; }

.c-tbl-exam tbody th.col-1 { background:#d6d6e1; color:#000; }

.c-tbl-exam tbody th.col-2 { }
.c-tbl-exam tbody td.col-2 { text-align:right;}


.c-tbl-exam th.th-main { font-weight:bold;}
.c-tbl-exam th.th-sub { padding-left:2.5em;}

.c-tbl-exam02 th.th-sub { border:none;}


.c-tbl-exam02 .bender-header{
	border-top:solid 8px #fff;
}


/*　c-tbl-exam　tbody */
@media only screen and (max-width: 767px) {
	.c-tbl-exam  { max-width:100%;}
}






@media only screen and (max-width: 767px) {
	.c-tbl.c-tbl--thNormal{
		table-layout:fixed;
	}

  /*.c-tbl tbody th, .c-tbl tbody td {*/
	.c-tbl:not(.c-tbl--thNormal) tbody th,
	.c-tbl:not(.c-tbl--thNormal) tbody td {
    width: 100%;
    display: block;
    padding: .8em;
  }

	.c-tbl--thNormal tbody th,
	.c-tbl--thNormal tbody td {
		/* 例: 通常のスタイルを保持 */
		padding: 0.3em;
	}

  .c-tbl--thSmall tbody th {
    width: 100%;
  }
  .c-tbl--thSmall[data-sp='dblCol'] tbody th, .c-tbl--thSmall[data-sp='dblCol'] tbody td {
    width: auto;
    display: table-cell;
  }
  .c-tbl--thSmall[data-sp='dblCol'] tbody th {
    width: 80px;
    padding: .8em 0;
  }
  .c-tbl--thlarge tbody th {
    width: 100%;
  }
  .c-tbl--thlarge[data-sp='dblCol'] tbody th, .c-tbl--thlarge[data-sp='dblCol'] tbody td {
    width: auto;
    display: table-cell;
  }
  .c-tbl--thlarge[data-sp='dblCol'] tbody th {
    width: 180px;
    padding: .8em;
  }

	.c-tbl-spNormal.c-tbl--thSmall tbody th {
    width: 100%;
  }


	.c-tbl-exam02 {
		width:100%;
	}

	.c-tbl-exam02 thead th.col-1 , 
	.c-tbl-exam02 tbody td.col-1 { width:70%;}

	.c-tbl-exam02 thead th.col-2 , 
	.c-tbl-exam02 tbody td.col-2 { width:30%;}
	.c-tbl-exam02 + .c-txtRight{ width:100%; }

}

/*----------------------------------
Visual Style
----------------------------------*/
.c-mv {
	position: relative;
	width: 100%;
	height: calc(100vh - 123px);
	background: url(/assets/images/home/bg_mv.jpg) 50% 50% no-repeat;
	background-size: cover;
}

.c-mv_text {
	position: absolute;
	top: 120px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
}


.c-mv_text {
	width:98%;
	position: absolute;
	top: calc(50% - 100px); /* 縦方向の中央に配置 */
	left: 50%; /* 横方向の中央に配置 */
	transform: translate(-50%, -50%); /* 中央に正確に配置するための移動 */
	text-align: center;
}

.c-mv_text .c-mv_text_tit {
	margin-top: 30px;
	color: #fff;
	font-size: clamp(40px, 1500.0000vw + -11450.0000px, 55px); /* Vary between 766px and 767px */
	font-weight:bold;
	line-height: 1.5;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

@media only screen and (max-width: 767px) {
	.c-mv {
		height: 50vh;
		background-image: url(/assets/images/home/bg_mv_sp.jpg);
	}
	.c-mv_text {
		/*
		top: 18.9075%;
		 */
		top: calc(50% - 120px); /* 縦方向の中央に配置 */
		left: 0;
		width: 100%;
		padding: 0 15px;
		transform: translateX(0);
  }
  .c-mv_text p {
	  margin-top: 15px;
	  font-size: 1.6rem;
  }
}

.c-mvTera {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-top: 23px;
	background: rgba(46, 115, 163, 0.8);
}
.c-mvTera_btn {
	margin-top: 15px;
}

@media only screen and (min-width: 768px) {
  .c-mvTera {
    transition: background .2s;
  }
  .c-mvTera.active {
    background: rgba(255, 255, 255, 0.8);
  }
}

@media only screen and (max-width: 767px) {
  .c-mvTera {
    padding: 20px 15px 0;
	z-index:999;
  }
  .c-mvTera .c-secTitle_main {
    font-size: 5.3vw;
  }
}

/* ------------------------------*/

.c-mv02 {
	position: relative;
	width: 100%;
	height: 75vh;
	background: url(/assets/images/home/bg_mv.jpg) 50% 50% no-repeat;
	background-size: cover;
}

.c-mv02_text {
	position: absolute;
	top: 120px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
}


.c-mv02_text {
	width:98%;
	position: absolute;
	top: calc(50% - 100px); /* 縦方向の中央に配置 */
	left: 50%; /* 横方向の中央に配置 */
	transform: translate(-50%, -50%); /* 中央に正確に配置するための移動 */
	text-align: center;
}

.c-mv02_text .c-mv02_text_tit {
	margin-top: 30px;
	color: #fff;
	font-size: clamp(40px, 1500.0000vw + -11450.0000px, 55px); /* Vary between 766px and 767px */
	font-weight:bold;
	line-height: 1.5;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);

}
.c-mv02Tera {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-top: 23px;
	background: rgba(46, 115, 163, 0.8);
}
.c-mvTera02_btn a{
	width:90%;
	margin-left:auto;
	margin-right:auto;
}

/* ------------------------------*/
.c-mvUnder {
  position: relative;
  height: 140px;
  background-color: #2e73a3;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.c-mvUnder_main {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

/* 早わかり */
.c-mvUnder--quick_information {
  background-image: url(/assets/images/common/c-mvUnder_quick_information.png);
}

/* 事業内容 */
.c-mvUnder--business {
  background-image: url(/assets/images/common/c-mvUnder_business.png);
}

.c-mvUnder--access {
  background-image: url(/assets/images/common/c-mvUnder_access_map.png);
}

.c-mvUnder--company {
  background-image: url(/assets/images/common/c-mvUnder_company.png);
}

.c-mvUnder--group {
  background-image: url(/assets/images/common/c-mvUnder_group_company.png);
}

.c-mvUnder--idea {
  background-image: url(/assets/images/common/c-mvUnder_group_vision.jpg);
}

.c-mvUnder--overview {
  background-image: url(/assets/images/common/company-overview_pc.png);
}

.c-mvUnder--csr {
  background-image: url(/assets/images/common/c-mvUnder_sustainability.png);
}

@media only screen and (max-width: 767px) {
  .c-mvUnder {
    height: auto;
    padding: 15px;
  }
  .c-mvUnder_main {
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0);
    line-height: 1.5;
  }
}
@media only screen and (max-width: 395px) {
	.c-mv_text .c-mv_text_tit {
	  font-size: 27px;
	}
}

/*----------------------------------
Text Style
----------------------------------*/
.c-fnt_barlow {
  font-family: 'Barlow', sans-serif;
}

.c-fnt_barlowBold {
  font-family: 'BarlowBold', sans-serif;
}

.c-txtCenter {
  text-align: center;
}

.c-txtRight {
  text-align: right;
}
.c-txtRight.c-txtRight-strengths{
	width:100%;
	max-width:355px;
	margin:0 auto;
}
.c-linkLine:link {
  text-decoration: underline;
}

.c-linkLine:hover {
  text-decoration: none;
}

.c-annotation {
  margin-top: 5px;
}

.c-annotation small {
  font-size: 1.2rem;
}

.c-defCharaSet dt {
  font-weight: bold;
}
.c-defCharaSet.addDotted dt {
	list-style: disc;
	  display: list-item;
	  margin-left:1.5em;
}
.c-disc {
  list-style: disc;
  padding-left: 1.5em;
}

.c-numOrder {
  list-style: decimal;
  font-weight: bold;
  padding-left: 1.5em;
}
.c-numOrder-Normal {
  list-style: decimal;
  padding-left: 1.5em;
}

.c-numOrder li span {
  display: block;
}

.c-numOrder li:not(:first-child) {
  margin-top: 30px;
}

.c-numOrder li *:not(span) {
  font-weight: normal;
}

.c-numOrderBracket {
  margin: 30px 0;
  padding-left: 2em;
}

.c-numOrderBracket li {
  counter-increment: num;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.c-numOrderBracket li:not(:first-child) {
  margin-top: 15px;
}

.c-numOrderBracket li:before {
  content: "（" counter(num) "）";
  display: inline-block;
  margin-right: 0.5em;
}


.c-numOrderBracket2 {
  margin: 30px 0;
}

.c-numOrderBracket2 li {
  counter-increment: num;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.c-numOrderBracket2 li:not(:first-child) {
  margin-top: 15px;
}


@media only screen and (max-width: 767px) {
  .c-numOrderBracket {
    margin: 20px 0;
    padding-left: 1em;
  }
}
/*----------------------------------
.strength_kensyu
----------------------------------*/
.strength_kensyu{
  display: flex;
  flex-wrap:wrap;
  gap:10px 10px;
  margin-left:auto;
  margin-right:auto;
  width:80%;
}
.strength_kensyu .strength_kensyu_cnt01{
	width:50%;
}
.strength_kensyu .strength_kensyu_cnt02{
	width:30%;
	padding: clamp(8px, 1.7857vw + 1.3036px, 15px); /* Vary between 375px and 767px */

	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}

.strength_kensyu02 .strength_kensyu_cnt02{
	padding-top:30px !important;
}


.strength_kensyu .strength_kensyu_cnt01 .c-tbl thead th.col-1 { width:60%;background:#2e73a3; }
.strength_kensyu .strength_kensyu_cnt01 .c-tbl thead th.col-2 { width:40%;background:#2e73a3; }

.strength_kensyu .strength_kensyu_cnt02 p{
	display:block;
	width:100%;
	background:#eee;
	padding:1em 0;
}

.strength_kensyu .strength_kensyu_arrow{
	width:80px;

	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
.strength_kensyu .strength_kensyu_cnt02 span{
	display:block;
	text-align:center;
	font-size: clamp(20px, 2.5510vw + 10.4337px, 30px); /* Vary between 375px and 767px */
}

.strength_kensyu .c-tbl-exam01 + .c-txtRight{ width:100%; }

.strength_kensyu02-bottom-lbl{
	width:100%;
	text-align:right;
	padding-right:85px;
}

@media only screen and (max-width: 767px) {

	.strength_kensyu{
	  width:100%;
	}


	.strength_kensyu .strength_kensyu_cnt01{
		width:100%;
	}
	.strength_kensyu .strength_kensyu_cnt02{
		width:100%;
	}
	.strength_kensyu .strength_kensyu_arrow{
		width:100%;
	}
	.strength_kensyu .strength_kensyu_arrow img{
		width:40px;
		height:auto;
		-webkit-transform: rotate(90deg); /* Safari */
		-ms-transform: rotate(90deg);     /* IE 9 */
		transform: rotate(90deg);
	}
	.strength_kensyu .strength_kensyu_cnt01{
		width:100%;
	}
	/*　c-tbl　thead */

	/*　c-tbl　tbody */
	.strength_kensyu .strength_kensyu_cnt01 .c-tbl thead th.col-1 {padding:5px; width:70%; }
	.strength_kensyu .strength_kensyu_cnt01 .c-tbl tbody th.col-1 { width:70%; }
	.strength_kensyu .strength_kensyu_cnt01 .c-tbl tbody td.col-1 { width:70%; }

	.strength_kensyu .strength_kensyu_cnt01 .c-tbl thead th.col-2 {padding:5px; width:30%; }
	.strength_kensyu .strength_kensyu_cnt01 .c-tbl tbody th.col-2 { width:30%; }
	.strength_kensyu .strength_kensyu_cnt01 .c-tbl tbody td.col-2 { width:30%; text-align:right;}

	.strength_kensyu02-bottom-lbl{
		padding-right:0px;
	}

}


/*----------------------------------
.strength_kensyu02
----------------------------------*/
.strength_kensyu02{
  display: flex;
  flex-wrap:wrap;
  gap:10px 10px;

	/*align-items:flex-start;*/

  margin-left:auto;
  margin-right:auto;
  width:80%;
}
.strength_kensyu02 .strength_kensyu_cnt01{
	width:50%;
}
.strength_kensyu02 .strength_kensyu_cnt02{
	width:30%;
	padding: clamp(8px, 1.7857vw + 1.3036px, 15px); /* Vary between 375px and 767px */

	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;

	align-content: center;    /* 複数行全体の縦方向を中央寄せ */

}
.strength_kensyu02 .strength_kensyu_cnt01 .c-tbl thead th.col-1 { width:60%;background:#2e73a3; }
.strength_kensyu02 .strength_kensyu_cnt01 .c-tbl thead th.col-2 { width:40%;background:#2e73a3; }

.strength_kensyu02 .strength_kensyu_cnt02 div{
	display:block;
	width:100%;
	background:#eee;
	padding:1em 0;
	margin-bottom:10px;
}
.strength_kensyu02 .strength_kensyu_arrow{
	width:80px;

	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;


}

.strength_kensyu02 .strength_kensyu_cnt02 span{
	display:block;
	text-align:center;
	font-size: clamp(20px, 2.5510vw + 10.4337px, 30px); /* Vary between 375px and 767px */
}

.strength_kensyu02 .c-tbl-exam01 + .c-txtRight{ width:100%; }


@media only screen and (max-width: 767px) {

	.strength_kensyu02{
	  width:100%;
	}


	.strength_kensyu02 .strength_kensyu_cnt01{
		width:100%;
	}
	.strength_kensyu02 .strength_kensyu_cnt02{
		width:100%;
	}
	.strength_kensyu02 .strength_kensyu_arrow{
		width:100%;
		padding:0;
	}
	.strength_kensyu02 .strength_kensyu_arrow img{
		width:40px;
		height:auto;
		-webkit-transform: rotate(90deg); /* Safari */
		-ms-transform: rotate(90deg);     /* IE 9 */
		transform: rotate(90deg);
	}


	.strength_kensyu02 .strength_kensyu_cnt01{
		width:100%;
	}
	/*　c-tbl　thead */

	/*　c-tbl　tbody */
	.strength_kensyu02 .strength_kensyu_cnt01 .c-tbl thead th.col-1 {padding:5px; width:70%; }
	.strength_kensyu02 .strength_kensyu_cnt01 .c-tbl tbody th.col-1 { width:70%; }
	.strength_kensyu02 .strength_kensyu_cnt01 .c-tbl tbody td.col-1 { width:70%; }

	.strength_kensyu02 .strength_kensyu_cnt01 .c-tbl thead th.col-2 {padding:5px; width:30%; }
	.strength_kensyu02 .strength_kensyu_cnt01 .c-tbl tbody th.col-2 { width:30%; }
	.strength_kensyu02 .strength_kensyu_cnt01 .c-tbl tbody td.col-2 { width:30%; text-align:right;}


}


.strength_kensyu_cnt_normal{
	width:100%;
	margin:0 auto;
}
.strength_kensyu_cnt_normal p{
	width:100%;
	background:#eee;
	padding:1em 0;
	margin-bottom:10px;
}

.strength_kensyu_cnt_normal span{
	display:block;
	text-align:center;
	font-size: clamp(20px, 2.5510vw + 10.4337px, 30px); /* Vary between 375px and 767px */
}

/*----------------------------------
.strength-model
----------------------------------*/
.strength-model{
	background:#eee;
	padding: clamp(8px, 1.7857vw + 1.3036px, 15px); /* Vary between 375px and 767px */
}

/*----------------------------------
.strength_model_hiritu{
----------------------------------*/
.strength_model_hiritu{
	text-align:center;
}
.strength_model_hiritu span.tit01{
	font-weight:bold;
	font-size: clamp(20px, 2.5510vw + 10.4337px, 30px); /* Vary between 375px and 767px */
	padding-right:3px;
}
.strength_model_hiritu span.tit02{
	font-weight:bold;
	font-size: clamp(25px, 3.8265vw + 10.6505px, 40px); /* Vary between 375px and 767px */
	color:#f00;
}
.strength_model_hiritu span.tit02 span{
	padding-left:3px;
	font-size: clamp(20px, 2.5510vw + 10.4337px, 30px); /* Vary between 375px and 767px */
}

/*----------------------------------
accessMap
----------------------------------*/
.accessMap{
}
.accessMap_root{
	width:100%;
	max-width:680px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	gap:25px;
}
.c-charaSet .accessMap_root p:not(:first-child){
	margin-top:0 !important;
}
.accessMap_root li{
	width:100%;
	text-align:center;

	display:flex;
	flex-wrap:wrap;
	gap:15px;
}
.accessMap_root li .num{
	width:40px;
}
.accessMap_root li .pic{
	width:calc((100% - 40px) - 70%);
}

.accessMap_root li .pic img{
	width:100%;
	height:auto;
}
.accessMap_root li .cnt{
	width:calc((100% - 40px) - 30%);
	text-align:left;
}
.accessMap_root li .cnt_num{
	display:none;
}
@media only screen and (max-width: 767px) {

	.accessMap_root{
		max-width:calc(100% - 30px);
		margin-left:auto;
		margin-right:auto;
	}

	.accessMap_root li{
		width:100% !important;
		text-align:center;

		display:flex;
		flex-wrap:wrap;
		gap:15px;
	}
	.accessMap_root li .num{
		display:none;
	}
	.accessMap_root li .pic{
		width:100%;
	}

	.accessMap_root li .pic img{
		width:100%;
		height:auto;
	}
	.accessMap_root li .cnt{
		width:100%;
		text-align:left;
		text-indent: -11px;
		padding-left: 1em;
	}
	.accessMap_root li .cnt_num{
		display:inline-block;
		padding-right:5px;
	}

	
}
@media only screen and (max-width: 500px) {
	.accessMap_root li{
		width:calc( (100% - 15px) / 2);
	}
}

/*----------------------------------
pointIconLst
----------------------------------*/
.pointIconLst{
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	gap:10px 20px;
}
.pointIconLst .item{
	width:calc((100% - 60px) / 4);
	border:solid 4px #D6D6E1;
}
.pointIconLst02 .item{
	width:calc((100% - 80px) / 5);
}
.pointIconLst .item .tit{
	text-align:center;
	background:#D6D6E1;
	color:#2E73A3;
	font-size: clamp(17px, 0.5102vw + 15.0867px, 19px); /* Vary between 375px and 767px */
	font-weight:bold;
	padding:10px 5px;
}

.pointIconLst .item .cnt{
	padding: clamp(10px, 1.2755vw + 5.2168px, 15px); /* Vary between 375px and 767px */
}
.pointIconLst .item .pic{
	text-align:center;
}
.pointIconLst .item .pic img{
	width:100%;
	max-width:186px;
	height:auto;
}
.pointIconLst .item .lst{
	list-style:disc;
	margin-left:1em;
}
.pointIconLst .item .lst li{
	font-size: clamp(12px, 0.7653vw + 9.1301px, 15px); /* Vary between 375px and 767px */
}

/* ----- */
.pointIconLst-manufacture{
}
.pointIconLst-manufacture .item{
	width:calc((100% - 40px) / 3) !important;
	border:solid 4px #D6D6E1;
}
.pointIconLst-manufacture .item .txt{
	text-align:center;
	font-size: clamp(15px, 0.5102vw + 13.0867px, 17px); /* Vary between 375px and 767px */
}

@media only screen and (max-width: 767px) {
	.pointIconLst .item{
		width:calc((100% - 20px) / 2);
	}
	.pointIconLst-manufacture .item{
		width:100% !important;
	}

}

/*----------------------------------
sourceBox
----------------------------------*/
.sourceBox{
	margin-top:20px;
}
.sourceBox span{
	display:block;
	text-align:right;
	font-size:12px;
}

/*----------------------------------
strengthLst
----------------------------------*/
.strengthLst{
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	gap:10px 10px;
}
.strengthLst .item{
	width:calc((100% - 20px) / 3);
	border:solid 4px #D6D6E1;
}
.strengthLst .item .tit{
	text-align:center;
	background:#D6D6E1;
	color:#2E73A3;
	font-size: clamp(16px, 0.2551vw + 15.0434px, 17px); /* Vary between 375px and 767px */
	font-weight:bold;
	padding:10px 5px;
}

.strengthLst .item .cnt{
	padding: clamp(10px, 1.2755vw + 5.2168px, 15px); /* Vary between 375px and 767px */
}
.strengthLst .item .pic{
	text-align:center;
	padding:15px 0;
}
.strengthLst .item .pic img{
	width:100%;
	max-width:186px;
	height:auto;
}
.strengthLst .item .sub_tit{
	font-weight:bold;
	color:#2E73A3;
}
.strengthLst .item .txt{
}

@media only screen and (max-width: 767px) {
	.strengthLst .item{
		width:calc((100% - 0px) / 1);
	}
}



/*----------------------------------
sustaPageLnk
----------------------------------*/
.sustaPageLnk{
	display:flex;
	flex-wrap:wrap;
	gap:5px 45px;
}
.sustaPageLnk li{
	width:calc( (100% - 90px) / 3);
}
.sustaPageLnk li a{
	background:#000 url("../images/sustainability/sustaPageLnk_under.png") no-repeat;
	background-position:right 10px center;
	color:#fff;
	text-align:center;
	display:block;
	padding:15px 10px 15px 10px;
	border:solid 2px transparent;
	transition: 0.4s;
}
.sustaPageLnk li a[href="#environment"]{background-color:#058E05;}
.sustaPageLnk li a[href="#social"]{background-color:#0F3093;}
.sustaPageLnk li a[href="#governance"]{background-color:#FF870F;}

.sustaPageLnk li a[href="#environment"]:hover{
	background-color:#fff;
	background-image:url("../images/sustainability/sustaPageLnk_under_environment.png");
	color:#058E05;
	border-color:#058E05;
}
.sustaPageLnk li a[href="#social"]:hover{
	background-color:#fff;
	background-image:url("../images/sustainability/sustaPageLnk_under_social.png");
	color:#0F3093;
	border-color:#0F3093;
}
.sustaPageLnk li a[href="#governance"]:hover{
	background-color:#fff;
	background-image:url("../images/sustainability/sustaPageLnk_under_governance.png");
	color:#FF870F;
	border-color:#FF870F;
}

.sustaPageLnk li a .en{
	display:block;
	font-size: clamp(18px, 1.0204vw + 14.1735px, 22px); /* Vary between 375px and 767px */
	line-height:1;
}
.sustaPageLnk li a .ja{
	display:block;
	font-size: clamp(15px, 1.2755vw + 10.2168px, 20px); /* Vary between 375px and 767px */
	line-height:1;
}
@media only screen and (max-width: 767px) {
	.sustaPageLnk li{
		width:100%;
	}
	.sustaPageLnk li a{
		padding:5px 10px 5px 10px;
	}
}
/*----------------------------------
sustaBox
----------------------------------*/
.sustaBox{
	margin-bottom:85px;
}
.sustaBox:last-child{
	margin:0;
}
/* ----- */
.susta_mainTit{
	border-bottom:solid 1px #545454;
	margin-bottom:30px;
}
.susta_mainTit .img{
	display:block;
	margin-bottom: clamp(20px, 7.6531vw + -8.6990px, 50px); /* Vary between 375px and 767px */
}
.susta_mainTit .img img{
	width:100%;
	height:auto;
}
.susta_mainTit .en{
	display:block;
	font-size: clamp(25px, 2.2959vw + 16.3903px, 34px); /* Vary between 375px and 767px */
	font-weight:bold;
}
.susta_mainTit .ja{
	display:block;
	font-size: clamp(17px, 0.7653vw + 14.1301px, 20px); /* Vary between 375px and 767px */
	margin-bottom:10px;
}

#environment.sustaBox .susta_mainTit .en {color:#058D05; }
#social.sustaBox .susta_mainTit .en {color:#0E3092; }
#governance.sustaBox .susta_mainTit .en {color:#FF850D; }


/* ----- */
.susta_tit{
	font-size: clamp(17px, 0.7653vw + 14.1301px, 20px); /* Vary between 375px and 767px */
	font-weight:bold;
	background:#eee;
	padding:10px 10px 10px 15px;
	margin-bottom:20px;
}


#environment .susta_tit {background-color:#EBFFE3; }
#social.sustaBox .susta_tit {background-color:#E3F9FF; }
#governance.sustaBox .susta_tit{background-color:#FFF0E1; }


/* ----- */
.sustaLst{
	border-left:solid 3px #000;
	padding-left:22px;
	margin-left:25px;
	margin-bottom:60px;
}


#environment .sustaLst {border-color:#008C00; }
#social.sustaBox .sustaLst {border-color:#00238C; }
#governance.sustaBox .sustaLst{border-color:#FF8000; }


.sustaLst .item{
	margin-bottom:40px;
}
.sustaLst .item:last-child{
	margin-bottom:0;
}
.sustaLst .item .tit{
	font-size: clamp(17px, 0.7653vw + 14.1301px, 20px); /* Vary between 375px and 767px */
	font-weight:bold;
	color:#535353;
	margin-bottom:20px;
}
.sustaLst .item .cnt{
}



.sustaLst .item .cnt.havePic{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
}
.sustaLst .item .cnt.havePic .havePic_cnt{
	width:75%;
}
.sustaLst .item .cnt.havePic .havePic_pic{
	width:calc( (100% - 75% ) - 20px );
}
.sustaLst .item .cnt.havePic .havePic_pic img{
	width:100%;
	height:auto;
}
@media only screen and (max-width: 767px) {
	.sustaLst .item .cnt.havePic .havePic_cnt{
		width:100%;
	}
	.sustaLst .item .cnt.havePic .havePic_pic{
		width:100%;
	}
}


/* ----- */
.c-tbl--susta01{
	width:100%;
	max-width:900px;
	margin-top:15px;
}
.c-tbl--susta01 th{
	width:185px !important;
	text-align:center !important;
}
.c-tbl--susta01 td{
	width:calc(100% - 185px) !important;
}
/* ----- */
.c-tbl--susta02{
	width:100%;
	max-width:460px;
	margin-top:15px;
}
.c-tbl--susta02 th{
	width:270px !important;
}
.c-tbl--susta02 td{
	width:calc(100% - 270px) !important;
	text-align:right;
}
.c-tbl--susta02--fcaption{
	width:100%;
	max-width:460px;
	text-align:right;
	margin-top:5px;
}
/* ----- */
.c-tbl--susta03{
	width:100%;
	max-width:460px;
	margin-top:15px;
}
.c-tbl--susta03 th{
	width:270px !important;
}
.c-tbl--susta03 td{
	width:calc(100% - 270px) !important;
	text-align:right;
}
.c-tbl--susta03--fcaption{
	width:100%;
	max-width:460px;
	text-align:right;
	margin-top:5px;
}
/* ----- */
.sustaBox .c-btnLst{
	display:flex;
	flex-wrap:wrap;
	gap:15px 15px;
}
.sustaBox .c-btnLst .c-btn{
	width:calc( (100% - 30px) / 3);
}

.sustaBox .c-btnLst.c-btnLst-sustaBox03 .c-bnt{
}
/*
.sustaBox .c-btnLst.c-btnLst-sustaBox03 .c-btn:nth-child(4){
	width:450px;
}
*/
.sustaBox .c-btnLst.c-btnLst-sustaBox03 .c-btn.c-btnLst-sustaBox03-long{
	width:450px;
}

@media only screen and (max-width: 767px) {

	/* ----- */
	.sustaLst{
		padding-left:15px;
		margin-left:5px;
		margin-bottom:40px;
	}

	/* ----- */
	.c-tbl--susta01 th{
		width:85px !important;
		text-align:center !important;
	}
	.c-tbl--susta01 td{
		width:calc(100% - 85px) !important;
	}

	/* ----- */
	.c-tbl--susta02 th{
		width:200px !important;
	}
	.c-tbl--susta02 td{
		width:calc(100% - 200px) !important;
	}

	/* ----- */
	.c-tbl--susta03 th{
		width:200px !important;
	}
	.c-tbl--susta03 td{
		width:calc(100% - 200px) !important;
	}


	.sustaBox .c-btnLst{
		gap:5px;
	}

	.sustaBox .c-btnLst .c-btn{
		width:100% !important;
	}

	/*
	.sustaBox .c-btnLst.c-btnLst-sustaBox03 .c-btn:nth-child(4){
		width:100% !important;
	}
	*/
	.sustaBox .c-btnLst.c-btnLst-sustaBox03 .c-btn.c-btnLst-sustaBox03-long{
		width:100% !important;
	}



}

/* ----------
visionBox
  ---------- */
.visionBox{
	display:flex;
	gap:20px 20px;
	flex-wrap:wrap;
	align-items:flex-start;
}

.visionBox .cnt{
	width:60%;
}

.visionBox .cnt p{
}

/* ---- */
.visionBox .pic{
	width:calc( ( 100% - 60%) - 20px );
	margin-top:0 !important;
}

.visionBox .pic img{
	width:100%;
	height:auto;
	vertical-align:bottom;
}

/* Wide Breakpoint */
@media screen and (max-width: 1100px) {
}

/* SP */
@media screen and (max-width: 767px) {
	.visionBox .cnt{
		width:100%;
		order:2;
	}

	/* ---- */
	.visionBox .pic{
		width:100%;
		order:1;
	}
}

