@charset "utf-8";
/* ----------------------------------------------------
* main style
* -------------------------------------------------- */
main {
  margin: 0 auto 15px;
}
/* ----------------------------------------------------
* h2 style
* -------------------------------------------------- */
main h2 {
  position: relative;
  z-index: 2;
  margin: 0 auto 40px;
  padding: 0 5% 8px;
  width: 90%;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.3;
  font-weight: bold;
  text-align: left;
  box-sizing: border-box;
}
main h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 14%;
  height: 4px;
  background: url(../img/line_01.png) no-repeat left top;
}
main h2::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 4px;
  background: url(../img/line_02.png) repeat left top;
}

/* tablet */
@media screen and (max-width: 59.9375em) {
main h2 {
  margin: 0 auto 30px;
  width: 100%;
}
}

/* SP */
@media screen and (max-width: 37.5em) {
main h2 {
  margin: 0 auto 25px;
  padding: 0 5% 8px;
  font-size: 24px;
  font-size: 1.5rem;
}
}
/* ----------------------------------------------------
* breadcrumbs style
* -------------------------------------------------- */
#breadcrumbs {
  position: relative;
  z-index: 555;
  margin-bottom: 40px;
  border-top: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc;
  box-shadow: 0 0 5px 0 rgba( 0, 0, 0, .15);
}
#breadcrumbs ol {
  margin-left: -10px;
  padding: 12px 0;
  min-height: 1px;
  text-align: left;
  font-size: 13px;
  font-size: .8125rem;
  line-height: 1.3;
}
#breadcrumbs ol:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
#breadcrumbs ol li {
  position: relative;
  float: left;
  padding: 0 10px;
}
#breadcrumbs ol li a {
  display: block;
  padding: 7px 10px;
  color: #808080;
}
#breadcrumbs ol li::before {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  content: "";
  margin-top: -3px;
  margin-left: -.275em;
  width: .35em;
  height: .35em;
  border-top: 1px solid #666666;
  border-right: 1px solid #666666;
  transform: rotate(45deg);
}
#breadcrumbs ol li:last-child::before {
  margin-left: 0;
  border: 0;
}
#breadcrumbs ol li h1 {
  display: block;
  padding: 7px 0 7px 10px;
}

@media screen and (min-width: 60em) {
#breadcrumbs ol li a:hover {
  color: #6699ff;
  text-decoration: underline;
}
}

/* tablet */
@media screen and (max-width: 59.9375em) {
#breadcrumbs {
  margin-bottom: 20px;
}
#breadcrumbs ol {
  padding: 5px 0;
}
#breadcrumbs ol li {
  padding: 0 10px;
}
}

/* SP */
@media screen and (max-width: 37.5em) {
#breadcrumbs {
  border-top: solid 1px #ffffff;
}
#breadcrumbs ol {
  margin-left: -3%;
  font-size: 11px;
  font-size: .6875rem;
}
#breadcrumbs ol li {
  padding: 0 5px;
}
}

/* ----------------------------------------------------
* Contents article style
* -------------------------------------------------- */
main article {
  margin: 0 auto;
  padding: 25px 1.5% 30px;
  width: 88%;
  box-sizing: border-box;
}
main p {
  padding-left: 2.5%;
  padding-right: 2.5%;
  font-size: 15px;
  font-size: .9375rem;
  line-height: 1.7;
}

/* tablet */
@media screen and (max-width: 59.9375em) {
main article {
  padding: 15px 3% 30px;
  width: 100%;
}
}

/* SP */
@media screen and (max-width: 37.5em) {
main article {
  padding: 0 0 30px;
}
main p {
  padding-left: 5%;
  padding-right: 5%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}
}

/* ----------------------------------------------------
* inPageList style
* -------------------------------------------------- */
main .inPageList{
  margin:  -20px auto 40px;
  display: table;
  width: 100%;
  table-layout: fixed;
  font-size: 15px;
  font-size: .9375rem;
  line-height: 1.3;
}
main .inPageList li{
  display: table-cell;
  padding: 0 1.5%;
  box-sizing: border-box;
  text-align: center;
  vertical-align: bottom;
}
main .inPageList a {
  display: block;
  padding: 5px;
  border-bottom: dotted 1px #bfbfbf;
  color: #231815;
  box-sizing: border-box;
}
main .inPageList a:link, .inPageList a:visited {
  color: #231815;
}
@media screen and (min-width: 60em) {
main .inPageList a:hover {
  text-decoration: none;
  opacity: .75;
  filter: alpha(opacity=75);
}
}

/* tablet*/
@media (max-width: 59.9375em) {
main .inPageList{
  margin:  -10px auto 40px;
  font-size: 14px;
  font-size: .875rem;
}
}

@media (max-width: 37.5em) {
main .inPageList{
  margin:  0 auto 25px;
  font-size: 11px;
  font-size: .6875rem;
}
main .inPageList li{
  padding: 0 2%;
}
}

/* ----------------------------------------------------
* newsContents style
* -------------------------------------------------- */
#newsContents article h3 {
  padding: 0 2.5% 15px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.7;
}
#newsContents article {
  position: relative;
}
#newsContents article p {
  padding: 0 2.5% 15px;
}
#newsContents article + article {
  padding-top: 30px;
}
#newsContents article + article::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  border-bottom: dotted 1px #bfbfbf;
}
#newsContents article p a {
  color: #ff6000;
}

/* SP */
@media screen and (max-width: 37.5em) {
#newsContents article h3 {
  padding: 0 5% 10px;
  line-height: 1.8;
}
#newsContents article p {
  padding: 0 5% 15px;
}
}
/* ----------------------------------------------------
* serviceContents style
* -------------------------------------------------- */
main #serviceContents h2 span {
  padding-left: 16px;
  font-size: 14px;
  font-size: .875rem;
  color: rgba( 35, 24, 21, .75);
}
main #serviceContents h3 {
  clear: both;
  position: relative;
  margin: 0 0 20px;
  padding: 10px 2.5%;
  background: rgba( 35, 24, 21, .75);
  border-radius: 3px;
  border-radius: .1875rem;
  font-size: 20px;
  font-size: 1.25rem;
  color: #ffffff;
  line-height: 1.3;
}
main #serviceContents h4 {
  margin: 0 0 20px;
  padding: 0 2.5% 10px;
  border-bottom: dotted 1px #bfbfbf;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: bold;
}
main #serviceContents p {
  margin-bottom: 30px;
  font-size: 15px;
  font-size: .9375rem;
  line-height: 1.7;
}
main #serviceContents p a {
  color: #ff6000;
}

/* tablet*/
@media screen and (max-width: 59.9375em) {
main #serviceContents h2 span {
  padding-left: 0;
  display: block;
}
}
/* ----------------------------------------------------
* partnerContents style
* -------------------------------------------------- */
#partnerContents article h3 {
  margin: 0 0 20px;
  padding: 0 2.5% 10px;
  border-bottom: dotted 1px #bfbfbf;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: bold;
}
#partnerContents article p {
  margin-bottom: 15px;
  padding-left: 2.5%;
  padding-right: 2.5%;
  font-size: 15px;
  font-size: .9375rem;
  line-height: 1.7;
}
#partnerContents article p a {
  color: #ff6000;
}

/* SP */
@media screen and (max-width: 37.5em) {
#partnerContents article h3 {
  margin: 0 0 15px;
  padding: 0 5% 10px;
  font-size: 17px;
  font-size: 1.0625rem;
}
#partnerContents article p {
  padding-left: 5%;
  padding-right: 5%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}
}
/* ----------------------------------------------------
* companyContents style
* -------------------------------------------------- */
#companyContents article dt {
  clear: both;
  position: relative;
  margin: 0 0 20px;
  padding: 10px 2.5%;
  background: rgba( 35, 24, 21, .75);
  border-radius: 3px;
  border-radius: .1875rem;
  font-size: 20px;
  font-size: 1.25rem;
  color: #ffffff;
  line-height: 1.3;
}
#companyContents article dd {
  margin-bottom: 30px;
  padding-left: 2.5%;
  padding-right: 2.5%;
  font-size: 15px;
  font-size: .9375rem;
  line-height: 1.7;
}
#companyContents article .officeLeft {
  float: left;
  width: 44%;
}
#companyContents article .officeRight {
  float: right;
  width: 46%;
}
#companyContents article .officeLeft p {
  padding-left: 0;
  padding-right: 0;
}
#companyContents article dd p + p {
  margin-top: 10px;
  padding-top: 10px;
  border-top: dotted 1px #bfbfbf;
}
#companyContents article figure {
  display: block;
  margin-bottom: 30px;
  height: 200px;
}
#companyContents article figcaption {
  margin: 5px 0;
  text-align: right;
}
#companyContents article figcaption a {
  position: relative;
  display: inline-block;
  padding-right: 1em;
  padding-right: 1rem;
}
#companyContents article figcaption a::after {
  position: absolute;
  top: 26%;
  right: .5em;
  right: .5rem;
  display: block;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #ff6000;
  border-right: 1px solid #ff6000;
  transform: rotate(45deg);
}
#companyContents article figcaption a:link, #companyContents article figcaption a:visited {
  color: #ff6000;
}

@media screen and (min-width: 60em) {
#companyContents article figcaption a:hover {
  color: #ff6000;
  text-decoration: underline;
}
}

/* SP */
@media screen and (max-width: 37.5em) {
#companyContents article dt {
  padding: 5px 5%;
  font-size: 18px;
  font-size: 1.125rem;
}
#companyContents article dd {
  padding-left: 5%;
  padding-right: 5%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}
#companyContents article .officeLeft {
  float: none;
  width: auto;
}
#companyContents article .officeRight {
  float: none;
  margin: 0 auto 30px;
  padding-bottom: 1px;
  width: 90%;
}
#companyContents article dd p {
  padding: 0;
  font-size: 15px;
  font-size: .9375rem;
}
}
/* ----------------------------------------------------
* privacyContents style
* -------------------------------------------------- */
#privacyContents article h3 {
  margin: 0 0 20px;
  padding: 0 2.5% 10px;
  border-bottom: dotted 1px #bfbfbf;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.3;
}
#privacyContents article p {
  margin-bottom: 15px;
  padding-left: 2.5%;
  padding-right: 2.5%;
  font-size: 15px;
  font-size: .9375rem;
  line-height: 1.7;
}
#privacyContents article ul {
  margin-bottom: 15px;
  padding-left: 2.5%;
  padding-right: 2.5%;
}
#privacyContents article ul li {
  margin-bottom: 15px;
  font-size: 15px;
  font-size: .9375rem;
  line-height: 1.7;
  margin-left: 1em;
  text-indent: -1em;
}
#privacyContents article ul li::before {
  content: "＊ ";
  color: #e7141a;
}
#privacyContents article p a {
  color: #ff6000;
}

/* SP */
@media screen and (max-width: 37.5em) {
#privacyContents article h3 {
  margin: 0 0 15px;
  padding: 0 5% 10px;
  font-size: 17px;
  font-size: 1.0625rem;
}
#privacyContents article p {
  padding-left: 5%;
  padding-right: 5%;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}
#privacyContents article ul {
  padding-left: 5%;
  padding-right: 5%;
}
#privacyContents article ul li {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}
}
/* ----------------------------------------------------
* siteMap style
* -------------------------------------------------- */
#siteMap article ul {
  float: left;
  margin-bottom: 15px;
  padding-left: 2.5%;
  padding-right: 2.5%;
  width: 40%;
  box-sizing: border-box;
}
#siteMap article ul li {
  margin-bottom: 5px;
  width: 80%;
  font-size: 15px;
  font-size: .9375rem;
  line-height: 1.7;
  margin-left: 1em;
  text-indent: -1em;
}
#siteMap article ul li ul {
  float: none;
  width: 80%;
}
#siteMap article ul li h3::before {
  content: "＊ ";
  color: #e7141a;
}
#siteMap article ul li h4::before {
  content: "┣ ";
}
#siteMap article ul li h4:last-child::before {
  content: "┗ ";
}

/* SP */
@media screen and (max-width: 37.5em) {
#siteMap article ul, #siteMap article ul li ul {
  float: none;
  width: 100%;
}
#siteMap article ul li {
  padding: 0 5% 0 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}
}
/* ----------------------------------------------------
* footNav style
* -------------------------------------------------- */
.footNav {
  width: 100%;
  padding-bottom: 11px;
  border-top: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc;
  box-shadow: 0 0 5px 0 rgba( 0, 0, 0, .15);
  color: #ff6000;
}
.footNav ul {
  margin: 0 auto;
  display: table;
  table-layout: fixed;
  padding: 4px 10px;
  width: 1000px;
  width: 62.5rem;
  font-size: 13px;
  font-size: .8125rem;
  line-height: 1.3;
  box-sizing: border-box;
}
.footNav ul:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.footNav ul li {
  display: table-cell;
  padding: 13px 0 0;
  width: 50%;
  vertical-align: top;
}
.footNav a {
  position: relative;
  display: inline-block;
  padding: 0 1em;
}
.footNav ul li a::after {
  position: absolute;
  top: .3em;
  display: block;
  content: "";
  width: 6px;
  height: 6px;
}
.footNav ul li.right a::after {
  right: 1px;
  border-top: 1px solid #2a201d;
  border-right: 1px solid #2a201d;
  border-radius: 1px;
  transform: rotate(45deg);
}
.footNav ul li.left a::after {
  left: 1px;
  border-top: 1px solid #2a201d;
  border-left: 1px solid #2a201d;
  border-radius: 1px;
  transform: rotate(-45deg);
}
.footNav a:link, .footNav a:visited {
  color: #2a201d;
}

@media screen and (min-width: 60em) {
.footNav a:hover {
  color: #6699ff;
  text-decoration: underline;
}
.footNav ul li a:hover::after {
  border-color: #6699ff;
}
}

/* tablet */
@media screen and (max-width: 59.9375em) {
.footNav {
  padding-bottom: 6px;
}
.footNav ul {
  padding: 0 10px;
  width: 94%;
}
.footNav ul li {
  padding: 12px 0 6px;
}
.footNav a {
  padding: 0 1em;
}
}

/* SP */
@media screen and (max-width: 37.5em) {
.footNav {
  padding-bottom: 6px;
}
.footNav ul {
  padding: 0 5%;
  width: 100%;
}
.footNav ul li {
  padding: 11px 0 5px;
  font-size: 11px;
  font-size: .6875rem;
}
.footNav a {
  padding: 0 1em;
}
.footNav a span{
  display: none;
}
}
/* ----------------------------------------------------
* aside style
* -------------------------------------------------- */
#aside {
  margin: 0 auto;
}
#information {
  display: table;
  table-layout: fixed;
  margin: 0 auto;
  width: 85%;
  text-align: center;
  box-sizing: border-box;
}
#information li {
  padding-bottom: 30px;
  display: table-cell;
  padding-left: 2.5%;
  padding-right: 2.5%;
  vertical-align: top;
}
#information li a {
  display: block;
  margin: 15px 1% 20px;
  padding: 10px 0 0;
}
#information li a:link, #information li a:visited {
  text-decoration: none;
  color: inherit;
}

@media screen and (min-width: 60em) {
#information li a:hover {
  color: inherit;
  text-decoration: none;
  opacity: .75;
  filter: alpha(opacity=75);
}
}
#information li p:first-child {
  margin-bottom: 5px;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.3;
  font-weight: bold;
  text-shadow: 0 0 5px #ffffff;
}
#information li p.tile:nth-child(2) {
  margin-bottom: 10px;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.3;
  font-weight: bold;
  color: #e7161a;
  text-shadow: 0 0 5px #ffffff;
}
#information li p:last-child {
  position: relative;
  margin: 0 auto;
  padding-top: 125px;
  min-height: 3.5625em;
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.7;
  text-align: left;
  font-weight: bold;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #ffffff, 0 0 30px #ffffff, 0 0 40px #ffffff;
}

@media screen and (min-width: 37.5625em) {
#information li p:last-child:after {
  position: absolute;
  top: 0;
  left: 50%;
  content: "";
  margin: 0 0 0 -54px;
  width: 108px;
  height: 108px;
  border-radius: 50%;
}
#information li:first-child p:last-child:after {
  background: url(../img/bg_info_01.png) no-repeat center top #2a201d;
  background-size: 100% auto;
}
#information li:nth-child(2) p:last-child:after {
  background: url(../img/bg_info_02.png) no-repeat center top #2a201d;
  background-size: 100% auto;
}
#information li:last-child p:last-child:after {
  background: url(../img/bg_info_03.png) no-repeat center top #2a201d;
  background-size: 100% auto;
}
}

/* tablet */
@media screen and (max-width: 59.9375em) {
#information {
  display: table;
  table-layout: fixed;
  margin: 0 auto;
  width: 96%;
  text-align: center;
  box-sizing: border-box;
}
#information li {
  padding-bottom: 10px;
}
#information li p:first-child {
  font-size: 24px;
  font-size: 1.5rem;
}
#information li p.tile:nth-child(2) {
  font-size: 13px;
  font-size: .8125rem;
}
#information li p:last-child {
  padding-top: 6em;
  font-size: 14px;
  font-size: .875rem;
  font-weight: normal;
}
#information li p:last-child:after {
  top: 0;
  left: 50%;
  margin: 0 0 0 -2.6em;
  width: 5.2em;
  height: 5.2em;
}
}

/* SP */
@media screen and (max-width: 37.5em) {
#information {
  display: block;
  margin-bottom: 30px;
  width: 100%;
}
#information li {
  position: relative;
  display: block;
  padding: 0;
  width: 100%;
  text-align: left;
  vertical-align: middle;
  border-bottom: dotted 1px #bfbfbf;
}
#information li:nth-child(2) {
  padding: 0;
}
#information li a {
  position: relative;
  margin: 0;
  padding: 10px 5% 10px 3.5em;
  min-height: 3em;
}
#information li a:before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  margin-top: -1.5em;
  width: 3em;
  height: 3em;
  border-radius: 50%;
}
#information li:first-child a:before {
  background: url(../img/bg_info_01.png) no-repeat center top #2a201d;
  background-size: 100% auto;
}
#information li:nth-child(2) a:before {
  background: url(../img/bg_info_02.png) no-repeat center top #2a201d;
  background-size: 100% auto;
}
#information li:last-child a:before {
  background: url(../img/bg_info_03.png) no-repeat center top #2a201d;
  background-size: 100% auto;
}
#information li a::after {
  position: absolute;
  top: 50%;
  right: 2.5%;
  display: block;
  content: "";
  margin: -.25em 0 0 -.25em;
  width: 6px;
  height: 6px;
  border-top: 2px solid #2a201d;
  border-right: 2px solid #2a201d;
  border-radius: 1px;
  transform: rotate(45deg);
}
#information li p:first-child {
  margin: 0;
  padding-top: 5px;
  font-size: 20px;
  font-size: 1.25rem;
}
#information li p.tile:nth-child(2) {
  margin: 0;
  font-size: 12px;
  font-size: .75rem;
}
#information li p:last-child {
  display: none;
}
}
/* ----------------------------------------------------
* aside banner style
* -------------------------------------------------- */
aside #banner {
  margin: 0 auto 50px;
  width: 90%;
}
aside #banner p:first-child {
  margin-bottom: 17px;
}
aside #banner .recom {
  float: left;
}
aside #banner p:nth-child(2), aside #banner p:nth-child(3), aside #banner p:nth-child(4) {
  width: 32%;
}
aside #banner p:nth-child(2), aside #banner p:nth-child(3) {
  margin-right: 2%;
}
aside #banner p img {
  width: 100%;
  max-width: 900px;
  height: auto;
}

/* tablet */
@media screen and (max-width: 59.9375em) {
aside #banner {
  margin: 0 auto 30px;
}
}


.downloadPro{ background:red; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; color: #ffffff !important; padding: 3px 20px; text-decoration: none !important; margin: 15px 0; display: inline-block; }
