@charset "UTF-8";
/*------------------------------------------------------------
	Reset
------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap");
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,
nav,
section,
time,
mark,
audio,
video {
  font-size: 1em;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block; }

html {
  font-size: 62.5%; }

body {
  -webkit-text-size-adjust: 100%; }

body,
table,
input,
textarea,
select,
option,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", "Noto Serif JP", "Roboto","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ",
 "Meiryo", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold; }

table,
input,
textarea,
select,
option {
  line-height: 1.1; }

ol,
ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

img {
  vertical-align: top; }

a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)"; }

form label {
  cursor: pointer; }

/*------------------------------------------------------------
for develop
------------------------------------------------------------*/
#__bs_notify__ {
  opacity: 0.3 !important;
  font-size: 5px !important;
  line-height: 100% !important;
  padding: 0 5px 0 5px !important;
  border-radius: 0 !important; }

.c-dev-title1 {
  background: #000;
  color: #fff;
  line-height: 1;
  padding: 6px 0 6px 15px;
  font-size: 1.6rem;
  margin: 60px 0 20px 0; }

.c-dev-title2 {
  background: #888;
  color: #fff;
  line-height: 1;
  padding: 6px 0 6px 30px;
  font-size: 1.3rem;
  margin: 50px 0 10px 0; }

.c-dev-message1 {
  top: 0;
  left: 0;
  background: #f00;
  color: #fff;
  z-index: 9999;
  position: fixed;
  line-height: 1;
  padding: 3px 6px;
  opacity: 0.6;
  font-size: 8px; }

@media (min-width: 749px) {
  .sp-only {
    display: none; }
  .tb-only {
    display: none; } }

@media screen and (max-width: 1099px) {
  .tb-only {
    display: block; }
  .pc-only {
    display: none; }
  img {
    max-width: 100%;
    height: auto; } }

@media screen and (max-width: 749px) {
  .tb-only {
    display: none; }
  .pc-only {
    display: none; }
  img {
    max-width: 100%;
    height: auto; } }

/*------------------------------------------------------------
breadcrumb
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
footer
------------------------------------------------------------*/
.c-footer {
  position: relative;
  background: #fff;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-footer__wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 26px 51px 29px 50px; }
    @media screen and (max-width: 1099px) {
      .c-footer__wrapper {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 26px 51px 21px 50px; } }
    @media screen and (max-width: 749px) {
      .c-footer__wrapper {
        padding: 41px 0 13px 0;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  .c-footer__logo a:hover {
    opacity: 1; }
  @media screen and (max-width: 1099px) {
    .c-footer__logo {
      margin: 0 45px; }
      .c-footer__logo:last-child {
        margin: 0 14px; } }
  @media screen and (max-width: 749px) {
    .c-footer__logo {
      width: 100%;
      margin: 0 0 45px;
      text-align: center; }
      .c-footer__logo:last-child {
        margin: 0; } }
  .c-footer__copyright {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    font: bold 1rem/2 'Roboto', sans-serif;
    letter-spacing: .5px;
    color: #808080; }
    @media screen and (max-width: 1099px) {
      .c-footer__copyright {
        position: relative;
        top: 0;
        left: 0;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        text-align: center;
        letter-spacing: .15px;
        padding-bottom: 7px; } }
  .c-footer__sns {
    position: absolute;
    top: -15px;
    right: 52px;
    z-index: 1; }
    @media screen and (max-width: 749px) {
      .c-footer__sns {
        right: 20px; } }
    .c-footer__sns ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
    .c-footer__sns li {
      background: #000;
      border-radius: 50%;
      margin-left: 9px;
      -webkit-transition: all .3s;
      transition: all .3s; }
    .c-footer__sns a {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      width: 30px;
      height: 30px;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
  .c-footer__fb:hover {
    background: #3D7BC0; }
    .c-footer__fb:hover a {
      opacity: 1; }
  .c-footer__tw:hover {
    background: #65ACE3; }
    .c-footer__tw:hover a {
      opacity: 1; }

/*
------------------------------------------------------------*/
.c-gotop {
  position: fixed;
  bottom: 147px;
  right: 84px;
  cursor: pointer;
  z-index: 999;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  @media screen and (max-width: 1099px) {
    .c-gotop {
      bottom: 40px;
      right: 35px; } }
  @media screen and (max-width: 749px) {
    .c-gotop {
      position: relative;
      bottom: 0;
      right: 0;
      text-align: center;
      margin: 64px 0 48px;
      padding-left: 6px; } }
  .c-gotop:hover i,
  .c-gotop.is-active i {
    height: 103px; }
  .c-gotop span {
    -webkit-writing-mode: tb-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: tb-rl;
    letter-spacing: 0.5px;
    font-weight: 900;
    font-family: 'Roboto', serif; }
  .c-gotop i {
    width: 1px;
    height: 93px;
    background: #000;
    position: absolute;
    bottom: 4px;
    left: -3px;
    -webkit-transition: all .3s;
    transition: all .3s;
    pointer-events: none; }
    @media screen and (max-width: 749px) {
      .c-gotop i {
        bottom: auto;
        bottom: -83%;
        left: 48.3%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); } }
  .c-gotop i:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32px 0 0 5px;
    border-color: transparent transparent transparent #000; }

/*------------------------------------------------------------
header
------------------------------------------------------------*/
.c-header {
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-header__mv {
    background: #000;
    text-align: center;
    padding: 59px 0 49px;
    position: relative;
    overflow: hidden; }
    @media screen and (max-width: 749px) {
      .c-header__mv {
        padding: 52px 0 55px; } }
  .c-header__mv:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("../img/common/bg3.png") repeat 0 0/6px 6px rgba(0,0,0,.7);
    z-index: 1; }
  .c-header__mv a {
    display: inline-block;
    position: relative;
    z-index: 2; }
  .c-header__mv a:hover {
    opacity: 1; }
  @media screen and (max-width: 749px) {
    .c-header__mv img {
      width: 298px; } }
  .c-header__video {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    min-width: 100%;
    min-height: 100%; }
    @media screen and (max-width: 749px) {
      .c-header__video {
        min-width: auto;
        min-height: auto;
        height: 100%; } }
    .c-header__video video {
      width: 100%;
      height: auto; }
  .c-header__wrapper {
    border-top: 1px solid #ccc;
    background: url("../img/common/bg4.png") repeat 0 0/2px 2px;
    padding: 10px 0 9px; }
    @media screen and (max-width: 749px) {
      .c-header__wrapper {
        padding: 10px 0 16px; } }
  .c-header__sort {
    width: 1000px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 1099px) {
      .c-header__sort {
        width: 100%;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    @media screen and (max-width: 749px) {
      .c-header__sort {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  .c-header__txt {
    position: relative;
    color: #fff;
    padding-right: 22px;
    margin-right: 20px;
    text-align: center;
    top: -1px; }
    @media screen and (max-width: 749px) {
      .c-header__txt {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0;
        margin: 0 0 8px;
        width: 100%; } }
    .c-header__txt:after {
      content: '';
      position: absolute;
      top: 50%;
      right: 0;
      width: 2px;
      height: 70%;
      background: #4D4D4D;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media screen and (max-width: 749px) {
        .c-header__txt:after {
          content: none; } }
  .c-header__txt p {
    font: 700 1.4rem/1.5 'Roboto', sans-serif;
    letter-spacing: 1.2px;
    position: relative; }
    @media screen and (max-width: 749px) {
      .c-header__txt p {
        padding: 0 7px;
        position: relative;
        letter-spacing: 1.2px; }
        .c-header__txt p:after {
          content: '';
          position: absolute;
          top: 50%;
          right: -2px;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%);
          width: 1px;
          height: 70%;
          background: #ccc; } }
  .c-header__txt span {
    font: 500 1rem/1.7 'Noto Sans JP', sans-serif;
    letter-spacing: 1px;
    display: block;
    margin-top: -5px; }
    @media screen and (max-width: 749px) {
      .c-header__txt span {
        font-size: 1.4rem;
        margin-top: -2px;
        padding: 0 9px; } }
  @media screen and (max-width: 749px) {
    .c-header__nav {
      width: 100%;
      padding: 0 5%; } }
  .c-header__nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 749px) {
      .c-header__nav ul {
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  .c-header__nav input {
    display: none; }
    .c-header__nav input:checked + label {
      background: #333;
      color: #fff; }
  @media screen and (max-width: 749px) {
    .c-header__nav li {
      width: 31.2%;
      margin-bottom: 3%; } }
  @media screen and (max-width: 749px) {
    .c-header__nav li:last-child {
      margin-bottom: 0; } }
  .c-header__nav label {
    display: block;
    background: #fff;
    font: 500 1.4rem/1.75 'Noto Sans JP', sans-serif;
    letter-spacing: 1.6px;
    margin-right: 20px;
    width: 150px;
    text-align: center;
    padding: 2px 0 4px;
    cursor: pointer; }
    .c-header__nav label:hover {
      background: #333;
      color: #fff; }
    @media screen and (max-width: 749px) {
      .c-header__nav label {
        width: 100%;
        margin: 0;
        padding: 2px 1px 4px 0; } }
  .c-header__nav li:first-child label {
    letter-spacing: 6px;
    padding: 2px 0 4px 4px; }
    @media screen and (max-width: 749px) {
      .c-header__nav li:first-child label {
        padding: 2px 0 4px 4px; } }
  .c-header__nav li:last-child label {
    margin-right: 0; }

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
layout
------------------------------------------------------------*/
.l-container {
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1099px) {
    .l-container {
      width: 700px; } }
  @media screen and (max-width: 749px) {
    .l-container {
      width: 100%;
      padding: 0 9.8%; } }

/*
------------------------------------------------------------*/
body {
  background: url(/assets/img/common/bg2.jpg) top center no-repeat;
  background-size: cover; }
  @media screen and (max-width: 749px) {
    body {
      min-width: 320px; } }

/*------------------------------------------------------------
side
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
btn
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
title
------------------------------------------------------------*/
.c-ttl1 {
  font: 900 1.1rem/1.75 'Roboto', sans-serif;
  position: absolute;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  letter-spacing: .5px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl; }
  .c-ttl1 span {
    font-weight: 400;
    margin: 3px 0 10px; }
  .c-ttl1:after {
    content: '';
    display: inline-block;
    position: relative;
    width: 1px;
    height: 260px;
    background: #000;
    top: -1px;
    left: 1px; }

/*
------------------------------------------------------------*/
/*------------------------------------------------------------
icon
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
form
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
text
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
navi
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
img
------------------------------------------------------------*/
.c-imgtext1 {
  position: relative;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-imgtext1:hover .c-imgtext1__txt,
  .c-imgtext1:hover .c-imgtext1__img {
    opacity: 0.6; }
  .c-imgtext1:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 95%;
    height: 100px;
    -webkit-box-shadow: 0 15px 10px 0 rgba(0, 0, 0, 0.4);
            box-shadow: 0 15px 10px 0 rgba(0, 0, 0, 0.4);
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    border-radius: 50%;
    z-index: -1; }
  .c-imgtext1:hover .c-imgtext1__inner:before,
  .c-imgtext1:hover .c-imgtext1__inner:after {
    width: 100%;
    height: 100%; }
  .c-imgtext1:hover .c-imgtext1__inner:before {
    border-top-color: #000;
    border-right-color: #000;
    -webkit-transition: width .3s, height .3s .3s;
    transition: width .3s, height .3s .3s; }
  .c-imgtext1:hover .c-imgtext1__inner:after {
    border-bottom-color: #000;
    border-left-color: #000;
    -webkit-transition: height .3s, width .3s .3s;
    transition: height .3s, width .3s .3s; }
  .c-imgtext1__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    background: #fff;
    padding: 20px 23px; }
    @media screen and (max-width: 1099px) {
      .c-imgtext1__inner {
        padding: 20px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext1__inner {
        padding: 0;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: column-reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse; } }
  .c-imgtext1__inner:before, .c-imgtext1__inner:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '';
    width: 0;
    height: 0;
    border: 5px solid transparent;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .c-imgtext1__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3; }
  .c-imgtext1__tag {
    width: 299px; }
    @media screen and (max-width: 749px) {
      .c-imgtext1__tag {
        width: 100%; } }
  .c-imgtext1__txt {
    width: calc(100% - 500px);
    padding: 16px 26px 0 26px;
    -webkit-transition: all .2s;
    transition: all .2s; }
    @media screen and (max-width: 1099px) {
      .c-imgtext1__txt {
        width: calc(100% - 250px);
        padding: 16px 0 6px 30px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext1__txt {
        width: 100%;
        padding: 16px 10px 19px 40px; } }
  .c-imgtext1__img {
    width: 500px;
    -webkit-transition: all .2s;
    transition: all .2s; }
    @media screen and (max-width: 1099px) {
      .c-imgtext1__img {
        width: 250px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext1__img {
        width: 100%; } }
  @media screen and (max-width: 749px) {
    .c-imgtext1__img img {
      width: 100%; } }
  .c-imgtext1__slogan {
    font: bold 1.4rem/1.64 'Noto Sans JP', sans-serif;
    margin-bottom: 11px; }
    @media screen and (max-width: 1099px) {
      .c-imgtext1__slogan {
        padding-left: 1px;
        margin-bottom: 12px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext1__slogan {
        padding-left: 6px;
        margin-bottom: 0; } }
  .c-imgtext1__ttl {
    font: 500 5.5rem/1.12 'Noto Serif JP', serif;
    letter-spacing: -2.6px;
    margin-bottom: 16px; }
    @media screen and (max-width: 749px) {
      .c-imgtext1__ttl {
        font: 500 3.5rem/1.2 'Noto Serif JP', serif;
        letter-spacing: -1.2px;
        margin-bottom: 16px; } }
    .c-imgtext1__ttl i {
      margin: 0 0 0 -28px;
      font-style: normal; }
      @media screen and (max-width: 749px) {
        .c-imgtext1__ttl i {
          margin: 0 0 0 -17px; } }
    .c-imgtext1__ttl i:not(:first-child) {
      margin: 0 -28px 0 0; }
      @media screen and (max-width: 749px) {
        .c-imgtext1__ttl i:not(:first-child) {
          margin: 0 -18px 0 -2px; } }
  .c-imgtext1__desc {
    font: 500 1.4rem/1.64 'Noto Sans JP', sans-serif;
    letter-spacing: .9px;
    margin-bottom: 25px; }
    @media screen and (max-width: 1099px) {
      .c-imgtext1__desc {
        margin: 0 -23px 25px 0; } }
    @media screen and (max-width: 749px) {
      .c-imgtext1__desc {
        display: none; } }
  .c-imgtext1 .c-ttl1 {
    bottom: 30px;
    left: 11px;
    height: 350px;
    overflow: hidden; }
    @media screen and (max-width: 749px) {
      .c-imgtext1 .c-ttl1 {
        bottom: 20px;
        height: 240px; } }
  .c-imgtext1 .c-ttl1 span {
    margin: 3px 0 10px; }
    @media screen and (max-width: 749px) {
      .c-imgtext1 .c-ttl1 span {
        margin: 1px 0 12px; } }
  .c-imgtext1 .c-ttl1:after {
    height: 350px; }
    @media screen and (max-width: 749px) {
      .c-imgtext1 .c-ttl1:after {
        height: 170px; } }
  @media screen and (min-width: 0\0) {
    .c-imgtext1 .c-tag1__txt:before {
      top: 1px; } }
  @media screen and (max-width: 1099px) {
    .c-imgtext1 .c-tag1__number {
      letter-spacing: -4px; } }
  @media screen and (max-width: 749px) {
    .c-imgtext1 .c-tag1__number {
      letter-spacing: -3px; } }
  @media screen and (max-width: 1099px) {
    .c-imgtext1 .c-imgtext2__img {
      margin: 2px 2px 0 0; } }
  @media screen and (max-width: 749px) {
    .c-imgtext1 .c-imgtext2__img {
      margin: 2px 5px 0 0; } }
  @media screen and (max-width: 749px) {
    .c-imgtext1 .c-imgtext2__name span {
      margin: 0 -1px; } }

/*
------------------------------------------------------------*/
.c-imgtext2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-imgtext2__img {
    width: 73px;
    margin: 2px 21px 0 0; }
    @media screen and (max-width: 1099px) {
      .c-imgtext2__img {
        width: 100px; } }
  .c-imgtext2__txt {
    width: calc(100% - 70px); }
  .c-imgtext2__school {
    font: 400 1.2rem/1.83 'Noto Sans JP', sans-serif;
    margin-bottom: 1px; }
    @media screen and (max-width: 749px) {
      .c-imgtext2__school {
        display: none; } }
  .c-imgtext2__name {
    font: bold 1.8rem/1.75 'Noto Sans JP', sans-serif;
    margin: -5px 0 6px 1px; }
    @media screen and (max-width: 749px) {
      .c-imgtext2__name {
        letter-spacing: 1.6px;
        margin: -5px 0 5px 1px; } }
    .c-imgtext2__name span {
      font: 500 1.2rem 'Noto Sans JP', sans-serif;
      margin: 0 9px;
      position: relative;
      top: -2px; }
      @media screen and (max-width: 749px) {
        .c-imgtext2__name span {
          margin: 0 4px; } }
  .c-imgtext2__desc {
    font: 400 1.4rem/1.57 'Noto Sans JP', sans-serif; }
  .c-imgtext2__desc i {
    width: 1px;
    height: 14px;
    background: #4d4d4d;
    display: inline-block;
    margin: 0 7px;
    position: relative;
    top: 1px; }

/*
------------------------------------------------------------*/
.c-imgtext3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  @media screen and (max-width: 1099px) {
    .c-imgtext3 {
      position: relative;
      padding: 0 31px; } }
  @media screen and (max-width: 749px) {
    .c-imgtext3 {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      padding: 0;
      background: #000;
      padding: 23px 20px 21px; } }
  .c-imgtext3__txt {
    position: relative;
    background: #000;
    width: calc(100% - 430px);
    padding: 11px 60px 0 0; }
    @media screen and (max-width: 1099px) {
      .c-imgtext3__txt {
        width: 334px;
        padding: 11px 36px 28px 0; } }
    @media screen and (max-width: 749px) {
      .c-imgtext3__txt {
        width: 100%;
        padding: 0;
        background: transparent;
        margin: 0 0 18px; } }
  .c-imgtext3__txt:after {
    content: '';
    position: absolute;
    top: 0;
    right: 100%;
    width: 800px;
    height: 100%;
    background: #000; }
    @media screen and (max-width: 749px) {
      .c-imgtext3__txt:after {
        content: none; } }
  .c-imgtext3__txt:before {
    content: '';
    position: absolute;
    top: 0;
    right: -131px;
    width: 100%;
    height: 100%;
    background: #000; }
    @media screen and (max-width: 1099px) {
      .c-imgtext3__txt:before {
        right: -126px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext3__txt:before {
        content: none; } }
  .c-imgtext3__txt h3 {
    font: 900 2.4rem/2.5 'Noto Sans JP', sans-serif;
    color: #fff;
    letter-spacing: -1.1px;
    margin: 0 2px 1px 1px;
    position: relative; }
    @media screen and (max-width: 749px) {
      .c-imgtext3__txt h3 {
        font-size: 2.3rem;
        line-height: 1.5;
        margin: 0 0 24px; } }
  .c-imgtext3__txt p {
    font: 1.4rem/1.72 'Noto Sans JP', sans-serif;
    color: #fff;
    text-align: justify;
    letter-spacing: -.3px;
    position: relative; }
    @media screen and (max-width: 749px) {
      .c-imgtext3__txt p {
        letter-spacing: -.78px; } }
    .c-imgtext3__txt p i {
      width: 1px;
      height: 14px;
      background: #fff;
      display: inline-block;
      margin: 0 6px 0 8px;
      position: relative;
      top: 1px; }
      @media screen and (max-width: 749px) {
        .c-imgtext3__txt p i {
          margin: 0 7px 0 10px; } }
  .c-imgtext3__img {
    width: 430px;
    position: relative;
    top: 30px;
    z-index: 2; }
    @media screen and (max-width: 1099px) {
      .c-imgtext3__img {
        width: 400px;
        position: absolute;
        top: 30px;
        right: -50px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext3__img {
        position: relative;
        top: 0;
        left: 0;
        right: auto;
        width: 100%; } }
  @media screen and (max-width: 749px) {
    .c-imgtext3__img img {
      width: 100%; } }
  @media screen and (max-width: 1099px) {
    .c-imgtext3__img img.pc-only {
      display: block; } }
  @media screen and (max-width: 749px) {
    .c-imgtext3__img img.pc-only {
      display: none; } }

/*
------------------------------------------------------------*/
.c-imgtext4 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  @media screen and (max-width: 1099px) {
    .c-imgtext4 {
      position: relative;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0 31px; } }
  @media screen and (max-width: 749px) {
    .c-imgtext4 {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -webkit-flex-direction: column-reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse;
      padding: 23px 20px 21px; } }
  .c-imgtext4__txt {
    position: relative;
    background: #000;
    width: calc(100% - 430px);
    padding: 11px 0 0 60px; }
    @media screen and (max-width: 1099px) {
      .c-imgtext4__txt {
        width: 334px;
        padding: 11px 0 28px 45px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext4__txt {
        width: 100%;
        padding: 0;
        background: #fff;
        margin: 0 0 18px; } }
  .c-imgtext4__txt:after {
    content: '';
    position: absolute;
    top: 0;
    left: 100%;
    width: 800px;
    height: 100%;
    background: #000; }
    @media screen and (max-width: 749px) {
      .c-imgtext4__txt:after {
        content: none; } }
  .c-imgtext4__txt:before {
    content: '';
    position: absolute;
    top: 0;
    left: -131px;
    width: 300px;
    height: 100%;
    background: #000; }
    @media screen and (max-width: 1099px) {
      .c-imgtext4__txt:before {
        left: -126px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext4__txt:before {
        content: none; } }
  .c-imgtext4__txt h3 {
    font: 900 2.4rem/2.5 'Noto Sans JP', sans-serif;
    color: #fff;
    letter-spacing: -1.1px;
    margin: 0 1px 1px 2px;
    position: relative; }
    @media screen and (max-width: 749px) {
      .c-imgtext4__txt h3 {
        color: #000;
        font-size: 2.3rem;
        line-height: 1.5;
        margin: 0 0 24px; } }
  .c-imgtext4__txt p {
    font: 1.4rem/1.72 'Noto Sans JP', sans-serif;
    color: #fff;
    text-align: justify;
    letter-spacing: -.7px;
    position: relative; }
    @media screen and (max-width: 749px) {
      .c-imgtext4__txt p {
        color: #000;
        letter-spacing: -.78px; } }
    .c-imgtext4__txt p i {
      width: 1px;
      height: 14px;
      background: #fff;
      display: inline-block;
      margin: 0 6px 0 8px;
      position: relative;
      top: 1px; }
      @media screen and (max-width: 749px) {
        .c-imgtext4__txt p i {
          margin: 0 7px 0 10px; } }
  .c-imgtext4__img {
    width: 430px;
    position: relative;
    top: 30px;
    z-index: 2; }
    @media screen and (max-width: 1099px) {
      .c-imgtext4__img {
        width: 400px;
        position: absolute;
        top: 30px;
        left: -50px; } }
    @media screen and (max-width: 749px) {
      .c-imgtext4__img {
        position: relative;
        top: 0;
        left: 0;
        width: 100%; } }
  @media screen and (max-width: 1099px) {
    .c-imgtext4__img img.pc-only {
      display: block; } }
  @media screen and (max-width: 749px) {
    .c-imgtext4__img img.pc-only {
      display: none; } }
  @media screen and (max-width: 749px) {
    .c-imgtext4__img img {
      width: 100%; } }

/*------------------------------------------------------------
list
------------------------------------------------------------*/
.c-list1 {
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-list1 ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin: 0 -25px; }
    @media screen and (max-width: 1099px) {
      .c-list1 ul {
        margin: 0; } }
  .c-list1 li {
    margin: 0 25px 24px;
    width: calc(400px - 100px); }
    @media screen and (max-width: 749px) {
      .c-list1 li {
        width: 100%;
        margin: 0 0 13px; } }
    .c-list1 li.is-sort {
      -webkit-box-ordinal-group: 0;
      -webkit-order: -1;
          -ms-flex-order: -1;
              order: -1; }
    .c-list1 li.is-sort-hide {
      display: none; }
  @media screen and (max-width: 1099px) {
    .c-list1 li:nth-child(3n) {
      margin-right: 25px; } }
  @media screen and (max-width: 749px) {
    .c-list1 li:nth-child(3n) {
      margin-right: 0; } }
  .c-list1 a {
    display: block;
    text-decoration: none;
    color: #000;
    -webkit-transition: none;
    transition: none; }
  .c-list1 a.slideInUp,
  .c-list1 div.slideInUp,
  .c-list1 a.slideInUp .c-list1__img:before {
    opacity: 1; }
  .c-list1__item {
    position: relative;
    -webkit-transition-duration: .4s;
            transition-duration: .4s;
    opacity: 0; }
  .c-list1__item:hover .c-card1__img,
  .c-list1__item:hover .c-card1__slogan,
  .c-list1__item:hover .c-card1__ttl,
  .c-list1__item:hover .c-imgtext2,
  .c-list1__item:hover .c-ttl1 {
    opacity: 0.6; }
  .c-list1__item:hover a {
    opacity: 1; }
  .c-list1__item:hover .c-card1__wrapper:before,
  .c-list1__item:hover .c-card1__wrapper:after {
    width: 100%;
    height: 100%; }
  .c-list1__item:hover .c-card1__wrapper:before {
    border-top-color: #000;
    border-right-color: #000;
    -webkit-transition: width .3s, height .3s .3s;
    transition: width .3s, height .3s .3s; }
  .c-list1__item:hover .c-card1__wrapper:after {
    border-bottom-color: #000;
    border-left-color: #000;
    -webkit-transition: height .3s, width .3s .3s;
    transition: height .3s, width .3s .3s; }
  .c-list1__circle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    padding-bottom: 5px;
    overflow: hidden; }
    .c-list1__circle.show {
      overflow: inherit; }
    .c-list1__circle.show .c-list1__img:before {
      opacity: 1; }
    @media screen and (max-width: 1099px) {
      .c-list1__circle {
        padding-top: 0; } }
    @media screen and (max-width: 749px) {
      .c-list1__circle {
        display: none; } }
    .c-list1__circle .c-list1__img:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 300px;
      height: 300px;
      background: #000;
      border-radius: 50%;
      z-index: -1;
      -webkit-transition: all .3s;
      transition: all .3s;
      -webkit-transform: translate(-50%, -50%) scale(1);
          -ms-transform: translate(-50%, -50%) scale(1);
              transform: translate(-50%, -50%) scale(1); }
  .c-list1__circle .c-list1__img {
    -webkit-transition: all .4s;
    transition: all .4s; }
    .c-list1__circle .c-list1__img:hover {
      opacity: 1; }
  .c-list1__circle.show .c-list1__img {
    opacity: 1; }
  .c-list1__circle:hover .c-list1__img:before {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
        -ms-transform: translate(-50%, -50%) scale(1.1);
            transform: translate(-50%, -50%) scale(1.1);
    opacity: 1; }
  .c-list1__img1 {
    position: relative; }
    @media screen and (max-width: 749px) {
      .c-list1__img1 {
        display: none; } }
    .c-list1__img1:hover img:last-child {
      opacity: 1; }
    .c-list1__img1 a:hover {
      opacity: 1; }
    .c-list1__img1 img {
      -webkit-transition: all .3s;
      transition: all .3s; }
    .c-list1__img1 img:last-child {
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0; }
  .c-list1 .c-tag1 {
    width: calc(100% - 28px); }
    @media screen and (max-width: 749px) {
      .c-list1 .c-tag1 {
        padding: 0 0 0 92px; } }
  .c-list1 .c-card1 {
    padding-bottom: 16px; }
    .c-list1 .c-card1:after {
      bottom: 16px; }

/*
------------------------------------------------------------*/
.c-list2 {
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-list2 ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 1099px) {
      .c-list2 ul {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  @media screen and (max-width: 749px) {
    .c-list2 li {
      width: 46.5%;
      margin-right: 6.5%; } }
  @media screen and (max-width: 749px) {
    .c-list2 li img {
      width: 100%; } }
  @media screen and (max-width: 1099px) {
    .c-list2 li:nth-child(2n) {
      margin-right: 0; } }

/*------------------------------------------------------------
table
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
line
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
video
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
video
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
/*------------------------------------------------------------
other
------------------------------------------------------------*/
/*
------------------------------------------------------------*/
.c-tag1 {
  position: relative;
  font: 500 1.4rem 'Noto Sans JP', sans-serif;
  background: #000;
  color: #fff;
  padding: 0 0 0 90px;
  letter-spacing: 1.5px;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-tag1__number {
    position: absolute;
    bottom: -36px;
    left: 10px;
    font: bold 6rem 'Roboto', sans-serif;
    color: #E6E6E6;
    z-index: 2;
    letter-spacing: -5px; }
  .c-tag1__txt {
    padding: 3px 0 4px 14px;
    display: block;
    position: relative; }
    @media screen and (max-width: 749px) {
      .c-tag1__txt {
        padding-left: 13px; } }
    .c-tag1__txt:after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      width: 1px;
      height: 60%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      background: #fff; }
      @media screen and (max-width: 749px) {
        .c-tag1__txt:after {
          height: 58%; } }
    .c-tag1__txt:before {
      content: '';
      position: absolute;
      top: 0;
      left: 1px;
      width: 100%;
      height: 102%;
      background: inherit;
      -webkit-transform-origin: 100% 0;
          -ms-transform-origin: 100% 0;
              transform-origin: 100% 0;
      -webkit-transform: skew(45deg);
          -ms-transform: skew(45deg);
              transform: skew(45deg);
      background: #000;
      z-index: -1; }

/*
------------------------------------------------------------*/
.c-card1 {
  position: relative;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-card1:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 85%;
    height: 60px;
    -webkit-box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.4);
            box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.4);
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    border-radius: 50%;
    z-index: -1;
    background: transparent; }
  .c-card1__wrapper {
    background: #fff;
    position: relative; }
  .c-card1__wrapper:before, .c-card1__wrapper:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '';
    width: 0;
    height: 0;
    border: 5px solid transparent;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .c-card1__content {
    padding: 15px 10px 17px 39px; }
    @media screen and (max-width: 749px) {
      .c-card1__content {
        padding: 15px 10px 18px 40px; } }
  .c-card1__img {
    -webkit-transition: all .2s;
    transition: all .2s; }
  @media screen and (max-width: 1099px) {
    .c-card1__img img {
      width: 100%; } }
  .c-card1__slogan {
    font: bold 1.4rem/1.64 'Noto Sans JP', sans-serif;
    padding-left: 5px; }
  .c-card1__ttl {
    font: 500 3.5rem/1.2 'Noto Serif JP', serif;
    letter-spacing: -1.2px;
    margin-bottom: 17px; }
    .c-card1__ttl i {
      margin: 0 -19px;
      font-style: normal; }
  .c-card1 .c-ttl1 {
    bottom: 36px;
    left: 10px;
    z-index: 1;
    height: 240px;
    overflow: hidden; }
    @media screen and (max-width: 749px) {
      .c-card1 .c-ttl1 {
        left: 11px; } }
  .c-card1 .c-ttl1 span {
    margin: 3px 0 10px; }
    @media screen and (max-width: 749px) {
      .c-card1 .c-ttl1 span {
        margin: 1px 0 12px; } }
  .c-card1 .c-ttl1:after {
    height: 170px; }
  .c-card1 .c-tag1__number {
    letter-spacing: -2px; }
    @media screen and (max-width: 1099px) {
      .c-card1 .c-tag1__number {
        letter-spacing: -1px; } }
  .c-card1 .c-imgtext2__img {
    margin: 2px 19px 0 0; }
    @media screen and (max-width: 1099px) {
      .c-card1 .c-imgtext2__img {
        margin: 2px 5px 0 0; } }

/*
------------------------------------------------------------*/
.c-card2 {
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  .c-card2__intro {
    background: #fff;
    position: relative;
    padding: 58px 21px 244px 159px; }
    @media screen and (max-width: 1099px) {
      .c-card2__intro {
        padding: 9px 11px 160px 99px; } }
    @media screen and (max-width: 749px) {
      .c-card2__intro {
        padding: 56px 22px 247px 160px; } }
  .c-card2__txt1 {
    font: 1.2rem/1.59 'Noto Sans JP', sans-serif;
    border-bottom: 1px solid #000;
    padding-bottom: 7px;
    margin-bottom: 2px; }
    @media screen and (max-width: 1099px) {
      .c-card2__txt1 {
        padding-bottom: 6px;
        margin-bottom: 2px; } }
  .c-card2__txt2 {
    font: bold 1.8rem/1.75 'Noto Sans JP', sans-serif;
    letter-spacing: 1.7px; }
    .c-card2__txt2 span {
      font: 500 1.2rem 'Noto Sans JP', sans-serif;
      position: relative;
      top: -3px;
      left: -1px; }
  .c-card2__name {
    font: 900 1.1rem/1.75 'Roboto', serif;
    letter-spacing: .5px; }
    .c-card2__name span {
      font-weight: 400; }
  .c-card2__desc {
    background: #000;
    color: #fff;
    font: 1.4rem/1.72 'Noto Sans JP', sans-serif;
    padding: 24px 22px 27px 29px;
    letter-spacing: .1px; }
    @media screen and (max-width: 749px) {
      .c-card2__desc {
        padding: 25px 22px 27px 30px; } }
    .c-card2__desc span {
      margin: 0 0 0 -13px; }
  .c-card2__img {
    position: absolute;
    bottom: 0;
    left: 0; }
    @media screen and (max-width: 1099px) {
      .c-card2__img {
        width: 61.5%; } }
    @media screen and (max-width: 749px) {
      .c-card2__img {
        width: auto; } }

/*
------------------------------------------------------------*/
.c-card3 {
  width: 480px;
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/
  /*------------------------------------------------------*/ }
  @media screen and (max-width: 1099px) {
    .c-card3 {
      width: 300px; } }
  @media screen and (max-width: 749px) {
    .c-card3 {
      margin: 0 auto; } }
  .c-card3__wrapper {
    position: relative;
    background: #F2F2F2; }
  .c-card3__wrapper:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 95%;
    height: 100px;
    -webkit-box-shadow: 0 15px 10px 0 rgba(0, 0, 0, 0.4);
            box-shadow: 0 15px 10px 0 rgba(0, 0, 0, 0.4);
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    border-radius: 50%;
    z-index: -1; }
  .c-card3__wrapper:hover .c-card3__inner:before,
  .c-card3__wrapper:hover .c-card3__inner:after {
    width: 100%;
    height: 100%; }
  .c-card3__wrapper:hover .c-card3__inner:before {
    border-top-color: #000;
    border-right-color: #000;
    -webkit-transition: width .3s, height .3s .3s;
    transition: width .3s, height .3s .3s; }
  .c-card3__wrapper:hover .c-card3__inner:after {
    border-bottom-color: #000;
    border-left-color: #000;
    -webkit-transition: height .3s, width .3s .3s;
    transition: height .3s, width .3s .3s; }
  .c-card3__wrapper:hover .c-card3__info,
  .c-card3__wrapper:hover .c-card3__img,
  .c-card3__wrapper:hover .c-card3__content {
    opacity: 0.6; }
  .c-card3__wrapper:hover .c-card3__btn a {
    background: #f4d603;
    color: #000; }
  .c-card3__wrapper:hover .c-card3__btn a:before {
    opacity: 0.6; }
  .c-card3--gray .c-card3__wrapper {
    background: #E6E6E6; }
  .c-card3__link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 4; }
  .c-card3__info {
    padding-right: 110px;
    margin-bottom: 27px; }
    @media screen and (max-width: 1099px) {
      .c-card3__info {
        margin-bottom: 106px;
        padding-right: 140px; } }
    @media screen and (max-width: 749px) {
      .c-card3__info {
        padding-right: 0; } }
  .c-card3__inner {
    padding: 26px 221px 30px 29px;
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 1099px) {
      .c-card3__inner {
        padding: 16px 19px 20px 20px; } }
  .c-card3__inner::before, .c-card3__inner::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    content: '';
    width: 0;
    height: 0;
    border: 5px solid transparent;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .c-card3__txt1 {
    font: 1.2rem/1.59 'Noto Sans JP', sans-serif;
    border-bottom: 1px solid #000;
    padding-bottom: 6px;
    margin-bottom: 2px; }
    @media screen and (max-width: 749px) {
      .c-card3__txt1 {
        display: inline-block;
        padding-right: 60px; } }
  .c-card3__txt2 {
    font: bold 1.8rem/1.75 'Noto Sans JP', sans-serif;
    letter-spacing: 1.7px; }
    .c-card3__txt2 span {
      font: 500 1.2rem 'Noto Sans JP', sans-serif;
      position: relative;
      top: -3px;
      left: -1px; }
  .c-card3__name {
    font: 900 1.1rem/1.75 'Roboto', serif;
    letter-spacing: .5px; }
    .c-card3__name span {
      font-weight: 400; }
  .c-card3__content {
    background: rgba(255, 255, 255, 0.5);
    padding: 14px 10px 14px 20px;
    font: 1.4rem/1.72 'Noto Sans JP', sans-serif;
    margin-bottom: 10px; }
    @media screen and (max-width: 749px) {
      .c-card3__content {
        padding: 14px 14px 14px 20px; } }
  .c-card3__btn a {
    display: block;
    position: relative;
    width: 230px;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.58;
    color: #fff;
    background: #000;
    text-decoration: none;
    padding: 16px 45px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    word-break: break-all;
    -webkit-transition: none;
    transition: none; }
    @media screen and (max-width: 1099px) {
      .c-card3__btn a {
        margin: 0 auto;
        left: 5px; } }
  .c-card3__btn a:after {
    content: '';
    width: 15px;
    height: 15px;
    position: absolute;
    top: 18px;
    right: 19px;
    background: url(/assets/img/teachers/ic001.svg) top center no-repeat;
    background-size: cover; }
  .c-card3__btn a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #eee;
    opacity: 0;
    z-index: 1; }
  .c-card3__img {
    position: absolute;
    bottom: 0;
    right: 9px;
    z-index: 1; }
    @media screen and (max-width: 1099px) {
      .c-card3__img {
        right: 0; } }
  @media screen and (max-width: 749px) {
    .c-card3__img .tb-only {
      display: block; } }

.mb-23 {
  margin-bottom: 23px !important; }
