@charset "UTF-8";
/* CSS Document */
/**

foundation

**/
@import url("https://unpkg.com/modern-css-reset/dist/reset.min.css");
body {
  background: url("../../imgs/common/bg.jpg");
  background-size: contain;
  font-family: YuMincho, "Yu Mincho", serif;
  -webkit-text-size-adjust: 100%;
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-timing-function: ease;
  position: relative;
  font-weight: 400;
  top: 0 !important;
  overflow-x: hidden; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
body, p {
  font-size: 1rem;
  color: #000;
  margin: 0;
  padding: 0;
  letter-spacing: 0.05em;
  line-height: 2.0; }

h1, h2, h3, h4, h5, h6 {
  color: #000;
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
  padding: 0; }

@media screen and (max-width: 480px) {
  body, h1, h2, h3, h4, h5, h6, p {
    font-size: 0.85rem; } }
a {
  text-decoration: none; }

img {
  vertical-align: bottom; }

a img {
  border: none; }

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  font-family: YuMincho, "Yu Mincho", serif;
  outline: none; }

input:focus,
button {
  outline: 0; }

table tr td [type="radio"] {
  -webkit-appearance: radio;
  appearance: radio; }

.clear {
  display: none;
  clear: both; }

img.centering {
  position: absolute; }

figure {
  margin: 0; }

.mw100 {
  max-width: 100%; }

::selection {
  background: #FFD7E9; }

::-moz-selection {
  background: #FFD7E9; }

@media screen and (min-width: 769px) {
  .pcMode {
    display: block; }

  .spMode {
    display: none; } }
@media screen and (max-width: 768px) {
  .pcMode {
    display: none !important; }

  .spMode {
    display: block; } }
/* ------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////
common styles
/////////////////////////////////////////////////////////////////////
------------------------------------------------------------------ */
/* font-size */
.fs0 {
  font-size: 0rem; }

.fs10 {
  font-size: 0.625rem; }

.fs11 {
  font-size: 0.6875rem; }

.fs12 {
  font-size: 0.75rem; }

.fs13 {
  font-size: 0.8125rem; }

.fs14 {
  font-size: 0.875rem; }

.fs15 {
  font-size: 0.9375rem; }

.fs16 {
  font-size: 1rem; }

.fs17 {
  font-size: 1.0625rem; }

.fs18 {
  font-size: 1.125rem; }

.fs20 {
  font-size: 1.25rem; }

.fs22 {
  font-size: 1.375rem; }

.fs24 {
  font-size: 1.5rem; }

.fs25 {
  font-size: 1.5625rem; }

.fs26 {
  font-size: 1.625rem; }

.fs28 {
  font-size: 1.75rem; }

.fs30 {
  font-size: 1.875rem; }

.fs32 {
  font-size: 2rem; }

.fs34 {
  font-size: 2.125rem; }

.fs36 {
  font-size: 2.25rem; }

.fs38 {
  font-size: 2.375rem; }

.fs40 {
  font-size: 2.5rem; }

.fs42 {
  font-size: 2.625rem; }

.fs44 {
  font-size: 2.75rem; }

.fs45 {
  font-size: 2.8125rem; }

.fs46 {
  font-size: 2.875rem; }

.fs48 {
  font-size: 3rem; }

.fs50 {
  font-size: 3.125rem; }

.fs56 {
  font-size: 3.5rem; }

.fs60 {
  font-size: 3.75rem; }

.fs80 {
  font-size: 5rem; }

.fs90 {
  font-size: 5.625rem; }

.fs120 {
  font-size: 7.5rem; }

.fs130 {
  font-size: 8.125rem; }

/* font-family */
.default {
  font-family: YuMincho, "Yu Mincho", serif; }

.mincho {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.gf01 {
  font-family: "Bree Serif", sans-serif; }

.gf02 {
  font-family: "Vast Shadow", cursive; }

.gf03 {
  font-family: "Roboto Slab", serif; }

/* font-weight */
.fwBold {
  font-weight: bold; }

.fwNormal {
  font-weight: normal; }

.fw300 {
  font-weight: 300; }

.fw400 {
  font-weight: 400; }

.fw500 {
  font-weight: 500; }

.fw600 {
  font-weight: 600; }

.fw700 {
  font-weight: 700; }

.fw800 {
  font-weight: 800; }

.fw900 {
  font-weight: 900; }

/* font-style */
.fstNormal {
  font-style: normal; }

.fstItalic {
  font-style: italic; }

/* color(文字色)
   background(背景色) */
/* 白 */
.fcWhite {
  color: #FFF; }

.bgWhite {
  background-color: #FFF; }

/* 黒 */
.fcBlack {
  color: #000; }

.bgBlack {
  background-color: #000; }

/* 紫 */
.fcPurple {
  color: #c436c2; }

.bgPurple {
  background-color: #c436c2; }

/* 赤 */
.fcRed {
  color: #ff0000; }

.tableBorder {
  color: #a7a7a7; }

/* text-align */
.taCenter {
  text-align: center; }

.taLeft {
  text-align: left; }

.taRight {
  text-align: right; }

/* vertical-align */
.vaBottom {
  vertical-align: bottom; }

.vaMiddle {
  vertical-align: middle; }

.vaTop {
  vertical-align: top; }

/* line-height */
.lh10 {
  line-height: 1; }

.lh12 {
  line-height: 1.2; }

.lh13 {
  line-height: 1.3; }

.lh14 {
  line-height: 1.4; }

.lh15 {
  line-height: 1.5; }

.lh18 {
  line-height: 1.8; }

.lh20 {
  line-height: 2; }

.lh21 {
  line-height: 2.1; }

.lh22 {
  line-height: 2.2; }

.lh24 {
  line-height: 2.4; }

/**

layout

**/
/* CSS Document */
.l-header {
  height: 100vh;
  width: 300px;
  position: fixed;
  top: 0;
  left: 0; }
  .l-header__logo {
    margin-bottom: 50px; }
    .l-header__logo a {
      display: flex;
      justify-content: center; }
  .l-header__inner {
    margin-bottom: 100px;
    padding: 40px 20px 0; }
  .l-header__nav-block {
    margin-bottom: 30px; }
  .l-header__pc-nav-list {
    list-style-type: none;
    margin: 0;
    padding: 0; }
  .l-header__pc-nav-item {
    border-top: 1px solid #c2c2c2; }
    .l-header__pc-nav-item:last-child {
      border-bottom: 1px solid #c2c2c2; }
  .l-header__pc-nav-link {
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 12px 0 12px 20px;
    text-decoration: none;
    transition: .2s; }
    .l-header__pc-nav-link:hover {
      color: #ff0000; }
    .l-header__pc-nav-link figure {
      padding-right: 20px; }
    .l-header__pc-nav-link span {
      font-size: 15px; }
  .l-header__sp-nav-wrap {
    background: url("../../imgs/common/bg.jpg");
    background-size: contain;
    display: none;
    height: 100%;
    overflow: auto;
    width: 100vw;
    position: fixed;
    top: 70.5px;
    left: 0;
    z-index: 1000; }
    .l-header__sp-nav-wrap > div {
      padding: 20px; }
  .l-header__btn {
    margin-bottom: 15px; }
    .l-header__btn:last-child {
      margin-bottom: 30px; }
    .l-header__btn:hover a {
      background: #FFF;
      color: #000; }
    .l-header__btn a {
      font-size: 0.9375rem;
      background: #000;
      border: 1px solid #000;
      color: #FFF;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 45px;
      transition: .2s; }
  .l-header__contact {
    position: absolute;
    bottom: 20px; }
  .l-header__tel {
    border: 1px solid #000;
    padding: 5px 24px 5px; }
    .l-header__tel span {
      display: block;
      font-size: 24px;
      padding-left: 35px;
      position: relative; }
      .l-header__tel span::before {
        background: url("../../imgs/common/tel-icon.png") no-repeat;
        content: "";
        height: 24px;
        width: 18px;
        position: absolute;
        top: 0.3em;
        left: 0; }

@media screen and (max-width: 1080px) {
  .l-header {
    background: url("../../imgs/common/bg.jpg");
    height: initial;
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 10000; }
    .l-header__logo {
      margin-bottom: 0; }
      .l-header__logo a {
        justify-content: flex-start; }
        .l-header__logo a img {
          max-width: 128px; }
    .l-header__inner {
      margin-bottom: 0;
      padding: 10px 10px 15px; }
    .l-header__pc-nav {
      display: none; }
    .l-header__sp-nav-list {
      display: flex;
      flex-direction: column;
      list-style-type: none;
      margin: 0;
      padding: 0; }
    .l-header__sp-nav-item {
      border-bottom: 1px solid #9f9f9f;
      padding: 20px 0; }
    .l-header__sp-nav-link {
      font-size: 0.9375rem;
      color: #000;
      display: block; } }
/* CSS Document */
.l-main {
  margin-bottom: 150px; }

@media screen and (max-width: 768px) {
  .l-main {
    margin-bottom: 100px; } }
/* CSS Document */
.l-footer {
  background: #000;
  margin-left: 300px; }
  .l-footer__inner {
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 20px 60px; }
    .l-footer__inner p {
      font-size: 0.9375rem;
      color: #FFF; }
    .l-footer__inner > div {
      border-bottom: 1px solid #FFF;
      display: flex;
      justify-content: space-between;
      margin-bottom: 30px;
      padding-bottom: 60px; }
  .l-footer__left {
    margin-right: 30px; }
  .l-footer__logo {
    margin-bottom: 15px; }
  .l-footer__name {
    margin-bottom: 20px; }
  .l-footer__license {
    margin-bottom: 25px; }
  .l-footer__sitemap {
    display: flex; }
  .l-footer__sitemapBlock {
    margin-right: 60px; }
    .l-footer__sitemapBlock:last-child {
      margin-right: 0; }
  .l-footer__sitemapItem {
    margin-bottom: 20px; }
  .l-footer__sitemapLink {
    font-size: 0.9375rem;
    color: #FFF; }

@media screen and (max-width: 1080px) {
  .l-footer {
    margin-left: 0; } }
@media screen and (max-width: 1068px) {
  .l-footer__inner > div {
    justify-content: center; }
  .l-footer__left {
    margin-right: 0;
    text-align: center; }
  .l-footer__logo a {
    display: flex;
    justify-content: center; }
  .l-footer__right {
    display: none; } }
@media screen and (max-width: 768px) {
  .l-footer__inner > div {
    padding-bottom: 40px; } }
/**

project

**/
/* CSS Document */
.p-news-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .p-news-list__item {
    border-bottom: 1px solid #9f9f9f; }
    .p-news-list__item:first-child .p-news__link {
      padding-top: 0; }
  .p-news-list__link {
    color: #000;
    display: flex;
    align-items: baseline;
    padding: 15px 0;
    transition: .2s; }
    .p-news-list__link > div {
      display: flex;
      align-items: baseline; }
    .p-news-list__link:hover {
      color: #ff0000; }
  .p-news-list__date {
    margin-right: 20px; }
  .p-news-list__category {
    font-size: 0.8125rem;
    color: #FFF;
    margin-right: 30px;
    width: 90px; }
    .p-news-list__category--kitsuke {
      background: #96a770;
      border-radius: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 2px 5px; }
    .p-news-list__category--onoresyo {
      background: #b97478;
      border-radius: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 2px 5px; }

@media screen and (max-width: 480px) {
  .p-news-list__link {
    flex-direction: column; }
    .p-news-list__link > div {
      margin-bottom: 10px; } }
/**

common

**/
.p-access__info-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px; }
.p-access__txt {
  margin-right: 20px; }

@media screen and (max-width: 480px) {
  .p-access__info-item {
    flex-direction: column; }
  .p-access__txt {
    margin-right: 0; }
  .p-access__map {
    margin-top: 20px; } }
@media screen and (max-width: 768px) {
  .p-form {
    overflow: auto; } }
/* CSS Document */
.p-footer-visual {
  padding-bottom: 100px;
  overflow: hidden;
  position: relative; }
  .p-footer-visual__imgArea {
    display: flex;
    overflow: hidden; }
  .p-footer-visual__img {
    animation: loop-slide 20s infinite linear 1s both; }
    .p-footer-visual__img img {
      max-width: initial; }
  .p-footer-visual__textArea {
    height: 100%;
    padding: 0 20px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10; }
  .p-footer-visual__inner {
    height: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
    width: 100%;
    position: relative; }
  .p-footer-visual__board {
    background: #FFF;
    padding: 20px 20px 40px;
    position: absolute;
    transform: translateY(-50px);
    right: 0;
    bottom: 0; }
  .p-footer-visual__name {
    font-size: 1.125rem;
    margin-bottom: 15px; }
  .p-footer-visual__banner {
    margin-bottom: 10px; }
    .p-footer-visual__banner:last-child {
      margin-bottom: 0; }
    .p-footer-visual__banner:hover a {
      opacity: .7; }

@media screen and (max-width: 768px) {
  .p-footer-visual {
    padding-bottom: 45px; }
    .p-footer-visual__img {
      max-height: 460px; }
    .p-footer-visual__textArea {
      padding: 0;
      position: relative; }
    .p-footer-visual__board {
      background: url("../../../imgs/common/bg.jpg");
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      transform: initial; }
    .p-footer-visual__name {
      text-align: center; } }
@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
@media screen and (max-width: 1080px) {
  .p-humberger {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    height: 65px;
    width: 65px;
    position: absolute;
    top: 10px;
    right: 10px; }
    .p-humberger__inner {
      cursor: pointer; }
      .p-humberger__inner span {
        background: #000;
        display: block;
        height: 2px;
        width: 32px;
        transition: .2s; }
        .p-humberger__inner span:nth-child(n+2) {
          margin-top: 9px; }

  .p-humberger.js-humburger-active .p-humberger__inner span:first-child {
    transform: rotate(45deg); }
  .p-humberger.js-humburger-active .p-humberger__inner span:nth-child(2) {
    background: none; }
  .p-humberger.js-humburger-active .p-humberger__inner span:nth-child(n+2) {
    margin-top: -2px;
    transform: rotate(135deg); } }
.p-info-section__item {
  margin-bottom: 60px; }

.p-info-list__item {
  border-bottom: 1px solid #9f9f9f; }
  .p-info-list__item:first-child .p-info-list__link {
    padding-top: 0; }
.p-info-list__link {
  color: #000;
  display: flex;
  align-items: center;
  padding: 20px 0;
  transition: .2s; }
  .p-info-list__link:hover {
    color: #ff0000; }
.p-info-list__date {
  margin-right: 60px; }

.p-lesson-detail {
  display: flex;
  justify-content: space-between; }
  .p-lesson-detail__img {
    margin-right: 45px; }
  .p-lesson-detail__txtArea {
    width: 61%; }
  .p-lesson-detail__description {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 300;
    padding-bottom: 10px; }
  .p-lesson-detail__checkList {
    margin-bottom: 20px !important; }

@media screen and (max-width: 768px) {
  .p-lesson-detail {
    align-items: center;
    flex-direction: column; }
    .p-lesson-detail__img {
      margin: 0 0 25px; }
    .p-lesson-detail__txtArea {
      width: 100%; } }
.p-lesson-section__visual {
  margin-bottom: 35px; }

.p-news-section__heading {
  line-height: 1.7;
  margin-bottom: 25px !important; }
.p-news-section__date {
  display: flex;
  align-items: center;
  font-size: 1rem;
  margin-bottom: 5px; }
.p-news-section__category {
  background: #000;
  border-radius: 30px;
  color: #FFF;
  font-size: 0.875rem;
  margin-left: 15px;
  padding: 0 25px; }

.p-pager__list {
  display: flex;
  justify-content: center; }
.p-pager__link {
  cursor: pointer;
  display: block;
  padding: 0.5em 1em; }
  .p-pager__link.active {
    background: #000;
    color: #FFF; }
  .p-pager__link:hover {
    text-decoration: underline; }

.p-table {
  border: 1px solid #a7a7a7;
  border-collapse: collapse;
  width: 100%; }
  .p-table td {
    font-size: 0.9375rem;
    padding: 20px; }
  .p-table__row {
    border-bottom: 1px solid #a7a7a7; }
  .p-table__label {
    border-right: 1px solid #a7a7a7;
    background: #ddd;
    width: 140px; }
  .p-table__content {
    background: #FFF; }

@media screen and (max-width: 640px) {
  .p-table td {
    display: block;
    font-size: 0.875rem;
    padding: 15px 20px;
    width: 100%; }
  .p-table__label {
    border-right: none;
    border-bottom: 1px solid #a7a7a7; } }
#ABOUT .p-visual {
  background: url("../../../../imgs/about/visual.jpg") no-repeat; }

#KITSUKE .p-visual {
  background: url("../../../../imgs/kitsuke/visual.jpg") no-repeat; }

#ONORESYO .p-visual {
  background: url("../../../../imgs/onoresyo/visual.jpg") no-repeat; }

#PRIVACY .p-visual {
  background: url("../../../../imgs/privacy/visual.jpg") no-repeat; }

.p-visual {
  background-position: center !important;
  background-size: cover !important;
  height: 400px;
  margin-bottom: 100px;
  position: relative; }
  .p-visual__txtArea {
    padding: 0 20px;
    text-align: center;
    width: 100%;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%; }
  .p-visual__ttl {
    color: #FFF;
    font-size: 2.25rem;
    margin-bottom: 15px; }
  .p-visual__description {
    color: #FFF; }

@media screen and (max-width: 640px) {
  .p-visual {
    height: 350px;
    margin-bottom: 60px; }
    .p-visual__ttl {
      font-size: 1.875rem;
      margin-bottom: 20px; } }
/**

index

**/
/* CSS Document */
.p-home-category {
  display: flex;
  list-style-type: none;
  margin: 0 0 25px;
  padding: 0; }
  .p-home-category__item {
    padding-right: 20px;
    position: relative; }
    .p-home-category__item::after {
      content: "/";
      display: block;
      position: absolute;
      top: 0;
      right: 0; }
    .p-home-category__item:nth-child(n+2) {
      padding-left: 20px; }
    .p-home-category__item:last-child::after {
      content: "";
      display: none; }
    .p-home-category__item.active a {
      background-image: linear-gradient(90deg, #000426, #000426);
      background-repeat: no-repeat;
      background-position: 0 100%;
      background-size: 100% 1px; }
  .p-home-category__link {
    font-size: 0.875rem;
    background-image: linear-gradient(90deg, #000426, #000426);
    background-repeat: no-repeat;
    background-position: 100% 100%;
    background-size: 0 1px;
    color: #000;
    cursor: pointer;
    display: inline;
    padding-bottom: 0;
    transition: background-size 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    position: relative; }

.p-home-mainVisual {
  position: relative; }
  .p-home-mainVisual__imgArea {
    background: url("../../../imgs/index/mainVisual.jpg") no-repeat;
    background-position: center;
    background-size: cover;
    height: 42vw;
    margin: 45px auto 60px;
    max-height: 720px;
    max-width: 94%;
    position: relative; }
  .p-home-mainVisual__copy {
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: -5%; }
    .p-home-mainVisual__copy img {
      max-width: 28vw; }

@media screen and (max-width: 1080px) and (min-width: 769px) {
  .p-home-mainVisual__imgArea {
    height: 70vw;
    margin-top: 0;
    max-width: 100%; }
  .p-home-mainVisual__copy {
    left: 1%; }
    .p-home-mainVisual__copy img {
      max-width: 45vw; } }
@media screen and (max-width: 1068px) {
  .p-home-mainVisual__imgArea {
    margin-bottom: 30px; } }
@media screen and (max-width: 768px) {
  .p-home-mainVisual__imgArea {
    height: 83.336vw;
    margin-top: 0;
    max-width: 100%; }
  .p-home-mainVisual__copy {
    left: 0; }
    .p-home-mainVisual__copy img {
      max-width: 55vw;
      min-width: 228px; } }
/* CSS Document */
.p-home-banner {
  display: flex;
  justify-content: center;
  /*width:90%;
  position: absolute;
  transform: translateX(-50%);
  bottom:-50px;
  left:50%;*/
  margin-bottom: 100px; }
  .p-home-banner__item {
    margin-right: 2%; }
    .p-home-banner__item:last-child {
      margin-right: 0; }
    .p-home-banner__item:hover img {
      opacity: .9; }

@media screen and (max-width: 1068px) {
  .p-home-banner {
    margin: 0 auto 60px;
    max-width: 1100px;
    padding: 0 20px;
    width: 100%;
    position: relative;
    transform: initial;
    bottom: initial;
    left: initial; } }
@media screen and (max-width: 768px) {
  .p-home-banner {
    margin-bottom: 30px;
    padding: 0 10px; } }
@media screen and (max-width: 640px) {
  .p-home-banner {
    align-items: center;
    flex-direction: column;
    width: 90%; }
    .p-home-banner__item {
      margin: 0 0 10px; }
      .p-home-banner__item:last-child {
        margin-bottom: 0; } }
.p-home-about {
  margin-bottom: 100px; }
  .p-home-about__inner {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .p-home-about__textArea {
    margin-right: 2%;
    width: 49%;
    /*position: absolute;
    transform: translateY(-50%);
    top:50%;
    left:0;*/ }
  .p-home-about__heading {
    margin-bottom: 30px; }
  .p-home-about__subTitle {
    font-size: 1.125rem;
    margin-bottom: 20px; }
  .p-home-about__text {
    line-height: 2.0;
    margin-bottom: 40px; }

@media screen and (min-width: 961px) {
  .p-home-about__sp-heading {
    display: none; }
  .p-home-about__sp-textArea {
    display: none; } }
@media screen and (max-width: 960px) {
  .p-home-about__inner {
    align-items: flex-start;
    flex-direction: column; }
  .p-home-about__sp-heading {
    margin-bottom: 20px; }
  .p-home-about__textArea {
    display: none; }
  .p-home-about__sp-textArea {
    margin-top: 20px; }
    .p-home-about__sp-textArea p br {
      display: none; }
  .p-home-about__text {
    margin-bottom: 25px; } }
@media screen and (max-width: 768px) {
  .p-home-about {
    margin-bottom: 60px; } }
/* CSS Document */
.p-home-info__heading {
  margin-bottom: 30px; }
.p-home-info__block {
  margin-bottom: 50px; }
  .p-home-info__block:last-child {
    margin-bottom: 0; }
  .p-home-info__block > .c-heading-03 {
    margin-bottom: 25px; }

@media screen and (max-width: 768px) {
  .p-home-info__heading {
    margin-bottom: 15px;
    text-align: left; }
  .p-home-info__block > .c-heading-03 {
    margin-bottom: 12.5px; } }
/* CSS Document */
.p-home-lesson {
  margin-bottom: 100px; }
  .p-home-lesson__heading {
    margin-bottom: 30px;
    text-align: center; }
  .p-home-lesson__text {
    line-height: 2.0;
    margin-bottom: 40px;
    text-align: center; }
  .p-home-lesson__row {
    display: flex;
    justify-content: space-between; }
  .p-home-lesson__box {
    margin-right: 2%;
    width: 49%; }
    .p-home-lesson__box:last-child {
      margin-right: 0; }
  .p-home-lesson__link {
    display: block; }
    .p-home-lesson__link:hover {
      opacity: .7; }
    .p-home-lesson__link figure {
      margin-bottom: 15px; }
  .p-home-lesson__title {
    margin-bottom: 15px; }
    .p-home-lesson__title span {
      position: relative; }
      .p-home-lesson__title span::after {
        background: url("../../../imgs/common/linkBtn.png") no-repeat;
        content: "";
        display: inline-block;
        height: 30px;
        margin: -4px 0 0 20px;
        vertical-align: middle;
        width: 30px; }

@media screen and (max-width: 768px) {
  .p-home-lesson {
    margin-bottom: 60px; }
    .p-home-lesson__heading {
      margin-bottom: 15px;
      text-align: left; }
    .p-home-lesson__text {
      margin-bottom: 20px;
      text-align: left; } }
@media screen and (max-width: 480px) {
  .p-home-lesson__row {
    flex-direction: column; }
  .p-home-lesson__box {
    margin: 0 0 40px 0;
    width: 100%; }
    .p-home-lesson__box:last-child {
      margin-bottom: 0; }
  .p-home-lesson__link figure img {
    margin: 0 auto; } }
.p-home-tab li .active a {
  background: #FFF; }

.p-home-tab-item {
  display: none;
  /*はじめは非表示*/
  opacity: 0;
  /*透過0*/ }
  .p-home-tab-item.is-active {
    animation-name: displayAnime;
    /*ふわっと表示させるためのアニメーション*/
    animation-duration: .2s;
    animation-fill-mode: forwards;
    display: block;
    /*表示*/ }

.p-home-tab-02 li .active a {
  background: #FFF; }

.p-home-tab-item-02 {
  display: none;
  /*はじめは非表示*/
  opacity: 0;
  /*透過0*/ }
  .p-home-tab-item-02.is-active {
    animation-name: displayAnime;
    /*ふわっと表示させるためのアニメーション*/
    animation-duration: .2s;
    animation-fill-mode: forwards;
    display: block;
    /*表示*/ }

@keyframes displayAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.p-optionMenu {
  background-color: #FFF;
  background-image: url("../../../../imgs/common/container-bg.png");
  background-position: top right;
  background-repeat: no-repeat;
  border: 1px solid #a7a7a7;
  margin-top: 60px; }
  .p-optionMenu__inner {
    padding: 40px 40px 80px; }
  .p-optionMenu__item {
    margin-bottom: 60px; }
    .p-optionMenu__item:last-child {
      margin-bottom: 0; }
  .p-optionMenu__subTitle {
    margin-bottom: 35px; }
  .p-optionMenu__table {
    display: flex;
    justify-content: space-between; }
  .p-optionMenu__table-item {
    border-collapse: collapse;
    margin-right: 2%;
    width: 49%; }
    .p-optionMenu__table-item:last-child {
      margin-right: 0; }
  .p-optionMenu__table-row {
    border-bottom: 1px solid #a7a7a7;
    display: block;
    margin-bottom: 15px;
    padding-bottom: 15px; }
    .p-optionMenu__table-row:last-child {
      margin-bottom: 0; }
  .p-optionMenu__table-label {
    width: 100px;
    position: relative; }
    .p-optionMenu__table-label::after {
      background: #a7a7a7;
      content: "";
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0; }
  .p-optionMenu__table-content {
    padding-left: 25px; }

@media screen and (max-width: 768px) {
  .p-optionMenu__inner {
    padding: 40px 20px 80px; } }
@media screen and (max-width: 640px) {
  .p-optionMenu {
    background-size: contain; }
    .p-optionMenu__table {
      flex-direction: column; }
    .p-optionMenu__table-item {
      margin: 0 0 15px;
      width: 100%; }
      .p-optionMenu__table-item:last-child {
        margin-bottom: 0; } }
.p-onoresyo-example__block {
  margin-bottom: 40px; }
  .p-onoresyo-example__block:last-child {
    margin-bottom: 0; }
.p-onoresyo-example__example-item {
  background: #FFF;
  border: 1px solid #a7a7a7;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 2% 20px 0;
  width: 23.5%; }
.p-onoresyo-example__example-thumbnail img {
  margin: auto; }
.p-onoresyo-example__example-name {
  text-align: center; }
.p-onoresyo-example__txt {
  text-align: center; }

@media screen and (min-width: 641px) {
  .p-onoresyo-example__example-item:nth-child(4n) {
    margin-right: 0; } }
@media screen and (max-width: 640px) and (min-width: 481px) {
  .p-onoresyo-example__example-item {
    width: 32%; }
    .p-onoresyo-example__example-item:nth-child(3n) {
      margin-right: 0; } }
@media screen and (max-width: 480px) {
  .p-onoresyo-example__example-item {
    width: 49%; }
    .p-onoresyo-example__example-item:nth-child(2n) {
      margin-right: 0; } }
.p-greeting {
  display: flex;
  justify-content: space-between; }
  .p-greeting__txtArea {
    margin-right: 2%;
    width: 65%; }
  .p-greeting__ceo {
    text-align: right; }

@media screen and (max-width: 640px) {
  .p-greeting {
    align-items: center;
    flex-direction: column; }
    .p-greeting__txtArea {
      margin-right: 0;
      order: 2;
      width: 100%; }
    .p-greeting figure {
      order: 1;
      margin-bottom: 20px; } }
/**

blog

**/
.p-blog-heading {
  display: flex;
  justify-content: space-between; }
  .p-blog-heading__category {
    max-width: 300px;
    width: 100%; }

@media screen and (max-width: 480px) {
  .p-blog-heading {
    align-items: flex-start;
    flex-direction: column; }
    .p-blog-heading__ttl {
      margin-bottom: 20px; }
    .p-blog-heading__category {
      max-width: 480px; } }
/**

component

**/
.c-blockBg {
  background: #FFF;
  border: 5px solid #a7a7a7; }
  .c-blockBg__inner {
    padding: 30px 40px 30px; }

@media screen and (max-width: 640px) {
  .c-blockBg__inner {
    padding: 30px 20px 30px; } }
/* CSS Document */
.c-linkBtn span {
  padding-right: 10px; }

.c-link {
  color: #000;
  cursor: pointer;
  transition: .2s;
  position: relative; }
  .c-link:hover {
    color: #ff0000; }
  .c-link::after {
    background: url("../../../imgs/common/linkBtn.png") no-repeat;
    content: "";
    display: inline-block;
    height: 30px;
    padding-left: 20px;
    vertical-align: middle;
    width: 30px; }

.c-button {
  margin: 0 auto;
  max-width: 300px; }
  .c-button a {
    background: #000;
    border: 1px solid #000;
    color: #FFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    transition: .2s;
    width: 100%; }
    .c-button a:hover {
      background: #FFF;
      color: #000; }

.c-buttonMap {
  max-width: 300px; }
  .c-buttonMap a {
    background: #000;
    border: 1px solid #000;
    color: #FFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    transition: .2s;
    width: 100%; }
    .c-buttonMap a:hover {
      background: #FFF;
      color: #000; }

.c-content {
  margin-left: 300px; }
  .c-content__inner {
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 20px; }

/*@media screen and (max-width:1068px) and (min-width:769px){
    .c-content{
        margin-left: 270px;
    }
}*/
@media screen and (max-width: 1080px) {
  .c-content {
    margin-left: 0; }
    .c-content__inner {
      padding: 0 20px; } }
.c-flex {
  display: flex;
  flex-wrap: wrap; }
  .c-flex__item {
    margin: 0 2% 20px 0;
    width: 49%; }
    .c-flex__item:nth-child(2n) {
      margin-right: 0; }

/* CSS Document */
.c-heading-01__en {
  font-size: 1.125rem;
  color: #c436c2;
  display: block; }
.c-heading-01__jp {
  font-size: 1.875rem; }

.c-heading-03 {
  font-size: 1.5rem;
  padding-left: 14px;
  position: relative; }
  .c-heading-03::before {
    background: #c436c2;
    content: "";
    height: 24px;
    width: 4px;
    position: absolute;
    top: 0.2em;
    left: 0; }

.c-heading-04 {
  border-bottom: 1px solid #a7a7a7;
  font-size: 1.5rem;
  margin-bottom: 25px;
  padding-bottom: 10px;
  position: relative; }
  .c-heading-04::after {
    background: #c436c2;
    content: "";
    height: 1px;
    width: 100px;
    position: absolute;
    bottom: -1px;
    left: 0; }

.c-heading-bg {
  background: url("../../../imgs/common/ttl-bg.png") no-repeat;
  background-size: cover;
  font-size: 1.875rem;
  margin-bottom: 40px;
  padding: 10px 0 10px 20px; }

@media screen and (max-width: 640px) {
  .c-heading-01__en {
    font-size: 0.9375rem; }
  .c-heading-01__jp {
    font-size: 1.5rem; }

  .c-heading-03 {
    font-size: 1.25rem; }

  .c-heading-04 {
    font-size: 1.25rem; }

  .c-heading-bg {
    margin-bottom: 40px;
    font-size: 1.5rem; } }
.c-iframe {
  height: 450px; }

@media screen and (max-width: 640px) {
  .c-iframe {
    height: 300px; } }
.c-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.c-list-checkBox {
  line-height: 2.0;
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .c-list-checkBox__item {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 300;
    padding-left: 30px;
    position: relative; }
    .c-list-checkBox__item::before {
      background: url("../../../imgs/common/checkBox-icon.png") no-repeat;
      content: "";
      height: 18px;
      width: 21px;
      position: absolute;
      top: 0.5em;
      left: 0; }

.c-listDot {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .c-listDot__item {
    padding-left: 1em;
    position: relative; }
    .c-listDot__item::before {
      background: #000;
      border-radius: 50%;
      content: "";
      display: block;
      height: 3px;
      width: 3px;
      position: absolute;
      top: 0.8em;
      left: 0; }

.c-listNumber {
  margin: 0;
  padding-left: 20px; }

.c-listNotes {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .c-listNotes__item {
    padding-left: 20px;
    position: relative; }
    .c-listNotes__item::before {
      content: "※";
      position: absolute;
      top: 0;
      left: 0; }

.c-pdf__link {
  color: #000;
  display: inline-block;
  padding-left: 45px;
  position: relative; }
  .c-pdf__link::after {
    background: url("../../../imgs/common/pdf-icon.png") no-repeat;
    content: "";
    display: block;
    height: 31px;
    text-decoration: none;
    width: 30px;
    position: absolute;
    top: 0;
    left: 0; }
  .c-pdf__link:hover span {
    background-position: 100% 100%;
    background-size: 0 1px; }
  .c-pdf__link span {
    background-image: linear-gradient(90deg, #000426, #000426);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% 1px;
    transition: background-size 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }

.c-section {
  margin-bottom: 100px; }
  .c-section:last-child {
    margin-bottom: 0; }

@media screen and (max-width: 640px) {
  .c-section {
    margin-bottom: 60px; } }
/* CSS Document */
.c-title-01 {
  font-size: 2.25rem; }

.c-title-02 {
  font-size: 1.875rem; }
  .c-title-02 span {
    font-size: 1.125rem;
    color: #c436c2;
    display: block; }

.c-ttl-03 {
  font-size: 1.5rem; }

.c-ttl-04 {
  font-size: 1.25rem; }

.c-ttl-05 {
  font-size: 1.125rem; }

@media screen and (max-width: 640px) {
  .c-title-01 {
    font-size: 1.875rem; }

  .c-title-02 {
    font-size: 1.5rem; }
    .c-title-02 span {
      font-size: 0.9375rem;
      color: #c436c2;
      display: block; }

  .c-ttl-03 {
    font-size: 1.25rem; }

  .c-ttl-04 {
    font-size: 1.125rem; }

  .c-ttl-05 {
    font-size: 1rem; } }
/**

utility

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

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

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

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

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

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

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

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

/* bottom */
.u-mb05 {
  margin-bottom: 5px !important; }

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

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

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

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

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

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

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

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

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

.u-pl1em {
  padding-left: 1em; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }
