@charset "utf-8";
/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}

* {
margin: 0;
padding: 0;
-webkit-margin-before: 0px;
-webkit-margin-after: 0px;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
-webkit-padding-before: 0px;
-webkit-padding-after: 0px;
-webkit-padding-start: 0px;
-webkit-padding-end: 0px;
}

/* HTML5 display-role reset for older browsers 
*/
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
a {
  text-decoration: none;
}
img {
  vertical-align: bottom;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

/*-------------------------
common
-------------------------*/
body{
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
  color: #000;
  font-size: 62.5%;
  line-height: 1.0;
}
.spview{
  display: none;
}

@media screen and (max-width: 768px){
  .spview{
    display: block;
  }
  .pcview{
    display: none;
  }
}

/*-------------------------
共通パーツ
-------------------------*/
.block{
  max-width: 1000px;
  margin: 0 auto;
}
.section-title{
  margin-bottom: 1.667em;
  color: #fb4745;
  font-size: 3em;
  font-weight: bold;
  text-align: center;
}
.title{
  margin-bottom: 1.5em;
  padding-bottom: 1em;
  border-bottom: solid 1px #000;
  font-size: 2em;
  font-weight: bold;
}

/*-------------------------
ヘッダー
-------------------------*/
#header{
  background: url("../images/bg-header-gradient.png") repeat-x;
}
.header-block{
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1100px;
  padding: 5em 2em;
}
.header-img{
  max-width: 520px;
  width: 44.8%;
  padding: 1.250em;
  background: #fff;
}
.header-img img{
  width: 100%;
}
.header-item{
  max-width: 513px;
  width: 44.2%;
}
h1{
  margin-bottom: 5em;
  padding-left: 0.3em;
}
.header-logo{
  margin-bottom: 5em;
  padding-left: 0.3em;
}
.header-btn{
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  margin-right: -1.3em;
}
.header-btn li{
  flex: 0 0 50%;
  max-width: calc(50% - 1.3em);
  border: solid 2px #fff;
  border-radius: 6px;
  box-sizing: border-box;
  text-align: center;
}
.header-btn li:first-child{
  margin-right: 1.3em;
}
.header-btn li span{
  display: block;
  margin-top: 0.5em;
  font-size: 0.833em;
}
.header-btn li a{
  display: block;
  padding: 0.7em 0;
  color: #fff;
  font-size: 1.8em;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  transition: 0.5s;
}
@media all and (-ms-high-contrast: none) {
  .header-btn li a {
    padding: 0.7em 0 0.5em;
  }
}
.header-btn li a:hover{
  opacity: 0.6;
  transition: 0.5s;
}
.header-btn-active{
  background: #fb3331;
}
.header-btn-active span{
  color: #fff8cf;
}
.header-btn-close{
  background: #afafaf;
  pointer-events:none;
}

@media screen and (max-width: 1100px){
  #header{
    background-size: contain;
  }
  .header-block{
    box-sizing: border-box;
  }
  h1 img{
    width: 100%;
  }
}

@media screen and (max-width: 768px){
  #header{
  background: url("../images/bg-header-gradient.png") repeat-x;
  background-size: contain;
  }
  .header-block{
    flex-direction: column-reverse;
    padding: 5em 8em;
  }
  .header-img{
    max-width: none;
    width: 80%;
    margin-bottom: 3em;
  }
  .header-item{
    max-width: none;
    width: 100%;
  }
  h1{
    margin-bottom: 2.5em;
    padding-left: 0;
  }
  .header-logo{
    width: 40.4%;
    margin: 0 auto 2.25em;
  }
  .header-logo img{
    width: 100%;
  }
  .header-btn{
    display: block;
    margin-right: 0;
  }
  .header-btn li{
    width: 100%;
    max-width: none;
  }
  .header-btn li:first-child{
    margin: 0 0 1.5em 0;
  }
}

@media screen and (max-width: 600px){
  .header-block{
    padding: 3em 2em;
  }
}


/*-------------------------
ナビゲーション
-------------------------*/
.navigation{
  margin: 0 auto;
  background: #fff;
  z-index: 9999;
}
.navigation > .block{
  width: 1000px;
  text-align: center;
}
.navigation.fixed-navigation{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  animation: slidedown 0.2s ease 0s 1;
}
@keyframes slidedown {
  0% {
    top: -72px;
  }
  100% {
    top: 0;
  }
}
.navigation > ul {
  display: table;
}
.navigation > ul > li {
  display: table-cell;
  font-size: 1.8em;
  font-weight: bold;
  text-align: center;
}
.navigation > ul > li a {
  display: block;
  padding: 1.5em 1em;
  color: #222;
  transition:.5s;
}
.navigation > ul > li a:hover {
  background: #efefef;
  transition:.5s;
}
.navigation > ul > li.close a{
  color: #ccc;
  pointer-events: none;
}

@media screen and (max-width: 1100px){
  .navigation{
    overflow: hidden;
    overflow-y: hidden;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
}

/*-------------------------
本文
-------------------------*/
main {
  position: relative;
  display: block;
  overflow: hidden;
}
main a img {
  transition: 0.2s;
}
main a img:hover {
  opacity: 0.5;
  transition: 0.2s;
}

/*-------------------------
説明文
-------------------------*/
#about{
  padding: 8em 2em;
  background: url(../images/bg-about.jpg) no-repeat center;
  background-size: cover;
}
#about > .block{
  padding: 8em 8em 7em;
  background: rgba(255,255,255,0.8);
  box-sizing: border-box;
  text-align: center;
}
#about > .block > p{
  margin-bottom: 1em;
  font-size: 1.6em;
  line-height: 2;
}
.about-catch{
  margin-bottom: 1.667em;
  font-size: 1.8em;
  font-weight: bold;
}
.about-section-title{
  margin-bottom: 1.316em;
  font-size: 3.8em;
  line-height: 1.3;
}
.about-section-title span{
  display: block;
  margin-bottom: 0.25em;
  font-size: 0.526em;
}

@media screen and (max-width: 768px){
  #about{
    padding: 5em 2em;
  }
  #about > .block{
    padding: 3em;
  }
  .about-section-title{
    margin-bottom: 0.5em;
  }
}

/*-------------------------
開催概要
-------------------------*/
#outline{
  padding: 8em 2em;
  background: #f8f8f8;
}
.outline-table{
  width: 100%;
  font-size: 1.5em;
  line-height: 1.625;
}
.outline-table tr{
  border-bottom: 1px solid #d6dade;
}
.outline-table tr:first-of-type{
  border-top: 1px solid #d6dade;
}
.outline-table th{
  width: 18%;
  padding: 1.333em 0.667em 1.333em 0;
  font-weight: bold;
  text-align: left;
  vertical-align: middle;
}
.outline-table td{
  width: 82%;
  padding: 1.333em 0.667em 1.333em 0;
}
.outline-table td span{
  display: inline-block;
}
.outline-table-map{
  display: inline-block;
}
.outline-table-map a{
  display: block;
  padding: 0.5em 1.5em;
  border: solid 1px #fb4745;
  border-radius: 13px;
  color: #fb4745;
  font-size: 0.8em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  transition: 0.5s;
}
@media all and (-ms-high-contrast: none) {
  .outline-table-map a {
    padding: 0.75em 1.5em 0.25em;
  }
}
.outline-table-map a:hover{
  background: #fb4745;
  color: #fff;
  transition: 0.5s;
}

@media screen and (max-width: 768px){
  #outline{
    padding: 5em 2em;
  }
  .outline-table-map{
    margin: 0.5em 0 0 0;
  }
}

/*-------------------------
展示ブース・特別企画
-------------------------*/
#news{
  padding: 6.5em 2em 5em;
}
/*ニュース*/
.news-title{
  margin-top: 2em;
}
.section-title + .news-title{
  margin-top: 0;
}
.news-newsList{
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  margin-right: -1.6em;
}
.news-newsList-item{
  flex: 0 0 25%;
  max-width: calc(25% - 1.6em);
  margin: 0 1.6em 1.6em 0;
  border: solid 1px #d6dade;
  border-radius: 6px;
  box-sizing: border-box;
}
.news-newsList-item a{
  display: block;
  height: 100%;
  color: #222;
  transition:.5s;
}
.news-newsList-item a:hover{
  opacity: 0.5;
  transition:.5s;
}
.news-newsList-image img{
  width: 100%;
}
.news-newsList-textbox{
  padding: 0.875em 1.25em 1.75em;
}
.news-newsList-date{
  margin-bottom: 1em;
  color: #222;
  font-size: 1.3em;
}
.news-newsList-title{
  margin-bottom: 0.5em;
  color: #fb4745;
  font-size: 1.6em;
  font-weight: bold;
}
.news-newsList-text{
  font-size: 1.5em;
  line-height: 1.46;
}

/*出展社一覧*/
.news-exhibitors{
  margin-bottom: 1em;
}
.news-exhibitors-title{
  margin-bottom: 0.556em;
  font-size: 1.8em;
  font-weight: bold;
}
.exhibitors-search{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.875em;
}
.exhibitors-searchList{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  width: 100%;
  margin: 0 0.5em;
}
.exhibitors-searchList-item{
  margin: 0 1.25em 1.25em 0;
}
.exhibitors-searchList-item:last-child{
  margin: 0 0 1.25em 0;
}
.exhibitors-searchList-item a{
  display: block;
  padding: 0.833em 1.667em;
  border: solid 1px #d6dade;
  border-radius: 6px;
  color: #000;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  transition: 0.5s;
}
.exhibitors-searchList-item a:hover{
  background: #efefef;
  transition: 0.5s;
}
.exhibitors-searchList-item a span{
  font-size: 1.333em;
}
.exhibitors-searchList-item.close a{
  color: #ccc;
  pointer-events: none;
}
.news-exhibitorsList{
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  margin-right: -1.6em;
}
.news-exhibitorsList-item{
  position: relative;
  flex: 0 0 33.33333%;
  max-width: calc(33.33333% - 1.6em);
  margin: 0 1.6em 1.6em 0;
  padding: 0.875em 1.25em 6em;
  border: solid 1px #d6dade;
  border-radius: 6px;
  box-sizing: border-box;
}
/*.news-exhibitorsList-shoulder{
  display: flex;
  justify-content: space-between;
}*/
.news-exhibitorsList-booth{
  font-size: 1.3em;
  font-weight: bold;
}
.news-exhibitorsList-booth span{
  font-size: 1.538em;
}
.news-exhibitorsList-categoryList{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 0.625em;
}
.news-exhibitorsList-category{
  margin: 0 0 0.417em 0.417em;
  padding: 0.417em 0.833em;
  background: #fb4745;
  border-radius: 10px;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
}
@media all and (-ms-high-contrast: none) {
  .news-exhibitorsList-category{
    padding: 0.5em 1.25em 0.25em;
  }
}
.news-exhibitorsList-title{
  margin: 1.250em 0;
  color: #fb4745;
  font-size: 1.6em;
  font-weight: bold;
  font-weight: bold;
}
.exhibitors-overview-booth{
  font-size: 1.3em;
  font-weight: bold;
}
.exhibitors-overview-title{
  margin: 0.769em 0 0.5em;
  padding-top: 0.769em;
  border-top: solid 2px #222;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.57;
}
.exhibitors-overview-text{
  font-size: 1.4em;
  line-height: 1.57;
}
.exhibitors-overview-text + .exhibitors-overview-text{
  margin-top: 0.714em;
}
.exhibitors-overview-text small{
  font-size: 0.857em;
}
.exhibitors-overview-text a{
  position: relative;
  padding-left: 1.5em;
  color: #fb4745;
  text-decoration: underline;
}
.exhibitors-overview-text a::before{
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
  border-right: 1px solid #fb4745;
  border-bottom: 1px solid #fb4745;
  transform: rotate(-45deg);
}
.exhibitors-link{
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  padding: 0 2%;
  display: flex;
  justify-content: center;
}
.exhibitors-link-item:first-child{
  margin-right: 1.154em;
}
.exhibitors-link-item a{
  display: block;
  padding: 0.385em 1.154em;
  border: solid 1px #fb4745;
  border-radius: 13px;
  color: #fb4745;
  font-size: 1.3em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  transition: 0.5s;
}
@media all and (-ms-high-contrast: none) {
  .exhibitors-link-item a{
    padding: 0.6em 1.154em 0.2em;
  }
}
.exhibitors-link-item a:hover{
  background: #fb4745;
  color: #fff;
  transition: 0.5s;
}
.news-exhibitorsList-item-seminar .exhibitors-overview{
  padding-top: 1.7em;
}
.news-exhibitorsList-item-seminar .news-exhibitorsList-booth{
  padding-top: 0.4em;
}
.news-exhibitorsList-item-seminar .news-exhibitorsList-title{
  margin: 1.250em 0 0.938em;
}

/*特別企画*/
.news-special{
  margin-bottom: 2em;
  padding: 4em;
  background: #fef9f9;
  border: solid 1px #ffe1e1;
  border-radius: 10px;
  overflow: hidden;
}
.news-special-logo{
  float: right;
  width: 180px;
  margin-top: -15px;
}
.news-special-logo img{
  width: 100%;
}
.news-special-title{
  margin-bottom: 1em;
  color: #fb4745;
  font-size: 2em;
  font-weight: bold;
  line-height: 1.5;
}
.news-special-text{
  margin-bottom: 0.625em;
  font-size: 1.6em;
  line-height: 1.875;
}
.news-special-image{
  margin: 1.875em 0;
}
.news-special-imageList{
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25em;
}
.news-special-imageList.financialplanner{
  width: 90%;
  margin: 0 auto;
}
.news-special-imageList-item{
  margin-left: 1.875em;
}
.news-special-imageList-item:first-child{
  margin-left: 0;
}
.news-special-imageList-item img{
  width: 100%;
}
.news-special-imageList-item span{
  display: block;
  margin-top: 0.714em;
  font-size: 1.4em;
}
.news-special-imageList-caption{
  font-size: 1.2em;
}
.news-special-info{
  margin: 1.25em 0;
  padding: 0.625em;
  background: #fff8cf;
  border: solid 1px #000;
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}
.news-special-note-item{
  padding-left: 1.5em;
  color: #666;
  font-size: 1.5em;
  line-height: 1.5;
  text-indent: -1.5em;
}
@media all and (-ms-high-contrast: none) {
  .news-special-info{
    padding: 0.625em 0.625em 0.3em;
  }
}
.news-special-theme{
  margin: 1.667em 0 0.833em;
  color: #fb4745;
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1.3;
}
.news-special-themeList-item{
  margin-top: 0.714em;
  font-size: 1.4em;
  line-height: 1.5;
}
.news-special-program{
  width: 100%;
  height: 100%;
  margin-bottom: 20px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
}
.news-special-program th,
.news-special-program td{
  border-bottom: 1px dotted #d6dade;
}
.news-special-program th{
  width: 130px;
  height: 100%;
  padding: 0.714em 0;
}
.news-special-program th > div{
  display: table;
  width: 100%;
  height: 100%;
  background:#ffe1e1;
}
.news-special-program th > div > span{
  display: table-cell;
  vertical-align: middle;
  padding: 1.429em 0;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.5;
}
.news-special-program td{
  vertical-align: top;
  padding: 1.429em;
  overflow:hidden;
}
.news-special-program-title{
  margin-bottom: 0.625em;
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.5;
}
.news-special-program-text{
  margin-bottom: 0.714em;
  font-size: 1.4em;
  line-height: 1.5;
}
.news-special-program-lecturer{
  margin-bottom: 1.429em;
  font-size: 1.4em;
  line-height: 1.5;
}
.news-special-program-btn{
  margin-bottom: 0.357em;
}
.news-special-program-btn a{
  display: inline-block;
  padding: 0.714em 2.143em;
  background: #fb3331;
  border-radius: 4px;
  color: #fff;
  font-size: 1.4em;
  font-weight: bold;
  text-align: center;
  transition: 0.5s;
}
@media all and (-ms-high-contrast: none) {
  .news-special-program-btn a{
    padding: 0.714em 2.143em 0.3em;
  }
}
.news-special-program-btn a:hover{
  opacity: 0.5;
  transition: 0.5s;
}
.news-special-program-caption{
  font-size: 1.2em;
  line-height: 1.5;
}

@media screen and (max-width: 768px){
  #news{
    padding: 5em 2em;
  }
  .news-newsList-item{
    flex: 0 0 50%;
    max-width: calc(50% - 1.6em);
    margin: 1.6em 1.6em 0 0;
  }
  .news-newsList-item:nth-child(1),
  .news-newsList-item:nth-child(2){
    margin: 0 1.6em 0 0;
  }
  .exhibitors-searchList{
    justify-content: space-between;
    margin: 0;
  }
  .exhibitors-searchList-item{
    width: 18%;
    margin: 0 0 1.25em 0;
  }
  .exhibitors-searchList-item:first-child{
    width: 100%;
  }
  .exhibitors-searchList-item a{
    padding: 0.833em 1em;
  }
  .news-exhibitorsList-item{
    flex: 0 0 50%;
    max-width: calc(50% - 1.6em);
  }
  .news-special{
    padding: 3.125em 1.25em;
  }
  .news-exhibitorsList-item-seminar .news-exhibitorsList-title{
    margin: 1.25em 0 0.938em;
  }
}

@media screen and (max-width: 640px){
  .news-newsList{
    display: block;
    margin-right: 0;
  }
  .news-newsList-item{
    max-width: none;
    width: 100%;
    margin: 0 0 1.6em 0;
  }
  .news-newsList-item:nth-child(1),
  .news-newsList-item:nth-child(2){
    margin: 0 0 16px 0;
  }
  .news-exhibitorsList{
    display: block;
    margin-right: 0;
  }
  .news-special-imageList.financialplanner{
    width: 100%;
  }
  .news-exhibitorsList-item{
    max-width: none;
    width: 100%;
    margin: 0 0 1.6em 0;
  }
  .news-exhibitorsList-item-seminar .exhibitors-overview{
    padding-top: 0;
  }
  .news-special-logo{
    float: none;
    margin: 0 auto 3.125em;
  }
  .news-special-imageList{
    display: block;
  }
  .news-special-imageList-item{
    margin: 0 0 1.25em;
  }
  .news-special-program th{
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border-bottom: none;
    text-align: left;
  }
  .news-special-program th > div{
    display: block;
    width: auto;
  }
  .news-special-program th > div > span{
    padding: 0.714em;
  }
  .news-special-program th > div > span br{
    display: none;
  }
  .news-special-program td{
    display: block;
    padding: 0.625em 0 1.875em;
    border-bottom: none;
  }
  .news-special-program-btn{
    width: 70%;
    margin: 0 auto 0.714em;
  }
  .news-special-program-btn a{
    display: block;
  }
}

/*-------------------------
FAQ
-------------------------*/
#contact{
  padding: 6em 2em 4em;
  background: #f8f8f8;
}
.contact-block{
  max-width: none;
}
.contact-section-title{
  margin-bottom: 1em;
}

/*contactナビ*/
.contact-localNavi {
  display: flex;
  justify-content: center;
  padding-bottom: 2em;
  border-bottom: solid 2px #fff;
}
.contact-localNavi li{
  margin: 0 2em 2em 0;
}
.contact-localNavi li:last-child {
  margin-right: 0;
}
.contact-localNavi li a{
  display: block;
  min-width: 160px;
  padding: 0.714em 4.071em 0.714em 3.357em;
  background: #fff;
  border: solid 1px #fb4745;
  border-radius: 17px;
  color: #fb4745;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1;
  box-sizing: border-box;
  text-align: center;
  transition:.5s;
}
.contact-localNavi li span{
  position: relative;
}
.contact-localNavi li span::after{
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: -20px;
  margin-top: -6px;
  border-right: 1px solid #fb4745;
  border-bottom: 1px solid #fb4745;
  transform: rotate(45deg);
}
@media all and (-ms-high-contrast: none) {
  .contact-localNavi li a{
    padding: 0.714em 4.071em 0.5em 3.357em;
  }
  .contact-localNavi li span::after{
    margin-top: -8px;
  }
}
.contact-localNavi li a:hover {
  background: #fb4745;
  color: #fff;
  transition:.5s;
}
.contact-localNavi li a:hover span::after{
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

/*qaナビ*/
.qa-localNavi{
  display: flex;
  flex-wrap: wrap;
  margin-right: -4em;
}
.qa-localNavi li{
  flex: 0 0 50%;
  max-width: calc(50% - 4em);
  margin: 0 4em 3em 0;
  padding-bottom: 1em;
  border-bottom: solid 1px #fb4745;
  box-sizing: border-box;
}
.qa-localNavi li a{
  position: relative;
  display: block;
  padding-right: 1em;
  color: #000;
  font-size: 1.5em;
  font-weight: bold;
  transition:.5s;
}
.qa-localNavi li a:hover{
  transition:.5s;
}
.qa-localNavi li a::after{
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 4px;
  margin-top: -6px;
  border-right: 1px solid #fb4745;
  border-bottom: 1px solid #fb4745;
  transform: rotate(45deg);
}

/*qa*/
#qa{
  max-width: 800px;
  margin: 0 auto;
  padding: 2em 0 0;
}
.qa-local-title{
  margin-bottom: 1.250em;
  font-size: 2.4em;
  font-weight: bold;
  text-align: center;
}
.qa-block{
  margin-bottom: 3em;
  padding: 4em 5em 3em;
  background: #fff;
}
.qa-title{
  margin-bottom: 2em;
}
.faq-qaList-q,
.faq-qaList-a{
  position: relative;
  margin-bottom: 1em;
  padding-left: 1.5em;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.46;
}
.faq-qaList-a{
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: dashed 1px #c3c3c3;
  font-weight: normal;
}
.faq-qaList-a p{
  margin-bottom: 1em;
}
.faq-qaList-a p:last-child{
  margin-bottom: 0;
}
.faq-qaList-a p b{
  display: block;
  margin-bottom: 0.5em;
  font-weight: bold;
}
.faq-qaList-note{
  color: #666;
}
.faq-qaList-note-bold{
  color: #c00;
  font-weight: bold;
}
.faq-qaList-a > ul li,
.faq-qaList-a > ol li{
  margin-bottom: 1em;
  padding-left: 1em;
  text-indent: -1em;
}
.faq-qaList-a > ul li:last-child,
.faq-qaList-a > ol li:last-child{
  margin-bottom: 0;
}
.faq-qaList-q::before,
.faq-qaList-a::before{
  position: absolute;
  top: 0;
  left: 0;
  color: #fb4745;
  font-weight: bold;
}
.faq-qaList-q::before{
  content: 'Q';
}
.faq-qaList-a::before{
  content: 'A';
}
.faq-qaList-q a,
.faq-qaList-a a{
  color: #fb4745;
  text-decoration: underline;
}
.faq-qaList-image{
  max-width: 500px;
  margin: 1em auto 1.5em;
}
.faq-qaList-imagewide{
  max-width: 650px;
}
.faq-qaList-image img{
  width: 100%;
}

@media screen and (max-width: 768px){
  #contact{
    padding: 5em 2em 3em;
  }
  .contact-localNavi {
    margin: 16px 0 0;
    display: block;
    text-align: center;
  }
  .contact-localNavi li{
    display: inline-block;
  }
  .qa-localNavi{
    display: block;
    margin-right: 0;
  }
  .qa-localNavi li{
    width: 100%;
    max-width: none;
  }
  .qa-block{
    padding: 3em 3em 2em;
  }
}

@media screen and (max-width: 415px){
  .contact-localNavi li{
    margin: 0 0 2em 0;
  }
}

/*-------------------------
お問い合わせ
-------------------------*/
#inquiry{
  padding: 4em 2em 6em;
  background: #fff;
  border-bottom: solid 1px #000;
  text-align: center;
}
.inquiry-section-title{
  margin-bottom: 1em;
}
.inquiry-text{
  margin-bottom: 2em;
  font-size: 1.5em;
  line-height: 2;
}
.inquiry-btn.nolink{
  margin: 0 auto 4em;
  max-width: 300px;
  padding: 1.176em 0;
  background: #ccc;
  border-radius: 4px;
  font-size: 1.7em;
  font-weight: bold;
}
.inquiry-btn a{
  display: block;
  padding: 1.176em 0;
  background: #fb3331;
  border-radius: 4px;
  color: #fff;
  font-size: 1.7em;
  font-weight: bold;
  transition: 0.5s;
}
.inquiry-btn a:hover{
  opacity: 0.5;
  transition: 0.5s;
}
.inquiry-note{
  max-width: 800px;
  margin: 0 auto;
  color: #666;
  font-size: 1.3em;
  line-height: 1.6;
}
.inquiry-note:last-of-type{
  margin: 5em auto 0;
  text-align: left;
}

/*-------------------------
フッター
-------------------------*/
footer{
  padding: 4em 2em 6em;
  color: #222;
  text-align: center;
}
.footer-logo{
  width: 100px;
  margin: 0 auto 3em;
}
.footer-logo img{
  width: 100%;
}
.fotoer-text,
.fotoer-copyright{
  margin-bottom: 0.25em;
  font-size: 1.1em;
  line-height: 1.6;
}
.fotoer-text a{
  color: #222;
}
.fotoer-text a:hover{
  text-decoration: underline;
}

/*-------------------------
ページトップへ
-------------------------*/
#PageTop {
  position: fixed;
  bottom: 40px;
  right: 0;
  left: 0;
  z-index: 9999;
  display: none;
}
#PageTop.block{
  padding: 0;
}
#PageTop.bottom {
  position: absolute;
}
#PageTop a{
  position: absolute;
  bottom: 0;
  right: 0;
  width: 56px;
  height: 56px;
  z-index: 9999;
  transition: 0.2s;
}
#PageTop a:hover{
  opacity: 0.5;
  transition: 0.2s;
}
#PageTop a img{
  width: 56px;
}