@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; }

main {
  display: block; }

th {
  text-align: left; }

@-webkit-keyframes yuge {
  0% {
    -webkit-transform: translate(0, 20px);
    -moz-transform: translate(0, 20px);
    -ms-transform: translate(0, 20px);
    -o-transform: translate(0, 20px);
    transform: translate(0, 20px);
    opacity: 0; }
  10% {
    opacity: 1; }
  33% {
    -webkit-transform: translate(2px, 7px);
    -moz-transform: translate(2px, 7px);
    -ms-transform: translate(2px, 7px);
    -o-transform: translate(2px, 7px);
    transform: translate(2px, 7px); }
  66% {
    -webkit-transform: translate(-2px, -7px);
    -moz-transform: translate(-2px, -7px);
    -ms-transform: translate(-2px, -7px);
    -o-transform: translate(-2px, -7px);
    transform: translate(-2px, -7px); }
  100% {
    -webkit-transform: translate(0, -30px);
    -moz-transform: translate(0, -30px);
    -ms-transform: translate(0, -30px);
    -o-transform: translate(0, -30px);
    transform: translate(0, -30px);
    opacity: 0; } }
@-moz-keyframes yuge {
  0% {
    -webkit-transform: translate(0, 20px);
    -moz-transform: translate(0, 20px);
    -ms-transform: translate(0, 20px);
    -o-transform: translate(0, 20px);
    transform: translate(0, 20px);
    opacity: 0; }
  10% {
    opacity: 1; }
  33% {
    -webkit-transform: translate(2px, 7px);
    -moz-transform: translate(2px, 7px);
    -ms-transform: translate(2px, 7px);
    -o-transform: translate(2px, 7px);
    transform: translate(2px, 7px); }
  66% {
    -webkit-transform: translate(-2px, -7px);
    -moz-transform: translate(-2px, -7px);
    -ms-transform: translate(-2px, -7px);
    -o-transform: translate(-2px, -7px);
    transform: translate(-2px, -7px); }
  100% {
    -webkit-transform: translate(0, -30px);
    -moz-transform: translate(0, -30px);
    -ms-transform: translate(0, -30px);
    -o-transform: translate(0, -30px);
    transform: translate(0, -30px);
    opacity: 0; } }
@keyframes yuge {
  0% {
    -webkit-transform: translate(0, 20px);
    -moz-transform: translate(0, 20px);
    -ms-transform: translate(0, 20px);
    -o-transform: translate(0, 20px);
    transform: translate(0, 20px);
    opacity: 0; }
  10% {
    opacity: 1; }
  33% {
    -webkit-transform: translate(2px, 7px);
    -moz-transform: translate(2px, 7px);
    -ms-transform: translate(2px, 7px);
    -o-transform: translate(2px, 7px);
    transform: translate(2px, 7px); }
  66% {
    -webkit-transform: translate(-2px, -7px);
    -moz-transform: translate(-2px, -7px);
    -ms-transform: translate(-2px, -7px);
    -o-transform: translate(-2px, -7px);
    transform: translate(-2px, -7px); }
  100% {
    -webkit-transform: translate(0, -30px);
    -moz-transform: translate(0, -30px);
    -ms-transform: translate(0, -30px);
    -o-transform: translate(0, -30px);
    transform: translate(0, -30px);
    opacity: 0; } }
@-webkit-keyframes walk {
  0% {
    transform: translate(20px, -100px); }
  1% {
    transform: translate(20.196px, -98.806px); }
  2% {
    transform: translate(20.384px, -97.624px); }
  3% {
    transform: translate(20.564px, -96.454px); }
  4% {
    transform: translate(20.736px, -95.296px); }
  5% {
    transform: translate(20.9px, -94.15px); }
  6% {
    transform: translate(21.056px, -93.016px); }
  7% {
    transform: translate(21.204px, -91.894px); }
  8% {
    transform: translate(21.344px, -90.784px); }
  9% {
    transform: translate(21.476px, -89.686px); }
  10% {
    transform: translate(21.6px, -88.6px); }
  11% {
    transform: translate(21.716px, -87.526px); }
  12% {
    transform: translate(21.824px, -86.464px); }
  13% {
    transform: translate(21.924px, -85.414px); }
  14% {
    transform: translate(22.016px, -84.376px); }
  15% {
    transform: translate(22.1px, -83.35px); }
  16% {
    transform: translate(22.176px, -82.336px); }
  17% {
    transform: translate(22.244px, -81.334px); }
  18% {
    transform: translate(22.304px, -80.344px); }
  19% {
    transform: translate(22.356px, -79.366px); }
  20% {
    transform: translate(22.4px, -78.4px); }
  21% {
    transform: translate(22.436px, -77.446px); }
  22% {
    transform: translate(22.464px, -76.504px); }
  23% {
    transform: translate(22.484px, -75.574px); }
  24% {
    transform: translate(22.496px, -74.656px); }
  25% {
    transform: translate(22.5px, -73.75px); }
  26% {
    transform: translate(22.496px, -72.856px); }
  27% {
    transform: translate(22.484px, -71.974px); }
  28% {
    transform: translate(22.464px, -71.104px); }
  29% {
    transform: translate(22.436px, -70.246px); }
  30% {
    transform: translate(22.4px, -69.4px); }
  31% {
    transform: translate(22.356px, -68.566px); }
  32% {
    transform: translate(22.304px, -67.744px); }
  33% {
    transform: translate(22.244px, -66.934px); }
  34% {
    transform: translate(22.176px, -66.136px); }
  35% {
    transform: translate(22.1px, -65.35px); }
  36% {
    transform: translate(22.016px, -64.576px); }
  37% {
    transform: translate(21.924px, -63.814px); }
  38% {
    transform: translate(21.824px, -63.064px); }
  39% {
    transform: translate(21.716px, -62.326px); }
  40% {
    transform: translate(21.6px, -61.6px); }
  41% {
    transform: translate(21.476px, -60.886px); }
  42% {
    transform: translate(21.344px, -60.184px); }
  43% {
    transform: translate(21.204px, -59.494px); }
  44% {
    transform: translate(21.056px, -58.816px); }
  45% {
    transform: translate(20.9px, -58.15px); }
  46% {
    transform: translate(20.736px, -57.496px); }
  47% {
    transform: translate(20.564px, -56.854px); }
  48% {
    transform: translate(20.384px, -56.224px); }
  49% {
    transform: translate(20.196px, -55.606px); }
  50% {
    transform: translate(20px, -55px); }
  51% {
    transform: translate(19.796px, -54.406px); }
  52% {
    transform: translate(19.584px, -53.824px); }
  53% {
    transform: translate(19.364px, -53.254px); }
  54% {
    transform: translate(19.136px, -52.696px); }
  55% {
    transform: translate(18.9px, -52.15px); }
  56% {
    transform: translate(18.656px, -51.616px); }
  57% {
    transform: translate(18.404px, -51.094px); }
  58% {
    transform: translate(18.144px, -50.584px); }
  59% {
    transform: translate(17.876px, -50.086px); }
  60% {
    transform: translate(17.6px, -49.6px); }
  61% {
    transform: translate(17.316px, -49.126px); }
  62% {
    transform: translate(17.024px, -48.664px); }
  63% {
    transform: translate(16.724px, -48.214px); }
  64% {
    transform: translate(16.416px, -47.776px); }
  65% {
    transform: translate(16.1px, -47.35px); }
  66% {
    transform: translate(15.776px, -46.936px); }
  67% {
    transform: translate(15.444px, -46.534px); }
  68% {
    transform: translate(15.104px, -46.144px); }
  69% {
    transform: translate(14.756px, -45.766px); }
  70% {
    transform: translate(14.4px, -45.4px); }
  71% {
    transform: translate(14.036px, -45.046px); }
  72% {
    transform: translate(13.664px, -44.704px); }
  73% {
    transform: translate(13.284px, -44.374px); }
  74% {
    transform: translate(12.896px, -44.056px); }
  75% {
    transform: translate(12.5px, -43.75px); }
  76% {
    transform: translate(12.096px, -43.456px); }
  77% {
    transform: translate(11.684px, -43.174px); }
  78% {
    transform: translate(11.264px, -42.904px); }
  79% {
    transform: translate(10.836px, -42.646px); }
  80% {
    transform: translate(10.4px, -42.4px); }
  81% {
    transform: translate(9.956px, -42.166px); }
  82% {
    transform: translate(9.504px, -41.944px); }
  83% {
    transform: translate(9.044px, -41.734px); }
  84% {
    transform: translate(8.576px, -41.536px); }
  85% {
    transform: translate(8.1px, -41.35px); }
  86% {
    transform: translate(7.616px, -41.176px); }
  87% {
    transform: translate(7.124px, -41.014px); }
  88% {
    transform: translate(6.624px, -40.864px); }
  89% {
    transform: translate(6.116px, -40.726px); }
  90% {
    transform: translate(5.6px, -40.6px); }
  91% {
    transform: translate(5.076px, -40.486px); }
  92% {
    transform: translate(4.544px, -40.384px); }
  93% {
    transform: translate(4.004px, -40.294px); }
  94% {
    transform: translate(3.456px, -40.216px); }
  95% {
    transform: translate(2.9px, -40.15px); }
  96% {
    transform: translate(2.336px, -40.096px); }
  97% {
    transform: translate(1.764px, -40.054px); }
  98% {
    transform: translate(1.184px, -40.024px); }
  99% {
    transform: translate(0.596px, -40.006px); }
  100% {
    transform: translate(0px, -40px); } }
@-moz-keyframes walk {
  0% {
    transform: translate(20px, -100px); }
  1% {
    transform: translate(20.196px, -98.806px); }
  2% {
    transform: translate(20.384px, -97.624px); }
  3% {
    transform: translate(20.564px, -96.454px); }
  4% {
    transform: translate(20.736px, -95.296px); }
  5% {
    transform: translate(20.9px, -94.15px); }
  6% {
    transform: translate(21.056px, -93.016px); }
  7% {
    transform: translate(21.204px, -91.894px); }
  8% {
    transform: translate(21.344px, -90.784px); }
  9% {
    transform: translate(21.476px, -89.686px); }
  10% {
    transform: translate(21.6px, -88.6px); }
  11% {
    transform: translate(21.716px, -87.526px); }
  12% {
    transform: translate(21.824px, -86.464px); }
  13% {
    transform: translate(21.924px, -85.414px); }
  14% {
    transform: translate(22.016px, -84.376px); }
  15% {
    transform: translate(22.1px, -83.35px); }
  16% {
    transform: translate(22.176px, -82.336px); }
  17% {
    transform: translate(22.244px, -81.334px); }
  18% {
    transform: translate(22.304px, -80.344px); }
  19% {
    transform: translate(22.356px, -79.366px); }
  20% {
    transform: translate(22.4px, -78.4px); }
  21% {
    transform: translate(22.436px, -77.446px); }
  22% {
    transform: translate(22.464px, -76.504px); }
  23% {
    transform: translate(22.484px, -75.574px); }
  24% {
    transform: translate(22.496px, -74.656px); }
  25% {
    transform: translate(22.5px, -73.75px); }
  26% {
    transform: translate(22.496px, -72.856px); }
  27% {
    transform: translate(22.484px, -71.974px); }
  28% {
    transform: translate(22.464px, -71.104px); }
  29% {
    transform: translate(22.436px, -70.246px); }
  30% {
    transform: translate(22.4px, -69.4px); }
  31% {
    transform: translate(22.356px, -68.566px); }
  32% {
    transform: translate(22.304px, -67.744px); }
  33% {
    transform: translate(22.244px, -66.934px); }
  34% {
    transform: translate(22.176px, -66.136px); }
  35% {
    transform: translate(22.1px, -65.35px); }
  36% {
    transform: translate(22.016px, -64.576px); }
  37% {
    transform: translate(21.924px, -63.814px); }
  38% {
    transform: translate(21.824px, -63.064px); }
  39% {
    transform: translate(21.716px, -62.326px); }
  40% {
    transform: translate(21.6px, -61.6px); }
  41% {
    transform: translate(21.476px, -60.886px); }
  42% {
    transform: translate(21.344px, -60.184px); }
  43% {
    transform: translate(21.204px, -59.494px); }
  44% {
    transform: translate(21.056px, -58.816px); }
  45% {
    transform: translate(20.9px, -58.15px); }
  46% {
    transform: translate(20.736px, -57.496px); }
  47% {
    transform: translate(20.564px, -56.854px); }
  48% {
    transform: translate(20.384px, -56.224px); }
  49% {
    transform: translate(20.196px, -55.606px); }
  50% {
    transform: translate(20px, -55px); }
  51% {
    transform: translate(19.796px, -54.406px); }
  52% {
    transform: translate(19.584px, -53.824px); }
  53% {
    transform: translate(19.364px, -53.254px); }
  54% {
    transform: translate(19.136px, -52.696px); }
  55% {
    transform: translate(18.9px, -52.15px); }
  56% {
    transform: translate(18.656px, -51.616px); }
  57% {
    transform: translate(18.404px, -51.094px); }
  58% {
    transform: translate(18.144px, -50.584px); }
  59% {
    transform: translate(17.876px, -50.086px); }
  60% {
    transform: translate(17.6px, -49.6px); }
  61% {
    transform: translate(17.316px, -49.126px); }
  62% {
    transform: translate(17.024px, -48.664px); }
  63% {
    transform: translate(16.724px, -48.214px); }
  64% {
    transform: translate(16.416px, -47.776px); }
  65% {
    transform: translate(16.1px, -47.35px); }
  66% {
    transform: translate(15.776px, -46.936px); }
  67% {
    transform: translate(15.444px, -46.534px); }
  68% {
    transform: translate(15.104px, -46.144px); }
  69% {
    transform: translate(14.756px, -45.766px); }
  70% {
    transform: translate(14.4px, -45.4px); }
  71% {
    transform: translate(14.036px, -45.046px); }
  72% {
    transform: translate(13.664px, -44.704px); }
  73% {
    transform: translate(13.284px, -44.374px); }
  74% {
    transform: translate(12.896px, -44.056px); }
  75% {
    transform: translate(12.5px, -43.75px); }
  76% {
    transform: translate(12.096px, -43.456px); }
  77% {
    transform: translate(11.684px, -43.174px); }
  78% {
    transform: translate(11.264px, -42.904px); }
  79% {
    transform: translate(10.836px, -42.646px); }
  80% {
    transform: translate(10.4px, -42.4px); }
  81% {
    transform: translate(9.956px, -42.166px); }
  82% {
    transform: translate(9.504px, -41.944px); }
  83% {
    transform: translate(9.044px, -41.734px); }
  84% {
    transform: translate(8.576px, -41.536px); }
  85% {
    transform: translate(8.1px, -41.35px); }
  86% {
    transform: translate(7.616px, -41.176px); }
  87% {
    transform: translate(7.124px, -41.014px); }
  88% {
    transform: translate(6.624px, -40.864px); }
  89% {
    transform: translate(6.116px, -40.726px); }
  90% {
    transform: translate(5.6px, -40.6px); }
  91% {
    transform: translate(5.076px, -40.486px); }
  92% {
    transform: translate(4.544px, -40.384px); }
  93% {
    transform: translate(4.004px, -40.294px); }
  94% {
    transform: translate(3.456px, -40.216px); }
  95% {
    transform: translate(2.9px, -40.15px); }
  96% {
    transform: translate(2.336px, -40.096px); }
  97% {
    transform: translate(1.764px, -40.054px); }
  98% {
    transform: translate(1.184px, -40.024px); }
  99% {
    transform: translate(0.596px, -40.006px); }
  100% {
    transform: translate(0px, -40px); } }
@keyframes walk {
  0% {
    transform: translate(20px, -100px); }
  1% {
    transform: translate(20.196px, -98.806px); }
  2% {
    transform: translate(20.384px, -97.624px); }
  3% {
    transform: translate(20.564px, -96.454px); }
  4% {
    transform: translate(20.736px, -95.296px); }
  5% {
    transform: translate(20.9px, -94.15px); }
  6% {
    transform: translate(21.056px, -93.016px); }
  7% {
    transform: translate(21.204px, -91.894px); }
  8% {
    transform: translate(21.344px, -90.784px); }
  9% {
    transform: translate(21.476px, -89.686px); }
  10% {
    transform: translate(21.6px, -88.6px); }
  11% {
    transform: translate(21.716px, -87.526px); }
  12% {
    transform: translate(21.824px, -86.464px); }
  13% {
    transform: translate(21.924px, -85.414px); }
  14% {
    transform: translate(22.016px, -84.376px); }
  15% {
    transform: translate(22.1px, -83.35px); }
  16% {
    transform: translate(22.176px, -82.336px); }
  17% {
    transform: translate(22.244px, -81.334px); }
  18% {
    transform: translate(22.304px, -80.344px); }
  19% {
    transform: translate(22.356px, -79.366px); }
  20% {
    transform: translate(22.4px, -78.4px); }
  21% {
    transform: translate(22.436px, -77.446px); }
  22% {
    transform: translate(22.464px, -76.504px); }
  23% {
    transform: translate(22.484px, -75.574px); }
  24% {
    transform: translate(22.496px, -74.656px); }
  25% {
    transform: translate(22.5px, -73.75px); }
  26% {
    transform: translate(22.496px, -72.856px); }
  27% {
    transform: translate(22.484px, -71.974px); }
  28% {
    transform: translate(22.464px, -71.104px); }
  29% {
    transform: translate(22.436px, -70.246px); }
  30% {
    transform: translate(22.4px, -69.4px); }
  31% {
    transform: translate(22.356px, -68.566px); }
  32% {
    transform: translate(22.304px, -67.744px); }
  33% {
    transform: translate(22.244px, -66.934px); }
  34% {
    transform: translate(22.176px, -66.136px); }
  35% {
    transform: translate(22.1px, -65.35px); }
  36% {
    transform: translate(22.016px, -64.576px); }
  37% {
    transform: translate(21.924px, -63.814px); }
  38% {
    transform: translate(21.824px, -63.064px); }
  39% {
    transform: translate(21.716px, -62.326px); }
  40% {
    transform: translate(21.6px, -61.6px); }
  41% {
    transform: translate(21.476px, -60.886px); }
  42% {
    transform: translate(21.344px, -60.184px); }
  43% {
    transform: translate(21.204px, -59.494px); }
  44% {
    transform: translate(21.056px, -58.816px); }
  45% {
    transform: translate(20.9px, -58.15px); }
  46% {
    transform: translate(20.736px, -57.496px); }
  47% {
    transform: translate(20.564px, -56.854px); }
  48% {
    transform: translate(20.384px, -56.224px); }
  49% {
    transform: translate(20.196px, -55.606px); }
  50% {
    transform: translate(20px, -55px); }
  51% {
    transform: translate(19.796px, -54.406px); }
  52% {
    transform: translate(19.584px, -53.824px); }
  53% {
    transform: translate(19.364px, -53.254px); }
  54% {
    transform: translate(19.136px, -52.696px); }
  55% {
    transform: translate(18.9px, -52.15px); }
  56% {
    transform: translate(18.656px, -51.616px); }
  57% {
    transform: translate(18.404px, -51.094px); }
  58% {
    transform: translate(18.144px, -50.584px); }
  59% {
    transform: translate(17.876px, -50.086px); }
  60% {
    transform: translate(17.6px, -49.6px); }
  61% {
    transform: translate(17.316px, -49.126px); }
  62% {
    transform: translate(17.024px, -48.664px); }
  63% {
    transform: translate(16.724px, -48.214px); }
  64% {
    transform: translate(16.416px, -47.776px); }
  65% {
    transform: translate(16.1px, -47.35px); }
  66% {
    transform: translate(15.776px, -46.936px); }
  67% {
    transform: translate(15.444px, -46.534px); }
  68% {
    transform: translate(15.104px, -46.144px); }
  69% {
    transform: translate(14.756px, -45.766px); }
  70% {
    transform: translate(14.4px, -45.4px); }
  71% {
    transform: translate(14.036px, -45.046px); }
  72% {
    transform: translate(13.664px, -44.704px); }
  73% {
    transform: translate(13.284px, -44.374px); }
  74% {
    transform: translate(12.896px, -44.056px); }
  75% {
    transform: translate(12.5px, -43.75px); }
  76% {
    transform: translate(12.096px, -43.456px); }
  77% {
    transform: translate(11.684px, -43.174px); }
  78% {
    transform: translate(11.264px, -42.904px); }
  79% {
    transform: translate(10.836px, -42.646px); }
  80% {
    transform: translate(10.4px, -42.4px); }
  81% {
    transform: translate(9.956px, -42.166px); }
  82% {
    transform: translate(9.504px, -41.944px); }
  83% {
    transform: translate(9.044px, -41.734px); }
  84% {
    transform: translate(8.576px, -41.536px); }
  85% {
    transform: translate(8.1px, -41.35px); }
  86% {
    transform: translate(7.616px, -41.176px); }
  87% {
    transform: translate(7.124px, -41.014px); }
  88% {
    transform: translate(6.624px, -40.864px); }
  89% {
    transform: translate(6.116px, -40.726px); }
  90% {
    transform: translate(5.6px, -40.6px); }
  91% {
    transform: translate(5.076px, -40.486px); }
  92% {
    transform: translate(4.544px, -40.384px); }
  93% {
    transform: translate(4.004px, -40.294px); }
  94% {
    transform: translate(3.456px, -40.216px); }
  95% {
    transform: translate(2.9px, -40.15px); }
  96% {
    transform: translate(2.336px, -40.096px); }
  97% {
    transform: translate(1.764px, -40.054px); }
  98% {
    transform: translate(1.184px, -40.024px); }
  99% {
    transform: translate(0.596px, -40.006px); }
  100% {
    transform: translate(0px, -40px); } }
@-webkit-keyframes walk_line {
  0% {
    opacity: 0; }
  50% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }
@-moz-keyframes walk_line {
  0% {
    opacity: 0; }
  50% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }
@keyframes walk_line {
  0% {
    opacity: 0; }
  50% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }
@keyframes updown {
  from {
    transform: translateY(-2px); }
  to {
    transform: translateY(2px); } }
@-webkit-keyframes updown {
  from {
    -webkit-transform: translateY(-2px); }
  to {
    -webkit-transform: translateY(2px); } }
/* 点滅 */
.blinking {
  -webkit-animation: blink 0.5s ease-out infinite alternate;
  -moz-animation: blink 0.5s ease-out infinite alternate;
  -ms-animation: blink 0.5s ease-out infinite alternate;
  -o-animation: blink 0.5s ease-out infinite alternate;
  animation: blink 0.5s ease-out infinite alternate; }

@-webkit-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-moz-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.waypoint {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: transform 1s ease 1s , opacity 1s ease , visibility 1s ease;
  -moz-transition: transform 1s ease 1s , opacity 1s ease , visibility 1s ease;
  -ms-transition: transform 1s ease 1s , opacity 1s ease , visibility 1s ease;
  -o-transition: transform 1s ease 1s , opacity 1s ease , visibility 1s ease;
  transition: transform 1s ease 1s , opacity 1s ease , visibility 1s ease;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
  display: block; }
  .waypoint.go {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }

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

/*
@supports(-webkit-touch-callout: none){
	html{
		height: -webkit-fill-available;
	}
	body{
		min-height: 100vh;
		min-height: -webkit-fill-available;
	}
}
*/
body {
  height: 100vh; }

@supports (-webkit-touch-callout: none) {
  body {
    height: -webkit-fill-available; } }
html {
  -webkit-font-smoothing: antialiased;
  font-size: 62.5%; }
  html.wf-active *, html.loading-delay * {
    visibility: visible; }

body {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-size: 400;
  font-size: 1.6rem;
  color: #333333;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media screen and (max-width: 599px) {
    body {
      font-size: 1.4rem; } }

a {
  color: inherit; }

a, button {
  -webkit-transition: color 0.2s ease, opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
  -moz-transition: color 0.2s ease, opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
  -ms-transition: color 0.2s ease, opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
  -o-transition: color 0.2s ease, opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
  transition: color 0.2s ease, opacity 0.2s ease, background 0.2s ease, transform 0.2s ease; }

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

p {
  line-height: 1.8;
  font-size: 1.6rem;
  text-align: justify; }
  @media screen and (max-width: 599px) {
    p {
      font-size: 1.6rem;
      line-height: 1.7; } }

.clearfix,
section {
  zoom: 1; }

.clearfix:before,
.clearfix:after,
.section:before,
.section:after {
  content: "";
  display: table; }

.clearfix:after,
.section:after {
  clear: both; }

.aligncenter {
  display: block;
  margin: 0 auto; }
  @media screen and (max-width: 599px) {
    .aligncenter {
      width: 100%;
      float: none; } }

.alignright {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 599px) {
    .alignright {
      width: 100%;
      float: none;
      margin: 0 auto; } }

.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 599px) {
    .alignleft {
      width: 100%;
      float: none;
      margin: 0 auto; } }

.noscroll {
  overflow: hidden;
  height: 100%; }

.pc {
  display: inline; }
  @media screen and (max-width: 599px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 599px) {
    .sp {
      display: inline; } }

.disabled {
  opacity: 0.3;
  pointer-events: none; }

*:focus {
  outline: none; }

figure.pc {
  display: block; }
  @media screen and (max-width: 599px) {
    figure.pc {
      display: none; } }

figure.sp {
  display: none; }
  @media screen and (max-width: 599px) {
    figure.sp {
      display: block; } }

/*form*/
input[type=text],
input[type=email],
input[type=tel],
input[type=submit],
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0; }

input[type=text],
input[type=email],
input[type=tel],
textarea,
select {
  width: 100%;
  background-color: #fff;
  border: 1px solid #eee;
  padding: 20px !important;
  font-size: 1.8rem !important;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"  !important;
  -webkit-transition: opacity 0.4s ease, color 0.4s ease, background-color 0.4s ease, filter 0.4s ease;
  -moz-transition: opacity 0.4s ease, color 0.4s ease, background-color 0.4s ease, filter 0.4s ease;
  -ms-transition: opacity 0.4s ease, color 0.4s ease, background-color 0.4s ease, filter 0.4s ease;
  -o-transition: opacity 0.4s ease, color 0.4s ease, background-color 0.4s ease, filter 0.4s ease;
  transition: opacity 0.4s ease, color 0.4s ease, background-color 0.4s ease, filter 0.4s ease; }
  @media screen and (max-width: 599px) {
    input[type=text],
    input[type=email],
    input[type=tel],
    textarea,
    select {
      font-size: 16px !important; } }
  input[type=text]:focus,
  input[type=email]:focus,
  input[type=tel]:focus,
  textarea:focus,
  select:focus {
    background-color: rgba(149, 132, 69, 0.1); }
  @media screen and (max-width: 599px) {
    input[type=text]::placeholder,
    input[type=email]::placeholder,
    input[type=tel]::placeholder,
    textarea::placeholder,
    select::placeholder {
      font-size: 14px !important; } }

input[type=file] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  font-size: 16px;
  padding: 0; }

textarea {
  min-height: 200px;
  padding: 10px;
  resize: vertical; }

select {
  background: #fff url(../imgs/common/select_arrow.svg) no-repeat right center/auto 100%;
  cursor: pointer;
  width: 100% !important; }

button {
  -webkit-transition: opacity 0.5s ease, color 0.5s ease, background 0.5s ease, filter 0.5s ease;
  -moz-transition: opacity 0.5s ease, color 0.5s ease, background 0.5s ease, filter 0.5s ease;
  -ms-transition: opacity 0.5s ease, color 0.5s ease, background 0.5s ease, filter 0.5s ease;
  -o-transition: opacity 0.5s ease, color 0.5s ease, background 0.5s ease, filter 0.5s ease;
  transition: opacity 0.5s ease, color 0.5s ease, background 0.5s ease, filter 0.5s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  font-size: inherit;
  padding: 0; }

.swiper-pagination {
  bottom: 0 !important; }

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: #ccc;
  opacity: 1; }

.swiper-pagination-bullet-active {
  background: #958445;
  opacity: 1; }

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  overflow: hidden;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2)); }
  .swiper-button-next::after, .swiper-button-prev::after {
    display: none; }
  @media screen and (max-width: 599px) {
    .swiper-button-next, .swiper-button-prev {
      width: 30px;
      height: 30px;
      margin-top: -15px; } }

.swiper-button-next {
  background: url("../imgs/common/btn_next.svg") no-repeat center;
  background-size: 90% 90%; }
  @media screen and (max-width: 599px) {
    .swiper-button-next {
      right: 10px; } }

.swiper-button-prev {
  background: url("../imgs/common/btn_prev.svg") no-repeat center;
  background-size: 90% 90%; }
  @media screen and (max-width: 599px) {
    .swiper-button-prev {
      left: 10px; } }

.swiper-lazy-preloader {
  border-color: #958445;
  border-top-color: transparent; }

/*=============================================
Layout
=============================================*/
/* wrapper --------------------------*/
.l-wrapper {
  background: #fff;
  overflow: hidden;
  position: relative; }

/* main --------------------------*/
.l-main {
  min-height: 80vh; }

.l-inner {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 80px; }
  @media screen and (max-width: 599px) {
    .l-inner {
      padding: 0 15px; } }

.l-inner2 {
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 80px; }
  @media screen and (max-width: 599px) {
    .l-inner2 {
      padding: 0 15px; } }

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  z-index: 10;
  background: rgba(255, 255, 255, 0.75);
  padding: 10px 0 10px 30px; }
  @media screen and (max-width: 599px) {
    .l-header {
      padding: 0;
      height: 60px;
      position: fixed;
      background: white;
      box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.1); } }
  @media screen and (max-width: 599px) {
    .l-header__ttl {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      margin-top: 2px; } }
  .l-header__ttl a {
    display: block;
    width: 288.38px;
    height: 85.1px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url("../imgs/_common/logo1_g.svg") no-repeat center;
    background-size: contain; }
    @media screen and (max-width: 599px) {
      .l-header__ttl a {
        width: 169.44px;
        height: 50px; } }

.l-global-nav {
  position: absolute;
  top: 0;
  left: 318px;
  width: calc( 100% - 318px);
  height: 100px;
  z-index: 11; }
  @media screen and (max-width: 599px) {
    .l-global-nav {
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: 9;
      position: fixed;
      background: rgba(39, 161, 107, 0.5);
      padding-top: 100px;
      -webkit-backdrop-filter: blur(20px);
      -moz-backdrop-filter: blur(20px);
      -ms-backdrop-filter: blur(20px);
      -o-backdrop-filter: blur(20px);
      backdrop-filter: blur(20px);
      -webkit-transition: transform 0.5s ease;
      -moz-transition: transform 0.5s ease;
      -ms-transition: transform 0.5s ease;
      -o-transition: transform 0.5s ease;
      transition: transform 0.5s ease;
      -webkit-transform: translateX(100%);
      -moz-transform: translateX(100%);
      -ms-transform: translateX(100%);
      -o-transform: translateX(100%);
      transform: translateX(100%);
      overflow: scroll; }
      .l-global-nav.active {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0); } }
  .l-global-nav__nav {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between; }
    @media screen and (max-width: 599px) {
      .l-global-nav__nav {
        flex-direction: column; } }
    .l-global-nav__nav a {
      display: block;
      width: 100%;
      height: 100%;
      font-size: 1.8rem;
      font-weight: 600;
      text-decoration: none;
      position: relative;
      padding: 0 20px;
      white-space: nowrap; }
      .l-global-nav__nav a:hover {
        opacity: 0.8; }
      @media screen and (max-width: 599px) {
        .l-global-nav__nav a {
          display: block;
          padding: 15px;
          text-align: center;
          font-size: 20px;
          color: #fff; } }
    .l-global-nav__nav ul {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media screen and (max-width: 599px) {
        .l-global-nav__nav ul {
          display: block; } }
    .l-global-nav__nav li:first-child {
      margin-left: 10%; }
      @media screen and (max-width: 599px) {
        .l-global-nav__nav li:first-child {
          margin-left: 0; } }
    .l-global-nav__nav li:last-child {
      height: 100px; }
      @media screen and (max-width: 599px) {
        .l-global-nav__nav li:last-child {
          height: auto;
          margin: 30px 50px 0; } }
      .l-global-nav__nav li:last-child a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 30px 0 70px;
        color: #fff;
        background: linear-gradient(#6edd99 0%, #31af62 100%) !important;
        position: relative; }
        .l-global-nav__nav li:last-child a::before {
          content: "";
          display: block;
          width: 29.25px;
          height: 20.25px;
          background: url("../imgs/_common/icon_mail.svg") no-repeat center;
          background-size: contain;
          position: absolute;
          top: 50%;
          -webkit-transform: translate(0, -50%);
          -moz-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          -o-transform: translate(0, -50%);
          transform: translate(0, -50%);
          left: 30px; }
        @media screen and (max-width: 599px) {
          .l-global-nav__nav li:last-child a {
            display: block;
            text-align: center;
            padding: 20px;
            border: 1px solid #fff;
            box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
            border-radius: 100px; } }
  .l-global-nav .c-sns {
    display: none; }

.l-footer {
  background: #27A16B;
  color: #fff;
  min-height: 400px;
  font-weight: 700;
  position: relative;
  padding: 40px 30px 30px 80px;
  display: flex; }
  @media screen and (max-width: 599px) {
    .l-footer {
      display: block;
      padding: 30px 15px; } }
  .l-footer a {
    text-decoration: none;
    font-size: 1.4rem; }
    @media screen and (max-width: 599px) {
      .l-footer a {
        font-size: 14px; } }
  .l-footer-ttl {
    width: 181.61px;
    height: 228.65px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url("../imgs/_common/logo2_w.svg") no-repeat center;
    background-size: contain;
    position: absolute;
    top: 40px;
    right: 40px; }
    @media screen and (max-width: 599px) {
      .l-footer-ttl {
        position: static;
        width: 127.39px;
        height: 160.39px;
        margin: 0 auto 30px; } }
  .l-footer-ttl2 {
    margin-bottom: 20px; }
    @media screen and (max-width: 599px) {
      .l-footer-ttl2 {
        text-align: center; } }
  .l-footer-nav {
    margin-right: 50px; }
    @media screen and (max-width: 599px) {
      .l-footer-nav {
        margin: 0; } }
    .l-footer-nav__layout {
      display: flex; }
      @media screen and (max-width: 599px) {
        .l-footer-nav__layout {
          margin-bottom: 30px;
          display: block; } }
    .l-footer-nav__nav--1 {
      margin-right: 50px; }
      @media screen and (max-width: 599px) {
        .l-footer-nav__nav--1 {
          margin: 0 0 30px; } }
    @media screen and (max-width: 599px) {
      .l-footer-nav__nav ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap; } }
    .l-footer-nav__nav li {
      margin-bottom: 15px; }
      @media screen and (max-width: 599px) {
        .l-footer-nav__nav li {
          margin: 0 10px 20px; } }
  .l-footer-sns {
    display: none; }
    @media screen and (max-width: 599px) {
      .l-footer-sns {
        margin-bottom: 50px;
        text-align: center; } }
  .l-footer-copyright {
    font-size: 1.4rem;
    position: absolute;
    left: 0;
    bottom: 20px;
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 599px) {
      .l-footer-copyright {
        font-size: 1.2rem; } }

/*=============================================
Object
=============================================*/
/* Component */
.c-ttl1 {
  text-align: center;
  margin-bottom: 50px;
  line-height: 1; }
  @media screen and (max-width: 599px) {
    .c-ttl1 {
      margin-bottom: 30px; } }
  .c-ttl1 span {
    display: block; }
    .c-ttl1 span:nth-child(1) {
      font-size: 5.0rem;
      font-weight: 700;
      color: #31AF62;
      margin-bottom: 10px; }
      @media screen and (max-width: 599px) {
        .c-ttl1 span:nth-child(1) {
          font-size: 4.0rem; } }
    .c-ttl1 span:nth-child(2) {
      font-size: 2.0rem;
      color: #333;
      font-family: "futura-pt", sans-serif;
      font-weight: 700; }
      @media screen and (max-width: 599px) {
        .c-ttl1 span:nth-child(2) {
          font-size: 1.6rem; } }

.c-ttl2 {
  text-align: center;
  margin-bottom: 40px;
  font-size: 3.0rem;
  font-weight: 600;
  color: #31AF62; }

.c-lead {
  text-align: center;
  font-weight: 600;
  font-size: 2.4rem;
  margin-bottom: 50px; }
  @media screen and (max-width: 599px) {
    .c-lead {
      font-size: 16px;
      text-align: justify; } }

.c-burger-menu {
  cursor: pointer;
  position: fixed;
  width: 60px;
  height: 60px;
  top: 0;
  right: 0;
  background: linear-gradient(#6edd99 0%, #31af62 100%);
  display: none;
  z-index: 999; }
  @media screen and (max-width: 599px) {
    .c-burger-menu {
      display: block; } }
  .c-burger-menu span {
    -webkit-transition: transform 0.2s ease,  width 0.2s ease, top 0.2s ease 0.2s, left 0.2s ease , bottom 0.2s ease 0.2s, margin 0.2s ease 0.2s, opacity 0.2s ease;
    -moz-transition: transform 0.2s ease,  width 0.2s ease, top 0.2s ease 0.2s, left 0.2s ease , bottom 0.2s ease 0.2s, margin 0.2s ease 0.2s, opacity 0.2s ease;
    -ms-transition: transform 0.2s ease,  width 0.2s ease, top 0.2s ease 0.2s, left 0.2s ease , bottom 0.2s ease 0.2s, margin 0.2s ease 0.2s, opacity 0.2s ease;
    -o-transition: transform 0.2s ease,  width 0.2s ease, top 0.2s ease 0.2s, left 0.2s ease , bottom 0.2s ease 0.2s, margin 0.2s ease 0.2s, opacity 0.2s ease;
    transition: transform 0.2s ease,  width 0.2s ease, top 0.2s ease 0.2s, left 0.2s ease , bottom 0.2s ease 0.2s, margin 0.2s ease 0.2s, opacity 0.2s ease;
    display: block;
    background: #fff;
    width: 30px;
    height: 3px;
    position: absolute;
    left: 15px; }
    .c-burger-menu span:first-child {
      top: 35%; }
    .c-burger-menu span:last-child {
      bottom: 35%; }
  .c-burger-menu.active span {
    -webkit-transition: transform 0.2s ease 0.2s, width 0.2s ease, top 0.2s ease, left 0.2s ease , bottom 0.2s ease, margin 0.2s ease, opacity 0.2s ease;
    -moz-transition: transform 0.2s ease 0.2s, width 0.2s ease, top 0.2s ease, left 0.2s ease , bottom 0.2s ease, margin 0.2s ease, opacity 0.2s ease;
    -ms-transition: transform 0.2s ease 0.2s, width 0.2s ease, top 0.2s ease, left 0.2s ease , bottom 0.2s ease, margin 0.2s ease, opacity 0.2s ease;
    -o-transition: transform 0.2s ease 0.2s, width 0.2s ease, top 0.2s ease, left 0.2s ease , bottom 0.2s ease, margin 0.2s ease, opacity 0.2s ease;
    transition: transform 0.2s ease 0.2s, width 0.2s ease, top 0.2s ease, left 0.2s ease , bottom 0.2s ease, margin 0.2s ease, opacity 0.2s ease; }
    .c-burger-menu.active span:first-child {
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
      top: 50%;
      margin-top: -1.5px; }
    .c-burger-menu.active span:last-child {
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg);
      bottom: 50%;
      margin-bottom: -1.5px; }

.c-btn-wrap {
  text-align: center; }

.c-btn1 {
  padding: 20px 50px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  border-radius: 100px;
  background: #27a16b;
  border: 2px solid #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  display: inline-block;
  line-height: 1;
  text-decoration: none;
  position: relative; }
  @media screen and (max-width: 599px) {
    .c-btn1 {
      padding: 10px 30px;
      min-height: 40px;
      font-size: 1.6rem; } }
  .c-btn1.pagination::after {
    display: none; }
  .c-btn1::after {
    width: 20px;
    height: 20px;
    content: "";
    display: block;
    background: url("../imgs/_common/icon_arrow_right.svg") no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    right: 20px; }
    @media screen and (max-width: 599px) {
      .c-btn1::after {
        width: 15px;
        height: 15px;
        right: 10px; } }
  .c-btn1:hover {
    -webkit-transform: scale(1.01);
    -moz-transform: scale(1.01);
    -ms-transform: scale(1.01);
    -o-transform: scale(1.01);
    transform: scale(1.01); }

.c-comingsoon {
  max-width: 800px;
  margin: 50px auto 50px;
  padding: 30px;
  background: #f00;
  border: 2px solid #fff;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); }

.c-archive-list-1 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 10px; }
  @media screen and (max-width: 599px) {
    .c-archive-list-1 {
      gap: 10px 5px;
      padding: 0 10px; } }
  .c-archive-list-1-item {
    width: calc( calc( 100% - 10px * 2) /3 ); }
    @media screen and (max-width: 599px) {
      .c-archive-list-1-item {
        width: calc( calc( 100% - 5px * 1) /2 ); } }
    .c-archive-list-1-item--notfound {
      width: 100%;
      height: 200px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 700;
      font-size: 2.0rem; }
  .c-archive-list-1-link {
    display: block;
    text-decoration: none; }
    .c-archive-list-1-link:hover img {
      -webkit-transform: scale(1.05);
      -moz-transform: scale(1.05);
      -ms-transform: scale(1.05);
      -o-transform: scale(1.05);
      transform: scale(1.05); }
  .c-archive-list-1-thumb {
    overflow: hidden;
    border-radius: 10px;
    position: relative;
    position: relative;
    overflow: hidden;
    width: 100%;
    background: #eee;
    will-change: transform; }
    .c-archive-list-1-thumb:before {
      content: "";
      display: block;
      padding-top: 75%; }
    .c-archive-list-1-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto auto; }
    @media screen and (max-width: 599px) {
      .c-archive-list-1-thumb {
        border-radius: 5px; } }
    .c-archive-list-1-thumb img {
      width: 100%;
      -webkit-transition: transform 0.5s ease;
      -moz-transition: transform 0.5s ease;
      -ms-transition: transform 0.5s ease;
      -o-transition: transform 0.5s ease;
      transition: transform 0.5s ease; }
  .c-archive-list-1-text {
    padding: 20px; }
    @media screen and (max-width: 599px) {
      .c-archive-list-1-text {
        padding: 8px; } }
  .c-archive-list-1-ttl {
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.3; }
    @media screen and (max-width: 599px) {
      .c-archive-list-1-ttl {
        font-size: 1.6rem; } }
  .c-archive-list-1-category {
    display: flex;
    justify-content: center;
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    background: rgba(39, 161, 107, 0.8);
    padding: 10px;
    font-size: 1.4rem;
    line-height: 1.3;
    color: #fff;
    font-weight: 700;
    width: 100%; }
    @media screen and (max-width: 599px) {
      .c-archive-list-1-category {
        font-size: 1.2rem;
        padding: 5px; } }
    .c-archive-list-1-category-link {
      text-decoration: none; }

.c-expert-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 30px; }
  @media screen and (max-width: 599px) {
    .c-expert-list {
      gap: 10px 5px;
      padding: 0 10px; } }
  .c-expert-list-item {
    width: calc( calc( 100% - 30px * 5) /6 ); }
    @media screen and (max-width: 599px) {
      .c-expert-list-item {
        width: calc( calc( 100% - 5px * 1) /2 ); } }
  .c-expert-list-link {
    display: block;
    text-decoration: none; }
    .c-expert-list-link:hover img {
      -webkit-transform: scale(1.05);
      -moz-transform: scale(1.05);
      -ms-transform: scale(1.05);
      -o-transform: scale(1.05);
      transform: scale(1.05); }
  .c-expert-list-thumb {
    width: 80%;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 50%;
    position: relative;
    position: relative;
    overflow: hidden;
    width: 100%;
    background: #eee;
    border: 1px solid #ccc;
    will-change: transform; }
    .c-expert-list-thumb:before {
      content: "";
      display: block;
      padding-top: 100%; }
    .c-expert-list-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto auto; }
    .c-expert-list-thumb img {
      width: 100%;
      -webkit-transition: transform 0.5s ease;
      -moz-transition: transform 0.5s ease;
      -ms-transition: transform 0.5s ease;
      -o-transition: transform 0.5s ease;
      transition: transform 0.5s ease; }
  .c-expert-list-text {
    padding: 10px 0; }
    @media screen and (max-width: 599px) {
      .c-expert-list-text {
        padding: 8px; } }
  .c-expert-list-position {
    font-size: 1.4rem;
    margin-bottom: 10px;
    text-align: center;
    line-height: 1.3; }
  .c-expert-list-ttl {
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center; }
  .c-expert-list-category {
    display: flex;
    justify-content: center;
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    background: rgba(39, 161, 107, 0.8);
    padding: 10px;
    font-size: 1.4rem;
    line-height: 1.3;
    color: #fff;
    font-weight: 700;
    width: 100%; }
    @media screen and (max-width: 599px) {
      .c-expert-list-category {
        font-size: 1.2rem;
        padding: 5px; } }
    .c-expert-list-category-link {
      text-decoration: none; }

.c-category {
  display: flex;
  font-weight: 700;
  color: #27A16B;
  justify-content: center;
  margin-bottom: 50px;
  gap: 30px; }
  @media screen and (max-width: 599px) {
    .c-category {
      display: block;
      text-align: center;
      margin-bottom: 30px; } }
  @media screen and (max-width: 599px) {
    .c-category-item {
      display: inline-block;
      margin: 0 5px 15px; } }
  .c-category-link {
    text-decoration: none;
    padding-bottom: 5px;
    white-space: nowrap; }
    @media screen and (max-width: 599px) {
      .c-category-link {
        padding-bottom: 3px; } }
    .c-category-link.current {
      border-bottom: 2px solid #27A16B; }

.c-content {
  font-size: 1.8rem; }
  @media screen and (max-width: 599px) {
    .c-content {
      font-size: 1.6rem; } }
  .c-content p {
    font-size: inherit;
    margin-bottom: 30px; }
  .c-content strong {
    font-weight: 700; }
  .c-content h2, .c-content h3, .c-content h4, .c-content h5 {
    font-weight: 700;
    padding-top: 30px;
    margin-bottom: 30px;
    color: #27A16B;
    line-height: 1.3; }
    .c-content h2:first-child, .c-content h3:first-child, .c-content h4:first-child, .c-content h5:first-child {
      padding-top: 0; }
  .c-content h2 {
    font-size: 180%; }
  .c-content h3 {
    font-size: 160%; }
  .c-content h4 {
    font-size: 140%; }
  .c-content h5 {
    font-size: 120%; }
  .c-content ul, .c-content ol {
    margin-bottom: 30px;
    margin-left: 30px; }
  .c-content ul {
    list-style: disc; }
  .c-content ol {
    list-style: decimal; }
  .c-content li {
    font-size: inherit;
    margin-bottom: 10px;
    line-height: 1.5; }
  .c-content-contact {
    background: rgba(39, 161, 107, 0.1);
    padding: 30px;
    border: 2px solid #27a16b;
    border-radius: 10px;
    margin-top: 100px; }
    .c-content-contact p {
      text-align: center;
      font-weight: 700;
      color: #27a16b; }

.c-pagination-archive {
  position: relative;
  padding: 50px 80px 0; }
  @media screen and (max-width: 599px) {
    .c-pagination-archive {
      padding: 0 25px; } }
  .c-pagination-archive span {
    opacity: 1; }
  .c-pagination-archive ul {
    display: flex;
    justify-content: center;
    padding: 30px 90px;
    position: relative; }
    @media screen and (max-width: 599px) {
      .c-pagination-archive ul {
        padding: 30px 60px; } }
    .c-pagination-archive ul li {
      margin: 0 10px; }
      @media screen and (max-width: 599px) {
        .c-pagination-archive ul li {
          margin: 0 5px; } }
      .c-pagination-archive ul li a {
        opacity: 1; }
        .c-pagination-archive ul li a:hover {
          -webkit-transform: scale(1.01);
          -moz-transform: scale(1.01);
          -ms-transform: scale(1.01);
          -o-transform: scale(1.01);
          transform: scale(1.01); }
      .c-pagination-archive ul li a,
      .c-pagination-archive ul li span:not(.dots) {
        height: 68px;
        font-size: 2.6rem;
        font-weight: 700;
        color: #27a16b;
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1;
        text-decoration: none;
        position: relative;
        font-family: "futura-pt", sans-serif; }
        @media screen and (max-width: 599px) {
          .c-pagination-archive ul li a,
          .c-pagination-archive ul li span:not(.dots) {
            height: 40px;
            font-size: 2.0rem; } }
        .c-pagination-archive ul li a.current,
        .c-pagination-archive ul li span:not(.dots).current {
          opacity: 0.5; }
      .c-pagination-archive ul li span.dots {
        height: 68px;
        font-size: 3.2rem;
        font-weight: 700;
        color: #27a16b;
        display: flex;
        justify-content: center;
        align-items: center; }
        @media screen and (max-width: 599px) {
          .c-pagination-archive ul li span.dots {
            height: 40px; } }
      .c-pagination-archive ul li:first-child a:not(.current),
      .c-pagination-archive ul li:first-child span:not(.current), .c-pagination-archive ul li:last-child a:not(.current),
      .c-pagination-archive ul li:last-child span:not(.current) {
        width: 68px;
        height: 68px;
        font-size: 2.4rem;
        font-weight: 700;
        color: #fff;
        border-radius: 100px;
        background: #27a16b;
        border: 2px solid #fff;
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
        display: inline-block;
        line-height: 1;
        text-decoration: none;
        position: relative;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden; }
        @media screen and (max-width: 599px) {
          .c-pagination-archive ul li:first-child a:not(.current),
          .c-pagination-archive ul li:first-child span:not(.current), .c-pagination-archive ul li:last-child a:not(.current),
          .c-pagination-archive ul li:last-child span:not(.current) {
            width: 40px;
            height: 40px; } }
        .c-pagination-archive ul li:first-child a:not(.current).next,
        .c-pagination-archive ul li:first-child span:not(.current).next, .c-pagination-archive ul li:last-child a:not(.current).next,
        .c-pagination-archive ul li:last-child span:not(.current).next {
          position: absolute;
          top: 30px;
          right: 0; }
          .c-pagination-archive ul li:first-child a:not(.current).next::after,
          .c-pagination-archive ul li:first-child span:not(.current).next::after, .c-pagination-archive ul li:last-child a:not(.current).next::after,
          .c-pagination-archive ul li:last-child span:not(.current).next::after {
            width: 20px;
            height: 19.49px;
            content: "";
            display: block;
            background: url("../imgs/_common/icon_arrow_right.svg") no-repeat center;
            background-size: contain;
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
        .c-pagination-archive ul li:first-child a:not(.current).prev,
        .c-pagination-archive ul li:first-child span:not(.current).prev, .c-pagination-archive ul li:last-child a:not(.current).prev,
        .c-pagination-archive ul li:last-child span:not(.current).prev {
          position: absolute;
          top: 30px;
          left: 0; }
          .c-pagination-archive ul li:first-child a:not(.current).prev::after,
          .c-pagination-archive ul li:first-child span:not(.current).prev::after, .c-pagination-archive ul li:last-child a:not(.current).prev::after,
          .c-pagination-archive ul li:last-child span:not(.current).prev::after {
            width: 20px;
            height: 19.49px;
            content: "";
            display: block;
            background: url("../imgs/_common/icon_arrow_left.svg") no-repeat center;
            background-size: contain;
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.c-pagination-single {
  position: relative;
  padding: 0 80px;
  max-width: 1280px;
  margin: 50px auto 0; }
  @media screen and (max-width: 599px) {
    .c-pagination-single {
      padding: 0 20px;
      margin-top: 30px; } }
  .c-pagination-single ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #ccc;
    padding-top: 50px; }
    .c-pagination-single ul li span {
      opacity: 0.3; }
    .c-pagination-single ul li.index {
      height: 40px;
      white-space: nowrap;
      display: flex;
      justify-content: center;
      align-items: center; }
      .c-pagination-single ul li.index a {
        text-decoration: none;
        font-weight: 700;
        font-size: 2.0rem;
        color: #27a16b; }
    .c-pagination-single ul li.next, .c-pagination-single ul li.prev {
      width: 68px; }
      @media screen and (max-width: 599px) {
        .c-pagination-single ul li.next, .c-pagination-single ul li.prev {
          width: 40px; } }
      .c-pagination-single ul li.next a, .c-pagination-single ul li.next span, .c-pagination-single ul li.prev a, .c-pagination-single ul li.prev span {
        width: 68px;
        height: 68px;
        font-size: 2.4rem;
        font-weight: 700;
        color: #fff;
        border-radius: 100px;
        background: #27a16b;
        border: 2px solid #fff;
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
        display: inline-block;
        line-height: 1;
        text-decoration: none;
        position: relative;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden; }
        @media screen and (max-width: 599px) {
          .c-pagination-single ul li.next a, .c-pagination-single ul li.next span, .c-pagination-single ul li.prev a, .c-pagination-single ul li.prev span {
            width: 40px;
            height: 40px; } }
      .c-pagination-single ul li.next a, .c-pagination-single ul li.prev a {
        -webkit-transition: transform 0.5s ease;
        -moz-transition: transform 0.5s ease;
        -ms-transition: transform 0.5s ease;
        -o-transition: transform 0.5s ease;
        transition: transform 0.5s ease; }
        .c-pagination-single ul li.next a:hover, .c-pagination-single ul li.prev a:hover {
          -webkit-transform: scale(1.01);
          -moz-transform: scale(1.01);
          -ms-transform: scale(1.01);
          -o-transform: scale(1.01);
          transform: scale(1.01); }
    .c-pagination-single ul li.next a::after, .c-pagination-single ul li.next span::after {
      width: 20px;
      height: 20px;
      content: "";
      display: block;
      background: url("../imgs/_common/icon_arrow_right.svg") no-repeat center;
      background-size: contain;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 599px) {
        .c-pagination-single ul li.next a::after, .c-pagination-single ul li.next span::after {
          width: 15px;
          height: 15px; } }
    .c-pagination-single ul li.prev a::after, .c-pagination-single ul li.prev span::after {
      width: 20px;
      height: 20px;
      content: "";
      display: block;
      background: url("../imgs/_common/icon_arrow_left.svg") no-repeat center;
      background-size: contain;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
      @media screen and (max-width: 599px) {
        .c-pagination-single ul li.prev a::after, .c-pagination-single ul li.prev span::after {
          width: 15px;
          height: 15px; } }

/* Project */
.p-home figure img {
  width: 100%; }
.p-home-section {
  padding: 100px 0; }
  .p-home-section:nth-child(even) {
    background: rgba(49, 175, 98, 0.1); }
.p-home-cover {
  position: relative; }
  .p-home-cover-fig img {
    width: 100%; }
  .p-home-cover-txt {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin-left: 10%;
    margin-top: 50px; }
    @media screen and (max-width: 599px) {
      .p-home-cover-txt {
        margin-left: 0;
        width: 100%;
        padding-left: 10px; } }
    .p-home-cover-txt p:nth-child(1) {
      width: 427.23px;
      height: 187.2px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      background: url("../imgs/home/cover_logo.svg") no-repeat center;
      background-size: contain;
      margin-bottom: 30px; }
      @media screen and (max-width: 599px) {
        .p-home-cover-txt p:nth-child(1) {
          width: 211.51px;
          height: 92.68px;
          margin-bottom: 20px;
          display: none; } }
    .p-home-cover-txt p:nth-child(2) {
      font-size: 2.0rem;
      font-weight: 700;
      color: #31AF62; }
      @media screen and (max-width: 599px) {
        .p-home-cover-txt p:nth-child(2) {
          font-size: 14px;
          text-align: center; } }
.p-home-intro {
  background: linear-gradient(#6edd99 0%, #31af62 100%) !important;
  padding: 60px 0;
  position: relative; }
  @media screen and (max-width: 599px) {
    .p-home-intro {
      padding: 30px 0 60px; } }
  @media screen and (max-width: 599px) {
    .p-home-intro .l-inner {
      padding: 0 30px; } }
  .p-home-intro::before {
    content: "";
    display: block;
    width: 288.65px;
    height: 292.47px;
    background: url("../imgs/home/illust1_1.svg") no-repeat center;
    background-size: contain;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    bottom: -15px;
    margin-left: -500px; }
    @media screen and (max-width: 599px) {
      .p-home-intro::before {
        margin-left: -140px;
        width: 164.5px;
        height: 166.68px;
        bottom: -10px; } }
  .p-home-intro::after {
    content: "";
    display: block;
    width: 241.02px;
    height: 304.69px;
    background: url("../imgs/home/illust1_2.svg") no-repeat center;
    background-size: contain;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    bottom: -32px;
    margin-left: 500px; }
    @media screen and (max-width: 599px) {
      .p-home-intro::after {
        margin-left: 140px;
        width: 137.36px;
        height: 173.64px;
        bottom: -15px; } }
  .p-home-intro-txt {
    color: #fff;
    text-align: center;
    font-size: 3.0rem;
    font-weight: 600;
    line-height: 1.3;
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 599px) {
      .p-home-intro-txt {
        font-size: 16px;
        text-align: left;
        line-height: 1.5;
        background: rgba(39, 161, 107, 0.8);
        padding: 10px; } }
.p-home-business-field-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  .p-home-business-field-list li {
    width: calc( calc( 100% - 10px * 3 ) / 3);
    margin: 0 5px 10px; }
    @media screen and (max-width: 599px) {
      .p-home-business-field-list li {
        width: 100%;
        margin: 0 0 10px; } }
    .p-home-business-field-list li:last-child {
      width: 50%; }
      @media screen and (max-width: 599px) {
        .p-home-business-field-list li:last-child {
          width: 100%; } }
  .p-home-business-field-list a {
    pointer-events: none;
    display: block;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none; }
  .p-home-business-field-list h3 {
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    background: rgba(39, 161, 107, 0.8);
    padding: 10px;
    font-size: 2.6rem;
    line-height: 1.3;
    color: #fff;
    font-weight: 700;
    width: 100%; }
.p-home-service-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  @media screen and (max-width: 599px) {
    .p-home-service-list {
      margin: 0 -10px; } }
  .p-home-service-list li {
    width: calc( calc( 100% - 10px * 4 ) / 4);
    margin: 0 5px 10px; }
    @media screen and (max-width: 599px) {
      .p-home-service-list li {
        width: calc( calc( 100% - 4px * 2 ) / 2);
        margin: 0 2px 5px; } }
  .p-home-service-list a {
    pointer-events: none;
    display: block;
    position: relative;
    text-decoration: none; }
  .p-home-service-list figure {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 10px; }
  .p-home-service-list figcaption {
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    background: rgba(39, 161, 107, 0.8);
    padding: 10px;
    font-size: 1.4rem;
    line-height: 1.3;
    color: #fff;
    font-weight: 700;
    width: 100%; }
    @media screen and (max-width: 599px) {
      .p-home-service-list figcaption {
        font-size: 14px;
        padding: 5px; } }
  .p-home-service-list h3 {
    text-align: center; }
    .p-home-service-list h3 span {
      display: block;
      color: #31AF62;
      font-weight: 700;
      margin-bottom: 10px; }
      .p-home-service-list h3 span:nth-child(1) {
        font-size: 2.4rem; }
        @media screen and (max-width: 599px) {
          .p-home-service-list h3 span:nth-child(1) {
            font-size: 16px; } }
      .p-home-service-list h3 span:nth-child(2) {
        font-size: 1.4rem; }
        @media screen and (max-width: 599px) {
          .p-home-service-list h3 span:nth-child(2) {
            font-size: 11px; } }
.p-home-expert-team-fig {
  max-width: 775.22px;
  margin: 0 auto; }
.p-home-company1 {
  padding: 50px 0;
  border-top: 1px solid #eee; }
  .p-home-company1-layout {
    display: flex;
    max-width: 1000px;
    margin: 0 auto;
    justify-content: space-between; }
    @media screen and (max-width: 599px) {
      .p-home-company1-layout {
        display: block; } }
  .p-home-company1--l {
    width: 60%;
    font-weight: 700;
    margin-top: 10px; }
    @media screen and (max-width: 599px) {
      .p-home-company1--l {
        width: 100%;
        margin-bottom: 50px; } }
    .p-home-company1--l > p {
      font-size: 2.4rem;
      line-height: 1.5;
      margin-bottom: 30px; }
    .p-home-company1--l li {
      margin-bottom: 15px; }
      @media screen and (max-width: 599px) {
        .p-home-company1--l li {
          text-align: center; } }
      .p-home-company1--l li p {
        font-size: 1.6rem;
        line-height: 1.5; }
        @media screen and (max-width: 599px) {
          .p-home-company1--l li p {
            text-align: center; } }
    .p-home-company1--l h3 {
      font-size: 2.8rem;
      color: #27A16B;
      margin-bottom: 5px; }
  .p-home-company1--r {
    width: 40%;
    /*
    div{
    	background: #eee;
    	border: 1px solid #ccc;
    	border-radius: 10px;
    	display: flex;
    	justify-content: center;
    	align-items: center;
    	@include aspect;
    	margin-bottom: 20px;
    }
    */ }
    @media screen and (max-width: 599px) {
      .p-home-company1--r {
        width: 70%;
        margin: 0 auto 0; } }
    .p-home-company1--r img {
      border-radius: 10px;
      margin-bottom: 20px; }
    .p-home-company1--r figcaption {
      text-align: center;
      color: #27A16B; }
      .p-home-company1--r figcaption span {
        display: block;
        font-weight: 700; }
        .p-home-company1--r figcaption span:nth-child(1) {
          font-size: 1.4rem;
          margin-bottom: 10px; }
        .p-home-company1--r figcaption span:nth-child(2) {
          font-size: 2.4rem; }
.p-home-company2 {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding: 50px 0; }
  .p-home-company2-table {
    max-width: 800px;
    width: 100%;
    margin: 0 auto; }
    .p-home-company2-table tr {
      border-bottom: 1px solid #ccc; }
      .p-home-company2-table tr:first-child {
        border-top: 1px solid #ccc; }
    .p-home-company2-table th, .p-home-company2-table td {
      padding: 30px;
      line-height: 1.5;
      font-size: 1.8rem; }
      @media screen and (max-width: 599px) {
        .p-home-company2-table th, .p-home-company2-table td {
          display: block;
          padding: 15px; } }
    .p-home-company2-table th {
      white-space: nowrap;
      width: 20%;
      font-weight: 700; }
      @media screen and (max-width: 599px) {
        .p-home-company2-table th {
          padding-bottom: 10px; } }
    @media screen and (max-width: 599px) {
      .p-home-company2-table td {
        padding-top: 0; } }
    .p-home-company2-table ul {
      list-style: disc;
      margin-left: 20px; }

#second .l-main {
  padding-top: 100px; }
  @media screen and (max-width: 599px) {
    #second .l-main {
      padding-top: 50px; } }
  #second .l-main > section {
    padding: 100px 80px;
    min-height: 80vh; }
    @media screen and (max-width: 599px) {
      #second .l-main > section {
        padding: 50px 0; } }

.p-information-single-article {
  padding: 0 80px;
  max-width: 1280px;
  margin: 0 auto; }
  @media screen and (max-width: 599px) {
    .p-information-single-article {
      padding: 0; } }
  .p-information-single-article-header {
    position: relative;
    overflow: hidden;
    border-radius: 10px; }
    @media screen and (max-width: 599px) {
      .p-information-single-article-header {
        border-radius: 0px; } }
    .p-information-single-article-header-figure {
      position: relative;
      position: relative;
      overflow: hidden;
      width: 100%;
      background: #eee; }
      .p-information-single-article-header-figure:before {
        content: "";
        display: block;
        padding-top: 56.25%; }
      .p-information-single-article-header-figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto auto; }
      @media screen and (max-width: 599px) {
        .p-information-single-article-header-figure {
          position: relative;
          overflow: hidden;
          width: 100%; }
          .p-information-single-article-header-figure:before {
            content: "";
            display: block;
            padding-top: 75%; }
          .p-information-single-article-header-figure img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto auto; } }
      .p-information-single-article-header-figure img {
        width: 100%; }
    .p-information-single-article-header-time {
      display: none; }
    .p-information-single-article-header-txt {
      padding: 30px;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      background: rgba(39, 161, 107, 0.8); }
      @media screen and (max-width: 599px) {
        .p-information-single-article-header-txt {
          padding: 15px; } }
    .p-information-single-article-header__ttl {
      font-size: 3.0rem;
      font-weight: 700;
      color: #fff;
      line-height: 1.3; }
      @media screen and (max-width: 599px) {
        .p-information-single-article-header__ttl {
          font-size: 2.4rem; } }
    .p-information-single-article-header-category {
      position: absolute;
      top: 30px;
      right: 30px;
      display: flex;
      gap: 10px; }
      @media screen and (max-width: 599px) {
        .p-information-single-article-header-category {
          top: 10px;
          right: 10px; } }
      .p-information-single-article-header-category__link {
        text-decoration: none;
        display: block;
        background: #27A16B;
        padding: 10px 20px;
        border-radius: 100px;
        color: #fff;
        line-height: 1;
        font-weight: 700; }
        @media screen and (max-width: 599px) {
          .p-information-single-article-header-category__link {
            padding: 5px 10px; } }
  .p-information-single-article-content {
    padding: 50px; }
    @media screen and (max-width: 599px) {
      .p-information-single-article-content {
        padding: 25px; } }

.p-expert-single-article {
  padding: 0 80px;
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 50px; }
  @media screen and (max-width: 599px) {
    .p-expert-single-article {
      padding: 0;
      display: block; } }
  .p-expert-single-article-header {
    position: relative;
    width: 25%; }
    @media screen and (max-width: 599px) {
      .p-expert-single-article-header {
        border-radius: 0px;
        width: 100%;
        padding: 0 18px;
        margin-bottom: 30px; } }
    .p-expert-single-article-header-figure {
      position: relative;
      position: relative;
      overflow: hidden;
      width: 100%;
      background: #eee;
      border-radius: 50%;
      border: 1px solid #ccc; }
      .p-expert-single-article-header-figure:before {
        content: "";
        display: block;
        padding-top: 100%; }
      .p-expert-single-article-header-figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto auto; }
      @media screen and (max-width: 599px) {
        .p-expert-single-article-header-figure {
          width: 60%;
          margin: 0 auto; } }
      .p-expert-single-article-header-figure img {
        width: 100%; }
    .p-expert-single-article-header-txt {
      padding: 10px 0;
      white-space: nowrap; }
    .p-expert-single-article-header__ttl {
      font-size: 3.0rem;
      font-weight: 700;
      line-height: 1.3;
      text-align: center; }
      @media screen and (max-width: 599px) {
        .p-expert-single-article-header__ttl {
          font-size: 2.4rem; } }
    .p-expert-single-article-header__position {
      text-align: center;
      line-height: 1.3;
      font-size: 1.4rem;
      margin-bottom: 10px; }
    .p-expert-single-article-header-category {
      position: absolute;
      top: 30px;
      right: 30px;
      display: flex;
      gap: 10px; }
      @media screen and (max-width: 599px) {
        .p-expert-single-article-header-category {
          top: 10px;
          right: 10px; } }
      .p-expert-single-article-header-category__link {
        text-decoration: none;
        display: block;
        background: #27A16B;
        padding: 10px 20px;
        border-radius: 100px;
        color: #fff;
        line-height: 1;
        font-weight: 700; }
        @media screen and (max-width: 599px) {
          .p-expert-single-article-header-category__link {
            padding: 5px 10px; } }
  .p-expert-single-article-content {
    flex: 1; }
    @media screen and (max-width: 599px) {
      .p-expert-single-article-content {
        padding: 0 18px; } }
    .p-expert-single-article-content p {
      margin-bottom: 20px; }
    .p-expert-single-article-content h2, .p-expert-single-article-content h3, .p-expert-single-article-content h4 {
      color: #27A16B;
      font-weight: 700;
      margin-bottom: 20px;
      padding-top: 10px;
      line-height: 1.3; }
      .p-expert-single-article-content h2:first-child, .p-expert-single-article-content h3:first-child, .p-expert-single-article-content h4:first-child {
        padding-top: 0; }
    .p-expert-single-article-content h2 {
      font-size: 150%;
      border-bottom: 1px solid #27A16B;
      padding-bottom: 5px; }
    .p-expert-single-article-content-work_experience {
      margin-bottom: 50px; }
  .p-expert-single-article-position2 {
    margin-bottom: 50px; }
    .p-expert-single-article-position2__item {
      font-size: 2.0rem;
      font-weight: 700;
      margin-bottom: 10px; }

/* contact --------------------------*/
#home .grecaptcha-badge,
#second .grecaptcha-badge {
  visibility: hidden; }

#second.contact .grecaptcha-badge {
  visibility: visible; }

.required {
  color: #f00;
  font-weight: 700;
  display: inline-block;
  margin: 0 5px; }

.p-contact {
  background: rgba(39, 161, 107, 0.1); }

.logged_in .p-contact-form {
  display: block; }
.logged_in .c-comingsoon {
  display: none; }

.snow-monkey-form[data-screen="confirm"] {
  padding-top: 30px; }
  .snow-monkey-form[data-screen="confirm"] .wp-block-snow-monkey-forms-item {
    border-bottom: 1px solid rgba(39, 161, 107, 0.3);
    padding: 20px 0; }
    .snow-monkey-form[data-screen="confirm"] .wp-block-snow-monkey-forms-item:first-child {
      border-top: 1px solid rgba(39, 161, 107, 0.3); }
    .snow-monkey-form[data-screen="confirm"] .wp-block-snow-monkey-forms-item.--privacypolicy {
      display: block;
      border: 1px dotted #27A16B;
      padding: 10px;
      text-align: center; }
  .snow-monkey-form[data-screen="confirm"] .smf-item__col--label {
    padding: 0; }
  .snow-monkey-form[data-screen="confirm"] .smf-item__col--controls {
    padding: 0; }
  .snow-monkey-form[data-screen="confirm"] .smf-radio-buttons-control__control {
    padding: 0; }
  .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="content"] {
    min-height: 100px; }
  .snow-monkey-form[data-screen="confirm"] .smf-placeholder[data-name="comment"] {
    min-height: 100px; }

.smf-complete-content {
  text-align: center;
  padding-top: 30px;
  font-weight: 700; }
  .smf-complete-content .wp-block-heading {
    font-size: 2.4rem;
    margin-bottom: 20px; }
  .smf-complete-content p {
    font-size: 1.8rem;
    margin-bottom: 20px; }

.wp-block-snow-monkey-forms-item {
  display: flex;
  padding: 10px 0; }
  @media screen and (max-width: 599px) {
    .wp-block-snow-monkey-forms-item {
      display: block; } }
  .wp-block-snow-monkey-forms-item.--privacypolicy {
    display: block;
    border: 1px dotted #27A16B;
    padding: 20px;
    text-align: center;
    margin-bottom: 30px;
    margin-top: 30px; }
    .wp-block-snow-monkey-forms-item.--privacypolicy .smf-item__col--label {
      width: 100%;
      padding: 0;
      margin-bottom: 10px; }
    .wp-block-snow-monkey-forms-item.--privacypolicy .smf-checkbox-control__label {
      position: relative;
      top: 2px; }
    .wp-block-snow-monkey-forms-item.--privacypolicy .note {
      font-weight: 400;
      font-size: 1.6rem;
      display: inline-block;
      margin-right: 20px; }
      @media screen and (max-width: 599px) {
        .wp-block-snow-monkey-forms-item.--privacypolicy .note {
          display: block;
          margin: 0 0 10px; } }

.smf-item__col--label {
  width: 30%;
  padding-right: 30px;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 20px 0; }
  @media screen and (max-width: 599px) {
    .smf-item__col--label {
      width: 100%;
      font-size: 18px;
      padding-bottom: 10px; } }

.smf-placeholder {
  font-size: 1.8rem !important;
  font-weight: 700 !important; }

.smf-item__col--controls {
  flex: 1; }

.smf-action {
  display: flex;
  justify-content: center; }

.smf-select-control {
  width: 100% !important; }

.smf-select-control__control {
  width: 100% !important;
  background: #fff url("../imgs/_common/select_arrow.svg") no-repeat 98% center !important; }

.smf-select-control__toggle {
  background: none !important; }

.smf-radio-buttons-control__control {
  padding: 20px 0; }

.smf-radio-button-control__label {
  position: relative;
  top: 2px;
  font-weight: 700; }

.smf-button-control__control {
  min-width: 300px;
  height: 80px;
  font-size: 2.4rem;
  border-radius: 100px !important;
  background: #27a16b !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); }

/* privacy-policy --------------------------*/
.p-privacy-policy {
  padding: 100px 0; }
  .p-privacy-policy h2 {
    font-size: 2.0rem;
    font-weight: 600;
    margin-top: 50px; }
  .p-privacy-policy p {
    margin-top: 20px; }
  .p-privacy-policy ul {
    list-style: disc;
    margin-top: 20px;
    margin-left: 20px; }
  .p-privacy-policy li {
    line-height: 1.8;
    text-align: justify; }
