@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

html, body {
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%; }

html.wf-loading * {
  color: transparent !important; }

body {
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  min-width: 1280px;
  padding-top: 70px; }

html:not(.touch) a {
  transition: opacity .1s linear; }
  html:not(.touch) a:hover {
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    transition-duration: 0s; }

@media (max-width: 640px) {
  body {
    min-width: 100%;
    padding-top: 45px; } }

.articleindex {
  color: #FFF; }

.articleindex__hero {
  position: relative;
  width: 1040px;
  height: auto;
  margin: 0 auto; }

.articleindex__hero__image {
  width: 100%;
  height: 310px;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  .realestate .articleindex__hero__image {
    background-image: url(/images/realestate_hero.jpg); }
  .product .articleindex__hero__image {
    background-image: url(/images/products_hero.jpg); }

.articleindex__hero__catch {
  position: absolute;
  top: 66px;
  left: 50%;
  -ms-transform: translate(-50%, 0px);
      transform: translate(-50%, 0px);
  display: inline-block;
  width: auto;
  height: 33px;
  margin: 0 auto;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 33px;
  padding: 0 36px; }
  .articleindex__hero__catch:before, .articleindex__hero__catch:after {
    content: "";
    display: block;
    width: 23px;
    height: 33px;
    position: absolute;
    top: 0px;
    background-image: url(/images/articleindex_catch.png);
    background-size: 46px 33px; }
  .articleindex__hero__catch:before {
    background-position: left top;
    left: 0px; }
  .articleindex__hero__catch:after {
    background-position: right top;
    right: 0px; }

.articleindex__hero__icon {
  display: block;
  width: 224px;
  height: 69px;
  position: absolute;
  top: 126px;
  left: 50%;
  margin-left: -112px; }

.articleindex__hero__lead {
  position: relative;
  box-sizing: border-box;
  width: 580px;
  height: auto;
  padding: 10px;
  margin: -36px auto 0;
  font-size: 14px;
  line-height: 26px;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 15px;
  background-color: rgba(89, 178, 62, 0.9); }
  .articleindex__hero__lead br.spbr {
    display: none; }

.articleindex__main {
  margin: 50px auto 0; }

.articleindex__link {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  border-top: 1px solid #59B23E;
  border-bottom: 1px solid #59B23E;
  font-size: 22px;
  letter-spacing: 0.05em;
  color: #59B23E;
  line-height: 50px;
  text-align: center;
  text-decoration: none; }
  html:not(.touch) .articleindex__link {
    transition: background-color .1s linear, color .1s linear; }
    html:not(.touch) .articleindex__link:hover {
      transition-duration: 0s;
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      background-color: #59B23E;
      color: #FFF; }

@media (max-width: 640px) {
  .articleindex__hero {
    width: calc(100% - 20px); }
  .articleindex__hero__image {
    width: 100%;
    height: 155px;
    border-radius: 10px; }
    .realestate .articleindex__hero__image {
      background-image: url(/images/realestate_hero.jpg); }
    .product .articleindex__hero__image {
      background-image: url(/images/products_hero.jpg); }
  .articleindex__hero__catch {
    top: 33px;
    height: 17px;
    font-size: 10px;
    line-height: 17px;
    padding: 0 18px; }
    .articleindex__hero__catch:before, .articleindex__hero__catch:after {
      width: 12px;
      height: 17px;
      background-size: 23px 17px; }
  .articleindex__hero__icon {
    width: 112px;
    height: 35px;
    top: 63px;
    margin-left: -56px; }
  .articleindex__hero__lead {
    width: calc(100% - 30px);
    height: auto;
    padding: 10px;
    margin: -24px auto 0;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 0em;
    border-radius: 10px; }
    .articleindex__hero__lead br.spbr {
      display: block; }
  .articleindex__main {
    margin: 40px auto 0; }
  .articleindex__link {
    height: 38px;
    font-size: 11px;
    line-height: 36px;
    margin: 35px 0 0; } }

.articlelist {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  width: 1068px;
  margin: 0 auto; }

.articlelist__realestate {
  position: relative;
  -ms-flex: 0 1 328px;
      flex: 0 1 328px;
  width: 328px;
  height: auto;
  margin: 0 14px 90px; }

.articlelist__realestate__link {
  display: block;
  color: #000;
  text-decoration: none; }
  .articlelist__realestate__link:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    .articlelist__realestate__link:hover .articlelist__realestate__thumb,
    .articlelist__realestate__link:hover .articlelist__realestate__title,
    .articlelist__realestate__link:hover .articlelist__realestate__info {
      opacity: 0.7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  html:not(.touch) .articlelist__realestate__link .articlelist__realestate__thumb,
  html:not(.touch) .articlelist__realestate__link .articlelist__realestate__title,
  html:not(.touch) .articlelist__realestate__link .articlelist__realestate__info {
    transition: opacity .1s linear; }
  html:not(.touch) .articlelist__realestate__link .articlelist__realestate__catch {
    transition: background-color .1s linear, color .1s linear, transform .1s linear; }
    html:not(.touch) .articlelist__realestate__link .articlelist__realestate__catch:after {
      transition: border-color .1s linear; }
  html:not(.touch) .articlelist__realestate__link:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    html:not(.touch) .articlelist__realestate__link:hover .articlelist__realestate__thumb,
    html:not(.touch) .articlelist__realestate__link:hover .articlelist__realestate__title,
    html:not(.touch) .articlelist__realestate__link:hover .articlelist__realestate__info {
      transition-duration: 0s;
      opacity: 0.7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
    html:not(.touch) .articlelist__realestate__link:hover .articlelist__realestate__catch {
      transition: background-color 0s linear, color 0s linear, transform .1s linear;
      background-color: #59B23E;
      color: #FFF;
      -ms-transform: translate(0px, 5px);
          transform: translate(0px, 5px); }
      html:not(.touch) .articlelist__realestate__link:hover .articlelist__realestate__catch:after {
        transition-duration: 0s;
        border-color: transparent transparent #59B23E transparent; }

.articlelist__realestate__thumb {
  width: 100%;
  height: 0px;
  padding-top: 64.02%;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background-color: #999; }
  .articlelist__realestate__thumb img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }

.articlelist__realestate__title {
  font-size: 16px;
  margin: 12px 0 10px; }

.articlelist__realestate__info {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.articlelist__realestate__info__detail {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto;
  font-size: 12px;
  line-height: 18px;
  text-align: left;
  padding-right: 10px;
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal; }

.articlelist__realestate__info__floor {
  -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  font-size: 14px;
  line-height: 18px;
  text-align: right;
  font-family: brandon-grotesque, sans-serif;
  font-weight: 400;
  font-style: normal; }

.articlelist__realestate__catch {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 32px;
  border-radius: 16px;
  border: 2px solid #59B23E;
  background-color: #FFF;
  font-size: 12px;
  color: #59B23E;
  line-height: 28px;
  text-align: center;
  margin: 14px 0 0; }
  .articlelist__realestate__catch:before, .articlelist__realestate__catch:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 12px 8px;
    position: absolute;
    left: 50%;
    top: -12px;
    margin-left: -8px; }
  .articlelist__realestate__catch:before {
    border-color: transparent transparent #59B23E transparent; }
  .articlelist__realestate__catch:after {
    -ms-transform: translate(0px, 3.5px);
        transform: translate(0px, 3.5px);
    border-color: transparent transparent #FFF transparent; }
  .articlelist__realestate__catch span {
    display: block;
    padding: 0 10px;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    z-index: 1; }

.articlelist__realestate__mark {
  display: block;
  width: 66px;
  height: 66px;
  border-radius: 10px;
  background-color: #59B23E;
  font-size: 12px;
  line-height: 66px;
  text-align: center;
  font-family: brandon-grotesque, sans-serif;
  font-weight: 900;
  font-style: normal;
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 2;
  color: #FFF; }

.articlelist__realestate.soldout .articlelist__realestate__thumb img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.22086999999999998 0.70785 0.07128 0 0 0.21087 0.71795 0.07128 0 0 0.21087 0.70785 0.08127999999999999 0 0 0 0 0 1 0" /></filter></svg>#filter');
  filter: saturate(0%); }

html.msie .articlelist__realestate.soldout .articlelist__realestate__thumb img {
  opacity: 0.25;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)"; }

.articlelist__realestate.soon .articlelist__realestate__thumb {
  background-color: #FFF; }
  .articlelist__realestate.soon .articlelist__realestate__thumb img {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.22086999999999998 0.70785 0.07128 0 0 0.21087 0.71795 0.07128 0 0 0.21087 0.70785 0.08127999999999999 0 0 0 0 0 1 0" /></filter></svg>#filter');
    filter: saturate(0%);
    opacity: 0.75;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; }
  .articlelist__realestate.soon .articlelist__realestate__thumb:after {
    content: "";
    display: block;
    background-color: #75C65C;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 1;
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }

html.msie .articlelist__realestate.soon .articlelist__realestate__thumb img {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }

.articlelist__product {
  position: relative;
  -ms-flex: 0 1 328px;
      flex: 0 1 328px;
  width: 328px;
  height: auto;
  margin: 0 14px 90px; }

.articlelist__product__link {
  display: block;
  color: #000;
  text-decoration: none; }
  .articlelist__product__link:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    .articlelist__product__link:hover .articlelist__product__thumb,
    .articlelist__product__link:hover .articlelist__product__title,
    .articlelist__product__link:hover .articlelist__product__info {
      opacity: 0.7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
  html:not(.touch) .articlelist__product__link .articlelist__product__thumb,
  html:not(.touch) .articlelist__product__link .articlelist__product__title,
  html:not(.touch) .articlelist__product__link .articlelist__product__info {
    transition: opacity .1s linear; }
  html:not(.touch) .articlelist__product__link .articlelist__product__catch {
    transition: background-color .1s linear, color .1s linear, transform .1s linear; }
    html:not(.touch) .articlelist__product__link .articlelist__product__catch:after {
      transition: border-color .1s linear; }
  html:not(.touch) .articlelist__product__link:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    html:not(.touch) .articlelist__product__link:hover .articlelist__product__thumb,
    html:not(.touch) .articlelist__product__link:hover .articlelist__product__title,
    html:not(.touch) .articlelist__product__link:hover .articlelist__product__info {
      transition-duration: 0s;
      opacity: 0.7;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; }
    html:not(.touch) .articlelist__product__link:hover .articlelist__product__catch {
      transition: background-color 0s linear, color 0s linear, transform .1s linear;
      background-color: #59B23E;
      color: #FFF;
      -ms-transform: translate(0px, 5px);
          transform: translate(0px, 5px); }
      html:not(.touch) .articlelist__product__link:hover .articlelist__product__catch:after {
        transition-duration: 0s;
        border-color: transparent transparent #59B23E transparent; }

.articlelist__product__thumb {
  width: 100%;
  height: 0px;
  padding-top: 64.02%;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background-color: #999; }
  .articlelist__product__thumb img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }

.articlelist__product__title {
  font-size: 16px;
  margin: 12px 0 10px; }

.articlelist__product__info {
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 12px;
  line-height: 18px;
  text-align: left; }

@media (max-width: 640px) {
  .articlelist {
    display: block;
    width: 100%;
    margin: 0 auto; }
  .articlelist__realestate {
    position: relative;
    display: block;
    width: calc(100% - 80px);
    min-width: 240px;
    height: auto;
    margin: 0 auto 20px; }
  .articlelist__realestate__title {
    font-size: 14px;
    margin: 12px 0 4px; }
  .articlelist__realestate__info {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap; }
  .articlelist__realestate__info__detail {
    -ms-flex-order: 2;
        order: 2;
    padding-right: 0px;
    font-family: fot-cezanne-pron, sans-serif;
    font-weight: 500;
    font-style: normal; }
  .articlelist__realestate__info__floor {
    -ms-flex-order: 1;
        order: 1;
    font-size: 12px;
    line-height: 18px;
    text-align: left;
    margin-bottom: 4px;
    font-family: brandon-grotesque, sans-serif;
    font-weight: 400;
    font-style: normal; }
  .articlelist__realestate__catch {
    height: auto;
    font-size: 12px;
    line-height: 18px;
    padding: 5px 0;
    margin: 14px 0 0;
    text-align: left; }
    .articlelist__realestate__catch span {
      padding: 0 15px;
      white-space: normal; }
  .articlelist__realestate__mark {
    width: 50px;
    height: 50px;
    font-size: 8px;
    line-height: 50px; }
  .articlelist__product {
    position: relative;
    display: block;
    width: calc(100% - 80px);
    min-width: 240px;
    height: auto;
    margin: 0 auto 20px; }
  .articlelist__product__title {
    font-size: 14px;
    line-height: 18px;
    margin: 12px 0 8px; }
  .articlelist__product__info {
    font-family: fot-cezanne-pron, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 12px;
    line-height: 18px;
    text-align: left; } }

.faqlist {
  width: 862px;
  margin: 0 auto; }

.faqlist__article {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  border: 4px solid #59B23E;
  border-radius: 10px; }
  .faqlist__article + .faqlist__article {
    margin-top: 25px; }

.faqlist__article__q {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  background-color: #59B23E;
  border-radius: 0 0 5px 5px;
  padding: 9px 85px;
  cursor: pointer; }
  .faqlist__article__q:before {
    content: "";
    display: block;
    width: 22px;
    height: 24px;
    background-image: url(/images/q.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 12px;
    top: 50%;
    margin-top: -12px; }
  .faqlist__article__q:after {
    content: "";
    display: blokc;
    width: 25px;
    height: 15px;
    background-image: url(/images/qarrow.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 15px;
    top: 50%;
    -ms-transform: translate(0px, -50%) rotate(0deg);
        transform: translate(0px, -50%) rotate(0deg); }
  .faqlist__article.open .faqlist__article__q:after {
    -ms-transform: translate(0px, -50%) rotate(180deg);
        transform: translate(0px, -50%) rotate(180deg); }
  html:not(.touch) .faqlist__article__q:after {
    transition: transform .1s linear; }
  html:not(.touch) .faqlist__article__q:hover:after {
    -ms-transform: translate(0px, calc(-50% + 5px)) rotate(0deg);
        transform: translate(0px, calc(-50% + 5px)) rotate(0deg); }
  html:not(.touch) .faqlist__article.open .faqlist__article__q:hover:after {
    -ms-transform: translate(0px, calc(-50% - 5px)) rotate(180deg);
        transform: translate(0px, calc(-50% - 5px)) rotate(180deg); }

.faqlist__article__q__text {
  font-size: 16px;
  line-height: 27px;
  color: #FFF; }

.faqlist__article__a {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 0px;
  overflow: hidden;
  padding: 0 85px;
  transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
  .faqlist__article.open .faqlist__article__a {
    height: auto; }

.faqlist__article__a__text {
  font-size: 14px;
  line-height: 26px;
  padding: 25px 0; }

@media (max-width: 640px) {
  .faqlist {
    width: calc(100% - 20px);
    margin: 0 auto; }
  .faqlist__article + .faqlist__article {
    margin-top: 20px; }
  .faqlist__article__q {
    padding: 6px 40px 6px 32px; }
    .faqlist__article__q:before {
      width: 11px;
      height: 12px;
      left: 8px;
      margin-top: -6px; }
    .faqlist__article__q:after {
      width: 16px;
      height: 10px;
      right: 9px; }
  .faqlist__article__q__text {
    font-size: 12px;
    line-height: 18px;
    color: #FFF; }
    .faqlist__article__q__text br {
      display: none; }
  .faqlist__article__a {
    padding: 0 32px 0 32px; }
  .faqlist__article__a__text {
    font-size: 12px;
    line-height: 18px;
    padding: 20px 0; } }

.footer {
  position: relative;
  width: 100%;
  height: 334px;
  background-color: #59B23E;
  margin: 100px auto 0;
  color: #FFF; }

.footer__container {
  position: relative;
  width: 1050px;
  padding: 50px 0 0;
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.footer__colophone__logo__link {
  display: block; }
  .footer__colophone__logo__link img {
    display: block; }

.footer__colophone__office {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  margin: 50px 0 0; }

.footer__colophone__office__block + .footer__colophone__office__block {
  margin-left: 28px; }

.footer__colophone__office__name {
  font-size: 14px; }

.footer__colophone__office__address {
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 11px;
  line-height: 18px;
  margin: 10px 0 4px; }

.footer__colophone__office__info {
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 11px;
  line-height: 18px; }
  .footer__colophone__office__info a {
    color: #FFF;
    text-decoration: none; }

.footer__nav__sns {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  padding-top: 38px; }

.footer__nav__sns__fb,
.footer__nav__sns__ig,
.footer__nav__sns__tw {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 900;
  font-style: normal;
  position: relative;
  display: block;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: auto;
  height: 24px;
  padding-left: 32px;
  margin-right: 22px;
  font-size: 14px;
  line-height: 24px;
  color: #FFF;
  text-decoration: none;
  letter-spacing: 0.05em; }
  .footer__nav__sns__fb:before,
  .footer__nav__sns__ig:before,
  .footer__nav__sns__tw:before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-size: 24px 48px;
    background-position: center bottom;
    position: absolute;
    left: 0px;
    top: 0px; }

.footer__nav__sns__fb:before {
  background-image: url(/images/sns_fb.png); }

.footer__nav__sns__ig:before {
  background-image: url(/images/sns_ig.png); }

.footer__nav__sns__tw:before {
  background-image: url(/images/sns_tw.png); }

.footer__nav__sitemap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column wrap;
      flex-flow: column wrap;
  width: 446px;
  height: 112px;
  -ms-flex-align: space-between;
      align-items: space-between;
  margin: 42px 0 0; }

.footer__nav__sitemap__item {
  display: block;
  height: 28px; }
  .footer__nav__sitemap__item a {
    display: inline-block;
    width: auto;
    height: 28px;
    font-size: 11px;
    line-height: 28px;
    color: #FFF;
    text-decoration: none; }

.footer__small {
  width: 100%;
  height: auto;
  font-size: 11px;
  letter-spacing: 0.05em;
  position: absolute;
  left: 0px;
  bottom: 18px;
  text-align: center; }

@media (max-width: 640px) {
  .footer {
    height: auto;
    margin: 80px auto 0; }
  .footer__container {
    position: relative;
    width: auto;
    padding: 25px 35px 54px;
    margin: 0 auto;
    display: block; }
  .footer__colophone__logo__link {
    width: 147px;
    height: 49px; }
    .footer__colophone__logo__link img {
      width: 100%;
      height: 100%; }
  .footer__colophone__office {
    display: block;
    margin: 28px 0 0; }
  .footer__colophone__office__block {
    margin: 18px 0 0; }
    .footer__colophone__office__block + .footer__colophone__office__block {
      margin: 18px 0 0; }
  .footer__colophone__office__address {
    margin: 8px 0 4px; }
  .footer__nav {
    display: none; }
  .footer__small {
    bottom: 20px; } }

.header {
  box-sizing: border-box;
  width: 100%;
  height: 70px;
  border-bottom: 1px solid #59B23E;
  position: fixed;
  z-index: 999;
  left: 0px;
  top: 0px;
  background-color: #FFF; }

.header__bg {
  width: 100%;
  height: 0px;
  position: absolute;
  left: 0px;
  top: 70px;
  background-color: rgba(89, 178, 62, 0.2);
  z-index: 998;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: height 0s linear .1s, opacity .1s linear 0s; }
  .header.open .header__bg {
    transition: height 0s linear 0s, opacity .1s linear 0s;
    height: calc(100vh - 70px);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.header__logo {
  width: 134px;
  height: 45px;
  position: absolute;
  left: 53px;
  top: 13px; }

.header__logo__link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  background-image: url(/images/logo.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  color: transparent; }

.header__inquiryButton {
  display: block;
  width: 60px;
  height: 205px;
  position: fixed;
  left: 0px;
  top: calc(50vh - 35px);
  margin-top: -102px;
  background-image: url(/images/inquiry_button.png);
  background-size: 60px 205px;
  background-repeat: no-repeat;
  background-color: #88BC5E;
  z-index: 997;
  display: block;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  color: transparent; }
  html:not(.touch) .header__inquiryButton {
    transition: background-color .1s linear; }
    html:not(.touch) .header__inquiryButton:hover {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      transition-duration: 0s;
      background-color: #5da43e; }

.header__toggle {
  display: block;
  width: 30px;
  height: 28px;
  position: absolute;
  right: 52px;
  top: 21px; }
  .header__toggle span, .header__toggle:before, .header__toggle:after {
    content: "";
    display: block;
    width: 30px;
    height: 4px;
    background-color: #59B23E;
    position: absolute;
    left: 0px;
    top: 50%;
    margin-top: -2px;
    -ms-transform-origin: center;
        transform-origin: center; }
  .header__toggle:before {
    -ms-transform: translate(0px, -10px) rotate(0deg);
        transform: translate(0px, -10px) rotate(0deg); }
  .header__toggle:after {
    -ms-transform: translate(0px, 10px) rotate(0deg);
        transform: translate(0px, 10px) rotate(0deg); }
  .header.open .header__toggle span {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
  .header.open .header__toggle:before {
    -ms-transform: translate(0px, 0px) rotate(45deg);
        transform: translate(0px, 0px) rotate(45deg); }
  .header.open .header__toggle:after {
    -ms-transform: translate(0px, 0px) rotate(-45deg);
        transform: translate(0px, 0px) rotate(-45deg); }

.header__menu {
  width: 346px;
  height: 0px;
  position: absolute;
  right: 0px;
  top: 69px;
  overflow: hidden;
  z-index: 1000;
  border-bottom: 1px solid #59B23E;
  transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
  .header.open .header__menu {
    height: calc(100vh - 69px); }

.header__menu__container {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  border-left: 1px solid #59B23E;
  overflow: scroll;
  -webkit-overflow-scrolling: touch; }

.header__menu__contents {
  width: 100%;
  height: 586px;
  padding: 15px 0 30px;
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  margin: auto;
  z-index: 0; }
  @media (min-width: 641px) and (max-height: 700px) {
    .header__menu__contents {
      position: relative; } }

.header__menu__nav__item a {
  display: block;
  width: auto;
  height: 42px;
  font-size: 13px;
  line-height: 42px;
  color: #59B23E;
  text-decoration: none;
  text-align: center; }

.header__menu__links {
  margin: 10px 0 0; }

.header__menu__links__button {
  margin: 0 auto 0; }
  .header__menu__links__button + .header__menu__links__button {
    margin-top: 18px; }

.header__menu__sns {
  font-size: 0px;
  line-height: 0px;
  letter-spacing: 0px;
  text-align: center;
  margin: 40px 0 0; }

.header__menu__sns__fb,
.header__menu__sns__ig,
.header__menu__sns__tw {
  display: block;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  color: transparent;
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 12px;
  background-size: 40px 80px; }

.header__menu__sns__fb {
  background-image: url(/images/sns_fb.png); }

.header__menu__sns__ig {
  background-image: url(/images/sns_ig.png); }

.header__menu__sns__tw {
  background-image: url(/images/sns_tw.png); }

@media (max-width: 640px) {
  .header {
    height: 45px; }
  .header__logo {
    width: 87px;
    height: 29px;
    left: 15px;
    top: 8px; }
  .header__toggle {
    width: 44px;
    height: 44px;
    right: 6px;
    top: 0px; }
    .header__toggle span, .header__toggle:before, .header__toggle:after {
      width: 18px;
      height: 2px;
      left: 50%;
      margin-left: -9px;
      margin-top: -1px; }
    .header__toggle:before {
      -ms-transform: translate(0px, -6px) rotate(0deg);
          transform: translate(0px, -6px) rotate(0deg); }
    .header__toggle:after {
      -ms-transform: translate(0px, 6px) rotate(0deg);
          transform: translate(0px, 6px) rotate(0deg); }
  .header__menu {
    width: 100%;
    height: 0px;
    top: 44px; }
    .header.open .header__menu {
      height: calc(100vh - 44px); }
  .header__menu__container {
    border-left: 0;
    border-top: 1px solid #59B23E; }
  .header__menu__contents {
    height: 418px;
    padding: 15px 0 30px; }
  .header__menu__nav__item a {
    height: 28px;
    font-size: 12px;
    line-height: 28px; }
  .header__menu__links__button + .header__menu__links__button {
    margin-top: 8px; }
  .header__menu__sns {
    margin: 30px 0 0; }
  .header__menu__sns__fb,
  .header__menu__sns__ig,
  .header__menu__sns__tw {
    width: 36px;
    height: 36px;
    margin: 0 8px;
    background-size: 36px 72px; }
  .header__inquiryButton {
    width: 137px;
    height: 40px;
    position: fixed;
    bottom: 10px;
    top: auto;
    margin-top: 0;
    background-image: url(/images/inquiry_button_sp.png);
    background-size: 137px 40px; } }

.roundbutton, .roundbutton--simple, .roundbutton--reverse, .roundbutton--pop, .articlesingle__side__links__link, .contact__tel, .contact__sendbutton, .news__navigation__back,
.news__navigation__category {
  position: relative;
  display: block;
  width: 134px;
  height: 28px;
  font-size: 13px;
  line-height: 24px;
  text-align: center;
  color: #59B23E;
  text-decoration: none; }
  .roundbutton > span, .roundbutton--simple > span, .roundbutton--reverse > span, .roundbutton--pop > span, .articlesingle__side__links__link > span, .contact__tel > span, .contact__sendbutton > span, .news__navigation__back > span,
  .news__navigation__category > span {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border: 2px solid #59B23E;
    border-radius: 8px;
    background-color: #FFF; }
  html:not(.touch) .roundbutton > span, html:not(.touch) .roundbutton--simple > span, html:not(.touch) .roundbutton--reverse > span, html:not(.touch) .roundbutton--pop > span, html:not(.touch) .articlesingle__side__links__link > span, html:not(.touch) .contact__tel > span, html:not(.touch) .contact__sendbutton > span, html:not(.touch) .news__navigation__back > span, html:not(.touch)
  .news__navigation__category > span {
    transition: color .1s linear, background-color .1s linear, border-color .1s linear, transform .1s linear; }
  html:not(.touch) .roundbutton:hover, html:not(.touch) .roundbutton--simple:hover, html:not(.touch) .roundbutton--reverse:hover, html:not(.touch) .roundbutton--pop:hover, html:not(.touch) .articlesingle__side__links__link:hover, html:not(.touch) .contact__tel:hover, html:not(.touch) .contact__sendbutton:hover, html:not(.touch) .news__navigation__back:hover, html:not(.touch)
  .news__navigation__category:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    html:not(.touch) .roundbutton:hover > span, html:not(.touch) .roundbutton--simple:hover > span, html:not(.touch) .roundbutton--reverse:hover > span, html:not(.touch) .roundbutton--pop:hover > span, html:not(.touch) .articlesingle__side__links__link:hover > span, html:not(.touch) .contact__tel:hover > span, html:not(.touch) .contact__sendbutton:hover > span, html:not(.touch) .news__navigation__back:hover > span, html:not(.touch)
    .news__navigation__category:hover > span {
      transition: color 0s linear, background-color 0s linear, border-color 0s linear, transform .1s linear;
      color: #FFF;
      background-color: #59B23E; }

.roundbutton--simple > span {
  border: 2px solid transparent; }

.roundbutton--reverse > span {
  color: #FFF;
  background-color: #59B23E; }

html:not(.touch) .roundbutton--reverse:hover > span {
  color: #59B23E;
  background-color: #FFF; }

.roundbutton--pop > span, .articlesingle__side__links__link > span, .contact__tel > span, .contact__sendbutton > span, .news__navigation__back > span,
.news__navigation__category > span, .roundbutton--pop:after, .articlesingle__side__links__link:after, .contact__tel:after, .contact__sendbutton:after, .news__navigation__back:after,
.news__navigation__category:after {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 2px solid #59B23E;
  border-radius: 8px; }

.roundbutton--pop > span, .articlesingle__side__links__link > span, .contact__tel > span, .contact__sendbutton > span, .news__navigation__back > span,
.news__navigation__category > span {
  position: relative;
  color: #59B23E;
  background-color: #FFF;
  z-index: 1;
  transition: transform .1s linear; }

.roundbutton--pop:after, .articlesingle__side__links__link:after, .contact__tel:after, .contact__sendbutton:after, .news__navigation__back:after,
.news__navigation__category:after {
  content: "";
  background-color: #59B23E;
  -ms-transform: translate(2px, 2px);
      transform: translate(2px, 2px);
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: 0; }

html:not(.touch) .roundbutton--pop:hover > span, html:not(.touch) .articlesingle__side__links__link:hover > span, html:not(.touch) .contact__tel:hover > span, html:not(.touch) .contact__sendbutton:hover > span, html:not(.touch) .news__navigation__back:hover > span, html:not(.touch)
.news__navigation__category:hover > span {
  -ms-transform: translate(2px, 2px);
      transform: translate(2px, 2px); }

.roundbutton--arrow > span:after {
  content: "";
  display: block;
  width: 7px;
  height: 12px;
  background-image: url(/images/linkarrow.png);
  background-size: 7px 24px;
  background-position: left top;
  position: absolute;
  top: 6px;
  right: 6px; }

html:not(.touch) .roundbutton--arrow:hover > span:after {
  background-position: left bottom; }

.roundbutton--arrow.roundbutton--reverse > span:after {
  background-position: left bottom; }

html:not(.touch) .roundbutton--arrow.roundbutton--reverse:hover > span:after {
  background-position: left top; }

@media (max-width: 640px) {
  .roundbutton--pop:after, .articlesingle__side__links__link:after, .contact__tel:after, .contact__sendbutton:after, .news__navigation__back:after,
  .news__navigation__category:after {
    -ms-transform: translate(1px, 1px);
        transform: translate(1px, 1px); }
  html:not(.touch) .roundbutton--pop:hover > span, html:not(.touch) .articlesingle__side__links__link:hover > span, html:not(.touch) .contact__tel:hover > span, html:not(.touch) .contact__sendbutton:hover > span, html:not(.touch) .news__navigation__back:hover > span, html:not(.touch)
  .news__navigation__category:hover > span {
    -ms-transform: translate(1px, 1px);
        transform: translate(1px, 1px); } }

.sectiontitle {
  position: relative;
  text-align: center; }
  .header + .sectiontitle {
    margin-top: 45px;
    margin-bottom: 40px; }

.sectiontitle__en {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  color: #505050; }

.sectiontitle__ja {
  position: relative;
  font-size: 22px;
  letter-spacing: 0.05em;
  color: #3C3C3C;
  margin: 28px 0 0; }
  .sectiontitle__ja:before {
    content: "";
    display: block;
    width: 28px;
    height: 2px;
    background-color: #59B23E;
    position: absolute;
    left: 50%;
    margin-left: -14px;
    top: -14px; }

.sectiontitle__lead {
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #59B23E;
  margin: 12px 0 0; }

.sectiontitle__catch {
  font-size: 16px;
  letter-spacing: 0.05em;
  position: absolute;
  left: 50%;
  margin-left: 180px;
  top: 48px; }
  .sectiontitle__catch:before {
    content: "";
    display: block;
    width: 31px;
    height: 51px;
    background-image: url(/images/sectiontitle_catch.png);
    background-size: contain;
    background-position: left center;
    position: absolute;
    left: -18px;
    top: 50%;
    margin-top: -24px; }

@media (max-width: 640px) {
  .sectiontitle {
    text-align: center; }
    .header + .sectiontitle {
      margin-top: 45px;
      margin-bottom: 40px; }
  .sectiontitle__en {
    font-size: 14px; }
  .sectiontitle__ja {
    font-size: 15px;
    margin: 16px 0 0; }
    .sectiontitle__ja:before {
      width: 16px;
      height: 1px;
      margin-left: -8px;
      top: -9px; }
  .sectiontitle__lead {
    font-size: 11px;
    margin: 10px 0 0; }
  .sectiontitle__catch {
    position: relative;
    font-size: 11px;
    left: auto;
    top: auto;
    margin: 18px 0 0;
    display: inline-block; }
    .sectiontitle__catch:before, .sectiontitle__catch:after {
      content: "";
      width: 1px;
      height: 17px;
      background-color: #000;
      background-image: none;
      position: absolute;
      top: -3px;
      margin: 0; }
    .sectiontitle__catch:before {
      left: -10px;
      -ms-transform: rotate(-25deg);
          transform: rotate(-25deg); }
    .sectiontitle__catch:after {
      right: -10px;
      -ms-transform: rotate(25deg);
          transform: rotate(25deg); } }

.wysiwyg, .news__single__body {
  position: relative;
  box-sizing: border-box;
  width: calc(100% - 20px);
  max-width: 600px;
  height: auto; }
  .wysiwyg p, .news__single__body p {
    font-size: 16px;
    line-height: 29px;
    color: #3C3C3C;
    margin: 29px 0; }
  .wysiwyg img, .news__single__body img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    border-radius: 20px;
    overflow: hidden; }

@media (max-width: 640px) {
  .wysiwyg, .news__single__body {
    width: calc(100% - 30px);
    margin: 0 auto; }
    .wysiwyg p, .news__single__body p {
      font-size: 12px;
      line-height: 18px;
      color: #3C3C3C;
      margin: 18px 0; }
    .wysiwyg img, .news__single__body img {
      border-radius: 10px; } }

.about__body {
  width: 1280px;
  height: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  margin: 0 auto; }

.about__body__main {
  position: relative;
  box-sizing: border-box;
  width: 626px;
  height: auto;
  -ms-flex: 0 0 626px;
      flex: 0 0 626px;
  background-color: #59B23E;
  border-radius: 20px;
  padding: 56px 0 40px 120px;
  color: #FFF; }

.about__body__main__lead {
  font-size: 29px;
  line-height: 53px;
  letter-spacing: 0.1em; }

.about__body__main__text {
  font-size: 14px;
  line-height: 28px;
  margin: 30px 0 0; }
  .about__body__main__text p + p {
    margin-top: 28px; }
  .about__body__main__text p > span {
    display: inline-block;
    position: relative; }
    .about__body__main__text p > span:before {
      content: "";
      display: block;
      width: calc(100% - 8px);
      height: 7px;
      background-color: #ABCD87;
      position: absolute;
      left: 4px;
      bottom: 5px;
      z-index: 0; }
  .about__body__main__text p > span > span {
    position: relative;
    z-index: 1; }

.about__body__main__baloon {
  position: relative;
  box-sizing: border-box;
  width: 328px;
  height: auto;
  padding: 10px 30px;
  border: 2px solid #FFF;
  margin: 40px 0 0;
  border-radius: 20px;
  background-color: #59B23E; }
  .about__body__main__baloon p {
    font-size: 12px;
    line-height: 24px; }
  .about__body__main__baloon:before, .about__body__main__baloon:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 12px 8px;
    position: absolute;
    left: 36px;
    top: -12px; }
  .about__body__main__baloon:before {
    border-color: transparent transparent #FFF transparent; }
  .about__body__main__baloon:after {
    -ms-transform: translate(0px, 3.5px);
        transform: translate(0px, 3.5px);
    border-color: transparent transparent #59B23E transparent; }

.about__body__diagram {
  width: 654px;
  height: auto;
  -ms-flex: 0 0 654px;
      flex: 0 0 654px; }

.about__body__diagram__container {
  position: relative;
  width: 526px;
  height: auto;
  margin: 35px auto 0;
  padding: 0 0 70px; }
  .about__body__diagram__container img {
    display: block; }
  .about__body__diagram__container p {
    font-family: fot-cezanne-pron, sans-serif;
    font-weight: 500;
    font-style: normal;
    width: 320px;
    white-space: nowrap;
    font-size: 11px;
    line-height: 20px;
    position: absolute;
    left: 50%;
    bottom: 0px;
    margin-left: -160px; }
    .about__body__diagram__container p span {
      position: absolute;
      left: -1.1em; }

@media (max-width: 640px) {
  .about__body {
    width: calc(100% - 20px);
    display: block; }
  .about__body__main {
    width: 100%;
    border-radius: 10px;
    padding: 35px 35px; }
  .about__body__main__lead {
    font-size: 18px;
    line-height: 27px;
    letter-spacing: 0.1em; }
  .about__body__main__text {
    font-size: 12px;
    line-height: 18px;
    margin: 30px 0 0; }
    .about__body__main__text br {
      display: none; }
    .about__body__main__text p + p {
      margin-top: 18px; }
    .about__body__main__text p > span {
      display: inline-block;
      position: relative; }
      .about__body__main__text p > span:before {
        height: 4px;
        bottom: 2px; }
  .about__body__main__baloon {
    width: 100%;
    padding: 10px 10px;
    border: 2px solid #FFF;
    margin: 30px 0 0;
    border-radius: 10px;
    background-color: #59B23E; }
    .about__body__main__baloon p {
      font-size: 11px;
      line-height: 18px; }
    .about__body__main__baloon br {
      display: none; }
  .about__body__diagram {
    width: 100%; }
  .about__body__diagram__container {
    width: 100%;
    margin: 40px auto 0;
    padding: 0 0 50px; }
    .about__body__diagram__container img {
      display: block;
      width: 288px;
      height: auto;
      margin: 0 auto; }
    .about__body__diagram__container p {
      width: 260px;
      font-size: 9px;
      line-height: 14px;
      margin-left: -130px;
      white-space: nowrap; } }

.about__hero {
  width: 1040px;
  height: 394px;
  position: relative;
  margin: 0 auto 102px; }

.about__hero__image {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 20px;
  background-image: url(/images/about_photo.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }

.about__hero__lead {
  display: block;
  width: 288px;
  height: 288px;
  background-color: #9FC97E;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  right: -50px;
  bottom: -102px; }
  .about__hero__lead p {
    position: absolute;
    width: 100%;
    height: auto;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    font-size: 14px;
    line-height: 26px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #FFF; }

@media (max-width: 640px) {
  .about__hero {
    width: calc(100% - 20px);
    height: 228px;
    position: relative;
    margin: 0 auto 140px; }
  .about__hero__image {
    border-radius: 10px; }
  .about__hero__lead {
    width: 203px;
    height: 203px;
    right: 0px;
    bottom: -101px; }
    .about__hero__lead p {
      font-size: 11px;
      line-height: 18px;
      letter-spacing: 0px; } }

.articlesingle__body {
  position: relative;
  width: 1040px;
  height: auto;
  margin: 40px auto 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.articlesingle__body__main {
  position: relative;
  width: 680px;
  height: auto;
  -ms-flex: 0 1 680px;
      flex: 0 1 680px; }

.articlesingle__body__side {
  position: relative;
  width: 330px;
  height: auto;
  -ms-flex: 0 1 330px;
      flex: 0 1 330px; }

@media (max-width: 640px) {
  .articlesingle__body {
    position: relative;
    width: calc(100% - 50px);
    margin: 40px auto 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap; }
  .articlesingle__body__main {
    width: 100%;
    -ms-flex: 0 1 auto;
        flex: 0 1 auto; }
  .articlesingle__body__side {
    width: 100%;
    -ms-flex: 0 1 auto;
        flex: 0 1 auto; }
  .articlesingle__body__main.introduction {
    -ms-flex-order: 1;
        order: 1; }
  .articlesingle__body__side.floorplan {
    -ms-flex-order: 2;
        order: 2; }
  .articlesingle__body__main.detail {
    -ms-flex-order: 3;
        order: 3; }
  .articlesingle__body__side.links {
    -ms-flex-order: 4;
        order: 4; } }

.articlesingle__gallery {
  position: relative;
  width: 1040px;
  height: auto;
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.articlesingle__gallery__main {
  position: relative;
  width: 680px;
  height: 440px;
  -ms-flex: 0 1 680px;
      flex: 0 1 680px; }

.articlesingle__gallery__main__slide {
  display: block;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: 0px;
  top: 0px;
  border-radius: 20px;
  background-color: #F9FFF5;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  overflow: hidden;
  transition: opacity .1s linear; }
  [data-position="1"] .articlesingle__gallery__main__slide[data-number="1"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  [data-position="2"] .articlesingle__gallery__main__slide[data-number="2"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  [data-position="3"] .articlesingle__gallery__main__slide[data-number="3"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  [data-position="4"] .articlesingle__gallery__main__slide[data-number="4"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  [data-position="5"] .articlesingle__gallery__main__slide[data-number="5"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  [data-position="6"] .articlesingle__gallery__main__slide[data-number="6"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  [data-position="7"] .articlesingle__gallery__main__slide[data-number="7"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  [data-position="8"] .articlesingle__gallery__main__slide[data-number="8"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .articlesingle__gallery__main__slide img {
    display: block;
    width: auto;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    margin: auto; }

.articlesingle__gallery__list {
  position: relative;
  width: 330px;
  height: auto;
  -ms-flex: 0 1 330px;
      flex: 0 1 330px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  overflow: hidden; }

.articlesingle__gallery__list__item {
  position: relative;
  width: calc(50% - 6px);
  height: 101px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-top: 12px;
  cursor: pointer;
  background-color: #F9FFF5; }
  html:not(.touch) .articlesingle__gallery__list__item {
    transition: opacity .1s linear; }
    html:not(.touch) .articlesingle__gallery__list__item:hover {
      transition-duration: 0s;
      opacity: 0.5;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
  .articlesingle__gallery__list__item:nth-child(1), .articlesingle__gallery__list__item:nth-child(2) {
    margin-top: 0px; }
  [data-num="1"] .articlesingle__gallery__list__item,
  [data-num="2"] .articlesingle__gallery__list__item {
    width: 100%;
    height: calc(50% - 12px); }
    [data-num="1"] .articlesingle__gallery__list__item:nth-child(1),
    [data-num="2"] .articlesingle__gallery__list__item:nth-child(1) {
      margin-top: 0px; }
    [data-num="1"] .articlesingle__gallery__list__item:nth-child(2),
    [data-num="2"] .articlesingle__gallery__list__item:nth-child(2) {
      margin-top: 24px; }
  [data-num="3"] .articlesingle__gallery__list__item {
    width: 100%;
    height: calc(33.3333% - 8px);
    margin-top: 12px; }
    [data-num="3"] .articlesingle__gallery__list__item:nth-child(1) {
      margin-top: 0px; }
    [data-num="3"] .articlesingle__gallery__list__item:nth-child(2) {
      margin-top: 12px; }
  [data-num="4"] .articlesingle__gallery__list__item,
  [data-num="5"] .articlesingle__gallery__list__item,
  [data-num="6"] .articlesingle__gallery__list__item {
    width: calc(50% - 6px);
    height: calc(33.3333% - 8px); }

@media (max-width: 640px) {
  .articlesingle__gallery {
    width: calc(100% - 20px);
    display: block;
    margin: 0 auto; }
  .articlesingle__gallery__main {
    width: 100%;
    height: 0px;
    padding-top: 64.71%; }
  .articlesingle__gallery__main__slide {
    border-radius: 10px; }
  .articlesingle__gallery__list {
    width: calc(100% + 8px);
    height: auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-pack: start;
        justify-content: start;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    overflow: hidden;
    margin: 4px 0 0 -4px; }
  .articlesingle__gallery__list__item {
    position: relative;
    width: calc(25% - 8px) !important;
    height: 0px !important;
    padding-top: 15.76% !important;
    border-radius: 5px;
    margin: 4px 4px  !important;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-top: 12px;
    cursor: pointer;
    background-color: #F9FFF5; } }

.articlesingle__main__title {
  font-size: 16px;
  line-height: 22px;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #59B23E;
  padding-bottom: 8px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.articlesingle__main__title__name {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto; }

.articlesingle__main__title__brand {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  font-size: 13px;
  text-align: right; }

.articlesingle__main__comment {
  position: relative;
  margin: 14px 0 0; }

.articlesingle__main__comment__label {
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 12px;
  margin: 0 0 10px; }

.articlesingle__main__comment__text {
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 26px; }

.articlesingle__main__hr {
  width: 100%;
  height: 2px;
  background-color: #59B23E;
  margin: 20px 0 0; }

.articlesingle__main__baloon {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  border: 2px solid #59B23E;
  padding: 8px 10px;
  border-radius: 22px;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  margin: 30px 0 0;
  color: #59B23E; }
  .articlesingle__main__baloon:before, .articlesingle__main__baloon:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 15px 22px 15px;
    position: absolute;
    left: 50%;
    top: -22px;
    margin-left: -15px; }
  .articlesingle__main__baloon:before {
    border-color: transparent transparent #59B23E transparent; }
  .articlesingle__main__baloon:after {
    -ms-transform: translate(0px, 3.5px);
        transform: translate(0px, 3.5px);
    border-color: transparent transparent #FFF transparent; }

.articlesingle__main__detail {
  width: 100%;
  height: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  border-left: 1px solid #59B23E;
  border-right: 1px solid #59B23E;
  border-bottom: 1px solid #59B23E;
  font-size: 14px;
  line-height: 16px;
  color: #59B23E;
  margin: 50px 0 0;
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal; }

.articlesingle__main__detail__term,
.articlesingle__main__detail__description {
  display: block;
  box-sizing: border-box;
  height: auto;
  border-top: 1px solid #59B23E; }

.articlesingle__main__detail__term {
  width: 140px;
  -ms-flex: 0 1 140px;
      flex: 0 1 140px;
  text-align: center;
  padding: 6px 10px; }

.articlesingle__main__detail__description {
  width: calc(100% - 140px);
  -ms-flex: 0 1 calc(100% - 140px);
      flex: 0 1 calc(100% - 140px);
  border-left: 1px solid #59B23E;
  padding: 6px 20px; }

.articlesingle__main__tags {
  margin-left: -14px;
  margin: 6px 0 0 -14px; }
  .articlesingle__main__tags li {
    display: inline-block;
    margin: 6px 0 0 14px; }
  .articlesingle__main__tags a {
    color: #59B23E;
    font-size: 11px; }

@media (max-width: 640px) {
  .articlesingle__main__title {
    font-size: 13px;
    line-height: 22px;
    padding-bottom: 4px; }
  .articlesingle__main__comment {
    margin: 12px 0 0; }
  .articlesingle__main__comment__label {
    font-size: 10px;
    margin: 0 0 12px; }
  .articlesingle__main__comment__text {
    font-size: 12px;
    line-height: 18px; }
  .articlesingle__main__baloon {
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 11px;
    line-height: 18px;
    margin: 22px 0 0;
    text-align: left; }
    .articlesingle__main__baloon:before, .articlesingle__main__baloon:after {
      border-width: 0 8px 11px 8px;
      top: -11px;
      margin-left: -8px; }
    .articlesingle__main__baloon:after {
      -ms-transform: translate(0px, 3.5px);
          transform: translate(0px, 3.5px); }
  .articlesingle__main__detail {
    font-size: 11px;
    line-height: 16px;
    margin: 30px 0 0; }
  .articlesingle__main__detail__term,
  .articlesingle__main__detail__description {
    border-top: 1px solid #59B23E; }
  .articlesingle__main__detail__term {
    width: 100px;
    -ms-flex: 0 1 100px;
        flex: 0 1 100px;
    text-align: center;
    padding: 3px 10px; }
  .articlesingle__main__detail__description {
    width: calc(100% - 100px);
    -ms-flex: 0 1 calc(100% - 100px);
        flex: 0 1 calc(100% - 100px);
    border-left: 1px solid #59B23E;
    padding: 3px 10px; }
  .articlesingle__main__tags {
    margin-left: -8px;
    margin: 4px 0 0 -8px; }
    .articlesingle__main__tags li {
      display: inline-block;
      margin: 4px 0 0 8px; }
    .articlesingle__main__tags a {
      color: #59B23E;
      font-size: 11px; } }

.articlesingle__side {
  padding-top: 32px; }

.articlesingle__side__links__link {
  width: 100%;
  height: 44px;
  line-height: 40px; }
  .articlesingle__side__links__link br {
    display: none; }
  .articlesingle__side__links__link + .articlesingle__side__links__link {
    margin-top: 20px; }
  .articlesingle__side__links__link.arrow span:before, .articlesingle__side__links__link.arrow span:after {
    content: "";
    display: block;
    width: 12px;
    height: 22px;
    background-image: url(/images/arrow.png);
    background-size: 12px 44px;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -11px; }
  .articlesingle__side__links__link.arrow span:before {
    background-position: left top;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .articlesingle__side__links__link.arrow span:after {
    background-position: left bottom;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
  .articlesingle__side__links__link.download span:before, .articlesingle__side__links__link.download span:after {
    content: "";
    display: block;
    width: 21px;
    height: 28px;
    background-image: url(/images/download.png);
    background-size: 21px 56px;
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -14px; }
  .articlesingle__side__links__link.download span:before {
    background-position: left top;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .articlesingle__side__links__link.download span:after {
    background-position: left bottom;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }

.articlesingle__side__floorplan {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 0 0; }
  .articlesingle__side__floorplan a {
    display: block; }
  .articlesingle__side__floorplan img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto; }

@media (max-width: 640px) {
  .articlesingle__side {
    padding: 0; }
  .articlesingle__side__floorplan {
    margin: 35px 0 0; }
    .articlesingle__side__floorplan img {
      max-height: 272px; }
  .articlesingle__side__links {
    margin-top: 40px; }
  .articlesingle__side__links__link {
    width: 200px;
    height: auto;
    line-height: 18px;
    margin: 0 auto; }
    .articlesingle__side__links__link span {
      padding: 6px 0; }
    .articlesingle__side__links__link br {
      display: block; }
    .articlesingle__side__links__link + .articlesingle__side__links__link {
      margin-top: 15px; }
    .articlesingle__side__links__link.arrow span:before, .articlesingle__side__links__link.arrow span:after {
      width: 8px;
      height: 14px;
      background-image: url(/images/arrow.png);
      background-size: 8px 28px;
      right: 10px;
      margin-top: -7px; }
    .articlesingle__side__links__link.download span:before, .articlesingle__side__links__link.download span:after {
      width: 15px;
      height: 20px;
      background-size: 15px 40px;
      right: 15px;
      top: 50%;
      margin-top: -10px; } }

.company__detail {
  position: relative;
  width: 740px;
  height: auto;
  margin: 110px auto 0;
  border-bottom: 2px solid #59B23E; }
  .company__detail dl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .company__detail dt,
  .company__detail dd {
    font-size: 12px;
    line-height: 28px;
    border-top: 2px solid #59B23E;
    color: #3C3C3C;
    padding: 6px 10px;
    box-sizing: border-box; }
    .company__detail dt a,
    .company__detail dd a {
      color: #3C3C3C;
      text-decoration: none; }
  .company__detail dt {
    width: 170px;
    -ms-flex: 0 0 170px;
        flex: 0 0 170px; }
  .company__detail dd {
    width: 570px;
    -ms-flex: 0 0 570px;
        flex: 0 0 570px; }

@media (max-width: 640px) {
  .company__detail {
    width: calc(100% - 50px);
    margin: 20px auto 0;
    border-bottom: 0px; }
    .company__detail dl {
      display: block; }
    .company__detail dt,
    .company__detail dd {
      width: 100%;
      font-size: 11px;
      line-height: 18px;
      padding: 0; }
    .company__detail dt {
      border-top: 1px solid #59B23E;
      margin: 8px 0 2px;
      padding: 8px 0 0; }
      .company__detail dt:first-of-type {
        border-top: 0px; }
    .company__detail dd {
      border-top: 0px; }
      .company__detail dd ul li {
        position: relative;
        padding-left: 1em; }
        .company__detail dd ul li:before {
          content: "・";
          position: absolute;
          left: 0px; } }

.company__main {
  position: relative;
  width: 740px;
  height: auto;
  margin: 80px auto 0; }

.company__main__block {
  display: block;
  width: 370px;
  height: auto; }
  .company__main__block + .company__main__block {
    margin-top: 130px; }

.company__main__block__title {
  border-bottom: 2px solid #59B23E;
  font-size: 16px;
  padding-bottom: 8px;
  margin-bottom: 14px; }
  .company__main__block__title span {
    display: inline-block;
    margin-left: 10px;
    font-size: 12px;
    letter-spacing: 0.05em;
    font-family: brandon-grotesque, sans-serif;
    font-weight: 500;
    font-style: normal; }

.company__main__block__text {
  font-size: 16px;
  line-height: 30px;
  color: #3C3C3C; }
  .vision .company__main__block__text {
    font-size: 18px;
    line-height: 44px; }
  .philosophy .company__main__block__text {
    font-size: 16px;
    line-height: 30px; }

.company__main__image {
  display: block;
  width: 210px;
  height: 210px;
  box-sizing: border-box;
  border: 2px solid #59B23E;
  position: absolute;
  border-radius: 50%;
  overflow: hidden; }
  .company__main__image img {
    display: block;
    width: 210px;
    height: 210px;
    position: absolute;
    left: -2px;
    top: -2px; }
  .company__main__image.image1 {
    top: -15px;
    right: 150px; }
  .company__main__image.image2 {
    top: 105px;
    right: -98px; }
  .company__main__image.image3 {
    top: 315px;
    right: 80px; }

@media (max-width: 640px) {
  .company__main {
    width: calc(100% - 50px);
    margin: 40px auto 0;
    padding-bottom: 120px; }
  .company__main__block {
    width: 100%; }
    .company__main__block + .company__main__block {
      margin-top: 35px; }
  .company__main__block__title {
    font-size: 14px;
    padding-bottom: 8px;
    margin-bottom: 14px; }
    .company__main__block__title span {
      margin-left: 5px;
      font-size: 10px; }
  .company__main__block__text {
    font-size: 11px;
    line-height: 18px; }
    .vision .company__main__block__text {
      font-size: 11px;
      line-height: 18px; }
    .philosophy .company__main__block__text {
      font-size: 11px;
      line-height: 18px; }
  .company__main__image {
    width: 80px;
    height: 80px;
    border: 1px solid #59B23E; }
    .company__main__image img {
      width: 80px;
      height: 80px;
      left: -1px;
      top: -1px; }
    .company__main__image.image1 {
      top: 35px;
      right: 10px; }
    .company__main__image.image2 {
      top: auto;
      bottom: 20px;
      right: auto;
      left: 50%;
      margin-left: -105px; }
    .company__main__image.image3 {
      top: auto;
      bottom: 5px;
      right: 50%;
      left: auto;
      margin-right: -105px; } }

.contact__tel {
  position: relative;
  width: 190px;
  height: 42px;
  font-size: 12px;
  line-height: 38px;
  margin: 0 auto;
  display: none; }
  .contact__tel span {
    box-sizing: border-box;
    padding-left: 26px; }
    .contact__tel span:before {
      content: "";
      display: block;
      width: 20px;
      height: 26px;
      background-image: url(/images/tel.png);
      background-size: 20px 26px;
      position: absolute;
      left: 12px;
      top: 6px;
      z-index: 2; }

@media (max-width: 640px) {
  .contact__tel {
    display: block; } }

.contact__block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap; }
  .contact__block + .contact__block {
    border-top: 1px solid #59B23E; }

.contact__block__label {
  position: relative;
  width: 240px;
  -ms-flex: 0 1 240px;
      flex: 0 1 240px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.contact__block__label__text {
  position: relative;
  font-size: 14px;
  line-height: 20px;
  width: 190px;
  height: auto; }

.contact__block__label__required {
  width: 50px;
  height: 20px;
  background-color: #59B23E;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  color: #FFF;
  position: absolute;
  right: 0px;
  top: 50%;
  margin-top: -10px; }

.contact__block__body {
  position: relative;
  width: 620px;
  -ms-flex: 0 1 620px;
      flex: 0 1 620px;
  padding: 24px 0; }

@media (max-width: 640px) {
  .contact__block {
    display: block;
    padding: 12px 15px 0;
    margin: 12px 0 0; }
    .contact__block:first-child {
      padding-top: 0px;
      margin-top: 0px; }
  .contact__block__label {
    width: 100%;
    margin: 0 0 6px; }
  .contact__block__label__text {
    font-size: 12px;
    line-height: 16px;
    width: auto;
    height: auto; }
  .contact__block__label__required {
    width: auto;
    height: 16px;
    padding: 0 5px;
    font-size: 10px;
    line-height: 16px;
    position: relative;
    right: auto;
    top: auto;
    margin: 0 0 0 10px; }
  .contact__block__body {
    width: 100%;
    padding: 0 0; } }

.contact__form {
  position: relative;
  width: 860px;
  height: auto;
  margin: 80px auto 0; }

@media (max-width: 640px) {
  .contact__form {
    width: calc(100% - 20px);
    margin: 40px auto 0; } }

.contact__group + .contact__group {
  margin-top: 28px; }

.contact__group__head {
  font-size: 18px;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #59B23E;
  padding: 0 0 12px;
  margin: 0 0 24px; }

@media (max-width: 640px) {
  .contact__group + .contact__group {
    margin-top: 32px; }
  .contact__group__head {
    font-size: 14px;
    padding: 0 15px 8px;
    margin: 0 0 0px; } }

.contact__input, .contact__input--part {
  position: relative; }
  .contact__input input, .contact__input--part input {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 34px;
    border: 1px solid #707070;
    border-radius: 5px;
    font-size: 14px;
    line-height: 24px;
    padding: 8px 10px;
    outline: 0; }
  .contact__input textarea, .contact__input--part textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 200px;
    border: 1px solid #707070;
    border-radius: 10px;
    font-size: 14px;
    line-height: 24px;
    padding: 8px 10px;
    outline: 0;
    resize: none; }
  .contact__input + .contact__input, .contact__input--part + .contact__input, .contact__input + .contact__input--part, .contact__input--part + .contact__input--part {
    margin-top: 20px; }

.contact__input--part {
  padding-left: 120px; }
  .contact__input--part.zip {
    padding-left: 32px; }
    .contact__input--part.zip input {
      width: 188px; }
  .contact__input--part.prefecture {
    padding-left: 76px; }
    .contact__input--part.prefecture input {
      width: 144px; }

.contact__input__label {
  position: absolute;
  left: 0px;
  font-size: 14px;
  line-height: 34px; }

@media (max-width: 640px) {
  .contact__input input, .contact__input--part input {
    font-size: 16px; }
  .contact__input textarea, .contact__input--part textarea {
    height: 90px;
    font-size: 16px;
    border-radius: 5px; }
  .contact__input + .contact__input, .contact__input--part + .contact__input, .contact__input + .contact__input--part, .contact__input--part + .contact__input--part {
    margin-top: 10px; }
  .contact__input__label {
    font-size: 12px;
    line-height: 34px; }
  .contact__input--part {
    padding-left: 90px; }
  .contact__input--part.zip {
    padding-left: 28px; }
    .contact__input--part.zip input {
      width: 100%; }
  .contact__input--part.prefecture {
    padding-left: 66px; }
    .contact__input--part.prefecture input {
      width: 100%; } }

.contact__messages__invalid,
.contact__messages__error,
.contact__messages__done {
  display: none;
  border: 2px solid #ccc;
  width: 640px;
  height: auto;
  padding: 20px;
  text-align: center;
  margin: 60px auto; }
  .contact__messages__invalid p,
  .contact__messages__error p,
  .contact__messages__done p {
    font-size: 14px;
    line-height: 24px; }
  .contact__messages__invalid ul,
  .contact__messages__error ul,
  .contact__messages__done ul {
    font-family: fot-cezanne-pron, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    line-height: 24px;
    margin-top: 10px;
    list-style: disc inside; }
    .contact__messages__invalid ul li,
    .contact__messages__error ul li,
    .contact__messages__done ul li {
      display: none; }

.contact__messages__invalid,
.contact__messages__error {
  color: #d21e1e;
  border-color: #d21e1e; }

.contact__messages__done {
  color: #59B23E;
  border-color: #59B23E; }

@media (max-width: 640px) {
  .contact__messages__invalid,
  .contact__messages__error,
  .contact__messages__done {
    box-sizing: border-box;
    width: 100%;
    margin: 40px auto; }
    .contact__messages__invalid p,
    .contact__messages__error p,
    .contact__messages__done p {
      font-size: 12px;
      line-height: 18px; }
    .contact__messages__invalid ul,
    .contact__messages__error ul,
    .contact__messages__done ul {
      font-size: 12px;
      line-height: 18px; } }

.contact__sendbutton {
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  display: block;
  width: 200px;
  height: 44px;
  line-height: 40px;
  background: none;
  border: 0;
  padding: 0;
  font-size: 16px;
  letter-spacing: 0.05em;
  margin: 66px auto 0;
  cursor: pointer; }
  .contact__sendbutton span.default {
    display: block; }
  .contact__sendbutton span.sending {
    display: none; }
  .contact__sendbutton span.done {
    display: none; }
  .contact__sendbutton.processing > span, .contact__sendbutton.done > span {
    transition: color 0s linear, background-color 0s linear, border-color 0s linear, transform .1s linear;
    color: #FFF;
    background-color: #59B23E;
    -ms-transform: translate(2px, 2px);
        transform: translate(2px, 2px); }
  .contact__sendbutton.processing {
    opacity: 0.5 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
    .contact__sendbutton.processing span.default {
      display: none; }
    .contact__sendbutton.processing span.sending {
      display: block; }
    .contact__sendbutton.processing span.done {
      display: none; }
  .contact__sendbutton.done {
    opacity: 1 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    .contact__sendbutton.done span.default {
      display: none; }
    .contact__sendbutton.done span.sending {
      display: none; }
    .contact__sendbutton.done span.done {
      display: block; }

.faq__main {
  margin-top: 70px; }

@media (max-width: 640px) {
  .faq__main {
    margin-top: 40px; } }

.index__about {
  width: 1280px;
  height: auto;
  margin: 90px auto 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap; }

.index__about__main {
  box-sizing: border-box;
  width: 600px;
  -ms-flex: 0 1 600px;
      flex: 0 1 600px;
  padding: 90px 120px 70px;
  background-color: rgba(136, 188, 94, 0.8);
  border-radius: 20px;
  color: #FFF; }

.index__about__main__head__en {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.05em; }

.index__about__main__head__ja {
  position: relative;
  font-size: 22px;
  letter-spacing: 0.05em;
  margin-top: 28px; }
  .index__about__main__head__ja:before {
    content: "";
    display: block;
    width: 26px;
    height: 2px;
    background-color: #FFF;
    position: absolute;
    left: 0px;
    top: -14px; }

.index__about__main__text {
  font-size: 16px;
  line-height: 35px;
  letter-spacing: 0.05em;
  margin: 54px 0 60px; }

.index__about__diagram {
  width: 680px;
  -ms-flex: 0 1 680px;
      flex: 0 1 680px; }

.index__about__diagram__container {
  position: relative;
  width: 526px;
  height: auto;
  margin: -15px auto 0;
  padding: 0 0 50px; }
  .index__about__diagram__container img {
    display: block; }

.index__about__diagram__linkOwner {
  position: absolute;
  left: 0px;
  bottom: 0px; }

.index__about__diagram__linkPartner {
  position: absolute;
  right: 25px;
  bottom: 0px; }

@media (max-width: 640px) {
  .index__about {
    width: 100%;
    margin: 75px auto 0;
    display: block; }
  .index__about__main {
    width: 100%;
    padding: 30px 10px 20px;
    border-radius: 0px; }
  .index__about__main__head {
    text-align: center; }
  .index__about__main__head__en {
    font-size: 11px; }
  .index__about__main__head__ja {
    font-size: 15px;
    margin-top: 14px; }
    .index__about__main__head__ja:before {
      width: 14px;
      height: 1px;
      left: 50%;
      margin-left: -7px;
      top: -7px; }
  .index__about__main__text {
    font-size: 11px;
    line-height: 24px;
    margin: 15px 0 15px;
    text-align: center; }
  .index__about__main__link {
    margin: 0 auto; }
  .index__about__diagram {
    width: 100%; }
  .index__about__diagram__container {
    position: relative;
    width: calc(100% - 16px);
    height: auto;
    margin: 50px auto 0;
    padding: 0 0 50px; }
    .index__about__diagram__container img {
      display: block;
      width: calc(100% - 16px);
      height: auto;
      margin: 0 auto; }
  .index__about__diagram__linkOwner {
    left: 5px; }
  .index__about__diagram__linkPartner {
    right: 5px; } }

.index__faq {
  margin: 130px auto 0; }

.index__faq__main {
  margin: 70px auto 0; }

.index__faq__more {
  margin: 60px auto 0; }

@media (max-width: 640px) {
  .index__faq {
    margin: 80px auto 0; }
  .index__faq__main {
    margin: 35px auto 0; }
  .index__faq__more {
    margin: 40px auto 0; } }

.index__firstview {
  width: 100%;
  height: calc(100vh - 70px);
  min-height: 650px;
  position: relative; }

.index__firstview__hero {
  position: relative;
  width: 1280px;
  height: calc(100% - 136px);
  margin: 0 auto 0;
  top: 50px; }

.index__firstview__hero__catch {
  font-size: 44px;
  line-height: 86px;
  letter-spacing: 0.35em;
  position: absolute;
  top: 50%;
  margin-top: -158px;
  left: 120px;
  z-index: 1; }

.index__firstview__hero__slides {
  width: 894px;
  height: 100%;
  position: absolute;
  top: 0px;
  right: 0px;
  overflow: hidden;
  border-radius: 20px; }
  .index__firstview__hero__slides[data-slide="1"] .index__firstview__hero__slides__slide[data-slide="1"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .index__firstview__hero__slides[data-slide="2"] .index__firstview__hero__slides__slide[data-slide="2"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .index__firstview__hero__slides[data-slide="3"] .index__firstview__hero__slides__slide[data-slide="3"] {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.index__firstview__hero__slides__slide {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: opacity 1s linear; }
  .index__firstview__hero__slides__slide p {
    display: block;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    color: transparent;
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center; }
  .index__firstview__hero__slides__slide[data-slide="1"] {
    background-image: url(/images/index_photo_1.jpg);
    background-position: center bottom; }
    .index__firstview__hero__slides__slide[data-slide="1"] p {
      width: 184px;
      height: 105px;
      background-image: url(/images/index_catch_1.png);
      top: 65px;
      right: 47px; }
  .index__firstview__hero__slides__slide[data-slide="2"] {
    background-image: url(/images/index_photo_2.jpg); }
    .index__firstview__hero__slides__slide[data-slide="2"] p {
      width: 296px;
      height: 85px;
      background-image: url(/images/index_catch_2.png);
      bottom: 46px;
      right: 52px; }
  .index__firstview__hero__slides__slide[data-slide="3"] {
    background-image: url(/images/index_photo_3.jpg); }
    .index__firstview__hero__slides__slide[data-slide="3"] p {
      width: 336px;
      height: 85px;
      background-image: url(/images/index_catch_3.png);
      top: 50%;
      right: 32px;
      margin-top: -42px; }

.index__firstview__headline {
  position: absolute;
  left: 0px;
  bottom: 30px;
  width: calc(50% - 40px);
  min-width: 600px; }

.index__firstview__headline__message {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 480px;
  height: 30px;
  padding: 0 0 0 128px;
  margin: 0 0 10px auto;
  border-radius: 15px;
  border: 2px solid transparent;
  background-color: rgba(89, 178, 62, 0.9);
  color: #FFF;
  text-decoration: none; }
  html:not(.touch) .index__firstview__headline__message {
    transition: all .1s linear; }
    html:not(.touch) .index__firstview__headline__message .index__firstview__headline__message__label:after {
      transition: all .1s linear; }
    html:not(.touch) .index__firstview__headline__message:hover {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      background-color: #FFF;
      border-color: #59B23E;
      color: #59B23E;
      transition-duration: 0s; }
      html:not(.touch) .index__firstview__headline__message:hover .index__firstview__headline__message__label:after {
        background-color: #59B23E;
        transition-duration: 0s; }

.index__firstview__headline__message__label {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 900;
  font-style: normal;
  display: block;
  font-size: 14px;
  line-height: 26px;
  width: 128px;
  height: 26px;
  position: absolute;
  left: 0px;
  top: 0px;
  text-align: center; }
  .index__firstview__headline__message__label:after {
    content: "";
    display: block;
    width: 1px;
    height: 16px;
    position: absolute;
    right: 0px;
    top: 50%;
    margin-top: -8px;
    background-color: #FFF; }

.index__firstview__headline__message__text {
  display: block;
  width: 100%;
  height: 26px;
  font-size: 14px;
  line-height: 26px;
  text-align: center;
  letter-spacing: 0.05em; }

.index__firstview__headline__news {
  position: relative;
  overflow: hidden;
  border-radius: 0 20px 20px 0;
  background-color: rgba(89, 178, 62, 0.9); }

.index__firstview__headline__news__label {
  font-size: 16px;
  line-height: 20px;
  color: #FFF;
  text-decoration: none;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  left: calc(100% - 480px); }
  html:not(.touch) .index__firstview__headline__news__label {
    transition: color .1s linear; }
    html:not(.touch) .index__firstview__headline__news__label:hover {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      transition: color .1s linear;
      color: #d5e6cf; }

.index__firstview__headline__news__feed {
  width: 370px;
  height: auto;
  padding: 12px 0;
  margin: 0 0 0 auto; }

.index__firstview__headline__news__feed__link {
  position: relative;
  display: block;
  width: auto;
  height: 32px;
  padding-left: 90px;
  color: #FFF;
  text-decoration: none; }
  html:not(.touch) .index__firstview__headline__news__feed__link .index__firstview__headline__news__feed__cat,
  html:not(.touch) .index__firstview__headline__news__feed__link .index__firstview__headline__news__feed__name {
    transition: all .1s linear; }
  html:not(.touch) .index__firstview__headline__news__feed__link:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    html:not(.touch) .index__firstview__headline__news__feed__link:hover .index__firstview__headline__news__feed__cat {
      color: #d5e6cf;
      border-color: #d5e6cf;
      transition-duration: 0s; }
    html:not(.touch) .index__firstview__headline__news__feed__link:hover .index__firstview__headline__news__feed__name {
      color: #d5e6cf;
      transition-duration: 0s; }

.index__firstview__headline__news__feed__cat {
  display: block;
  width: 60px;
  height: 16px;
  box-sizing: border-box;
  border: 1px solid #FFF;
  font-size: 10px;
  text-align: center;
  line-height: 14px;
  letter-spacing: 0.05em;
  position: absolute;
  left: 0px;
  top: 8px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

.index__firstview__headline__news__feed__name {
  font-size: 12px;
  line-height: 32px;
  letter-spacing: 0.12em;
  display: block;
  width: 100%;
  height: auto;
  box-sizing: border-box;
  padding-right: 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

@media (max-width: 640px) {
  .index__firstview {
    min-height: 0px;
    padding-bottom: 86px; }
  .index__firstview__hero {
    width: calc(100% - 60px);
    height: calc(100% - 125px);
    margin: 0 0 0 auto;
    top: 45px; }
  .index__firstview__hero__catch {
    font-size: 25px;
    line-height: 45px;
    letter-spacing: 0.17em;
    margin-top: -70px;
    left: -50px; }
  .index__firstview__hero__slides {
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 10px; }
  .index__firstview__hero__slides__slide[data-slide="1"] p {
    width: 108px;
    height: 61.63px;
    top: auto;
    bottom: 70px;
    right: 15px; }
  .index__firstview__hero__slides__slide[data-slide="2"] p {
    width: 173.74px;
    height: 49.89px;
    bottom: 70px;
    right: 15px; }
  .index__firstview__hero__slides__slide[data-slide="3"] p {
    width: 197.22px;
    height: 49.89px;
    top: auto;
    margin-top: 0px;
    bottom: 70px;
    right: 15px; }
  .index__firstview__headline {
    position: relative;
    left: 0px;
    bottom: auto;
    margin-top: -5px;
    width: calc(100% - 40px);
    min-width: 0px;
    height: 216px; }
  .index__firstview__headline__message {
    width: 100%;
    height: 20px;
    padding: 0 0 0 60px;
    margin: 0 0 8px 0;
    border-radius: 0 10px 10px 0; }
  .index__firstview__headline__message__label {
    font-size: 9px;
    line-height: 18px;
    width: 60px;
    height: 18px; }
    .index__firstview__headline__message__label:after {
      height: 8px;
      margin-top: -4px; }
  .index__firstview__headline__message__text {
    height: 18px;
    font-size: 10px;
    line-height: 17px; }
  .index__firstview__headline__news {
    border-radius: 0 10px 10px 0;
    padding: 14px 10px 14px 45px; }
  .index__firstview__headline__news__label {
    font-size: 14px;
    line-height: 20px;
    position: relative;
    top: auto;
    left: auto;
    margin: 0 0 12px;
    display: block; }
  .index__firstview__headline__news__feed {
    width: auto;
    height: auto;
    padding: 0 0;
    margin: 0 0 0 0; }
  .index__firstview__headline__news__feed__link {
    height: auto;
    padding-left: 0px;
    margin: 10px 0 0; }
  .index__firstview__headline__news__feed__cat {
    width: 50px;
    height: 14px;
    border: 1px solid #FFF;
    margin: 0 0 4px;
    font-size: 8px;
    line-height: 12px;
    position: relative;
    left: 0px;
    top: 0px; }
  .index__firstview__headline__news__feed__name {
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 0em;
    padding-right: 10px; } }

.index__product {
  margin: 130px auto 0; }

.index__product__lead {
  font-size: 14px;
  line-height: 23px;
  text-align: center;
  margin: 26px auto 0; }

.index__product__articles {
  margin: 34px auto 0; }
  .index__product__articles .articlelist__product {
    margin-bottom: 0px; }

.index__product__articles__more {
  margin: 60px auto 0; }

@media (max-width: 640px) {
  .index__product {
    margin: 80px auto 0; }
  .index__product__lead {
    width: calc(100% - 50px);
    font-size: 12px;
    line-height: 18px;
    margin: 26px auto 0; }
    .index__product__lead br {
      display: none; }
    .index__product__lead span {
      font-family: fot-cezanne-pron, sans-serif;
      font-weight: 500;
      font-style: normal;
      display: block;
      font-size: 11px;
      color: #3C3C3C;
      margin-top: 4px; }
  .index__product__articles {
    margin: 34px auto 0; }
    .index__product__articles .articlelist__product {
      margin-bottom: 18px; }
  .index__product__articles__more {
    margin: 40px auto 0; } }

.index__realestate {
  margin: 100px auto 0; }

.index__realestate__lead {
  font-size: 14px;
  line-height: 23px;
  text-align: center;
  margin: 26px auto 0; }
  .index__realestate__lead span {
    font-family: fot-cezanne-pron, sans-serif;
    font-weight: 500;
    font-style: normal;
    display: block;
    font-size: 12px;
    color: #3C3C3C;
    margin-top: 2px; }

.index__realestate__articles {
  margin: 34px auto 0; }
  .index__realestate__articles .articlelist__realestate {
    margin-bottom: 0px; }

.index__realestate__articles__more {
  margin: 60px auto 0; }

@media (max-width: 640px) {
  .index__realestate {
    margin: 80px auto 0; }
  .index__realestate__lead {
    width: calc(100% - 50px);
    font-size: 12px;
    line-height: 18px;
    margin: 26px auto 0; }
    .index__realestate__lead br {
      display: none; }
    .index__realestate__lead span {
      font-family: fot-cezanne-pron, sans-serif;
      font-weight: 500;
      font-style: normal;
      display: block;
      font-size: 11px;
      color: #3C3C3C;
      margin-top: 4px; }
  .index__realestate__articles {
    margin: 34px auto 0; }
    .index__realestate__articles .articlelist__realestate {
      margin-bottom: 18px; }
  .index__realestate__articles__more {
    margin: 40px auto 0; } }

.index__welcome {
  margin: 120px auto 0;
  width: 942px; }

.index__welcome__lead {
  position: relative;
  font-size: 18px;
  text-align: center;
  margin: 55px auto 70px; }
  .index__welcome__lead:before {
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    left: 50%;
    -ms-transform: translate(-50%, 0px);
        transform: translate(-50%, 0px);
    bottom: -4px;
    z-index: -1; }

.index__welcome__grid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: center;
      justify-content: center; }

.index__welcome__grid__block {
  position: relative;
  box-sizing: border-box;
  -ms-flex: 0 1 282px;
      flex: 0 1 282px;
  width: 282px;
  height: auto;
  padding: 30px 10px 20px;
  margin: 0 16px 42px 16px;
  border-radius: 10px; }

.index__welcome__grid__block__mark {
  position: absolute;
  left: -14px;
  top: -14px; }
  .index__welcome__grid__block__mark span {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 900;
    font-style: normal;
    width: 100%;
    height: 18px;
    color: #FFF;
    text-align: center;
    font-size: 12px;
    line-height: 20px;
    position: absolute;
    left: 0px;
    top: 50%;
    margin-top: -10px; }

.index__welcome__grid__block__image {
  width: 90px;
  height: 90px;
  margin: 0 auto; }
  .index__welcome__grid__block__image img {
    display: block;
    width: 100%;
    height: 100%; }

.index__welcome__grid__block__title {
  font-size: 17px;
  text-align: center;
  margin: 9px 0 10px; }

.index__welcome__grid__block__text {
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  min-height: 54px; }

.index__welcome__group--before .index__welcome__lead:before {
  width: 168px;
  background-color: #CCCCCC; }

.index__welcome__group--before .index__welcome__grid__block {
  background-color: #E6E6E6; }

.index__welcome__group--before .index__welcome__grid__block__title {
  color: #000; }

.index__welcome__group--before .index__welcome__grid__block__mark {
  width: 54px;
  height: 54px;
  background-image: url(/images/ng.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }

.index__welcome__group--after {
  position: relative;
  margin-top: 60px; }
  .index__welcome__group--after:before {
    content: "";
    display: block;
    width: 71px;
    height: 30px;
    background-image: url(/images/index_welcome_arrow.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    margin-left: -35px;
    top: -64px; }
  .index__welcome__group--after .index__welcome__lead:before {
    width: 220px;
    background-color: #59B23E; }
  .index__welcome__group--after .index__welcome__grid__block {
    background-color: rgba(89, 178, 62, 0.25); }
  .index__welcome__group--after .index__welcome__grid__block__title {
    color: #59B23E;
    margin-top: 14px; }
  .index__welcome__group--after .index__welcome__grid__block__mark {
    width: 64px;
    height: 64px;
    background-color: #59B23E;
    border-radius: 50%; }

@media (max-width: 640px) {
  .index__welcome {
    margin: 80px auto 0;
    width: calc(100% - 20px); }
  .index__welcome__lead {
    position: relative;
    font-size: 12px;
    text-align: center;
    margin: 30px auto 40px; }
    .index__welcome__lead:before {
      height: 7px;
      bottom: -3px; }
  .index__welcome__grid {
    display: block; }
  .index__welcome__grid__block {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 120px;
    padding: 22px 0px 15px 108px;
    margin: 0 0 22px;
    border-radius: 10px; }
  .index__welcome__grid__block__mark {
    position: absolute;
    left: -1px;
    top: -17px; }
    .index__welcome__grid__block__mark span {
      font-size: 7px; }
  .index__welcome__grid__block__image {
    position: absolute;
    left: 14px;
    top: 50%;
    margin-top: -45px; }
  .index__welcome__grid__block__title {
    font-size: 13px;
    text-align: left;
    padding: 0 12px;
    margin: 0px 0 10px; }
  .index__welcome__grid__block__text {
    text-align: left;
    min-height: 0px;
    padding: 0 12px; }
    .index__welcome__grid__block__text br {
      display: none; }
  .index__welcome__group--before .index__welcome__lead:before {
    width: 120px; }
  .index__welcome__group--before .index__welcome__grid__block__mark {
    width: 34px;
    height: 34px; }
  .index__welcome__group--after {
    position: relative;
    margin-top: 60px; }
    .index__welcome__group--after:before {
      content: "";
      display: block;
      width: 34px;
      height: 14px;
      margin-left: -17px;
      top: -32px; }
    .index__welcome__group--after .index__welcome__lead:before {
      width: 146px;
      background-color: #59B23E; }
    .index__welcome__group--after .index__welcome__grid__block__title {
      color: #59B23E;
      margin: 0 0 8px; }
    .index__welcome__group--after .index__welcome__grid__block__mark {
      width: 38px;
      height: 38px; }
    .index__welcome__group--after .index__welcome__grid__block__image img {
      display: block;
      width: 90%;
      height: 90%;
      margin: 5%; } }

.message__body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  width: 862px;
  height: auto;
  margin: 100px auto 0;
  padding: 40px 0;
  border-top: 2px solid #59B23E;
  border-bottom: 2px solid #59B23E; }

.message__body__main {
  width: 505px;
  height: auto;
  -ms-flex: 0 0 505px;
      flex: 0 0 505px;
  margin-right: 45px;
  font-size: 16px;
  line-height: 27px;
  letter-spacing: 0.05em;
  color: #3C3C3C; }
  .message__body__main p + p {
    margin-top: 27px; }

.message__body__profile {
  width: auto;
  height: auto;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.message__body__profile__photo img {
  display: block; }

.message__body__profile__position {
  font-size: 14px;
  margin: 20px 0 0; }

.message__body__profile__name {
  font-size: 24px;
  margin: 8px 0 0; }

.message__body__profile__certs {
  font-size: 12px;
  line-height: 24px;
  margin: 20px 0 0; }
  .message__body__profile__certs li > span {
    display: inline-block;
    position: relative; }
    .message__body__profile__certs li > span:before {
      content: "";
      display: block;
      width: 100%;
      height: 7px;
      background-color: #9FC97E;
      position: absolute;
      left: 0px;
      bottom: 5px;
      z-index: 0; }
  .message__body__profile__certs li > span > span {
    position: relative;
    z-index: 1; }

@media (max-width: 640px) {
  .message__body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
    width: calc(100% - 50px);
    margin: 35px auto 0;
    padding: 0;
    border-top: 0px;
    border-bottom: 2px solid #59B23E; }
  .message__body__profile {
    -ms-flex-order: 1;
        order: 1;
    position: relative;
    box-sizing: border-box;
    width: 240px;
    height: 162px;
    padding-left: 120px;
    margin: 0 auto; }
  .message__body__profile__photo {
    position: absolute;
    left: 0px;
    top: 0px; }
    .message__body__profile__photo img {
      display: block;
      width: 108px;
      height: auto; }
  .message__body__profile__position {
    font-size: 10px;
    margin: 36px 0 0;
    letter-spacing: 0px; }
  .message__body__profile__name {
    font-size: 14px;
    margin: 8px 0 0; }
  .message__body__profile__certs {
    font-size: 11px;
    line-height: 20px;
    margin: 14px 0 0;
    letter-spacing: 0px; }
    .message__body__profile__certs li > span {
      display: inline-block;
      position: relative; }
      .message__body__profile__certs li > span:before {
        content: "";
        display: block;
        width: 100%;
        height: 5px;
        background-color: #9FC97E;
        position: absolute;
        left: 0px;
        bottom: 3px;
        z-index: 0; }
    .message__body__profile__certs li > span > span {
      position: relative;
      z-index: 1; }
  .message__body__main {
    -ms-flex-order: 2;
        order: 2;
    box-sizing: border-box;
    width: 100%;
    margin: 35px auto 0;
    padding: 30px 15px;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.05em;
    border-top: 2px solid #59B23E; }
    .message__body__main br {
      display: none; }
    .message__body__main p + p {
      margin-top: 18px; } }

.news__archives {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 0 40px; }

.news__archives__title {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  padding: 22px 0 0;
  border-bottom: 2px solid #59B23E;
  font-size: 16px;
  color: #59B23E; }

.news__archives__list {
  margin: 20px 0 0; }

.news__archives__list__item {
  padding: 6px 0; }

.news__archives__list__item__link {
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  display: block;
  position: relative;
  font-size: 13px;
  line-height: 28px;
  color: #666666;
  text-decoration: none;
  padding: 0 0 0 66px; }
  .news__archives__list__item__link:before {
    content: "";
    display: block;
    width: 33px;
    height: 2px;
    background-color: #777777;
    position: absolute;
    left: 0px;
    top: 50%;
    margin-top: -1px; }
  html:not(.touch) .news__archives__list__item__link {
    transition: color .1s linear; }
    html:not(.touch) .news__archives__list__item__link:before {
      transition: background-color .1s linear; }
    html:not(.touch) .news__archives__list__item__link:hover {
      transition-duration: 0s;
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      color: #8dba77; }
      html:not(.touch) .news__archives__list__item__link:hover:before {
        transition-duration: 0s;
        background-color: #8dba77; }

@media (max-width: 640px) {
  .news__archives {
    margin: 30px 0 0; }
  .news__archives__title {
    height: auto;
    padding: 0 0 8px;
    font-size: 14px;
    color: #59B23E;
    text-align: center; }
  .news__archives__list {
    margin: 14px 0 0; }
  .news__archives__list__item {
    padding: 0; }
  .news__archives__list__item__link {
    font-size: 12px;
    line-height: 30px;
    text-decoration: none;
    padding: 0 0 0 72px; }
    .news__archives__list__item__link:before {
      width: 28px;
      height: 1px;
      left: 16px; } }

.news__articles {
  position: relative; }

.news__articles__texonomy {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  padding-top: 18px;
  border-bottom: 2px solid #59B23E;
  font-size: 0px;
  line-height: 0px;
  letter-spacing: 0px; }

.news__articles__texonomy__term {
  position: relative;
  display: inline-block;
  width: auto;
  height: 24px;
  padding: 0 24px;
  font-size: 13px;
  line-height: 24px;
  letter-spacing: 0.1em;
  color: #777777;
  text-decoration: none; }
  .news__articles__texonomy__term + .news__articles__texonomy__term:before {
    content: "";
    display: block;
    width: 1px;
    height: 10px;
    background-color: #777777;
    position: absolute;
    left: 0px;
    top: 50%;
    margin-top: -5px; }
  .news__articles__texonomy__term.current {
    color: #59B23E; }
  html:not(.touch) .news__articles__texonomy__term {
    transition: color .1s linear; }
    html:not(.touch) .news__articles__texonomy__term:hover {
      transition-duration: 0s;
      color: #8dba77;
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.news__articles__monthLabel {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  padding: 20px 0 0;
  border-bottom: 2px solid #59B23E;
  font-size: 18px;
  color: #000; }

.news__articles__list {
  position: relative;
  width: 100%;
  height: auto;
  padding: 36px 0;
  border-bottom: 2px solid #59B23E; }

.news__articles__item {
  position: relative;
  display: block;
  padding-right: 20px; }
  .news__articles__item + .news__articles__item {
    margin-top: 30px; }

.news__articles__item__link {
  display: block;
  position: relative;
  width: auto;
  height: auto;
  min-height: 90px;
  padding-left: 118px;
  color: #000;
  text-decoration: none; }

.news__articles__item__thumb {
  display: block;
  width: 90px;
  height: 90px;
  position: absolute;
  left: 0px;
  top: 0px;
  overflow: hidden; }
  .news__articles__item__thumb img {
    display: block;
    width: auto;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
  .news__articles__item__thumb:empty {
    background-color: #88BC5E;
    background-image: url(/images/news_article_blankthumb.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }

.news__articles__item__term {
  position: relative;
  width: 74px;
  height: 22px;
  background-color: #59B23E;
  font-size: 12px;
  text-align: center;
  line-height: 22px;
  color: #FFF;
  letter-spacing: 0.1em; }

.news__articles__item__title {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 20px;
  color: #666666;
  margin: 12px 0 4px; }

.news__articles__item__date {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 16px;
  color: #666666; }

@media (max-width: 640px) {
  .news__articles__texonomy {
    width: 100%;
    height: auto;
    padding-top: 0px; }
  .news__articles__texonomy__list {
    position: relative;
    width: 100%;
    height: auto;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    max-width: 420px;
    min-width: 300px;
    margin: 0 auto; }
  .news__articles__texonomy__term {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    padding: 0 10px;
    font-size: 10px;
    line-height: 24px;
    letter-spacing: 0.1em;
    color: #777777;
    text-decoration: none; }
    .news__articles__texonomy__term + .news__articles__texonomy__term:before {
      height: 8px;
      margin-top: -4px; }
  .news__articles__monthLabel {
    height: auto;
    padding: 0 0 8px;
    font-size: 14px;
    color: #000;
    text-align: center; }
  .news__articles__list {
    padding: 25px 0; }
  .news__articles__item {
    padding-right: 0px; }
    .news__articles__item + .news__articles__item {
      margin-top: 18px; }
  .news__articles__item__link {
    min-height: 68px;
    padding-left: 78px; }
  .news__articles__item__thumb {
    width: 68px;
    height: 68px; }
  .news__articles__item__term {
    width: 55px;
    height: 17px;
    font-size: 9px;
    line-height: 17px; }
  .news__articles__item__title {
    font-size: 12px;
    line-height: 18px;
    margin: 8px 0 0px; }
  .news__articles__item__date {
    font-size: 9px;
    line-height: 16px;
    color: #666666; } }

.news__body {
  width: 920px;
  height: auto;
  position: relative;
  margin: 64px auto 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.news__body__main {
  width: 620px; }

.news__body__sub {
  width: 270px; }

@media (max-width: 640px) {
  .news__body {
    width: calc(100% - 20px);
    height: auto;
    position: relative;
    margin: 40px auto 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .news__body__main {
    -ms-flex-order: 1;
        order: 1;
    width: 100%; }
  .news__body__sub {
    -ms-flex-order: 2;
        order: 2;
    width: 100%;
    margin: 20px 0 0; } }

.news__navigation {
  margin-top: 30px;
  border-top: 2px solid #59B23E;
  padding-top: 36px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: center;
      justify-content: center; }

.news__navigation__back,
.news__navigation__category {
  margin: 0 13px;
  width: 150px;
  height: 38px;
  line-height: 34px; }

@media (max-width: 640px) {
  .news__navigation {
    margin-top: 30px;
    border-top: 2px solid #59B23E;
    padding-top: 25px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-pack: center;
        justify-content: center; }
  .news__navigation__back,
  .news__navigation__category {
    width: 130px;
    height: 28px;
    line-height: 24px; }
  .news__navigation__back {
    margin: 0; }
  .news__navigation__category {
    margin: 0 0 0 30px; } }

.news__pager {
  position: relative;
  width: 100%;
  height: auto;
  font-size: 0px;
  line-height: 0px;
  letter-spacing: 0px;
  text-align: center;
  margin: 30px 0 0; }

.news__pager__page {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 500;
  font-style: normal;
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  width: auto;
  min-width: 35px;
  height: 35px;
  padding: 0 6px;
  border: 1px solid #777777;
  border-radius: 5px;
  background-color: #FFF;
  color: #777777;
  font-size: 18px;
  line-height: 33px;
  text-decoration: none;
  text-align: center;
  vertical-align: top;
  margin: 0 4px 8px; }
  .news__pager__page:first-child {
    margin-left: 0px; }
  .news__pager__page:last-child {
    margin-right: 0px; }
  .news__pager__page.current {
    border-color: #88BC5E;
    background-color: #88BC5E;
    color: #FFF;
    cursor: default; }
  html:not(.touch) .news__pager__page:not(.current) {
    transition: background-color .1s linear; }
    html:not(.touch) .news__pager__page:not(.current):hover {
      transition-duration: 0s;
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      background-color: #efefef; }

.news__pager__extend {
  position: relative;
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #777777;
  margin: 16px 16px;
  vertical-align: top; }
  .news__pager__extend:before, .news__pager__extend:after {
    content: "";
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    position: absolute;
    background-color: #777777; }
  .news__pager__extend:before {
    left: -7px; }
  .news__pager__extend:after {
    right: -7px; }

@media (max-width: 640px) {
  .news__pager {
    margin: 25px 0 0; }
  .news__pager__page {
    min-width: 28px;
    height: 28px;
    padding: 0 4px;
    font-size: 13px;
    line-height: 26px;
    margin: 0 4px 8px; }
  .news__pager__extend {
    margin: 13px 16px; } }

.news__recents {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 0 40px; }

.news__recents__title {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  padding: 22px 0 0;
  border-bottom: 2px solid #59B23E;
  font-size: 16px;
  color: #59B23E; }

.news__recents__list {
  margin-top: 24px; }

.news__recents__item + .news__recents__item {
  margin: 18px 0 0; }

.news__recents__item__link {
  display: block;
  color: #666666;
  text-decoration: none; }
  html:not(.touch) .news__recents__item__link .news__recents__item__title,
  html:not(.touch) .news__recents__item__link .news__recents__item__date {
    transition: color .1s linear; }
  html:not(.touch) .news__recents__item__link:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    html:not(.touch) .news__recents__item__link:hover .news__recents__item__title,
    html:not(.touch) .news__recents__item__link:hover .news__recents__item__date {
      transition-duration: 0s;
      color: #8dba77; }

.news__recents__item__title {
  display: block;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.1em; }

.news__recents__item__date {
  font-family: brandon-grotesque, sans-serif;
  font-weight: 500;
  font-style: normal;
  display: block;
  font-size: 11px;
  margin: 6px 0 0; }

@media (max-width: 640px) {
  .news__recents {
    margin: 30px 0 0; }
  .news__recents__title {
    height: auto;
    padding: 0 0 8px;
    font-size: 14px;
    color: #59B23E;
    text-align: center; }
  .news__recents__item {
    margin: 0 15px; }
    .news__recents__item + .news__recents__item {
      margin: 18px 15px 0; } }

.news__single {
  position: relative;
  width: 100%;
  height: auto; }

.news__single__head {
  position: relative;
  width: 100%;
  height: auto; }

.news__single__head__title {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  padding-top: 16px;
  margin-bottom: 10px;
  font-size: 22px;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #59B23E; }

.news__single__head__date {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.05em;
  color: #59B23E;
  margin-right: 10px; }

.news__single__head__category {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.05em;
  color: #59B23E; }

.news__single__body {
  position: relative;
  box-sizing: border-box;
  margin-top: 54px; }

@media (max-width: 640px) {
  .news__single__head__title {
    height: auto;
    padding: 0 15px 8px;
    margin-bottom: 2px;
    letter-spacing: 0px;
    font-size: 14px; }
  .news__single__head__date {
    font-size: 9px;
    letter-spacing: 0px;
    margin-right: 6px;
    margin-left: 15px; }
  .news__single__head__category {
    font-size: 9px;
    letter-spacing: 0px; }
  .news__single__body {
    position: relative;
    box-sizing: border-box;
    margin-top: 25px; } }

.partners__icon img {
  display: block;
  margin: 0 auto; }

.partners__title {
  font-size: 18px;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #59B23E;
  padding-bottom: 14px;
  text-align: center;
  width: 860px;
  margin: 0 auto; }

.partners__block {
  width: 860px;
  margin: 50px auto 0; }

@media (max-width: 640px) {
  .partners__icon img {
    width: 112px;
    height: auto; }
  .partners__title {
    font-size: 13px;
    padding-bottom: 6px;
    width: 100%;
    margin: 0 auto; }
  .partners__block {
    width: calc(100% - 50px);
    margin-top: 35px; }
    .partners__block + .partners__block {
      margin-top: 35px; }
  .partners .sectiontitle {
    margin-bottom: 30px; }
  .partners .sectiontitle__catch {
    display: block;
    font-size: 11px;
    margin-left: 180px;
    top: -9px;
    margin-top: 0px;
    line-height: 34px;
    height: 34px;
    position: absolute;
    left: 50%;
    margin-left: 60px; }
    .partners .sectiontitle__catch:after {
      display: none; }
    .partners .sectiontitle__catch:before {
      width: 30px;
      height: 34px;
      top: 0px;
      left: -16px;
      margin-top: 0px;
      background-image: url(/images/sectiontitle_catch_sp.png);
      background-color: transparent;
      -ms-transform: none;
          transform: none; } }

.partners__detail {
  width: 860px;
  height: auto;
  margin: 45px auto 0; }
  .partners__detail dl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
  .partners__detail dt {
    width: 310px;
    margin-right: 50px;
    text-align: right;
    font-size: 14px;
    line-height: 26px;
    margin-top: 26px; }
    .partners__detail dt:first-of-type {
      margin-top: 0px; }
    .partners__detail dt span {
      display: inline-block;
      position: relative; }
      .partners__detail dt span:before {
        content: "";
        display: block;
        width: 100%;
        height: 6px;
        background-color: #59B23E;
        position: absolute;
        left: 0px;
        bottom: 4px;
        z-index: -1; }
  .partners__detail dd {
    font-family: fot-cezanne-pron, sans-serif;
    font-weight: 500;
    font-style: normal;
    width: 500px;
    text-align: left;
    font-size: 14px;
    line-height: 26px;
    margin-top: 26px; }
    .partners__detail dd:first-of-type {
      margin-top: 0px; }
    .partners__detail dd span {
      display: block;
      font-size: 12px;
      margin: 4px 0 0; }

@media (max-width: 640px) {
  .partners__detail {
    width: 100%;
    margin: 20px auto 0; }
    .partners__detail dl {
      display: block; }
    .partners__detail dt {
      width: 100%;
      margin-right: 0;
      text-align: left;
      font-size: 12px;
      line-height: 26px;
      margin-top: 18px; }
      .partners__detail dt span {
        display: inline-block;
        position: relative; }
        .partners__detail dt span:before {
          height: 3px;
          bottom: 5px; }
    .partners__detail dd {
      width: 100%;
      font-size: 11px;
      line-height: 18px;
      margin-top: 0; }
      .partners__detail dd span {
        display: block;
        font-size: 12px;
        margin: 4px 0 0; } }

.partners__owner {
  margin: 45px 0 0; }
  .partners__owner p {
    font-family: fot-cezanne-pron, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    line-height: 26px;
    text-align: center; }
  .partners__owner p + p {
    margin-top: 26px; }

.partners__owner__images {
  position: relative;
  width: 100%;
  height: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin: 45px 0 0; }

.partners__owner__images__image {
  display: block;
  width: calc(50% - 14px);
  height: auto; }
  .partners__owner__images__image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px; }
  .partners__owner__images__image span {
    font-family: brandon-grotesque, sans-serif;
    font-weight: 400;
    font-style: normal;
    display: block;
    font-size: 17px;
    letter-spacing: 0.05em;
    line-height: 22px;
    text-align: center;
    margin: 6px 0 0; }
    .partners__owner__images__image span span {
      display: inline-block;
      border-bottom: 2px solid #59B23E; }

@media (max-width: 640px) {
  .partners__owner {
    margin: 20px 0 0; }
    .partners__owner p {
      font-size: 11px;
      line-height: 18px;
      text-align: left; }
    .partners__owner p + p {
      margin-top: 18px; }
  .partners__owner__images {
    margin: 20px 0 0; }
  .partners__owner__images__image {
    display: block;
    width: calc(50% - 5px);
    height: auto; }
    .partners__owner__images__image img {
      border-radius: 5px; }
    .partners__owner__images__image span {
      font-size: 11px;
      line-height: 16px;
      margin: 3px 0 0; }
      .partners__owner__images__image span span {
        border-bottom: 1px solid #59B23E; } }

.partners__partner {
  position: relative;
  margin: 45px 0 0;
  padding-bottom: 90px; }
  .partners__partner br.spbr {
    display: none; }
  .partners__partner p {
    font-family: fot-cezanne-pron, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    line-height: 26px;
    text-align: center; }
  .partners__partner p + p {
    margin-top: 26px; }

.partners__partner__image {
  display: block;
  box-sizing: border-box;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #59B23E;
  position: absolute; }
  .partners__partner__image img {
    display: block;
    position: absolute;
    width: 210px;
    height: 210px;
    left: -2px;
    top: -2px; }
  .partners__partner__image.img1 {
    right: 0px;
    top: -30px; }
  .partners__partner__image.img2 {
    left: 0px;
    bottom: -15px; }

@media (max-width: 640px) {
  .partners__partner {
    margin: 20px 0 0;
    padding-bottom: 55px; }
    .partners__partner br.spbr {
      display: block; }
    .partners__partner p {
      font-size: 11px;
      line-height: 18px;
      text-align: left; }
    .partners__partner p + p {
      margin-top: 18px; }
  .partners__partner__image {
    width: 90px;
    height: 90px;
    border: 1px solid #59B23E; }
    .partners__partner__image img {
      width: 90px;
      height: 90px;
      left: -1px;
      top: -1px; }
    .partners__partner__image.img1 {
      right: 5%;
      top: -8px; }
    .partners__partner__image.img2 {
      left: auto;
      right: 3%;
      bottom: auto;
      top: 150px; } }

.privacy__main {
  width: 680px;
  height: auto;
  margin: 80px auto 0;
  font-size: 11px;
  line-height: 22px; }

@media (max-width: 640px) {
  .privacy__main {
    width: calc(100% - 50px);
    height: auto;
    margin: 40px auto 0;
    font-size: 11px;
    line-height: 18px; } }

.steps__main {
  position: relative;
  width: 900px;
  height: auto;
  margin: 0 auto; }

.steps__main__step {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  padding-right: 110px;
  min-height: 150px;
  margin-top: 50px; }
  .steps__main__step:after {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background-color: #59B23E;
    position: absolute;
    right: 50px;
    top: 50px;
    z-index: -1; }
  .steps__main__step:last-child:after {
    display: none; }

.steps__main__step__body {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  padding-left: 150px; }

.steps__main__step__icon {
  display: block;
  position: absolute;
  left: 0px;
  top: 50%;
  margin-top: -52px; }
  .steps__main__step__icon img {
    display: block; }

.steps__main__step__lead {
  font-size: 20px;
  line-height: 30px;
  color: #59B23E;
  margin-bottom: 18px; }

.steps__main__step__text {
  font-size: 16px;
  line-height: 28px;
  color: #575757; }
  .steps__main__step__text br.spbr {
    display: none; }
  .steps__main__step__text br.pcbr {
    display: block; }

.steps__main__step__baloon {
  position: relative;
  box-sizing: border-box;
  width: 316px;
  height: auto;
  padding: 8px;
  border: 2px solid #59B23E;
  margin: 26px 40px 0 auto;
  font-size: 13px;
  line-height: 24px;
  color: #59B23E;
  text-align: center; }
  .steps__main__step__baloon:before, .steps__main__step__baloon:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 19px 0 0 19px;
    position: absolute;
    left: 28px;
    top: -19px; }
  .steps__main__step__baloon:before {
    border-color: transparent transparent transparent #59B23E; }
  .steps__main__step__baloon:after {
    border-color: transparent transparent transparent #FFF;
    -ms-transform: translate(0px, 2.75px);
        transform: translate(0px, 2.75px); }

.steps__main__step__number {
  position: absolute;
  display: block;
  width: 102px;
  height: 99px;
  right: 0px;
  top: -10px;
  background-color: #FFF;
  padding-bottom: 10px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  color: transparent; }
  .steps__main__step__number.number_1 {
    background-image: url(/images/steps_number_1.png); }
  .steps__main__step__number.number_2 {
    background-image: url(/images/steps_number_2.png); }
  .steps__main__step__number.number_3 {
    background-image: url(/images/steps_number_3.png); }
  .steps__main__step__number.number_4 {
    background-image: url(/images/steps_number_4.png); }
  .steps__main__step__number.number_5 {
    background-image: url(/images/steps_number_5.png); }
  .steps__main__step__number.number_6 {
    background-image: url(/images/steps_number_6.png); }
  .steps__main__step__number.number_7 {
    background-image: url(/images/steps_number_7.png); }

@media (max-width: 640px) {
  .steps__main {
    width: calc(100% - 50px); }
  .steps__main__step {
    padding-right: 0px;
    min-height: 0px;
    margin-top: 24px;
    padding: 50px 0 0; }
    .steps__main__step:after {
      display: none; }
  .steps__main__step__number {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 36px; }
    .steps__main__step__number.number_1 {
      background-image: url(/images/steps_number_1_sp.png); }
    .steps__main__step__number.number_2 {
      background-image: url(/images/steps_number_2_sp.png); }
    .steps__main__step__number.number_3 {
      background-image: url(/images/steps_number_3_sp.png); }
    .steps__main__step__number.number_4 {
      background-image: url(/images/steps_number_4_sp.png); }
    .steps__main__step__number.number_5 {
      background-image: url(/images/steps_number_5_sp.png); }
    .steps__main__step__number.number_6 {
      background-image: url(/images/steps_number_6_sp.png); }
    .steps__main__step__number.number_7 {
      background-image: url(/images/steps_number_7_sp.png); }
  .steps__main__step__body {
    padding-left: 0px; }
  .steps__main__step__icon {
    display: block;
    position: relative;
    left: auto;
    top: auto;
    margin: 0 0 18px;
    width: 100%;
    height: 60px; }
    .steps__main__step__icon img {
      display: block;
      width: auto;
      height: 100%;
      margin: 0 auto; }
  .steps__main__step__lead {
    font-size: 13px;
    line-height: 19px;
    margin-bottom: 6px;
    text-align: center; }
  .steps__main__step__text {
    font-size: 11px;
    line-height: 17px;
    text-align: center; }
    .steps__main__step__text br.spbr {
      display: block; }
    .steps__main__step__text br.pcbr {
      display: none; }
  .steps__main__step__baloon {
    width: 100%;
    height: auto;
    padding: 4px 8px;
    border: 1px solid #59B23E;
    margin: 26px auto 0;
    font-size: 11px;
    line-height: 18px;
    color: #59B23E;
    text-align: center; }
    .steps__main__step__baloon:before, .steps__main__step__baloon:after {
      border-width: 14px 0 0 14px;
      left: 50%;
      top: -14px; }
    .steps__main__step__baloon:after {
      -ms-transform: translate(0px, 1.75px);
          transform: translate(0px, 1.75px); } }

.steps__notice {
  position: relative;
  width: 380px;
  height: auto;
  padding: 0 0 0 150px;
  margin: 60px auto 0; }

.steps__notice__label {
  position: absolute;
  left: 0px;
  color: #3C3C3C;
  top: 34px; }

.steps__notice__baloon {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  border: 2px solid #777777;
  font-size: 13px;
  line-height: 26px;
  padding: 13px 30px;
  color: #3C3C3C; }
  .steps__notice__baloon:before, .steps__notice__baloon:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 19px 19px 0;
    position: absolute;
    left: -19px;
    top: 40px; }
  .steps__notice__baloon:before {
    border-color: transparent #777777 transparent transparent; }
  .steps__notice__baloon:after {
    border-color: transparent #FFF transparent transparent;
    -ms-transform: translate(0px, -2.75px);
        transform: translate(0px, -2.75px); }

@media (max-width: 640px) {
  .steps__notice {
    width: calc(100% - 50px);
    padding: 40px 0 0;
    margin: 60px auto 0; }
  .steps__notice__label {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    text-align: center;
    font-size: 13px; }
  .steps__notice__baloon {
    border: 1px solid #777777;
    font-size: 11px;
    line-height: 18px;
    padding: 12px 10px; }
    .steps__notice__baloon:before, .steps__notice__baloon:after {
      border-width: 14px 0 0 14px;
      left: 50%;
      top: -14px; }
    .steps__notice__baloon:before {
      border-color: transparent transparent transparent #777777; }
    .steps__notice__baloon:after {
      border-color: transparent transparent transparent #FFF;
      -ms-transform: translate(0px, 1.75px);
          transform: translate(0px, 1.75px); } }
