@charset "UTF-8";
/*=============================================
 * HOME
*=============================================*/
.opening {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  overflow: hidden; }

.opening__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #ccc 0%, #f5f5f5 29%, #fff 71%, #888 100%);
  background-size: 150% 100%;
  background-position: center;
  transition: clip-path 1.2s ease;
  z-index: 1;
  animation: gradientMove 10s ease infinite; }

.opening__logo {
  width: 583px;
  opacity: 0;
  z-index: 2;
  transition: opacity 1s ease; }

.opening.is-show .opening__bg {
  clip-path: circle(150% at 50% 50%); }

.opening.is-show .opening__logo {
  opacity: 1; }

.opening.is-end .opening__bg {
  clip-path: circle(0% at 50% 50%); }

.opening.is-end .opening__logo {
  opacity: 0; }

header.is-hide,
main.is-hide {
  opacity: 0; }
header.is-show,
main.is-show {
  animation: pageFadeIn 1s ease-in-out 0s 1 normal;
  -webkit-animation: pageFadeIn 1s ease-in-out 0s 1 normal;
  opacity: 1; }

@keyframes gradientMove {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
@keyframes pageFadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes pageFadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@media screen and (max-width: 767px) {
  .opening__logo {
    width: 58%; } }
/* -- -- */
#mv {
  display: grid;	
  background: url("../img/common/bg.webp") no-repeat center top/cover;
  background-position: center;
  width: 100%;
  height: 100vh;
  min-height: 700px;
  position: relative; }
  #mv .count-down {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 30px;
    width: 600px;
	background:rgba(255,255,255,0.85);
    color: #000;
    position: absolute;
    bottom: 95px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50px;
    padding: 16px 20px 20px;
    line-height: 1; }
    #mv .count-down h3 {
      align-self: center;
      font-weight: 700;
      font-size: 27px;
      line-height: 1;
      position: relative;
      top: 5px; }
    #mv .count-down ul {
      display: flex;
      align-items: flex-end;
      gap: 10px;
      font-weight: 900;
      font-size: 20px; }
      #mv .count-down ul span {
        font-size: 54px; }
  #mv .logo {
    width: 383px;
    max-width: 383px;
    position: absolute;
    right: 100px;
    bottom: 100px;
    transform: translateY(20%);
    opacity: 0;
    transition: all 0.3s linear; }
    #mv .logo.is-active {
      transform: translateY(0);
      opacity: 1; }
  #mv .photo {
    width: 583px;
    max-width: 583px;
    margin: auto auto auto auto; }
    #mv .photo figure {
      max-width: 583px;
      width: 583px; }

@media screen and (max-width: 1380px) {
	#mv .photo {
    margin: auto auto auto auto; }	
}
@media screen and (max-width: 1280px) {
	#mv .photo {
    margin: auto auto auto auto; }	
}
@media screen and (max-width: 1180px) {
	#mv .photo {
    margin: auto auto auto auto; }	
}
@media screen and (max-width: 1080px) {
	#mv .photo {
    margin: auto auto auto auto; }	
}
@media screen and (max-width: 1023px) {
	#mv .photo {
    margin: auto auto auto auto; }	
  #mv .logo {
    bottom: 200px;
    right: 50px; } }
@media screen and (max-width: 767px) {
	#mv {
	}
	#mv .photo {
    margin: auto auto auto auto;
	width: 280px;}	
	
    #mv .photo figure {
      max-width: 280px;
      width: 280px; }
  #mv {
    height: auto;
    min-height: 480px;
    padding: 70px 0 25px; }
    
    #mv .logo {
		display: none;
      width: 58%;
      top: 87vw;
      right: auto;
      bottom: auto;
      left: 50%;
      transform: translate(-50%, 20%); }
      #mv .logo.is-active {
        transform: translate(-50%, 0%); }
	#mv .count-down {
    gap: 20px;
    width: 320px;
    color: #000;
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50px;
    padding: 14px 16px 16px;
    line-height: 1; }
	
	
      #mv .count-down h3 {
        font-size: 14px;
        line-height: 30px; }
      #mv .count-down ul {
        font-size: 12px;
        line-height: 40px; }
        #mv .count-down ul span {
          font-size: 21px; } }

@media screen and (max-width: 560px) {
	#mv .photo {
    margin: auto auto auto auto;}
}

@media screen and (max-width: 424px) {
  #mv {
    padding-top: 55px; }
    #mv .logo {
      top: 75vw; }
	#mv .photo {
    margin: auto auto auto auto;
	text-align: center;}
	
}

@media screen and (max-width: 380px) {
	#mv .photo {
    margin: auto auto auto auto !important;
      width: 260px !important;
	text-align: center !important;}
	
    #mv .photo figure {
      max-width: 260px;
      width: 260px; }
	#mv .count-down {
    gap: 10px;
    width: 280px;
    color: #000;
    position: absolute;
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50px;
    padding: 8px 14px 9px;
    line-height: 1; }
}


@media screen and (min-width: 1921px) {
  #mv .photo {
    margin: auto; } }
/* -- -- */
#about {
  position: relative;
  padding: 155px 30px; }
  #about .swiper {
    width: 100%;
    position: absolute;
    top: 230px;
    left: 0; }
    #about .swiper-slide {
      width: 2431px;
      margin-right: 50px; }
  #about .deco-l {
    width: 15%;
    max-width: 287px;
    position: absolute;
    top: -40px;
    left: 0;
    transition: all 0.5s linear;
    will-change: transform; }
  #about .deco-r {
    width: 15%;
    max-width: 287px;
    position: absolute;
    bottom: -40px;
    right: 0;
    transition: all 0.5s linear;
    will-change: transform; }
  #about .wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 90px 60px;
    max-width: 1290px; }
  #about h2 {
    width: 538px;
    font-weight: 900;
    font-size: 48px;
    line-height: 93px;
    letter-spacing: 0; }
    #about h2 small {
      display: block;
      font-weight: 700;
      font-size: 20px;
      line-height: 32px;
      letter-spacing: 0.07em;
      color: #555;
      text-transform: uppercase;
      padding-bottom: 20px;
padding-left: 5px;}
    #about h2 span {
      background-image: linear-gradient(110deg, #000, #000);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: #000000; }
  #about .txt {
    width: 692px;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 0.03em;
    line-height: 2.18; }
    #about .txt p + p {
      padding-top: 40px; }
  #about .button {
    width: 100%; }

@media screen and (max-width: 1440px) {
  #about h2 {
    width: 500px; }
  #about .txt {
    width: calc(100% - 560px); } }
@media screen and (max-width: 1023px) {
  #about .wrap {
    flex-direction: column;
    flex-wrap: nowrap; }
  #about h2,
  #about .txt {
    width: 100%; }
  #about .deco-l,
  #about .deco-r {
    width: 30%; } }
@media screen and (max-width: 767px) {
  #about {
    padding: 80px 0; }
    #about .wrap {
      gap: 40px; }
    #about h2 {
      font-size: 30px;
      line-height: 60px; }
      #about h2 small {
        font-size: 14px;
        line-height: 24px;
        padding-bottom: 10px; }
    #about .txt {
      font-size: 16px; }
      #about .txt p + p {
        padding-top: 20px; }
    #about .swiper {
      top: 145px; }
      #about .swiper-slide {
        width: 1216px; } }
/* -- -- */
#point {
  position: relative;
  padding: 150px 0 0; }
  #point .wrap {
    padding: 0 60px; }
  #point:before {
    content: '';
    width: 100%;
	background: linear-gradient(135deg, #ccc 0%, #f5f5f5 29%, #fff 71%, #ccc 100%);
    position: absolute;
    top: 0;
    bottom: 110px;
    left: 0;
    opacity: 0.3; }
  #point h2 .en {
    background-image: linear-gradient(to right, #000, #000);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #000000;
    opacity: 0.17; }
  #point .box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
    max-width: 1575px;
    margin: 0 auto;
    padding-top: 80px; }
    #point .box figure {
      max-width: 180px;
      margin: 0 auto; }
    #point .box h3 {
      font-weight: 700;
      font-size: 24px;
      line-height: 40px;
      letter-spacing: 0.06em;
      text-align: center;
      padding-top: 30px; }
      #point .box h3 span {
        background: linear-gradient(to right, #333 0%, #666 38%, #000 67%, #555 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: #000000; }
    #point .box .txt {
      line-height: 2;
		color: #555;
      padding-top: 6px; }
  #point .swiper {
    padding-top: 145px; }
    #point .swiper-slide {
      width: 520px;
      margin-right: 16px; }
      #point .swiper-slide img {
        border-radius: 24px; }

@media screen and (max-width: 1023px) {
  #point .box {
    grid-template-columns: 1fr; } }
@media screen and (max-width: 767px) {
  #point {
    padding: 80px 0 0; }
    #point .wrap {
      padding: 0 20px; }
    #point .box {
      grid-template-columns: 1fr;
      gap: 40px;
      padding-top: 40px; }
      #point .box figure {
        max-width: 40%; }
      #point .box h3 {
        font-size: 20px;
        line-height: 30px;
        padding-top: 20px; }
      #point .box .txt {
        padding-top: 15px; }
    #point .swiper {
      padding-top: 80px; }
      #point .swiper-slide {
        width: 260px; } }
/* -- -- */
#information {
  padding: 160px 30px 145px;
  position: relative; }
  #information .deco {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    transition: all 0.5s linear;
    will-change: transform; }
    #information .deco span {
      display: block;
      max-width: 1512px;
      margin: 0 auto; }
  #information .wrap {
    max-width: 960px;
    z-index: 1; }
  #information .swiper {
    width: 100%;
    position: absolute;
    top: 230px;
    left: 0; }
    #information .swiper-slide {
      width: 3549px;
      margin-right: 50px; }
  #information .link {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.32;
    letter-spacing: 0.01em;
    padding-top: 32px; }
    #information .link a {
        text-decoration: underline;
      color: #000; }
      #information .link a:hover {
        text-decoration: none; }
  #information .button {
    padding-top: 55px; }
    #information .button a , .abi a{
      gap: 15px; }
      #information .button a:before , .abi a:before{
        content: '';
        display: block;
        width: 29px;
        height: 33px;
        background: url("../img/common/icon-notification.png") no-repeat center top/cover; }
      #information .button a:hover:before , .abi a:hover:before {
        animation: ring 0.6s ease; }
  #information .box {
    background-color: #F6F6F6;
    color: #555;
    font-weight: 700;
    font-size: 20px;
    line-height: 53px;
    margin-top: 92px;
    padding: 30px 30px 50px; }
    #information .box h3 {
      font-weight: 700; }
    #information .box ul {
      list-style: disc;
      padding-left: 30px; }

@media screen and (max-width: 767px) {
  #information {
    padding: 80px 0; }
    #information .link {
      font-size: 18px; }
    #information .button {
      padding-top: 40px; }
    #information .box {
      font-size: 16px;
      line-height: 36px;
      margin-top: 40px;
      padding: 20px 20px; }
      #information .box ul {
        padding-left: 20px; } }
/* -- -- */
#floormap {
  position: relative;
  padding: 160px 30px 140px; }
  #floormap:before {
    content: '';
    width: 100%;
    height: 100%;
	background: linear-gradient(135deg, #ccc 0%, #f5f5f5 29%, #fff 71%, #ccc 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.65; }
  #floormap h2 {
    position: relative; }
    #floormap h2 .en {
      opacity: 0.21;
      color: #ccc; }
  #floormap figure {
	  width: 800px;
	  margin: 40px auto 0 auto;
    position: relative;
    padding-top: 35px; }


@media screen and (max-width: 900px) {
	  #floormap figure {
	  width: 100%;
	  margin: 0px auto 0 auto;}
}

@media screen and (max-width: 767px) {
  #floormap {
    padding: 80px 0; }
    #floormap figure {
      display: flex;
      flex-direction: column;
      align-items: center;
      overflow: hidden;} }
/* -- -- */
#timetable {
  background: url("../img/index/base_bg 4.jpg") repeat center top;
  padding: 155px 30px 160px; }
  #timetable h2 .en {
    color: #BABABA;
    opacity: 0.17; }
  #timetable .tabs-switch {
    max-width: 860px;
    margin: 0 auto;
    padding-top: 40px; }
  #timetable .tab-link {
    list-style: none;
    padding: 30px 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: solid 10px #2466b1; }
  #timetable .tab-link li {
    width: 33.3333%;
    padding: 10px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    background-color: #2466b1;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    color: #ffffff;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    line-height: 26px;
    transition: all 0.3s; }
    #timetable .tab-link li span {
      font-size: 24px; }
    #timetable .tab-link li:after {
      content: "▼";
      position: absolute;
      top: -30px;
      left: 50%;
      -webkit-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      transition: all 0.3s;
      opacity: 0; }
    #timetable .tab-link li.active:after, #timetable .tab-link li:hover:after {
      opacity: 1; }
  #timetable .tab-link .tab-1:after {
    color: #2466b1; }
  #timetable .tab-link .tab-2:after {
    color: #328fda; }
  #timetable .tab-link .tab-3:after {
    color: #3fb6d3; }
  #timetable .tab-link .tab-4:after {
    color: #7d4697; }
  #timetable .tab-link .tab-1 {
    background-color: #2466b1; }
  #timetable .tab-link .tab-2 {
    background-color: #328fda; }
  #timetable .tab-link .tab-3 {
    background-color: #3fb6d3; }
  #timetable .tab-link .tab-4 {
    background-color: #7d4697; }
  #timetable .tab-link.color-1 {
    border-bottom-color: #2466b1; }
  #timetable .tab-link.color-2 {
    border-bottom-color: #328fda; }
  #timetable .tab-link.color-3 {
    border-bottom-color: #3fb6d3; }
  #timetable .tab-link.color-4 {
    border-bottom-color: #7d4697; }
  #timetable .tab-content {
    padding-top: 20px; }

@media screen and (max-width: 767px) {
  #timetable {
    padding: 80px 0; }
    #timetable .tabs-switch {
      padding-top: 20px; }
    #timetable .tab-link li {
      font-size: 14px;
      line-height: 20px; }
      #timetable .tab-link li span {
        font-size: 20px; } }
/* -- -- */
#lineup {
  padding: 160px 30px 110px; }
  #lineup h2 .en {
    color: #BABABA;
    opacity: 0.12; }
  #lineup .box {
    max-width: 860px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 40px;
    padding-top: 40px; }
  #lineup .lineup-title1 {
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 30px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  #lineup .lineup-title1 span {
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative; }
    #lineup .lineup-title1 span:before, #lineup .lineup-title1 span:after {
      content: "";
      border-top: 1px solid #1a1a1a;
      flex: 1 0 0;
      width: 100px; }
  #lineup .lineup-title1 .jr-logo2 {
    text-align: center; }
  #lineup .lineup-title1 .jr-logo2 img {
    height: 82px; }
  #lineup .lineup-title2 {
    display: block;
    position: relative;
    text-align: center;
    font-size: 22px;
    font-weight: 600; }
  #lineup .lineup-title2 span {
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative; }
    #lineup .lineup-title2 span:before, #lineup .lineup-title2 span:after {
      content: "";
      border-top: 1px solid #1a1a1a;
      flex: 1 0 0; }
  #lineup .lineup-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-column-gap: 6%;
    -moz-column-gap: 6%;
    column-gap: 6%; }
  #lineup .lineup-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 30px;
    margin: 0 auto;
    width: 47%; }
  #lineup .lineup-list div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 20px; }
#lineup .lineup-list div p{
	text-align: center;
}

@media screen and (max-width: 767px) {
  #lineup {
    padding: 80px 0; }
    #lineup .lineup-title1 {
      font-size: 16px; }
      #lineup .lineup-title1 span {
        width: 100%; }
        #lineup .lineup-title1 span:before, #lineup .lineup-title1 span:after {
          width: auto; }
      #lineup .lineup-title1 .jr-logo2 img {
        height: 60px; }
    #lineup .lineup-title2 {
      font-size: 16px; }
    #lineup .lineup-list {
      flex-direction: column; }
      #lineup .lineup-list li {
        width: 100%; } }
/* -- -- */
#faq {
  background: url("../img/index/base_bg 4.jpg") repeat center top;
  padding: 155px 30px; }
  #faq h2 .en {
    color: #BABABA;
    opacity: 0.21; }
  #faq .box-qa {
    max-width: 1134px;
    margin: 0 auto;
    padding-top: 65px;
    counter-reset: box; }
    #faq .box-qa .item {
      counter-increment: box; }
      #faq .box-qa .item:not(:last-child) {
        padding-bottom: 30px; }
    #faq .box-qa .txt-q {
      background-color: #fff;
      font-weight: 700;
      font-size: 22px;
      line-height: 40px;
      color: #000;
      position: relative;
      padding: 27px 80px 27px 161px;
      cursor: pointer; }
      #faq .box-qa .txt-q:before {
        content: counter(box) " ";
        display: flex;
        align-items: center;
        justify-content: center;
        width: 120px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        border-right: 1px solid #E0E0E0;
        text-align: center; }
      #faq .box-qa .txt-q i {
        display: block;
        width: 43px;
        height: 43px;
        border: 1px solid #0068B7;
        border-radius: 50%;
        box-sizing: border-box;
        position: absolute;
        top: 50%;
        right: 30px;
        transform: translateY(-50%); }
        #faq .box-qa .txt-q i:before, #faq .box-qa .txt-q i:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          transition: all 0.3s; }
        #faq .box-qa .txt-q i:before {
          width: 12px;
          height: 0;
          border-top: 1px solid #0068B7; }
        #faq .box-qa .txt-q i:after {
          width: 0;
          height: 12px;
          border-left: 1px solid #0068B7; }
    #faq .box-qa .txt-a {
      display: none;
      letter-spacing: 0.03em;
      line-height: 1.85;
      padding: 30px 50px 0; }
      #faq .box-qa .txt-a ul {
        list-style: disc;
        padding-left: 30px; }
    #faq .box-qa .item.is-active .txt-q i:after {
      transform: translate(-50%, -50%) rotate(90deg); }

@media screen and (max-width: 767px) {
  #faq {
    padding: 80px 0; }
    #faq .box-qa .item:not(:last-child) {
      padding-bottom: 20px; }
    #faq .box-qa .txt-q {
      font-size: 18px;
      line-height: 26px;
      padding: 10px 50px 10px 71px; }
      #faq .box-qa .txt-q:before {
        width: 50px; }
      #faq .box-qa .txt-q i {
        width: 30px;
        height: 30px;
        right: 10px; }
    #faq .box-qa .txt-a {
      padding: 20px 10px 0; }
      #faq .box-qa .txt-a ul {
        padding-left: 20px; } }
/* -- -- */
.reservation {
  background-image: linear-gradient(135deg, #fff 0%, #fff 29%, #fff 71%, #fff 100%);
  background-size: 150% 100%;
  background-position: center;
  color: #fff;
  position: relative;
  padding: 90px 0; }
  .reservation:before {
    content: '';
    width: 100%;
    height: 100%;
    background: url("../img/common/contact_bg.png") no-repeat center top/cover;
    position: absolute;
    top: 0;
	  opacity: 0.25;
    left: 0; }
  .reservation .swiper {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
    .reservation .swiper-slide {
      width: 3658px;
      margin-right: 50px; }
  .reservation h2 {
    font-weight: 900;
    font-size: 32px;
	  color: #000;
    line-height: 32px;
    letter-spacing: 0.27em; }
  .reservation .button {
    padding-top: 30px; }
    .reservation .button a {
      gap: 20px;
      width: 569px;
      height: 116px;      
      background: linear-gradient(135deg, #6da0d0 0%, #1867b4 29%, #1867b4 71%, #ccc 100%);
      background-size: 100% 100%;
      background-position: center;
      border-radius: 100px;
      font-size: 38px; }
      .reservation .button a:before {
        content: '';
        display: block;
        width: 38px;
        height: 44px;
        background: url("../img/common/icon-notification.png") no-repeat center top/cover; }
      .reservation .button a:hover {
        background-size: 200% 100%; }
        .reservation .button a:hover:before {
          animation: ring 0.6s ease; }

@keyframes ring {
  0% {
    transform: rotate(0); }
  15% {
    transform: rotate(10deg); }
  30% {
    transform: rotate(-10deg); }
  45% {
    transform: rotate(8deg); }
  60% {
    transform: rotate(-8deg); }
  75% {
    transform: rotate(4deg); }
  100% {
    transform: rotate(0); } }
@media screen and (max-width: 767px) {
  .reservation {
    padding: 40px 0; }
    .reservation .swiper-slide {
      width: 1829px; }
    .reservation .button {
      padding-top: 20px; }
      .reservation .button a {
        width: 100%;
        height: 80px;
        font-size: 24px; }
        .reservation .button a:before {
          content: '';
          display: block;
          width: 24px;
          height: 29px; }
.reservation h2 {
    font-size: 22px; }

}
/* -- -- */
.area-anime {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 1120px;
  margin: 0 auto; }

@media only screen and (max-width: 1120px) {
  .area-anime {
    width: 100%; } }
.area-anime #animation_container {
  position: relative;
  margin: auto;
  left: 0;
  right: 0; }

@media only screen and (max-width: 420px) {
  .area-anime #animation_container #canvas {
    width: 440px !important;
    height: 227px !important;
    left: 50%;
    top: 100px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); } }
/*=============================================
 * ABOUT
*=============================================*/
#about__lead {
  padding: 150px 30px; }
  #about__lead .wrap {
    max-width: 1290px;
    margin: 0 auto; }
  #about__lead h2 {
    font-weight: 700;
    font-size: 32px;
    line-height: 2.18;
    letter-spacing: 0.03em; }
  #about__lead .txt {
    font-weight: 500;
    font-size: 22px;
    line-height: 3.18;
    letter-spacing: 0.03em;
    padding-top: 40px; }
  #about__lead figure {
    padding-top: 50px; }

@media screen and (max-width: 767px) {
  #about__lead {
    overflow: hidden;
    padding: 80px 0; }
    #about__lead h2 {
      font-size: 24px;
      line-height: 2; }
    #about__lead .txt {
      font-size: 16px;
      line-height: 2.5;
      padding-top: 20px; }
    #about__lead figure {
      margin: 0 -20px;
      padding-top: 30px; } }
/*-- --*/
#business {
  padding: 0 30px 120px; }
  #business .wrap {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    max-width: 1290px; }
  #business .col {
    width: 705px; }
  #business h2 {
    font-weight: 700;
    font-size: 40px;
    line-height: 76px;
    letter-spacing: 0.06em; }
    #business h2 span {
      display: block;
      color: #427EE1;
      font-weight: 700;
      font-size: 20px;
      line-height: 32px;
      letter-spacing: 0.07em;
      text-transform: uppercase; }
  #business .txt {
    line-height: 42px;
    padding-top: 40px; }
    #business .txt p + p {
      padding-top: 40px; }
  #business .col figure {
    width: 486px;
    padding-top: 60px; }
  #business .photo {
    width: 485px; }

@media screen and (max-width: 1023px) {
  #business .wrap {
    flex-direction: column;
    gap: 50px;
    align-items: center; } }
@media screen and (max-width: 767px) {
  #business {
    padding: 0 0 80px; }
    #business .col,
    #business .photo {
      width: 100%; }
    #business .col figure {
      width: 100%;
      padding-top: 30px; }
    #business h2 {
      font-size: 32px;
      line-height: 48px; }
      #business h2 span {
        font-size: 16px; }
    #business .txt {
      line-height: 32px;
      padding-top: 20px; }
      #business .txt p + p {
        padding-top: 30px; } }
/*-- --*/
.recruit__list {
  padding: 0 30px 175px; }
  .recruit__list .wrap {
    max-width: 1290px; }
  .recruit__list .field + .field {
    margin-top: 80px; }
  .recruit__list h2 {
    font-weight: 700;
    font-size: 38px;
    line-height: 1.5;
    padding-bottom: 40px; }
  .recruit__list .fieldCollap:not(:last-child) {
    margin-bottom: 20px; }
  .recruit__list .fieldCollapHead {
    position: sticky;
    top: 117px;
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    height: 80px;
    padding-left: 60px;
    list-style: none;
    background-color: #f4f4f4;
    border-radius: 0 0px 0px 0;
    font-weight: 500;
    font-size: 22px;
    cursor: pointer; }
    .recruit__list .fieldCollapHead:before {
      content: '';
      width: 4px;
      height: 100%;
      border-radius: 2px;
      position: absolute;
      top: 0;
      left: 0; }
  .recruit__list .fieldCollapIcon {
    width: 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    margin: auto; }
  .recruit__list .fieldCollapHeadTxt:before, .recruit__list .fieldCollapHeadTxt:after {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 4;
    display: block;
    margin: auto 0;
    content: "";
    background-color: #111;
    transition: all 0.3s; }
  .recruit__list .fieldCollapHeadTxt:before {
    right: 37px;
    width: 20px;
    height: 2px;
    border-radius: 2px; }
  .recruit__list .fieldCollapHeadTxt:after {
    right: 46px;
    width: 2px;
    height: 20px;
    border-radius: 2px; }
  .recruit__list .fieldCollap[open] .fieldCollapHead .fieldCollapHeadTxt::after {
    transform: rotate(90deg); }
  .recruit__list .fieldCollapHead-rail::before {
    background-color: #0091e1; }
  .recruit__list .fieldCollapHead-food::before {
    background-color: #ffde78; }
  .recruit__list .fieldCollapHead-hotel::before {
    background-color: #009a8d; }
  .recruit__list .fieldCollapHead-travel::before {
    background-color: #ea807b; }
  .recruit__list .fieldCollapHead-real::before {
    background-color: #009a8d; }
  .recruit__list .fieldCollapHead-shopping::before {
    background-color: #009a8d; }
  .recruit__list .fieldCollapHead-community::before {
    background-color: #009a8d; }
  .recruit__list .fieldCollapHead-digital::before {
    background-color: #ea807b; }
  .recruit__list .fieldCollapHead-support::before {
    background-color: #0091e1; }
  .recruit__list .c-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px; }
  .recruit__list .fieldCollapBody {
    padding: 20px 0; }
  .recruit__list .corporationItem {
    position: relative; }
  .recruit__list .corporationItem:hover .corporationPhotoImg {
    transform: scale(1.05); }
  .recruit__list .corporationPhoto {
    display: block;
    overflow: hidden;
    background: url("../img/about/loading.gif") no-repeat center;
    background-size: 33px;
    border-radius: 0px;
    box-shadow: 0 0 1px #bbb;
    margin-bottom: 10px; }
  .recruit__list .corporationPhotoImg {
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1); }
  .recruit__list .corporationLabel {
    display: flex;
    align-items: center;
    width: fit-content; }
  .recruit__list .corporationLabelWrapper {
    display: flex;
    align-items: center;
    gap: 0 5px;
    width: 100%; }
  .recruit__list .corporationName {
    font-weight: 700;
    font-size: 16px;
	  color: #0068B7;
    line-height: 27px;
    margin-bottom: 16px; }
    .recruit__list .corporationName:after {
      content: '';
      width: 16px;
      height: 16px;
      background: url("../img/about/window.svg") no-repeat center top/cover;
      display: inline-block;
      vertical-align: middle;
      margin-left: 5px; }
  .recruit__list .corporationIntroduction {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 24px; }
  .recruit__list .corporationLabel {
    display: flex;
    align-items: center;
    width: fit-content;
    gap: 8px; }
  .recruit__list .corporationLabelMajor {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 26px;
    box-sizing: border-box;
    font-weight: 700;
    color: #111;
    padding: 3px 13px 4px;
    font-size: 13px;
    border-radius: 0px;
    line-height: 20px; }
  .recruit__list .corporationLabelSub {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 26px;
    box-sizing: border-box;
    padding: 3px 13px 4px;
    color: #111;
    font-weight: 700;
    font-size: 13px;
    line-height: 20px;
    color: #0065b1;
    background-color: #fff;
    border: 1px solid #0065b1;
    border-radius: 0px; }
  .recruit__list .rail .corporationLabelMajor {
    background-color: #8bd6ff; }
  .recruit__list .food .corporationLabelMajor {
    background-color: #ffe593; }
  .recruit__list .hotel .corporationLabelMajor {
    background-color: #b5ea8b; }
  .recruit__list .travel .corporationLabelMajor {
    background-color: #ffb3af; }
  .recruit__list .real .corporationLabelMajor {
    background-color: #b5ea8b; }
  .recruit__list .shopping .corporationLabelMajor {
    background-color: #b5ea8b; }
  .recruit__list .community .corporationLabelMajor {
    background-color: #b5ea8b; }
  .recruit__list .digital .corporationLabelMajor {
    background-color: #ffb3af; }
  .recruit__list .support .corporationLabelMajor {
    background-color: #8bd6ff; }
  .recruit__list .button {
    padding-top: 85px; }

@media screen and (max-width: 767px) {
	.spmt{margin-top:30px;}
  .recruit__list {
    padding: 0 0 80px; }
    .recruit__list .field + .field {
      margin-top: 40px; }
    .recruit__list h2 {
      font-size: 25px;
      padding-bottom: 20px; }
    .recruit__list .fieldCollapHead {
      height: 48px;
      font-size: 16px;
      padding-left: 45px;
      top: 55px;
      border-radius: 0 8px 8px 0; }
    .recruit__list .fieldCollapIcon {
      width: 30px;
      left: 10px; }
    .recruit__list .fieldCollapHeadTxt:before {
      right: 15px; }
    .recruit__list .fieldCollapHeadTxt:after {
      right: 23px; }
    .recruit__list .c-grid {
      grid-template-columns: 1fr; }
    .recruit__list .corporationLabelMajor {
      min-height: 20px;
      font-size: 12px;
      padding: 0 10px; }
    .recruit__list .corporationLabelSub {
      min-height: 20px;
      font-size: 12px;
      padding: 0 10px; }
    .recruit__list .button {
      padding-top: 40px; } }
/*-- --*/

/*# sourceMappingURL=contents.css.map */

.textbg{
	color: white !important;
	padding: .02em .4em !important;
	display:inline-block !important;
	background: none;
	background: #2867ae !important;
}

.mb2{
	padding-bottom:250px !important;
}

@media screen and (max-width: 767px) {
.mb2{
	padding-bottom:200px !important;
	margin-bottom:-100px;
}
}