@charset "UTF-8";

/**
 * CONTENTS
 *
 * [Reset and Normalize]
 * 01 Common..........................Reset and Normalize.
 *
 * [Utility and Base layout]
 * 02 Utilities.......................Helper classes.
 * 02 Iconfont........................Iconfont style.
 *
 * [Components]
 * 03 Buttons.........................Button styles.
 * 03 Forms...........................Form elements style.
 * 03 Tables..........................Table elements styles.
 * 03 Typography......................Headings, Body text, Lists, Misc styles.
 *
 * [Page]
 * 04 Layout..........................Base layout style.
 * 04 Contents........................Content elements style.
 *
 */
/* ==========================================================================

    01 Common
    - Reset CSS
    - Normalize CSS

   ========================================================================== */
/* Reset CSS
   --------------------------------------------------- */
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: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/* Normalize CSS
   --------------------------------------------------- */
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  cursor: help;
  border-bottom: 1px dotted;
}

b,
em,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

/* ==========================================================================

    02 Utility classes
    - Floats
    - List style
    - Z-levels(dropshadow)
    - Scrollbar

   ========================================================================== */
/* Floats & Alignment
   --------------------------------------------------- */
.clearfix {
  *zoom: 1;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.fR {
  float: right;
}

.fL {
  float: left;
}

.aL {
  text-align: left;
}

.aR {
  text-align: right;
}

.aC {
  text-align: center;
}

/* List style
   --------------------------------------------------- */
.list_inline {
  margin: 0;
  padding: 0;
}

.list_inline li {
  display: inline-block;
}

/* Img border
   --------------------------------------------------- */
/* Z-levels
   --------------------------------------------------- */
.z-depth-0 {
  box-shadow: none !important;
}

.z-depth-1,
#page_top a {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.z-depth-1-half {
  -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
}

.z-depth-2 {
  -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -moz-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.z-depth-3 {
  -webkit-box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
  -moz-box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
}

.z-depth-4 {
  -webkit-box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21);
  -moz-box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21);
  box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21);
}

.z-depth-5 {
  -webkit-box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);
  -moz-box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);
  box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);
}

/* Scrollbar
   --------------------------------------------------- */
/* ==========================================================================

    Icon Font

    All icons are based on 'Material Design Icons'
    https://github.com/google/material-design-icons/releases/tag/1.0.1

    By Google. Licensed under CC BY 4.0
    http://creativecommons.org/licenses/by/4.0/

   ========================================================================== */
@font-face {
  font-family: 'icomoon';
  src: url("../font/spi_studycamp.eot?t1bcst");
  src: url("../font/spi_studycamp.eot?t1bcst#iefix") format("embedded-opentype"), url("../font/spi_studycamp.ttf?t1bcst") format("truetype"), url("../font/spi_studycamp.woff?t1bcst") format("woff"), url("../font/spi_studycamp.svg?t1bcst#spi_studycamp") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-add:before {
  content: "\e900";
}

.icon-arw_right:before {
  content: "\e901";
}

.icon-check:before {
  content: "\e902";
}

.icon-checkbox:before {
  content: "\e903";
}

.icon-checkbox_blank:before {
  content: "\e904";
}

.icon-checkbox_indeterminate:before {
  content: "\e905";
}

.icon-chevron_left:before {
  content: "\e906";
}

.icon-chevron_right:before {
  content: "\e907";
}

.icon-close:before {
  content: "\e908";
}

.icon-expand_less:before {
  content: "\e909";
}

.icon-expand_more:before {
  content: "\e90a";
}

.icon-menu:before {
  content: "\e90b";
}

.icon-radio_checked:before {
  content: "\e90c";
}

.icon-radio_unchecked:before {
  content: "\e90d";
}

/* ==========================================================================

    03 Buttons
    - Base styles
    - Button Color variation
    - Button Sizes
    - Ripple effect

   ========================================================================== */
/* Base styles
   @param button.btn
   --------------------------------------------------- */
.btn {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  padding: 1.4rem 4rem;
  border: 0;
  background: #00b0ff;
  color: #fff;
  font-weight: normal;
  text-decoration: none;
  line-height: normal;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.btn [class^="icon-"] {
  color: #386db4;
  font-size: 160%;
  line-height: -.1rem;
  vertical-align: middle;
}

.btn,
.btn:active,
.btn.active {
  background-image: none;
}

.btn:focus,
.btn:active:focus,
.btn.active:focus {
  outline: 0;
}

.btn:hover,
.btn:focus,
.btn:active,
.btn.active {
  outline: 0;
  text-decoration: none;
  color: #fff;
}

.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
}

.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  pointer-events: none;
  background: #dbdbdb;
}

/* Button Sizes
   --------------------------------------------------- */
.btn_l {
  padding: 1.6rem 6.4rem;
  font-size: 1.6rem;
}

.btn_s {
  padding: 0.8rem 1.6rem;
  font-size: 1.4rem;
}

/* Border effect
   @param a.change_border > span.change_border_inner
   --------------------------------------------------- */
.change_border:before,
.change_border:after,
.change_border_inner:before,
.change_border_inner:after {
  display: block;
  content: '';
  position: absolute;
  background: #386db4;
  z-index: 10;
  transition: all .3s ease;
}

.change_border {
  position: relative;
  display: inline-block;
}

.change_border:before {
  height: 0.3rem;
  left: 0;
  top: 0;
  width: 0;
}

.change_border:after {
  height: 0.3rem;
  left: 0;
  bottom: 0;
  width: 0;
}

.change_border:hover:before,
.change_border:hover:after {
  width: 100%;
}

.change_border:hover .change_border_inner:before,
.change_border:hover .change_border_inner:after {
  height: 100%;
}

.change_border_inner:before {
  top: 0;
  height: 0;
  right: 0;
  width: 0.3rem;
}

.change_border_inner:after {
  bottom: 0;
  height: 0;
  left: 0;
  width: 0.3rem;
}

@media only screen and (max-width: 640px) {

  .change_border:before,
  .change_border:after,
  .change_border_inner:before,
  .change_border_inner:after {
    display: none;
  }
}

/* ==========================================================================

    03 Forms

   ========================================================================== */
/* Baseline styles
   --------------------------------------------------- */
fieldset {
  background: #fff;
  border: 1px solid #dbdbdb;
  border-radius: 0.2rem;
}

label {
  display: inline-block;
  max-width: 100%;
}

input[type="search"] {
  box-sizing: box-sizing;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}

input[type="file"] {
  display: block;
}

input[type="text"] {
  padding: 0.4rem 0.8rem;
  border: 1px solid #dbdbdb;
  border-radius: 0.2rem;
}

input[type="text"]:disabled {
  background-color: #fff;
}

input[type="range"] {
  display: block;
  width: 100%;
}

textarea,
.textarea {
  display: block;
  width: 100%;
  margin: 0 0 0.8rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid #dbdbdb;
  border-radius: 0.2rem;
}

select {
  margin: 0 0 0.8rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid #dbdbdb;
  border-radius: 0.2rem;
}

select[multiple],
select[size] {
  height: auto;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 0;
}

input[type="text"]:focus,
textarea {
  outline: none;
}

output {
  display: block;
  padding-top: 7px;
  font-size: 1.6rem;
  line-height: 1.618;
  color: #c2c2c2;
}

.radio,
.checkbox {
  cursor: pointer;
}

.radio .on,
.radio .off,
.checkbox .on,
.checkbox .off {
  display: none;
  width: 1em;
  height: 1em;
  margin: -.2rem 0 0;
  color: #c2c2c2;
  font-size: 1.8rem;
  vertical-align: middle;
  transition: .2s ease-in-out;
}

input[type=radio],
input[type=checkbox] {
  opacity: 0;
}

input[type=radio]:disabled+.radio,
input[type=radio]:disabled+.checkbox,
input[type=checkbox]:disabled+.radio,
input[type=checkbox]:disabled+.checkbox {
  cursor: default;
}

input[type="radio"]+label .off {
  display: inline-block;
}

input[type="radio"]:checked+label .on {
  display: inline-block;
  color: #424242;
}

input[type="radio"]:checked+label .off {
  display: none;
}

input[type="checkbox"]+label .off {
  display: inline-block;
}

input[type="checkbox"]:checked+label .on {
  display: inline-block;
  color: #424242;
}

input[type="checkbox"]:checked+label .off {
  display: none;
}

input.error,
select.error,
textarea.error {
  border-color: #ff5722;
  background: rgba(255, 87, 34, 0.06);
}

input.error+label,
select.error+label,
textarea.error+label {
  color: #ff5722;
}

input.error+label .m,
select.error+label .m,
textarea.error+label .m {
  color: #ff5722;
}

label.error {
  display: block;
  padding: .8% 0 0;
  color: #ff5722;
  font-size: 1.4rem;
  letter-spacing: normal;
}

/* ==========================================================================

    03 Tables
    - Baseline styles
    - Bordered version
    - Zebra striping
    - Hover effect

   ========================================================================== */
/* Baseline styles
   --------------------------------------------------- */
table {
  margin: 2rem 0;
  background-color: #fff;
}

th,
td {
  padding: 0;
}

th {
  color: #424242;
  text-align: left;
  font-weight: bold;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 2rem;
}

.table>thead>tr>th,
.table>thead>tr>td,
.table>tbody>tr>th,
.table>tbody>tr>td,
.table>tfoot>tr>th,
.table>tfoot>tr>td {
  padding: 1.6rem;
  line-height: 1.618;
  vertical-align: top;
  border-top: 1px solid #dbdbdb;
}

.table>thead>tr>th {
  vertical-align: bottom;
  border-bottom: 2px solid #dbdbdb;
}

.table>caption+thead>tr:first-child>th,
.table>caption+thead>tr:first-child>td,
.table>colgroup+thead>tr:first-child>th,
.table>colgroup+thead>tr:first-child>td,
.table>thead:first-child>tr:first-child>th,
.table>thead:first-child>tr:first-child>td {
  border-top: 0;
}

.table>tbody+tbody {
  border-top: 2px solid #dbdbdb;
}

.table .table {
  background-color: #fff;
}

.table-condensed>thead>tr>th,
.table-condensed>thead>tr>td,
.table-condensed>tbody>tr>th,
.table-condensed>tbody>tr>td,
.table-condensed>tfoot>tr>th,
.table-condensed>tfoot>tr>td {
  padding: 0.8rem;
}

@media only screen and (max-width: 640px) {

  .table th,
  .table td {
    display: block;
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
  }

  .table th {
    padding-bottom: 0.8rem !important;
  }

  .table td {
    padding-top: 0 !important;
    border: 0 !important;
  }
}

/* Bordered version
   --------------------------------------------------- */
.table-bordered>thead th {
  background: #aaa;
  color: #fff;
}

.table-bordered>thead>tr>th,
.table-bordered>thead>tr>td,
.table-bordered>tbody>tr>th,
.table-bordered>tbody>tr>td,
.table-bordered>tfoot>tr>th,
.table-bordered>tfoot>tr>td {
  padding: 0.8rem 1.6rem;
  border: 1px solid #dbdbdb;
}

.table-bordered>thead>tr>th,
.table-bordered>thead>tr>td {
  border-bottom-width: 2px;
}

/* Zebra striping
   --------------------------------------------------- */
.table-striped>tbody>tr:nth-child(odd)>td,
.table-striped>tbody>tr:nth-child(odd)>th {
  background-color: rgba(66, 66, 66, 0.04);
}

/* Hover effect
   --------------------------------------------------- */
.table-hover>tbody>tr:hover>td,
.table-hover>tbody>tr:hover>th {
  background-color: rgba(66, 66, 66, 0.04);
}

/* ==========================================================================

    03 Typography
    - Headings
    - Body text
    - Lists
    - Misc

   ========================================================================== */
/* Headings
   --------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: bold;
  margin: 0;
}

h1 small,
h1 .small,
h2 small,
h2 .small,
h3 small,
h3 .small,
h4 small,
h4 .small,
h5 small,
h5 .small,
h6 small,
h6 .small,
.h1 small,
.h1 .small,
.h2 small,
.h2 .small,
.h3 small,
.h3 .small,
.h4 small,
.h4 .small,
.h5 small,
.h5 .small,
.h6 small,
.h6 .small {
  font-weight: normal;
}

h1 sup,
h1 sub,
h2 sup,
h2 sub,
h3 sup,
h3 sub,
h4 sup,
h4 sub,
h5 sup,
h5 sub,
h6 sup,
h6 sub,
.h1 sup,
.h1 sub,
.h2 sup,
.h2 sub,
.h3 sup,
.h3 sub,
.h4 sup,
.h4 sub,
.h5 sup,
.h5 sub,
.h6 sup,
.h6 sub {
  font-weight: normal;
  font-size: 60%;
}

h1,
.h1 {
  font-size: 1.4rem;
}

h2,
.h2 {
  font-size: 1.6rem;
  margin: 2.4rem 0 1.6rem;
}

h3,
.h3 {
  font-size: 1.6rem;
  margin: 1.6rem 0 1.6rem;
}

h4,
.h4 {
  font-size: 1.6rem;
}

h5,
.h5 {
  font-size: 1.6rem;
}

h6,
.h6 {
  font-size: 1.6rem;
}

/* Body text
   --------------------------------------------------- */
p {
  margin: 0 0 1rem;
}

small,
.small {
  font-size: 75%;
  letter-spacing: normal;
  line-height: normal;
}

/* Lists
   --------------------------------------------------- */
ul,
ol {
  margin-top: 0;
  margin-bottom: 1rem;
}

ul ul,
ul ol,
ol ul,
ol ol {
  margin-bottom: 0;
}

dl {
  margin-top: 0;
  margin-bottom: 2rem;
}

dl dt {
  font-weight: bold;
}

/* Misc
   --------------------------------------------------- */
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #aaa;
}

.initialism {
  font-size: 90%;
  text-transform: uppercase;
}

/* ==========================================================================

    02 Layout
    - Scaffolding
    - Structure
    - Footer

   ========================================================================== */
/* Scaffolding
   --------------------------------------------------- */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  color: #424242;
  background: #fff;
  text-align: left;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Lucida Grande", sans-serif;
  font-size: 1.6rem;
  line-height: 1.618;
  word-break: break-all;
  cursor: auto;
  letter-spacing: .072rem;
  word-spacing: .072rem;
  -webkit-tap-highlight-color: transparent;
}

a {
  color: #424242;
  text-decoration: underline;
  -webkit-tap-highlight-color: transparent;
}

a:hover,
a:focus {
  color: #1c1c1c;
  text-decoration: none;
}

a:focus {
  outline: 0;
}

img {
  vertical-align: bottom;
}

/* Structure
   --------------------------------------------------- */
html,
body {
  height: auto !important;
  height: 100%;
  min-height: 100%;
}

.inview {
  width: 96rem;
  margin: 0 auto;
  padding: 0.8rem;
}

.contact.inview {
  width: auto;
  padding: 0;
}

#header {
  position: relative;
  width: 100%;
}

#header .inview {
  padding: 0 0.8rem;
}

#container {
  position: relative;
  width: 100%;
}

#footer {
  position: relative;
  width: 100%;
  padding: 0 0 3.2rem;
  letter-spacing: normal;
  word-spacing: normal;
  background: #f6f6f6;
}

/* Structure Clearfix */
#header,
#container,
#footer {
  *zoom: 1;
}

#header:after,
#container:after,
#footer:after {
  content: "";
  display: table;
  clear: both;
}

@media only screen and (max-width: 640px) {
  .inview {
    width: 100%;
    padding: 0 1.6rem;
  }
}

/* Footer elements
   @param #footer
   --------------------------------------------------- */
#page_top {
  position: fixed;
  bottom: -100px;
  right: 50px;
  z-index: 666;
}

#page_top a {
  position: relative;
  display: block;
  width: 4.8rem;
  height: 4.8rem;
  line-height: 4.8rem;
  background: rgba(66, 66, 66, 0.8);
  border-radius: 50%;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: .2s ease-in-out;
}

#page_top [class^="icon-"] {
  font-size: 160%;
  line-height: normal;
  vertical-align: middle;
}

.copyright {
  color: #c2c2c2;
}

#footer_nav {
  padding: .8rem 0;
  background: #386db4;
  font-size: 1.2rem;
}

#footer_nav ul {
  margin: 0;
}

#footer_nav li {
  display: inline-block;
  padding: 0 2.4rem 0 0;
}

#footer_nav a {
  color: #fff;
  text-decoration: none;
}

#copyright {
  position: relative;
  width: 100%;
}

#copyright img {
  width: 26rem;
  height: auto;
  margin: 0 0 .8rem;
}

@media only screen and (max-width: 640px) {
  #copyright img {
    width: 20rem;
    height: auto;
    margin: 0 0 .8rem;
  }
}

#copyright small {
  display: block;
  color: #c2c2c2;
}

#copyright:after {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  content: url("../img/logo_knos.png");
}

#sns_btn {
  padding: 1.6rem 0;
}

@media only screen and (max-width: 640px) {
  #page_top {
    right: 2%;
  }

  #copyright:after {
    content: '';
    width: 30%;
    height: 3rem;
    background: url("../img/logo_knos.png") no-repeat;
    background-size: 100% auto;
  }
}

/* ==========================================================================

    04 Contents
    - Headings
    - Header area
    - Featurea area
    - Pricing area
    - Example area
    - Contact area
    - Form page

   ========================================================================== */
/* Headings
   --------------------------------------------------- */
.content h1 {
  padding: 4rem 0;
  text-align: center;
}

.content h1 .title {
  display: block;
  padding: 0 0 .8rem;
}

.content h1 .title small {
  padding: .4rem 3.2rem;
  border: 1px solid #c2c2c2;
  color: #c2c2c2;
  font-weight: normal;
  font-size: 1.2rem;
}

.content h1 .caption {
  display: inline-block;
  font-size: 3.2rem;
}

.content h1 .caption:after {
  content: '';
  display: block;
  width: 100%;
  height: .4rem;
  background: #424242;
}

.content h2 {
  color: #386db4;
  font-size: 2.4rem;
}

.content h2 small {
  display: block;
}

@media only screen and (max-width: 640px) {
  .content h1 {
    padding: .8rem 0 1.6rem;
  }

  .content h1 .caption {
    display: inline-block;
    font-size: 1.8rem;
  }

  .content h2 {
    font-size: 1.6rem;
  }
}

/* box layout
   --------------------------------------------------- */
.content {
  padding: 2.4rem 0 6.4rem;
  *zoom: 1;
}

.content:after {
  content: "";
  display: table;
  clear: both;
}

.col_wrap {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.col_wrap.col2 .col {
  width: 50%;
}

.col_wrap.col2 .col:nth-child(1n) {
  padding-right: 2%;
}

.col_wrap.col2 .col:nth-child(2n) {
  padding-left: 2%;
}

@media only screen and (max-width: 640px) {
  .content {
    padding: 2.4rem 0;
  }

  .col_wrap {
    display: block;
  }

  .col_wrap.col2 .col {
    width: 100%;
  }

  .col_wrap.col2 .col:nth-child(1n),
  .col_wrap.col2 .col:nth-child(2n) {
    padding: 0;
  }
}

/* Nav elements
   @param #nav
   --------------------------------------------------- */
#nav {
  position: relative;
  z-index: 999;
}

#nav .inview {
  position: relative;
  padding: 0;
}

#nav_icon {
  font-size: 3.2rem;
}

#nav_icon [class^="icon-"] {
  position: absolute;
  top: 1.8rem;
  right: 0;
  line-height: normal;
  cursor: pointer;
  z-index: 9999;
}

#header_nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  background: #fff;
  opacity: 0;
  transition: .3s ease;
}

#header_nav .inview {
  display: grid;
  grid-template-columns: auto 1fr;
  padding: 1.6rem 0;
  align-items: center;
}

#header_nav .inview>div {}

#header_nav.act {
  opacity: 1;
}

#nav_logo img {
  width: 180px;
  height: auto;
}

#nav_menu {
  padding-right: 4.8rem;
  font-size: 1.4rem;
  text-align: right;
}

#nav_menu ul {
  margin: 0 0 1.6rem;
  padding: 0;
}

#nav_menu ul li {
  display: inline-block;
}

#nav_menu ul li:not(:last-child) {
  padding-right: 1.6rem;
}

#nav_menu ul a {
  /* color: #fff; */
}

#nav_menu .btn:nth-of-type(1) {
  margin-right: 1.6rem;
  background: #ff5722;
}

#nav_menu .btn:nth-of-type(1).change_border:before,
#nav_menu .btn:nth-of-type(1).change_border:after,
#nav_menu .btn:nth-of-type(1).change_border .change_border_inner:before,
#nav_menu .btn:nth-of-type(1).change_border .change_border_inner:after {
  background: #dd2c00;
}

#nav_menu .btn:nth-of-type(1).change_border:before {
  height: 0.3rem;
}

#nav_menu .btn:nth-of-type(1).change_border:after {
  height: 0.3rem;
}

#nav_menu .btn:nth-of-type(1).change_border .change_border_inner:before {
  width: 0.3rem;
}

#nav_menu .btn:nth-of-type(1).change_border .change_border_inner:after {
  width: 0.3rem;
}

#nav_menu .btn:nth-of-type(1) [class^="icon-"] {
  color: #fff;
}

#nav_menu .btn:nth-of-type(2) {
  background: #caeefb;
  color: #386db4;
}

#nav_menu .btn:nth-of-type(2).change_border:before,
#nav_menu .btn:nth-of-type(2).change_border:after,
#nav_menu .btn:nth-of-type(2).change_border .change_border_inner:before,
#nav_menu .btn:nth-of-type(2).change_border .change_border_inner:after {
  background: #ffd600;
}

#nav_menu .btn:nth-of-type(2).change_border:before {
  height: 0.3rem;
}

#nav_menu .btn:nth-of-type(2).change_border:after {
  height: 0.3rem;
}

#nav_menu .btn:nth-of-type(2).change_border .change_border_inner:before {
  width: 0.3rem;
}

#nav_menu .btn:nth-of-type(2).change_border .change_border_inner:after {
  width: 0.3rem;
}

@media only screen and (max-width: 640px) {
  #nav_icon [class^="icon-"] {
    right: 1.6rem;
  }

  #header_nav .inview {
    display: block;
    padding: 1.6rem 0;
  }

  #header_nav .inview>div {
    display: block;
  }

  #header_nav .inview #nav_logo {
    display: none;
  }

  #nav_menu {
    padding: 0 1.6rem;
    text-align: left;
  }

  #nav_menu ul li {
    display: block;
    padding: 0 0 .8rem;
  }

  #nav_menu ul li:not(:last-child) {
    padding-right: 0;
  }

  #nav_menu .btn {
    display: block;
  }

  #nav_menu .btn:nth-of-type(1) {
    margin: 0 0 .8rem;
  }
}

/* Header elements
   @param #header
   --------------------------------------------------- */
#header {
  padding: 6.4rem 0 0;
  background: #caeefb;
}

#header .inview {
  position: relative;
  padding: 0;
}

#header h1 {
  margin: 0 0 4rem;
  padding: 0;
}

#header ul {
  margin: 3.2rem 0 0;
  text-align: center;
}

#header .btn {
  background: #ff5722;
  /*#00b0ff*/
}

#header .btn [class^="icon-"] {
  color: #fff;
}

#header .btn.change_border:before,
#header .btn.change_border:after,
#header .btn.change_border .change_border_inner:before,
#header .btn.change_border .change_border_inner:after {
  background: #dd2c00 !important;
}

#header .btn.change_border.logIn:before,
#header .btn.change_border.logIn:after,
#header .btn.change_border.logIn .change_border_inner:before,
#header .btn.change_border.logIn .change_border_inner:after {
  background: #00851d !important;
}

#header .btn.change_border:before {
  height: 0.3rem;
}

#header .btn.change_border:after {
  height: 0.3rem;
}

#header .btn.change_border .change_border_inner:before {
  width: 0.3rem;
}

#header .btn.change_border .change_border_inner:after {
  width: 0.3rem;
}

#header li .minwith {
  min-width: 299.91px;
  margin-bottom: 15px;
}

#header li:nth-child(2) a {
  color: #fff;
  font-size: 1.5rem;
  display: inline-block;
  text-decoration: none;
  margin: 0px auto;
  padding: 1.4rem 4rem;
  background-color: #56b41a;

}

#header li:nth-child(3) {
  margin-bottom: 25px;
}

#header li:nth-child(3) a {
  color: #386db4;
  font-size: 1.2rem;
}

#header_img {
  padding: 0 53rem 0 0;
  min-height: 38rem;
}

#header_img img:nth-of-type(2) {
  position: absolute;
  top: 0;
  right: 0;
  width: 54%;
  height: auto;
}

#header_txt {
  position: relative;
  margin: 0 6.4rem;
  padding: 3.2rem 7.2rem;
  background: #fff;
  text-align: center;
  z-index: 555;
}

#header_txt h2 {
  margin: .8rem 0 2.4rem;
  font-size: 3rem;
  color: #386db4;
}

#header_txt .budge {
  display: block;
  position: absolute;
  top: -4.8rem;
  right: -4.8rem;
  width: 9.6rem;
  height: 9.6rem;
  padding: 1.8rem 0 0;
  background: #00b0ff;
  border-radius: 50%;
  color: #fff;
  line-height: 1.2;
  text-decoration: none;
}

#header_txt .budge .t0 {
  padding: 0 0 .4rem;
  color: #386db4;
  font-size: 1rem;
  letter-spacing: normal;
}

#header_txt .budge .t1 {
  font-size: 1rem;
}

#header_txt .budge .t2 {
  color: #caeefb;
  font-size: 2rem;
}

#header_txt .budge .icon-arw_right:before {
  color: #386db4;
  font-size: 2.4rem;
  line-height: .2rem;
}

#header.consideration {
  padding: 0;
  background: #386db4;
  text-align: center;
}

#header.consideration h1 {
  margin: 3.2rem 0 0;
  font-size: 4rem;
  color: #fff;
}

#header.consideration #header_img {
  padding: 8rem 0 0;
  min-height: 32rem;
}

#header.consideration #header_img a {
  position: absolute;
  top: 2.4rem;
  right: 0;
  background: #caeefb;
  color: #386db4;
}

#header.consideration #header_img a.change_border:before,
#header.consideration #header_img a.change_border:after,
#header.consideration #header_img a.change_border .change_border_inner:before,
#header.consideration #header_img a.change_border .change_border_inner:after {
  background: #ffd600;
}

#header.consideration #header_img a.change_border:before {
  height: 0.3rem;
}

#header.consideration #header_img a.change_border:after {
  height: 0.3rem;
}

#header.consideration #header_img a.change_border .change_border_inner:before {
  width: 0.3rem;
}

#header.consideration #header_img a.change_border .change_border_inner:after {
  width: 0.3rem;
}

#header.consideration #header_img a [class^="icon-"] {
  color: #386db4;
}

@media only screen and (max-width: 640px) {
  #header {
    padding: 1.6rem 0 0;
  }

  #header .inview {
    position: relative;
    padding: 0 1.6rem;
  }

  #header h1 {
    margin: 0 0 2.4rem;
    text-align: left;
    padding-left: 1.6rem;
  }

  #header h1 img {
    width: 75%;
    height: auto;
  }

  #header ul {
    margin: 1.6rem 0 0;
  }

  #header .btn {
    background: #00b0ff;
  }

  #header .btn [class^="icon-"] {
    color: #fff;
  }

  #header .btn.change_border:before,
  #header .btn.change_border:after,
  #header .btn.change_border .change_border_inner:before,
  #header .btn.change_border .change_border_inner:after {
    background: #dd2c00;
  }

  #header .btn.change_border:before {
    height: 0.3rem;
  }

  #header .btn.change_border:after {
    height: 0.3rem;
  }

  #header .btn.change_border .change_border_inner:before {
    width: 0.3rem;
  }

  #header .btn.change_border .change_border_inner:after {
    width: 0.3rem;
  }

  #header li:nth-child(2) {
    margin: .4rem 0 1.6rem;
  }

  #header li:nth-child(3) a {
    /*color: #386db4;*/
    font-size: 1.2rem;
  }

  #header_img {
    padding: 0;
    min-height: auto;
    text-align: center;
  }

  #header_img img {
    width: 90%;
    height: auto;
  }

  #header_img img:nth-of-type(2) {
    position: relative;
    width: 90%;
    margin: 1.6rem 0 0;
  }

  #header_txt {
    position: relative;
    margin: 0;
    padding: 2.4rem 1.6rem;
    text-align: left;
  }

  #header_txt h2 {
    margin: 0 0 2.4rem;
    font-size: 1.6rem;
  }

  #header_txt .budge {
    display: none;
  }

  #header.consideration {
    padding: 0;
    background: #386db4;
    text-align: center;
  }

  #header.consideration h1 {
    margin: 1.6rem auto;
    font-size: 2rem;
    text-align: center;
  }

  #header.consideration #header_img {
    padding: 4rem 0 5.6rem;
    min-height: auto;
    text-align: center;
  }

  #header.consideration #header_img img {
    width: 40%;
    height: auto;
  }

  #header.consideration #header_img a {
    position: absolute;
    top: 18rem;
    right: 50%;
    -moz-transform: translate(50%, 0);
    -ms-transform: translate(50%, 0);
    -webkit-transform: translate(50%, 0);
    transform: translate(50%, 0);
  }
}

/* Container elements
   @param #container
   --------------------------------------------------- */
#container {
  margin: -8rem 0 0;
}

/* Featurea area
   @param #featurea
   --------------------------------------------------- */
#featurea {
  background: #f6f6f6;
  padding-bottom: 0;
}

#featurea h1 {
  padding-top: 12.8rem;
}

#featurea_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}

#featurea01,
#featurea02 {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
}

#featurea01 .inview,
#featurea02 .inview {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;

}



#featurea01 .inview,
#featurea02 .inview {
  position: relative;
  width: 47.2rem;
  margin: 0;
}

#featurea01 .inview h2 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: start;
}

#featurea02 .inview h2 {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr auto;
  align-items: start;
}

#featurea02 .inview h2:before {
  grid-area: 1 / 2 / 2 / 3;
}

@media only screen and (max-width: 640px) {

  #featurea01 .inview h2,
  #featurea02 .inview h2 {
    gap: 10px;
  }

  #featurea02 .inview h2 {
    grid-template-columns: auto 1fr;
  }

  #featurea02 .inview h2:before {
    grid-area: 1 / 1 / 2 / 2;
  }
}

#featurea01 .inview h2:before,
#featurea02 .inview h2:before {
  display: block;
  width: 8rem;
  padding: .4rem 0;
  border: 1px solid #386db4;
  color: #386db4;
  text-align: center;
  font-size: 2rem;
  font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
}

#featurea01 img,
#featurea02 img {
  padding: 0 0 2.4rem;
}

#featurea01 {
  background: #ffceb7;
}

#featurea01 .inview {
  /* float: right;*/
  padding: 2.4rem 3.2rem 6.4rem 1.6rem;
  margin-left: auto;
}

#featurea01 .inview h2:before {
  content: '01.';
  left: 0;
}

/* #featurea01 h2 {
  padding-left: 8rem;
} */

#featurea02 {
  background: #cbe9d8;
}

#featurea02 .inview {
  float: left;
  padding: 2.4rem 1.6rem 6.4rem 3.2rem;
}

#featurea02 .inview h2:before {
  content: '02.';
  right: 0;
}

#featurea02 h2 {
  text-align: right;
}

.featurea_head {
  padding: 2.4rem 0;
  background: #caeefb;
  *zoom: 1;
}

.featurea_head:after {
  content: "";
  display: table;
  clear: both;
}

.featurea_head h2 {
  margin-top: 0;
}

.featurea_head span {
  float: left;
  padding-right: 3.2rem;
}

.featurea_body {
  padding: 3.2rem 0;
  background: #fff url(../img/pattern_bg.png);
  text-align: center;
}

.featurea_body dl {
  display: table;
  margin: 0 auto 2.4rem;
  border: 1px solid #386db4;
}

.featurea_body dt,
.featurea_body dd {
  display: table-cell;
  padding: 1.6rem 2.4rem;
}

.featurea_body dt {
  background: #386db4;
  color: #fff;
}

.featurea_body dd {
  background: #fff;
  text-align: left;
}

.featurea_body img {
  margin: 0 0 2.4rem;
  border: 2px solid #dbdbdb;
}

@media only screen and (max-width: 640px) {
  #featurea h1 {
    padding-top: 10rem;
  }

  #featurea_wrap {
    display: block;
  }

  #featurea01,
  #featurea02 {
    display: block;
    width: 100%;
  }

  #featurea01 .inview,
  #featurea02 .inview {
    width: 100%;
    float: none;
    padding: 0 1.6rem 2.4rem;
  }

  #featurea01 .inview h2:before,
  #featurea02 .inview h2:before {
    display: inline-block;
    width: auto;
    padding: 0 .8rem;
    font-size: 1.6rem;
  }

  #featurea01 h2,
  #featurea02 h2 {
    /* margin-top: .8rem;
    padding: 0 0 0 4.8rem; */
    text-align: left;
  }

  #featurea01 img,
  #featurea02 img {
    width: 100%;
    height: auto;
  }

  .featurea_head {
    padding: 1.6rem 0;
  }

  .featurea_head span {
    float: none;
    display: block;
    width: 30%;
    margin: 0 auto 1.6rem;
    padding: 0;
  }

  .featurea_head span img {
    width: 100%;
    height: auto;
  }

  .featurea_body {
    padding: 2.4rem 0;
  }

  .featurea_body dl {
    display: block;
    font-size: 1.4rem;
  }

  .featurea_body dt,
  .featurea_body dd {
    display: block;
    padding: .8rem;
  }

  .featurea_body img {
    width: 100%;
    height: auto;
  }

  .featurea_body p {
    text-align: left;
  }
}

/* Flow area
   @param #flow
   --------------------------------------------------- */
#flow {
  background: url(../img/pattern_bg.png);
}

.flow_head {
  display: -webkit-flex;
  display: flex;
  width: 100%;
}

.flow_head:before,
.flow_head:after {
  display: block;
  content: '';
  width: 100%;
}

.flow_head .inview {
  display: -webkit-flex;
  display: flex;
  padding: 3.2rem 0 7.2rem;
  background: #caeefb;
  float: left;
}

.flow_head .flow_head_L {
  position: relative;
  width: 24rem;
  text-align: center;
}

.flow_head .flow_head_R {
  width: 64rem;
}

.flow_head h2 {
  margin: 0 0 1.6rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap:10px;
  align-items: start;
}



.flow_head .step {
  margin-top: 0.5em;
  padding: .4rem .8rem;
  border: 1px solid #386db4;
  font-size: 1.4rem;
  font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
  letter-spacing: normal;
  vertical-align: middle;
}

/* IE ONLY HACK */
@media all and (-ms-high-contrast: none) {

  .flow_head:before,
  .flow_head:after {
    width: auto;
  }
}

/* END IE ONLY HACK */
/* SAFARI ONLY HACK */
_::-webkit-:not(:root:root),
.flow_head:before {
  width: auto;
}

_::-webkit-:not(:root:root),
.flow_head:after {
  width: auto;
}

/* END IE ONLY SAFARI */
#flow div:nth-child(even) .flow_head:before {
  background: transparent;
}

#flow div:nth-child(even) .flow_head:after {
  background: #caeefb;
}

#flow div:nth-child(even) .flow_head .inview {
  padding-right: 4rem;
}

#flow div:nth-child(even) .flow_head .flow_head_L {
  -webkit-order: -1;
  order: -1;
}

#flow div:nth-child(even) .flow_head .flow_head_R {
  -webkit-order: 0;
  order: 0;
}

#flow div:nth-child(odd) .flow_head:before {
  background: #caeefb;
}

#flow div:nth-child(odd) .flow_head:after {
  background: transparent;
}

#flow div:nth-child(odd) .flow_head .inview {
  padding-left: 4rem;
}

div[id^="flow_popup"] {
  position: absolute;
  top: -8rem;
  left: 0;
  width: 80%;
  margin-left: 10%;
  padding: 1.6rem 2.4rem;
  background: #386db4;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
  color: #fff;
  font-weight: normal;
  font-size: 1.4rem;
  letter-spacing: normal;
}

div[id^="flow_popup"]:before {
  position: absolute;
  bottom: -.8rem;
  left: 50%;
  content: '';
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  margin-left: -.8rem;
  background: #386db4;
  box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

div[id^="flow_popup"].hide {
  animation-name: slidedown;
  animation-duration: 400ms;
  animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  opacity: 0;
}

div[id^="flow_popup"].show {
  animation-name: slideup;
  animation-duration: 400ms;
  animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes slideup {
  0% {
    top: -6rem;
    opacity: 0;
  }

  90% {
    top: -8.4rem;
  }

  100% {
    top: -8rem;
    opacity: 1;
  }
}

@keyframes slidedown {
  0% {
    top: -8rem;
    opacity: 1;
  }

  10% {
    top: -8.4rem;
  }

  100% {
    top: -6rem;
    opacity: 0;
  }
}

@media only screen and (max-width: 640px) {

  .flow_head:before,
  .flow_head:after {
    display: none;
  }

  .flow_head .inview {
    padding: 0 1.6rem;
    float: none;
    flex-direction: column;
  }

  .flow_head .flow_head_L {
    width: 30%;
    margin: 0 auto;
  }

  .flow_head .flow_head_L img {
    width: 100%;
    height: auto;
  }

  .flow_head .flow_head_R {
    width: 100%;
  }

  .flow_head h2 {
    margin: 0 0 1.6rem;
  }

  .flow_head .step {
    font-size: 1.2rem;
    clear: both;
  }

  #flow div:nth-child(even) .flow_head .inview,
  #flow div:nth-child(odd) .flow_head .inview {
    padding: 1.6rem 1.6rem 5.6rem;
  }

  #flow div:nth-child(even) .flow_head .flow_head_L,
  #flow div:nth-child(odd) .flow_head .flow_head_L {
    -webkit-order: -1;
    order: -1;
  }

  #flow div:nth-child(even) .flow_head .flow_head_R,
  #flow div:nth-child(odd) .flow_head .flow_head_R {
    -webkit-order: 0;
    order: 0;
  }

  div[id^="flow_popup"] {
    display: none;
  }

  div[id^="flow_popup"]:before {
    display: none;
  }
}

.flow_body {
  margin: -8rem 0 0;
}

.flow_body img,
.flow_body video {
  border: 2px solid #dbdbdb;
}

.flow_body .inview {
  position: relative;
  padding: 0 0 4.8rem;
}

.flow_body .inview:before {
  position: absolute;
  top: 6rem;
  display: block;
  color: #caeefb;
  font-size: 20rem;
  font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
  letter-spacing: -1.6rem;
  line-height: normal;
}

.flow_body .inview:after {
  position: absolute;
  top: 0;
  display: block;
  content: '';
  width: .8rem;
  height: 100%;
  background: url(../img/flow_line.png) repeat-y;
  z-index: 1;
}

.flow_body .swiper-container {
  width: 64rem;
}

.flow_body .swiper-slide {
  text-align: center;
}

#flow div:nth-child(even) .flow_body .inview:before {
  left: 2rem;
}

#flow div:nth-child(even) .flow_body .inview:after {
  left: 29.6rem;
}

#flow div:nth-child(odd) .flow_body .inview:before {
  right: 2rem;
}

#flow div:nth-child(odd) .flow_body .inview:after {
  right: 29.6rem;
}

#flow01 .flow_body .inview {
  padding-left: 30.4rem;
}

#flow01 .flow_body .inview:before {
  content: '01.';
}

#flow02 .flow_body .inview {
  text-align: left;
}

#flow02 .flow_body .inview .swiper-container {
  margin-left: 0;
}

#flow02 .flow_body .inview:before {
  content: '02.';
}

#flow03 .flow_body .inview {
  padding-left: 24rem;
}

#flow03 .flow_body .inview:before {
  content: '03.';
}

#flow03 .flow_body .sample {
  padding-top: 0;
  max-width: 640px;
}

#flow03 .flow_body .sample_body {
  padding-top: 0;
}

#flow04 .flow_body .inview:before {
  content: '04.';
}

#flow04 .flow_body .inview:after {
  display: none;
}

#flow04 .flow_body .inview .btn {
  margin: 0 0 0 2.4rem;
}

@media only screen and (max-width: 640px) {
  .flow_body {
    margin: -4rem 0 0;
  }

  .flow_body img {
    width: 100%;
    height: auto;
  }

  .flow_body .inview {
    position: relative;
    padding: 0 0 4.8rem;
  }

  .flow_body .inview:before,
  .flow_body .inview:after {
    display: none;
  }

  .flow_body .swiper-container {
    width: 100%;
  }

  .flow_body .swiper-container img {
    width: 80%;
    height: auto;
  }

  #flow01 .flow_body .inview,
  #flow02 .flow_body .inview,
  #flow03 .flow_body .inview,
  #flow04 .flow_body .inview {
    padding: 0 0.8rem;
  }

  #flow04 .flow_body .inview {
    text-align: center;
  }

  #flow04 .flow_body .inview .btn {
    margin: .8rem 0 0;
  }
}

.slide_txt {
  padding: .8rem 0;
  font-size: 1.2rem;
}

.sample {
  position: relative;
  padding: 2.4rem 0;
  clear: both;
  font-size: 1.4rem;
  z-index: 555;
}

.sample_head {
  display: table;
}

.sample_head h3,
.sample_head ul {
  display: table-cell;
  font-size: 1.4rem;
}

.sample_head h3 {
  padding: 0 1.6rem;
  background: #fff;
  border: 0.1rem solid #424242;
  vertical-align: middle;
}

.sample_head ul {
  padding: 0 0 0 1.6rem;
}

.sample_body {
  padding: 2.4rem 0;
}

.sample_foot {
  /* color: #386db4; */
  *zoom: 1;
}

.sample_foot:after {
  content: "";
  display: table;
  clear: both;
}

.sample_foot li:before {
  display: inline-block;
  content: "";
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.sample_foot li:before {
  margin: 0 .8rem 0 0;
}

.sample_foot .btn {
  float: right;
}

.video {
  position: relative;
  width: 71.6rem;
}

.video:before {
  content: '';
  display: block;
  padding: 56.2849162011% 0 0;
}

.video video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
}

@media only screen and (max-width: 640px) {
  .sample {
    padding: 1.6rem 0;
  }

  .sample_head {
    display: block;
  }

  .sample_head h3,
  .sample_head ul {
    display: block;
  }

  .sample_head li {
    list-style-type: disc;
  }

  .sample_body {
    padding: 0 0 .8rem;
  }

  .sample_foot {
    text-align: center;
  }

  .sample_foot .btn {
    float: none;
    margin: 0 auto .8rem;
  }

  .sample_foot ul,
  .sample_foot p {
    text-align: left;
  }

  .video {
    position: relative;
    width: 100%;
  }
}

/* Try area
   @param #try
   --------------------------------------------------- */
#try {
  background: #f6f6f6;
}

#try .inview {
  width: 70rem;
  margin: 0 auto;
}

#try .inview>p {
  text-align: center;
}

#try img {
  margin: 1.6rem 0 2.4rem;
  border: 2px solid #dbdbdb;
}

#try .col_wrap {
  justify-content: space-between;
}

#try .col {
  width: auto;
}

#try .col:nth-child(2) {
  -webkit-order: -1;
  order: -1;
}

#try .voice_txt {
  margin: 1.6rem 0 0;
  width: 98%;
}

#try .voice_txt:last-child {
  background: #ffd600;
}

#try .voice_txt:last-child:before {
  left: auto;
  right: -1rem;
  background: #ffd600;
}

@media only screen and (max-width: 640px) {
  #try .inview {
    width: 100%;
  }

  #try p:first-child {
    text-align: left;
  }

  #try img {
    width: 100%;
    height: auto;
    margin: .8rem 0;
  }

  #try .col:nth-child(1) {
    margin: 0 auto 1.6rem;
    text-align: center;
  }
}

/* Faq area
   @param #faq
   --------------------------------------------------- */
#faq {
  background: #f6f6f6;
}

#faq h2 {
  margin: 0;
  font-size: 1.6rem;
}

#faq .aC {
  padding: 3.2rem 0 0;
}

.faq {
  border-top: 1px solid #dbdbdb;
}

.faq:last-of-type {
  border-bottom: 1px solid #dbdbdb;
}

[class^="faq_"] {
  position: relative;
  padding: 2.4rem 1.6rem 2.4rem 7%;
}

[class^="faq_"]:before {
  position: absolute;
  top: 1.6rem;
  left: .8rem;
  display: inline-block;
  font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
  font-size: 3.2rem;
  line-height: normal;
}

.faq_q {
  cursor: pointer;
}

.faq_q:before {
  content: 'Q.';
  color: #386db4;
}

.faq_q:after {
  position: absolute;
  top: 2.4rem;
  right: .8rem;
  display: inline-block;
  content: '\e900';
  font-size: 2.4rem;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.faq_q.act:before,
.faq_q.act h2 {
  color: #00b0ff;
}

.faq_q.act:after {
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  animation: rotate .2s;
}

.faq_a {
  display: none;
}

.faq_a:before {
  content: 'A.';
}

.faq_a h3 {
  /* padding: .8rem 0;
  border: 1px solid #c2c2c2;
  text-align: center;
  font-weight: normal;
  font-size: 1.4rem; */
}

.faq_a dl {
  margin: 0;
}

.faq_a dt {
  font-weight: normal;
}

.faq_a dd {
  padding: 0 0 .8rem;
}

.faq_a .col_wrap {
  font-size: 1.4rem;
}

@keyframes rotate {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

@media only screen and (max-width: 640px) {
  [class^="faq_"] {
    padding: 1.6rem 4rem 1.6rem 9%;
  }

  [class^="faq_"]:before {
    left: 0;
    font-size: 2.4rem;
  }

  .faq_q:after {
    top: 1.6rem;
  }
}

/* Voice area
   @param #voice
   --------------------------------------------------- */
#voice {
  background: url(../img/pattern_bg.png);
}

.voice {
  padding: 0 0 4rem;
  display: -webkit-flex;
  display: flex;
}

.voice [class^="voice_"] {
  vertical-align: top;
}

.voice_title {
  width: 13.125%;
  margin-right: 3rem;
  text-align: center;
}

.voice_title h2 {
  margin: .8rem 0 0;
  font-size: 1.4rem;
  color: #424242;
  text-align: center;
}

.voice_txt {
  position: relative;
  width: 56.6666666667%;
  padding: 2.4rem;
  background: #caeefb;
}

.voice_txt:before {
  position: absolute;
  top: 50%;
  left: -1rem;
  display: block;
  content: '';
  width: 2rem;
  height: 2rem;
  margin: -1rem 0 0;
  background: #caeefb;
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.voice_txt h3 {
  margin: .8rem 0 1.6rem;
  color: #386db4;
}

.voice:nth-child(odd) {
  justify-content: flex-end;
}

.voice:nth-child(odd) .voice_title {
  -webkit-order: 0;
  order: 0;
  margin-left: 3rem;
}

.voice:nth-child(odd) .voice_txt {
  -webkit-order: -1;
  order: -1;
}

.voice:nth-child(odd) .voice_txt:before {
  left: auto;
  right: -1rem;
}

@media only screen and (max-width: 640px) {
  .voice {
    display: block;
    padding: 0;
  }

  .voice_title {
    width: 100%;
    margin: 1.6rem 0 .8rem;
    text-align: center;
  }

  .voice_title img {
    width: 30%;
    height: auto;
  }

  .voice_txt {
    width: 100%;
    padding: .8rem 1.6rem;
  }

  .voice_txt:before {
    display: none;
  }

  .voice_txt h3 {
    margin: .8rem 0;
  }

  .voice:nth-child(odd) .voice_title {
    margin-left: 0;
  }
}

/* Contact area
   @param .contact
   --------------------------------------------------- */
.contact {
  padding: 3.2rem 0;
  background: #caeefb;
}

.contact h1 {
  font-size: 3.2rem;
  line-height: normal;
}
.contact h1 br{
  display: none;
}
@media only screen and (max-width: 640px) {
  .contact h1 {
  text-align: center;
  }
  .contact h1 br{
  display: block;
}
}

.contact h1 img {
  margin: -0.2em 0.2em 0;
  width: 10em;
  height: auto;
  vertical-align: middle;
}
@media only screen and (max-width: 640px) {
.contact h1 img {

  width: 11em;

}
}


.contact h1 strong {
  color: #386db4;
}

/**/
.contact_flex {
  display: flex;
  justify-content: space-between;
}

.contact_flex p {
  font-size: 1.4rem;
  margin: 0;
}

.contact_flex h2 {
  font-size: 2rem;
}

.contact_flex a {
  display: block;
  text-decoration: none;
}

.contact_flex a:hover {
  color: #fff;
}

.contact_flex div:nth-child(1) {
  width: 45%;
  position: relative;
}

.contact_flex div:nth-child(1) h2 {
  text-align: right;

}

.contact_flex div:nth-child(1) img {
  position: absolute;
  top: -60px;
  left: 0px;
}

.contact_flex div:nth-child(2) {
  width: calc(25% - 10px);
}

.contact_flex div:nth-child(3) {
  width: calc(30% - 10px);
}

.contact_flex .btn-start h2 {
  color: #caeefb !important;
  margin: 1rem 0 2.4rem;
}

.contact_flex .btn-contact h2,
.contact_flex .btn-univ h2 {
  margin: 1rem 0 2.4rem;
}

.contact_flex .btn-contact h2,
.contact_flex .btn-contact p {
  color: #424242 !important;
}

.contact_flex .btn-univ h2 {
  color: #caeefb;
  color: #fff;
}

/*  2020_11/30追記  */
/* .btn_wrap {
  display: -webkit-flex;
  display: flex;
}

.contact_flex.btn_wrap div:nth-child(2) {
  width: 33%;
}

.contact_flex.btn_wrap .btn-start h2,
.contact_flex .btn-univ.btn_contact h2 {
  margin: 0;
}

.btn_wrap a {
  padding: 3.2rem 2.4rem .8em;
  text-decoration: none;
  *zoom: 1;
  height: 100%;
} */

.btn_buy {
  width: fit-content;
  background: #00b0ff;
  margin: 20px auto;
}

.btn_buy.change_border:before {
  height: 0.6rem;
}


.btn_buy.change_border .change_border_inner:before {
  width: 0.6rem;
}

.btn_buy.change_border .change_border_inner:after {
  width: 0.6rem;
}

.btn_buy.change_border:after {
  height: 0.6rem;
}

.btn_buy img {
  position: relative;
  float: left;
  margin: auto 1.6rem -.8rem -.8rem;
  z-index: 555;
}

.btn_wrap a {
  padding: 3.2rem 2.4rem 1.8em;
  text-decoration: none;
  *zoom: 1;
}



.btn_buy h2 {
  margin-top: -1rem;
  color: #caeefb !important;
  font-size: 3.2rem;
}

.btn_wrap h2 {
  margin: 0;
}

.btn_wrap p {
  padding: 0;
  font-size: 1.4rem;
  letter-spacing: normal;
  color: #fff;
}

.btn_wrap a:nth-child(2) {
  padding: 2.4rem 2.4rem;
}

.btn_contact {
  background: #ff5722;
  color: #fff;
}

.btn_contact.change_border:before,
.btn_contact.change_border:after,
.btn_contact.change_border .change_border_inner:before,
.btn_contact.change_border .change_border_inner:after {
  background: #dd2c00;
}

.btn_contact h2 {
  color: #fff !important;
}

.btn_contact h2 {
  font-size: 2.4rem;
}

.btn_contact.change_border:before {
  height: 0.6rem;
}

.btn_contact.change_border .change_border_inner:before {
  width: 0.6rem;
}

.btn_contact.change_border .change_border_inner:after {
  width: 0.6rem;
}

.btn_contact.change_border:after {
  height: 0.6rem;
}

/*  /2020_11/30追記  */


@media only screen and (max-width: 640px) {
  .contact {
    padding: 2.4rem 0;
  }

  .contact h1 {
    font-size: 1.6rem;
  }

  .contact_flex {

    display: block;

  }

  /*  2020_11/30追記  */
  .btn_wrap a {
    padding: 2.4rem 2.4rem .8em;
  }

  .btn_buy {
    width: 100%;
  }



  .btn_buy h2 {
    margin-top: -1rem;
    font-size: 1.6rem;
  }

  /*  /2020_11/30追記  */
  .contact_flex div:nth-child(1) {
    width: 100%;
    position: relative;
    margin-bottom: 1rem;
  }

  /* 2020/12/01追記  */
  .contact_flex.btn_wrap div:nth-child(2) {
    width: 100%;
    margin-bottom: 1rem;
  }

  /* /2020/12/01追記  */

  .contact_flex div:nth-child(3) {
    width: 100%;
  }

  .contact_flex .btn-start h2,
  .contact_flex .btn-contact h2,
  .contact_flex .btn-univ h2 {
    margin: 0;
    font-size: 1.8rem;
  }

  .contact_flex div:nth-child(1) h2 {
    text-align: left;
  }

  .contact_flex div:nth-child(1) p {
    width: 60%;
  }

  .contact_flex div:nth-child(1) img {
    position: absolute;
    top: 25%;
    left: 65%;
    width: 30%;
  }

}


/*consideration*/
.contact.consideration {
  background: #d1c4e9;
}

.contact.consideration .btn_wrap {
  display: block;
  text-align: center;
}


.change_border_inner .contact-grid {
  display: grid;
  grid-template-columns: 40% 1fr;
  padding: 0 20px;
  align-items: center;
}



.contact.consideration .btn_buy {
  background: #00b0ff;
}



.contact.consideration .btn_buy h2 {
  margin: 0;
  margin-top: -1rem;
  color: #caeefb !important;
  font-size: 3.2rem;
}

.contact.consideration .btn_wrap p {
  padding: 0;
  font-size: 1.4rem;
  letter-spacing: normal;
  color: #fff;
}

.contact.consideration .inview>p {
  margin: 1.8rem 0 0;
  text-align: center;
  font-size: 1.4rem;
}

@media only screen and (max-width: 640px) {
  .contact.consideration h1 img {
    margin: -.8rem 0 0;
    width: 16rem;
  }

  .btn_wrap a {
    /*  2020/12/01追記  */
    padding: 1.8rem 2.4rem .8em;
    margin-bottom: .4em;
    /*  /2020/12/01追記  */
  }

  .contact.consideration .btn_buy {
    margin: 0 0 .8rem;
    width: 100% !important;
    text-align: left;
  }

  .contact.consideration .btn_buy img {
    float: right;
    margin: 0 0 0 .8rem;
    width: 30%;
    height: auto;
  }

  .contact.consideration .btn_buy h2 {
    margin-top: -1rem;
    font-size: 1.6rem;
  }
}

/* Modal box
   @param .mpdal
   --------------------------------------------------- */
.modal_btn {
  cursor: pointer;
}

.modal_wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 999998;
}

.modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 80vw;
  min-height: 50rem;
  padding: 2.4% 3.2%;
  transform: translate(-50%, -50%);
  z-index: 99999;
  background: #fff;
}

.modal.act {
  display: block;
}

.modal.scroll {
  position: relative;
  z-index: 999999;
  top: 2.4rem;
  width: 90vw;
  margin: 0 0 2.4rem;
  transform: translate(-50%, 0);
}

.modal>.modal_close {
  position: absolute;
  top: 0;
  right: 0;
  padding: .6rem 1rem;
  background: transparent;
  border: 0;
  color: #c2c2c2;
  font-size: 2rem;
}

.modal.timeout {
  min-width: auto;
  min-height: auto;
  padding: 0;
}

.modal.timeout>.modal_close {
  width: 2.4em;
  height: 2.4em;
  background: #000;
  color: #fff;
}

.modal_head {
  padding: 0 0 1.6rem;
}

.modal_head h1 {
  font-size: 1.8rem;
}

.modal_foot {
  padding: 1.6rem 0 0;
  text-align: center;
}

#overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 130%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 888;
  cursor: pointer;
  overflow: auto;
}

#overlay.act {
  display: block;
}

@media only screen and (max-width: 640px) {
  .modal {
    min-width: 90vw;
  }
}

.header_btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.header_btns .btn {
  padding: 1.4rem 1rem;
  font-size: 1.4rem;
}

@media only screen and (max-width: 640px) {
  .header_btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .header_btns li a {
    width: 80%;
  }
}


#header .btn.change_border:before,
#header .btn.change_border:after,
#header .btn.change_border .change_border_inner:before,
#header .btn.change_border .change_border_inner:after {
  background: #386db4;
}



#header li:last-child .btn {
  background: #ff5722;
}

#header li:last-child .btn.change_border:before,
#header li:last-child .btn.change_border:after,
#header li:last-child .btn.change_border .change_border_inner:before,
#header li:last-child .btn.change_border .change_border_inner:after {
  background: #dd2c00;
}

.icons {
  max-width: 170px;
}

.underline {
  background: linear-gradient(transparent 60%, #FBF208 60%);
  font-weight: bold;
}

