
@import url(https://fonts.googleapis.com/css?family=Lato:300,400,700);

@charset "UTF-8";
/*----------------------------------
Site Base：サイト基本設定
----------------------------------*/
.cl, .wrap {
  display: inline-block;
  min-height: 1%;
  display: block;
  *zoom: 1;
}

.cl:after, .wrap:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: 0;
}

* html .cl, * html .wrap {
  height: 1%;
}

.icon-new:before {
  content: "NEW";
  position: absolute;
  top: -24px;
  left: -24px;
  z-index: 2;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  color: #fff;
  width: 88px;
  height: 88px;
  box-sizing: border-box;
  border-radius: 50%;
  font-family: Helvetica, Arial;
  border: 4px solid #fff;
  background-color: #d80c18;
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  .icon-new:before {
    top: -12px;
    left: -12px;
    width: 64px;
    height: 64px;
    border: 2px solid #fff;
    font-size: 1.3rem;
  }
}

/*----------------------------------
Reset Style
----------------------------------*/
dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

fieldset, img {
  border: 0;
  vertical-align: top;
}

ol, ul {
  list-style: none;
}

q:before, q:after {
  content: " ";
}

abbr, acronym {
  border: 0;
}

a {
  color: #000;
  text-decoration: none;
}

a:link {
  color: #000;
  text-decoration: none;
}

a:visited {
  color: #000;
  text-decoration: none;
}

a:hover {
  color: #333;
  text-decoration: none;
  cursor: pointer;
}

a:active {
  color: #333;
  text-decoration: none;
}

a:active, a:focus {
  outline: none;
}

li img,
dt img,
dd img {
  vertical-align: top;
}

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

* {
  box-sizing: border-box;
}

/*----------------------------------
Base Style
----------------------------------*/
/* Body Style */
@font-face {
  font-family: "YuGothic M";
  src: local("Yu Gothic Medium");
}

html {
  font-size: 62.5%;
}

body {
  margin: 0;
  padding-top: 0;
  text-align: center;
  font-family: YuGothic, "YuGothic M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "メイリオ", Meiryo, "Meiryo UI", sans-serif;
  font-size: 10px;
  font-size: 1.0rem;
  line-height: 2;
  color: #000;
  -webkit-tap-highlight-color: transparent;
  background: #fff;
}

@media only screen and (max-width: 1024px) {
  body {
    padding-top: 0;
  }
}

body.is-modal-open {
  overflow: hidden;
  width: 100%;
}

@media only screen and (max-width: 1280px) {
  body.is-modal-open {
    position: fixed;
  }
}

@media all and (-ms-high-contrast: none) {
  body {
    font-family: Lato, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", sans-serif;
  }
}

@media only screen and (max-width: 768px) {
  body {
    min-width: 320px;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
  }
}

/* Font Style */
.fnt-min {
  font-family: "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

.text-l {
  text-align: left !important;
}

.text-c {
  text-align: center !important;
}

.text-r {
  text-align: right !important;
}

.text-b {
  font-weight: bold !important;
}

.text-n {
  font-weight: normal !important;
}

.text-blue {
  color: #0066cc !important;
}

.text-black {
  color: #000 !important;
}

.text-emphosis {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .text-emphosis {
    font-size: 2rem;
  }
}

@media only screen and (min-width: 769px) {
  .pc-text-white {
    color: #fff !important;
  }
}

@media only screen and (max-width: 768px) {
  .sp-text-l {
    text-align: left !important;
  }
  .sp-text-c {
    text-align: center !important;
  }
}

/* Image Style */
a img {
  transition: .4s;
}

a:hover img {
  opacity: .8;
}

img {
  max-width: 100%;
  height: auto;
}

/* Wrapper Style */
#wrapper {
  text-align: left;
  font-size: 16px;
  font-size: 1.6rem;
}

.content-wrapper {
  overflow: hidden;
}

.wrap {
  position: relative;
  max-width: 1210px;
  margin: 0 auto;
  padding: 0 15px;
}

.wrap-inr {
  margin: 0 auto;
  max-width: 960px;
}

@media only screen and (max-width: 768px) {
  .wrap {
    width: 100%;
    padding: 0 15px;
  }
}

/* Tel Style */
a[href^="tel:"] {
  color: #1a1a1a;
  text-decoration: none;
  cursor: default;
}

a[href^="tel:"]:hover img {
  opacity: 1;
}

/*--help--*/
.mt0 {
  margin-top: 0 !important;
}

.mt85 {
  margin-top: 85px !important;
}


.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb110 {
  margin-bottom: 110px !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pt120 {
  padding-top: 120px !important;
}

@media only screen and (min-width: 769px) {
  .pc-mb0 {
    margin-bottom: 0 !important;
  }
  .pc-mt110 {
    margin-top: 110px !important;
  }
}

@media only screen and (max-width: 768px) {
  .sp-mh23 {
    height: 23px;
  }
  .sp-mh24 {
    height: 24px;
  }
  .sp-mh48 {
    height: 48px;
  }
}

@media only screen and (max-width: 768px) {
  .sp-mb10 {
    margin-bottom: 10px !important;
  }
  .sp-mb15 {
    margin-bottom: 15px !important;
  }
  .sp-mb20 {
    margin-bottom: 20px !important;
  }
  .sp-mb30 {
    margin-bottom: 30px !important;
  }
  .sp-mb40 {
    margin-bottom: 40px !important;
  }
  .sp-mb50 {
    margin-bottom: 50px !important;
  }
  .sp-mb55 {
    margin-bottom: 55px !important;
  }
	.sp-pt65 {
    padding-top: 65px !important;
  }
}

@media only screen and (max-width: 768px) {
  .sp-full {
    margin-left: -15px !important;
    margin-right: -15px !important;
  }
  .sp-pad {
    padding: 0 15px !important;
  }
}

@media only screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}

.sp-only {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
  br.sp-only {
    display: inline !important;
  }
}

.bg-gray {
  background: #efefef;
}
