@charset "UTF-8";

/*--- base ---*/
html { font-size: 62.5%; width: 100%; height: 100%; }
body {
  width: 100%;
  font-size: 1.4rem;
  line-height: 24px;
  font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  color: #000;
}
* { box-sizing: border-box; word-wrap: break-word; }
img { width: 100%; }
a { color: #000; }
a:link,
a:visited,
a:active,
a:hover { overflow: hidden; outline: none; }
a[href^="tel"] { pointer-events: none; }

/* block , box */
.block {
  width: 93.75%;
  max-width: 1000px;
  margin: 0 auto;
}
.block_inner { margin-top: 15px; }

/* tableBox */
.tableBox:not(#globalNavi) { border: 1px solid #a6a8aa; width: 100%; border-collapse: collapse; }
.tableBox:not(#globalNavi)+.tableBox:not(#globalNavi) { border-top: none; }
.tableBox dt, .tableBox dd { padding: 1em; }
.tableBox dt { background: #fc3; }

/* position */
.positionBox { position: relative; }

/* flexBox */
.flex {
  display:-webkit-box;
  display:-moz-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

/* button */
.colorbtn {
  display: block;
  height: 50px;
  line-height: 48px;
  border-radius: 25px;
  text-align: center;
  position: relative;
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 1px;
}
.colorbtn:after {
  content: "＞";
  display: inline-block;
  position: absolute;
  right: 1em;
  transform: scale(.7, 1.2);
  -webkit-transform: scale(.7, 1.2);
  font-weight: normal;
}
.btn_orange {
  background: #ff9900;
  border-color: #fff;
  color: #fff;
  box-shadow: inset 0 0 0 2px #fff;
}
.btn_white {
  background: #fff;
  border-color: #f90;
  color: #f90;
  box-shadow: inset 0 0 0 2px #f90;
}

/* title */
.topicTitle {
  font-family: 'Didact Gothic', sans-serif;
  letter-spacing: .15em;
}
.title_large {
  color: #f90;
  font-weight: bold;
  position: relative;
  padding-left: 60px;
}
.title_large:before {
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  background: url(../img/icon_logo.png) no-repeat 50% 50%;
  background-size: 50px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.subpageTitle {  width: 100%; color: #fff; }
.subpageTitle h2 {  position: relative; }
.subpageTitle h2 span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.subpageTitle h2 span:first-child { left: 0; }
.subpageTitle h2 span:last-child { right: 0; letter-spacing: .1em; }
  /* subpageTitle background */
  #service .subpageTitle {
    background: url(../img/title_service.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  #price .subpageTitle {
    background: url(../img/title_price.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  #company .subpageTitle {
    background: url(../img/title_company.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  #contact .subpageTitle {
    background: url(../img/title_contact.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  #news .subpageTitle {
    background: url(../img/title_news.jpg) no-repeat 50% 50%;
    background-size: cover;
  }
  #privacy .subpageTitle {
    background: url(../img/title_privacy.jpg) no-repeat 50% 50%;
    background-size: cover;
  }

/* text */
.colortext { color: #f90; font-weight: bold; }
.cautiontext { color: #f00; }
.text_ul { text-decoration: underline; }
.top_news dt, #news dt .date { font-family: 'Oxygen', sans-serif; }
#news dt .date { display: block; }

/* list */
.bb_list dl {
  border-bottom: 2px dashed #221e1f;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.bb_list { margin-bottom: 30px; }

/* form */
input[type="text"], textarea { -webkit-appearance: none; }
input[type="submit"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  width: 100%;
  height: 100%;
  background: transparent;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: .1em;
  color: #f90;
  outline: none;
  transition: .2s ease-in-out;
}
input[type="submit"]:-webkit-search-decoration { display: none; }
input[type="submit"]:focus { outline-offset: -2px; }
input[type="text"], textarea {
  border: 1px solid #abadaf;
  border-radius: 0;
  padding: 5px 8px;
  font-family: inherit;
  font-size: 100%;
}
.fulltext input[type="text"] { width: 100%; }
.normaltable .textarea { line-height: 0; }
.normaltable textarea { width: 100%; }
form .colorbtn { width: 200px; }

/* pager */
.pagelist { align-items: center; }
.pagelist li+li { margin-left: 10px; }
.pagelist li.pagelast { margin-left: 20px; }
.pagelist li a { color: #f90; }
.pagelist li:not(.pagelast) a {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  background: #fff;
  box-shadow: inset 0 0 0 2px #f90;
  border-radius: 20px;
  font-size: 2rem;
  font-family: 'Didact Gothic', sans-serif;
}
.pagelist li.on a { background: #f90; color: #fff; }

/*--- responsive common ---*/
.sp_view { display: none !important; }

/* header */
#header { position: relative; }
.header_bg #header_top,
#header_top.sub_header { background: #fff; }
#top_mv { width: 100%; }
#top_mv:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/top_main.jpg) no-repeat 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
#header_top {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  transition: .2s ease-in-out;
}
#header_text { position: absolute; z-index: 1; }
#header_text h2 { font-weight: bold; }
#globalNavi a { font-weight: bold; }

/* footer */
.footer_bg { background: #FF9900; color: #fff; }
.footer_bg a { color: #fff; }
#copyright { text-align: center; }

/*--- top ---*/
/* topmain */
#topmain .topicTitle { text-align: center; }
.top_news {
  background: url(../img/top_bg_news.jpg) no-repeat 50% 50%;
  background-size: cover;
}
.top_price {
  background: url(../img/top_bg_price.jpg) no-repeat 50% 50%;
  background-size: cover;
}
.top_news_inner a { box-shadow: none; margin: 0 auto; }
.top_price_inner { text-align: center; color: #fff; }
.top_service ul li { position: relative; }
.top_service ul li:after {
  content: "";
  display: block;
  height: 0;
  position: absolute;
}
.top_service ul li:first-child:after {
  background: url(../img/top_illust01.png) no-repeat 0 0;
  background-size: contain;
}
.top_service ul li:nth-child(2):after {
  background: url(../img/top_illust02.png) no-repeat 0 0;
  background-size: contain;
}
.top_service ul li+li { border-top: 2px dashed #221e1f; }

/*--- service ---*/
#service h4 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.servicecase+.servicecase { border-top: 2px dashed #221e1f; }
#faq_list li:last-child dl { border-bottom: 0; }
#faq_list dt, #faq_list dd { overflow: hidden; }
#faq_list dt { margin-bottom: 8px; }
#faq_list dt span { font-weight: bold; }
#faq_list dt span,
#faq_list dd span { float: right; width: calc(100% - 30px); }
#faq_list dt:before,
#faq_list dd:before {
  content: "";
  display: block;
  float: left;
  width: 20px;
  height: 20px;
  vertical-align: top;
  margin-right: 10px;
}
#faq_list dt:before {
  background: url(../img/iconQ.png) no-repeat 0 0;
  background-size: 20px;
}
#faq_list dd:before {
  background: url(../img/iconA.png) no-repeat 0 0;
  background-size: 20px;
}

/*--- price ---*/
a.colortext { font-weight: normal; }

/*--- company ---*/
#accessmap p { margin-bottom: 1em; }
#accessmaparea { width: 100%; }

/*--- news ---*/
#news dl .newstitle, #privacy_list dt span { color: #f90; font-weight: bold; }

/*--- privacy ---*/
#privacy p { word-break: break-all; margin-bottom: 30px; }
#privacy_list li+li { margin-top: 25px; }
#privacy_list dt {
  font-size: 1.6rem;
  overflow: hidden;
  margin-bottom: 3px;
}
#privacy_list dt:before,
#privacy_list dt span { float: left; }
#privacy_list dt span { width: calc(100% - 21px); }
#privacy_list dt:before {
  content: "";
  display: block;
  width: 16px;
  height: 20px;
  background: url(../img/icon01.png) no-repeat 0 100%;
  background-size: 16px;
  margin-right: 5px;
}

/*--- PC only ---*/
@media print, screen and (min-width: 769px) {
/*--- common ---*/
  /* base */
  a, a img { transition: .2s ease-in-out; }
  a img:hover { opacity: .5; }
  /* float */
  .floatBox { overflow: hidden; }
  .inner_left, .floatBox>li { float: left; }
  .inner_right { float: right; }
  .halfbox .inner_left, .halfbox .inner_right { width: 46%; }

  /* tableBox */
  .tableBox { display: table; table-layout: fixed; }
  .table-cell, .tableBox dt, .tableBox dd { display: table-cell; vertical-align: middle; }
  .normaltable dt { width: 28.7%; }
  .normaltable dt, .normaltable dd { padding-left: 1.8em; }

  /* block */
  .narrowBlock { max-width: 800px; margin: 0 auto; }
  .contentsBlock+.contentsBlock { margin-top: 65px; }

  /* section */
  .wrapper { margin-top: 130px; }

  /* button */
  .btn_orange:hover {
    background: #fff;
    box-shadow: inset 0 0 0 2px #f90;
    color: #f90;
  }
  .btn_white:hover {
    background: #f90;
    box-shadow: inset 0 0 0 2px #fff;
    color: #fff;
  }
  form .colorbtn:after { pointer-events: none; }

  /* title */
  .topicTitle {
    font-size: 4.2rem;
    line-height: 1;
    margin-bottom: 30px;
  }
  .title_large {
    font-size: 3.2rem;
    line-height: 1.2;
    margin-bottom: 25px;
  }
  .subpageTitle h2 { height: 200px; }
  .subpageTitle h2 span:first-child { font-size:5.4rem; }
  .subpageTitle h2 span:last-child { font-size: 2.8rem; }

  /* breadlist */
  #breadlist { margin-bottom: 30px; }
  #breadlist li { display: inline-block; font-size: 1.2rem; }
  #breadlist li+li:before { content: ">";  margin: 0 .8em 0 .3em; }

  /* text */
  .head_text { margin-bottom: 50px; }

  /* form */
  input[type="submit"]:hover { color: #fff; }
  .fulltext input[type="text"] { max-width: 300px; }
  .normaltable textarea { max-width: 500px; }
  form .colorbtn {  margin: 40px auto; }
  
  /* pager */
  .pagelist {
    justify-content: flex-end;
    -ms-justify-content: flex-end;
  }
  .pagelist li:not(.pagelast) a:hover { background: #f90; color: #fff; }
  .pagelist li.pagelast a:hover { opacity: .5; }

  /* pagetop */
  #pagetop { display: none !important; }

  /* header */
  #header_top { height: 130px; }
  #top_mv { height: 800px; }
  #header_text {
    top: 40%;
    transform: translateY(-40%);
    transform: -webkit-translateY(-40%);
    left: 0;
    right: 0;
  }
  #header_text h2 { font-size: 4rem; margin-bottom: 1em; }
  #header_text p {
    font-size: 1.6rem;
    line-height: 40px;
    font-weight: bold;
  }
  #header_top_inner { display: table; padding: 20px 0; }
  #header h1, #header_navi, #globalNavi li {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
  }
  #header h1 { width: 17%; }
  #header h1 a { display: block; width: 170px; }
  #header_navi { width: 72%; padding-left: 7%; }
  #globalNavi {
    width: 100%;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #globalNavi li:first-child { width: 6em; }
  #globalNavi li:nth-child(2),
  #globalNavi li:nth-child(4) { width: 7em; }
  #globalNavi li:last-child { width: 13em; padding-left: 2em; }
  #globalNavi li:last-child a { display: block; }
  #globalNavi li.on a, #globalNavi li a:hover { color: #f90; }
  #globalNavi .btn {
    display: block;
    height: 50px;
    line-height: 50px;
    border-radius: 25px;
    text-align: center;
    background: #f90;
    color: #fff;
  }
  #globalNavi .btn:hover {
    background: #fff;
    box-shadow: inset 0 0 0 2px #f90;
    color: #f90;
  }
  #globalNavi li:not(:last-child) { position: relative; }
 
  /* footer */
  .footer_bg { margin-top: 70px; padding: 25px 0 5px; }
  .footer_comment {
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
  }
  #footer_info { overflow: hidden; }
  #footer_map {
    float: left;
    width: 50%;
    height: 280px;
    margin-left: 6%;
  }
  #footer_text {
    float: right;
    width: 40%;
    line-height: 24px;
    margin-top: 15px;
  }
  #footer_text img { width: 60%; }
  #footer_text p span { font-size: 1.6rem; font-weight: bold; }
  #footer_navi { margin-top: 30px; text-align: center; }
  #footerNavi {
    padding-top: 15px;
    margin: 20px auto 15px;
    border-top: 1px solid #fff;
  }
  #footerNavi li { display: inline-block; line-height: 1.2; }
  #footerNavi li+li {
    border-left: 1px solid #fff;
    margin-left: 1em;
    padding-left: 1.5em;
  }
  #footer_banner { margin-top: 80px; }
  #footer_banner li { width: 48%; }
  #footer_banner li+li { margin-left: 4%; }

  /*--- top ---*/
  /* topmain */
  .top_news, .top_price { width: 50%; position: relative; }
  .top_news_inner, .top_price_inner {
    width: 100%;
    max-width: 527px;
    padding: 35px 4% 35px;
  }
  .top_news_inner { margin-left: auto; }
  .top_news_inner h3 { margin-bottom: 10px; }
  .top_news_inner .bb_list { min-height: 140px; }
  .top_news_inner a { width: 210px; }
  .top_news_inner a:hover { color: #f90; }
  .top_price_inner p { font-size: 1.6rem; line-height: 36px; }
  .top_price_inner h3,
  .top_price_inner p,
  .top_price_inner div {
    position: absolute;
    width: 90%;
    max-width: 527px;
    margin: 0 auto;
  }
  .top_price_inner p { top: 100px; }
  .top_price_inner div { bottom: 35px; }
  .top_price_inner a { width: 260px; margin: 0 auto; }
  .top_service { margin-top: 45px; }
  .top_service ul { margin-bottom: 45px; }
  .top_service ul li+li { margin-top: 22px; padding-top: 35px; }
  .top_service ul li { padding-right: 21%; min-height: 200px; }
  .top_service ul li:after { right: 0; }
  .top_service ul li:first-child:after { width: 20%; top: 0; }
  .top_service ul li:nth-child(2):after { width: 20%; top: 35px; }
  .top_service ul li:after { padding-top: 20%; }
  .top_service a { width: 200px; margin: 45px auto 0; }
  .top_service a:hover { box-shadow: none; }

  /*--- service ---*/
  #service .tableBox dt { width: 30%; }
  .servicecase+.servicecase { margin-top: 55px; padding-top: 45px; }
  #case .title_large { margin-top: 65px; }
  #case {
    margin-top: -130px !important;
    padding-top: 130px;
  }
  #case .flex { align-items: flex-end; }
  #case .flex .inner_left { width: 46%; margin-right: 4%; }
  #case .flex .inner_right { width: 50%; }
  #case .flex .inner_right { line-height: 0; }
  .servicecase dl:first-of-type dt,
  .servicecase dl:first-of-type dd { padding: .5em 1em; }

  /*--- company ---*/
  #companyprofile dt, #companyprofile dd { padding-top: 1.4em; padding-bottom: 1.4em; }
  #accessmaparea {  height: 400px; }

  /*--- news ---*/
  #news .bb_list dl { margin-bottom: 40px; padding-bottom: 40px; }
  #news .bb_list dl:last-of-type { margin-bottom: 20px; }
  #news dl .newstitle { display: block; margin-bottom: .8em; }
}

@media print, screen and (min-width: 769px) and (max-width: 920px) {
  #header.top_header { height: 700px; }
  #globalNavi li { font-size: 1.3rem; }
}

/*--- SP only ---*/
@media print, screen and (max-width: 768px) {
 /*--- common ---*/ 
  /*--- base ---*/
  html { -webkit-text-size-adjust: 100%; }
  .pc_view { display: none !important; }
  .sp_view { display: block !important; margin: 0 auto; }
  a[href^="tel"] { pointer-events: inherit; }
  html.ofh, body.ofh { height: 100%; overflow: hidden; }
  /* section */
  .wrapper { margin-top: 70px; }

  /* block */
  .contentsBlock+.contentsBlock { margin-top: 60px; }

  /* tableBox */
  .tableBox:not(#globalNavi):not(:last-of-type) { border-bottom: 0; }

  /* title */
  .topicTitle { font-size: 3rem; margin-bottom: 20px; }
  .title_large { font-size: 1.6rem; margin-bottom: 20px; }
  .subpageTitle h2 { height: 70px; }

  /* text */
  .head_text { margin-bottom: 40px; }
  
  /* pagetop */
  #pagetop {
    display: none;
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 50px;
  }

  /* form */
  form .colorbtn { margin: 20px auto; }

  /* pager */
  .pagelist {
    justify-content: center;
    -ms-justify-content: center;
    margin-top: 35px;
  }

  /* header */
  #header.top_header { margin-bottom: 115px; }
  #top_mv { height: 300px; }
  #top_mv:after { background-position: 75% 50%; }
  #header_top_inner {
    width: 100%;
    height: 70px;
    position: relative;
    transition: .2s ease-in-out;
  }
  #header_top_inner.checked { background: #fff; }
  #header h1, #menuBtn { position: absolute; top: 10px; }
  #header h1 { width: 100px; left: 10px; }
  #menuBtn {
    width: 50px;
    height: 50px;
    background: url(../img/SP_header_menu.png) no-repeat 0 0;
    background-size: 50px;
    right: 10px;
  }
  .checked #menuBtn {
    background: url(../img/SP_header_menu2.png) no-repeat 0 0;
    background-size: 50px;
  }
  #header_navi {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 70px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #fff;
    transition: .2s ease-in-out;
    overflow: auto;
  }
  .checked #header_navi { visibility: visible; opacity: 1; }
  #globalNavi { width: 100%; border: 1px solid #dadbdb; }
  #globalNavi li+li { border-top: 1px solid #dadbdb; }
  #globalNavi a {
    display: block;
    height: 50px;
    line-height: 50px;
    font-size: 1.6rem;
    position: relative;
    padding-left: 35px;
  }
  #globalNavi a:before {
    content: "";
    width: 16px;
    height: 16px;
    background: url(../img/icon01.png) no-repeat 0 0;
    background-size: 16px;
    display: block;
    position: absolute;
    left: 10px;
    top: 18px;
  }
  #header_text { left: 10px; }
  #header_text h2 {
    position: absolute;
    top: -200px;
    font-size: 1.6rem;
  }
  #header_text p { margin-top: 10px; }

  /* footer */
  .footer_bg {
    position: relative;
    padding-top: 20px;
    margin-top: 30px;
  }
  .footer_inner.block { width: 100%; }
  .sp_footer {
    display: table;
    width: 93.75%;
    margin: 0 auto 20px;
  }
  .sp_footer p, .sp_footer a {
    display: table-cell;
    table-layout: fixed;
    vertical-align: middle;
  }
  .sp_footer p:first-child { width: 33%; }
  .sp_footer p:last-child {
    width: 60%;
    padding-left: 7%;
    font-size: 1.6rem;
  }
  .footer_bg a.btn_white { color: #f90; }
  #footerNavi { overflow: hidden; border: 1px solid #fff; }
  #footerNavi li { float: left; width: 50%; }
  #footerNavi li:nth-child(-n+2) { border-bottom: 1px solid #fff; }
  #footerNavi li:nth-child(odd) { border-right: 1px solid #fff; }
  #footerNavi li a {
    display: block;
    color: #fff;
    font-weight: bold;
    height: 60px;
    line-height: 60px;
    padding-left: 0.7em;
    position: relative;
  }
  #footerNavi li a:after {
    content: "＞";
    display: inline-block;
    position: absolute;
    right: 1em;
    transform: scale(.7, 1.2);
    -webkit-transform: scale(.7, 1.2);
    font-weight: normal;
  }
  #footer_banner { margin-top: 70px; }
  #footer_banner li { line-height: 0; }
  #footer_banner li+li { margin-top: 20px; }
  #copyright { padding: 5px; font-size: 1.2rem; }

  /*--- top ---*/
  /* topmain */
  #topmain .flex { display: block; }
  .top_news, .top_price { padding: 30px 0 35px; }
  .top_news_inner, .top_price_inner { width: 93.75%; margin: 0 auto; }
  .top_news_inner a { width: 100%; max-width: 210px; }
  .top_price_inner p {  margin-bottom: 1em; }
  .top_price_inner a {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
  }
  .top_service { padding-top: 30px; }
  .top_service ul { margin-bottom: 60px; }
  .top_service ul li:first-child { padding-top: 71%; }
  .top_service ul li:last-child { padding-top: calc(71% + 20px); }
  .top_service ul li:after {
    width: 66.6%;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 66.6%;
    margin: 0 auto;
  }
  .top_service ul li+li { margin-top: 25px; }
  .top_service ul li+li:after { margin-top: 20px; }
  .top_service h4 { margin-bottom: .3em; }
  .top_service a {
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
  }

  /*--- service ---*/
  #service .contentsBlock p { margin-bottom: 20px; }
  .servicecase+.servicecase { margin-top: 35px; padding-top: 35px; }
  .servicecase .inner_left { width: 100%; }
  #case { margin-top: -80px !important; padding-top: 80px; }
  #case .title_large { margin: 20px auto; }
  .servicecase dl:last-of-type { margin-bottom: 20px; }
  .servicecase dl+dl { border-top: 0; }
  .servicecase dl:nth-of-type(-n+3) { border-bottom: 0 !important; }
  #servicefaq .title_large,
  #priceform .title_large { margin-bottom: 20px; }

  /*--- price ---*/
  form[name="priceform"] dl:first-of-type input[type="text"] {
    margin-top: 5px;
  }

  /*--- company ---*/
  #companyprofile .title_large,
  #privacy .title_large { margin: 30px 0; }
  #accessmaparea {  height: 300px; }  
}

@media print, screen and (max-width: 500px) {
  #header.top_header { margin-bottom: 140px; }
}

@media print, screen and (max-width: 435px) {
  #header.top_header { margin-bottom: 160px; }
}

@media print, screen and (max-width: 400px) {
  #header.top_header { margin-bottom: 190px; }
}

@media print, screen and (max-width: 340px) {
  #footerNavi li a { font-size: 1.2rem; }
}