@charset "UTF-8";

/* ============================================
  font import
============================================ */
@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900");
/* ============================================
  import css
============================================ */
@import url("reset.css");
@import url("header.css");
@import url("footer.css");

/* ============================================
  共通
============================================ */

html {
  overflow-x: hidden;
}

body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #595656;
  font-size: 16px;
  line-height: 1.6;
  font-style: normal;
  letter-spacing: 0;
  min-width: 1120px;
  height: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
       -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
          box-sizing: border-box;
}

a,
a:visited,
a:hover {
  color: inherit;
}
a {
  text-decoration: none;
}

img {
  max-width: 100%;
}

input, select, textarea {
  color: inherit;
}


/* pc sp
--------------------------------- */
.pc {
  display: inline-block;
}
.sp {
  display: none;
}
.sp-min {
  display: none;
}
@media only screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
}
@media only screen and (max-width: 480px) {
  .sp-min {
    display: inline-block;
  }
}

/* flex
--------------------------------- */
.flex {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.flex-wrap {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap:         wrap;
}
.flex-center {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content:         center;
  -webkit-align-items: center;
  align-items:         center;
}
.flex-around {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content:         space-around;
}

/* ease
--------------------------------- */
.ease,
.ease *,
.ease *::after,
.ease *::before {
  -webkit-transition: .2s all ease;
     -moz-transition: .2s all ease;
      -ms-transition: .2s all ease;
       -o-transition: .2s all ease;
          transition: .2s all ease;
}

/* opacity
--------------------------------- */
.opacity a:hover {
  opacity: 0.8;
}

/* container
--------------------------------- */
.container {
  max-width: 1120px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* clearfix
--------------------------------- */
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  line-height: 0;
  content: "";
}
.clearfix:after {
  clear: both;
}

/* font
--------------------------------- */
.text-center {
  text-align: center;
}
.bold {
  font-weight: bold;
}
.fs-small {
  font-size: 80%;
}


/* l-wrapper
-------------------------------------------- */
.l-wrapper {
  padding-top: 70px;
}

.section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.c-bg_bk {
  background: #373637;
}

/* c-bg_gin
-------------------------------------------- */
.c-bg_img_l {
  background: url("../img/cmn_bg_l.jpg") no-repeat center center / cover;
}
.c-bg_img_r {
  background: url("../img/cmn_bg_r.jpg") no-repeat center center / cover;
}
.c-bg_lt {
  background-position: left top;
}
.c-bg_lb {
  background-position: left bottom;
}
.c-bg_rt {
  background-position: right top;
}
.c-bg_rb {
  background-position: right bottom;
}

/* c-sec_ttl
-------------------------------------------- */
.c-sec_ttl {
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
}
.c-sec_ttl_en {
  font-size: 36px;
  font-weight: 900;
  display: block;
}

/* c-btn
-------------------------------------------- */
a.c-btn {
  font-size: 19px;
  line-height: 60px;
  width: 400px;
  max-width: 400px;
  display: block;
  margin: auto;
	border: 1px solid #595656;
  text-align: center;
  color: inherit;
  -webkit-transition: .2s all ease;
     -moz-transition: .2s all ease;
      -ms-transition: .2s all ease;
       -o-transition: .2s all ease;
          transition: .2s all ease;
}
a.c-btn:hover {
  color: #fff;
  background: #373637;
}
a.c-btn_bk {
  color: #fff;
  background: #373637;
}
a.c-btn_bk:hover {
  color: #373637;
	border: 1px solid #373637;
  background: #fff;
}


/* l-main_header
-------------------------------------------- */
.l-main_header {
  padding: 4vw 0;
}

/* service
------------------------------------------- */
.l-cmn_service_list li {
  background: #fff;
  width: 249px;
  margin: 30px 0 0 28px;
  border: 1px solid #6d6a6a;
  font-size: 18px;
  text-align: center;
}
.l-cmn_service_list li:nth-child(4n + 1) {
  margin-left: 0;
}
.l-cmn_service_list li a {
  display: block;
  padding: 20px 10px;
  width: 100%;
  height: 100%;
}
.l-cmn_service_list_ttl {
  font-size: 18px;
  font-weight: bold;
  margin: 15px 0 10px;
}

/* ============================================
  @media max-767
============================================ */
@media only screen and (max-width: 767px) {

  body {
    min-width: 100%;
  }
  .l-wrapper {
    padding-top: 40px;
  }
  .section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .c-sec_ttl {
    font-size: 16px;
  }
  .c-sec_ttl_en {
    font-size: 30px;
  }

  a.c-btn {
    font-size: inherit;
    line-height: 50px;
    width: 100%;
  }

  .l-cmn_service .l-cmn_service_list li {
    width: 48%;
    margin: 15px 0 0 4%;
    font-size: 12px;
  }
  .l-cmn_service .l-cmn_service_list li a {
    padding: 20px 3%;
  }
  .l-cmn_service_list li:nth-child(2n + 1) {
    margin-left: 0;
  }
  .l-cmn_service_list_icon {
    width: 60%;
    margin: auto;
  }
  .l-cmn_service_list_ttl {
    font-size: 16px;
    line-height: 1.3;
  }

}
