@charset "UTF-8";
/* =========================================================
 * reset　　　    /*リセット
========================================================= */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:700);
@import url(https://fonts.googleapis.com/css?family=Nunito:200);
@import url(https://fonts.googleapis.com/css?family=Nunito:300);
@import url(https://fonts.googleapis.com/css?family=Nunito:400);
@import url(https://fonts.googleapis.com/css?family=Nunito:600);
@import url(https://fonts.googleapis.com/css?family=Nunito:700);
@import url(https://fonts.googleapis.com/css?family=Nunito:800);
@import url(https://fonts.googleapis.com/css?family=Nunito:900);
@import url(https://fonts.googleapis.com/css?family=Lato:100);
@import url(https://fonts.googleapis.com/css?family=Lato:300);
@import url(https://fonts.googleapis.com/css?family=Lato:400);
@import url(https://fonts.googleapis.com/css?family=Lato:700);
@import url(https://fonts.googleapis.com/css?family=Lato:900);
@import url(https://fonts.googleapis.com/css?family=Montserrat:400);
@import url(https://fonts.googleapis.com/css?family=Montserrat:700);
blockquote, body, div, dl, dt, dd, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, figure, figcaption {
  margin: 0px;
  padding: 0px; }

fieldset, img {
  border: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }

img {
  border: none;
  vertical-align: bottom; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

li img {
  line-height: 0;
  font-size: 0;
  vertical-align: top; }

/* IE */
* html ul li dl, * html ol li dl {
  display: inline; }
*:first-child + html ul li dl, *:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings      　   /*デフォルトセッティング
========================================================= */
html {
  font-size: 62.5%; }

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all; }

p {
  line-break: strict; }

a {
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }
  a:hover {
    opacity: 0.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }

body {
  font-size: 1.4rem;
  font: inherit;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  line-height: 1.6;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  color: #333; }

#wrapper {
  width: 100%; }

.pc {
  display: block; }

.sp {
  display: none; }

.hide, .hidden {
  visibility: hidden; }

img {
  max-width: 100%; }

main {
  display: block; }

@media screen and (max-width: 767px) {
  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  body {
    -webkit-text-size-adjust: 100%;
    background: #fff;
    min-width: 100%; }

  img {
    width: 100%; }

  .pc {
    display: none; }

  .sp {
    display: block; } }
/* =========================================================
 * font
========================================================= */
/*noto-sans*/
/*Robot*/
/*Nunito*/
/*Lato*/
/*Montserrat*/
.roboto {
  font-family: 'Roboto Condensed', sans-serif; }

.font-rk {
  font-family: Ryumin Regular KL; }

.font-mb31 {
  font-family: Midashi Go MB31; }

.font-telop {
  font-family: TelopMinPro-D; }

.font-noto {
  font-family: 'Noto Sans Japanese'; }

.font-nunito {
  font-family: 'Nunito', sans-serif; }

.font-lato {
  font-family: 'Lato', sans-serif; }

.font-montserrat {
  font-family: 'Montserrat', sans-serif; }

/* =========================================================
 * clearfix　　   /*クリアフィックス
========================================================= */
.clearfix {
  zoom: 1; }
  .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

.header {
  width: 100%;
  position: absolute;
  top: 30px;
  z-index: 10; }
  .header--inner {
    padding: 0 4%; }
    .header--inner .logo img {
      max-width: 105px; }

.footer {
  background-color: #fff;
  border-top: 1px solid #00146d;
  margin-top: 120px; }
  .footer--inner {
    padding: 30px 4%;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .footer--inner .logo img {
      max-width: 99px; }
    .footer--inner address {
      color: #00146d;
      font-family: "Lato", sans-serif;
      line-height: 1.0;
      font-size: 1.2rem;
      font-weight: 300; }

#pagetop {
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 200; }
  #pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none; }
    #pagetop a img {
      max-width: 45px; }

@media screen and (max-width: 767px) {
  .header {
    top: 15px; }
    .header--inner {
      padding: 0 5%; }
      .header--inner .logo img {
        max-width: 25%; }

  .footer {
    margin-top: 60px; }
    .footer--inner {
      padding: 20px 5%;
      display: block;
      text-align: center; }
      .footer--inner .logo img {
        max-width: 25%; }
      .footer--inner address {
        font-size: 10px;
        font-size: 3.125vw;
        text-align: center;
        margin-top: 15px; }

  #pagetop {
    right: 10px;
    bottom: 20px;
    width: 10%; }
    #pagetop a img {
      max-width: 100%; } }
@-moz-keyframes fuwa {
  to {
    -moz-transform: translate(-50%, 0px);
    transform: translate(-50%, 0px) rotate(45deg); }
  50% {
    -moz-transform: translate(-50%, 10px) rotate(45deg);
    transform: translate(-50%, 10px) rotate(45deg); } }
@-webkit-keyframes fuwa {
  to {
    -webkit-transform: translate(-50%, 0px) rotate(45deg);
    transform: translate(-50%, 0px) rotate(45deg); }
  50% {
    -webkit-transform: translate(-50%, 10px) rotate(45deg);
    transform: translate(-50%, 10px) rotate(45deg); } }
@keyframes fuwa {
  to {
    -moz-transform: translate(-50%, 0px) rotate(45deg);
    -ms-transform: translate(-50%, 0px) rotate(45deg);
    -webkit-transform: translate(-50%, 0px) rotate(45deg);
    transform: translate(-50%, 0px) rotate(45deg); }
  50% {
    -moz-transform: translate(-50%, 10px) rotate(45deg);
    -ms-transform: translate(-50%, 10px) rotate(45deg);
    -webkit-transform: translate(-50%, 10px) rotate(45deg);
    transform: translate(-50%, 10px) rotate(45deg); } }
.animButton {
  flex: 1 1 auto;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: all .4s ease-in-out; }
  .animButton span {
    position: relative;
    z-index: 2;
    display: inline-block; }
  .animButton:after {
    position: absolute;
    transition: all .4s ease-in-out;
    content: '';
    width: 0;
    left: 50%;
    bottom: 0;
    height: 3px;
    background: #f3f8fc; }
  .animButton.LtoR:after {
    left: 0; }
  .animButton.LtoRtoR:after {
    right: 0;
    left: auto; }
  .animButton.tbt:after {
    left: 0;
    bottom: auto;
    top: -3px;
    width: 100%; }
  .animButton.skew:after {
    height: 130%;
    left: -10%;
    transform: skewX(15deg);
    z-index: 1; }
  .animButton:hover {
    cursor: pointer;
    opacity: 1; }
    .animButton:hover:after {
      width: 100%;
      left: 0; }
    .animButton:hover.tbt:after {
      top: calc(100% - 3px); }
    .animButton:hover.skew {
      color: #00146d; }
    .animButton:hover.skew:after {
      left: -10%;
      width: 120%; }
    .animButton:hover.round {
      border-radius: 30px; }
    .animButton:hover.round:after {
      width: 0%; }
    .animButton:hover.scale {
      transform: scale(1.2); }
    .animButton:hover.scale:after {
      width: 0%; }
    .animButton:hover.border01 {
      box-shadow: inset 0px 0px 0px 3px #f7f7f7; }
    .animButton:hover.border01:after {
      width: 0%; }
    .animButton:hover.border02 {
      box-shadow: 0px 0px 0px 3px #f7f7f7; }
    .animButton:hover.border02:after {
      width: 0%; }

@keyframes play {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0); } }
@keyframes maskOut {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(100%); } }
.scrAnim {
  overflow: hidden; }
  .scrAnim > div {
    opacity: 0; }
  .scrAnim > span {
    display: block;
    opacity: 0; }

.isPlay {
  animation-name: play;
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  position: relative;
  opacity: 1 !important; }
  .isPlay:before {
    animation-name: maskOut;
    animation-duration: .5s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: #00aff0; }

.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right {
  opacity: 0;
  transition: all 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.main {
  background: url("../images/top/img-main.png") no-repeat center center/cover;
  width: 100%;
  height: 835px;
  padding-top: 112px;
  position: relative; }
  .main--inner {
    max-width: 880px;
    padding: 0 2%;
    margin: 0 auto; }
    .main--inner .title {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .main--inner .title img {
        width: 100%;
        max-width: 513px;
        display: inline-block;
        margin-right: 20px; }
      .main--inner .title:after {
        content: '';
        display: block;
        border-top: 4px solid #fff;
        width: 573px;
        margin-top: -2px; }
    .main--inner h1 {
      margin-top: 43px; }
      .main--inner h1 img {
        width: 100%;
        display: block; }
        .main--inner h1 img:nth-of-type(1) {
          max-width: 879px; }
        .main--inner h1 img:nth-of-type(2) {
          max-width: 1074px;
          margin-top: 38px; }
        .main--inner h1 img:nth-of-type(3) {
          max-width: 667px;
          margin-top: 43px; }
    .main--inner .time {
      margin-top: 40px; }
      .main--inner .time dl {
        display: flex;
        justify-content: space-between;
        max-width: 670px; }
        .main--inner .time dl dt img {
          max-width: 328px; }
        .main--inner .time dl dd img {
          max-width: 286px; }
      .main--inner .time .flex {
        display: flex;
        align-items: center;
        margin-top: 25px; }
        .main--inner .time .flex .link {
          margin-left: 25px; }
          .main--inner .time .flex .link a {
            display: inline-block;
            font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
            font-weight: bold;
            font-size: 2.4rem;
            line-height: 1.0;
            color: #fff; }
            .main--inner .time .flex .link a:hover {
              opacity: 1;
              text-decoration: none; }
      .main--inner .time p img {
        max-width: 522px; }
  .main .scroll {
    width: 20px;
    height: 20px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    transform: translate(-50%, 0px) rotate(45deg);
    left: 50%;
    bottom: 40px;
    -moz-animation: fuwa 1.7s ease 0.1s infinite;
    -webkit-animation: fuwa 1.7s ease 0.1s infinite;
    animation: fuwa 1.7s ease 0.1s infinite; }
    .main .scroll a {
      display: block;
      width: 100%;
      height: 100%; }

.lead {
  padding: 80px 0 65px 0;
  background: url("../images/top/img-back01.png") no-repeat center center/cover; }
  .lead--inner {
    text-align: center;
    color: #fff; }
    .lead--inner p, .lead--inner .att {
      font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
      font-weight: bold; }
    .lead--inner p {
      font-size: 1.7rem;
      line-height: 2.0; }
    .lead--inner .att {
      margin-top: 80px;
      font-size: 1.2rem;
      line-height: 1.8; }

.entry--inner {
  background-color: #00146d;
  text-align: center;
  padding: 78px 0 57px 0; }
  .entry--inner--btn {
    display: inline-block;
    position: relative; }
    .entry--inner--btn a {
      display: block;
      width: 100%;
      height: 100%;
      padding: 0 0 30px 0;
      border-bottom: 4px solid #fff; }
      .entry--inner--btn a img {
        max-width: 189px; }
    .entry--inner--btn:before, .entry--inner--btn:after {
      content: '';
      display: block;
      position: absolute; }
    .entry--inner--btn:before {
      width: 62px;
      height: 27px;
      background: url("../images/top/img-icon01.png") no-repeat 0 0/cover;
      top: 3px;
      left: -82px; }
    .entry--inner--btn:after {
      width: 36px;
      height: 36px;
      background: url("../images/top/img-icon02.png") no-repeat 0 0/cover;
      top: 0;
      right: -57px; }
.entry--att {
  margin-top: 26px;
  color: #403f41;
  text-align: center; }
  .entry--att p, .entry--att h3, .entry--att ul {
    font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 2.0; }
  .entry--att h3 {
    margin-top: 10px; }
.entry.under {
  margin-top: 90px; }

.bigimage img {
  width: 100%; }
.bigimage.bg01 {
  margin-top: 130px; }
.bigimage.bg03 {
  margin-top: 125px; }

.company {
  margin-top: 140px; }
  .company--title {
    text-align: center;
    position: relative;
    z-index: 2; }
    .company--title h3 img {
      max-width: 509px; }
    .company--title h2 {
      line-height: 1.0;
      font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
      color: #00aff0;
      font-weight: bold;
      margin-top: 25px;
      font-size: 2.5rem;
      letter-spacing: .08em; }
  .company--wrap {
    background-color: #f6f6f6;
    padding: 130px 0;
    margin-top: -12px; }
    .company--wrap--inner {
      max-width: 870px;
      margin: 0 auto; }
      .company--wrap--inner .box h3 {
        text-align: center;
        line-height: 1.0;
        font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
        font-weight: bold;
        font-size: 2.2rem;
        padding-bottom: 20px;
        letter-spacing: .04em;
        border-bottom: 1px solid #000; }
        .company--wrap--inner .box h3 span {
          display: inline-block; }
      .company--wrap--inner .box--wrap {
        margin-top: 30px;
        display: flex;
        justify-content: space-between; }
        .company--wrap--inner .box--wrap--company {
          max-width: 406px;
          width: 100%; }
          .company--wrap--inner .box--wrap--company a {
            display: block;
            width: 100%;
            height: 100%;
            font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
            font-weight: bold;
            background-color: #fff;
            text-align: center;
            text-decoration: none;
            position: relative;
            transition: all .3s ease-out;
            line-height: 1.4;
            font-size: 2.1rem;
            padding: 20px 0; }
            .company--wrap--inner .box--wrap--company a em {
              font-weight: bold;
              position: relative;
              top: 11px; }
            .company--wrap--inner .box--wrap--company a:before, .company--wrap--inner .box--wrap--company a:after {
              content: '';
              display: block;
              position: absolute; }
            .company--wrap--inner .box--wrap--company a:before {
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 27px 27px 0 0;
              border-color: #007bff transparent transparent transparent;
              top: 0;
              left: 0;
              z-index: 1; }
            .company--wrap--inner .box--wrap--company a:after {
              width: 22px;
              height: 22px;
              top: 50%;
              right: 24px;
              transform: translateY(-50%);
              transition: all .3s ease-out;
              background-repeat: no-repeat;
              background-position: 0 0;
              background-size: cover; }
            .company--wrap--inner .box--wrap--company a:hover:after {
              right: 18px; }
            .company--wrap--inner .box--wrap--company a span {
              display: block;
              font-size: 1.4rem;
              margin-top: 2px; }
          .company--wrap--inner .box--wrap--company:nth-of-type(n+3) {
            margin-top: 50px; }
        .company--wrap--inner .box--wrap.three {
          justify-content: center;
          flex-wrap: wrap; }
          .company--wrap--inner .box--wrap.three .box--wrap--company:nth-of-type(2) {
            margin-left: 58px; }
      .company--wrap--inner .box.blue01 h3 {
        color: #00146d;
        border-color: #00146d; }
      .company--wrap--inner .box.blue01 .box--wrap--company a {
        color: #00146d; }
        .company--wrap--inner .box.blue01 .box--wrap--company a:before {
          border-color: #00146d transparent transparent transparent; }
        .company--wrap--inner .box.blue01 .box--wrap--company a:after {
          background-image: url("../images/top/img-linkicon01.png"); }
      .company--wrap--inner .box.blue02 h3 {
        color: #00aff0;
        border-color: #00aff0; }
      .company--wrap--inner .box.blue02 .box--wrap--company a {
        color: #00aff0; }
        .company--wrap--inner .box.blue02 .box--wrap--company a:before {
          border-color: #00aff0 transparent transparent transparent; }
        .company--wrap--inner .box.blue02 .box--wrap--company a:after {
          background-image: url("../images/top/img-linkicon02.png"); }
      .company--wrap--inner .box:not(:first-child) {
        margin-top: 100px; }
      .company--wrap--inner .box.fitheight a {
        padding: 34.5px 0; }
      .company--wrap--inner .box.single .box--wrap {
        justify-content: center; }
      .company--wrap--inner .flex-box {
        display: flex;
        justify-content: space-between;
        margin-top: 100px; }
        .company--wrap--inner .flex-box .box {
          max-width: 406px;
          width: 100%;
          margin-top: 0; }

.timetable--title {
  padding: 110px 0 80px 0;
  text-align: center; }
  .timetable--title h3 img {
    max-width: 290px; }
  .timetable--title h2 {
    margin-top: 28px;
    font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
    line-height: 1.0;
    color: #00aff0;
    letter-spacing: .12em;
    font-size: 2.5rem; }
.timetable--wrap .table--inner {
  max-width: 914px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  padding: 65px 0; }
  .timetable--wrap .table--inner > dl {
    font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
    padding-bottom: 25px;
    border-bottom: 1px solid #fff; }
    .timetable--wrap .table--inner > dl dd {
      line-height: 1.0;
      font-size: 2.4rem;
      margin-top: 23px; }
  .timetable--wrap .table--inner--content {
    margin-top: 35px; }
    .timetable--wrap .table--inner--content p {
      font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
      font-weight: bold;
      font-size: 1.6rem; }
    .timetable--wrap .table--inner--content dl {
      margin-top: 60px; }
      .timetable--wrap .table--inner--content dl dt {
        font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
        font-weight: bold;
        line-height: 1.0;
        max-width: 576px;
        margin: 0 auto;
        border-bottom: 1px dashed #fff;
        padding-bottom: 19px;
        font-size: 2.6rem; }
      .timetable--wrap .table--inner--content dl dd {
        font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
        font-weight: bold;
        font-size: 1.8rem;
        line-height: 2.0;
        letter-spacing: .08em;
        margin-top: 20px; }
      .timetable--wrap .table--inner--content dl:nth-of-type(1) {
        margin-top: 40px; }
      .timetable--wrap .table--inner--content dl:nth-of-type(n+2) {
        margin-top: 60px; }
.timetable--wrap .table.blue01 {
  background-color: #00146d; }
.timetable--wrap .table.blue02 {
  background-color: #00aff0; }
.timetable--wrap .table.t01 .table--inner > dl dt img {
  max-width: 380px; }
.timetable--wrap .table.t01 .table--inner--content dl:nth-of-type(1) dt img {
  max-width: 198px; }
.timetable--wrap .table.t01 .table--inner--content dl:nth-of-type(2) dt img {
  max-width: 302px; }
.timetable--wrap .table.t02 .table--inner > dl dt img {
  max-width: 468px; }
.timetable--wrap .table.t03 .table--inner > dl dt img {
  max-width: 290px; }
.timetable--wrap .table.t04 .table--inner > dl dt img {
  max-width: 402px; }
.timetable--att {
  text-align: center;
  margin-top: 42px; }
  .timetable--att ul {
    color: #403f41;
    font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 2.0; }
.timetable--figure {
  padding: 102px 0 72px 0;
  background: #dfe0e0; }
  .timetable--figure h3 {
    text-align: center; }
    .timetable--figure h3 img {
      max-width: 302px; }
  .timetable--figure .image {
    text-align: center;
    margin-top: 58px; }
    .timetable--figure .image img {
      max-width: 915px; }

.access {
  margin-top: 115px; }
  .access--title {
    text-align: center; }
    .access--title h3 img {
      max-width: 232px; }
    .access--title h2 {
      line-height: 1.0;
      font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
      font-weight: bold;
      color: #00aff0;
      margin-top: 28px;
      letter-spacing: .08em;
      font-size: 2.5rem; }
  .access--wrap {
    background-color: #f6f6f6;
    margin-top: -12px;
    padding: 60px 0 100px 0; }
    .access--wrap--inner {
      max-width: 632px;
      margin: 0 auto; }
      .access--wrap--inner .text {
        text-align: center;
        font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
        font-weight: bold;
        color: #00aff0;
        line-height: 1.8;
        letter-spacing: .04em;
        font-size: 2.0rem; }
      .access--wrap--inner .map {
        width: 100%;
        height: 328px;
        margin-top: 50px; }
        .access--wrap--inner .map iframe {
          display: block;
          width: 100%;
          height: 100%; }
      .access--wrap--inner ul {
        margin-top: 42px; }
        .access--wrap--inner ul li {
          color: #403f41;
          font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
          font-weight: bold;
          font-size: 1.5rem;
          line-height: 2.0; }

@media screen and (max-width: 768px) {
  .main--inner {
    padding: 0 2%; }
    .main--inner h1 img:nth-of-type(2) {
      max-width: 100%; }

  .company--wrap--inner {
    padding: 0 2%; }
    .company--wrap--inner .box h3 {
      font-size: 2.0rem; }
    .company--wrap--inner .box--wrap--company {
      max-width: 48%; }
    .company--wrap--inner .box--wrap.three .box--wrap--company:nth-of-type(2) {
      margin-left: 4%; }
    .company--wrap--inner .flex-box .box {
      max-width: 48%; }
      .company--wrap--inner .flex-box .box--wrap--company {
        max-width: 100%; }

  .timetable--figure .image img {
    max-width: 90%; } }
@media screen and (max-width: 767px) {
  .main {
    height: auto;
    padding-top: 80px; }
    .main--inner {
      max-width: 90%;
      padding: 0 0 20vw 0; }
      .main--inner .title img {
        max-width: 47%;
        margin-right: 10px; }
      .main--inner h1 {
        margin-top: 20px; }
        .main--inner h1 img:nth-of-type(1) {
          max-width: 78%; }
        .main--inner h1 img:nth-of-type(2) {
          max-width: 86%;
          margin-top: 20px; }
        .main--inner h1 img:nth-of-type(3) {
          max-width: 67%;
          margin-top: 20px; }
      .main--inner .time {
        margin-top: 20px;
        max-width: 100%; }
        .main--inner .time dl {
          justify-content: flex-start; }
          .main--inner .time dl dt {
            width: 40%;
            margin-right: 5%; }
            .main--inner .time dl dt img {
              max-width: 100%; }
          .main--inner .time dl dd {
            width: 37%; }
            .main--inner .time dl dd img {
              max-width: 100%; }
        .main--inner .time .flex {
          display: block;
          margin-top: 15px; }
          .main--inner .time .flex .link {
            margin-left: 0;
            margin-top: 15px; }
            .main--inner .time .flex .link a {
              font-size: 16px;
              font-size: 5vw; }
        .main--inner .time p img {
          max-width: 78%; }
    .main .scroll {
      bottom: 5%; }

  .lead {
    padding: 40px 0 35px 0; }
    .lead--inner p {
      font-size: 12px;
      font-size: 3.75vw;
      line-height: 1.8; }
    .lead--inner .att {
      margin-top: 40px;
      font-size: 10px;
      font-size: 3.125vw; }

  .entry--inner {
    padding: 30px 0; }
    .entry--inner--btn {
      width: 40%; }
      .entry--inner--btn a {
        padding: 15px 0;
        border-bottom: 3px solid #fff; }
        .entry--inner--btn a img {
          max-width: 100%; }
      .entry--inner--btn:before {
        top: 18px;
        left: -52%; }
      .entry--inner--btn:after {
        top: 15px;
        right: -35%; }
  .entry--att {
    margin-top: 25px; }
    .entry--att p, .entry--att h3, .entry--att ul {
      font-size: 12px;
      font-size: 3.75vw;
      line-height: 1.8; }
    .entry--att h3 {
      margin-top: 20px; }
    .entry--att ul {
      max-width: 90%;
      margin: 10px auto 0 auto;
      text-align: left; }
      .entry--att ul li {
        text-indent: -1em;
        margin-left: 1em; }
  .entry.under {
    margin-top: 0; }

  .bigimage.bg01 {
    margin-top: 60px; }
  .bigimage.bg03 {
    margin-top: 60px; }

  .company {
    margin-top: 70px; }
    .company--title h3 img {
      max-width: 71%; }
    .company--title h2 {
      margin-top: 15px;
      font-size: 16px;
      font-size: 5vw;
      letter-spacing: .04em; }
    .company--wrap {
      padding: 65px 0;
      margin-top: -1em; }
      .company--wrap--inner {
        max-width: 100%;
        padding: 0 5%; }
        .company--wrap--inner .box h3 {
          font-size: 16px;
          font-size: 5vw;
          padding-bottom: 15px;
          letter-spacing: .04em;
          line-height: 1.4; }
        .company--wrap--inner .box--wrap {
          margin-top: 20px;
          display: block; }
          .company--wrap--inner .box--wrap--company {
            max-width: 100%; }
            .company--wrap--inner .box--wrap--company a {
              transition: none;
              font-size: 15px;
              font-size: 4.6875vw;
              padding: 15px 0; }
              .company--wrap--inner .box--wrap--company a:hover:after {
                right: 24px; }
              .company--wrap--inner .box--wrap--company a em {
                position: static; }
              .company--wrap--inner .box--wrap--company a span {
                font-size: 10px;
                font-size: 3.125vw; }
            .company--wrap--inner .box--wrap--company:nth-of-type(2) {
              margin-left: 0; }
            .company--wrap--inner .box--wrap--company:nth-of-type(n+2) {
              margin-top: 25px; }
            .company--wrap--inner .box--wrap--company:nth-of-type(n+3) {
              margin-top: 25px; }
          .company--wrap--inner .box--wrap.three .box--wrap--company:nth-of-type(2) {
            margin-left: 0; }
        .company--wrap--inner .box:not(:first-child) {
          margin-top: 55px; }
        .company--wrap--inner .box.fitheight a {
          padding: 15px 0; }
        .company--wrap--inner .box.b01to02 h3 {
          color: #00aff0;
          border-color: #00aff0; }
        .company--wrap--inner .box.b01to02 .box--wrap--company a {
          color: #00aff0; }
          .company--wrap--inner .box.b01to02 .box--wrap--company a:before {
            border-color: #00aff0 transparent transparent transparent; }
          .company--wrap--inner .box.b01to02 .box--wrap--company a:after {
            background-image: url("../images/top/img-linkicon02.png"); }
        .company--wrap--inner .box.b02to01 h3 {
          color: #00146d;
          border-color: #00146d; }
        .company--wrap--inner .box.b02to01 .box--wrap--company a {
          color: #00146d; }
          .company--wrap--inner .box.b02to01 .box--wrap--company a:before {
            border-color: #00146d transparent transparent transparent; }
          .company--wrap--inner .box.b02to01 .box--wrap--company a:after {
            background-image: url("../images/top/img-linkicon01.png"); }
        .company--wrap--inner .box.single {
          max-width: 100%;
          margin: 55px auto 0 auto; }
        .company--wrap--inner .flex-box {
          display: block;
          margin-top: 55px; }
          .company--wrap--inner .flex-box .box {
            max-width: 100%; }

  .timetable--title {
    padding: 60px 0 40px 0; }
    .timetable--title h3 img {
      max-width: 50.25%; }
    .timetable--title h2 {
      margin-top: 15px;
      letter-spacing: .06em;
      font-size: 16px;
      font-size: 5vw; }
  .timetable--wrap .table--inner {
    max-width: 100%;
    padding: 35px 0; }
    .timetable--wrap .table--inner > dl {
      padding-bottom: 15px; }
      .timetable--wrap .table--inner > dl dd {
        font-size: 15px;
        font-size: 4.6875vw;
        margin-top: 12px; }
    .timetable--wrap .table--inner--content {
      margin-top: 25px; }
      .timetable--wrap .table--inner--content p {
        font-size: 11px;
        font-size: 3.4375vw; }
      .timetable--wrap .table--inner--content dl dt {
        max-width: 80%;
        padding-bottom: 10px;
        font-size: 15px;
        font-size: 4.6875vw; }
      .timetable--wrap .table--inner--content dl dd {
        font-size: 12px;
        font-size: 3.75vw;
        line-height: 1.8;
        letter-spacing: .04em;
        margin-top: 10px; }
      .timetable--wrap .table--inner--content dl:nth-of-type(1) {
        margin-top: 30px; }
      .timetable--wrap .table--inner--content dl:nth-of-type(n+2) {
        margin-top: 30px; }
  .timetable--wrap .table.t01 .table--inner > dl dt img {
    max-width: 50%; }
  .timetable--wrap .table.t01 .table--inner--content dl:nth-of-type(1) dt img {
    max-width: 38.125%; }
  .timetable--wrap .table.t01 .table--inner--content dl:nth-of-type(2) dt img {
    max-width: 57.875%; }
  .timetable--wrap .table.t02 .table--inner > dl dt img {
    max-width: 55.25%; }
  .timetable--wrap .table.t03 .table--inner > dl dt img {
    max-width: 44.375%; }
  .timetable--wrap .table.t04 .table--inner > dl dt img {
    max-width: 51.25%; }
  .timetable--att {
    margin-top: 25px; }
    .timetable--att ul {
      width: 90%;
      margin: 0 auto;
      text-align: left;
      font-size: 12px;
      font-size: 3.75vw;
      line-height: 1.8; }
      .timetable--att ul li {
        text-indent: -1em;
        margin-left: 1em; }
  .timetable--figure {
    padding: 50px 0 40px 0; }
    .timetable--figure p {
      font-size: 12px;
      font-size: 3.75vw;
      line-height: 1.0;
      max-width: 98%;
      margin: 0 auto;
      text-align: right; }
    .timetable--figure h3 img {
      max-width: 56.42%; }
    .timetable--figure .image {
      overflow-x: scroll;
      width: 100%;
      margin: 25px 0 0 0; }
      .timetable--figure .image img {
        width: auto;
        max-width: inherit;
        height: 380px; }

  .access {
    margin-top: 60px; }
    .access--title h3 img {
      max-width: 39.25%; }
    .access--title h2 {
      margin-top: 20px;
      letter-spacing: .06em;
      font-size: 16px;
      font-size: 5vw; }
    .access--wrap {
      margin-top: -1em;
      padding: 30px 0 50px 0; }
      .access--wrap--inner {
        max-width: 90%; }
        .access--wrap--inner .text {
          letter-spacing: .02em;
          font-size: 15px;
          font-size: 4.6875vw; }
        .access--wrap--inner .map {
          height: 170px;
          margin-top: 30px; }
          .access--wrap--inner .map iframe {
            display: block;
            width: 100%;
            height: 100%; }
        .access--wrap--inner ul {
          margin-top: 20px; }
          .access--wrap--inner ul li {
            font-size: 12px;
            font-size: 3.75vw;
            line-height: 1.8;
            text-indent: -1em;
            margin-left: 1em; } }
