@font-face {
    font-family: 'DENSOTP2017-Bold';
    src: url("../fonts/DENSOTP2017-Bold.woff") format("woff")
}
@font-face {
    font-family: 'DENSOTP2017-Regular';
    src: url("../fonts/DENSOTP2017-Regular.woff") format("woff")
}
@font-face {
    font-family: 'DENSOTP2017-Light';
    src: url("../fonts/DENSOTP2017-Light.woff") format("woff")
}
html {
    font-size: .5208333333vw
}
@media (max-width: 959px) {
    html {
        font-size: 1.3333333333vw
    }
}
body {
    width: 100%;
    margin: auto;
    color: #595757;
    font-family: DENSOTP2017-Light, 'Helvetica', 'Arial', sans-serif;
    font-size: 2.1rem;
    line-height: 1;
    position: relative;
    animation: fadeIn 4s ease 0s 1 normal;
    -webkit-animation: fadeIn 4s ease 0s 1 normal
}
@media (max-width: 959px) {
    body {
        font-size: 2.4rem;
        font-feature-settings: "palt";
        letter-spacing: .05em
    }
}
a {
    text-decoration: none;
    cursor: pointer;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    animation: fadeIn 2s ease 0s 1 normal
}
a:hover {
    color: #dc0032;
    transition: .3s ease-in-out
}
@keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
.pc {
    display: block !important
}
@media (max-width: 959px) {
    .pc {
        display: none !important
    }
}
.sp {
    display: none !important
}
@media (max-width: 959px) {
    .sp {
        display: block !important
    }
}
@media (max-width: 959px) {
    .title {
        margin-bottom: 10vw
    }
}
.title div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 12.9166666667vw;
    color: #000000;
    font-family: DENSOTP2017-Bold;
    font-size: 4.9rem;
    line-height: 1.3;
    position: relative;
    padding-left: 7.5vw
}
@media (max-width: 959px) {
    .title div {
        justify-content: center;
        height: 27.4666666667vw;
        font-size: 4rem;
        padding-left: 15.3333333333vw
    }
}
.title div::before {
    content: '';
    background: url(../image/common/bg_title.png) no-repeat top left;
    background-size: contain;
    width: 5.2604166667vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}
@media (max-width: 959px) {
    .title div::before {
        width: 10.8vw
    }
}
.title div span {
    color: #dc0032;
    font-family: DENSOTP2017-Regular;
    font-size: 2.8rem;
    margin-bottom: 1.1458333333vw
}
@media (max-width: 959px) {
    .title div span {
        font-size: 2.7rem;
        margin-bottom: 1.3333333333vw
    }
}
.title div p {
    font-family: DENSOTP2017-Light;
    font-size: 1.6rem;
    margin-top: 2.6041666667vw
}
.title div p.text {
    font-size: 2rem;
    margin-top: 1vw;
    line-height: 1.6
}
.container {
    width: 55.2083333333vw;
    margin: 0 auto
}
@media (max-width: 959px) {
    .container {
        width: 100%;
        padding: 0 3.3333333333vw
    }
}
.contents {
    padding-left: 7.5vw
}
@media (max-width: 959px) {
    .contents {
        padding: 0;
        margin: 0 3.3333333333vw
    }
}
.inner_contents {
    padding: 0 9.8958333333vw 0 10.4166666667vw
}
@media (max-width: 959px) {
    .inner_contents {
        padding: 0 2.6666666667vw 0 2.6666666667vw
    }
}
.col2_block {
    display: flex;
    flex-wrap: wrap
}
.txt_area {
    line-height: 2
}
.area_center {
    display: flex
}
.area_center ul li span {
    color: #dc0032;
    font-weight: bold
}
.link_box {
    background-color: inherit;
    text-align: center;
    color: #ffffff;
    padding: 0
}
.link_box a {
    background-color: #dc0032;
    display: block;
    padding: 1.6em;
    position: relative;
    font-size: 2.9rem;
    font-family: DENSOTP2017-Bold;
    letter-spacing: .2em
}
@media (max-width: 959px) {
    .link_box a {
        padding: 5.3333333333vw;
        font-size: 2.5rem
    }
}
.link_box a::after {
    content: '';
    background: url(../image/common/icon_arr01.png) no-repeat;
    background-size: contain;
    width: 11px;
    height: 15px;
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -7px
}
.link_box a:hover {
    color: white;
    opacity: .7
}
.top__ie {
    display: none
}
@media all and (-ms-high-contrast: none) {
    .top__ie {
        display: block
    }
}
.top_wrapper {
    width: 100%;
    font-family: DENSOTP2017-Bold;
    color: #fff;
    position: relative;
    overflow: hidden
}
@media (max-width: 959px) {
    .top_wrapper {
        margin-bottom: 0
    }
}
.top_wrapper__video-wrap {
    width: 100%;
    height: 100vh
}
.top_wrapper__video {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%
}
.top_wrapper__logo {
    width: 8.3333333333vw;
    position: absolute;
    top: 2.8125vw;
    left: 2.8125vw;
    z-index: 100
}
@media (max-width: 959px) {
    .top_wrapper__logo {
        display: none
    }
}
.top_wrapper__logo svg {
    width: 100%;
    fill: #fff
}
.top_wrapper__catch-wrap {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100vh;
    background-color: white;
    animation-name: bg;
    animation-duration: 4s;
    animation-timing-function: linear;
    animation-direction: normal;
    animation-fill-mode: forwards;
    animation-play-state: running;
    z-index: 9
}
@keyframes bg {
    0% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}
.top_wrapper__catch {
    width: 100%;
    font-family: DENSOTP2017-Bold;
    text-align: center;
    position: absolute;
    top: 45%;
    left: 0;
    margin-bottom: 9.375vw;
    font-size: 4.1666666667vw;
    color: #c62b42;
    animation-name: animationZoom;
    animation-duration: 4s;
    animation-timing-function: linear;
    animation-direction: normal;
    animation-fill-mode: forwards;
    animation-play-state: running;
    z-index: 10
}
@media (max-width: 959px) {
    .top_wrapper__catch {
        text-align: left;
        margin-left: 17%;
        font-size: 8.2666666667vw;
        line-height: 1.5em
    }
}
@keyframes animationZoom {
    0% {
        opacity: 0
    }
    50% {
        opacity: .7
    }
    90% {
        opacity: 1
    }
    100% {
        opacity: 0;
        transform: scale(1.1, 1.1)
    }
}
.top_wrapper .animation-move {
    transform: skew(72rad);
    animation-duration: 1.8s;
    animation-timing-function: cubic-bezier(0.85, 0, 0.15, 1);
    animation-delay: 3s;
    animation-direction: normal;
    animation-fill-mode: backwards;
    animation-play-state: running
}
@media (max-width: 959px) {
    .top_wrapper .animation-move {
        transform: skew(-10deg, -10deg)
    }
}
.top_wrapper .diamond-left {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: #dc0032;
    position: absolute;
    top: 0;
    left: -115vw;
    animation-name: move-left;
    z-index: 12
}
@media (max-width: 959px) {
    .top_wrapper .diamond-left {
        height: 200vh;
        top: -50%
    }
}
@keyframes move-left {
    0% {
        left: -115vw
    }
    100% {
        left: 115vw
    }
}
.top_wrapper .diamond-right {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: #dc0032;
    opacity: .7;
    position: absolute;
    top: 0;
    right: -115vw;
    animation-name: move-right;
    z-index: 11
}
@media (max-width: 959px) {
    .top_wrapper .diamond-right {
        height: 200vh;
        top: -50%
    }
}
@keyframes move-right {
    0% {
        right: -115vw
    }
    100% {
        right: 115vw
    }
}
.top_wrapper__title {
    opacity: 0;
    width: 100%;
    font-family: DENSOTP2017-Bold;
    text-align: center;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    margin-bottom: 9.375vw;
    animation-name: appeare;
    animation-duration: .5s;
    animation-timing-function: linear;
    animation-delay: 4.2s;
    animation-direction: normal;
    animation-fill-mode: forwards;
    animation-play-state: running
}
@media (max-width: 959px) {
    .top_wrapper__title {
        top: 40%;
        width: 80%;
        text-align: left
    }
}
.top_wrapper__title-large {
    font-size: 7.8125vw;
    margin-bottom: 1.0416666667vw
}
@media (max-width: 959px) {
    .top_wrapper__title-large {
        font-size: 12.4vw;
        margin-bottom: 3.125vw;
        line-height: 1.2em
    }
}
.top_wrapper__title-large sup {
    font-size: 4.2708333333vw;
    vertical-align: top;
    position: relative;
    top: .5em
}
@media (max-width: 959px) {
    .top_wrapper__title-large sup {
        top: .1em;
        font-size: 6.6666666667vw
    }
}
.top_wrapper__title-small {
    font-size: 5.1041666667vw
}
@media (max-width: 959px) {
    .top_wrapper__title-small {
        font-size: 7.6vw
    }
}
@keyframes appeare {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
.top_wrapper__late {
    opacity: 0;
    position: absolute;
    left: 50%;
    bottom: 1.5625vw;
    transform: translate(-50%);
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
    animation-name: appeare2;
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-delay: 5.5s;
    animation-direction: normal;
    animation-fill-mode: forwards;
    animation-play-state: running;
    z-index: 100
}
@media (max-width: 959px) {
    .top_wrapper__late {
        transform: translate(-50%);
        -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
        top: 70%;
        left: 50%;
        bottom: 0
    }
}
.top_wrapper__late-text {
    width: 100%;
    font-size: 2.1875vw;
    text-align: center;
    font-family: DENSOTP2017-Bold
}
@media (max-width: 959px) {
    .top_wrapper__late-text {
        font-size: 4.2666666667vw
    }
}
.top_wrapper__late-button {
    width: 100%;
    margin-top: 4.1666666667vw;
    text-align: center
}
@media (max-width: 959px) {
    .top_wrapper__late-button {
        margin-top: 16vw
    }
}
.top_wrapper__late-button img {
    width: 4.2708333333vw
}
@media (max-width: 959px) {
    .top_wrapper__late-button img {
        width: 10.8vw
    }
}
.top_wrapper__late-button a {
    display: block;
    animation: jump ease-out 1s infinite alternate
}
@media (max-width: 959px) {
    .top_wrapper__late-button a {
        animation: jumpSp ease-out 1s infinite alternate
    }
}
@keyframes appeare2 {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
@keyframes jump {
    0% {
        transform: translateY(0)
    }
    100% {
        transform: translateY(-2.0833333333vw)
    }
}
@keyframes jumpSp {
    0% {
        transform: translateY(0)
    }
    100% {
        transform: translateY(-10vw)
    }
}
@media all and (-ms-high-contrast: none) {
    .top_wrapper__video-wrap {
        display: none
    }
    .top_wrapper__late {
        display: none
    }
}
header {
    position: sticky;
    top: 0;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 1
}
@media (max-width: 959px) {
    header {
        display: none
    }
}
.nav_wrapper {
    position: relative;
    padding: 1.3020833333vw 0;
    margin: 0 auto 4.1666666667vw
}
.nav_wrapper__logo {
    width: 7.2916666667vw;
    position: absolute;
    top: 1.3020833333vw;
    left: 1.3020833333vw;
    height: 100%
}
.nav_wrapper__logo svg {
    width: 100%;
    fill: #dc0032
}
.nav_wrapper ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 59.2708333333vw;
    margin-left: auto
}
.nav_wrapper li {
    width: 20%;
    max-width: 100%;
    font-size: 1.09375vw;
    font-family: DENSOTP2017-Regular;
    text-align: center;
    position: relative
}
.nav_wrapper li::before {
    content: '';
    background: url(../image/common/bg_title.png) no-repeat top left;
    background-size: contain;
    width: .5729166667vw;
    height: 2.0833333333vw;
    position: absolute;
    top: -.0520833333vw;
    left: 0
}

.nav_wrapper li:last-of-type {
  background-image: url("../image/common/c_back.png");
    background-repeat: no-repeat;
    background-size: cover;
}

.nav_wrapper li:last-of-type a {
  display: block;
  padding: .4em 0 .5em;
    color: #fff;
}
.nav_wrapper li:last-of-type a:hover {
  color: white;
  opacity: .7
}
.nav_wrapper li:last-of-type::before {
  content: '';
  background: none;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0
}
@media all and (-ms-high-contrast: none) {
    .nav_wrapper__logo {
        top: .5208333333vw
    }
}
.sp-nav {
    display: none
}
@media (max-width: 959px) {
    .sp-nav {
        display: block;
        position: fixed;
        z-index: 102;
        width: 100%;
        height: 13.3333333333vw
    }
}
.sp-nav__logo {
    width: 21.3333333333vw;
    position: absolute;
    top: 2.8125vw;
    left: 2.8125vw;
    z-index: 101
}
.sp-nav__logo svg {
    width: 100%;
    fill: white
}
.sp-nav .hamburger {
    display: block;
    position: fixed;
    top: 1.3333333333vw;
    right: 5.3333333333vw;
    width: 6.6666666667vw;
    cursor: pointer;
    z-index: 101
}
.sp-nav .hamburger span {
    display: block;
    position: absolute;
    left: .8vw;
    width: 6.6666666667vw;
    border-bottom: solid .8vw #fff;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out
}
.sp-nav .hamburger span:nth-child(1) {
    top: 2vw
}
.sp-nav .hamburger span:nth-child(2) {
    top: 4.1333333333vw
}
.sp-nav .hamburger span:nth-child(3) {
    top: 6.2666666667vw
}
.sp-nav .hamburger.active span:nth-child(1) {
    top: 4vw;
    left: .8vw;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg)
}
.sp-nav .hamburger.active span:nth-child(2), .sp-nav .hamburger.active span:nth-child(3) {
    top: 4vw;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg)
}
.sp-nav .hamburger-menu {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    font-weight: bold;
    color: white;
    transform: translateX(100%);
    transition: all .3s;
    width: 100%;
    height: 100vh;
    background-color: #dc0032
}
.sp-nav .hamburger-menu .oblique {
    display: table;
    width: 100%;
    height: 5px;
    background-color: white;
    transform: skewY(-72deg);
    margin-top: 1vw
}
.sp-nav .hamburger-menu ul {
    width: 100%;
    margin: 34.6666666667vw auto 0;
    padding-left: 46.6666666667vw;
    position: relative
}
.sp-nav .hamburger-menu li {
    margin-bottom: 13.3333333333vw
}
.sp-nav .hamburger-menu li a {
    font-size: 3.8rem;
    display: block;
    cursor: pointer;
    color: white;
    position: relative
}
.sp-nav .hamburger-menu li:first-of-type {
    margin-left: -1.3333333333vw
}
.sp-nav .hamburger-menu li:nth-of-type(2) {
    margin-left: -8vw
}
.sp-nav .hamburger-menu li:nth-of-type(3) {
    margin-left: -13.3333333333vw
}
.sp-nav .hamburger-menu li:nth-of-type(4) {
    margin-left: -18.6666666667vw
}
.sp-nav .hamburger-menu li:last-of-type {
    width: 80%;
    margin-left: -25.3333333333vw;
    background-color: #fff;
    color: #dc0032;
    letter-spacing: 0.2em;
    -webkit-transform: skewX(-20deg);
    -moz-transform: skewX(-20deg);
    transform: skewX(-20deg)
}
.sp-nav .hamburger-menu li:last-of-type a {
    font-size: 3rem;
    padding: 10px;
    color: #dc0032;
    text-align: center;
    position: relative;
    font-family: DENSOTP2017-Bold;
    transform: skewX(20deg)
}
.sp-nav .hamburger-menu.active {
    transform: translateX(0%)
}
.message {
    margin-bottom: 7.2916666667vw
}
@media (max-width: 959px) {
    .message {
        padding-top: 20vw;
        margin-bottom: 16vw
    }
}
.message__col2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 8.75vw
}
@media (max-width: 959px) {
    .message__col2 {
        margin-bottom: 10.6666666667vw
    }
}
.message__text-area {
    width: 66%;
    line-height: 2
}
@media (max-width: 959px) {
    .message__text-area {
        width: 100%;
        margin-bottom: 11.2vw
    }
}
.message__text-area p + p {
    margin-top: 1.5em
}
.message__text-area sup {
    vertical-align: middle
}
.message__text-area-small {
    font-size: 1.5rem
}
@media (max-width: 959px) {
    .message__text-area-small {
        font-size: 2rem
    }
}
.message__photo_box {
    width: 35%;
    margin-bottom: 3.125vw
}
@media (max-width: 959px) {
    .message__photo_box {
        width: 100%;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding-right: 0;
        margin-bottom: 0
    }
}
.message__photo_box-img {
    text-align: right;
    margin-bottom: 1.0416666667vw
}
.message__photo_box-img img {
    width: 12.7083333333vw
}
@media (max-width: 959px) {
    .message__photo_box-img img {
        width: 40.8vw
    }
}
@media (max-width: 959px) {
    .message__photo_box-img {
        width: 40.8vw;
        margin-bottom: 0;
        margin-right: -6.6666666667vw
    }
}
.message__photo_box-name {
    font-size: 2.4rem;
    text-align: right;
    margin-bottom: .5208333333vw
}
@media (max-width: 959px) {
    .message__photo_box-name {
        font-size: 2.8rem;
        padding-left: 0;
        margin-bottom: 0
    }
}
.message__photo_box-name-small {
    font-family: DENSOTP2017-Light;
    font-size: 1.6rem;
    margin-bottom: .5208333333vw
}
@media (max-width: 959px) {
    .message__photo_box-name-small {
        font-size: 2rem;
        margin-bottom: 2vw
    }
}
.message__introduction {
    background: url(../image/message/bg_introduction.png) no-repeat top left;
    background-size: contain;
    width: 100%;
    padding: 2.8645833333vw 0 2.8645833333vw 14.0625vw;
    margin-left: -6.6666666667vw
}
@media (max-width: 959px) {
    .message__introduction {
        background-size: 75.2vw 72vw;
        width: auto;
        height: auto;
        padding: 4vw 0 4vw;
        margin-left: -3.3333333333vw;
        margin-right: -3.3333333333vw
    }
}
.message__introduction h3 {
    font-size: 2.4rem;
    font-weight: normal;
    margin-bottom: 1.5625vw
}
@media (max-width: 959px) {
    .message__introduction h3 {
        font-size: 2.4rem;
        padding-left: 2.6666666667vw
    }
}
.message__introduction h3 span {
    color: #dc0032;
    margin-right: 3.125vw
}
@media (max-width: 959px) {
    .message__introduction__video {
        width: 100%;
        height: 100%
    }
}
.message__introduction__video a:hover {
    opacity: .7;
    transition: .2s ease-in-out
}
.message__introduction__video-wrap {
    position: relative;
    width: 48.4375vw
}
@media (max-width: 959px) {
    .message__introduction__video-wrap {
        width: 90%;
        margin: 0 auto
    }
}
.message__introduction__video-wrap .introduction-svg {
    width: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%)
}
.message__introduction__video-wrap .introduction-svg path.ytp-large-play-button-bg {
    fill: #454545
}
.message__introduction__video-wrap a:hover path.ytp-large-play-button-bg {
    fill: #fc0d1c
}
.message__introduction__video p {
    font-size: 1.4rem;
    text-align: right;
    margin-top: 1.0416666667vw
}
.manufacture {
    line-height: 2;
    margin-bottom: 10.15625vw
}
@media (max-width: 959px) {
    .manufacture {
        margin-bottom: 0
    }
}
.manufacture__text {
    margin-bottom: 3.90625vw
}
@media (max-width: 959px) {
    .manufacture__text {
        margin-bottom: 10vw;
        font-feature-settings: "palt";
        letter-spacing: .04em
    }
}
.manufacture__image {
    margin: 0 -11.875vw 3.6458333333vw 0
}
@media (max-width: 959px) {
    .manufacture__image {
        margin: 0 -3.3333333333vw 6.6666666667vw -3.3333333333vw
    }
}
.manufacture__image img {
    width: 100%
}
.manufacture__inner-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 1.9791666667vw;
    font-family: DENSOTP2017-Bold;
    font-size: 2.2rem;
    position: relative;
    padding-left: 2.0833333333vw;
    margin: 0 0 1.0416666667vw -1.5625vw
}
@media (max-width: 959px) {
    .manufacture__inner-title {
        height: 5.3333333333vw;
        font-size: 2.4rem;
        padding-left: 4vw;
        margin: 0 0 4vw -3.3333333333vw
    }
}
.manufacture__inner-title::before {
    content: '';
    background: url(../image/common/diagonal-line-small.png) no-repeat top left;
    background-size: contain;
    width: 1.25vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}
@media (max-width: 959px) {
    .manufacture__inner-title::before {
        width: 2.6666666667vw
    }
}
.manufacture__inner ul {
    font-feature-settings: "palt"
}
.manufacture__inner ul li {
    letter-spacing: 1px
}
@media (max-width: 959px) {
    .manufacture__inner ul li {
        letter-spacing: .05em
    }
}
.manufacture__inner ul li span {
    color: #dc0032;
    font-weight: bold
}
.concepts {
    line-height: 2;
    margin-bottom: 7.1875vw
}
@media (max-width: 959px) {
    .concepts {
        padding-top: 21.3333333333vw;
        margin-bottom: 24vw
    }
}
.concepts .sup {
    font-size: 5rem;
    color: #000000
}
.concepts__text {
    font-feature-settings: "palt";
    letter-spacing: 1px;
    margin-bottom: 4.9479166667vw
}
@media (max-width: 959px) {
    .concepts__text {
        margin-bottom: 12vw
    }
}
.concepts__table {
    margin-bottom: 4.1666666667vw
}
@media (max-width: 959px) {
    .concepts__table {
        margin-bottom: 8.6666666667vw;
        padding-right: 0
    }
}
.concepts__table dl {
    border-top: 1px solid #e6e5de;
    display: flex;
    align-items: center;
    padding: .625vw 0
}
@media (max-width: 959px) {
    .concepts__table dl {
        margin-top: 0;
        margin-bottom: 0;
        padding: 2.6666666667vw 0;
        flex-direction: column;
        align-items: normal
    }
}
.concepts__table dl:last-child {
    border-bottom: 1px solid #e6e5de
}
.concepts__table dt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 18.2291666667vw;
    line-height: 1.8;
    padding-left: .2604166667vw
}
@media (max-width: 959px) {
    .concepts__table dt {
        width: 100%;
        font-size: 3.2rem;
        padding-left: 0
    }
}
.concepts__table dt span {
    font-family: DENSOTP2017-Regular;
    color: #dc0032;
    font-size: 2.6rem;
}
@media (max-width: 959px) {
    .concepts__table dt span {
        font-size: 3.8rem;
    }
}
.concepts__table dd {
    border-left: 1px solid #e6e5de;
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    font-feature-settings: "palt";
    letter-spacing: .05em;
    padding: 1.3020833333vw 0 1.3020833333vw 1.5625vw
}
@media (max-width: 959px) {
    .concepts__table dd {
        width: 100%;
        border-left: none;
        font-size: 2.2rem;
        padding: 1.875vw 0
    }
}
.concepts__step p {
    color: #dc0032;
    margin-bottom: 2.96875vw
}
@media (max-width: 959px) {
    .concepts__step p {
        margin-bottom: 4.6666666667vw
    }
}
.concepts__step__image {
    margin-left: -5.9375vw
}
@media (max-width: 959px) {
    .concepts__step__image {
        margin-left: -6.6666666667vw;
        margin-right: -3.3333333333vw;
        padding: 0 2.6666666667vw
    }
}
.concepts__step__image img {
    width: 100%
}
.features__ie {
    display: none
}
@media all and (-ms-high-contrast: none) {
    .features__ie {
        width: 55.2083333333vw;
        margin: 6.25vw auto 4.9479166667vw;
        display: block
    }
}
@media all and (-ms-high-contrast: none) and (max-width: 959px) {
    .features__ie {
        width: 100%;
        padding: 0 3.3333333333vw
    }
}
@media all and (-ms-high-contrast: none) {
    .features__ie a {
        display: block;
        margin: 1.9791666667vw 0 5.9375vw
    }
    .features__ie a :hover {
        opacity: .7;
        transition: .3s ease-in-out
    }
}
.features {
    line-height: 2;
    margin-bottom: 7.0833333333vw
}
@media (max-width: 959px) {
    .features {
        margin-bottom: 0
    }
}
.features__list {
    width: 64.0625vw;
    margin: 6.25vw auto 4.9479166667vw;
    display: grid;
    grid-template-columns: repeat(3, 19.4791666667vw);
    column-gap: 2.5vw
}
@media (max-width: 959px) {
    .features__list {
        width: 100%;
        margin: 11.3333333333vw auto 8.6666666667vw;
        grid-template-columns: initial
    }
}
@media (max-width: 959px) {
    .features__list__column__sp {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 2vw;
        margin-bottom: 9.3333333333vw
    }
}
.features__list__column-icon {
    color: #e5002d;
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 2.0833333333vw
}
@media (max-width: 959px) {
    .features__list__column-icon {
        font-size: 2.6rem;
        margin-bottom: 2.6666666667vw
    }
}
.features__list__column-icon img {
    height: 2.5520833333vw;
    margin-bottom: .5208333333vw
}
@media (max-width: 959px) {
    .features__list__column-icon img {
        height: 8vw;
        margin-bottom: .5em
    }
}
.features__list__column-block {
    position: relative;
    overflow: hidden;
    color: #231815;
    font-family: DENSOTP2017-Regular;
    height: 18.0729166667vw;
    margin-bottom: .5208333333vw;
    background-color: #F4F6F7;
    cursor: pointer
}
@media (max-width: 959px) {
    .features__list__column-block {
        height: 48vw
    }
}
.features__list__column-block-img {
    overflow: hidden
}
.features__list__column-block img, .features__list__column-block iframe {
    transition-duration: 0.3s
}
.features__list__column-block:hover img, .features__list__column-block:hover iframe {
    transform: scale(1.2);
    transition-duration: 0.3s
}
.features__list__column-block-slide-up {
    width: 100%;
    height: 36.4583333333vw;
    background-color: #F4F6F7
}
@media (max-width: 959px) {
    .features__list__column-block-slide-up {
        height: 49.0666666667vw;
        top: 33.3333333333vw
    }
}
.features__list__column-block-slide-up-title {
    text-align: center;
    display: block;
    font-size: 2.6rem;
    padding: 1.0416666667vw 0 0;
    line-height: 1
}
@media (max-width: 959px) {
    .features__list__column-block-slide-up-title {
        padding: 4vw 0 0;
        font-size: 2.6rem
    }
}
.features__list__column-block-slide-up-more {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    color: #dc0032;
    font-size: 1.5rem;
    margin-top: .78125vw;
    font-family: DENSOTP2017-Light;
    line-height: 1.4
}
@media (max-width: 959px) {
    .features__list__column-block-slide-up-more {
        margin-top: 2.6666666667vw;
        font-size: 2.2rem
    }
}
.features__list__column-block-slide-up-more span {
    padding-right: .2604166667vw;
    font-size: 2rem
}
@media (max-width: 959px) {
    .features__list__column-block-slide-up-more span {
        padding-right: .2604166667vw;
        font-size: 2.4rem
    }
}
.features__list__column-block-slide-up-content {
    position: absolute;
    height: 18.0729166667vw;
    font-size: 1.7rem;
    display: none;
    justify-content: center;
    align-items: center;
    padding: 1.3020833333vw;
    background-color: #F4F6F7;
    cursor: pointer;
    z-index: 100;
    font-family: DENSOTP2017-Light
}
@media (max-width: 959px) {
    .features__list__column-block-slide-up-content {
        height: 49.0666666667vw;
        font-size: 2.2rem;
        padding: 4vw;
        letter-spacing: initial
    }
}
.features__list__column-block-slide-up-content p {
    text-align: center;
    font-size: 2.6rem;
    margin-bottom: 1.5625vw;
    font-family: DENSOTP2017-Regular
}
@media (max-width: 959px) {
    .features__list__column-block-slide-up-content p {
        font-size: 2.6rem;
        letter-spacing: initial;
        margin-bottom: 1.3333333333vw
    }
}
@media (max-width: 959px) {
    .features__list__column-block-slide-up-content .fs-middle {
        font-size: 2.4rem
    }
}
.features__list__column-block-slide-up-content span {
    font-family: DENSOTP2017-Bold
}
.features__list__column-block-slide-up-video {
    position: relative;
    padding-bottom: 61.1%;
    height: 0;
    overflow: hidden;
    background-color: #595757
}
.features__list__column-block-slide-up-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}
.features__list__column-block-slide-up-video .features-svg {
    width: 80px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%)
}
.features__list__column-block-slide-up-video .features-svg path.ytp-large-play-button-bg {
    fill: #454545
}
.features__list__column-block-slide-up-video a:hover path.ytp-large-play-button-bg {
    fill: #fc0d1c
}
@media (max-width: 959px) {
    .features__service {
        margin-top: 0;
        margin-bottom: 8.6666666667vw
    }
}
.features__service-icon {
    width: 100%;
    text-align: center
}
.features__service-icon img {
    width: 7.1875vw
}
@media (max-width: 959px) {
    .features__service-icon img {
        width: 19.3333333333vw
    }
}
.features__service-icon p {
    font-size: 2.8rem;
    color: #dc0032;
    margin-top: .78125vw;
    margin-bottom: 5vw
}
@media (max-width: 959px) {
    .features__service-icon p {
        font-size: 2.4rem;
        margin-top: 2.6666666667vw;
        margin-bottom: 6vw
    }
}
@media (max-width: 959px) {
    .features__service .inner_contents {
        padding: 0 0 0 0
    }
}
.features__service__banner dl {
    color: #595757;
    background-color: #f4f6f7;
    display: grid;
    grid-template-columns: 19.4791666667vw auto;
    align-items: center
}
@media (max-width: 959px) {
    .features__service__banner dl {
        grid-template-columns: 38vw auto;
        margin: 0 -3.3333333333vw
    }
}
@media (max-width: 959px) {
    .features__service__banner dl dt {
        width: 100%
    }
}
.features__service__banner dl dt img {
    width: 100%;
    height: 11.9791666667vw
}
@media (max-width: 959px) {
    .features__service__banner dl dt img {
        height: auto
    }
}
.features__service__banner dl dd {
    font-size: 1.8rem;
    line-height: 2;
    padding-left: 3.6458333333vw
}
@media (max-width: 959px) {
    .features__service__banner dl dd {
        width: 100%;
        font-size: 2rem;
        line-height: 1.5;
        padding: 0 2.6666666667vw 0 4vw
    }
}
.features__service__banner dl dd p + p {
    margin-top: 1em
}
@media (max-width: 959px) {
    .features__service__banner dl dd p + p {
        margin-top: .2em
    }
}
.features__service__banner span {
    font-family: DENSOTP2017-Bold
}
.features__service__banner-title {
    font-size: 2.8rem !important;
    font-weight: bold;
    color: #231815
}
@media (max-width: 959px) {
    .features__service__banner-title {
        font-size: 2.4rem;
        margin-bottom: 2.6666666667vw
    }
}
.features__service__banner-small {
    font-size: 1.5rem
}
@media (max-width: 959px) {
    .features__service__banner-small {
        font-size: 1.8rem
    }
}
@media all and (-ms-high-contrast: none) {
    .features__list {
        display: none
    }
    .features__service {
        display: none
    }
}
.curriculum__table__ie {
    display: none
}
.curriculum__ie {
    display: none
}
.curriculum {
    margin-bottom: 9.375vw
}
@media (max-width: 959px) {
    .curriculum {
        padding-top: 24vw;
        margin-bottom: 0
    }
}
.curriculum__notes {
    font-size: 1.6rem;
    line-height: 1.7;
    margin: 2.6041666667vw 0 1.5625vw
}
@media (max-width: 959px) {
    .curriculum .inner_contents {
        padding: 0 0 0 0
    }
}
.curriculum__table {
    margin-bottom: 0.5vw;
    font-family: DENSOTP2017-Light
}
@media (max-width: 959px) {
    .curriculum__table {
        margin: 0 -3.3333333333vw
    }
}
.curriculum__table__block {
    background-color: #f4f6f7;
    font-size: 1.9rem
}
@media (max-width: 959px) {
    .curriculum__table__block-grid {
        width: 100%;
        display: grid;
        grid-template-columns: 13.3333333333vw auto;
        align-items: center
    }
    .curriculum__table__block-grid div:first-child {
        text-align: center
    }
    .curriculum__table__block-grid div:last-child {
        border-left: .6666666667vw solid #fff
    }
}
.curriculum__table__block p {
    padding-left: 1.0416666667vw;
    line-height: 2.8
}
.curriculum__table__block p + p {
    border-top: .2604166667vw solid #fff
}
.curriculum__table-small {
    font-size: 1.8rem;
    line-height: 1.4
}
@media (max-width: 959px) {
    .curriculum__table-small {
        font-size: 1.4rem
    }
}
.curriculum__table strong {
    font-family: DENSOTP2017-Bold
}
.curriculum__table .w-small {
    width: 5.2083333333vw
}
@media (max-width: 959px) {
    .curriculum__table .w-small {
        width: 13.3333333333vw
    }
}
.curriculum__table .w-large {
    width: 10.4166666667vw;
    padding: .5208333333vw;
    background-color: #dae1e5;
    font-weight: inherit;
    border-right: .2666666667vw solid #fff;
    text-align: center
}
@media (max-width: 959px) {
    .curriculum__table .w-large {
        width: 100%
    }
}
.curriculum__table span {
    color: #dc0032
}
.curriculum__table table {
    width: 100%;
    margin-bottom: .5208333333vw
}
@media (max-width: 959px) {
    .curriculum__table table {
        margin-bottom: 2vw
    }
}
.curriculum__table tr + tr {
    border-top: .3645833333vw solid #fff
}
@media (max-width: 959px) {
    .curriculum__table tr + tr {
        border-top: .2666666667vw solid #fff
    }
}
.curriculum__table th {
    background-color: #dae1e5;
    font-weight: inherit;
    border-right: .2666666667vw solid #fff
}
.curriculum__table th .spacing {
    letter-spacing: 0.1em
}
@media (max-width: 959px) {
    .curriculum__table th .spacing {
        font-size: 2.2rem
    }
}
@media (max-width: 959px) {
    .curriculum__table th {
        border-right: 1.3333333333vw solid #fff
    }
}
.curriculum__table td {
    border-left: .15625vw solid #fff
}
@media (max-width: 959px) {
    .curriculum__table td {
        display: block;
        border-left: none
    }
}
.curriculum__table-middle {
    font-size: 2.5rem;
    line-height: 1.2;
    margin: .5em 0
}
@media (max-width: 959px) {
    .curriculum__table-middle {
        font-size: 3.3rem;
        line-height: .4
    }
}
.curriculum__table-day {
    background-color: #e7ebee;
    width: 5.1041666667vw;
    font-size: 1.9rem;
    text-align: center;
    font-family: DENSOTP2017-Regular
}
@media (max-width: 959px) {
    .curriculum__table-day {
        display: none !important
    }
}
.curriculum__pdf {
    margin-bottom: 11.9791666667vw
}
@media (max-width: 959px) {
    .curriculum__pdf {
        margin: 12vw -3.3333333333vw 10.6666666667vw;
        padding: 0 2.6666666667vw
    }
}
.curriculum__slide {
    width: 56.25vw;
    margin: 0 auto
}
@media (max-width: 959px) {
    .curriculum__slide {
        width: 100%;
        padding: 0 0 0 0
    }
}
.curriculum__slide__title {
    font-family: DENSOTP2017-Bold;
    font-size: 2.9rem;
    text-align: center;
    letter-spacing: .1em;
    margin-bottom: 2.6041666667vw
}
@media (max-width: 959px) {
    .curriculum__slide__title {
        font-size: 2.8rem;
        margin-bottom: 10.6666666667vw
    }
}
.curriculum__slide__slider p {
    font-size: 1.6rem;
    line-height: 1.7;
    text-align: center;
    margin-top: .5208333333vw
}
@media (max-width: 959px) {
    .curriculum__slide__slider p {
        display: none
    }
}
@media (max-width: 959px) {
    .curriculum__slide .slick-current img {
        margin-bottom: 3.3333333333vw
    }
}
@media (max-width: 959px) {
    .curriculum__slide .slick-current p {
        display: inline;
        font-size: 2.2rem;
        text-align: center
    }
}
.curriculum__slide .slide-arrow {
    width: 2.1875vw;
    position: absolute;
    top: 5vw;
    cursor: pointer;
    z-index: 1
}
@media (max-width: 959px) {
    .curriculum__slide .slide-arrow {
        width: 10.4vw;
        top: 11.3333333333vw
    }
}
.curriculum__slide .prev-arrow {
    left: -3.125vw
}
@media (max-width: 959px) {
    .curriculum__slide .prev-arrow {
        left: 6vw
    }
}
.curriculum__slide .next-arrow {
    right: -3.125vw
}
@media (max-width: 959px) {
    .curriculum__slide .next-arrow {
        right: 6vw
    }
}
.curriculum__slide .slick-slide {
    padding: 0 .5208333333vw
}
@media (max-width: 959px) {
    .curriculum__slide .slick-slide {
        padding: 0 1.6vw
    }
}
@media all and (-ms-high-contrast: none) {
    .curriculum__table__ie {
        display: block;
        margin: 3.90625vw 0 6.7708333333vw
    }
    .curriculum__ie {
        display: block
    }
    .curriculum__slide__slider {
        display: none
    }
    .curriculum__table {
        display: none
    }
}
.information__ie {
    display: none
}
@media (max-width: 959px) {
    .information {
        padding-top: 18.6666666667vw
    }
}
.information h3 {
    font-family: DENSOTP2017-Bold;
    font-size: 2.6rem;
    margin-bottom: 2.34375vw
}
@media (max-width: 959px) {
    .information h3 {
        font-size: 3.2rem;
        margin-bottom: 5.3333333333vw
    }
}
.information h3 span {
    font-family: DENSOTP2017-Light;
    font-weight: nomal;
    font-size: 1.8rem;
}
.information__schedule {
    margin-top: 5.9895833333vw
}
@media (max-width: 959px) {
    .information__schedule {
        margin-top: 9.3333333333vw
    }
}
.information__schedule .txt_small {
    line-height: 1.5em;
    margin-top: 1em
}
.information__schedule .grid_area {
    display: grid;
    grid-template-columns: 12.8645833333vw auto auto;
    grid-row-gap: .6770833333vw;
    grid-column-gap: .15625vw;
    font-size: 1.8rem
}
@media (max-width: 959px) {
    .information__schedule .grid_area {
        grid-template-columns: 17.3333333333vw 1fr 1fr;
        grid-row-gap: 1.3333333333vw;
        grid-column-gap: .4vw
    }
}
.information__schedule .grid_area div {
    background-color: #f4f6f7;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 1px
}
@media (max-width: 959px) {
    .information__schedule .grid_area div {
        display: flex;
        font-size: 2.5rem;
        line-height: 1.4
    }
}
.information__schedule .grid_area div[class^="grid01"] {
    background-color: #dae1e5
}
@media (max-width: 959px) {
    .information__schedule .grid_area div[class^="grid01"] {
        font-size: 2.2rem
    }
}
.information__schedule .grid_area .grid01_1, .information__schedule .grid_area .grid01_2, .information__schedule .grid_area .grid01_3 {
    align-items: flex-end;
    padding: .4166666667vw 0 .7291666667vw
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid01_1, .information__schedule .grid_area .grid01_2, .information__schedule .grid_area .grid01_3 {
        padding: .6666666667vw 0 1.3333333333vw;
        font-size: 2.6rem
    }
}
.information__schedule .grid_area .grid02_1, .information__schedule .grid_area .grid03_1 {
    background-color: #dae1e5;
    text-align: center
}
.information__schedule .grid_area .grid02_1 .date-sp, .information__schedule .grid_area .grid03_1 .date-sp {
    display: none
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid02_1 .date-sp, .information__schedule .grid_area .grid03_1 .date-sp {
        display: flex;
        flex-direction: column;
        background-color: #dae1e5
    }
    .information__schedule .grid_area .grid02_1 .date-sp p, .information__schedule .grid_area .grid03_1 .date-sp p {
        font-size: 2rem
    }
}
.information__schedule .grid_area .grid02_1 .num, .information__schedule .grid_area .grid03_1 .num {
    background-color: #dae1e5;
    width: 50%;
    height: 4.4791666667vw
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid02_1 .num, .information__schedule .grid_area .grid03_1 .num {
        display: none
    }
}
.information__schedule .grid_area .grid02_1 .date, .information__schedule .grid_area .grid03_1 .date {
    background-color: #f4f6f7;
    width: 50%;
    height: 4.4791666667vw;
    font-size: 2rem
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid02_1 .date, .information__schedule .grid_area .grid03_1 .date {
        display: none
    }
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid02_2 p, .information__schedule .grid_area .grid02_3 p, .information__schedule .grid_area .grid03_2 p, .information__schedule .grid_area .grid03_3 p {
        padding: 2.6666666667vw 0
    }
}
.information__schedule .grid_area .grid05_1 {
    display: none;
    text-align: center;
    background-color: #dae1e5
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid05_1 {
        display: block
    }
}
.information__schedule .grid_area .grid05_1 .date-sp {
    display: none
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid05_1 .date-sp {
        display: flex;
        flex-direction: column;
        background-color: #dae1e5
    }
    .information__schedule .grid_area .grid05_1 .date-sp p {
        font-size: 2rem;
        padding: 4.6666666667vw 0
    }
}
.information__schedule .grid_area .grid05_1 .num {
    background-color: #dae1e5;
    width: 50%;
    height: 4.4791666667vw
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid05_1 .num {
        display: none
    }
}
.information__schedule .grid_area .grid05_1 .date {
    background-color: #f4f6f7;
    width: 50%;
    height: 4.4791666667vw;
    font-size: 2rem
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid05_1 .date {
        display: none
    }
}
.information__schedule .grid_area .grid05_2 {
    height: 4.4791666667vw;
    grid-column: span 3;
    display: grid;
    grid-template-columns: 12.3rem 1fr;
    text-align: center
}
.information__schedule .grid_area .grid05_2 div {
    background-color: #dae1e5
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid05_2 {
        grid-template-columns: 1fr;
        height: initial;
        grid-column: span 2
    }
}
.information__schedule .grid_area .grid05_2__num {
    background-color: #dae1e5;
    height: 4.4791666667vw
}
@media (max-width: 959px) {
    .information__schedule .grid_area .grid05_2__num {
        display: none
    }
}
.information__schedule strong {
    font-family: DENSOTP2017-Bold;
    font-size: 2.6rem
}
@media (max-width: 959px) {
    .information__schedule strong {
        font-size: 2.8rem
    }
}
.information__schedule strong.large {
    font-size: 2.9rem;
    line-height: .8em
}
@media (max-width: 959px) {
    .information__schedule strong.large {
        font-size: 2.6rem;
        line-height: 1.2em
    }
}
.information__schedule strong.light {
    font-family: DENSOTP2017-Light;
    font-weight: normal;
    line-height: 1.5;
    font-size: 1.7rem
}
@media (max-width: 959px) {
    .information__schedule strong.light {
        font-size: 2rem
    }
}
.information__schedule span {
    display: inline !important;
    font-size: 1.4rem;
    font-weight: normal
}
@media (max-width: 959px) {
    .information__schedule span {
        display: none !important
    }
}
.information__select-date {
    text-align: right;
    font-size: 1.6rem;
    line-height: 2;
    margin: 1.0416666667vw 0 3.90625vw
}
@media (max-width: 959px) {
    .information__select-date {
        font-size: 1.7rem;
        margin: 4vw 0 15.3333333333vw
    }
}
.information__venue {
    margin-bottom: 5.9895833333vw
}
@media (max-width: 959px) {
    .information__venue {
        margin-bottom: 16vw
    }
}
@media (max-width: 959px) {
    .information__venue__map {
        margin: 0 -3.3333333333vw 2.6666666667vw -3.3333333333vw
    }
}
.information__venue__map ul {
    display: flex;
    justify-content: space-between
}
@media (max-width: 959px) {
    .information__venue__map ul {
        flex-direction: column;
        justify-content: initial
    }
}
.information__venue__map li {
    width: 27.34375vw
}
@media (max-width: 959px) {
    .information__venue__map li {
        width: 100%;
        height: 66.6666666667vw;
        border: none
    }
}
@media (max-width: 959px) {
    .information__venue__map li:last-child {
        margin-top: 1.3333333333vw
    }
}
.information__venue__map iframe {
    padding: .0520833333vw
}
.information__venue__map img {
    padding: .5208333333vw
}
.information__venue__info {
    margin-top: 1.8229166667vw
}
@media (max-width: 959px) {
    .information__venue__info {
        margin-top: 0;
        padding: 0 3.3333333333vw
    }
}
.information__venue__info dl {
    display: flex
}
@media (max-width: 959px) {
    .information__venue__info dl {
        display: block
    }
}
.information__venue__info dt {
    font-size: 1.8rem;
    margin-left: 1em
}
@media (max-width: 959px) {
    .information__venue__info dt {
        font-size: 2rem;
        margin-left: 0;
        margin-bottom: 1.5em
    }
}
.information__venue__info dd {
    font-size: 1.6rem;
    letter-spacing: .05em;
    margin-left: 3em
}
@media (max-width: 959px) {
    .information__venue__info dd {
        margin-left: 0;
        font-size: 2rem
    }
}
.information__venue__info dd p + p {
    margin-top: 1em
}
@media (max-width: 959px) {
    .information__venue__info dd p + p {
        margin-top: .5em
    }
}
.information__recruit {
    margin-bottom: 7.5520833333vw
}
@media (max-width: 959px) {
    .information__recruit {
        margin-bottom: 12vw;
        padding: 0 3.3333333333vw
    }
}
.information__recruit h3 {
    margin-bottom: 1.8229166667vw
}
@media (max-width: 959px) {
    .information__recruit h3 {
        margin-bottom: 5.3333333333vw
    }
}
.information__recruit li {
    font-size: 2.1rem;
    font-feature-settings: "palt";
    letter-spacing: 1px;
    line-height: 2.4
}
@media (max-width: 959px) {
    .information__recruit li {
        font-size: 2.4rem
    }
}
.information__entry {
    margin-bottom: 5.9895833333vw
}
@media (max-width: 959px) {
    .information__entry {
        margin-bottom: 12vw
    }
}
.information__entry h3 {
    margin-bottom: 2.6041666667vw
}
@media (max-width: 959px) {
    .information__entry h3 {
        padding-left: 3.3333333333vw
    }
}
.information__entry div {
    font-family: DENSOTP2017-Bold;
    font-size: 3rem;
    width: 100%;
    padding: 0;
}
@media (max-width: 959px) {
    .information__entry div {
        padding: .8em;
        font-size: 4.2rem
    }
}
.information__entry div span {
    font-size: 1.2rem
}
.information__entry div strong {
    font-size: 2rem
}
@media (max-width: 959px) {
    .information__entry div strong {
        font-size: 2.8rem
    }
}
.information__entry p {
    text-align: left;
    margin-top: 1em;
    font-size: 1.6rem;
    line-height: 1.6em
}
@media (max-width: 959px) {
    .information__entry p {
        font-size: 2rem;
        padding-left: 3.3333333333vw
    }
}
@media (max-width: 959px) {
    .information__apply h3 {
        padding-left: 3.3333333333vw
    }
}
.information__apply p {
    line-height: 3rem;
    margin-bottom: 1.0416666667vw
}
@media (max-width: 959px) {
    .information__apply p {
        font-size: 2.4rem;
        line-height: 4rem;
        margin: 0 3.3333333333vw .6666666667vw
    }
}
.information__apply p span {
    display: block;
    color: #dc0032;
    font-family: DENSOTP2017-Bold
}
.information__apply .link_box {
    margin-top: 1.3vw
}
@media (max-width: 959px) {
    .information__apply .link_box {
        margin-top: 6.6666666667vw
    }
}
@media all and (-ms-high-contrast: none) {
    .information__ie {
        display: block
    }
    .grid_area {
        display: none
    }
}
.footer {
    text-align: center;
    display: flex;
    justify-content: center;
    margin: 8.3333333333vw 0 7.2916666667vw
}
@media (max-width: 959px) {
    .footer {
        margin: 10.6666666667vw 0 8vw
    }
}
.footer__title {
    font-size: 2rem;
    margin-bottom: 1.3020833333vw
}
@media (max-width: 959px) {
    .footer__title {
        font-size: 2.4rem;
        margin-bottom: 3.3333333333vw
    }
}
.footer__name {
    line-height: 1.4;
    font-size: 2.8rem;
    margin-bottom: 1.6666666667vw;
    font-family: DENSOTP2017-Regular
}
@media (max-width: 959px) {
    .footer__name {
        font-size: 3rem
    }
}
.footer__name span {
    transform: scale(0.6);
    display: inline-block;
    vertical-align: top;
    position: relative;
    top: -.1041666667vw;
    left: -.2083333333vw
}
.footer__info {
    font-size: 1.7rem
}
@media (max-width: 959px) {
    .footer__info {
        font-size: 2.5rem
    }
}
.footer__info p + p {
    margin-top: 1em
}
.curriculum__text p {
    font-size: 1.8rem;
    line-height: 1.4em;
    margin-bottom: 5vw;
}
p.curriculum__lh {
    line-height: 2em;
}
p.curriculum__lh2 {
    line-height: 1.8em;
}
.information__schedule .grid_area div.grid01_1 {
    align-items: center;
}
.information__schedule .grid_area div.grid01_2 {
    display: block;
    text-align: center;
    line-height: 1.4em
}
.information__schedule .grid_area div.grid01_3 {
    display: block;
    text-align: center;
    line-height: 1.4em
}
.information__schedule .grid_area div.grid01_2 p {
    font-size: 1.4rem;
    line-height: 1em
}
.information__schedule .grid_area div.grid01_3 p {
    font-size: 1.4rem;
    line-height: 1em
}

.gd__image img {
    width: 52vw;
	padding: 0 8vw;
}
.gd__image p{
    width: 60vw;
	padding: 1vw 0 10vw 1vw;
	font-size: 3rem;
}
@media (max-width: 959px) {
.gd__image {
	padding: 0 5vw 15vw 5vw;
}
.gd__image img {
    width: 100%;
	padding: 0;
}
.gd__image p{
    width: 100%;
	padding: 2vw 0 0 0;
	font-size: 2.2rem;
	line-height: normal;
	text-align: center;
}
}


/*# sourceMappingURL=style.css.map */