@charset "utf-8";
/*@import url("./common/css/fontface.css");*/

/* Init
----------------------------------------------*/
* { margin:0px; padding:0px; box-sizing: border-box; background-repeat: no-repeat; }
html , body { height:100%; }
body:before {
  display: none;
  content: '';
  /* display: block; */
  width: 100%;
  height: 100%;
  position: fixed;
  top:0;
  left: 0;
  background-image: url(./common/img/grid32.png);
  z-index:10;
}
img { border:none; vertical-align:bottom; max-width:100%; height:auto; }
html>/**/body img { width /*\**/: inherit\9; } /*IE8のみ*/
#wrap { opacity:0; /*display: none;*/ width:100%; margin: auto; height:auto !important; height:100%; min-height:100%; /*overflow:hidden;*/ position:relative; padding: 16px; overflow-x: hidden; }
section:after { content: "."; display: block; height: 0; font-size:0;	clear: both; visibility:hidden; }
#wrap.view {
  /* opacity:1; */
  animation-name: fadein;
  animation-duration: 1.5s;
  animation-delay: 0.3s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.clear { clear:both; height:1px; overflow:hidden; float:none; width:auto; }
#msg { position: fixed; top:0; right:0; width: 55px; height: 55px; background-color:rgb(252, 218, 34); margin:0; display: none; }
.small { font-size: 85%; line-height: 1.95;}
.large { font-size: 161%; line-height: 62%; }

/* txt format
----------------------------------------------*/
body {
  font-size:14px !important; font-size:0.88em;
  line-height:2.29;
  font-family:mplus-2c-regular, /*"Yu Gothic", YuGothic, 'Lucida Grande','Segoe UI','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", Meiryo,*/'メイリオ',sans-serif;
  /*font-feature-settings: "palt" 1;*/ /*句点にまで効く*/
  font-feature-settings: "pwid" 1; /* プロポーショナル字形に置き換える（パーレンには効くが句読点と鉤括弧には効かない） */
  text-align: left;
  text-align: justify;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}
h1 {
  font-family: NotoSerifCJKjp-Light;
  font-size: 30px !important;
  font-size: 1.88em;
  line-height: 1.133;
  margin-bottom: 2.3em;
}
h2 {
  font-family: NotoSerifCJKjp-Medium;
  font-size: 40px !important;
  font-size: 1.6em;
  line-height: 1.308;
  margin-top: 0;
  margin-bottom: 2.15em;
}
p + h2 , table + h2 , ul + h2 , ol + h2 {
  margin-top: -0.15em;
}
h3 {
  font-family: NotoSerifCJKjp-Medium;
  font-size: 18px !important;
  font-size: 1.13em;
  line-height: 1.78;
  margin-top: 0em;
  margin-bottom: 1.78em;
}
section.main h3 {
  /* font-family: NotoSerifCJKjp-Medium; */
  font-family: NotoSansJP-Medium;
  color: #FFF;
  background-color: #009edd;
  padding: 13px 16px;
  font-size: 20px !important;
  font-size: 1.25em;
  line-height: 1.78;
  margin: 0em 0 1.78em 0;
}
h2 + h3 {
  margin-top: -1.78em;
}
h4 {
  font-size: 16px !important;
  font-size: 1.00em;
  line-height: 2.0;
  font-family: NotoSerifCJKjp-Medium;
  margin-top: 0em;
  margin-bottom: 0em;
}
section.main h4 {
  color:#009edd;
  font-size: 16px !important;
  font-size: 1.00em;
  line-height: 2.0;
  font-family: NotoSansJP-Medium;
  margin-top: 0em;
  margin-bottom: 0em;
}
p {
  margin-bottom: 4.57em;
}
p + p , table + p , ul + p , ol + p {
  margin-top: -2.29em;
}
p:last-child {
  margin-bottom: 0;
}

/* Table */
table {
  border-collapse:collapse;
  margin-bottom:4.57em;
  width:100%;
  border-top:1px solid #e7e7e7;
  border-left:1px solid #e7e7e7;
}
td , th {
  padding:12px 18px;
  border-right:1px solid #e7e7e7;
  border-bottom:1px solid #e7e7e7;
}
th {
  background-color:#F0F0F0;
  white-space:nowrap;
}
tr.moderate td , tr.moderate th , .moderate {
  background-color: #f5f5f5;
}
p + table , table + table , ul + table , ol + table {
  margin-top: -2.29em;
}
td p{
  margin-bottom: 2.29em;
}
td p + p, td p + ul + td p + ol {
  margin-top: 0em;
}

br.forSP { display: none; }

/* テーブルに横スクロールバーを表示 */
/* @media (max-width: 640px) {
    .tblScroll {
        overflow-x: scroll!important;
        margin-bottom: 2em;
    }
    .tblScroll table {
      margin-bottom: 0;
    }
    br.forSP {
      display: inline;
    }
} */
.tblScroll {
  overflow-x: scroll !important;
  margin-bottom: 2em;
}
.tblScroll table {
margin-bottom: 0;
width:auto;
min-width:100%;
}
.tblScroll table th {
  white-space: nowrap;
  padding:16px 8px;
  text-align:center;
  line-height:1;
  min-width:8em;
}
.tblScroll table td {
  white-space: nowrap;
  padding:16px 8px;
  text-align:center;
}
.tblScroll table td span {
  display:block;
}
br.forSP {
display: inline;
}

/* ul */
section ul , section ul li { list-style: none; }
section ul { margin-bottom: 4.38em; }
section ul li{
	list-style:none;
	padding:0 0 0 1.57em;
	background-image:url(common/img/list_mark.svg);
	background-repeat: no-repeat;
	background-position: 7px 14px;
}
section td ul {
  margin-bottom: 0;
}
/* child level list */
section ul li ul , section ul li ol {
  margin: 0 0 0 1.0em;
}
section ul li ol li {
  background-image: none;
  padding: 0;
}
/* adjacent selector */
p + ul , table + ul , ul + ul , ol + ul {
  margin-top: -2.29em;
}

/* ol */
section ol , section ol li { list-style: none; }
section ol {
  counter-reset:li; /* Initiate a counter */
  margin-bottom: 4.38em;
}
section ol li {
  position:relative; /* Create a positioning context */
  /*margin:0 0 2px 2.0em; /* Give each list item a left margin to make room for the numbers */
  margin-left: 1.57em;
  position: relative;
}
section ol li:before {
  content:counter(li); /* olカウンタをコンテンツとして扱う */
  counter-increment:li; /* コンテンツとしたカウンタをインクリメントする */
  /* Position and style the number */
  position:absolute;
  top: 0.7em;
  left:-1.57em;
  display: inline-block;
  width:1.2em;
  height: 1.2em;
  line-height:130%;
  padding:0px;
  border: 1px solid #333;
  text-align:center;
  font-size:85%;
  border-radius: 0.7em;
  text-indent: 0;
  font-family:NotoSansJP-Regular;
}
section td ol {
  margin-bottom: 0;
}
/* child level list */
section ol li ol , section ol li ul {
  margin: 0 0 0 1.0em;
}
section ol li ol li:before {
  border: none;
  font-size: 100%;
  top:0.5em;
  text-align: left;
  width: 1.4em;
  content:counter(li)'.';
  font-weight: bold;
}
section ol li ul li {
  background-image: none;
  list-style-type: lower-roman;
  margin-left:1.6em;
  padding-left: 0.5em;
}
section ol li ul li:before {
  display: none;
}
/* adjacent selector */
p + ol , table + ol , ul + ol , ol + ol {
  margin-top: -2.1em;
}

/* /txt format ---------------- */

/* enclose */
.enclose {
  background-color: #f5f5f5;
  padding: 24px;
  text-align: left;
}
.enclose h3 {
  background-color: #FFF;
  color:#009edd;
  margin-bottom: 0.6em;
}
.enclose p span.tel {
  display: inline-block;
  font-size: 180%;
  font-family: Akrobat-SemiBold;
}

/* Link */
a { /* \*/ overflow:hidden; /* */ } /* IE7で親要素がリンク付き画像より小さくなるときの表示欠けの原因に（未） */
a:link { color:#006BB4; }
a:visited { color:#006BB4; /*color:#909;*/ }
a:hover , a:active { color:#FF690D; }
article a:hover { color:#FF690D; }
/* a[href^="tel:"] { cursor: default; pointer-events: none; } */
/* Line */
hr { border-style:solid none none none; border-top-width:3px; border-top-color:#F5E6C1; height:1px; margin:1em 0px 1.5em 0px; clear:both; }

p.tel a  {
  cursor: default;
  pointer-events: none;
}
@media screen and (max-width: 640px) {
    p.tel a {
        pointer-events: auto;
    }
}

/*
  no Script
-------------------------------------------------*/
body noscript {
  display: block;
  text-align: center;
  width: 80%;
  height: 200px;
  border: 1px solid #CCC;
  vertical-align: middle;
  position: absolute;
  top:50%;
  left: 50%;
  margin-top: -100px;
  margin-left: -40%;
}
body noscript p {
  display: table-cell;
  width: 10000px;
  height: 200px;
  vertical-align: middle;
}

/*
  Loading
-------------------------------------------------*/
#loader-bg {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #FFF;
  z-index: 300;
}
#loader {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 264px;
	height: 166px;
	margin-top: -83px;
	margin-left: -132px;
	text-align: center;
	z-index: 310;
  font-size: 10px;
}
#loader p img {
  margin-left: -9px;
}


/* Pager
----------------------------------------------*/
#pager{
	text-align:center;
	margin-bottom:35px;
	clear:both;
}
a.page-numbers, #pager .current{
	background:#FBFBFB;
	border:solid 1px #262626;
	padding:5px 8px;
	margin:0 2px;
	color:#262626;
	text-decoration:none;
}
#pager .current{
	background:#262626;
	border:solid 1px #262626;
	color:#FFF;
}

/* Scroll Bar
----------------------------------------------*/
/*Scroll bar nav*/
::-webkit-scrollbar {
  width:13px;
}
::-webkit-scrollbar-track {
}
::-webkit-scrollbar-track-piece {
	background-color:#EBEBEB;
}
::-webkit-scrollbar-thumb {
  background-color:#CBCBCB;
  /* -webkit-border-radius:5px; */
  cursor:pointer;
}
::-webkit-scrollbar-thumb:hover{
  background-color:#FFC55D;
  cursor:pointer
}
::-webkit-scrollbar-thumb:active {
  background-color:#FFC55D;
  cursor:pointer
}
::-webkit-scrollbar-button:decrement ,
::-webkit-scrollbar-button:increment {
  display:none
}

/* Cols
----------------------------------------------- */
.colSpacer { height:10px; width:3%; float:left; }
.cols2 { width:48.5%; float:left; vertical-align:bottom; }
.cols3 { width:31.3%; float:left; }
.cols4 { width:22.6%; float:left; }
.cols5 { width:17.5%; float:left; }

.column2{
	-moz-column-count:2;
	-webkit-column-count:2;
	-moz-column-width:200px;
	-webkit-column-width:200px;
	-moz-column-gap:16px;
	-webkit-column-gap:16px;
}

/* Scroll in Effect
----------------------------------------------- */
/* .efctTgt {
  border:1px solid blue;
}
.efctTgt.is-show {
  border: 1px solid red;
} */
.efctTgt { // effect fade in fade up
  visibility: hidden;
  opacity: 0;
  /* margin-top: 20px; */
  transform: translateY(20px);
	/* アニメーション*/
	/* transition: 1000ms; *//* JSで左からの座標に応じて付与 */
}
/* .efctTgt p , .efctTgt p img {
  transition: 500ms;
} */
.is-show {
	visibility: visible;
	opacity: 1;
  /* margin-top: 0px; */
  transform: translateX(0px);
  /* アニメーション*/
	/* transition: 0ms; *//* JSで左からの座標に応じて付与 */
}

input.narrow {
  width: 4em!important;
}

/* to Pagetop
----------------------------------------------- */
footer .pagetop {
  background-color: rgba(0, 0, 0 , 0.5);
  width: 48px;
  height: 48px;
  position: fixed;
  right: 24px;
  bottom:24px;
  border: 3px solid #FFF;
  text-indent: -100%;
  overflow: hidden;
  background-image: url(common/img/icon_pagetop.svg);
  background-size: 50%;
  background-position: center;
  cursor: pointer;
}

@keyframes fadein {
  0% {
     opacity: 0;
  }
  100% {
     opacity: 1;
  }
}

@keyframes h1_stroke {
  0% {
    opacity: 0;
    fill: none;
    stroke-dashoffset: 1800;
    stroke-width:1;
  }
  30% {
    opacity: 10;
    fill: none;
    stroke-dashoffset: 1800;
    stroke-width:1;
  }
  80% {
    fill: rgba(255,255,255,0);
    stroke-width:1;
  }
  90% {
    opacity: 10;
    fill: rgba(255,255,255,1);
    stroke-width:1;
  }
  100% {
    opacity: 10;
    fill: rgba(255,255,255,1);
    stroke-width:0;
  }
}
