@charset "UTF-8";
/*media queries*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

input, select {
  vertical-align: middle; }

html {
  font-size: 62.5%; }

body {
  font: 1.4em arial,helvetica,clean,sans-serif; }

select, input, button, textarea {
  font: 99% arial,helvetica,clean,sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

pre, code, kbd, samp, tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%; }

h1 p, h2 p, h3 p, h4 p, h5 p, h6 p, p p, blockquote p, pre p, dl p, ol p, ul p, th p, td p, dd p, dt p {
  font-size: 100%; }

h1, h2, h3, h4, h5, h6 {
  font-weight: bold; }

img {
  border: none;
  -ms-interpolation-mode: bicubic;
  /* IE7 Resize with html */ }

strong {
  font-weight: bold; }

em {
  font-weight: bold; }

p {
  margin: 0 0 15px 0;
  font-size: 14px; }

ul {
  margin: 0 0 0px 0;
  list-style: none; }

dl {
  margin: 0 0 0px 0; }

dl dt {
  margin: 0 0 0px 0; }

dl dt a {
  font-weight: bold; }

dl dd {
  margin: 0 0 0px 0px; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  font-size: inherit;
  font: 100%; }

th, td {
  vertical-align: top;
  text-align: left; }

div {
  box-sizing: border-box;
  font-size: 14px; }

/*Image Hover*/
a:hover img,
span:hover img.hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha( opacity=80 )"; }

/* clearfix */
.cf, header, header .header_logo, header .area, #gContainer, .breadcrumbs, .inner, .block03 .ba {
  *zoom: 1; }
  .cf:after, header:after, header .header_logo:after, header .area:after, #gContainer:after, .breadcrumbs:after, .inner:after, .block03 .ba:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden; }

.mt0 {
  margin-top: 0px !important; }

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

.mr0 {
  margin-right: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

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

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

.pr0 {
  padding-right: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

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

.mr5 {
  margin-right: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

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

.mr10 {
  margin-right: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

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

.mr15 {
  margin-right: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.pt15 {
  padding-top: 15px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pr15 {
  padding-right: 15px !important; }

.pl15 {
  padding-left: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

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

.mr20 {
  margin-right: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

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

.mr25 {
  margin-right: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

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

.mr30 {
  margin-right: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

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

.mr35 {
  margin-right: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.pt35 {
  padding-top: 35px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pr35 {
  padding-right: 35px !important; }

.pl35 {
  padding-left: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

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

.mr40 {
  margin-right: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.pt45 {
  padding-top: 45px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pr45 {
  padding-right: 45px !important; }

.pl45 {
  padding-left: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

.mt55 {
  margin-top: 55px !important; }

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

.mr55 {
  margin-right: 55px !important; }

.ml55 {
  margin-left: 55px !important; }

.pt55 {
  padding-top: 55px !important; }

.pb55 {
  padding-bottom: 55px !important; }

.pr55 {
  padding-right: 55px !important; }

.pl55 {
  padding-left: 55px !important; }

.mt60 {
  margin-top: 60px !important; }

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

.mr60 {
  margin-right: 60px !important; }

.ml60 {
  margin-left: 60px !important; }

.pt60 {
  padding-top: 60px !important; }

.pb60 {
  padding-bottom: 60px !important; }

.pr60 {
  padding-right: 60px !important; }

.pl60 {
  padding-left: 60px !important; }

.mt65 {
  margin-top: 65px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.mr65 {
  margin-right: 65px !important; }

.ml65 {
  margin-left: 65px !important; }

.pt65 {
  padding-top: 65px !important; }

.pb65 {
  padding-bottom: 65px !important; }

.pr65 {
  padding-right: 65px !important; }

.pl65 {
  padding-left: 65px !important; }

.mt70 {
  margin-top: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mr70 {
  margin-right: 70px !important; }

.ml70 {
  margin-left: 70px !important; }

.pt70 {
  padding-top: 70px !important; }

.pb70 {
  padding-bottom: 70px !important; }

.pr70 {
  padding-right: 70px !important; }

.pl70 {
  padding-left: 70px !important; }

.mt75 {
  margin-top: 75px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.mr75 {
  margin-right: 75px !important; }

.ml75 {
  margin-left: 75px !important; }

.pt75 {
  padding-top: 75px !important; }

.pb75 {
  padding-bottom: 75px !important; }

.pr75 {
  padding-right: 75px !important; }

.pl75 {
  padding-left: 75px !important; }

.mt80 {
  margin-top: 80px !important; }

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

.mr80 {
  margin-right: 80px !important; }

.ml80 {
  margin-left: 80px !important; }

.pt80 {
  padding-top: 80px !important; }

.pb80 {
  padding-bottom: 80px !important; }

.pr80 {
  padding-right: 80px !important; }

.pl80 {
  padding-left: 80px !important; }

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

.mb85 {
  margin-bottom: 85px !important; }

.mr85 {
  margin-right: 85px !important; }

.ml85 {
  margin-left: 85px !important; }

.pt85 {
  padding-top: 85px !important; }

.pb85 {
  padding-bottom: 85px !important; }

.pr85 {
  padding-right: 85px !important; }

.pl85 {
  padding-left: 85px !important; }

.mt90 {
  margin-top: 90px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mr90 {
  margin-right: 90px !important; }

.ml90 {
  margin-left: 90px !important; }

.pt90 {
  padding-top: 90px !important; }

.pb90 {
  padding-bottom: 90px !important; }

.pr90 {
  padding-right: 90px !important; }

.pl90 {
  padding-left: 90px !important; }

.mt95 {
  margin-top: 95px !important; }

.mb95 {
  margin-bottom: 95px !important; }

.mr95 {
  margin-right: 95px !important; }

.ml95 {
  margin-left: 95px !important; }

.pt95 {
  padding-top: 95px !important; }

.pb95 {
  padding-bottom: 95px !important; }

.pr95 {
  padding-right: 95px !important; }

.pl95 {
  padding-left: 95px !important; }

.mt100 {
  margin-top: 100px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mr100 {
  margin-right: 100px !important; }

.ml100 {
  margin-left: 100px !important; }

.pt100 {
  padding-top: 100px !important; }

.pb100 {
  padding-bottom: 100px !important; }

.pr100 {
  padding-right: 100px !important; }

.pl100 {
  padding-left: 100px !important; }

hr {
  border-color: #c8c9ca;
  border-style: dotted;
  border-width: 1px 0px 0px 0px;
  height: 1px;
  margin: 30px 0 !important; }

img {
  vertical-align: bottom; }

img.b,
img.boxPart,
.b {
  display: block !important; }

.floatRight,
.fR {
  float: right;
  display: inline; }

.floatLeft,
.fL {
  float: left;
  display: inline; }

.ul-fL li {
  float: left;
  display: inline; }

.ul-fR li {
  float: right;
  display: inline; }

.leftImg,
.iL {
  float: left;
  display: inline;
  margin: 0 10px 5px 0; }

.rightImg,
.iR {
  float: right;
  display: inline;
  margin: 0 0 5px 10px; }

.clear,
.clearCol {
  clear: both;
  font: 1px/1px monospace; }

.alignRight,
.aR {
  text-align: right; }

.alignCenter,
.aC {
  text-align: center; }

.alignLeft,
.aL {
  text-align: left !important; }

.disnon {
  display: none; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.vT {
  vertical-align: top; }

.vM {
  vertical-align: middle; }

.vB {
  vertical-align: bottom; }

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

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

.opa, .btn a:hover {
  text-decoration: none;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-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; }

.oH {
  overflow: hidden; }

/* Font
------------------------------------------------------------------*/
/* type */
h1, h2, h3, h4, h5, h6 {
  font-weight: bold; }
  h1 .type01, h2 .type01, h3 .type01, h4 .type01, h5 .type01, h6 .type01 {
    color: #ff9900; }

html, body {
  width: 100%; }

body {
  width: 100%;
  background: #ffffff;
  color: #000000;
  font-family: "Open Sans", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif;
  line-height: 1.6;
  margin: auto; }
  @media only screen and (min-width: 768px) {
    body {
      min-width: 1240px; } }

input, textarea {
  font-family: "Open Sans", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif; }

* html body, * html input, * html textarea {
  font-family: "Open Sans", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif; }

a:link {
  color: #000000;
  text-decoration: none; }
a:visited {
  color: #000000; }
a:hover {
  color: #000000;
  text-decoration: underline; }

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

p {
  font-size: 1.4rem;
  line-height: 1.6; }
  @media only screen and (max-width: 767px) {
    p {
      font-size: 1.4rem; } }

a.over:hover img {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -ms-filter: "alpha( opacity=100 )"; }

/* Common Layout
------------------------------------------------------------------*/
/*
#gWrapper
*/
#gWrapper {
  width: 100%;
  background-color: #f1f0ee; }

header {
  background-color: #fff;
  width: 215px;
  height: 100vh;
  padding: 0 10px 15px 10px;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  z-index: 9999; }
  @media only screen and (max-width: 767px) {
    header {
      background: -webkit-linear-gradient(#008741 0%, #006837 100%);
      background: -o-linear-gradient(#008741 0%, #006837 100%);
      background: linear-gradient(#008741 0%, #006837 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      height: 65px;
      z-index: 999;
      box-sizing: border-box;
      padding: 0 10px;
      width: 100%; } }
  header .header_logo {
    text-align: center;
    margin-bottom: 20px; }
    @media only screen and (max-width: 767px) {
      header .header_logo {
        float: none;
        text-align: left;
        padding-top: 5px;
        width: 100%; }
        header .header_logo img {
          max-width: 70%; } }
  header .gNavi {
    padding: 0 0 15px 0; }
    @media only screen and (max-width: 767px) {
      header .gNavi {
        display: none; } }
    header .gNavi li {
      text-align: center;
      margin-bottom: 3px; }
      header .gNavi li a:hover img {
        opacity: 1.0; }
  header p {
    text-align: center;
    margin-bottom: 5px; }
    header p a:hover img {
      opacity: 1.0; }
  header .area {
    padding: 0 10px 0 20px;
    margin-bottom: 15px; }
    header .area ul li {
      display: block;
      float: left;
      width: 50%;
      font-size: 1.5rem; }

.spmenu {
  position: absolute;
  top: 5px;
  right: 10px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 75px;
  font-size: 3.0rem;
  line-height: 50px;
  z-index: 1000; }
  @media only screen and (min-width: 768px) {
    .spmenu {
      display: none; } }

#gNavisp {
  height: 100vh;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 998; }
  @media only screen and (min-width: 768px) {
    #gNavisp {
      display: none; } }
  #gNavisp > ul {
    position: fixed;
    width: 100%;
    top: 0;
    right: 0;
    z-index: 91;
    background-color: #fff;
    padding-top: 65px; }
    #gNavisp > ul li.entry {
      background-color: #000; }
      #gNavisp > ul li.entry a {
        color: #fff; }
        #gNavisp > ul li.entry a:before {
          border-top: solid 2px #fff;
          border-right: solid 2px  #fff; }
    #gNavisp > ul li a, #gNavisp > ul li span {
      color: #000;
      border-bottom: 1px solid #000;
      display: block;
      padding: 10px 10px 10px 20px;
      position: relative; }
    #gNavisp > ul li a:before, #gNavisp > ul li span:before {
      content: '';
      width: 6px;
      height: 6px;
      border: 0px;
      border-top: solid 2px #000;
      border-right: solid 2px  #000;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      right: 15px;
      margin-top: -4px; }
    #gNavisp > ul li span:before {
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
      position: absolute;
      top: 50%;
      right: 15px;
      margin-top: -4px; }
    #gNavisp > ul li ul {
      display: none; }
      #gNavisp > ul li ul li a {
        background-color: #000;
        padding-left: 35px; }
  #gNavisp .sp_overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 90;
    background-color: rgba(255, 255, 255, 0.7); }
    @media only screen and (min-width: 768px) {
      #gNavisp .sp_overlay {
        display: none; } }

article {
  width: 100%;
  max-width: 1200px;
  min-width: 880px;
  margin: auto;
  background-color: #fff; }
  @media only screen and (max-width: 767px) {
    article {
      max-width: 100%;
      min-width: 0; } }
  article .wrapper {
    width: 100%;
    position: relative; }
    article .wrapper .contents_wrapper {
      margin: 0 0 0 215px; }
      @media only screen and (max-width: 767px) {
        article .wrapper .contents_wrapper {
          margin: 0;
          padding-top: 65px; } }
      article .wrapper .contents_wrapper img {
        max-width: 100%;
        height: auto; }

/*
#gContainer
*/
#gContainer {
  width: 1200px;
  margin: auto; }
  @media only screen and (max-width: 767px) {
    #gContainer {
      width: 100%; } }

.breadcrumbs {
  font-size: 0.9rem;
  margin: 10px auto 25px auto; }
  @media only screen and (min-width: 768px) {
    .breadcrumbs {
      width: 1200px; } }
  @media only screen and (max-width: 767px) {
    .breadcrumbs {
      padding: 0 10px; } }

.pagetop {
  display: block;
  position: fixed;
  right: 50px;
  bottom: 70px;
  z-index: 99; }
  @media only screen and (max-width: 767px) {
    .pagetop {
      right: 10px;
      bottom: 90px; } }

footer {
  margin-top: 80px;
  padding-bottom: 40px; }
  @media only screen and (max-width: 767px) {
    footer {
      background-color: #fff;
      padding: 0;
      margin-top: 20px;
      padding-bottom: 80px; }
      footer img {
        width: 60%; } }
  footer:after {
    content: none; }
  footer .inner:after {
    content: none; }
  footer .copy {
    font-size: 0.9rem;
    text-align: center; }
  @media only screen and (min-width: 768px) {
    footer .footer_fixed {
      display: none; } }
  @media only screen and (max-width: 767px) {
    footer .footer_fixed {
      display: none;
      position: fixed;
      width: 100%;
      bottom: 0;
      z-index: 99; }
      footer .footer_fixed a {
        display: block;
        width: 100%; }
        footer .footer_fixed a img {
          width: 100%; } }

/* Common Layout
------------------------------------------------------------------*/
.inner {
  box-sizing: border-box;
  width: 1200px;
  margin: auto; }
  @media only screen and (max-width: 767px) {
    .inner {
      width: 100%;
      padding: 0 10px; } }

.btn {
  text-align: center;
  margin-top: 40px; }
  .btn a {
    background-color: #5a7f91;
    color: #fff;
    display: inline-block;
    width: 280px;
    text-align: center;
    padding: 10px 0;
    font-size: 1.6rem;
    font-weight: bold;
    border-radius: 5px; }

#loader {
  width: 80px;
  height: 80px;
  display: none;
  position: fixed;
  _position: absolute;
  /* IE6対策 */
  top: 50%;
  left: 50%;
  margin-top: -40px;
  /* heightの半分のマイナス値 */
  margin-left: -40px;
  /* widthの半分のマイナス値 */
  z-index: 10;
  /* #fadeより多い値を入れて下さい */ }

#fade {
  display: none; }

table.basic01 {
  width: 100%; }
  table.basic01 th, table.basic01 td {
    border: 1px solid #cccccc;
    padding: 10px 15px;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      table.basic01 th, table.basic01 td {
        padding: 10px;
        font-size: 1.2rem;
        display: block;
        width: 100%; } }
  table.basic01 th {
    font-weight: normal;
    width: 130px;
    text-align: center;
    background-color: #f2f2f2; }
    @media only screen and (max-width: 767px) {
      table.basic01 th {
        width: 100%;
        text-align: left; } }

@media only screen and (max-width: 767px) {
  .ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden; } }

@media only screen and (max-width: 767px) {
  .ggmap iframe,
  .ggmap object,
  .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; } }

@media only screen and (max-width: 767px) {
  .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%; } }
@media only screen and (max-width: 767px) {
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; } }

/* TOP
--------------------------- */
.start_list {
  margin-bottom: 50px; }
  @media only screen and (max-width: 767px) {
    .start_list {
      display: block;
      margin-bottom: 20px;
      padding: 0 15px; } }
  .start_list .start {
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5);
    position: relative;
    padding: 30px 20px;
    width: 790px;
    margin: 0 auto 20px auto; }
    @media only screen and (max-width: 767px) {
      .start_list .start {
        width: 100%;
        margin-bottom: 20px;
        padding: 15px; } }
    .start_list .start img.start_img {
      float: right;
      margin-left: 10px; }
    .start_list .start:before {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 13px 13px 0 0;
      border-color: #008740 transparent transparent transparent;
      top: 0;
      left: 0; }
    .start_list .start:after {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 13px 13px 0;
      border-color: transparent #008740 transparent transparent;
      top: 0;
      right: 0; }
    .start_list .start p {
      font-size: 1.8rem;
      margin-bottom: 20px; }
      @media only screen and (max-width: 767px) {
        .start_list .start p {
          overflow: hidden;
          font-size: 1.1rem; } }

@media only screen and (max-width: 767px) {
  .sp_size {
    width: 80%; } }
.block03 {
  background: url(../img/bg01.png);
  background-size: cover;
  position: relative;
  padding: 40px 0 60px 0;
  margin-bottom: 60px; }
  @media only screen and (max-width: 767px) {
    .block03 {
      background: url(../img/bg01.png);
      background-size: contain;
      padding: 20px 15px 10px 15px;
      margin-bottom: 20px; } }
  .block03 .photo {
    width: 700px;
    margin: 0 auto 40px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .block03 .photo {
        width: 100%;
        margin-bottom: 20px; } }
    .block03 .photo a {
      display: block;
      margin-bottom: 20px; }
      @media only screen and (max-width: 767px) {
        .block03 .photo a {
          width: 32%; } }
  .block03 .ba {
    background-color: #ffe8cc;
    border-radius: 10px;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5);
    width: 900px;
    margin: 0 auto 40px auto;
    padding: 20px 20px 20px 20px; }
    @media only screen and (max-width: 767px) {
      .block03 .ba {
        width: 100%; } }
    .block03 .ba .beforeafter {
      width: 500px;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -ms-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between;
      padding-top: 15px; }
      @media only screen and (max-width: 767px) {
        .block03 .ba .beforeafter {
          padding: 0 0 20px 0;
          width: 100%; }
          .block03 .ba .beforeafter a {
            width: 46%; } }
      .block03 .ba .beforeafter .arrow {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: -13px; }
        @media only screen and (max-width: 767px) {
          .block03 .ba .beforeafter .arrow {
            margin-top: -20px; } }
  .block03 .yt_box {
    width: 900px;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      .block03 .yt_box {
        width: 80%; } }
    .block03 .yt_box .youtube {
      width: 284px; }
      @media only screen and (max-width: 767px) {
        .block03 .yt_box .youtube {
          width: 100%;
          margin-bottom: 20px; } }

.block04 {
  text-align: center;
  margin-bottom: 60px; }
  @media only screen and (max-width: 767px) {
    .block04 {
      padding: 0 15px;
      margin-bottom: 30px; } }

.block05 {
  margin-bottom: 80px; }
  @media only screen and (max-width: 767px) {
    .block05 {
      padding: 0 15px;
      margin-bottom: 30px; } }
  .block05 .aC {
    margin-bottom: 20px; }
  .block05 p.txt {
    padding: 0 60px;
    font-size: 1.8rem;
    margin-bottom: 40px; }
    @media only screen and (max-width: 767px) {
      .block05 p.txt {
        font-size: 1.1rem;
        margin-bottom: 20px;
        padding: 0 10px 0 30px; } }
  .block05 p.aR {
    padding-right: 60px;
    margin-bottom: 60px; }
    @media only screen and (max-width: 767px) {
      .block05 p.aR {
        text-align: center !important;
        padding-right: 0;
        margin-bottom: 30px; }
        .block05 p.aR img {
          width: 80%; } }
  .block05 .message .youtube {
    text-align: center;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .block05 .message .youtube {
        margin-bottom: 15px; } }
  .block05 .message p {
    padding: 0 80px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 767px) {
      .block05 .message p {
        padding: 0 10px;
        font-size: 1.1rem; } }

.block06 {
  margin-bottom: 40px; }
  @media only screen and (max-width: 767px) {
    .block06 {
      padding: 0 15px;
      margin-bottom: 20px; } }
  .block06 .voice_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 865px;
    margin: auto; }
    @media only screen and (max-width: 767px) {
      .block06 .voice_box {
        width: 100%; } }
    .block06 .voice_box .voice {
      background: url(../img/pc/bg_voice.png) center top no-repeat;
      background-size: contain;
      width: 430px;
      height: 275px;
      margin-bottom: 10px;
      padding: 25px 30px; }
      @media only screen and (max-width: 767px) {
        .block06 .voice_box .voice {
          width: 49%;
          height: auto;
          background: url(../img/sp/bg_voice.png) center top no-repeat;
          background-size: contain;
          padding: 15px; } }
      @media only screen and (max-width: 361px) {
        .block06 .voice_box .voice {
          padding: 10px; }
          .block06 .voice_box .voice .mb10 {
            margin-bottom: 3px !important; } }
      .block06 .voice_box .voice .tit {
        font-weight: bold;
        font-size: 2.5rem;
        margin-bottom: 5px; }
        @media only screen and (max-width: 767px) {
          .block06 .voice_box .voice .tit {
            font-size: 1.4rem; } }
        @media only screen and (max-width: 361px) {
          .block06 .voice_box .voice .tit {
            font-size: 1.1rem; } }
        .block06 .voice_box .voice .tit.fsize {
          font-size: 2.4rem; }
          @media only screen and (max-width: 767px) {
            .block06 .voice_box .voice .tit.fsize {
              font-size: 1.4rem; } }
          @media only screen and (max-width: 361px) {
            .block06 .voice_box .voice .tit.fsize {
              font-size: 1.1rem; } }
      .block06 .voice_box .voice .txt {
        overflow: hidden;
        font-size: 1.8rem;
        margin-bottom: 0; }
        @media only screen and (max-width: 767px) {
          .block06 .voice_box .voice .txt {
            overflow: auto;
            font-size: 1.1rem; } }
        @media only screen and (max-width: 361px) {
          .block06 .voice_box .voice .txt {
            font-size: 0.9rem; } }

.block07 {
  margin: 0 auto 100px auto; }
  @media only screen and (max-width: 767px) {
    .block07 {
      width: 100%;
      margin: 0 auto 30px auto;
      padding: 0 15px;
      box-sizing: border-box; } }
  .block07 .aC {
    margin-bottom: 40px; }
    @media only screen and (max-width: 767px) {
      .block07 .aC {
        margin-bottom: 10px; } }
  .block07 .last_box {
    width: 860px;
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      .block07 .last_box {
        width: 100%;
        padding: 0 10px; }
        .block07 .last_box img {
          width: 100px; }
        .block07 .last_box .ml40 {
          margin-left: 15px !important; } }
    .block07 .last_box p {
      font-size: 1.8rem;
      line-height: 2.0; }
      @media only screen and (max-width: 767px) {
        .block07 .last_box p {
          font-size: 1.2rem;
          overflow: hidden; } }

.block11 {
  text-align: center; }
  .block11 a:hover img {
    opacity: 1.0; }
  @media only screen and (max-width: 767px) {
    .block11 {
      padding: 0 25px;
      box-sizing: border-box; } }

/* company
--------------------------- */
@media only screen and (min-width: 768px) {
  .company {
    width: 900px;
    margin: 0 auto 60px auto; } }
@media only screen and (max-width: 767px) {
  .company {
    padding: 0 10px;
    box-sizing: border-box; } }
.company .title {
  margin-bottom: 30px; }
  @media only screen and (max-width: 767px) {
    .company .title {
      margin-bottom: 15px; } }
@media only screen and (min-width: 768px) {
  .company table {
    width: 872px;
    margin: 0 auto 40px auto; } }
@media only screen and (max-width: 767px) {
  .company table {
    width: 90%;
    margin: 0 auto 40px auto; } }
.company table th {
  color: #006837;
  border-bottom: 1px dashed #c2c2c2;
  font-size: 2.0rem;
  padding: 10px 15px;
  width: 160px; }
  @media only screen and (max-width: 767px) {
    .company table th {
      font-size: 1.2rem;
      width: 70px; } }
.company table td {
  border-bottom: 1px dashed #c2c2c2;
  font-size: 2.0rem;
  padding: 10px 15px; }
  @media only screen and (max-width: 767px) {
    .company table td {
      font-size: 1.2rem; } }

@media only screen and (min-width: 768px) {
  .prof {
    width: 900px;
    margin: auto; } }
@media only screen and (max-width: 767px) {
  .prof {
    padding: 0 10px;
    box-sizing: border-box; } }
.prof .title {
  margin-bottom: 30px; }
  @media only screen and (max-width: 767px) {
    .prof .title {
      margin-bottom: 15px; } }
.prof .cont {
  padding: 0 40px; }
  @media only screen and (max-width: 767px) {
    .prof .cont {
      padding: 0 10px; } }
  .prof .cont img {
    margin-right: 15px; }
    @media only screen and (max-width: 767px) {
      .prof .cont img {
        width: 100px;
        margin-right: 10px; } }
  .prof .cont p {
    font-size: 2.0rem; }
    @media only screen and (max-width: 767px) {
      .prof .cont p {
        font-size: 1.1rem;
        overflow: hidden; } }
    .prof .cont p span {
      font-weight: bold;
      color: #006837; }

/* faq
--------------------------- */
@media only screen and (min-width: 768px) {
  .faq {
    width: 900px;
    margin: 0 auto 60px auto; } }
@media only screen and (max-width: 767px) {
  .faq {
    padding: 0 10px;
    box-sizing: border-box; } }
.faq .title {
  margin-bottom: 30px; }
  @media only screen and (max-width: 767px) {
    .faq .title {
      margin-bottom: 15px; } }
.faq dl {
  padding: 0 40px 0 0; }
  @media only screen and (max-width: 767px) {
    .faq dl {
      padding: 0 10px;
      box-sizing: border-box;
      margin-bottom: 40px; } }
  .faq dl dt {
    color: #00008a;
    font-size: 2.2rem;
    position: relative;
    padding-left: 80px;
    margin-bottom: 15px; }
    @media only screen and (max-width: 767px) {
      .faq dl dt {
        padding-left: 30px;
        font-size: 1.4rem;
        margin-bottom: 10px; } }
    .faq dl dt:before {
      content: 'Q.';
      font-size: 2.9rem;
      font-weight: bold;
      position: absolute;
      top: 0;
      left: 30px;
      line-height: 1.0; }
      @media only screen and (max-width: 767px) {
        .faq dl dt:before {
          font-size: 1.8rem;
          left: 0; } }
  .faq dl dd {
    position: relative;
    padding: 0 0 20px 80px;
    border-bottom: 1px dashed #c2c2c2;
    font-size: 2.0rem;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .faq dl dd {
        padding: 0 0 10px 30px;
        font-size: 1.2rem;
        margin-bottom: 15px; } }
    .faq dl dd:before {
      content: 'A.';
      color: #ff0000;
      font-size: 2.9rem;
      font-weight: bold;
      position: absolute;
      top: 3px;
      left: 30px;
      line-height: 1.0; }
      @media only screen and (max-width: 767px) {
        .faq dl dd:before {
          font-size: 1.8rem;
          left: 0; } }

/* flow
--------------------------- */
@media only screen and (min-width: 768px) {
  .flow {
    width: 900px;
    margin: 0 auto 60px auto; } }
@media only screen and (max-width: 767px) {
  .flow {
    padding: 0 10px;
    box-sizing: border-box; } }
.flow .title {
  margin-bottom: 30px; }
  @media only screen and (max-width: 767px) {
    .flow .title {
      margin-bottom: 15px; } }
.flow dl {
  padding: 0 40px 0 0; }
  @media only screen and (max-width: 767px) {
    .flow dl {
      padding: 0 10px;
      box-sizing: border-box;
      margin-bottom: 40px; } }
  .flow dl dd {
    position: relative;
    padding: 0 0 20px 80px;
    border-bottom: 1px dashed #c2c2c2;
    font-size: 2.0rem;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .flow dl dd {
        padding: 0 0 10px 30px;
        font-size: 1.2rem;
        margin-bottom: 15px; } }
    .flow dl dd span.num {
      content: 'A.';
      color: #006837;
      font-size: 2.9rem;
      font-weight: bold;
      position: absolute;
      top: 3px;
      left: 30px;
      line-height: 1.0; }
      @media only screen and (max-width: 767px) {
        .flow dl dd span.num {
          font-size: 1.8rem;
          left: 0;
          top: 0; } }
    .flow dl dd span.supp {
      font-size: 1.6rem;
      color: #4d4d4d; }

/* price
--------------------------- */
@media only screen and (min-width: 768px) {
  .price {
    width: 900px;
    margin: 0 auto 60px auto; } }
@media only screen and (max-width: 767px) {
  .price {
    padding: 0 10px;
    box-sizing: border-box; } }
.price .title {
  margin-bottom: 30px; }
  @media only screen and (max-width: 767px) {
    .price .title {
      margin-bottom: 15px; } }
@media only screen and (min-width: 768px) {
  .price table {
    width: 870px;
    margin: 0 auto 15px auto; } }
@media only screen and (max-width: 767px) {
  .price table {
    width: 90%;
    margin: 0 auto 10px auto; } }
.price table th {
  background-color: #e3e3e3;
  border: 1px solid #999;
  font-size: 1.9rem;
  padding: 10px 15px;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .price table th {
      font-size: 1.2rem; } }
.price table td {
  border: 1px solid #999;
  font-size: 2.1rem;
  padding: 10px 15px; }
  @media only screen and (max-width: 767px) {
    .price table td {
      font-size: 1.2rem; } }
.price .supp {
  font-size: 1.7rem;
  color: #4d4d4d;
  margin-bottom: 40px;
  padding-left: 20px; }
  @media only screen and (max-width: 767px) {
    .price .supp {
      font-size: 1.1rem;
      margin-bottom: 20px; } }
