@charset "UTF-8";
/*
1.Toppage .toppage
2.LineUp .lineup
*/
@import url(https://fonts.googleapis.com/css?family=Lato:400,300,700,900);
.lato, .title span, .icon-bg, .footer-information-child:not(:last-of-type) {
  font-family: 'Lato', sans-serif; }

/* リセットスタイル */
body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Hiragino Kaku Gothic Pro W3","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic","Helvetica Neue", Arial, Helvetica, Geneva,sans-serif; }

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

html, body, div, ul, ol, li, dl, dt, dd, form, p, figure {
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0; }

ul li {
  list-style-type: none;
  /* マーカーを消す */ }

img {
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: bottom; }

/* テーブル基本文字サイズ */
table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none; }

.hanging-indent {
  margin-left: 1em;
  text-indent: -1em; }

.title {
  font-size: 40px;
  font-weight: bold;
  border-bottom: 2px solid #f1f6d5;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  color: #fff; }
  .title span {
    font-size: 17px;
    font-weight: bold;
    vertical-align: middle; }
  .title-underline {
    border-bottom-color: #b5b5b5; }
    .title-underline:after {
      content: '';
      height: 2px;
      width: 220px;
      background-color: #7ab901;
      position: absolute;
      bottom: -2px;
      left: 0; }
  .title-section {
    color: #222222;
    margin-bottom: 35px; }
    .title-section span {
      color: #7ab901; }
  .title-page {
    font-size: 58px;
    padding-left: 70px;
    text-shadow: 0 0 13px rgba(50, 81, 55, 0.89);
    letter-spacing: 0.15em;
    margin-bottom: 15px;
    line-height: 1;
    padding-bottom: 15px span;
      padding-bottom-font-size: 20px;
      padding-bottom-letter-spacing: normal;
      padding-bottom-margin-left: 20px; }

.btn {
  font-size: 17.73px;
  font-weight: bold;
  line-height: 1;
  padding: 0.8em;
  color: #fff;
  border: 4px solid #f07100;
  border-radius: 7px;
  background-color: #f08300;
  background-image: -webkit-linear-gradient(135deg, #f4a545 25%, transparent 25%, transparent 50%, #f4a545 50%, #f4a545 75%, transparent 75%, transparent);
  background-image: linear-gradient(-45deg, #f4a545 25%, transparent 25%, transparent 50%, #f4a545 50%, #f4a545 75%, transparent 75%, transparent);
  background-size: 5px 5px;
  min-width: 188px;
  display: inline-block;
  text-align: center;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }
  .btn:hover {
    opacity: 0.5; }

.icon-arrow_right {
  width: 7px;
  height: 12px;
  fill: #f07100;
  -webkit-transition: fill;
  transition: fill; }
.icon-bg {
  background-color: #b0cf00;
  border-radius: 100%;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  color: #fff;
  text-align: center; }
.icon-tel {
  fill: #fff; }

svg.defs {
  display: none; }

/*  */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0; }

body {
  color: #222222;
  font-size: 16px;
  line-height: 1.5;
  background: url(../images/bg_main.png) center top no-repeat; }
  body.toppage {
    background: url(../images/bg_main_top.png) center top no-repeat; }

section {
  margin-bottom: 60px; }

a:link {
  text-decoration: none; }

.inner {
  width: 960px;
  padding-right: 10px;
  padding-left: 10px;
  margin: 0 auto; }
  .inner:after {
    content: '';
    display: table;
    clear: both; }

.row:after {
  content: '';
  display: table;
  clear: both; }
.row .col {
  float: left; }

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.site-logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  .site-logo-mark {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    width: 86px;
    height: 86px; }
  .site-logo-name {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    margin-left: 15px; }

.page-discription {
  text-align: center;
  font-size: 18px;
  margin-bottom: 60px; }

/* NOTE Header */
#header {
  background: url(../images/bg_header.png) center top repeat-x;
  background-color: rgba(255, 255, 255, 0.8);
  margin-bottom: 37px; }
  #header .inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 30px;
    padding-bottom: 12px; }
    #header .inner:after {
      display: none; }
  #header nav {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
    #header nav ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      #header nav ul li:hover .icon-arrow_right {
        fill: #f4a545; }
      #header nav ul a {
        color: #222222;
        font-size: 18px;
        font-weight: bold;
        padding-right: 1.5em;
        padding-left: 5px; }
    #header nav .btn {
      font-size: 16px;
      width: 160px; }
    #header nav .icon-mail {
      width: 16px;
      height: 11px;
      fill: #fff;
      margin-right: 5px; }

/* NOTE Footer */
#footer {
  background-color: #e0ec9e;
  border-top: 1px solid #7ab901;
  text-align: center; }
  #footer > p:first-of-type {
    font-size: 21.85px;
    font-weight: bold;
    padding: 15px; }

.footer-information {
  background-color: #f1f6d5;
  padding: 30px 0;
  position: relative; }
  .footer-information:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 16px 0 16px;
    border-color: #e0ec9e transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
.footer-information-child:not(:last-of-type) {
  font-size: 44px;
  font-weight: bold;
  color: #7ab901; }
  .footer-information-child:not(:last-of-type) p {
    line-height: 1;
    position: relative;
    padding-left: 50px;
    margin-right: 20px; }
.footer-information-child:last-of-type {
  margin-left: auto; }
.footer .icon-bg {
  width: 41px;
  height: 41px;
  font-size: 13.91px;
  padding-top: 13px;
  margin-right: 5px;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }
.footer .icon-tel {
  width: 23px;
  height: 20px;
  margin-top: -2px; }
.footer .icon-mail {
  width: 22px;
  height: 15px;
  fill: #fff;
  margin-right: 5px; }
.footer .btn {
  width: 220px; }
.footer .copyright {
  color: #fff;
  font-size: 14px;
  background: url(../images/bg_footer.jpg) center bottom repeat-x;
  height: 37px;
  width: 100%; }
  .footer .copyright small {
    display: inline-block;
    margin-top: 13px; }

/* NOTE TopPage */
.toppage #maincopy {
  text-align: center; }
.toppage .maincopy-title {
  margin-bottom: 5px; }
.toppage .maincopy strong {
  display: inline-block;
  margin-top: 10px;
  margin-bottom: 100px; }
.toppage .box-lineup {
  background: url(../images/bg_top01.png) center top no-repeat;
  background-size: contain;
  text-align: left;
  padding: 23px;
  position: relative;
  width: 100%; }
  .toppage .box-lineup:after {
    content: url(../images/top_image01.png);
    position: absolute;
    top: -25px;
    right: 10px; }
  .toppage .box-lineup-child {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 10px; }
    .toppage .box-lineup-child .btn-wrap,
    .toppage .box-lineup-child p {
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      -ms-grid-row-align: center;
      align-items: center; }
.toppage #abuot .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }
.toppage #abuot .flex-item:first-of-type {
  width: 58.33333%; }
.toppage #abuot ul {
  border-top: 1px dashed #b5b5b5;
  margin-top: 25px; }
.toppage #abuot li {
  border-bottom: 1px dashed #b5b5b5;
  padding: 5px; }
  .toppage #abuot li:first-of-type {
    padding: 10px 5px; }
.toppage #abuot .icon-bg {
  width: 26px;
  height: 26px;
  font-size: 8.82px;
  padding-top: 8px;
  margin-right: 5px; }
.toppage #abuot .icon-tel {
  width: 14px;
  height: 13px;
  margin-top: -2px; }

/* NOTE Lineup */
.lineup .lineup-box-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 20px; }
.lineup .lineup-box-item {
  background: url(../images/bg_lineup_item.png) center top no-repeat;
  width: 460px;
  height: 452px;
  padding: 40px 40px 0;
  text-align: center; }
.lineup .lineup-box-photo img {
  -webkit-transform: rotate(-4deg);
  transform: rotate(-4deg);
  border: 4px solid #fff;
  box-shadow: 4px 4px 4px rgba(60, 78, 58, 0.2); }
.lineup .lineup-box-title {
  font-size: 31px;
  font-weight: bold;
  border-bottom: 1px solid #fff;
  margin-top: 15px;
  margin-bottom: 10px; }
.lineup .lineup-box-discription {
  text-align: left;
  line-height: 1.25; }
