@charset "UTF-8";
@font-face {
  font-family: 'themify';
  src: url("../fonts/themify/themify.eot?-fvbane");
  src: url("../fonts/themify/themify.eot?#iefix-fvbane") format("embedded-opentype"), url("../fonts/themify/themify.woff?-fvbane") format("woff"), url("../fonts/themify/themify.ttf?-fvbane") format("truetype"), url("../fonts/themify/themify.svg?-fvbane#themify") format("svg");
  font-weight: normal;
  font-style: normal;
}

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

/* ===================================================================== */
/* base * /
/* ===================================================================== */
html {
  font-size: 62.5%;
  height: 100%;
}

body {
  color: #333333;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica,
  '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック','Yu Gothic',
  'Hiragino Kaku Gothic ProN','メイリオ', arial, Meiryo,
  'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  font-size: 2rem;
  font-weight: 400;
  height: 100%;
  line-height: 2;
  width: 100%;
}

section {
  background: #ffffff;
  padding: 10rem 0;
}

img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

.container {
  height: 100%;
  margin: 0 auto;
  padding: 0 50px;
  width: 1060px;
}

/* safari */
_::-webkit-full-page-media, _:future, :root .container::before,
.container::after {
  display: block;
}

@media only screen and (max-width: 1024px) {
  .container {
    padding: 0 4rem;
    width: 100%;
  }
}

@media only screen and (max-width: 430px) {
  .container {
    padding: 0 1rem;
  }
}

/* ===================================================================== */
/* general */
/* ===================================================================== */
a {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #fabe00;
  cursor: pointer;
}

a:hover, a:focus, a:active {
  outline: none;
  color: #e96b76;
  text-decoration: none;
  border-bottom: 1px solid #e96b76;
}

input {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

::-webkit-selection {
  color: #fff;
  background: #ddd;
}

::-moz-selection {
  color: #fff;
  background: #ddd;
}

::selection {
  color: #fff;
  background: #ddd;
}

/* ===================================================================== */
/* header */
/* ===================================================================== */
.header-wrap {
  position: relative;
}

#header {
  position: fixed;
  width: 100%;
  z-index: 9000;
}

#global-nav {
  width: 100%;
  height: 100%;
}

#header-menu {
  -webkit-align-items: center;
  align-items: center;
  background-color: #ffffff;
  font-weight: 600;
  list-style-type: none;
  padding: 1rem 2rem;
}
#header-menu li {
  margin-right: 3rem;
}
#header-menu li:last-child {
  margin-right: 0;
}
#header-menu li a {
  color: #205DC9;
  font-size: 1.6rem;
  position: relative;
  white-space: nowrap;
}
#header-menu li a:hover {
  border-bottom: none;
  color: #D35B92;
}

#header-menu .header-logo {
  width: auto;
  height: 100%;
}
#header-menu .header-logo {
  margin-right: auto;
}

#header-menu .header-logo a {
  display: table-cell;
  padding: 0;
  vertical-align: middle;
}
#header-menu .header-logo a {
  font-size: 2.4rem;
}
#header-menu .header-logo a:hover {
  color: inherit;
}

#header-menu .header-logo a img {
  height: 24px;
}

/* safari */
_::-webkit-full-page-media, _:future, :root #header-menu .header-logo a {
  padding-right: 2rem;
}

#header-menu .header-logo a:hover {
  border-bottom: none;
}
#header-menu .header-logo a:hover::after {
  width: 0;
  height: 0;
}

@media only screen and (max-width: 430px) {
  #header-menu {
    padding: 1rem;
  }
}

/* ===================================================================== */
/* keyvisual */
/* ===================================================================== */
#key-visual {
  height: 450px;
  left: 0;
  position: relative;
  top: 60px;
  width: 100%;
}

#key-visual .main-catch {
  align-items: center;
  display: flex;
  flex-flow: column;
}
#key-visual .main-catch .h1 {
  line-height: 1.5;
}

@media only screen and (max-width: 1120px) {
  #key-visual {
    top: 44px;
  }
}

@media only screen and (max-width: 1024px) {
  #key-visual {
    height: 600px;
  }

  #key-visual .main-catch {
    position: relative;
    width: 100%;
  }

  #key-visual .main-catch .h1 {
    text-align: center;
  }
}

@media only screen and (max-width: 430px) {
  #key-visual {
    height: 375px;
  }
  
  #key-visual .main-catch {
    top: 150px;
  }
  
  #key-visual .h1_small span:last-child {
    margin-top: 1rem;
  }
}

/* ===================================================================== */
/* footer */
/* ===================================================================== */
#footer {
  background-color: #ffffff;
  border-top: 1px solid #D7D7D7;
  padding: 4rem 2rem;
  position: relative;
}

#footer .up-down {
  top: -2rem;
  bottom: auto;
}

#footer .container {
  color: #777777;
  font-size: 1.4rem;
}
#footer .container a {
  color: #777777;
}
#footer .container a:hover {
  color: #333333;
  border-bottom: none;
}

#footer .footer-menu {
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  justify-content: center;
  list-style-type: none;
}
#footer .footer-menu li {
  margin-right: 3rem;
}
#footer .footer-menu li a {
  font-weight: 600;
}
#footer .footer-menu li:last-child {
  margin-right: 0;
}

#footer .copyright {
  text-align: center;
  padding-top: 2rem;
}
#footer .copyright a {
  border-bottom: none;
}

@media only screen and (max-width: 480px) {
  #footer-menu {
    display: inline-block;
    width: 100%;
  }
}

@media only screen and (max-width: 430px) {
  #footer {
    padding: 4rem 1rem;
  }

  #footer .footer-menu {
    flex-direction: column;
  }
  #footer .footer-menu li {
    margin: 0 0 1rem;
    text-align: center;
  }
}

/* ===================================================================== */
/* badge */
/* ===================================================================== */
.badge {
  border-radius: 5rem;
  font-size: 1.6rem;
  font-weight: 600;
  margin-left: .5rem;
  padding: .5rem 1rem;
}
.badge_important {
  background-color: #FFEFEF;
  color: #C53939;
}

/* ===================================================================== */
/* button * /
/* ===================================================================== */
button.button,
.button a {
  background: #205DC9;
  border: none;
  border-radius: 5rem;
  color: #fff;
  display: inline-block;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  padding: 2rem 4rem;
  text-decoration: none;
  width: auto;
}
button.button:hover,
.button a:hover {
  background: #D35B92;
}

.button {
  margin-top: 3rem;
}

.button_white a {
  background-color: #ffffff;
  color: #205DC9;
}
.button_white a:hover {
  color: #ffffff;
}

/* ===================================================================== */
/* card */
/* ===================================================================== */
.cards {
  display: flex;
}
.cards_card {
  border-radius: 1rem;
  margin-right: 3rem;
  overflow: hidden;
  width: 100%;
}
.cards_card:last-child {
  margin-right: 0;
}
.cards_card_figure img {
  width: 100%;
}
.cards_card_content {
  background-color: #ffffff;
  padding: 2rem;
}
.cards_card_content_article {
  margin-bottom: 1rem;
}
.cards_card_content_article:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 1024px) {
  .cards {
    flex-direction: column;
  }
  .cards_card {
    margin: 0 0 2rem;
  }
  .cards_card:last-child {
    margin: 0;
  }
}

/* ===================================================================== */
/* drawer menu */
/* ===================================================================== */
#drawer-header {
  position: relative;
  z-index: 9999;
}

#drawer-header .drawer-hamburger {
  width: 2.4rem;
  padding-top: 12px;
  padding-right: 1rem;
  padding-left: 1rem;
}

#drawer-header .drawer-hamburger-icon,
#drawer-header .drawer-hamburger-icon::before,
#drawer-header .drawer-hamburger-icon::after {
  background-color: #205DC9;
  height: 2px;
}
.drawer-open #drawer-header .drawer-hamburger-icon {
    background-color: transparent;
}

#drawer-header .drawer-nav {
  background-color: #205DC9;
  display: flex;
  display: -webkit-flex;
  -webkit-justify-content: flex-start;
  -webkit-flex-flow: column nowrap;
  flex-flow: column nowrap;
  justify-content: flex-start;
}

#drawer-header .drawer-menu {
  padding: 0 1rem;
}

#drawer-header .drawer-menu li {
  border-bottom: 1px solid #ffffff;
}

#drawer-header .drawer-menu li a {
  color: #ffffff;
  display: block;
  padding: 1rem;
}

#drawer-header .drawer-menu li a:hover {
  border-bottom: none;
}

.drawer-overlay {
  z-index: 9000;
  background-color: rgba(255, 255, 255, .7);
}

.drawer-open .smaller #drawer-header .drawer-hamburger-icon {
    background-color: transparent;
}

@media only screen and (min-width: 1121px) {
  #drawer-header {
    display: none;
  }
}

@media only screen and (max-width: 1120px) {
  #header-menu li:not(.header-logo) {
    display: none;
  }
}

@media only screen and (max-width: 1024px) {
  #drawer-header .drawer-hamburger {
    padding-right: 2rem;
  }
}

/* ===================================================================== */
/* effect */
/* ===================================================================== */
.effectIn1 {
  -moz-transition: 1.2s;
  -webkit-transition: 1.2s;
  -o-transition: 1.2s;
  -ms-transition: 1.2s;
  transition: 1.2s;
  opacity: 0;
  -moz-transition: translate(0, 30px);
  -webkit-transition: translate(0, 30px);
  -o-transition: translate(0, 30px);
  -ms-transition: translate(0, 30px);
  transform: translate(0, 30px);
}
.effectOut1 {
  -moz-transition: 1.2s;
  -webkit-transition: 1.2s;
  -o-transition: 1.2s;
  -ms-transition: 1.2s;
  transition: 1.2s;
  opacity: 1.0;
  -moz-transition: translate(0, 0px);
  -webkit-transition: translate(0, 0px);
  -o-transition: translate(0, 0px);
  -ms-transition: translate(0, 0px);
  transform: translate(0, 0px);
}

.effectIn2 {
  -moz-transition: 1.2s;
  -webkit-transition: 1.2s;
  -o-transition: 1.2s;
  -ms-transition: 1.2s;
  transition: 1.2s;
  opacity: 0;
  -moz-transition: translate(-30px, 0);
  -webkit-transition: translate(-30px, 0);
  -o-transition: translate(-30px, 0);
  -ms-transition: translate(-30px, 0);
  transform: translate(-30px, 0);
}
.effectOut2 {
  -moz-transition: 1.2s;
  -webkit-transition: 1.2s;
  -o-transition: 1.2s;
  -ms-transition: 1.2s;
  transition: 1.2s;
  opacity: 1.0;
  -moz-transition: translate(0, 0px);
  -webkit-transition: translate(0, 0px);
  -o-transition: translate(0, 0px);
  -ms-transition: translate(0, 0px);
  transform: translate(0, 0px);
}

.animate-01 {
  opacity: 0;
}

.animate-02 {
  -moz-transition: 1.2s;
  -webkit-transition: 1.2s;
  -o-transition: 1.2s;
  -ms-transition: 1.2s;
  transition: 1.2s;
  opacity: 0;
  -moz-transition: translate(-30px, 0);
  -webkit-transition: translate(-30px, 0);
  -o-transition: translate(-30px, 0);
  -ms-transition: translate(-30px, 0);
  transform: translate(-30px, 0);
}
.animate-02_off {
  -moz-transition: 1.2s;
  -webkit-transition: 1.2s;
  -o-transition: 1.2s;
  -ms-transition: 1.2s;
  transition: 1.2s;
  opacity: 1.0;
  -moz-transition: translate(0, 0px);
  -webkit-transition: translate(0, 0px);
  -o-transition: translate(0, 0px);
  -ms-transition: translate(0, 0px);
  transform: translate(0, 0px);
}

/* ===================================================================== */
/* form */
/* ===================================================================== */
.form .form_item:last-child {
  margin-bottom: 0;
}

.form_error-text {
  color: #C53939;
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 1rem;
}

.form_item {
  display: flex;
  flex-direction: column;
  margin-bottom: 3rem;
}
.form_item .button {
  margin: 0;
}

.form_item_checkbox {
  align-items: center;
  display: flex;
}
.form_item_checkbox input[type="checkbox"] {
  margin: 0;
}
.form_item_checkbox_label {
  font-size: 1.6rem;
  font-weight: 400;
  margin-left: .5rem;
}

.form_item_label {
  align-items: center;
  color: #666666;
  display: flex;
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.form_item_text,
.form_item_textarea {
  background-color: #EBEBEB;
  border: none;
  font-size: 1.6rem;
  padding: 1rem;
}

.form_item_text {
  border-radius: 5rem;
}

.form_item_textarea {
  border-radius: 1rem;
  height: 200px;
}

.form_privacy-policy-text {
  font-size: 1.6rem;
  margin-top: 2rem;
}
.form_privacy-policy-text_icon {
  padding-left: .5rem;
}

/* ===================================================================== */
/* layout */
/* ===================================================================== */
.article .article_content {
  margin-bottom: 5rem;
}
.article .article_content:last-child {
  margin-bottom: 0;
}
.article .article_content .article_content_article {
  margin-bottom: 3rem;
}
.article .article_content .article_content_article:last-child {
  margin-bottom: 0;
}

.banner {
  background: #E7EDF9;
  border: 4px solid #A6BEE9;
  border-radius: 1rem;
  padding: 5rem;
}

.client-content {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.client-content li {
  list-style: none;
  padding: 1rem;
}
.client-content li img {
  height: 86px;
}

.column {
  background: #F5F5F5;
  border: 4px solid #D7D7D7;
  border-radius: 1rem;
  padding: 2rem;
}
.column_article {
  border-bottom: 2px solid #D7D7D7;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}
.column_article:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.flex-L {
  display: -webkit-flex;
  -webkit-justify-content: flex-start;
  -webkit-flex-flow: row nowrap;
  display: flex;
  justify-content: flex-start;
  flex-flow: row nowrap;
}

.narrow-content {
  margin: 0 auto;
  width: 375px;
}

.left-text-side,
.right-text-side {
  align-items: center;
  display: flex;
}
.left-text-side_figure,
.right-text-side_figure {
  flex-shrink: 0;
  width: 328px;
}
.left-text-side_figure img,
.right-text-side_figure img {
  border-radius: 1rem;
  width: 100%;
}
.left-text-side_figure .figcaption,
.right-text-side_figure .figcaption {
  color: #777;
  font-size: 1.4rem;
  margin-top: .5rem;
}
.left-text-side_figure .figcaption::before,
.right-text-side_figure .figcaption::before {
  content: '▲';
  padding-right: .5rem;
}
.left-text-side_figure {
  margin-left: 10rem;
}
.right-text-side_figure,
.right-text-side_title {
  margin-right: 10rem;
}
.right-text-side_title {
  flex-shrink: 0;
  width: 304px;
}
.left-text-side_figure_small,
.right-text-side_figure_small {
  width: 200px;
}

.license-badge {
  align-items: center;
  display: flex;
  justify-content: center;
  list-style: none;
}
.license-badge li {
  flex-shrink: 0;
  margin-right: 1rem;
}
.license-badge li:last-child {
  margin-right: 0;
}
.license-badge li img {
  height: 36px;
}

.review-content {
  list-style: none;
}
.review-content li {
  background: #FFF9C0;
  border-radius: 1rem;
  margin-bottom: 3rem;
  padding: 2rem;
}
.review-content li:last-child {
  margin-bottom: 0;
}
.review-content li:nth-child(odd) {
  margin-right: 10%;
}
.review-content li:nth-child(even) {
  margin-left: 10%;
}

.object-fit {
  object-fit: cover;
  font-family: 'object-fit: cover;'; /*IE対策*/
}

.training-title {
  align-items: center;
  display: flex;
}
.training-title figure {
  display: flex;
  flex-shrink: 0;
  margin-right: 2rem;
}
.training-title figure img {
  height: 90px;
  margin-right: 1rem;
}
.training-title figure img:last-child {
  margin-right: 0;
}

@media only screen and (max-width: 1024px) {
  .left-text-side_figure,
  .right-text-side_figure {
    margin: 5rem 0 0;
    max-width: 500px;
    width: 100%;
  }

  .left-text-side {
    flex-direction: column;
  }

  .right-text-side {
    flex-direction: column-reverse;
  }

  .left-text-side_figure_small,
  .right-text-side_figure_small {
    margin: 5rem auto 0;
    max-width: 200px;
  }

  .training-title {
    flex-direction: column;
  }
  .training-title figure {
    margin: 0 0 2rem;
  }
  .training-title .h3 {
    text-align: center;
  }
}

@media only screen and (max-width: 430px) {
  .narrow-content {
    width: 100%;
  }
  .review-content li:nth-child(odd),
  .review-content li:nth-child(even) {
    margin: 0 0 3rem;
  }

}

/* ===================================================================== */
/* list */
/* ===================================================================== */
.list dt,
.list li {
  line-height: 2;
}
.list dl dt {
  margin-top: 1rem;
}
.list li {
  list-style: inside;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.note {
  color: #666666;
  font-size: 1.6rem;
  list-style-type: none;
  margin-top: 3rem;
}
.note li {
  padding-left: 1.2em;
  text-indent: -1.35em;
}
.note li::before {
  content: '＊';
}


/* ===================================================================== */
/* typography */
/* ===================================================================== */
.h1,
.h2,
.h3 {
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
}

.h1 {
  font-size: 5rem;
}

.h2 {
  font-size: 4rem;
}
.h2_small {
  display: block;
  font-size: 3rem;
}

.h3 {
  font-size: 3rem;
}
.h3_small {
  display: block;
  font-size: 2rem;
}

.lead-text {
  margin-bottom: 3rem;
}
.container .lead-text:last-child {
  margin-bottom: 0;
}

.sup {
  font-size: 1.2rem;
}

.text-icon-external-site::after {
  content: '\f35d';
  font-family: 'Font Awesome 5 Free';
}

.text-link {
  color: #205DC9;
  font-weight: 600;
}
.c_white .text-link {
  color: #fff;
}

/* ===================================================================== */
/* up down */
/* ===================================================================== */
.up-down {
  display: table;
  width: 4rem;
  height: 4rem;
  background: #aaa;
  border-radius: 50%;
  position: absolute;
  bottom: -2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1000;
}

.up-down a {
  display: table-cell;
  vertical-align: middle;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  line-height: 0;
  letter-spacing: 0;
  border-bottom: none;
}

.up-down a:hover {
  border-bottom: none;
  padding-top: .5rem;
}

#footer .up-down a:hover {
  padding-top: 0;
  padding-bottom: .5rem;
}

#footer .footer-logo img {
  height: 120px;
  margin: 0 auto;
}

/* ===================================================================== */
/* common */
/* ===================================================================== */
.bc_blue {background-color: #205DC9;}
.bc_darkblue {background-color: #264D90;}
.bc_lightblue {background-color: #e6efff;}
.bc_lightgray {background-color: #F5F5F5;}
.c_blue {color: #209BC9;}
.c_white {color: #ffffff;}
.c_yellow {color: #FFD100;}
.ff_noto-sans {font-family: 'Noto Sans JP', sans-serif;}
.fs_small {font-size: 1.6rem;}
.fs_18 {font-size: 1.8rem;}
.fw_bold {font-weight: 600;}
.ta_center {text-align: center;}

@media only screen and (max-width: 1024px) {
  .tablet-only_d_none {display: none;}
  .tablet-only_ta_center {text-align: center;}
}

@media only screen and (max-width: 430px) {
  .mobile-only_ta_center {text-align: center;}
  .mobile-only_ta_left {text-align: left;}
}