﻿@charset "utf-8";
/* --------------------------------------------------
    ボタン類
-------------------------------------------------- */
.btn01 a {
  display: inline-block;
  background: rgb(170,204,3);
  background: -moz-linear-gradient(top,  rgba(170,204,3,1) 0%, rgba(74,175,0,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(170,204,3,1) 0%,rgba(74,175,0,1) 100%);
  background: linear-gradient(to bottom,  rgba(170,204,3,1) 0%,rgba(74,175,0,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aacc03', endColorstr='#4aaf00',GradientType=0 );
  color: #fff;
  border-radius: 10px;
}
.btn01 a:hover {
  text-decoration: none;
  background: rgb(74,175,0);
  background: -moz-linear-gradient(top,  rgba(74,175,0,1) 0%, rgba(170,204,3,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(74,175,0,1) 0%,rgba(170,204,3,1) 100%);
  background: linear-gradient(to bottom,  rgba(74,175,0,1) 0%,rgba(170,204,3,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4aaf00', endColorstr='#aacc03',GradientType=0 );
}
/* --------------------------------------------------
    アニメーション共通
-------------------------------------------------- */
.animated, .animated *, .animated::before, .animated::after, .animated *::before, .animated *::after {
  -webkit-transform: translate(0, 0) !important;
  transform: translate(0, 0) !important;
  opacity: 1 !important;
}
.slideUp {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  transition: 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  opacity: 0;
}
.slideLeft {
  -webkit-transform: translateX(-50px);
  transform: translateX(-50px);
  transition: 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  opacity: 0;
}
.slideRight {
  -webkit-transform: translateX(50px);
  transform: translateX(50px);
  transition: 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  opacity: 0;
}
/* --------------------------------------------------
    Tableレイアウト
-------------------------------------------------- */
table {
  width: 100%;
}
th, td {
  padding: 10px;
  border: #ccc 1px solid;
}
th {
  background: #888;
  color: #fff;
  text-align: left !important;
}
td{
  background: #fff;
}
.table01 th {
  width: 30%;
  text-align: center;
}
@media screen and (max-width:640px) {
.table01 {
  margin: 0 auto;
}
.table01 th, .table01 td {
  width: auto;
  display: block;
  border-top: none;
}
.table01 tr:first-child th {
  border-top: #ccc 1px solid;
}
.table02 {
  display: block;
  position: relative;
}
.table02 th,
.table02 td {
  width: 100% !important;
  display: block;
}
.table02 thead {
  display: block;
  float: left;
  overflow-x: scroll;
}
.table02 thead th {
  width: auto;
  display: block;
}
.table02 tbody {
  width: auto;
  display: block;
  overflow-x: auto;
  white-space: nowrap;
}
.table02 tbody tr {
  display: inline-block;
  margin: 0 -2px;
}
.table02 tbody td {
  display: block;
}
/* table横スクロール */
.scroll {
  font-size: 14px;
  overflow: auto;
  white-space: nowrap;
}
.scroll::-webkit-scrollbar {
 height: 8px;
}
.scroll::-webkit-scrollbar-track {
 background: #fff;
}
.scroll::-webkit-scrollbar-thumb {
 background: #222;
}
}
/* --------------------------------------------------
    【注意書き】
-------------------------------------------------- */
.notes > li {
  text-indent: -1em;
  padding-left: 1em;
}
.notes > li:before {
  content: '※';
}
/* --------------------------------------------------
    【リストデザイン】
-------------------------------------------------- */
.disc > li {
  list-style: disc;
  margin-left: 1.5em;
}
li .disc > li {
  text-indent: 0;
}
.decimal > li {
  list-style: decimal;
  margin-left: 1.5em;
}
li .decimal > li {
  text-indent: 0;
}
/* 括弧付数字 */
.paren {
  counter-reset: cnt;
}
.paren > li {
  padding-left: 1.6em;
  position: relative;
}
.paren > li::before{
  counter-increment: cnt;
  content: '(' counter(cnt) ') ';
  position: absolute;
  top: 0;
  left: 0;
}
/* 丸数字 */
.bracket {
  counter-reset: cnt;
}
.bracket > li {
  padding-left: 1.5em;
  position: relative;
}
li .bracket > li {
  text-indent: 0;
}
.bracket > li::before{
  width: 1.2em;
  height: 1.2em;
  counter-increment: cnt;
  content: counter(cnt);
  font-size: 80%;
  display: block;
  text-align: center;
  line-height: 1em;
  border: 1px solid;
  border-radius: 50%;
  position: absolute;
  top: 0.5em;
  left: 0;
}
/* --------------------------------------------
  【Flexbox】
-------------------------------------------- */
.flex {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}
.flex-inline {
  display: -webkit-inline-flex;
  display: -ms-inline-flex;
  display: inline-flex;
}
.flex-column {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.flex-reverse {
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.flex-wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-end {
  -webkit-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
}
.flex-center {
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}
.flex-between {
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
}
.flex-around {
  -webkit-justify-content: space-around;
  -ms-justify-content: space-around;
  justify-content: space-around;
}
.flex-evenly {
  -webkit-justify-content: space-evenly;
  -ms-justify-content: space-evenly;
  justify-content: space-evenly;
}
.align-start {
  align-items: flex-start;
}
.align-end {
  align-items: flex-end;
}
.align-center {
  align-items: center;
}
.flex .flex-col2 {
  width: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}
.flex .flex-col3 {
  width: 33.33333333%;
  -ms-flex-preferred-size: 33.33333333%;
  flex-basis: 33.33333333%;
}
.flex .flex-col4 {
  width: 25%;
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
}
.flex img:not([data-src]),
.flex img.lazy-loaded {
  height: auto;
}
/* --------------------------------------------------
    【横並びリスト】
-------------------------------------------------- */
.col > li {
  display: inline-block;
  vertical-align: top;
}
.col2 > li {
  width: 580px;
  margin: 40px 40px 0 0;
}
.col2 > li:nth-child(2n) {
  margin-right: 0;
}
.col3 > li {
  width: 380px;
  margin: 30px 30px 0 0;
}
.col3 > li:nth-child(3n) {
  margin-right: 0;
}
.col4 > li {
  width: 285px;
  margin: 20px 20px 0 0;
}
.col4 > li:nth-child(4n) {
  margin-right: 0;
}
.col2 > li:nth-child(-n+2),
.col3 > li:nth-child(-n+3),
.col4 > li:nth-child(-n+4) {
  margin-top: 0;
}
@media screen and (max-width: 640px) {
.sp_col > li {
  width: auto !important;
  display: block;
  margin: 0 auto 20px !important;
}
.sp_col > li:last-child {
  margin-bottom: 0 !important;
}
.sp_col2 > li {
  width: 48% !important;
  margin: 4% 4% 0 0 !important;
}
.sp_col2 > li:nth-child(-n+2) {
  margin-top: 0 !important;
}
.sp_col2 > li:nth-child(2n) {
  margin-right: 0 !important;
}
}
/* --------------------------------------------------
    【画像フロート】
-------------------------------------------------- */
.imgBoxL::after,
.imgBoxR::after {
  content: '';
  display: block;
  clear: both;
}
.imgBoxL .txt,
.imgBoxR .img {
  float: right;
}
.imgBoxR .txt,
.imgBoxL .img {
  float: left;
}
.imgBoxL img,
.imgBoxR img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 640px) {
.imgBoxL .txt,
.imgBoxR .txt,
.imgBoxL .img,
.imgBoxR .img {
  width: auto !important;
  float: none;
}
.imgBoxL img,
.imgBoxR img {
  display: block;
  margin: 0 auto;
}
}

/* --------------------------------------------------
    【メールフォーム送信ボタン】
-------------------------------------------------- */
.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
  background: rgb(170,204,3);
  background: -moz-linear-gradient(top,  rgba(170,204,3,1) 0%, rgba(74,175,0,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(170,204,3,1) 0%,rgba(74,175,0,1) 100%);
  background: linear-gradient(to bottom,  rgba(170,204,3,1) 0%,rgba(74,175,0,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aacc03', endColorstr='#4aaf00',GradientType=0 );
  color: #fff;
  border-radius: 10px;
  font-size:18px;
  font-weight: bold;
  font-family: inherit;
  padding: 15px 40px;
  width: auto !important;
}
/* --------------------------------------------------
    ぱんくず
-------------------------------------------------- */
#breadcrumb {
  width: 1200px;
  font-size: 11px;
  text-align: right;
  padding: 10px 0;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
#breadcrumb {
  display: none;
}
}
/* --------------------------------------------------
    PC・スマホ切り替え
-------------------------------------------------- */
.mb {
  display: none !important;
}
.pcBlock {
  display: block;
}
@media screen and (max-width: 640px) {
.pc {
  display: none !important;
}
.mb {
  display: initial !important;
}
.pcBlock {
  display: initial !important;
}
.mbBlock {
  display: block !important;
}
}
/* --------------------------------------------------
    見出し
-------------------------------------------------- */
h2{
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 640px) {
  h2{
    font-size: 24px;
  }
}

/* --------------------------------------------------
    【top】
-------------------------------------------------- */
#mainVisual{
  background: #f3f3f3;
  margin: 0 0 40px;
}
#topContents .btn01{
  width: 280px;
  margin: 0 auto 80px;
}
#topContents .btn01 a{
  width: 280px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  padding: 20px 0;
}
#contact{
  background: #f3f3f3;
  margin: 80px 0 0;
  padding: 80px 0;
}
#contact h2 + p{
  text-align: center;
}
#contact .flex{
  margin: 60px 0 0 0;
}
#contact .contact01{
  flex: 0 0 68%;
}
#contact .contact02{
  flex: 0 0 28%;
}
#thanks{
  background: #f3f3f3;
  padding: 80px 0;
  text-align: center;
}

@media screen and (max-width: 640px) {
  #mainVisual{
    padding: 5px 0;
  }
  #topContents .flex > li{
    margin-bottom: 20px;
  }
  #topContents .flex > li:last-child{
    margin-bottom: 0;
  }
  #contact .flex{
    margin: 0;
  }
  #contact .contact01{
    flex: 0 0 100%;
  }
  #contact .contact02{
    flex: 0 0 100%;
    margin: 40px 0 0;
  }
}
