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

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
.container{
  max-width: 1170px;
  width: 100%;
  padding: 0 15px;
  margin: 0 auto;
}
*{
  box-sizing: border-box;
}
header{
  border-bottom: 5px solid #f50909;
  height: 100px;
  width: 100%;
  position: fixed;
  z-index: 500;
  background-color: white;
  display: flex;
}
header img{
  width: 100%;
}
.header-left{
  margin: 0 auto 0 0;
}
.header-logo{
  width: 120%;
  padding: 20px 0 0 0;
}
.header-logo:hover{
  opacity: 0.7;
}
.header-right{
  display: flex;
}
.header-call{
  width: 100%;
  padding: 7px 10px 5px 10px;
}
.header-call:hover{
  opacity: 0.7;
}
.contact{
  width: 45%;
  padding: 9px 0;
  display: none;
}
.contact:hover{
  opacity: 0.7;
}
.top-wrapper{
  background-image: url(../assets/img/townimg.png);
  background-size: cover;
  padding-top: 100px;
}
.pc{
  width: 100%;
}
.sp{
  display: none;
  width: 100%;
}
.contents-title{
  text-align:center;
  padding-top: 10px;
}
.contents-title img{
  width: 50%;
}
.heading{
  background: url(../assets/img/headingback.png) repeat;
  background-size: cover;
  color: #fff;
  font-size: 40px;
  font-family: "Noto Sans Japanese";
  font-weight: 900;
  text-align: center;
  line-height: 150%;
  padding:15px 0;
  margin-top: 0;
  text-shadow: 2px 2px 2px #000;
}
.example-wrapper{
  background-color: #fbfbef;
}
.examples{
  text-align: center;
  padding-top: 20px;
}
.example{
  margin-right: 20px;
  width: calc(33.33333% - 40px / 3);
  margin-bottom: 20px;
  float: left;
  padding: 5px 15px;
  height: auto;
}
.example:nth-of-type(3n){
  margin-right: 0;
}
.extitle img{
  width: 100%;
}
.expic{
  text-align: center;
  padding: 0px 0 18px 0;
}
.expic img{
  width: 100%;
}
.extext2{
  text-align: center;
  font-size: 21px;
  color: black;
}
.extext2 .price{
  font-size: 25px;
  color: #f50909;
}
.extext2 .taxprice{
  color: #f50909;
}
.clear{
  clear: left;
}
.exman{
  width: 100%;
}
.exmansp{
  display: none;
  text-align: center;
}
.exmansp img{
  width: 70%;
}
.banner-wrapper{
  background-color: #fbfbef;
}
.banner{
  text-align: center;
  padding: 40px 0 20px 0;
}
.banner img{
  width: 80%;
}
.bannersp{
  display: none;
  position:relative;
  text-align: center;
  padding: 30px 0 15px 0;
}
.bannersp img{
  width: 100%;
}
.callbtn{
  position: absolute;
  top: 68%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 80%;
}
.credit-wrapper{
  text-align: center;
  background-color: #fbfbef;
  padding-bottom: 30px;
}
.credit-wrapper img{
  width: 50%;
}
.credit-wrapper .container{
  border: 1px solid black;
  background-color: #e3f3fd;
}
.forte-wrapper{
  background-color: #fbfbef;
}
.fortes{
  text-align: center;
}
.forte{
  margin-right: 20px;
  width: calc(33.33333% - 40px / 3);
  margin-bottom: 20px;
  float: left;
  padding: 60px 15px;
  height: auto;
}
.forte:nth-of-type(3n){
  margin-right: 0;
}
.fortepic{
  text-align: center;
}
.fortepic img{
  width: 100%;
}
.fortetitle{
  text-align: center;
  font-size: 25px;
  padding: 20px 0 15px 0;
  color: #f50909;
  font-weight: 900;
}
.fortetxt{
  text-align: justify;
  font-size: 20px;
  padding: 0 10px;
}
.location-wrapper{
  background-color: #e3f3fd;
}
.location-map{
  text-align: center;
  padding: 60px 0 60px 0;
}
.location-map img{
  width: 80%;
  padding: 10px;
  border: 1px solid #000;
}
.flow-wrapper{
  background-color: #fbfbef;
}
.section{
  margin-right: 20px;
  width: calc(20% - 80px / 5);
  float: left;
  padding: 80px 15px;
  height: auto;
  position: relative;
}
.section:nth-of-type(5n){
  margin-right: 0;
}
.section:not(:nth-of-type(5n)):after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  box-sizing: border-box;
  left: 100%;
  width: 15px;
  height: 15px;
  border: 15px solid transparent;
  border-left: 15px solid #f50909;
}
.section-title{
  text-align: center;
  font-size: 25px;
  padding: 15px 0 15px 0;
  color: #f50909;
}
.sectionpic{
  text-align: center;
}
.sectionpic img{
  width: 100%;
}
.sectiontxt{
  text-align: justify;
  font-size: 15px;
  padding: 15px 0;
}
.qanda-wrapper{
  background-color:  #e3f3fd;
}
.qanda {
  width: 100%;
  padding: 80px 0;
  font-size: 20px;
}
.qanda dt:before,.qanda dd:before{
  font-size: 2em;
  margin-right: .5em;
}
.qanda dt:before{
  content:"Q";
  color: #513fec;
}
.qanda dd:before{
  content:"A";
  color: #f50909;
}
.qanda dd{
  border-bottom: 1px dotted #999;
  margin-left: 0;
  padding-top: 20px;
  margin-bottom: 40px;
}
.aboutus-wrapper{
  background-color: #fff;
  padding-bottom: 60px;
}
.aboutus {
  width: 100%;
  margin: 60px 0 0 0;
}

.aboutus th,
.aboutus td {
  border: 1px solid #ccc;
  padding: 20px;
}

.aboutus th {
  font-weight: bold;
  background-color: #dedede;
}
.ftest{
  width
}
footer{
  background-color: #f50909;
}
footer p{
  text-align: center;
  padding: 5px 0;
}
.header-call2{
  width: 100%;
  padding: 7px 10px 5px 10px;
}
.header-call2:hover{
  opacity: 0.7;
}
.contact-wrapper{
  padding-top: 100px
}
.menu{
  width: 100%;
  background: #dedede;
  position: fixed;
  bottom: 0;
  z-index:999;
  display: none;
}
.menu-call{
  text-align: center;
  padding: 5px 0;
}
.menu-call:hover{
  opacity: 0.7;
}
.menu-call img{
  width: 90%;
}
