@font-face {
  font-family: "RNS_Camelia";
  src: url("../font/RNS_Camelia_sub.woff") format("woff"); }

@media (max-width: 767px) {
  .pc {
    display: none !important; } }

@media (min-width: 768px) {
  .sp {
    display: none !important; } }

body {
  color: #000;
  font-family: source-han-sans-japanese, sans-serif;
  font-feature-settings: "palt";
  font-weight: 400;
  font-style: normal; }
  @media (min-width: 768px) {
    body {
      font-size: 16px;
      line-height: 2em; } }
  @media (max-width: 767px) {
    body {
      font-size: 14px;
      line-height: 2em; } }

.minchou {
  font-family: vdl-v7mincho, sans-serif;
  font-weight: 300;
  font-style: normal; }

.camelia {
  font-family: RNS_Camelia; }

header.l-header,
footer.l-footer {
  position: relative;
  z-index: 9; }

/**************************
テキスト
***************************/
.text {
  /*欧文タイトル*/
  /* フッターh2 */
  /* h2 */
  /* h3 */
  /* h3-文字間広い */
  /* h4 */
  /* h5 */
  /* h5-文字間広い */
  /* h6 */
  /* h6-文字間広い */
  /* 標準-大 */
  /* リンクテキスト */ }
  .text__title {
    color: #0168B6;
    font-family: RNS_Camelia;
    font-weight: normal; }
    @media (min-width: 768px) {
      .text__title {
        font-size: 60px;
        letter-spacing: 0.025em;
        line-height: 1.5em; } }
    @media (max-width: 767px) {
      .text__title {
        font-size: 40px;
        letter-spacing: 0;
        line-height: 1.5em; } }
  .text__footer-title {
    font-family: vdl-v7mincho, sans-serif;
    font-weight: 300; }
    @media (min-width: 768px) {
      .text__footer-title {
        font-size: 60px;
        letter-spacing: 0.2em;
        line-height: 1.25em; } }
    @media (max-width: 767px) {
      .text__footer-title {
        font-size: 40px;
        letter-spacing: 0.1em;
        line-height: 1.25em; } }
  .text__header2 {
    font-weight: 700; }
    @media (min-width: 768px) {
      .text__header2 {
        font-size: 60px;
        letter-spacing: 0.2em;
        line-height: 1.25em; } }
    @media (max-width: 767px) {
      .text__header2 {
        font-size: 40px;
        letter-spacing: 0.2em;
        line-height: 1.25em; } }
  .text__header3 {
    font-weight: 700; }
    @media (min-width: 768px) {
      .text__header3 {
        font-size: 45px;
        letter-spacing: 0.05em;
        line-height: 1.5em; } }
    @media (max-width: 767px) {
      .text__header3 {
        font-size: 36px;
        letter-spacing: 0.05em;
        line-height: 1.5em; } }
  .text__header3-wide {
    font-weight: 700; }
    @media (min-width: 768px) {
      .text__header3-wide {
        font-size: 45px;
        letter-spacing: 0.2em;
        line-height: 1.5em; } }
    @media (max-width: 767px) {
      .text__header3-wide {
        font-size: 36px;
        letter-spacing: 0.05em;
        line-height: 1.5em; } }
  .text__header4 {
    font-weight: 700; }
    @media (min-width: 768px) {
      .text__header4 {
        font-size: 36px;
        letter-spacing: 0.2em;
        line-height: 1.5em; } }
    @media (max-width: 767px) {
      .text__header4 {
        font-size: 30px;
        letter-spacing: 0.1em;
        line-height: 1.5em; } }
  .text__header5 {
    font-weight: 700; }
    @media (min-width: 768px) {
      .text__header5 {
        font-size: 30px;
        letter-spacing: 0.05em;
        line-height: 1.5em; } }
    @media (max-width: 767px) {
      .text__header5 {
        font-size: 24px;
        letter-spacing: 0;
        line-height: 1.5em; } }
  .text__header5-wide {
    font-weight: 700; }
    @media (min-width: 768px) {
      .text__header5-wide {
        font-size: 30px;
        letter-spacing: 0.2em;
        line-height: 1.5em; } }
    @media (max-width: 767px) {
      .text__header5-wide {
        font-size: 24px;
        letter-spacing: 0;
        line-height: 1.5em; } }
  .text__header6 {
    font-weight: 700; }
    @media (min-width: 768px) {
      .text__header6 {
        font-size: 24px;
        letter-spacing: 0.05em;
        line-height: 2em; } }
    @media (max-width: 767px) {
      .text__header6 {
        font-size: 20px;
        letter-spacing: 0;
        line-height: 1.5em; } }
  .text__header6-wide {
    font-weight: 700; }
    @media (min-width: 768px) {
      .text__header6-wide {
        font-size: 24px;
        letter-spacing: 0.2em;
        line-height: 2em; } }
    @media (max-width: 767px) {
      .text__header6-wide {
        font-size: 20px;
        letter-spacing: 0;
        line-height: 1.5em; } }
  @media (min-width: 768px) {
    .text__large {
      font-size: 18px;
      letter-spacing: 0;
      line-height: 2em; } }
  @media (max-width: 767px) {
    .text__large {
      font-size: 16px;
      letter-spacing: 0;
      line-height: 2em; } }
  @media (min-width: 768px) {
    .text__link {
      font-size: 20px;
      letter-spacing: 0.05em;
      line-height: 1.5em; } }
  @media (max-width: 767px) {
    .text__link {
      font-size: 18px;
      letter-spacing: 0;
      line-height: 1.5em; } }

/*********** ダミー ***********/
.header-dummy {
  border-bottom: solid 1px #ccc;
  background-color: transparent; }
  @media (min-width: 768px) {
    .header-dummy {
      height: 207px; } }
  @media (max-width: 767px) {
    .header-dummy {
      height: 68px; } }

.footer-dummy {
  border-top: solid 1px #ccc;
  background-color: #fff;
  height: 200px; }

/*********** ダミー ***********/
/**********************
共通
***********************/
.libelal-arts {
  position: relative;
  text-align: center;
  z-index: 2;
  /* タイトル共通 */
  /* 下層サブタイトル */
  /* スクロールアニメーション */
  /* リンクボタン共通 */
  /* 問うICU */
  /* 下部ナビ */ }
  @media (min-width: 768px) {
    .libelal-arts {
      padding-bottom: 100px;
      padding-top: 120px; } }
  @media (max-width: 767px) {
    .libelal-arts {
      padding-bottom: 80px;
      padding-top: 60px; } }
  .libelal-arts .pagetitle__sub {
    color: #000;
    display: block;
    padding-top: 40px; }
  @media (min-width: 768px) {
    .libelal-arts .page-subtitle {
      padding: 80px 0 60px; } }
  @media (max-width: 767px) {
    .libelal-arts .page-subtitle {
      padding: 60px 0 40px; } }
  .libelal-arts .page-subtitle__head {
    color: #0168B6;
    margin-bottom: 40px; }
  @media (min-width: 768px) {
    .libelal-arts .page-subtitle__p {
      margin-bottom: 60px; } }
  @media (max-width: 767px) {
    .libelal-arts .page-subtitle__p {
      margin-bottom: 40px; } }
  .libelal-arts .scrollarrow {
    background-size: 100%;
    height: 69px;
    margin: 0 auto;
    width: 15px; }
  .libelal-arts .scrollarrow-img {
    animation-name: scrollarrow-anim;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-out;
    display: block; }
    .libelal-arts .scrollarrow-img:not(:last-child) {
      margin-bottom: 11px; }
    .libelal-arts .scrollarrow-img:nth-of-type(2) {
      animation-delay: 0.5s; }
    .libelal-arts .scrollarrow-img:nth-of-type(3) {
      animation-delay: 1.0s; }
    .libelal-arts .scrollarrow-img:nth-of-type(4) {
      animation-delay: 1.5s; }
  .libelal-arts .anchor {
    align-items: center;
    background: #fff url(../img/common/arrow_right.svg) no-repeat center right 10px;
    background-size: 15px 15px;
    border: solid 1px #0168B6;
    color: #000;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    text-decoration: none; }
    .libelal-arts .anchor:before {
      background-color: #0168B6;
      content: "";
      display: block;
      height: 100%;
      left: 50%;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%) skewX(-40deg);
      transition: 0.3s ease;
      width: 0;
      z-index: 2; }
    @media (min-width: 768px) {
      .libelal-arts .anchor {
        border-radius: 45px;
        font-size: 20px;
        height: 90px;
        opacity: 1;
        transition-duration: 0.2s;
        width: 575px; }
        .libelal-arts .anchor:hover {
          border-color: #fff;
          color: #fff; }
          .libelal-arts .anchor:hover:before {
            width: 120%; } }
    @media (max-width: 767px) {
      .libelal-arts .anchor {
        border-radius: 58px;
        font-size: 18px;
        height: 117px;
        width: 90%; } }
    .libelal-arts .anchor__text {
      position: relative;
      z-index: 2; }
  .libelal-arts .diversional {
    background-color: #0168B6;
    color: #fff;
    position: relative; }
    .libelal-arts .diversional:before {
      content: "";
      border-top: solid 10px #fff;
      border-left: solid 10px transparent;
      border-right: solid 10px transparent;
      display: block;
      height: 0;
      left: calc( 50% - 10px);
      position: absolute;
      top: 0; }
    @media (min-width: 768px) {
      .libelal-arts .diversional {
        padding: 120px 0; } }
    @media (max-width: 767px) {
      .libelal-arts .diversional {
        padding: 80px 5% 60px; } }
    @media (min-width: 768px) {
      .libelal-arts .diversional__head {
        margin-bottom: 60px; } }
    @media (max-width: 767px) {
      .libelal-arts .diversional__head {
        margin-bottom: 40px; } }
    .libelal-arts .diversional__text {
      display: inline-block;
      text-align: left; }
      @media (min-width: 768px) {
        .libelal-arts .diversional__text {
          margin-bottom: 60px; } }
      @media (max-width: 767px) {
        .libelal-arts .diversional__text {
          margin-bottom: 40px; } }
  .libelal-arts .bottom-nav {
    background-color: #fff; }
    @media (min-width: 768px) {
      .libelal-arts .bottom-nav {
        display: flex; } }
    .libelal-arts .bottom-nav__anc {
      align-items: center;
      border-bottom: solid 1px #ededed;
      color: #000;
      display: flex;
      height: 70px;
      text-decoration: none; }
      @media (min-width: 768px) {
        .libelal-arts .bottom-nav__anc {
          transition-duration: 0.2s;
          width: 50%; }
          .libelal-arts .bottom-nav__anc:hover {
            opacity: 0.5; } }
      @media (max-width: 767px) {
        .libelal-arts .bottom-nav__anc {
          justify-content: center;
          width: 100%; } }
      @media (min-width: 768px) {
        .libelal-arts .bottom-nav__anc:nth-of-type(1) {
          border-right: solid 1px #ededed;
          justify-content: flex-end;
          padding-right: 30px; } }
      .libelal-arts .bottom-nav__anc:nth-of-type(1):before {
        background: url(../img/common/arrow_left.svg) no-repeat center;
        background-size: 15px 15px;
        content: "";
        height: 2em;
        margin-right: 20px;
        width: 15px; }
      @media (min-width: 768px) {
        .libelal-arts .bottom-nav__anc:nth-of-type(2) {
          justify-content: flex-start;
          padding-left: 30px; } }
      .libelal-arts .bottom-nav__anc:nth-of-type(2):after {
        background: url(../img/common/arrow_up.svg) no-repeat center;
        background-size: 15px 15px;
        content: "";
        height: 2em;
        margin-left: 20px;
        width: 15px; }

@keyframes scrollarrow-anim {
  0% {
    opacity: 1; }
  25% {
    opacity: 0.3; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }

/**********************
index.html
***********************/
.libelal-arts .idx {
  padding-top: 40px; }
  @media (min-width: 768px) {
    .libelal-arts .idx {
      padding-bottom: 160px; } }
  @media (max-width: 767px) {
    .libelal-arts .idx {
      padding-bottom: 80px;
      padding-left: 5%;
      padding-right: 5%; } }
  .libelal-arts .idx__lead {
    font-weight: normal;
    margin-bottom: 50px; }
  @media (min-width: 768px) {
    .libelal-arts .idx__text1 {
      margin-bottom: 120px; } }
  @media (max-width: 767px) {
    .libelal-arts .idx__text1 {
      display: block;
      margin: 0 auto 80px;
      text-align: left;
      max-width: 338px; } }
  .libelal-arts .idx__text2 {
    color: #0168B6;
    margin-bottom: 40px; }
  .libelal-arts .idx__text3 {
    margin-bottom: 40px; }
  .libelal-arts .idx__text4 {
    margin-top: 40px; }
    @media (min-width: 768px) {
      .libelal-arts .idx__text4 {
        margin-bottom: 120px; } }
    @media (max-width: 767px) {
      .libelal-arts .idx__text4 {
        margin-bottom: 60px; } }
  .libelal-arts .idx__anc {
    border-radius: 35px;
    height: 70px;
    margin: 0 auto; }
    @media (max-width: 767px) {
      .libelal-arts .idx__anc {
        width: 100%; } }

/**********************
thinking.html
***********************/
.thinking {
  font-family: vdl-v7mincho, sans-serif;
  height: 100%;
  width: 100%; }
  @media (min-width: 768px) {
    .thinking {
      /*
		background: url(samle_pc.jpg)no-repeat top center;
		*/ } }
  @media (max-width: 767px) {
    .thinking {
      /*
		background: url(sample_sp.jpg)no-repeat bottom center;
		background-size: 100% 100%;
		*/ } }
  .thinking .animbox {
    color: #aaa;
    height: 100vh;
    overflow-x: hidden;
    position: relative;
    width: 100%; }
    @media (min-width: 768px) {
      .thinking .animbox {
        margin: 0 auto;
        max-width: 1440px; } }
    .thinking .animbox__elem {
      display: block;
      opacity: 0;
      position: absolute;
      transition-duration: 1s;
      transition-timing-function: linear;
      transform-origin: center; }
    .thinking .animbox__txt-l {
      white-space: nowrap; }
      @media (min-width: 768px) {
        .thinking .animbox__txt-l {
          font-size: 50px;
          letter-spacing: 0.2em; } }
      @media (max-width: 767px) {
        .thinking .animbox__txt-l {
          font-size: 30px;
          letter-spacing: 0.2em; } }
    .thinking .animbox__title {
      color: #000;
      display: block;
      left: 0;
      letter-spacing: 0.2em;
      text-align: center;
      top: 50%;
      transform: translateY(-50%);
      width: 100%; }
      @media (min-width: 768px) {
        .thinking .animbox__title {
          font-size: 28px; } }
      @media (max-width: 767px) {
        .thinking .animbox__title {
          font-size: 18px; } }
    .thinking .animbox__info {
      color: #000;
      letter-spacing: 0.05em;
      right: 50%;
      transform: translateX(50%); }
      @media (min-width: 768px) {
        .thinking .animbox__info {
          bottom: 4.2%;
          font-size: 14px; } }
      @media (max-width: 767px) {
        .thinking .animbox__info {
          bottom: 2.2%;
          font-size: 10px; } }
    @media (min-width: 768px) {
      .thinking .animbox__1t {
        left: 10%;
        top: 21.5%; } }
    @media (max-width: 767px) {
      .thinking .animbox__1t {
        left: 6.8%;
        top: 4.4%; } }
    @media (min-width: 768px) {
      .thinking .animbox__1i {
        left: 29.4%;
        top: 16.6%;
        width: 200px; } }
    @media (max-width: 767px) {
      .thinking .animbox__1i {
        left: 13.4%;
        top: 10.6%;
        width: 125px; } }
    @media (min-width: 768px) {
      .thinking .animbox__2t {
        right: 8.8%;
        top: 35.4%; } }
    @media (max-width: 767px) {
      .thinking .animbox__2t {
        right: 7.4%;
        bottom: 57.1%; } }
    @media (min-width: 768px) {
      .thinking .animbox__2i {
        right: 15.2%;
        top: 4.8%;
        width: 200px; } }
    @media (max-width: 767px) {
      .thinking .animbox__2i {
        right: 8.7%;
        bottom: 63%;
        width: 125px; } }
    @media (min-width: 768px) {
      .thinking .animbox__3t {
        bottom: 19.8%;
        right: 39.6%; } }
    @media (max-width: 767px) {
      .thinking .animbox__3t {
        bottom: 17.7%;
        left: 6%; } }
    @media (min-width: 768px) {
      .thinking .animbox__3i {
        bottom: 8.3%;
        left: 64.9%;
        width: 200px; } }
    @media (max-width: 767px) {
      .thinking .animbox__3i {
        bottom: 20.3%;
        right: 7.6%;
        width: 125px; } }
  .thinking__vid {
    width: 100%; }
    @media (min-width: 768px) {
      .thinking__vid {
        left: 0;
        position: absolute;
        transform: translateY(50%);
        bottom: 50%; } }

/**********************
top.html
***********************/
@media (min-width: 768px) {
  .top {
    padding-bottom: 150px; } }

@media (max-width: 767px) {
  .top {
    padding-bottom: 80px; } }

@media (min-width: 768px) {
  .top__lead {
    padding-bottom: 60px; } }

@media (max-width: 767px) {
  .top__lead {
    padding-bottom: 80px; } }

@media (min-width: 768px) {
  .top__lead-p {
    margin-bottom: 60px; } }

@media (max-width: 767px) {
  .top__lead-p {
    margin-bottom: 30px; } }

.top__content {
  overflow: hidden;
  position: relative;
  width: 100%; }
  @media (min-width: 768px) {
    .top__content {
      align-items: center;
      display: flex; } }
  @media (max-width: 767px) {
    .top__content {
      padding-bottom: 53px; } }
  @media (max-width: 767px) {
    .top__content:not(:first-child) {
      padding-top: 60px; } }
  @media (min-width: 768px) {
    .top__content:not(:last-child) {
      margin-bottom: 40px; } }

@inclue inpc() {
  .top__content_l .top__imgbox {
    padding-left: 53px; } }
  @media (min-width: 768px) {
    .top__content_l .top__contentbg {
      /*
					left: 40%;
					transform: skewX(4deg);
					*/ } }
  .top__content_r {
    flex-direction: row-reverse; }

@inclue inpc() {
  .top__content_r .top__imgbox {
    padding-right: 53px; } }
    @media (min-width: 768px) {
      .top__content_r .top__contentbg {
        /*
					right: 40%;
					transform: skewX(-4deg);
					*/ } }
  .top__content[data-visible=true].top__content_l .top__contentbg {
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out; }
    @media (min-width: 768px) {
      .top__content[data-visible=true].top__content_l .top__contentbg {
        animation-name: bg-animation-left;
        transform-origin: left top; } }
    @media (max-width: 767px) {
      .top__content[data-visible=true].top__content_l .top__contentbg {
        animation-name: bg-animation-top;
        transform-origin: right top; } }
  .top__content[data-visible=true].top__content_r .top__contentbg {
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
    transform-origin: right top; }
    @media (min-width: 768px) {
      .top__content[data-visible=true].top__content_r .top__contentbg {
        animation-name: bg-animation-right; } }
    @media (max-width: 767px) {
      .top__content[data-visible=true].top__content_r .top__contentbg {
        animation-name: bg-animation-top; } }

.top__contentbg {
  background-color: #ededed;
  height: 100%;
  position: absolute;
  width: 100%; }
  @media (min-width: 768px) {
    .top__contentbg {
      top: 0; } }
  @media (max-width: 767px) {
    .top__contentbg {
      top: -20px;
      /*
			transform: skewY(-3deg);
			top: 180px;
			*/ } }

.top__imgbox {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2; }
  @media (min-width: 768px) {
    .top__imgbox {
      width: 38.6%; } }
  @media (max-width: 767px) {
    .top__imgbox {
      margin-bottom: 20px; } }

@media (min-width: 768px) {
  .top__imgwrap {
    width: 228px; } }

@media (max-width: 767px) {
  .top__imgwrap {
    width: 150px; } }

.top__img {
  display: block;
  width: 100%; }

.top__textbox {
  position: relative;
  z-index: 2; }
  @media (min-width: 768px) {
    .top__textbox {
      align-items: center;
      display: flex;
      flex-direction: column;
      height: 578px;
      justify-content: center;
      width: 61.4%; } }
  @media (max-width: 767px) {
    .top__textbox {
      padding-top: 64px;
      text-align: center; } }

.top__textline1 {
  color: #0168B6;
  display: block; }
  @media (min-width: 768px) {
    .top__textline1 {
      line-height: 1em;
      margin-bottom: 16px; } }
  @media (max-width: 767px) {
    .top__textline1 {
      margin-bottom: 6px; } }

.top__textline2 {
  color: #0168B6;
  display: block; }
  @media (min-width: 768px) {
    .top__textline2 {
      line-height: 1em;
      margin-bottom: 45px; } }
  @media (max-width: 767px) {
    .top__textline2 {
      margin-bottom: 20px; } }

.top__textline3 {
  display: block; }
  @media (min-width: 768px) {
    .top__textline3 {
      margin-bottom: 1px; } }
  @media (max-width: 767px) {
    .top__textline3 {
      margin-bottom: 4px; } }

.top__textline4 {
  display: block; }

@media (min-width: 768px) {
  .top__contenthead {
    margin-bottom: 26px; } }

@media (max-width: 767px) {
  .top__contenthead {
    margin-bottom: 27px; } }

.top__textblock {
  display: block;
  text-align: left; }
  @media (min-width: 768px) {
    .top__textblock {
      margin: 0 auto 29px;
      max-width: 540px;
      width: 90%; } }
  @media (max-width: 767px) {
    .top__textblock {
      margin-bottom: 29px;
      padding: 0 7%; } }

.top__anc {
  color: #0168B6;
  text-decoration: none; }
  .top__anc:after {
    background: url(../img/common/arrow_right.svg) no-repeat center;
    background-size: 100%;
    content: "";
    display: inline-block;
    height: 15px;
    margin-left: 20px;
    width: 15px; 
	transition: margin-left 0.3s;
  }
  .top__anc:visited {
    color: #0168B6;
  }
  .top__anc:hover::after {
	  margin-left: 40px;
  }

@keyframes bg-animation-left {
  0% {
    left: 0;
    transform: skewX(0deg); }
  33% {
    left: 40%;
    transform: skewX(0deg); }
  66% {
    left: 40%;
    transform: skewX(0deg); }
  100% {
    left: 40%;
    transform: skewX(4deg); } }

@keyframes bg-animation-right {
  0% {
    right: 0;
    transform: skewX(0deg); }
  33% {
    right: 40%;
    transform: skewX(0deg); }
  66% {
    right: 40%;
    transform: skewX(0deg); }
  100% {
    right: 40%;
    transform: skewX(-4deg); } }

@keyframes bg-animation-top {
  0% {
    top: 0;
    transform: skewX(0deg); }
  33% {
    top: 240px;
    transform: skewX(0deg); }
  66% {
    top: 240px;
    transform: skewX(0deg); }
  100% {
    top: 240px;
    transform: skewY(-3deg); } }

/**********************
answer*.html
***********************/
@media (min-width: 768px) {
  .answer {
    padding-bottom: 150px; } }

@media (max-width: 767px) {
  .answer {
    padding-bottom: 80px; } }

@media (min-width: 768px) {
  .answer .top__contenthead {
    margin-bottom: 60px; } }

.answer__img {
  display: block;
  margin: 0 auto 60px;
  width: 228px; }

.answer__content {
  margin: 0 auto;
  text-align: left;
  width: 90%; }
  @media (min-width: 768px) {
    .answer__content {
      max-width: 850px; } }

.answer__head {
  margin-bottom: 40px; }

.answer__p {
  margin-bottom: 40px;
  line-height: 2em; }

.answer__cite {
  font-style: normal; }