@charset "UTF-8";

/*
 * cmn_layout.css
 *
 *  version --- 1.0
 *  updated --- 2017.04.07
 */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500&display=swap');

@media print {

/*
背景を非表示にしたいコンテンツ
*/
/*body,
#container {
background: none #FFFFFF !important;
}*/


#contentsArea, x:-moz-any-link, x:default{
overflow:visible !important;
}
#mainContents{
margin-bottom: 30px !important;
}
#mainContents, x:-moz-any-link, x:default  {
display: table-cell;
float:none !important;
vertical-align: top;
}
#mainContents .menuBox01, x:-moz-any-link, x:default {
float: left;
overflow:visible !important;
}
#sideContents, x:-moz-any-link, x:default  {
display: table-cell;
float:none !important;
padding-left:20px;
vertical-align: top;
}
footer{
clear: both;
margin-top: 30px !important;
}

}

/* リセット
---------------------------------------------------------- */
/* 構造要素とブロックレベル要素 */
html, body, div, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, address, ul, ol, li, dl, dt, dd,
table, th, td, form, fieldset {
  margin: 0;
  padding: 0;
}

/* ロールオーバー用画像先読み
---------------------------------------------------------- */
* html .pre {
  /* for IE6 */
  display: none;
}

/* 全般
---------------------------------------------------------- */
section, nav, article, aside, hgroup,
header, footer, figure, figcaption,
summary {
  display: block;
}

body {
  color: #231815;
  font-size: 62.5%;
  /* for SP */
  text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-x: hidden;
}

body,
input,
textarea,
select {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;

}

*, *::before, *::after {
  box-sizing: border-box;
}

input,
textarea,
select {
  font-size: 1.2em;
  padding: 3px;
}

a,
a:hover,
a.hover {
  color: #0080CD;
}

a {
  text-decoration: underline;
}
a:hover, a.hover {
  text-decoration: none;
}
a:visited {
  color: #00588c;
}
a[href*="tel:"] {
  cursor: default;
  text-decoration: none;
}

a img:hover, .hover:hover {
    opacity: 0.5;
}


.mobile a[href*="tel:"] {
  cursor: pointer;
  text-decoration: underline;
}

input.submit {
  width: 60px;
}

ol li {
  margin-left: 1.5em;
  margin-bottom: 5px;
}

ul li {
  list-style-type: none;
}

img,
area {
  border: medium none;
  outline: medium none;
}

i.fa {
  margin-top: -3px;
  vertical-align: middle;
}

address, em {
  font-style: normal;
}

.MsizeOnly,
.SsizeOnly,
.SSsizeOnly,
.MsizeAndLess,
.SsizeAndLess {
  display: none;
}

/* webFont
---------------------------------------------------------- */
/* Noto Sans Japanese */
.ffwebFont_NotoSans {
/*  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}

/* basic rayout
---------------------------------------------------------- */
body .inner01 {
  margin: 0 auto;
  box-sizing: border-box;
  width: 100%;
  max-width: 1144px;
  overflow: hidden;
  padding: 0 40px !important;
}

body .inner02 {
  margin: 0 auto;
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
  padding: 0 !important;
}

header #headerContents,
#globalNavi.globalNaviPt01 .navigation:not(.inner01),
#breadcrumb > div:not(.inner01),
#contents #localNavi > div:not(.inner01),
.contentsAreaType01 #mainContents > div:not(.inner01),
footer #footerNavi > div:not(.inner01) {
}

footer #footerNavi nav {
  width: auto;
}

#footerInfo {
  width: 33%;
}

/* wrapper
---------------------------------------------------------- */
#wrapper input,
#wrapper textarea,
#wrapper select {
  font-size: 1em;
}

/* header
---------------------------------------------------------- */
header {
  background: #FFFFFF;
  box-sizing: border-box;
/*  position: fixed;
  min-height: 160px;*/
  top: 0;
  width: 100%;
  z-index: 10000;

}
header #logo {
  box-sizing: border-box;
  float: left;
  height: 95px;
  vertical-align: bottom;
}
header #logo span{
  display: inline-block;
  height: 40px;
	padding-top:10px;
  font-size:18px;
  font-weight:bold;
  vertical-align: text-bottom;
}
header #logo a {
  text-decoration: none;
  color: #333333;
  display: inline-block;
  vertical-align: bottom;
}
header #logo a > .logoTextPT01 {
  border-collapse: separate;
  border-spacing: 5px 0;
  display: table;
  font-size: 1.1rem;
  margin-left: -5px;
}
header #logo a > .logoTextPT01 img {
  display: table-cell;
  vertical-align: middle;
}
header #logo a > .logoTextPT01 span {
  display: table-cell;
  line-height: 1.2;
  vertical-align: middle;
}
header #logo a > .logoTextPT02 {
  box-sizing: border-box;
  display: inline-block;
  font-size: 1.1rem;
  line-height: 1.2;
  min-height: 50px;
  padding-top: 10px;
}
header #logo img {
  display: block;
/*      margin-top:54px;*/
      margin-left:50px;
	width: 360px;
}
header #headerContents {
	margin: 0 auto;
    overflow: hidden;
    height:117px;
    white-space: nowrap;
}

#headerContents #headerNaviArea {
  float: right;
  text-align: right;
  width: 35%;
}
#headerContents .info01 {
  margin: 5px 0 0;
  vertical-align: top;
}
#headerContents .info01 .tel01 {
  color: #000000;
  font-weight: bold;
  text-align: right;
}
#headerContents .info01 .tel01 .num01 {
  color: #000000;
  cursor: default;
  display: inline-block;
  font-family: arial;
  font-size: 2em;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  word-break: break-all;
  overflow-wrap: break-word;
}
#headerContents .info01 .tel01 .num01 i {
  padding-right: 5px;
}
#headerContents .info01 .tel01 .num01 span {
  vertical-align: 2px;
}
#headerContents .info01 .tel01 .text01 {
  display: block;
  font-size: 0.85em;
  font-weight: normal;
  margin-top: 2px;
  text-align: right;
}


#headerContents #headerMenu {
      margin-right:20px;
	text-align: right;
	margin-top:15px;
/*	margin-bottom:12px;*/
}
#headerContents #headerMenu a {
  text-decoration: none;
}
#headerContents #headerMenu ul {
  	font-size:135%;
  	font-weight:600;
  	margin-right: 160px;
}
#headerContents #headerMenu li {
	background-color:#B7B7B7;
  display: inline-block;
  margin:0 6px;
}
#headerContents #headerMenu li a {
  display: block;
  padding: 7px 10px;
  text-align: center;
  text-decoration: none;
  	color:#FFF;
}
#headerContents #headerMenu li a:hover, #headerContents #headerMenu li a.hover {
}
#headerContents #headerMenu li a i {
}
#headerContents #headerMenu li a span {
  display: table-cell;
  vertical-align: middle;
}
#headerContents #headerMenu li.btnContact01 a {
  background: #e83a5c none repeat scroll 0 0;
}

#headerContents .leftBox {
	float: left;
	margin: 20px 0 0 0;
	width: 410px;
}
#headerContents .leftBox a {
	color:#000;
	border-bottom:3px solid #B2B2B2;
	text-decoration:none;
	margin:0 20px;
}
#headerContents .leftBox a:hover {
	border-bottom:3px solid #000;
}
#headerContents .rightBox {
	float: right;
/*	margin-top: 15px;*/
}
#headerContents .rightBox img {
/*	margin-top: 10px;*/
	border-radius:4px;
}


#headerContents #headerMenu02 ul {
  float: right;
}
#headerContents #headerMenu02 li {
  border-left: 1px solid #ffffff;
  float: left;
}
#headerContents #headerMenu02 li a {
  background: #a59b9e none repeat scroll 0 0;
  color: #ffffff;
  -moz-transition: background 0.3s ease 0s;
  -o-transition: background 0.3s ease 0s;
  -webkit-transition: background 0.3s ease 0s;
  transition: background 0.3s ease 0s;
  display: block;
  font-size: 0.9em;
  padding: 8px 15px;
  text-align: right;
  text-decoration: none;
}
#headerContents #headerMenu02 li a:hover, #headerContents #headerMenu02 li a.hover {
  background: #777777;
}
#headerContents #headerMenu02 li a i {
  display: table-cell;
  vertical-align: top;
  padding-right: 10px;
}
#headerContents #headerMenu02 li a span {
  display: table-cell;
  vertical-align: top;
}
#headerContents #headerMenu02 li.btnContact01 a {
  background: #e83a5c none repeat scroll 0 0;
}

#headerContents .search01{
float: left;
width: 190px;
	margin-right: 60px;
}
#headerContents .search01 .gsc-search-button-v2{
background: url("../img/btn_search01.png") no-repeat scroll 50% 50% #FFFFFF !important;
filter:none;
background-size: contain;
display: block;
width:0px;
height: 0px;
margin: 0px;
min-width: 0px;
padding:29px 57px 0 0;
border: medium none;
}
#headerContents .search01 .gsc-search-button-v2:hover{
cursor:pointer;
}
#headerContents .search01 .gsc-control-cse.gsc-control-cse-ja{
padding:0;
}
#headerContents .search01 .gsc-input-box {
position: relative;
width: 180px;
    border-color: #0080CD !important;
}
#headerContents .search01 .gsc-input-box input#gsc-i-id1 {
/*background-position: left 4px !important;
height: 25px !important;
position: absolute;
left: 2px;*/
width: 130px !important;
}
#headerContents .search01 .gsc-input{
    padding: 3px 0 !important;
}
#headerContents .search01 .gsc-input-box{
    padding: 2px !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
#headerContents .search01 #gs_tti50 input{
top: 0;
}
#headerContents .search01 .gsib_a {
	padding:0 0 0 5px !important;
}

#headerContents .fontsize01 {
float: right;
    margin-top: 8px;
    }
#headerContents .fontsize01 > img,
#headerContents .fontsize01 > a {
}


/* breadcrumb
---------------------------------------------------------- */
#breadcrumb {
	width:100%;
  display: block;
  padding: 15px 30px ;
  background-color:#F3F3F3;
}
#breadcrumb a {
  color: #666;
}
#breadcrumb a:first-child{
}
#breadcrumb a:last-child{
}
#breadcrumb a:visited {
  color: #555555;
}
#wrapper #breadcrumb p {
  font-size: 1.3em;
  color: #666;
  max-width: 1080px;
  margin: 0 auto;
  margin-bottom: 0;
    position: relative;
}
#wrapper #breadcrumb p i.fas {
    position: absolute;
    top: 15%;
    left: -20px;
    color: #818181;

}

/* pageTitle
---------------------------------------------------------- */
#pageTitle {
	color:#FFF;
	background-color:#9E0000;
  min-height:99px;
  text-align:center;
  position:relative;
}

main#coretec #pageTitle {
	background: #9E0000 49% 50% / 27% url('../img/bg_coretec.png') no-repeat;
}
main#human #pageTitle {
	background: #9E0000 61% 100% / 10%  url('../img/bg_human.png') no-repeat;
}
main#photogallery #pageTitle {
	background: #9E0000 62% 100% / 8% url('../img/bg_photogallery.png') no-repeat;
}
main#guideline #pageTitle {
	background: #9E0000 60% 100% / 5% url('../img/bg_guideline.png') no-repeat;
}
main#welfare #pageTitle {
	background: #9E0000 61% 100% / 5% url('../img/bg_welfare.png') no-repeat;
}
main#qa #pageTitle {
	background: #9E0000 50% 100% / 20% url('../img/bg_qa.png') no-repeat;
}

#pageTitle > span {
  display: block;
}

/* contents
---------------------------------------------------------- */

body:not(#top) #mainVisual {
  display: none;
}

.contentsAreaType01 {
  clear: both;
  padding-bottom: 50px;
}

.contentsAreaType02,
.contentsAreaType02 .inner01 {
  clear: both;
}

.contentsAreaType02::before,
.contentsAreaType02::after,
.contentsAreaType02 .inner01::before,
.contentsAreaType02 .inner01::after {
  content: "";
  display: table;
}

.contentsAreaType02::after,
.contentsAreaType02 .inner01::after {
  clear: both;
}

#contents {
  font-size: 1.6em;
  line-height: 1.7;
  padding: 0 40px;
  width: 100%;
/*  max-width: 1144px;*/
  margin: 0 auto;
}
#contents p {
  margin-bottom: 10px;
}
#contents .noResize {
  width: auto !important;
  max-width: 100%;
}
#contents img:not(.noResize),
#contents picture:not(.noResize) {
  max-width: 100%;
}


/* h1-h6 */
.hPT01 {
}
.hPT01 span{
}

#wrapper p.category {
  display: inline-block;
  margin-bottom: 0;
  padding-left: 10px;
  vertical-align: middle;
}

#wrapper .category span[class^="cat"] {
  border: 1px solid #c92a5f;
  color: #c92a5f;
  display: inline-block;
  font-size: 0.8em;
  font-weight: bold;
  line-height: 1;
  min-width: 3em;
  padding: 3px 5px;
  text-align: center;
  vertical-align: middle;
}
#wrapper .category span.catNew01 {
  border: 1px solid #f4b300;
  color: #f4b300;
}

body #contents > section.contentsAreaType01:nth-of-type(2n+1) {
  background-color: #ffffff;
}
body #contents > section.contentsAreaType01:nth-of-type(2n) {
  background-color: rgba(71, 180, 234, 0.1);
}

body #contents.bgNoAlternately > section.contentsAreaType01 {
  background-color: #ffffff !important;
}

/* localNavi
---------------------------------------------------------- */
#contents #localNavi {
	margin-top:2em;
  background: #f6f4f0;
  font-size: 1.1em;
  text-align: center;
}
#contents #localNavi .localNaviList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: center;
  justify-content: center;
}
#contents #localNavi .localNaviList a {
  border-right: 2px solid #ffffff;
  display: inline-block;
  margin: 1em 20px 1em 0;
  padding: 0 20px 0 0;
}
#contents #localNavi .localNaviList a:last-child {
  border-right: none;
  margin-right: 0;
}
#contents #localNavi .localNaviList a:hover, #contents #localNavi .localNaviList a.hover, #contents #localNavi .localNaviList a.active {
  color: #676767;
}
#contents #localNavi .localNaviList a .linkIcon {
  padding-left: 5px;
  vertical-align: text-bottom;
}
#contents #localNavi .localNaviList a i {
  padding-right: 5px;
}

#contents #localNavi h4 {
  color:#fff;
  padding: 0.5em;
  background:#0080CD;
  border: 2px solid #ffffff;
}
#contents #localNavi h4 a{
  color:#fff;
}
#contents #localNavi a.active {
	text-decoration:none;
  cursor: default;
    pointer-events: none;
}

/* youtubeBox
---------------------------------------------------------- */
#wrapper .youtubeBox {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#wrapper .youtubeBox iframe {
  border: 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* snsContents
---------------------------------------------------------- */
#contents .snsContents {
  margin: 60px 0;
  text-align: center;
}
#contents .snsContents > div > div {
  display: inline-block;
  overflow: hidden;
  margin-bottom: 15px;
  vertical-align: top;
}
#contents .snsContents .snsFacebook {
  max-width: 100%;
}
#contents .snsContents .snsFacebook .fb-like,
#contents .snsContents .snsFacebook .fb-like span,
#contents .snsContents .snsFacebook .fb-like iframe {
  width: 100%;
}
#contents .snsContents .snsFacebook .fb_iframe_widget span {
  vertical-align: top !important;
}

/* bannerContents
---------------------------------------------------------- */
#contents .bannerContents {
  margin: 60px 0 20px;
}
#contents .bannerContents .columnTable > div {
  padding-bottom: 10px;
  text-align: center;
  vertical-align: middle;
}

/* newsContents
---------------------------------------------------------- */
#wrapper #newsContents {
  /*background: none repeat scroll 0 0 #ffffff !important;*/
  clear: both;
  padding: 0 0 45px 0;
}
#wrapper #newsContents .newsList {
  max-height: 300px;
  overflow-y: auto;
}
#wrapper #newsContents .newsList::-webkit-scrollbar, #wrapper #newsContents .newsList::-webkit-scrollbar:horizontal {
  width: 3px;
}
#wrapper #newsContents .newsList::-webkit-scrollbar, #wrapper #newsContents .newsList::-webkit-scrollbar:horizontal, #wrapper #newsContents .newsList::-webkit-scrollbar-track-piece:start, #wrapper #newsContents .newsList::-webkit-scrollbar-track-piece:end {
  background: #f5f5f5;
}
#wrapper #newsContents .newsList::-webkit-scrollbar-thumb {
  background: #dddddd;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
}
#wrapper #newsContents .newsList::-webkit-scrollbar-thumb:horizontal {
  background: #dddddd;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
}
#wrapper #newsContents .newsList::-webkit-scrollbar-corner {
  background: transparent;
}
#wrapper #newsContents ul {
  box-sizing: border-box;
  display: table;
  margin: 10px 0;
  padding-right: 10px;
  width: 100%;
}
#wrapper #newsContents ul li {
  clear: both;
  display: table-row;
}
#wrapper #newsContents ul li p {
  border-bottom: 1px solid #dddddd;
  padding: 12px 10px;
}
#wrapper #newsContents ul li p.newscategory {
  display: table-cell;
  min-width: 100px;
}
#wrapper #newsContents ul li .text,
#wrapper #newsContents ul li p a {
  color: #333333;
}
#wrapper #newsContents ul li .date {
  color: #666666;
  display: table-cell;
  font-size: 0.9em;
  width: 6em;
}
#wrapper #newsContents ul li .date,
#wrapper #newsContents ul li p.newscategory {
  padding-right: 0;
}
#wrapper #newsContents ul li p.newscategory span[class^="catNews"] {
  background: #333333 none repeat scroll 0 0;
  color: #ffffff;
  display: block;
  font-size: 0.85em;
  line-height: 1.3;
  padding: 3px;
  text-align: center;
}
#wrapper #newsContents ul li p.newscategory span.catNews01 {
  background: #47b4ea;
}
#wrapper #newsContents ul li p.newscategory span.catNews02 {
  background: #ea4768;
}
#wrapper #newsContents ul li p.newscategory span.catNews03 {
  background: #694600;
}
#wrapper #newsContents ul li .text {
  display: table-cell;
  width: 100%;
}
#wrapper #newsContents ul li .text a + span {
  padding-left: 5px;
}
#wrapper #newsContents .btn01 {
  clear: both;
  margin-top: 30px;
  text-align: center;
}
#wrapper #newsContents .newsMoreBtn {
  background-color: #555555;
}
#wrapper #newsContents .newsMoreBtn:hover, #wrapper #newsContents .newsMoreBtn.hover {
  background-color: #47b4ea;
}
#wrapper #newsContents .newsMoreBtn i {
  padding-left: 15px;
}

#contents .ftBox > img {
  margin-bottom: 10px;
}

/* mainVisual トップページメインビジュアル
---------------------------------------------------------- */
#mainVisual {
  background: none;
/*  margin-top: 160px;*/
}
#mainVisual .mainVisualInner {
  margin: 0 auto;
  width: auto;
/*  max-width: 1180px;*/
width: 100%;
}
#mainVisual .mainVisualInner img {
  height: auto;
  vertical-align: bottom;
  width: 100%;
}

/* topContents
---------------------------------------------------------- */

#topContents{
}

/* mainContents
---------------------------------------------------------- */
#mainContents {
  background: #FFFFFF;
  box-sizing: border-box;
  padding-bottom: 50px;
}

.contentsAreaType02 #mainContents {
  float: left;
}

/* column_cover カラムレイアウト（同じ幅のものが複数）
---------------------------------------------------------- */
#wrapper .column_cover {
  clear: both;
  letter-spacing: -1em;
  width: 100%;
}
#wrapper .column_cover.column_2 > * {
  display: inline-block;
  letter-spacing: normal;
  padding: 0 40px 20px 0;
  vertical-align: top;
  width: 50%;
  word-spacing: normal;
}
#wrapper .column_cover.column_3 > * {
  display: inline-block;
  letter-spacing: normal;
  padding: 0 3%;
  padding-bottom: 10px;
  vertical-align: top;
  width: 33%;
  word-spacing: normal;
}
#wrapper .column_cover.column_2 > *:nth-of-type(even), #wrapper .column_cover.column_3 > *:nth-of-type(3n) {
/*  padding-right: 0; */
}

/* btn
---------------------------------------------------------- */
#wrapper .btnPt01 {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  box-sizing: border-box;
  color: #231815 !important;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  padding: 7px 1em 7px 1em;
  text-decoration: none;
  -moz-transition: background-color 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s;
  -webkit-transition: background-color 0.3s ease 0s;
  transition: background-color 0.3s ease 0s;
    position: relative;
    text-indent:0;
    white-space:nowrap;
}
#wrapper .btnPt01::before {
    content: "\f330";
    display: inline-block;
    font-family: "Font Awesome 6 Pro";
    font-size: 1.5em;
    font-weight: 500;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-top: -0.5em;
    position: absolute;
    right: -40px;
    top: 48%;
    color:#89898A;
}


#wrapper .btnPt02 {
  background: linear-gradient(to bottom right, #CF624D, #931D22);
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  -moz-border-radius: 26px;
  -webkit-border-radius: 26px;
  border-radius: 26px;
  box-sizing: border-box;
  color: #FFF !important;
  cursor: pointer;
  display: inline-block;
  padding: 10px 5em 10px 3em;
  text-decoration: none;
	text-indent:0;
	font-size: 0.9em;
	position:relative;
}

#wrapper .btnPt02::before {
    content: "\f330";
    display: inline-block;
    font-family: "Font Awesome 6 Pro";
    font-size: 1.3em;
    font-weight: 600;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-top: -0.5em;
    position: absolute;
    right: 20px;
    top: 50%;
    color:#FFF;
}

#wrapper .btnPt03 {
    margin:  0;                 /* デフォルトCSS打ち消し */
    font-size:  1.2em;           /* 文字サイズ指定 */
    border-bottom: solid 1px #808080;   /* 線指定 */
    padding-bottom:  1em;       /* 余白指定 */
    margin-bottom: 15px;        /* 周りの余白指定 */
    position:  relative;        /* 位置調整 */
    font-weight:  normal;       /* 文字の太さ調整 */
	color:#231815 !important;
	text-decoration:none !important;
	display:block;
}
#wrapper .btnPt03 span {
    font-size:  0.7em;
}
#wrapper .btnPt03:before {
    content:  '';                   /* 空白の要素を作る */
    width: 110px;                    /* 幅指定 */
    height: 1px;                    /* 高さ指定 */
    background-color: #8A1E23;      /* 背景色指定 */
    display:  block;                /* ブロック要素にする */
    position:  absolute;            /* 位置調整 */
    left:  0;                       /* 位置調整 */
    bottom: 0px;                   /* 位置調整 */
}
#wrapper .btnPt03::after {
    content: "\f330";
    color:#89898A;
    display: inline-block;
    font-family: "Font Awesome 6 Pro";
    font-size: 1.2em;
    font-weight: 500;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*margin-top: -0.5em;*/
    position: absolute;
    right: 20px;
/*    top: 50%;*/
}

#wrapper .btnPt04 {
	display:block;
	width:100%;
	border:1px solid #AD0502;
	color:#9E0000;
	text-decoration:none;
	font-weight:600;
	padding:0 0.5em;
}

#wrapper .btnPt05 {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  box-sizing: border-box;
  color: #231815 !important;
  cursor: pointer;
  display: inline-block;
  padding: 7px 1em 7px 1em;
  margin-right:3em;
  text-decoration: none;
  -moz-transition: background-color 0.3s ease 0s;
  -o-transition: background-color 0.3s ease 0s;
  -webkit-transition: background-color 0.3s ease 0s;
  transition: background-color 0.3s ease 0s;
    position: relative;
    text-indent:0;
    white-space:nowrap;
}
#wrapper .btnPt05::before {
    content: "\f330";
    display: inline-block;
    font-family: "Font Awesome 6 Pro";
    font-size: 1.5em;
    font-weight: 500;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-top: -0.5em;
    position: absolute;
    right: -40px;
    top: 48%;
    color:#89898A;
}
#wrapper .btnPt05 span {
    font-size: 0.8em;
}


.btnPt01:hover,
.btnPt02:hover,
.btnPt03:hover,
.btnPt04:hover,
.btnPt05:hover {
    opacity: 0.5;
}

/* カスタムボタン */
#wrapper .dlBtn {
  background-color: #f2ad0c;
}
#wrapper .dlBtn:hover, #wrapper .dlBtn.hover {
  background: #e09e04;
}

#wrapper .customBtn01 {
  background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2VmZWZlZiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #efefef));
  background: -moz-linear-gradient(top, #ffffff 0%, #efefef 100%);
  background: -webkit-linear-gradient(top, #ffffff 0%, #efefef 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #efefef 100%);
  -moz-transition: none;
  -o-transition: none;
  -webkit-transition: none;
  transition: none;
}

/* columnTable カラムレイアウト（高さを揃えたい場合）
---------------------------------------------------------- */
#wrapper .columnTable {
  clear: both;
  display: table;
  table-layout: fixed;
  width: 100%;
}
#wrapper .columnTable.column_2 > * {
  display: table-cell;
  vertical-align: top;
  width: 50%;
}
#wrapper .columnTable.column_2 .column_center {
  display: table-cell;
  width: 2% !important;
}
#wrapper .columnTable.interval.column_2 > *, #wrapper .columnTable.interval.column2_1 {
  width: 48.5%;
}
#wrapper .columnTable.column2_1 {
  width: 50%;
}
#wrapper .columnTable.column_3 > * {
  display: table-cell;
  vertical-align: top;
  width: 33.33%;
}
#wrapper .columnTable.column_3 > div.column_center {
  display: table-cell;
  width: 5% !important;
}
#wrapper .columnTable.interval.column_3 > *, #wrapper .columnTable.interval.column3_1 {
  width: 32%;
}
#wrapper .columnTable.column3_1 {
  width: 33.33%;
}
#wrapper .columnTable.column3_2 {
  width: 66.66%;
}
#wrapper .columnTable.interval.column3_2 {
  width: 66%;
}
#wrapper .columnTable.column_4 > * {
  display: table-cell;
  vertical-align: top;
  width: 25%;
}
#wrapper .columnTable.column_4 .column_center {
  display: table-cell;
  width: 2% !important;
}
#wrapper .columnTable.interval.column_4 > *, #wrapper .columnTable.interval.column4_1 {
  width: 23.5%;
}
#wrapper .columnTable.column4_1 {
  width: 25%;
}
#wrapper .columnTable.column4_2 {
  width: 50%;
}
#wrapper .columnTable.interval.column4_2 {
  width: 49%;
}
#wrapper .columnTable.column4_3 {
  width: 75%;
}
#wrapper .columnTable.interval.column4_3 {
  width: 74.5%;
}

/* menuBox　トップページ等で使用
---------------------------------------------------------- */
#wrapper .menuBox01 {
  padding: 0 0 35px;
  width: 100%;
}
#wrapper .menuBox01 > *:not(.column_center) {
  background: #ffffff none repeat scroll 0 0;
  border-bottom: 2px solid #dddddd;
  box-sizing: border-box;
  color: #333333;
  font-size: 0.9em;
  font-weight: normal;
  padding: 0;
  text-decoration: none;
}
#wrapper .menuBox01 > * .text {
  box-sizing: border-box;
  display: block;
  position: relative;
}
#wrapper .menuBox01 > * img {
  text-align: center;
  width: 100%;
}
#wrapper .menuBox01 > * p {
  padding-left: 10px;
  padding-right: 10px;
}
#wrapper .menuBox01 > * img + p,
#wrapper .menuBox01 > * p + p {
  margin-top: 10px;
}
#wrapper .menuBox01 > * .title {
  color: #1481b7;
  display: block;
  font-weight: bold;
  padding: 0 0 5px 0;
}
#wrapper .menuBox01 > * .btn {
  margin-top: 20px;
  text-align: center;
}
#wrapper .menuBox01 > *.pdf {
  background-image: url("../img/ico_pdf02.png");
  background-position: right center;
  background-repeat: no-repeat;
}
#wrapper .menuBox01 > *.pdf .text::before {
  content: "";
}
#wrapper .menuBox01 > *.pdf .text {
  padding: 0 30px 0 0;
}
#wrapper .menuBox01 > a .text {
  padding-right: 1.7em;
}
#wrapper .menuBox01 > a .text::before {
  color: #1481b7;
  content: "\f105";
  display: inline-block;
  font-family: "Font Awesome 6 Pro";
  font-size: 1.4em;
  font-style: normal;
  font-weight: bold;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: -0.6em;
  position: absolute;
  right: 7px;
  text-decoration: none !important;
  top: 50%;
}
#wrapper .menuBox01 > a .title {
  text-decoration: underline;
}
#wrapper .menuBox01 > a:hover .title, #wrapper .menuBox01 > a.hover .title {
  text-decoration: none;
}

#wrapper .menuBox02 {
  width: 100%;
}
#wrapper .menuBox02 > *:not(.column_center) {
  background: #ffffff none repeat scroll 0 0;
  border: 1px solid #B2B2B2;
  box-sizing: border-box;
  color: #333333;
  font-weight: normal;
  padding: 10px !important;
  text-align: center;
  text-decoration: none;
}

#wrapper .gnaviArea01 {
  background: #ffffff none repeat scroll 0 0;
  padding:10px;
  border-bottom: 10px solid #0080CD;
  text-align: center;
}
#wrapper .navigation .gnaviArea01 a {
  color: #0080CD;
  text-decoration:none;
  font-size:1.2em;
}
#wrapper .navigation .targetArea01 .menuBox02 > *:not(.column_center) {
  padding: 0 !important;
  border: 1px solid #B2B2B2;
  border-radius: 15px;
}
#wrapper .navigation .targetArea01{
  background: #ffffff none repeat scroll 0 0;
  padding:10px;
}
#wrapper .banner_Area .menuBox02 > *:not(.column_center) {
  padding: 0 !important;
}

#wrapper .menuBox02 > * .text {
  box-sizing: border-box;
  display: block;
  position: relative;
  text-align: center;
}
#wrapper .menuBox02 > * img {
  text-align: center;
  width: 100%;
}
#wrapper .menuBox02 > * img + p,
#wrapper .menuBox02 > * p + p {
  margin-top: 10px;
}
#wrapper .menuBox02 > * .title {
  color: #1481b7;
  display: block;
  font-weight: bold;
  padding: 0 0 5px 2px;
}
#wrapper .menuBox02 > * .btn {
  margin-top: 20px;
  text-align: center;
}
#wrapper .menuBox02 > *.pdf {
  background-image: url("../img/ico_pdf02.png");
  background-position: right center;
  background-repeat: no-repeat;
}
#wrapper .menuBox02 > *.pdf .text::before {
  content: "";
}
#wrapper .menuBox02 > *.pdf .text {
  padding: 0 30px 0 0;
}
#wrapper .menuBox02 > a:not(.column_center):hover {
}

#wrapper .menuBox02 > a:hover .title, #wrapper .menuBox02 > a.hover .title {
  text-decoration: none;
}

/* contentsMenu　ページ内リンク
---------------------------------------------------------- */
#contents .contentsMenu {
  margin-bottom: 30px;
}
#contents .contentsMenu li {
  float: left;
  margin-bottom: 10px;
  padding-right: 16px;
}
#contents .contentsMenu li:last-child {
  padding-right: 0px;
}
#contents .contentsMenu li a {
  border: 2px solid #dddddd;
  display: inline-block;
  font-weight: bold;
  padding: 8px 2.7em 8px 20px;
  position: relative;
  text-decoration: none;
  -moz-transition: background 0.3s ease 0s;
  -o-transition: background 0.3s ease 0s;
  -webkit-transition: background 0.3s ease 0s;
  transition: background 0.3s ease 0s;
}
#contents .contentsMenu li a::before {
  color: #47b4ea;
  content: "\f107";
  display: inline-block;
  font-family: "Font Awesome 6 Pro";
  font-size: 1.6em;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: -0.5em;
  position: absolute;
  right: 10px;
  top: 50%;
}
#contents .contentsMenu li a:hover {
  background: #f2f4f7;
}
#contents .contentsMenu li a span {
  border-bottom: 1px solid #333333;
}
#contents .contentsMenu li a:hover span {
  border-bottom: none;
}

#contents .contentsMenu02 {
  margin: 50px 0;
}
#contents .contentsMenu02 li {
  font-size: 1.2em;
}
#contents .contentsMenu02 li > a {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #f1f1f1 50%);
  background-position: 0 0;
  background-size: 200% auto;
  border-bottom: 1px solid #dddddd;
  color: #333333;
  display: block;
  font-weight: 700;
  line-height: 1.4;
  padding: 20px 45px 20px 1em;
  position: relative;
  text-decoration: none;
  -moz-transition: background 0.3s ease 0s;
  -o-transition: background 0.3s ease 0s;
  -webkit-transition: background 0.3s ease 0s;
  transition: background 0.3s ease 0s;
}
#contents .contentsMenu02 li > a:hover {
  background-position: -100% 0;
  color: #47b4ea;
}
#contents .contentsMenu02 li > a:hover::after {
  top: 0;
  left: 0;
  background-color: #f1f1f1;
}
#contents .contentsMenu02 li .icon {
  bottom: 0;
  fill: #47b4ea;
  height: 20px;
  margin: auto;
  position: absolute;
  right: 20px;
  top: 0;
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  width: 15px;
}

/* mapArea
---------------------------------------------------------- */
#accessMap01 {
  height: 360px;
}

#accessMap01 .mapArea > iframe {
  border: 0;
}

.mapArea {
  -webkit-touch-callout: none;
  height: 100%;
}
/*
.mapArea.cover {
  box-sizing: border-box;
  margin: 0;
  padding-top: 50%;
  border: 1px solid #dddddd;
  overflow: hidden;
  position: relative;
  display: block;
}
.mapArea.cover::before {
  content: "\9577\62BC\3057\3059\308B\3068\5730\56F3\304C\64CD\4F5C\3067\304D\307E\3059";
  display: block;
  z-index: 10;
  color: #333333;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  margin: -0.5em 0 0 0;
  line-height: 1;
  text-align: center;
  font-weight: bold;
  text-shadow: 1px 1px 0 #ffffff;
}
.mapArea.cover::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
}
.mapArea.cover > iframe,
.mapArea.cover > div {
  position: absolute;
  top: 0;
  left: 0;
}
.mapArea.cover.release::before, .mapArea.cover.release::after {
  display: none !important;
}
*/
.mapArea > iframe,
.mapArea > div {
  width: 100%;
  height: 100%;
}

/* contact（inquiry）
---------------------------------------------------------- */
#contact form .choices01 {
  background: #f0f0f0 none repeat scroll 0 0;
  display: inline-block;
  margin: 0 0 10px;
  padding: 10px 15px;
}
#contact .noticeReq {
  background: #dd404f none repeat scroll 0 0;
  color: #ffffff;
  display: inline-block;
  font-size: 0.8em;
  margin-left: 10px;
  padding: 2px 6px;
  vertical-align: top;
}
#contact .message01 {
  margin-bottom: 0;
  padding: 30px 0 0;
}
#contact .btnSubmit,
#contact .btnReturn {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  border: medium none;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  color: #ffffff;
  cursor: pointer;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 15px;
  padding: 10px 20px;
  -moz-transition: opacity 0.3s ease 0s;
  -o-transition: opacity 0.3s ease 0s;
  -webkit-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}
#contact .btnSubmit {
  background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RlNGE3NiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2MzMjI1MiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #de4a76), color-stop(100%, #c32252));
  background: -moz-linear-gradient(top, #de4a76 0%, #c32252 100%);
  background: -webkit-linear-gradient(top, #de4a76 0%, #c32252 100%);
  background: linear-gradient(to bottom, #de4a76 0%, #c32252 100%);
}
#contact .btnReturn {
  background: #aaaaaa;
  margin-right: 20px;
}
#contact .btnSubmit:hover,
#contact .btnReturn:hover {
  opacity: 0.8;
}
#contact .privacyContents {
  border: 3px solid #dddddd;
  height: 300px;
  margin-bottom: 30px;
  overflow-y: scroll;
  padding: 10px;
}

/* caution　注意書きボックスなど
---------------------------------------------------------- */
#wrapper .caption {
  font-size: 0.9em;
}

#wrapper .cautionText01 {
  display: table;
  width: 100%;
}
#wrapper .cautionText01 .icon01 {
  display: table-cell;
  width: 3%;
}
#wrapper .cautionText01 .text01 {
  display: table-cell;
}

#wrapper .cautionBox01 {
  border: 1px solid #78aa21;
  margin: 15px 0;
  padding: 3px;
}
#wrapper .cautionBox01 .title01 {
  background: none repeat scroll 0 0 #78aa21;
  color: #FFFFFF;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 2px;
  text-align: center;
}
#wrapper .cautionBox01 .text01 {
  margin-bottom: 5px;
  padding: 0 10px;
}

#wrapper .cautionBox02 {
  border: 1px solid #78aa21;
  margin: 15px 0;
  padding: 10px;
}
#wrapper .cautionBox02 .text01 {
  margin-bottom: 0;
}

/* table
---------------------------------------------------------- */
#wrapper table.normalTable01 {
  border-collapse: collapse;
  border: none;
  margin-bottom: 10px;
	background-color: #fff;
}
#wrapper table.normalTable01 th,
#wrapper table.normalTable01 td {
  border-top: 1px solid #9FA0A0;
  border-bottom: 1px solid #9FA0A0;
  border-left: 1px dashed  #9FA0A0;
  border-right: 1px dashed  #9FA0A0;
  padding: 5px 8px;
  text-align: left;
    word-break: break-all;
    word-wrap: break-word;
    vertical-align: top !important;
}
#wrapper table.normalTable01 th{
	font-size:1.1em;
	font-weight:bold;
  text-align: center;
  vertical-align:middle !important;
}
#wrapper table.normalTable02 {
  border-collapse: collapse;
  border: none;
  margin-bottom: 10px;
}
#wrapper table.normalTable02 th,
#wrapper table.normalTable02 td {
  padding: 5px 10px;
  text-align: left;
  word-break: break-all;
  overflow-wrap: break-word;
}
#wrapper table.normalTable03 {
  border: 1px solid #dddddd;
  border-collapse: collapse;
  margin-bottom: 10px;
}
#wrapper table.normalTable03 th,
#wrapper table.normalTable03 td {
  padding: 5px 10px;
  text-align: left;
  word-break: break-all;
  overflow-wrap: break-word;
}
#wrapper table.normalTable04 {
  border-collapse: collapse;
  border: none;
  margin-bottom: 10px;
}
#wrapper table.normalTable04 th,
#wrapper table.normalTable04 td {
  text-align: left;
  vertical-align: top;
}

#wrapper table.normalTable04 th {
  padding: 10px 0;
border-top:1px dashed #656464;
}
#wrapper table.normalTable04 td {
  padding: 10px 0 10px 10px;
	border-top:1px dashed #656464;
}
#wrapper table.normalTable04 tr.last {
	border-bottom: 1px dashed #656464;
}
#wrapper table .noBorder01 {
  border: none;
}
#wrapper table .noBorderB01 {
  border-bottom: none;
}
#wrapper table.taC th, #wrapper table.taC td {
  text-align: center !important;
}
#wrapper table.vlineT th, #wrapper table.vlineT td {
  vertical-align: top !important;
}

/* List
---------------------------------------------------------- */
#wrapper ul.list01 {
  margin-bottom: 20px;
}
#wrapper ul.list01 li {
  list-style-type: disc;
  margin-bottom: 5px;
  margin-left: 1.5em;
}

#wrapper .list02:not([class*="layoutPT01"]) li {
  border-bottom: 1px solid #dddddd;
  margin-bottom: 5px;
}

#wrapper ul.list03 {
  margin-bottom: 20px;
}
#wrapper ul.list03 li {
  list-style-type: disc;
  margin-bottom: 20px;
  margin-left: 1.5em;
}

#wrapper ol.list03 {
  margin-bottom: 20px;
}
#wrapper ol.list03 li {
  margin-bottom: 20px;
}

/* color　背景色・濃い色の背景色・文字色を5色ずつ用意
---------------------------------------------------------- */
/* 背景色  */
#wrapper .bgPT01,
#wrapper table.thAllPT01 th {
  background: #fadae0;
}

#wrapper .bgPT02,
#wrapper table.thAllPT02 th {
  background: #faebda;
}

#wrapper .bgPT03,
#wrapper table.thAllPT03 th {
  background: #e5f8d2;
}

#wrapper .bgPT04,
#wrapper table.thAllPT04 th {
  background: #dafae2;
}

#wrapper .bgPT05,
#wrapper table.thAllPT05 th {
  background: #C0E4F0;
}

#wrapper .bgWhite,
#wrapper table.thAllWhite th {
  background: #FFFFFF;
}

#wrapper .bgGray01,
#wrapper table.thAllGray01 th {
  background: #efefef;
}

#wrapper .bgGray02,
#wrapper table.thAllGray02 th {
  background: #f7f7f7;
}

/* 濃い色の背景色*/
#wrapper .bgPT01Dark,
#wrapper table.thAllPT01Dark th {
  background: #ea4768;
}

#wrapper .bgPT02Dark,
#wrapper table.thAllPT02Dark th {
  background: #e88f30;
}

#wrapper .bgPT03Dark,
#wrapper table.thAllPT03Dark th {
  background: #694600;
}

#wrapper .bgPT04Dark,
#wrapper table.thAllPT04Dark th {
  background: #2db750;
}

#wrapper .bgPT05Dark,
#wrapper table.thAllPT05Dark th {
  background: #47b4ea;
}

/* 文字色 */
#wrapper .fcPT01 {
  color: #ea4768 !important;
}

#wrapper .fcPT02 {
  color: #e88f30 !important;
}

#wrapper .fcPT03 {
  color: #694600 !important;
}

#wrapper .fcPT04 {
  color: #2db750 !important;
}

#wrapper .fcPT05 {
  color: #47b4ea !important;
}

#wrapper .fcWhite {
  color: #FFFFFF !important;
}

/* icon
---------------------------------------------------------- */
.iconImg01 {
  padding-right: 10px;
  vertical-align: middle;
}

.iconImg02 {
  padding-right: 5px;
  vertical-align: middle;
}

.iconImg03 {
  padding-left: 2px;
  vertical-align: middle;
}

.iconImg04 {
  padding-left: 5px;
  vertical-align: text-top;
}

/* link icon */
.linkText {
  display: table;
  padding: 3px 0;
  width: 100%;
}
.linkText .linkIcon {
  display: table-cell;
  padding-right: 8px;
  vertical-align: middle;
}
.linkText .linkIcon + span {
  display: table-cell;
  width: 100%;
}

.linkIcon {
  fill: #47b4ea;
}

a.pageLink .linkIcon {
  height: 18px;
  width: 18px;
}

a.siteLink .linkIcon {
  height: 18px;
  width: 18px;
}

a.pdfLink .linkIcon {
  color: #bd2525;
}

a.xlsLink .linkIcon {
  height: 18px;
  fill: #428b17;
  width: 18px;
}

a.wordLink .linkIcon {
  height: 18px;
  fill: #2856b2;
  width: 18px;
}

a.fileLink .linkIcon {
  height: 18px;
  width: 18px;
}

a.pcLink .linkIcon {
  height: 18px;
  width: 18px;
}

a.spLink .linkIcon {
  height: 25px;
  width: 20px;
}

/* gopagetop
---------------------------------------------------------- */
#gopagetop {
  clear: both;
  position: fixed;
  right: 30px;
  z-index: 99999;
}
#gopagetop a {
  background-color: #AFD7EF;
  -moz-transition: opacity 0.3s ease 0s, box-shadow 0.3s ease 0s;
  -o-transition: opacity 0.3s ease 0s, box-shadow 0.3s ease 0s;
  -webkit-transition: opacity 0.3s ease 0s, box-shadow 0.3s ease 0s;
  transition: opacity 0.3s ease 0s, box-shadow 0.3s ease 0s;
  display: inline-block;
  height: 45px;
  position: relative;
  width: 45px;
}
#gopagetop a::before {
  content: '';
  height: 12px;
  width: 12px;
  display: block;
  border: 2px solid #0080CD;
  border-left-width: 0;
  border-bottom-width: 0;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  position: absolute;
  top: 18px;
  left: 17px;
}
#gopagetop a:hover, #gopagetop a.hover {
  opacity: 1;
  -moz-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.18);
  -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.18);
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.18);
}

/* footer
---------------------------------------------------------- */
footer {
  background: #AC0003 none repeat scroll 0 0;
  font-size: 1.4em;
  color: #FFF;
}
footer #footerNavi {
  font-size: 1em;
  line-height: 1.6;
 /* padding-top: 20px ;*/
}
footer #footerInfo {
  background: #ffffff none repeat scroll 0 0;
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  box-sizing: border-box;
  color: #FFF;
  float: right;
  padding: 15px 15px 10px;
}
footer #footerInfo #footerLogo {
  padding-bottom: 15px;
}
footer #footerInfo #footerLogo a {
  color: #333333;
  display: inline-block;
  text-decoration: none;
  vertical-align: bottom;
}
footer #footerInfo #footerLogo a > .logoTextPT01 {
  border-collapse: separate;
  border-spacing: 5px 0;
  display: table;
  font-size: 1.1rem;
  margin-left: -5px;
}
footer #footerInfo #footerLogo a > .logoTextPT01 img {
  display: table-cell;
  vertical-align: middle;
}
footer #footerInfo #footerLogo a > .logoTextPT01 span {
  display: table-cell;
  line-height: 1.2;
  vertical-align: middle;
}
footer #footerInfo #footerLogo a > .logoTextPT02 {
  box-sizing: border-box;
  display: inline-block;
  font-size: 1.1rem;
  line-height: 1.2;
}
footer #footerInfo #footerLogo img {
  display: block;
}
footer #footerInfo address,
footer #footerInfo p {
  padding-bottom: 5px;
}
footer #footerInfo a {
  color: #333333;
}

footer #footerleft{
float: left;
 width: 64%;
}

footer #footerleft .footerSnsContents {
  margin-top: 15px;
}
footer #footerleft .footerSnsContents ul {
  text-align: center;
}
footer #footerleft .footerSnsContents ul li {
  display: inline-block;
  margin: 0 10px 5px 0;
}
footer #footerleft .footerSnsContents ul li a {
  text-decoration: none;
}
footer #footerleft .footerSnsContents ul li a > span {
  display: none;
}
footer #footerleft .footerSnsContents ul li a i {
  font-size: 4em;
  margin-top: 0;
}
footer #footerleft .footerSnsContents ul li .snsTwitter i {
  color: #55ACEE;
}
footer #footerleft .footerSnsContents ul li .snsFacebook i {
  color: #315096;
}
footer #footerleft .footerSnsContents ul li .snsPinterest i {
  color: #CE0F19;
}
footer #footerleft .footerSnsContents ul li .snsGooglePlus i {
  color: #DD4B39;
}
footer #footerleft .footerSnsContents ul li .snsTumblr i {
  color: #35465c;
}
footer #footerleft .footerSnsContents ul li .snsInstagram i {
  color: #3f729b;
}

footer #footerInfo .footerSnsContents {
  margin-top: 15px;
}
footer #footerInfo .footerSnsContents ul {
  text-align: center;
}
footer #footerInfo .footerSnsContents ul li {
  display: inline-block;
  margin: 0 10px 5px 0;
}
footer #footerInfo .footerSnsContents ul li a {
  text-decoration: none;
}
footer #footerInfo .footerSnsContents ul li a > span {
  display: none;
}
footer #footerInfo .footerSnsContents ul li a i {
  font-size: 4em;
  margin-top: 0;
}
footer #footerInfo .footerSnsContents ul li .snsTwitter i {
  color: #55ACEE;
}
footer #footerInfo .footerSnsContents ul li .snsFacebook i {
  color: #315096;
}
footer #footerInfo .footerSnsContents ul li .snsPinterest i {
  color: #CE0F19;
}
footer #footerInfo .footerSnsContents ul li .snsGooglePlus i {
  color: #DD4B39;
}
footer #footerInfo .footerSnsContents ul li .snsTumblr i {
  color: #35465c;
}
footer #footerInfo .footerSnsContents ul li .snsInstagram i {
  color: #3f729b;
}
footer #footerNavi nav {
  display: flex;
  margin: 25px 15px 15px;
}
footer #footerNavi nav ul li {
  padding: 0 10px 6px 0;
  position: relative;
}
footer #footerNavi nav ul li span {
	font-size:0.9286em;
  color:#FFF;
  font-weight:normal;
}
footer #footerNavi nav ul li li {
  padding: 0 1em 6px 1.35em;
  font-weight: normal;
}
footer #footerNavi nav ul li::before {
  color: #FFF;
  padding-right: 8px;
  display: inline-block;
  position: absolute;
  left: 0.2em;
}
footer #footerNavi nav ul li a {
  color: #FFF;
  min-height: 15px;
  text-decoration:none !important;
  white-space: nowrap;
}
footer #footerNavi nav ul li a:hover {
  text-decoration: underline;
}
footer #footerNavi nav ul li a i {
  color: #FFF;
  padding-right: 8px;
}

footer #footerNavi nav.footer2 {
  margin: 0 0 15px;
/*  border-top:1px solid #FFF;*/
/*  text-align:center;*/
	padding-top:20px;
	padding-left:20px;
}
footer #footerNavi nav.footer2 ul {
  width: 100%;
  line-height: 2.5;
}
footer #footerNavi nav.footer2 ul li{
  display: inline;
  margin:0 0.5em;
}

footer #copyright {
  clear: both;
  font-size: 1em;
  line-height: 1.6;
  padding: 15px !important;
  text-align: right;
}

/* sample
---------------------------------------------------------- */
a.sampleFadeOver {
  background: url(../img/img_sample01_cr.gif) no-repeat left top;
  display: inline-block;
  height: 150px;
  width: 200px;
}

/* 動作パターン
---------------------------------------------------------- */
.motionBGPt01 {
  -moz-transition: background 0.3s ease 0s;
  -o-transition: background 0.3s ease 0s;
  -webkit-transition: background 0.3s ease 0s;
  transition: background 0.3s ease 0s;
}

.motionShadowPt01,
.motionShadowPt02 {
  -moz-transition: background-color 0.3s linear 0s, box-shadow !important;
  -o-transition: background-color 0.3s linear 0s, box-shadow !important;
  -webkit-transition: background-color 0.3s linear, box-shadow !important;
  -webkit-transition-delay: 0s, 0s;
  transition: background-color 0.3s linear 0s, box-shadow !important;
}

.motionShadowPt01:hover,
.motionShadowPt01.hover {
  -moz-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.18);
  -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.18);
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.18);
}

.motionShadowPt02:hover,
.motionShadowPt02.hover {
  -moz-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.25), 0 4px 15px 0 rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.25), 0 4px 15px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.25), 0 4px 15px 0 rgba(0, 0, 0, 0.25);
}

/* カスタマイズ　ここから
---------------------------------------------------------- */
/* 追加スタイル */
body #wrapper #container .sp,
body #wrapper #container .sptable{
  display: none;
}
#mainVisual .mainVisualInner .bx-wrapper{
  margin: 0 auto 15px;
}
.bx-wrapper .bx-pager {
  bottom: 20px !important;
}

main{
  padding-bottom: 100px;
  display: block;
}

main#sales,
main#engineer {
  padding-bottom: 0;
}


footer #footerNavi nav > ul{
  width: calc(100% / 3);
}
footer #footerNavi nav ul li ul{
  margin-top: 6px;
}

footer #footerNavi nav ul li > ul li:last-child{
}

#globalNavi .navigation{
clear: both;
/*  padding-right: 0 !important;*/
/*      background: #0080CD none repeat scroll 0 0;*/
/*      border-top: 1px solid #B2B3B3;*/
/*      border-bottom: 1px solid #B2B3B3;*/
}
#globalNavi .navigation .navigationInner{
}
#globalNavi .navigation .navigationInner > a {
}
#globalNavi .navigation .navigationInner > a:first-child:hover {
}
#globalNavi .navigation .navigationInner > a:nth-child(4),
#globalNavi .navigation .navigationInner > a:nth-child(5){
}
#globalNavi .navigation .navigationInner > a:last-child:hover {
}

/* megamenu
---------------------------------*/
.header__menu {
  position: relative;
  width: 100%;
  text-align: center;
  list-style: none;
  padding: 0;
	box-sizing: border-box;
    display: table;
	margin: 0 auto;
    max-width: 1260px;
    padding: 0 20px !important;
  height:60px;
}
.header__menu li {
  display: table-cell;
    width: 16.66667%;
  vertical-align:middle;
    text-align: center;
    font-size: 1.8em;
}

.header__menu li a {
  color: #231815; /* メニューの文字色 */
  text-decoration: none;
    padding: 0 ;
    word-break: break-all;
    overflow-wrap: break-word;
  display: flex;
  align-items: center;
justify-content: center;
  height: 100%;
    width: 100%;
}

.header__menu li a:hover {
  text-decoration: underline;
text-underline-offset: 0.5em;
}

ul.mega__menu-second {
  visibility: hidden;
  opacity: 0;
}

.header__menu li:hover {
  transition: all 0.5s;
}

li.mega__menu ul.mega__menu-second {
  position: absolute;
  top: 60px;
  left: 0;
  background: #E6E3D6; /* メガメニューの背景色 */
  padding: 20px;
  box-sizing: border-box;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
      margin: 0 calc(50% - 50vw);
width: 100vw;
}

li.mega__menu:hover ul.mega__menu-second {
  top: 60px;
  visibility: visible;
  opacity: 1;
  background: #E6E3D6; /* メガメニューの背景色 */
  text-align:left;
}
li.mega__menu:hover ul.mega__menu-second .columnTable {
}
.header__menu li ul li{
  display: block;
    width: 100%;
    max-width: 1020px;
    margin:0 auto 10px auto;
    text-align: left;
    font-size: 0.89em;
}

.header__menu li ul li div {
    font-size: 0.95em;
}

.header__menu li ul li a{
    color: #0080CD;
}
.header__menu li ul li a:hover{
  text-decoration: none !important;
}

.header__menu li ul li.activeArrow {
	position:absolute;
	top:-10px;
	 left:50%;
	 font-weight:600;
	 color:#0080CD;
}
.header__menu li ul.messageArea01 li.activeArrow {
	margin-left:-314px;
}
.header__menu li ul.messageArea02 li.activeArrow {
	margin-left:-107px;
}
.header__menu li ul.messageArea03 li.activeArrow {
	margin-left:501px;
}

#top .topContents01 p.readcopy {
  font-size:1.2em;
  font-weight:600;
}
#top h2 {
	font-size: 2.8em;
    font-family: 'Oswald', sans-serif;
    text-align:center;
    margin-bottom:0.5em;
    font-weight:400;
    line-height: 1.2;
}
#top .topinterview h3 {
	font-size: 2.0em;
    font-family: 'Oswald', sans-serif;
    text-align:center;
    margin-bottom:0.8em;
    font-weight:400;
    line-height: 1.2;
}
#top .topinterview h3:before {
	content:"▼";
	color:#801B17;
	display:block;
}

#top .information {
	padding: 0 20px;
}
#top .photogallery h3,
#top .information h3 {
	font-size: 1.6em;
    text-align:center;
    margin-bottom:0.8em;
    font-weight:400;
}

#pageTitle h2 {
    color: #ffffff;
    display: inline-block;
	font-size: 3.3em;
    text-align:center;
    font-weight:500;
    line-height: 1.2;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:100%;
}
#pageTitle h2 span {
    display: block;
    font-size: 0.4em;
    font-weight: 600;
/*    margin-top: 5px;*/
}

#second h3 {
  margin:2em 0 1.5em 0;
	font-size:1.33em;
}
#second h3::before {
	display: inline-block;
	content:"▲";
  font-weight: 600;
  margin-right:1.0em ;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
#second h4 {
  margin:1em 0 2em 0;
    font-weight: 600;
	font-size:1.9em;
	text-align:center;
}
#second main#flow h4,
#second main#system h4,
#second main#sales h4,
#second main#engineer h4 {
  margin:1em 0 0 0;
    font-weight: 600;
	font-size:1.75em;
	text-align:left;
}
#second h5 {
  margin:2em 0 0 0;
    font-weight: 600;
	font-size:1.44em;
	color:#9E0000;
}

main#whats .columnTable,
main#message .columnTable, 
main#jobs .columnTable,
main#information .columnTable {
	max-width:750px;
	margin:0 auto;
}

main#interview .columnTable {
	max-width:775px;
	margin:0 auto;
}

#top #information .columnTable {
	max-width:775px;
	margin:0 auto;
}

#second main#data .columnTable {
	max-width:870px;
	margin:0 auto;
}

#second main#human p {
	max-width:775px;
	margin-left:auto;
	margin-right:auto;
}

#second main#photogallery p {
	font-size:87.7%;
}

#second p.busho {
	font-weight:600;
	font-size:2.5em;
}

main#sales .localnav {
	max-width:803px;
	margin:0 auto;
}
main#sales .localnav a,
main#sitemap a {
	color:#231815;
	text-decoration:none;
}

main#sitemap .columnTable {
	max-width:775px;
	margin:0 auto;
}

main#sitemap p {
	padding-left:1em;
}

main#sitemap h4 {
	font-size:110%;
	border-left:6px solid #9e0000;
	text-align:left;
	padding-left:0.5em;
	margin-top:2em;
	margin-bottom:1em;
}

p.localnavTitle {
	font-size: 2.0em;
    font-family: 'Oswald', sans-serif;
    text-align:center;
    margin-bottom:0.5em !important;
    font-weight:400;
    line-height: 1.2;
}
p.localnavTitle:before {
	content:"▼";
    margin-bottom:1em;
	display:block;
}

#qa table .noBorderT {
	border-top:none !important;
}
#qa table .noBorderL {
	border-left:none !important;
}
#qa table .noBorderR {
	border-right:none !important;
}
#qa table .dotBorder {
	border-style:dotted !important;
}

.topContents02{
/*	max-width:800px;*/
	margin:1.5em auto 2.0em auto;
	padding: 1em;
}
.topContents02 h2 {
  font-weight: 600;
	font-size:1.8em;
	text-align:center;
    border-bottom: solid 2px #cccccc;
}
.topContents02 article > *{
}
.topContents02 article {

    border: solid 1px #AD0003;
    border-radius:5px;
    padding:12px 38px 24px 38px;
}
.topContents02 article > *:not(a){
  color: #000000;
}
.topContents02 article a:hover{
  text-decoration: none;
}
.topContents02 article .newsitem_list{
	display: block;
    padding:14px 0;
    border-bottom: solid 1px #BFC0C0;
	font-weight:600;
	line-height:2.0;
    }
.topContents02 article .newsitem_list a{
}
.topContents02 article .newsitem_list span.category1{
	background-color:#808E8E;
	font-weight:400;
	font-size:105%;
	color:#fff;
	padding:0.1em 2.5em;
	margin-right:2em;
}
.topContents02 article a{
}
.topContents02 article a:hover{
}
.topContents02 article .newsitem_list time{
  margin: 1px 1em 1px 0;
}
.topContents02 article .newsitem_list dt,
.topContents02 article .newsitem_list dd {
	display:inline-block;
}
#wrapper #container .topContents02 .newsitem_list p span.tabpc{
  color: #ffffff;
  background: #e08305;
  font-size: 0.7em;
  font-weight: 500;
  padding: 3px 10px 0;
}
.banner_Area{
  color :#ffffff;
  font-size:1.5em;
  font-weight:bold;
	text-align:center;
  background: #0080CD;
  padding:10px 10px 15px;
  margin: 0 auto;
}
.banner_Area a {
	line-height: 0;
}
#wrapper .banner_Area .columnTable.column_2 > *:not(.column_center){
  width: 48%;
  vertical-align: middle;
  position: relative;
}
#wrapper .banner_Area .columnTable.column_2 > *:not(.column_center) a{
}
#wrapper .banner_Area .columnTable.column_2 > * p{
}
#wrapper .banner_Area .columnTable.column_2 > * p:hover{
  opacity: 0.9;
}
#wrapper .banner_Area .columnTable.column_2 > * p span{
  display: inline-block;
  width: 80%;
  font-weight: 600;
}
#wrapper .banner_Area .columnTable.column_2 > * i.fa{
  position: absolute;
  top: 38%;
  right: 5%;
}
.secondContentsBtn{
  margin-bottom: 8%;
}
.secondContentsBtn > a{
  text-decoration: none;
}
#wrapper .secondContentsBtn .columnTable.column_2 > *:not(:empty){
  background: linear-gradient(#fafafa,#e6e6e6);
  border-radius: 20px;
  border: solid 10px #fff;
  vertical-align: middle;
}
.secondContentsBtn div a h3 {
  color: #6a9d09;
  padding: 1em 0.5em 1em 1em;
  position: relative;
}
#wrapper .secondContentsBtn .columnTable.column_2 > *:not(:empty):hover {
  background: linear-gradient(#e6e6e6,#fafafa);
}
.secondContentsBtn div a h3 span {
  display: inline-block;
  width: 85%;
}
.secondContentsBtn div a h3 i.fa {
  position: absolute;
  top: 30%;
}
a[href^="tel:"]{
  pointer-events: none;
}

/* faq */
/* faqTitle/faqDetail 開閉 */
.contentsArea .mainArea .faqTitle {
	background: #2a98da;
      border-radius: 10px;
  display: block;
  font-weight: bold;
  margin: 4% 5px 3%;
  padding: 1em 6.5em 1em 3.5em;
  text-align: left;
  cursor: pointer;
  position: relative;
	text-indent:-2.2em;
	line-height:1.5;
	color:#fff;
	font-size:1.05em;
}
.contentsArea .mainArea .faqTitle span{
  font-size: 1.2em;
  font-weight: normal;
  margin-right:1em;
}
.contentsArea .mainArea .faqTitle.active {
}

.contentsArea .mainArea .faqTitle::before {
  color: #fff;
  content: "開く \f055";
  display: inline-block;
  font-family: "Font Awesome 6 Pro";
  font-size: 1.2em;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: -0.5em;
  position: absolute;
  right: 20px;
  top: 50%;
}

.contentsArea .mainArea .faqTitle.active::before {
  content: "閉じる \f056";
}

.contentsArea .mainArea .faqDetail {
  display: none;
}

.contentsArea .mainArea .faqDetail .faqBox01 {
  margin-left:2em;
  margin-right:2em;
}

.contentsArea .mainArea .faqDetail .faqBox01 ol {
	text-indent:0;
	margin-top:-2.5em;
}

.contentsArea .mainArea .faqDetail .faqBox01 i {
	text-indent:0;
}


.contentsArea .mainArea .faqDetail  ol li {
  font-weight:bold ;
}

.contentsArea .mainArea .faqDetail hr {
    height: 2px;
    background-color: #2163A5;
    border: none;
}
.contentsArea .mainArea .faqDetail .faqBox01 span{
  color: #2163A5;
  font-size: 1.4em;
  font-weight: bold;
  margin-right:1em;
}

.contentsArea .mainArea .faqDetail .link01 {
  text-align: right;
}

.contentsArea .mainArea .faqDetail .link01 .icon {
  fill: #00a4dd;
  width: 15px;
  vertical-align: middle;
  padding-bottom: 3px;
  padding-left: 8px;
}

.contentsArea .mainArea .faqBox01 {
}

#report .contentsArea .mainArea .faqBox01 {
  font-weight: normal;
}

.contentsArea .mainArea strong.red {
color:red;
}

.moreQa {
	border:1px solid #0080CD;
	border-radius: 10px;
	width:14em;
	margin:3em auto;
	text-decoration:none;
}
.moreQa a {
	display:block;
	text-align:center;
	text-decoration:none;
	padding:0.8em;
}


.voiceBox {
	border:1px solid #B7B7B7;
	padding:20px;
	border-radius: 10px;
	margin:0 0 3em 0 ;
}
.voiceBox p.midashi{
	font-weight:bold;
	border-bottom:2px solid #f8a534;
	    padding-bottom: 0.25em;
}

.contentsArea .mainArea  .box {
	border:1px solid #B2B2B2;
	padding:1em;
}
.contentsArea .mainArea .box .kakomiBlue {
background:#4472c4;
color:#FFF;
border:1px solid #EEE;
padding:1px 1em 0 1em;
}
.contentsArea .mainArea .box .kakomiYellow {
background:#ffd600;
border:1px solid #EEE;
padding:1px 1em 0 1em;
}


.targetArea01 div a{
  border: 3px solid #A2A2A2;
	border-radius:60px;
	overflow: hidden;
    display: block;
	line-height: 0;
}

.full-width {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

#top .topinterview table {
	width:100%;
  border-collapse: spacing;
	border-spacing:13px;
}
#top .topinterview table td {
	border:1px solid #AD0003;
  	width:35%;
}
#top .topinterview table td video {
  	width:730px;
  	    display: block;
	margin:0 auto;
}
#top .topinterview table td.moviein {
  	width:730px;
	border:none;
}


#top .topinterview {
	padding:5em 0;
}

#top.topinterview .columnTable {
	max-width:1100px;
	margin:1em auto;
}

#top .interview {
	padding: 1em 20px 3em 20px;
		  background-color:rgba(30,29,32,0.1);
}
#top .interview .areaWrap {
  	max-width:1020px;
	margin:0 auto;
  	text-align:left;
}

#top .photogallery {
	padding:1em 0 3em 0;
		  background-color:rgba(30,29,32,0.1);
}
#top .photogallery .areaWrap {
  	width:100%;
	text-align: center;
}

#second main .areaWrap img {
    margin-bottom: -9px;
}
#second main .areaWrap2 img {
        max-width: 70%;
}

#second main .areaWrap2 {
	max-width: 1200px;
    padding-bottom: 50px;
    margin:0 auto;
}

#second main#flow .areaWrap {
 	padding:20px 0;
  position: relative;
}
#second main#flow .areaWrap::before{
 	  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: block;
  border-bottom: 260px solid #D1DBDD;
  z-index:-1;
}


#second main#system .areaWrap {
 	padding:20px 0;
  position: relative;
}
#second main#system .areaWrap::before{
 	  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: block;
  border-bottom: 218px solid #D4DEE0;
  z-index:-1;
}

#second main#sales .areaWrap,
#second main#engineer .areaWrap,
#second main#coretec .areaWrap {
 	padding:0;
  position: relative;
}
#second main#sales .areaWrap::before, 
#second main#engineer .areaWrap::before {
 	  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: block;
  border-bottom: 260px solid #D4DEE0;
  z-index:-1;
}
#second main#coretec .areaWrap::before {
 	  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: block;
  border-bottom: 310px solid #D1DBDD;
  z-index:-1;
}


.sitemap a {
	text-decoration:none;
}
.sitemap a:hover {
	text-decoration:underline;
}


/* about summary */
.contentsAreaType01 .summaryList01{
}
.contentsAreaType01 .summaryList01 dt{
clear: both;
float: left;
padding: 0 0 10px;
width: 10em;
}
.contentsAreaType01 .summaryList01 dd{
margin-left: 11.5em;
padding: 0 0 10px;
}
.contentsAreaType01 .summaryList01 th,
.contentsAreaType01 .summaryList01 td{
font-weight: normal;
padding: 0 10px 10px 0;
}
.contentsAreaType01 .summaryList02 p{
margin-bottom: 10px;
}
.contentsAreaType01 .summaryList01 img.windowIcon,
.contentsAreaType01 .summaryList02 img.windowIcon{
margin-right: 3px;
vertical-align: -2px;
}

.inline-block {
    display: inline-block;
}

/*****************************************************/
/* カスタマイズ　ここまで */


/* IE11用 */
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #wrapper .category span[class^="cat"] {
    padding: 5px 5px 1px;
  }

  *::-ms-backdrop, #wrapper #newsContents ul li p.newscategory span[class^="catNews"] {
    padding: 3px 3px 1px;
  }
}
/* Lサイズ用 */
@media screen and (min-width: 960px), print {
  .taC_LsizeOnly,
  .taC_MsizeAndMore {
    text-align: center;
  }

  .taL_LsizeOnly,
  .taL_MsizeAndMore {
    text-align: left;
  }

  .taR_LsizeOnly,
  .taR_MsizeAndMore {
    text-align: right;
  }

  /* globalNavi
  ---------------------------------------------------------- */
  #globalNavi {
    clear: both;
    background: #ffffff;
    font-size: 1em;
    padding-bottom: 10px;
    width: 100%;
    border-top: 1px solid #B2B3B3;
    border-bottom: 1px solid #B2B3B3;
    padding-top:10px;
  }
  #globalNavi .inner01 {
    overflow: inherit;
    padding: 0 !important;
  }
  #globalNavi ul.nav-menu {
    display: table;
    height: 100%;
    position: relative;
    list-style: none;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    min-width:80%;
    z-index: 101;
  }
  #globalNavi ul.nav-menu li.nav-item {
    display: table-cell;
    height: 100%;
    list-style: outside none none;
    margin: 0;
    padding: 4px 10px;
    position: relative;
    text-align: center;
/*    width: 20%;*/
    /* グローバルナビ数で％を計算 */
    font-size: 1.4em;
    font-weight: 600;
    border-left:1px solid #221714;
    vertical-align: middle;
  }
  #globalNavi ul.nav-menu li.nav-item#g07{
    border-right:1px solid #221714;
  }
  #globalNavi ul.nav-menu li.nav-item a {
    text-decoration: none;
    color:#231815;
  }
  #globalNavi ul.nav-menu li.nav-item span {
    display: block;
    font-size: 0.86em;
    font-weight: 500;
    padding-top: 5px;
  }
  #globalNavi ul.nav-menu li.nav-item > .nav_cat {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 100%;
    position: relative;
    transition: color 0.3s ease 0s;
    /* グローバルナビがアクティブ・hover状態の項目の背景色・文字色 */
  }
  #globalNavi ul.nav-menu li.nav-item > .nav_cat.hasSub {
    padding-right: 15px;
  }
  #globalNavi ul.nav-menu li.nav-item > .nav_cat.active, #globalNavi ul.nav-menu li.nav-item > .nav_cat.active, #globalNavi ul.nav-menu li.nav-item > .nav_cat:hover, #globalNavi ul.nav-menu li.nav-item > .nav_cat.hover, #globalNavi ul.nav-menu li.nav-item > .nav_cat.open {
/*    color: #d85a13;*/
  }
  #header #globalNaviBtn {
    display: none;
    cursor: pointer;
  }
  #globalNavi ul li.nav-item .sub-nav ul {
    display: inline-block;
    margin: 0;
    padding: 0;
    text-align: left;
    vertical-align: top;
    width: 100%;
  }
  #globalNavi ul li.nav-item .sub-nav ul li {
    border-bottom: 1px solid #CCCCCC;
    display: block;
    font-weight: 500;
    line-height: 1.4;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
  #globalNavi ul li.nav-item .sub-nav ul li:last-child {
    border-bottom: none;
  }
  #globalNavi ul li.nav-item .sub-nav ul li a {
    color: #1879cb;
    display: block;
    padding: 7px 35px 10px 15px;
    position: relative;
    text-decoration: none;
  }
  #globalNavi ul li.nav-item .sub-nav ul li a:hover, #globalNavi ul li.nav-item .sub-nav ul li a:focus {
    background: #f5f5f5;
    color: #d85a13;
  }
  #globalNavi ul li.nav-item .sub-nav ul > li > ul > li {
    border-bottom: none;
    font-weight: 300;
  }
  #globalNavi ul li.nav-item .sub-nav ul > li > ul > li a {
    font-size: 0.95em;
    padding: 7px 15px 7px 2em;
  }
  #globalNavi ul.nav-menu li.nav-item .sub-nav {
    background-color: #ffffff;
    border: 1px solid #CCCCCC;
    display: none;
    font-size: 1em;
    right: 0;
    margin-top: -1px;
    padding: 0;
    position: absolute;
    top: 60px;
    z-index: 2;
    min-width: 100%;
    white-space: nowrap;
  }
  #globalNavi ul.nav-menu li.nav-item .sub-nav.open {
    display: block;
  }

  header #globalNaviBtn {
    display: none;
    cursor: pointer;
  }
  .pc_black {
    color: #333333 !important;
  }
}
/* /@media */
/* Mサイズ以下用 */
@media screen and (max-width: 959px) {
  /* basic rayout
  ---------------------------------------------------------- */
  body .inner01 {
    width: 100%;
    padding: 0 !important;
  }

	body .inner01.wide {
		margin: 0 calc(50% - 45vw);
	     width: auto;
	}

  .contentsAreaType01 #mainContents,
  .contentsAreaType02 #mainContents {
    width: 100%;
  }

  #wrapper textarea {
    width: 96%;
  }

  /* header
  ---------------------------------------------------------- */
  header {
    padding: 0;
    min-height: 110px;
  position: fixed;
  border-bottom:1px solid #B2B3B3;
  }
  main {
    margin-top: 110px;
  }
  header #headerContents{
    background: #ffffff;
    margin:0;
    padding:0 !important;
    height:110px;
  }
  header #logo {
    box-sizing: border-box;
    /*float: none;*/
    margin-top: 0;
/*    padding-right: 60px;*/
/*    width: 100%;*/
  }
  #headerContents #headerNaviArea {
    display: block;
    float: none;
    text-align: left;
    width: 100%;
  }
  #headerContents #headerMenu {
    display: inline-block;
/*    padding: 20px 45px 0 0;*/
    margin:0;
    width: 100%;
    float: right;
   }
  #headerContents #headerMenu img {
    width:100%;
  }
  #headerContents #headerMenu ul {
    display: table;
    float: none;
    height: 100%;
    width: 100%;
    font-size: 120%;
  }
  #headerContents #headerMenu li {
    display: table-cell;
    float: none;
    margin: 0;
    width: 33%;
    vertical-align: top;
  }
  #headerContents #headerMenu li a {
    box-sizing: border-box;
    padding: 22px 3px;
/*    display: table;
    font-size: 1.1em;
    height: 100%;
    padding: 10px;
    text-align: left;
    text-decoration: none;
    -moz-transition: background 0.5s ease 0s;
    -o-transition: background 0.5s ease 0s;
    -webkit-transition: background 0.5s ease;
    -webkit-transition-delay: 0s;
    transition: background 0.5s ease 0s;
    vertical-align: middle;
    width: 100%;*/
  }
  #headerContents .info01 {
    display: none;
  }

	#headerContents .rightBox {
		float: none;
	/*	margin-top: 15px;*/
	}


  /* globalNavi (topNavi)
  ---------------------------------------------------------- */
  #globalNavi.globalNaviPt01 .navigation {
	margin-top: 45px;
	}

  #globalNavi a {
    color: #fff;
    display: block;
    padding: 7px 15px;
    position: relative;
    text-decoration: none;
    font-size: 1.4em;
    font-weight: 600;
    min-height:55px;
    vertical-align:middle;
  }
  #globalNavi a::before {
    content: "\f105";
    background: transparent none repeat scroll 0 0;
/*    color: #ffffff;*/
    display: inline-block;
    font-family: "Font Awesome 6 Pro";
    font-size: 1.2em;
    font-style: normal;
    font-weight: normal;
    height: auto;
    left: auto;
    line-height: 0;
    position: absolute;
    right: 22px;
    top: 55%;
    width: auto;
  }
  #globalNavi a.open::before {
    content: "\f107";
    right: 20px;
  }
  #globalNavi a.index::before {
    content: "\f0a9";
    right: 18px;
  }
  #globalNavi a.second {
    padding-left: 2.5em !important;
  }
  #globalNavi a.second::before {
    left: 18px;
  }
  #globalNavi a.active {
    background: rgba(255, 255, 255, 0.1) none repeat scroll 0 0;
  }
  #globalNavi a svg {
    display: none;
  }
  #globalNavi li span {
  }
  #globalNavi.globalNaviPt01 {
    border: none;
    overflow: visible;
  }
  #globalNavi.globalNaviPt01 .navigation {
    background: #889496;
    box-sizing: border-box;
    display: none;
    height: calc(100% - 110px);
/*    padding: 20px 70px 20px 3% !important;*/
    position: fixed;
    min-width: 300px;
    right: 0;
    top: 65px;
    vertical-align: top;
    z-index: 100;
    overflow-x: hidden;
    overflow-y: visible;
    margin-bottom: 10px;
  }
  #globalNavi.globalNaviPt01 .navigation .navigationInner {
    display: block;
    height: auto;
    width: auto;
  }
  #globalNavi.globalNaviPt01 .navigation .navigationInner > li {
    border-bottom: 1px solid #fff !important;
    border-right: none;
    display: block;
    width: auto !important;
    color: #ffffff;
    font-size: 1em;
    height: auto;
    padding: 0;
    text-align: left;
    text-decoration: none;
  }

  #globalNavi.globalNaviPt01 .navigation .navigationInner img {
    display: inline-block;
    width:30px;
    vertical-align:middle;
    margin-right:5px;
    opacity:0.6;
  }
  #globalNavi.globalNaviPt01 .navigation .navigationInner > li:first-child {
  }
  #globalNavi.globalNaviPt01 .navigation .navigationInner > li > a {
    display: block;
    text-align: left;
  }
  #globalNavi.globalNaviPt01 .navigation .navigationInner > li.pcLink::before {
    content: "\f108";
    font-size: 1.2em;
  }
  #globalNavi.globalNaviPt01 .navigation .navigationInner > li.pcLink {
    padding-right: 2em;
  }
  #globalNavi.globalNaviPt01 .navigation .navigationInner > li span {
    display: block;
    text-align: left;
    font-size:0.8em;
    font-weight: normal;
  }
  #globalNavi.globalNaviPt01 a:last-child::after {
    display: none;
  }
  #globalNavi .navigation > .info01 {
    display: block;
  }
  #globalNavi ul.nav-menu li.nav-item .sub-nav > ul > li {
    border-top: 1px solid rgba(0, 0, 0, 0.2);
  }
  #globalNavi ul.nav-menu li.nav-item .sub-nav ul li a {
        background: #D8E1E3 none repeat scroll 0 0;
    color:#231815;
        padding-top:1.2rem;
  }
  #globalNavi ul.nav-menu li.nav-item .sub-nav ul li ul li a {
    padding-left: 65px;
        background: rgba(0, 0, 0, 0.1) none repeat scroll 0 0;
  }
  #globalNavi ul.nav-menu li.nav-item .sub-nav > ul > li > ul > li a {
    padding-left: 2.5em;
  }
  #globalNavi ul.nav-menu li.nav-item .sub-nav .icon {
    height: 0;
    width: 0;
  }

  header #globalNaviBtn {
    /*background: #ffffff none repeat scroll 0 0;*/
    cursor: pointer;
    display: block;
    height: 45px;
    line-height: 0;
    position: absolute;
    right: 12px;
    text-align: center;
    top: 63px;
    width: 45px;
    z-index: 101;
  }
  header #globalNaviBtn.open {
    background: rgba(255, 255, 255, 0) none repeat scroll 0 0;
  }
  header #globalNaviBtn.open span.middle {
    background: rgba(255, 255, 255, 0);
  }
  header #globalNaviBtn.open span.top, header #globalNaviBtn.open span.bottom {
/*    background: #FFFFFF; */
  }
  header #globalNaviBtn.open span.top {
    transform: rotate(-45deg) translateY(0px);
    -moz-transform: rotate(-45deg) translateY(0px);
    -webkit-transform: rotate(-45deg) translateY(0px);
    -ms-transform: rotate(-45deg) translateY(0px);
  }
  header #globalNaviBtn.open span.bottom {
    transform: rotate(45deg) translateY(0px);
    -moz-transform: rotate(45deg) translateY(0px);
    -webkit-transform: rotate(45deg) translateY(0px);
    -ms-transform: rotate(45deg) translateY(0px);
  }
  header #globalNaviBtn span {
    background: #AC0003 none repeat scroll 0 0;
    display: block;
    height: 2px;
    left: 15px;
    position: absolute;
    top: 16px;
    width: 18px;
    -moz-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
  }
  header #globalNaviBtn span.top {
    transform: translateY(-6px);
    -moz-transform: translateY(-6px);
    -webkit-transform: translateY(-6px);
    -ms-transform: translateY(-6px);
  }
  header #globalNaviBtn span.bottom {
    transform: translateY(6px);
    -moz-transform: translateY(6px);
    -webkit-transform: translateY(6px);
    -ms-transform: translateY(6px);
  }
  header #globalNaviBtn p.menuText {
	left: 9px;
    position: absolute;
    top: 36px;
    font-size: 0.6rem;
    font-weight:600;
    color:#7F9191;
  }

  /* pageTitle
  ---------------------------------------------------------- */
	#pageTitle {
		  min-height:66px;
	}
	#pageTitle h2 {
		font-size: 2.3em;
	}
	#pageTitle h2 span {
	    font-size: 0.6em;
	}
	main#coretec #pageTitle {
		background: #9E0000 49% 50% / 73% url('../img/bg_coretec.png') no-repeat;
	}
	main#human #pageTitle {
		background: #9E0000 94% 100% / 27%  url('../img/bg_human.png') no-repeat;
	}
	main#photogallery #pageTitle {
		background: #9E0000 89% 100% / 23% url('../img/bg_photogallery.png') no-repeat;
	}
	main#guideline #pageTitle {
		background: #9E0000 80% 100% / 13% url('../img/bg_guideline.png') no-repeat;
	}
	main#welfare #pageTitle {
		background: #9E0000 80% 100% / 13% url('../img/bg_welfare.png') no-repeat;
	}
	main#qa #pageTitle {
		background: #9E0000 49% 100% / 62% url('../img/bg_qa.png') no-repeat;
	}


  /* contents/column_cover/columnTable
  ---------------------------------------------------------- */
  #contents {
  	font-size:1.4em;
    line-height: 1.7;
  }
  
  body:not(#top) #breadcrumb{
  }


  .contentsAreaType02 .inner01 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    /* Android旧ブラウザ */
    -webkit-flex-direction: column;
    /* safari（PC） */
    flex-direction: column;
    -ms-flex-wrap: wrap;
    /* IE10 */
    -webkit-flex-wrap: wrap;
    /* safari（PC） */
    flex-wrap: wrap;
  }

  #wrapper .columnTable.layoutPT01_m {
    display: block;
  }
  #wrapper .column_cover.layoutPT01_m.column_2,
  #wrapper .column_cover.layoutPT01_m.column_3,
  #wrapper .columnTable.layoutPT01_m.column_2,
  #wrapper .columnTable.layoutPT01_m.column_3,
  #wrapper .columnTable.layoutPT01_m.column_4 {
    width: 100% !important;
  }
  #wrapper .column_cover.layoutPT01_m.column_2 > *,
  #wrapper .column_cover.layoutPT01_m.column_3 > *,
  #wrapper .columnTable.layoutPT01_m.column_2 > *,
  #wrapper .columnTable.layoutPT01_m.column_3 > *,
  #wrapper .columnTable.layoutPT01_m.column_4 > *,
  #wrapper .columnTable.layoutPT01_m div.column_center {
    display: block;
    padding-right: 0 !important;
    width: 100% !important;
  }
  #wrapper .columnTable.layoutPT01_m div.column_center {
    padding-bottom: 3%;
  }
  #wrapper .layoutPT01_m .flL,
  #wrapper .layoutPT01_m .flR {
    float: none !important;
    margin: 0 0 20px !important;
    width: 100% !important;
  }

  /* newsContents
  ---------------------------------------------------------- */
  #wrapper #newsContents ul,
  #wrapper #newsContents ul li,
  #wrapper #newsContents ul li .date,
  #wrapper #newsContents ul li .text {
    display: block;
  }
  #wrapper #newsContents ul li {
    border-bottom: 1px solid #dddddd;
  }
  #wrapper #newsContents ul li p {
    border-bottom: none;
  }
  #wrapper #newsContents ul li p[class^="category"] {
    display: inline-block;
  }
  #wrapper #newsContents ul li p a {
    padding: 10px 0;
  }
  #wrapper #newsContents ul li .date {
    float: left;
  }
  #wrapper #newsContents ul li .text {
    clear: both;
    padding: 0 10px;
    width: auto;
  }

  /* mainContents
  ---------------------------------------------------------- */
  .contentsAreaType02 #mainContents {
    float: none !important;
    margin-bottom: 20px;
  }

  /* table
  ---------------------------------------------------------- */
  /* responsiveTable */
  #wrapper table.responsiveTable01 {
    display: block;
  }
  #wrapper table.responsiveTable01 thead {
    display: none;
  }
  #wrapper table.responsiveTable01 tbody {
    display: block;
  }
  #wrapper table.responsiveTable01 tbody tr {
    display: block;
    margin-bottom: 1em;
  }
  #wrapper table.responsiveTable01 tbody th,
  #wrapper table.responsiveTable01 tbody td {
    border: none;
    display: block;
  }
  #wrapper table.responsiveTable01 tbody th {
/*    padding: 0 0 0.25em 0;*/
    margin-bottom: 0.5em;
    width: auto !important;
  }
  #wrapper table.responsiveTable01 tbody td {
    margin-bottom: 15px;
    padding: 0;
  }
  #wrapper table.responsiveTable01 tbody td:before {
    padding-right: 5px;
  }
  #wrapper table.responsiveTable01 tbody td[data-title]::before {
    content: attr(data-title);
  }

  /* responsiveTable01.normalTable04 */
  #wrapper table.responsiveTable01.normalTable04 tbody th,
  #wrapper table.responsiveTable01.normalTable04 tbody td {
    text-align: left !important;
  }
  #wrapper table.responsiveTable01.normalTable04 td:last-child {
    border-bottom: 1px dotted #656464;
    padding-bottom: 15px;
  }
	#wrapper table.normalTable04 tr.last {
		border-bottom: none;
	}

  /* responsiveTable02 */
  #wrapper table.responsiveTable02 {
    display: block;
    position: relative;
    width: 100%;
  }
  #wrapper table.responsiveTable02 thead {
    display: block;
    float: left;
  }
  #wrapper table.responsiveTable02 thead tr {
    display: block;
  }
  #wrapper table.responsiveTable02 tbody {
    display: block;
    letter-spacing: -0.4em;
    width: auto;
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
  }
  #wrapper table.responsiveTable02 tbody tr {
    border-right: 1px solid #dddddd;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top;
  }
  #wrapper table.responsiveTable02 th {
    display: block;
    border-bottom: 0;
  }
  #wrapper table.responsiveTable02 td {
    display: block;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
  }
  #wrapper table.responsiveTable02 th:last-child,
  #wrapper table.responsiveTable02 td:last-child {
    border-bottom: 1px solid #dddddd;
  }

  /* scroll */
  .scroll {
    overflow-x: auto;
      white-space: nowrap;
  }

  /* List
  ---------------------------------------------------------- */
  #wrapper ul.list01 li {
    margin-bottom: 0;
  }

  #wrapper .list02.layoutPT01_m li {
    border-bottom: 1px solid #dddddd;
    margin-bottom: 5px;
  }

  /* footer
  ---------------------------------------------------------- */
  footer #footerNavi {
  	padding-top:0;
  }
  /*
  footer #footerNavi .inner01 {
    padding: 0 !important;
  }
  footer #footerNavi nav {
    display: flex;
    width: auto;
  }
  footer #footerNavi nav > ul > li {
    border-top: 1px solid #dddddd;
    padding: 0;
    float: none;
    width: 100% !important;
  }
  footer #footerNavi nav > ul > li:last-child {
    border-bottom: 1px solid #dddddd;
  }
  footer #footerNavi nav a {
    display: block;
    margin: 0;
    padding: 10px;
  }
  footer #footerInfo {
    float: none;
    padding: 15px 10px 20px;
    width: 100%;
  }
  */

/* カスタマイズ　ここから
---------------------------------------------------------- */
/* Mサイズ用(min-width: 960px)追加スタイル */
  body #wrapper #container .pc{
    display: none !important;
  }
    #wrapper #container .topContents02 .newsitem_list span.pc{
    display: inline-block !important;
  }
  body #wrapper #container .sp{
    display: block;
  }
  body #wrapper #container .sptable{
    display: table;
  }
  header #logo  {
    height: 45px;
	}
  header #logo img {
    margin-left: 15px;
	width: 230px;
	}
	header #logo span {
    display: none;
	}

  #headerContents .fontsize01 > img{
	  width: 34px;
	  object-fit: cover;
	  object-position: 0 0;
	}

  #mainVisual {
/*    margin-top: 227px;*/
  }
  #contents{
    display: inherit;
  }
  .contentsArea{
    width: 100% !important;
  }
  .topContents02 article {
    padding: 8px 18px 12px 18px;
  }

	.topContents02 article .newsitem_list:last-child {
		border:none ;
}

  /* h1-h6
  ---------------------------------------------------------- */

	#second h3 {
	    margin: 1.0em 0 1.0em 0;
	    font-size: 0.86em;
	}
	
	#second main#flow h4,
	#second main#system h4,
	#second main#sales h4,
	#second main#engineer h4 {
	    margin: 0.75em 0 0 0;
	    font-weight: 600;
	    font-size: 1.15em;
	}
	#second h5 {
	    border-bottom: 1px dotted #656464;
	    padding-bottom:10px;
		margin-bottom:20px;
	}
	
	
	#second p.busho {
		font-size:2.2em;
	}

	#second main .areaWrap2 {
		padding-bottom: 20px;
		padding-right: 40px;
	}
	#second main#sales .areaWrap::before, 
	#second main#engineer .areaWrap::before, 
	#second main#coretec .areaWrap::before{
	  border-bottom: 100px solid #D4DEE0;
	}


	/* faq */
	/* faqTitle/faqDetail 開閉 */
	.contentsArea .mainArea .faqTitle {
	  padding: 1em 2.5em 1em 3.25em;
		text-indent:-1.85em;
		margin: 1em 5px ;
	}
	.contentsArea .mainArea .faqTitle span{
	  margin-right:0.75em;
	}
	.contentsArea .mainArea .faqTitle.active {
	}

	.contentsArea .mainArea .faqTitle::before {
	  content: "\f055" !important;
	  right: 8px;
	}

	.contentsArea .mainArea .faqTitle.active::before {
	  content: "\f056" !important;
	}
	.contentsArea .mainArea .faqDetail .faqBox01 {
	  margin-left:1em;
	  margin-right:1em;
	}

	.rescureNews {
		padding:10px;
	}

	.grayBox {
		margin:0 0 40px 0;
		padding:20px 20px 10px 20px;
	}

	.checkList {
		margin:0 0 40px 10px;
		font-weight:bold;
		font-size:1.0em;
	}
	
	.exampleBoxText01 dd{
		margin-left: 0.5em;
	}


  /* gopagetop
  ---------------------------------------------------------- */
  #gopagetop {
  	display:none !important;
  }
  #gopagetop p{
    font-size: 200%;
    color: #ffffff;
    background: #6B4400;
    padding: 2% 0;
    cursor: pointer;
  }
  #gopagetop p:hover{
    opacity: 0.9;
  }
  
  .gopagetopSp {
  	width:100%;
  	background-color:#462B00;
  	text-align:center;
  	padding:10px;
  	line-height:1.2;
  }
  .gopagetopSp a {
  	display:block;
  	color:#FFF;
  	text-decoration:none;
  }
  
  
  /*****************************************************/
  /* カスタマイズ　ここまで */
}
/* @media */
/* Mサイズ用 */
@media screen and (min-width: 768px) and (max-width: 959px) {
  /* 全般
  ---------------------------------------------------------- */
  .MsizeOnly,
  .MsizeAndLess {
    display: block;
  }

  .LsizeOnly,
  .SsizeOnly,
  .SSsizeOnly {
    display: none;
  }

  .taC_MsizeOnly,
  .taC_MsizeAndMore,
  .taC_SsizeAndMore,
  .taC_MsizeAndLess {
    text-align: center;
  }

  .taL_MsizeOnly,
  .taL_MsizeAndMore,
  .taL_SsizeAndMore,
  .taL_MsizeAndLess {
    text-align: left;
  }

  .taR_MsizeOnly,
  .taR_MsizeAndMore,
  .taR_SsizeAndMore,
  .taR_MsizeAndLess {
    text-align: right;
  }
}
/* @media */
/* Sサイズ以下用 */
@media screen and (max-width: 767px) {
  /* basic rayout
  ---------------------------------------------------------- */
  /* グローバルナビがオープンしている場合に使用 */
  html.naviOpen,
  body.naviOpen {
    overflow: hidden;
  }

  header #logo img {
	width: 190px;
    margin-top: 4px;
	}

  /* pageTitle
  ---------------------------------------------------------- */

  /* contents/column_cover/columnTable
  ---------------------------------------------------------- */
  /*
  #contents img:not(.noResize):not([src*="ico"]),
  #contents picture:not(.noResize):not([src*="ico"]) {
    width: 100%;
    height: auto;
  }
  */

  /* h1-h6 */
  .hPT02 {
  }

/*  #wrapper .columnTable.layoutPT01_s {
    display: block;
  } */
  #wrapper .columnTable.layoutPT01_s div.column_center {
    padding-bottom: 3%;
  }
  #wrapper .column_cover.layoutPT01_s.column_2,
  #wrapper .column_cover.layoutPT01_s.column_3,
/*  #wrapper .columnTable.layoutPT01_s.column_2, */
  #wrapper .columnTable.layoutPT01_s.column_3,
  #wrapper .columnTable.layoutPT01_s.column_4 {
    margin-left: auto;
    margin-right: auto;
    width: 70% !important;
  }
  #wrapper .column_cover.layoutPT01_s.column_2 > *,
  #wrapper .column_cover.layoutPT01_s.column_3 > *,
/*  #wrapper .columnTable.layoutPT01_s.column_2 > *, */
  #wrapper .columnTable.layoutPT01_s.column_3 > *,
  #wrapper .columnTable.layoutPT01_s.column_4 > *,
  #wrapper .columnTable.layoutPT01_s div.column_center {
    display: block;
    padding-right: 0;
    width: 100% !important;
  }
  #wrapper .layoutPT01_s .flL,
  #wrapper .layoutPT01_s .flR {
    float: none !important;
    margin: 0 auto 20px !important;
    width: 100% !important;
  }

  .viewChangeImg img {
    display: none;
  }
  .viewChangeImg[data-title]::after {
    content: attr(data-title);
    display: inline;
  }

  #wrapper a[data-rel^="lightcase"] {
    cursor: default;
  }

  /* localNavi
  ---------------------------------------------------------- */
  #contents #localNavi {
    padding-top: 0;
  }
  #contents #localNavi .inner01 {
    padding: 0 !important;
  }
  #contents #localNavi .localNaviList {
    width: 100%;
  }
  #contents #localNavi .localNaviList a {
    border: 2px solid #ffffff !important;
    box-sizing: border-box;
    margin: 0;
    padding: 0.5em;
    -webkit-flex: 1 1 47%;
    flex: 1 1 47%;
    width: 50%;
    margin-top: -1px;
  }
  #contents #localNavi .localNaviList a:nth-child(1), #contents #localNavi .localNaviList a:nth-child(2) {
    margin-top: 0;
  }
  #contents #localNavi .localNaviList a:nth-child(2n) {
    margin-left: -1px;
  }

  .android #contents #localNavi .localNaviList {
    letter-spacing: -0.4em;
  }

  .android #contents #localNavi .localNaviList a {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top;
  }

  /* mainContents
  ---------------------------------------------------------- */
  #mainContents {
    padding-bottom: 20px;
  }

  /* mapArea
  ---------------------------------------------------------- */
  #accessMap01 {
    height: 250px;
  }

  /* contentsMenu　ページ内リンク
  ---------------------------------------------------------- */
  #contents .contentsMenu li {
    float: none;
    padding-right: 0;
  }
  #contents .contentsMenu li a {
    display: block;
    padding-left: 15px;
  }

  /* contact（inquiry）
  ---------------------------------------------------------- */
  #contact .btnSubmit, #contact .btnReturn {
    font-size: 0.95em;
    padding-left: 1%;
    padding-right: 1%;
    width: 100%;
  }

  /* newsContents
  ---------------------------------------------------------- */
  #wrapper #newsContents .newsList {
    max-height: 200px;
  }

  /* contact（inquiry）
  ---------------------------------------------------------- */
  #mainContents .btnSubmit, #mainContents .btnReturn {
    font-size: 0.85em;
    padding: 20px 10px;
  }

  /* List
  ---------------------------------------------------------- */
  #wrapper .list02.layoutPT01_s li {
    border-bottom: 1px solid #dddddd;
    margin-bottom: 5px;
  }

  /* footer
  ---------------------------------------------------------- */
  footer #footerInfo {
    margin-bottom: 0;
    padding-bottom: 20px;
  }

  footer #footerInfo,
  footer #footerInfo #footerLogo,
  footer #footerInfo .text01 {
    box-sizing: border-box;
    display: block;
  }

  footer #copyright {
    padding-top: 60px;
    text-align: center;
    font-size: 0.8em;
  }

/* カスタマイズ　ここから
---------------------------------------------------------- */
/* Sサイズ以下用(max-width: 767px)追加スタイル */
	#headerContents .search01{
		float: left;
		width: 135px;
		margin-right: 0;
	}
	#headerContents .search01 .gsc-input-box {
		width: 110px;
	}
	#headerContents .search01 .gsc-input-box input#gsc-i-id1 {
	width: 75px !important;
	}
  body #wrapper #container .tabpc{
    display: none;
  }
  #wrapper #container #mainVisual .mainVisualInner .sliderArea.sp{
    display: block !important;
  }
  #container main .bx-wrapper{
    margin: 0 auto 0;
  }
   .bx-wrapper .bx-pager {
    bottom: 10% !important;
  }
  body#top #contents{
    padding: 0 10px;
  }
  body:not(#top) #contents {
    padding: 0 50px;
  }
  body #contents{
    z-index: 99;
    position: relative;
  }
  body:not(#top) #breadcrumb{
  }
  body#top .contentsArea {
    background: none;
    border: none;
/*    margin-top:-45px;*/
    background: #fff;
    padding-top:10px;
  }
  .messageArea01 h2 {
    padding: 1em;
    background: #fff;
    font-size: 1.1em;
  }
  #top .topContents01 p.readcopy {
	  font-size:1.0em;
	}

  #top h2{
    font-size: 1.8em;
  }
  #top .topinterview h3,
  #top .information h3 {
    font-size: 1.5em;
  }
  #top .topinterview table td.blank {
  	display:none;
  }
  #top .topinterview table td video {
	  	width:100%;
		margin:0 auto;
		border-left:20px solid #A21F24;
		border-right:20px solid #A21F24;
	}

  .topinterview p {
/*    font-size: 1.0rem;*/
	}
  .topContents02 h2{
    font-size: 1.1em;
    margin: 0;
    padding: 0 0.5em 0 0;
    text-align:left;
  }
  .topContents02 h2 span {
    background: none;
    padding: 0.5em 0;
  }
  .topContents02 article a{
    display: block;
    margin-bottom: 0;
  }
  .topContents02 article a .newsitem_list {
    display: block;
    line-height: 1.5;
    border-bottom: solid 1px #cccccc;
    padding: 2% 8% 2% 2%;
    position: relative;
    margin-bottom: 0;
  }
  .topContents02 article > .newsitem_list {
    display: block;
    border-bottom: solid 1px #cccccc;
    padding: 2%;
    position: relative;
    margin-bottom: 0;
  }
  .topContents02 article a:hover{
    opacity: 0.5;
    background: #f7f7f7;
    text-decoration: none;
  }
  .topContents02 article .newsitem_list time{
    color: #777777;
    display: inline-block;
    margin: 0 1em 0.25em 0;
  }
  .topContents02 article .newsitem_list p{
    color: #333333;
  }
  .topContents02 .newsitem_list i.sp{
    display: block !important;
    position: absolute;
    top: 42%;
    right: 3%;
    color: #cccccc;
  }
  #wrapper #container .topContents02 .newsitem_list span.sp{
    display: inline-block !important;
    position: absolute;
/*	top: 0.3em;*/
    left: 5em;
  }
    #wrapper #container .topContents02 .newsitem_list span.pc{
    display: none !important;
  }

	footer #footerNavi nav {
	display:block;
	  width: 100%;
	  text-align:center;
	}
	footer #footerNavi nav a {
	  text-decoration:underline !important;
	}
	footer #footerNavi nav > ul{
	  width: 100%;
	}
	footer #footerNavi nav ul li {
	}

	footer #footerNavi nav.footer2 ul li{
/*	  display: block;*/
	}

	.balloon1-left,
	.balloon1-leftY,
	.balloon1-leftG {
	  margin-top: 0;
	}
	
	.messageArea01 .naviBtn p,
	.messageArea02 .naviBtn p,
	.messageArea03 .naviBtn p {
		margin-right:20px;
	}
	
  a[href^="tel:"]{
    pointer-events: auto;
  }
/*****************************************************/
/* カスタマイズ　ここまで */
}
/* @media */
/* Sサイズ用 */
@media screen and (min-width: 480px) and (max-width: 767px) {
  /* 全般
  ---------------------------------------------------------- */
  .SsizeOnly,
  .MsizeAndLess,
  .SsizeAndLess {
    display: block;
  }

  .LsizeOnly,
  .MsizeOnly,
  .SSsizeOnly,
  .MsizeAndMore {
    display: none;
  }

  .taC_SsizeOnly,
  .taC_SsizeAndMore,
  .taC_MsizeAndLess,
  .taC_SsizeAndLess {
    text-align: center;
  }

  .taL_SsizeOnly,
  .taL_SsizeAndMore,
  .taL_MsizeAndLess,
  .taL_SsizeAndLess {
    text-align: left;
  }

  .taR_SsizeOnly,
  .taR_SsizeAndMore,
  .taR_MsizeAndLess,
  .taR_SsizeAndLess {
    text-align: right;
  }
  
  /* カスタマイズ　ここから
  ---------------------------------------------------------- */
  /* Sサイズ用(min-width: 480px) and (max-width: 767px)追加スタイル */
  #contents #sideBar > a{
    width: 47%;
    margin: 5% 1% 0;
  }
}
/* @media */
/* SSサイズ用 */
@media screen and (max-width: 479px) {
  /* header
  ---------------------------------------------------------- */
  /* ロゴが画像とテキストの場合 */
  /* ロゴがテキストの場合 */
  header #logo a > .logoTextPT01,
  header #logo a > .logoTextPT02 {
    font-size: 1rem;
  }


  /* contentsMenu　ページ内リンク
  ---------------------------------------------------------- */
  #contents .contentsMenu li {
    margin-bottom: 5px;
  }
  #contents .contentsMenu li a {
    padding-bottom: 5px;
    padding-top: 5px;
  }

  /* contents/column_cover/columnTable
  ---------------------------------------------------------- */
  #contents img:not(.noResize):not([src*="ico"]),
  #contents picture:not(.noResize):not([src*="ico"]) {
    width: 100%;
    height: auto;
  }

  #wrapper .columnTable.layoutPT01_ss {
    display: block;
  }
  #wrapper .columnTable.layoutPT01_ss div.column_center {
    padding-bottom: 3%;
  }
/*  #wrapper .column_cover.layoutPT01_s.column_2, */
  #wrapper .column_cover.layoutPT01_s.column_3,
/*  #wrapper .columnTable.layoutPT01_s.column_2, */
  #wrapper .columnTable.layoutPT01_s.column_3,
  #wrapper .columnTable.layoutPT01_s.column_4 {
    width: 100% !important;
  }
/*  #wrapper .column_cover.layoutPT01_ss.column_2, */
  #wrapper .column_cover.layoutPT01_ss.column_3,
/*  #wrapper .columnTable.layoutPT01_ss.column_2, */
  #wrapper .columnTable.layoutPT01_ss.column_3,
  #wrapper .columnTable.layoutPT01_ss.column_4 {
    width: 100% !important;
  }
/*  #wrapper .column_cover.layoutPT01_ss.column_2 > *, */
  #wrapper .column_cover.layoutPT01_ss.column_3 > *,
/*  #wrapper .columnTable.layoutPT01_ss.column_2 > *, */
  #wrapper .columnTable.layoutPT01_ss.column_3 > *,
  #wrapper .columnTable.layoutPT01_ss.column_4 > *,
  #wrapper .columnTable.layoutPT01_ss div.column_center {
    display: block;
    padding-right: 0;
    width: 100% !important;
  }
  #wrapper .layoutPT01_ss .flL,
  #wrapper .layoutPT01_ss .flR {
    float: none !important;
    margin: 0 auto 20px !important;
    width: 100% !important;
  }

  /* footer
  ---------------------------------------------------------- */
  footer #footerInfo #footerLogo a > .logoTextPT01,
  footer #footerInfo #footerLogo a > .logoTextPT02 {
    font-size: 1rem;
  }

  /* 全般
  ---------------------------------------------------------- */
  .SSsizeOnly,
  .MsizeAndLess,
  .SsizeAndLess {
    display: block;
  }

  .LsizeOnly,
  .MsizeOnly,
  .SsizeOnly,
  .MsizeAndMore,
  .SsizeAndMore {
    display: none;
  }

  .taC_SSsizeOnly,
  .taC_MsizeAndLess,
  .taC_SsizeAndLess {
    text-align: center;
  }

  .taL_SSsizeOnly,
  .taL_MsizeAndLess,
  .taL_SsizeAndLess {
    text-align: left;
  }

  .taR_SSsizeOnly,
  .taR_MsizeAndLess,
  .taR_SsizeAndLess {
    text-align: right;
  }

  /* localNavi */
  #contents #localNavi {
    font-size: 1em;
  }

  /* menuBox
  ---------------------------------------------------------- */
  #wrapper #container .menuBox01 {
    display: block;
    margin: 0;
    width: 100%;
  }
  #wrapper #container .menuBox01 a {
    margin: 0;
    overflow: hidden;
  }
  #wrapper #container .menuBox01 a,
  #wrapper #container .menuBox01 .column_center {
    display: block;
    padding-right: 0 !important;
    width: 100% !important;
  }
  #wrapper #container .menuBox01 .column_center {
    padding-bottom: 0;
  }
  #wrapper #container .menuBox01 img {
    float: left;
    width: 35%;
  }
  #wrapper #container .menuBox01 img + .text {
    float: right;
    padding-top: 0;
    width: 60%;
  }
  #wrapper #container .menuBox01 .text .title {
    padding-top: 0;
  }

  /* List
  ---------------------------------------------------------- */
  #wrapper .list02.layoutPT01_ss li {
    border-bottom: 1px solid #dddddd;
    margin-bottom: 5px;
  }

  /* カスタマイズ　ここから
  ---------------------------------------------------------- */
  /* Sサイズ用(min-width: 479px)追加スタイル */

  body#top #contents{
/*    margin-top: 20px;*/
  }
  .bx-wrapper .bx-pager {
    bottom: 20% !important;
  }
  #contents #sideBar > a{
    width: 47%;
    margin: 5% 1% 0;
  }
}
/* SSSサイズ用 */
/* SSSサイズ用(min-width: 399px)追加スタイル */
@media screen and (max-width: 413px) {
	  #headerContents #headerMenu ul {
	    font-size:100%;
	   }

}
/* @media */
  /*****************************************************/
  /* カスタマイズ　ここまで */
