/* ==========================================================================
	root
========================================================================== */
:root {
  --base-text-color:#333;
  --base-link-color:#1C2660;
  --theme-color:#00b4ea;
  --base-pc-width:1500;
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeOutQuint:cubic-bezier(.25, .46, .45, .94);
  --easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
  --easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
  --easeInCirc:cubic-bezier(0.55, 0, 1, 0.45); }

/* ==========================================================================
	animations
========================================================================== */
@keyframes main {
  0% {
    opacity: 0;
    transform: scale(1); }
  5% {
    opacity: 1; }
  20% {
    opacity: 1; }
  25% {
    opacity: 0; }
  100% {
    opacity: 0;
    transform: scale(1.2); } }
@keyframes wave01 {
  0% {
    transform: translate(0); }
  12.5% {
    transform: translate(-5%, 15px); }
  25% {
    transform: translate(-10%, 0px); }
  37.5% {
    transform: translate(-5%, 15px); }
  50% {
    transform: translate(0); }
  62.5% {
    transform: translate(-5%, 15px); }
  75% {
    transform: translate(-10%, 0px); }
  87.5% {
    transform: translate(-5%, 15px); }
  100% {
    transform: translateX(0); } }
@keyframes wave02 {
  0% {
    transform: translate(0); }
  6.25% {
    transform: translate(-5%, 20px); }
  12.5% {
    transform: translate(-10%, 0px); }
  18.75% {
    transform: translate(-12.5%, 20px); }
  25% {
    transform: translate(-15%, 0px); }
  37.5% {
    transform: translate(-10%, 20px); }
  50% {
    transform: translate(0); }
  56.25% {
    transform: translate(-5%, 20px); }
  62.5% {
    transform: translate(-10%, 0); }
  75% {
    transform: translate(-15%, 20px); }
  87.5% {
    transform: translate(-10%, 0px); }
  100% {
    transform: translateX(0); } }
@keyframes wave03 {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 1273px 0; } }
@keyframes wave04 {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -1273px 0; } }
@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
@keyframes loop-slide-rev {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0); } }
@keyframes bubble {
  0% {
    transform: rotate(-7deg); }
  50% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(7deg); } }
@keyframes bubble02 {
  0% {
    transform: rotate(7deg); }
  50% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-7deg); } }
/* ==========================================================================
	mv
========================================================================== */
#mv {
  position: relative;
  z-index: 50;
  width: 100%;
  height: 100vh;
  min-height: 860px;
  overflow: hidden; }
  #mv:before, #mv:after {
    content: "";
    display: block;
    position: absolute;
    left: 0%;
    bottom: 0;
    width: 100%;
    mix-blend-mode: multiply;
    width: 130%; }
  #mv:before {
    background: url(../image/wave01.png) repeat-x;
    background-size: 2000px 140px;
    height: 140px;
    z-index: 2;
    animation: wave01 30s linear infinite; }
  #mv:after {
    background: url(../image/wave02.png) repeat-x;
    background-size: 2000px 84px;
    height: 84px;
    z-index: 3;
    animation: wave02 25s linear infinite; }
  #mv .tit_area {
    position: absolute;
    top: calc(50% - 68px);
    width: 100%;
    margin: auto;
    z-index: 10; }
  #mv .subtit {
    display: block;
    width: 252px;
    margin: 0 auto 25px; }
  #mv h2 {
    display: block;
    width: 458px;
    margin: 0 auto; }
  #mv .bg_area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }
  #mv .bg {
    position: absolute;
    width: 50%;
    height: 100%;
    overflow: hidden; }
    #mv .bg.-left {
      left: 0; }
    #mv .bg.-right {
      right: 0; }
    #mv .bg .images {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 100%;
      height: 100%;
      object-fit: cover;
      background-position: center center;
      background-size: cover; }
      #mv .bg .images img {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 100%;
        height: 100%;
        object-fit: cover;
        background-position: center center;
        background-size: cover;
        opacity: 0;
        --animation-duration: 20s;
        --animation-delay-base: calc(var(--animation-duration) / 5);
        -webkit-animation: main var(--animation-duration) linear 0s infinite;
        animation: main var(--animation-duration) linear 0s infinite; }
      #mv .bg .images:nth-child(2) img {
        animation-delay: calc(var(--animation-delay-base)); }
      #mv .bg .images:nth-child(3) img {
        animation-delay: calc(2 * var(--animation-delay-base)); }
      #mv .bg .images:nth-child(4) img {
        animation-delay: calc(3 * var(--animation-delay-base)); }
      #mv .bg .images:nth-child(5) img {
        animation-delay: calc(4 * var(--animation-delay-base)); }

@media screen and (max-width: 800px) {
  #mv {
    min-height: 10px;
    height: 100svh; }
    #mv:before {
      background-size: 1000px 70px;
      height: 70px; }
    #mv:after {
      background-size: 1000px 42px;
      height: 42px; }
    #mv .tit_area {
      top: calc(45.6% - 90px); }
    #mv .subtit {
      width: 252px;
      width: clamp(190px, 46.54%, 252px);
      margin: 0 auto 18px; }
    #mv h2 {
      width: 300px;
      width: clamp(300px, 84%, 350px); }
    #mv .bg_area {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      z-index: 1; }
    #mv .bg {
      width: 100%; }
      #mv .bg.-left {
        height: 55.4%;
        bottom: 0; }
      #mv .bg.-right {
        height: 45.6%; } }
/* ==========================================================================
	intro
========================================================================== */
.intro {
  position: relative;
  width: 100%;
  z-index: 60;
  padding-top: 75px; }
  .intro.t-wave:before {
    top: -31px;
    animation: none; }
  .intro .illust_area {
    position: absolute;
    display: flex;
    align-items: center;
    left: 0;
    top: 110px;
    width: 48%;
    height: 390px;
    overflow: hidden;
    z-index: 1; }
    .intro .illust_area:after {
      content: "";
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      width: 200px;
      height: 100%;
      background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 100%);
      z-index: 50; }
    .intro .illust_area .illust_box {
      display: flex;
      animation: loop-slide 20s infinite linear 1s both; }
    .intro .illust_area .illusts {
      position: relative;
      vertical-align: bottom;
      height: 390px;
      margin-left: 125px; }
      .intro .illust_area .illusts:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        width: 258px;
        height: 206px;
        background: url(../image/intro_bubble.svg);
        backgroudn-size: cover;
        animation: bubble 3s linear infinite alternate;
        transform-origin: bottom center; }
      .intro .illust_area .illusts.illust01 {
        width: 245px; }
        .intro .illust_area .illusts.illust01:before {
          left: 30px; }
      .intro .illust_area .illusts.illust02 {
        width: 178px; }
        .intro .illust_area .illusts.illust02:before {
          top: 10px;
          left: -7px;
          animation: bubble02 3s linear infinite alternate; }
      .intro .illust_area .illusts.illust03 {
        width: 239px; }
        .intro .illust_area .illusts.illust03:before {
          left: 25px; }
      .intro .illust_area .illusts.illust04 {
        width: 228px; }
        .intro .illust_area .illusts.illust04:before {
          top: 10px;
          left: 20px;
          animation: bubble02 3s linear infinite alternate; }
      .intro .illust_area .illusts img {
        position: absolute;
        bottom: 0; }
  .intro .text_area {
    position: relative;
    width: 50%;
    margin-left: auto;
    padding-right: 3rem;
    min-width: 600px;
    padding-bottom: 284px;
    box-sizing: border-box;
    z-index: 20; }
    .intro .text_area h2 {
      position: absolute;
      left: 5px;
      top: -15px;
      width: 90px;
      font-size: 3.8rem;
      line-height: 1.26;
      letter-spacing: 0.15em; }
    .intro .text_area p {
      position: relative;
      font-size: 1.8rem;
      line-height: 2.55;
      margin-left: 165px;
      /*90+75*/ }
  .intro .slide_area {
    position: absolute;
    top: calc(100% - 140px);
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 500px;
    overflow: hidden; }
    .intro .slide_area .slide_box {
      display: flex;
      animation: loop-slide-rev 40s infinite linear 1s both; }
    .intro .slide_area .slides {
      position: relative;
      width: 516px;
      margin-left: 40px; }
      .intro .slide_area .slides img {
        border-radius: 40px; }
      .intro .slide_area .slides.slide01 {
        width: 471px; }
      .intro .slide_area .slides.slide03 {
        width: 384px; }

@media screen and (max-width: 1000px) {
  .intro .illust_area {
    position: relative;
    top: auto;
    width: 100%;
    margin-top: 5rem; }
    .intro .illust_area:after {
      display: none; }
    .intro .illust_area .illusts {
      margin-left: 80px;
      transform: scale(0.8); }
  .intro .text_area {
    position: relative;
    width: 80%;
    margin: 5rem auto 0;
    min-width: 10px;
    padding-right: 0;
    padding-bottom: 265px; }
    .intro .text_area h2 {
      position: relative;
      left: auto;
      top: auto;
      width: auto;
      writing-mode: horizontal-tb;
      font-feature-settings: normal;
      display: inline-block;
      -webkit-writing-mode: horizontal-tb;
      --lh: 1.26;
      position: relative;
      overflow: hidden;
      line-height: var(--lh); }
      .intro .text_area h2::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - var(--lh)) * 0.5em); }
      .intro .text_area h2::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - var(--lh)) * 0.5em); }
    .intro .text_area p {
      margin: 4rem 0 0; }
      .intro .text_area p br {
        display: none; } }
@media screen and (max-width: 800px) {
  .intro {
    padding-top: 53px; }
    .intro.t-wave:before {
      top: -20px; }
    .intro .illust_area {
      margin-top: 0;
      height: 220px; }
      .intro .illust_area .illusts {
        transform: scale(1);
        height: 220px;
        margin-left: 75px; }
        .intro .illust_area .illusts:before {
          width: 141px;
          height: 113px; }
        .intro .illust_area .illusts.illust01 {
          width: 132px; }
          .intro .illust_area .illusts.illust01:before {
            left: 15px; }
        .intro .illust_area .illusts.illust02 {
          width: 105px; }
          .intro .illust_area .illusts.illust02:before {
            top: 5px;
            left: -3px; }
        .intro .illust_area .illusts.illust03 {
          width: 130px; }
          .intro .illust_area .illusts.illust03:before {
            left: 25px; }
        .intro .illust_area .illusts.illust04 {
          width: 125px; }
          .intro .illust_area .illusts.illust04:before {
            top: 15px;
            left: 10px; }
    .intro .text_area {
      margin-top: 6.5rem;
      padding-bottom: 23rem; }
      .intro .text_area h2 {
        font-size: 2.3rem; }
      .intro .text_area p {
        font-size: 1.3rem;
        line-height: 2.69;
        padding-bottom: 0; }
    .intro .slide_area {
      top: calc(100% - 130px);
      height: 183px; }
      .intro .slide_area .slides {
        position: relative;
        width: 189px;
        margin-left: 15px; }
        .intro .slide_area .slides img {
          border-radius: 20px; }
        .intro .slide_area .slides.slide01 {
          width: 172px; }
        .intro .slide_area .slides.slide03 {
          width: 140px; } }
/* ==========================================================================
	whats
========================================================================== */
.whats {
  position: relative;
  z-index: 5; }
  .whats .text_area {
    position: relative;
    width: 50%;
    margin-left: auto;
    min-width: 600px;
    padding-top: 535px;
    padding-left: 7.22vw;
    padding-bottom: 130px;
    box-sizing: border-box;
    z-index: 10; }
  .whats h2 {
    display: block;
    width: 323px;
    transform: translateX(-5px);
    margin-bottom: 6rem; }
  .whats h3 {
    font-size: 3.2rem;
    --lh:1.75;
    position: relative;
    overflow: hidden;
    line-height: var(--lh);
    color: #fff;
    margin-bottom: 5.5rem; }
    .whats h3::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    .whats h3::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
  .whats .text_box {
    position: relative;
    padding: 7.5rem 0; }
    .whats .text_box:before {
      content: "";
      display: block;
      width: calc(100% + 7.22vw);
      height: 100%;
      background: var(--theme-color);
      position: absolute;
      left: -7.22vw;
      top: 0;
      border-radius: 28px 0 0 28px;
      z-index: 1; }
  .whats p {
    position: relative;
    max-width: 500px;
    font-size: 1.8rem;
    --lh:2.22;
    position: relative;
    overflow: hidden;
    line-height: var(--lh);
    color: #fff;
    z-index: 5; }
    .whats p::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    .whats p::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
  .whats .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 0 0 50vw 50vw;
    overflow: hidden;
    z-index: 1; }

@media screen and (max-width: 800px) {
  .whats .text_area {
    width: 80%;
    margin: 0 auto;
    min-width: 10px;
    padding-top: 80px;
    padding-left: 5vw;
    padding-bottom: 0; }
  .whats h2 {
    display: block;
    width: clamp(190px, 47.5vw, 280px);
    transform: translateX(-2px);
    margin-bottom: 4rem; }
  .whats h3 {
    font-size: 2rem;
    --lh:1.39;
    margin-bottom: 4.5rem; }
  .whats .text_box {
    position: relative;
    padding: 4rem 0; }
    .whats .text_box:before {
      width: 95vw;
      left: -6.75vw;
      border-radius: 14px 0 0 14px; }
  .whats p {
    max-width: 100%;
    font-size: 1.3rem;
    padding-left: 1.5rem; }
  .whats .bg {
    height: 390px;
    border-radius: 0 0 200px 200px; } }
/* ==========================================================================
	lineup
========================================================================== */
.lineup {
  position: relative;
  padding-top: 14rem;
  padding-bottom: 9.3rem; }
  .lineup .en_tit {
    height: 42px;
    --tit-width:476;
    width: calc(var(--tit-width) / 2 * 1px);
    width: 480px;
    /*
    span:first-child{width: calc(62/var(--tit-width) * 100%);}
    span:nth-child(2){width: calc(58/var(--tit-width) * 100%);}
    span:nth-child(3){width: calc(90/var(--tit-width) * 100%);}
    span:nth-child(4){width: calc(118/var(--tit-width) * 100%);}
    span:nth-child(5){width: calc(88/var(--tit-width) * 100%);}
    span:nth-child(6){width: calc(60/var(--tit-width) * 100%);}
    */ }
    .lineup .en_tit span:first-child {
      width: 31px; }
    .lineup .en_tit span:nth-child(2) {
      width: 29px; }
    .lineup .en_tit span:nth-child(3) {
      width: 45px; }
    .lineup .en_tit span:nth-child(4) {
      width: 59px; }
    .lineup .en_tit span:nth-child(5) {
      width: 44px; }
    .lineup .en_tit span:nth-child(6) {
      width: 30px; }
  .lineup .ja_tit {
    --delay: calc(6 * 0.06s + 0.15s); }
  .lineup .c_txt {
    font-size: 1.6rem;
    text-align: center;
    line-height: 2;
    margin-bottom: 6rem; }

.swiper-wrapper {
  position: relative;
  	/*
  .swiper-slide{
  	@include hover{
  		.img img{
  			transform:scale(1.05);
  		}
  		h4,p{
  			color:var(--theme-color);
  		}
  	}
  }
  */ }
  .swiper-wrapper .img_area {
    position: relative;
    margin-bottom: 7.5rem; }
    .swiper-wrapper .img_area .num {
      display: block;
      position: absolute;
      left: 3rem;
      top: 3rem;
      font-size: 3.1rem;
      color: var(--theme-color);
      z-index: 10; }
      .swiper-wrapper .img_area .num:after {
        content: "";
        display: block;
        width: 109px;
        height: 2px;
        background: var(--theme-color);
        position: absolute;
        bottom: -12px;
        left: -19px;
        transform: rotate(-45deg); }
    .swiper-wrapper .img_area .img {
      position: relative;
      overflow: hidden;
      border-radius: 20px; }
      .swiper-wrapper .img_area .img img {
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s; }
      .swiper-wrapper .img_area .img:before {
        content: "";
        display: block;
        padding-top: calc((1120/720)*100%); }
    .swiper-wrapper .img_area .icons {
      position: absolute;
      left: 0;
      right: 0;
      bottom: -40px;
      margin: auto;
      width: 250px;
      height: 70px;
      z-index: 10; }
      .swiper-wrapper .img_area .icons span {
        display: block;
        position: absolute;
        width: 70px; }
        .swiper-wrapper .img_area .icons span.small {
          left: 0; }
        .swiper-wrapper .img_area .icons span.medium {
          left: 0;
          right: 0;
          margin: auto; }
        .swiper-wrapper .img_area .icons span.large {
          right: 0; }
  .swiper-wrapper .text_area {
    position: relative;
    margin: 0 auto; }
    .swiper-wrapper .text_area h4 {
      font-size: 3.2rem;
      margin-bottom: 3rem;
      text-align: center;
      transition: color cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s; }
    .swiper-wrapper .text_area p {
      display: block;
      width: 80%;
      width: clamp(250px, 80%, 400px);
      font-size: 1.6rem;
      line-height: 1.574;
      margin: 0 auto;
      transition: color cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s; }

@media screen and (min-width: 801px) {
  .swiper-wrapper {
    width: 1300px;
    width: clamp(700px, 86.66%, 1650px);
    display: grid;
    gap: 11rem 9%;
    grid-template-columns: repeat(3, 1fr);
    margin: 11.5rem auto 11rem; }
    .swiper-wrapper .swiper-button-wrap {
      display: none; }
    .swiper-wrapper > * {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.8s var(--easeOutQuad), transform 0.8s var(--easeOutQuad); }
    .swiper-wrapper.move > * {
      opacity: 100;
      transform: translateY(0); }
      .swiper-wrapper.move > *:nth-child(2) {
        transition-delay: 0.3s; }
      .swiper-wrapper.move > *:nth-child(3) {
        transition-delay: 0.6s; }
      .swiper-wrapper.move > *:nth-child(4) {
        transition-delay: 0.9s; }
      .swiper-wrapper.move > *:nth-child(5) {
        transition-delay: 1.2s; }
      .swiper-wrapper.move > *:nth-child(6) {
        transition-delay: 1.5s; }
      .swiper-wrapper.move > *:nth-child(7) {
        transition-delay: 1.8s; }
      .swiper-wrapper.move > *:nth-child(8) {
        transition-delay: 2.1s; }
      .swiper-wrapper.move > *:nth-child(9) {
        transition-delay: 2.4s; }
      .swiper-wrapper.move > *:nth-child(10) {
        transition-delay: 2.7s; }
      .swiper-wrapper.move > *:nth-child(11) {
        transition-delay: 3s; }
      .swiper-wrapper.move > *:nth-child(12) {
        transition-delay: 3.3s; }
      .swiper-wrapper.move > *:nth-child(13) {
        transition-delay: 3.6s; }
      .swiper-wrapper.move > *:nth-child(14) {
        transition-delay: 3.9s; }
      .swiper-wrapper.move > *:nth-child(15) {
        transition-delay: 4.2s; }
      .swiper-wrapper.move > *:nth-child(16) {
        transition-delay: 4.5s; }

  .swiper-button-wrap {
    display: none; } }
@media screen and (max-width: 1100px) {
  .swiper-wrapper {
    grid-template-columns: repeat(2, 1fr); } }
@media screen and (max-width: 800px) {
  .lineup {
    padding-top: 8.5rem;
    padding-bottom: 4.5rem; }
    .lineup .en_tit {
      width: 100%; }
    .lineup .ja_tit {
      margin-bottom: 5rem; }
    .lineup .c_txt {
      font-size: 1.2rem;
      margin-bottom: 3rem; }

  .swiper {
    /*
    width: 90%;
    */ }

  .swiper-wrapper {
    margin-bottom: 3.5rem; }
    .swiper-wrapper .img_area {
      margin-bottom: 6.5rem; }
      .swiper-wrapper .img_area .num {
        display: block;
        position: absolute;
        left: 3rem;
        top: 3rem;
        font-size: 3.1rem;
        color: var(--theme-color);
        z-index: 10; }
        .swiper-wrapper .img_area .num:after {
          content: "";
          display: block;
          width: 109px;
          height: 2px;
          background: var(--theme-color);
          position: absolute;
          bottom: -12px;
          left: -19px;
          transform: rotate(-45deg); }
      .swiper-wrapper .img_area .icons {
        position: absolute;
        left: 0;
        right: 0;
        bottom: -40px;
        margin: auto;
        width: 250px;
        height: 70px;
        z-index: 10; }
        .swiper-wrapper .img_area .icons span {
          display: block;
          position: absolute;
          width: 70px; }
          .swiper-wrapper .img_area .icons span.small {
            left: 0; }
          .swiper-wrapper .img_area .icons span.medium {
            left: 0;
            right: 0;
            margin: auto; }
          .swiper-wrapper .img_area .icons span.large {
            right: 0; }
    .swiper-wrapper .text_area {
      position: relative;
      margin: 0 auto;
      padding-bottom: 0; }
      .swiper-wrapper .text_area h4 {
        font-size: 2.9rem;
        margin-bottom: 2rem; }
      .swiper-wrapper .text_area p {
        font-size: 1.4rem; }
    .swiper-wrapper .swiper-slide {
      width: 300px;
      width: 75vw; }

  .swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: relative;
    width: 90%;
    margin: 0 auto 2rem;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto; }

  .swiper-scrollbar-drag {
    background: var(--theme-color); }

  /*
  .swiper-slide.swiper-slide-prev{opacity:0;}
  */
  .swiper-button-wrap {
    position: relative;
    width: 110px;
    height: 40px;
    margin: 0 auto 3rem; }

  .swiper-button-next,
  .swiper-button-prev {
    width: 40px;
    height: 40px;
    background: var(--theme-color);
    border-radius: 50%; }
    .swiper-button-next .svg,
    .swiper-button-prev .svg {
      width: 9px;
      height: 15px; }
      .swiper-button-next .svg .cls-1,
      .swiper-button-prev .svg .cls-1 {
        fill: #fff; }
    .swiper-button-next:before, .swiper-button-next:after,
    .swiper-button-prev:before,
    .swiper-button-prev:after {
      display: none; }

  .swiper-button-prev .icon {
    transform: scale(-1, 1); } }
/* ==========================================================================
	big_img_area
========================================================================== */
.big_img_area {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 518px; }
  .big_img_area:before {
    top: calc(100% - 35px); }

.big_img_area02 {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 520px; }

@media screen and (max-width: 800px) {
  .big_img_area {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 64.625vw;
    min-height: 260px; }
    .big_img_area:before {
      top: calc(100% - 17px); }

  .big_img_area02 {
    height: 65vw;
    min-height: 260px; } }
/* ==========================================================================
	point
========================================================================== */
.point {
  position: relative;
  padding-top: 8.5rem;
  padding-bottom: 9.3rem; }
  .point:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 270px;
    background: #fff;
    z-index: 1; }
  .point .en_tit {
    height: 38px;
    --tit-width:700;
    width: calc(var(--tit-width) / 2 * 1px);
    width: 350px; }
    .point .en_tit span:first-child {
      width: 33px; }
    .point .en_tit span:nth-child(2) {
      width: 44px; }
    .point .en_tit span:nth-child(3) {
      width: 18px; }
    .point .en_tit span:nth-child(4) {
      width: 40px; }
    .point .en_tit span:nth-child(5) {
      width: 40px; }
  .point .ja_tit {
    --delay: calc(5 * 0.06s + 0.15s);
    margin-bottom: 9.5rem; }

.point_box {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: 90%;
  max-width: 1025px;
  margin: 0 auto 6.5rem; }
  .point_box .img_area {
    position: relative;
    width: calc((820/2046)*100%);
    border-radius: 20px;
    overflow: hidden; }
    .point_box .img_area:before {
      content: "";
      display: block;
      padding-top: calc((1126/820)*100%); }
  .point_box .text_area {
    width: calc((840/2046)*100%);
    min-width: 400px;
    display: flex;
    align-items: center;
    justify-content: center; }
    .point_box .text_area h4 {
      font-size: 3.2rem;
      margin-bottom: 4.5rem;
      --lh:1.75;
      position: relative;
      overflow: hidden;
      line-height: var(--lh);
      color: #fff;
      letter-spacing: 0.05em; }
      .point_box .text_area h4::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - var(--lh)) * 0.5em); }
      .point_box .text_area h4::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - var(--lh)) * 0.5em); }
    .point_box .text_area p {
      font-size: 1.6rem;
      --lh:2.125;
      position: relative;
      overflow: hidden;
      line-height: var(--lh);
      color: #000; }
      .point_box .text_area p::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - var(--lh)) * 0.5em); }
      .point_box .text_area p::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - var(--lh)) * 0.5em); }
  .point_box .num {
    position: relative;
    display: block;
    width: 100%;
    max-width: 190px;
    margin-bottom: 5.5rem; }
  .point_box.box01 .num:before {
    content: "";
    display: block;
    width: 128px;
    height: 149px;
    position: absolute;
    left: calc(100% + 45px);
    top: -85px;
    background: url(../image/dog-illust05.svg);
    background-size: cover;
    transform: translate(-30px, 10px);
    opacity: 0;
    transition: transform .3s ease-out,opacity .3s ease-out;
    	/*
    	 -webkit-clip-path: polygon(0 0, 0 0, 0 0);
    	 clip-path: polygon(0 0, 0 0, 0 0);
        transition: clip-path .4s ease-out;
        */ }
  .point_box.box01.move .num:before {
    transform: translate(0);
    opacity: 1; }
  .point_box.box02 {
    flex-direction: row;
    margin-bottom: 16rem; }
    .point_box.box02 .illust_area {
      position: absolute;
      right: 0;
      top: -100px;
      --width:578;
      --height:300;
      width: 578px;
      height: 300px;
      z-index: 20; }
      .point_box.box02 .illust_area span {
        display: block;
        position: relative;
        width: calc((267/var(--width) * 100%));
        -webkit-clip-path: polygon(0 0, 0 0, 0 0);
        clip-path: polygon(0 0, 0 0, 0 0);
        transition: clip-path .6s ease-out; }
      .point_box.box02 .illust_area .illust {
        position: absolute;
        right: 0;
        bottom: 0;
        width: calc((260/var(--width) * 100%));
        transform: translate(-60px, -10px) scale(-1, 1);
        opacity: 0;
        transition: transform .5s ease-out,opacity .5s ease-out;
        transition-delay: .3s; }
    .point_box.box02.move .illust_area span {
      webkit-clip-path: polygon(0 0, 200% 0, 0 200%);
      clip-path: polygon(0 0, 200% 0, 0 200%); }
    .point_box.box02.move .illust_area .illust {
      transform: translate(0) scale(-1, 1);
      opacity: 1; }
    .point_box.box02 .text_area {
      padding-top: 12rem; }
    .point_box.box02 .num {
      max-width: 200px; }
  .point_box.box03 {
    margin-bottom: 17rem; }
    .point_box.box03 .illust_area {
      position: absolute;
      right: calc(50% - 175px);
      top: -150px;
      --width:473;
      --height:250;
      width: 473px;
      height: 250px; }
      .point_box.box03 .illust_area span {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        width: calc((267/var(--width) * 100%));
        -webkit-clip-path: polygon(0 0, 0 0, 0 0);
        clip-path: polygon(0 0, 0 0, 0 0);
        transform: scale(-1, 1);
        transition: clip-path .6s ease-out; }
      .point_box.box03 .illust_area .illust {
        position: absolute;
        left: 0;
        bottom: 0;
        width: calc((179/var(--width) * 100%));
        transform: translate(60px, -10px);
        opacity: 0;
        transition: transform .5s ease-out,opacity .5s ease-out;
        transition-delay: .3s; }
    .point_box.box03.move .illust_area span {
      webkit-clip-path: polygon(0 0, 200% 0, 0 200%);
      clip-path: polygon(0 0, 200% 0, 0 200%); }
    .point_box.box03.move .illust_area .illust {
      transform: translate(0);
      opacity: 1; }
    .point_box.box03 .text_area {
      padding-top: 13rem; }
    .point_box.box03 .num {
      max-width: 200px; }

.point-btm_area {
  position: relative;
  width: 90%;
  max-width: 1300px;
  margin: 0 auto;
  z-index: 10;
  height: 700px; }
  .point-btm_area .illust {
    display: block;
    width: 176px;
    position: absolute;
    left: 208px;
    bottom: calc(100% - 10px);
    z-index: 10; }
  .point-btm_area .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 45px;
    overflow: hidden;
    z-index: 1; }
  .point-btm_area .text_area {
    position: relative;
    width: 90%;
    height: 100%;
    max-width: 1025px;
    display: flex;
    align-items: center;
    z-index: 10;
    margin: 0 auto;
    color: #fff; }
  .point-btm_area .sub_title {
    display: block;
    font-size: 3.4rem;
    line-height: 1;
    margin-bottom: 2.5rem; }
  .point-btm_area h3 {
    font-size: 4.3rem;
    line-height: 1;
    margin-bottom: 6rem; }
  .point-btm_area p {
    font-size: 1.6rem;
    --lh:2;
    position: relative;
    overflow: hidden;
    line-height: var(--lh);
    max-width: 420px; }
    .point-btm_area p::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    .point-btm_area p::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
  .point-btm_area .map_area {
    position: absolute;
    width: 1462px;
    height: 1329px;
    z-index: 5;
    left: calc(50% - 58px);
    bottom: -35px; }
    .point-btm_area .map_area .japan {
      display: block;
      width: 100%; }
    .point-btm_area .map_area .pin {
      display: block;
      width: 206px;
      height: 274px;
      position: absolute;
      left: -24px;
      bottom: calc((349 / 1329)* 100%);
      z-index: 10; }

@media screen and (max-width: 1150px) {
  .point-btm_area .map_area {
    left: 470px; } }
@media screen and (max-width: 800px) {
  .point {
    padding-top: 5rem;
    padding-bottom: 13rem; }
    .point:after {
      display: none; }
    .point .ja_tit {
      margin-bottom: 10rem; }

  .point_box {
    position: relative;
    display: block;
    width: 80%;
    margin: 0 auto 19rem;
    padding-top: 6rem; }
    .point_box .img_area {
      width: 78%;
      /*
      height: 72.5vw;
      */
      margin: 0 auto 3rem; }
      .point_box .img_area:before {
        padding-top: calc((582/501)*100%); }
    .point_box .text_area {
      width: 100%;
      min-width: 10px;
      display: block;
      display: flex;
      align-items: center;
      justify-content: center; }
      .point_box .text_area h4 {
        font-size: 2.35rem;
        margin-bottom: 3rem;
        --lh:1.82;
        letter-spacing: 0.05em; }
      .point_box .text_area p {
        font-size: 1.25rem;
        --lh:2.2; }
    .point_box .num {
      position: absolute;
      left: 0;
      top: 0;
      display: block;
      width: 100%;
      max-width: 130px;
      margin: 0; }
    .point_box.box01 .num:before {
      width: 99px;
      height: 116px;
      left: calc(100% + 53px);
      top: -70px; }
    .point_box.box02 {
      margin-bottom: 19rem; }
      .point_box.box02 .illust_area {
        top: -115px;
        right: 0;
        width: 191px;
        height: 124px;
        z-index: 20; }
        .point_box.box02 .illust_area span {
          display: none; }
        .point_box.box02 .illust_area .illust {
          width: 100%;
          transition-delay: 0; }
      .point_box.box02 .text_area {
        padding-top: 0; }
      .point_box.box02 .num {
        max-width: 140px; }
    .point_box.box03 {
      margin-bottom: 13rem; }
      .point_box.box03 .illust_area {
        right: 4.5vw;
        top: -123px;
        width: 139px;
        height: 128px; }
        .point_box.box03 .illust_area span {
          display: none; }
        .point_box.box03 .illust_area .illust {
          width: 100%; }
      .point_box.box03 .text_area {
        padding-top: 0; }
      .point_box.box03 .num {
        max-width: 137px; }

  .point-btm_area {
    width: 90%;
    height: auto; }
    .point-btm_area .illust {
      width: 88px;
      left: 26vw;
      bottom: calc(100% - 6px); }
    .point-btm_area .bg {
      position: relative;
      height: 390px;
      border-radius: 25px; }
    .point-btm_area .text_area {
      width: 88.88%;
      height: auto;
      display: block;
      margin: 2.5rem auto 0; }
    .point-btm_area .sub_title {
      text-align: center;
      font-size: 2.1rem;
      margin-bottom: 1.5rem; }
    .point-btm_area h3 {
      display: block;
      font-size: 2.7rem;
      margin-bottom: 2.5rem;
      text-align: center; }
    .point-btm_area p {
      font-size: 1.3rem;
      max-width: 700px; }
    .point-btm_area .map_area {
      width: 800px;
      height: 729px;
      left: calc(50% - 110px);
      bottom: calc(100% - 390px); }
      .point-btm_area .map_area .pin {
        width: 113px;
        height: 152px;
        left: -11px;
        bottom: calc((190 / 729)* 100%); } }
/* ==========================================================================
	recommend
========================================================================== */
.recommend {
  position: relative;
  padding-top: 14rem;
  padding-bottom: 20rem; }
  .recommend .en_tit {
    height: 45px;
    --tit-width:718;
    width: calc(var(--tit-width) / 2 * 1px);
    width: 420px;
    /*
    span:first-child{width: calc(62/var(--tit-width) * 100%);}
    span:nth-child(2){width: calc(58/var(--tit-width) * 100%);}
    span:nth-child(3){width: calc(90/var(--tit-width) * 100%);}
    span:nth-child(4){width: calc(118/var(--tit-width) * 100%);}
    span:nth-child(5){width: calc(88/var(--tit-width) * 100%);}
    span:nth-child(6){width: calc(60/var(--tit-width) * 100%);}
    */ }
    .recommend .en_tit span:first-child {
      width: 36px; }
    .recommend .en_tit span:nth-child(2) {
      width: 40px; }
    .recommend .en_tit span:nth-child(3) {
      width: 37px; }
    .recommend .en_tit span:nth-child(4) {
      width: 42px; }
    .recommend .en_tit span:nth-child(5) {
      width: 42px; }
    .recommend .en_tit span:nth-child(6) {
      width: 45px; }
    .recommend .en_tit span:nth-child(7) {
      width: 42px; }
    .recommend .en_tit span:nth-child(8) {
      width: 40px; }
    .recommend .en_tit span:nth-child(9) {
      width: 37px; }
  .recommend .ja_tit {
    --delay: calc(9 * 0.06s + 0.15s);
    margin-bottom: 9.5rem; }
  .recommend ul {
    position: relative;
    width: 88.66%;
    max-width: 1330px;
    display: grid;
    gap: 7.5rem 4.88%;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto; }
  .recommend li .img_area {
    width: 100%;
    border-radius: 50%;
    margin-bottom: 3.5rem;
    overflow: hidden; }
  .recommend li p {
    width: 90%;
    margin: 0 auto; }
  .recommend li:first-child p {
    max-width: 288px; }
  .recommend li:nth-child(2) p {
    max-width: 318px; }
  .recommend li:nth-child(3) p {
    max-width: 288px; }
  .recommend li:nth-child(4) p {
    max-width: 267px; }
  .recommend li:nth-child(5) p {
    width: 80%;
    max-width: 220px; }
  .recommend li:nth-child(6) p {
    max-width: 288px; }

@media screen and (max-width: 800px) {
  .recommend {
    position: relative;
    padding-top: 6rem;
    padding-bottom: 10rem; }
    .recommend .ja_tit {
      margin-bottom: 4rem; }
    .recommend ul {
      width: 90%;
      gap: 6.5rem 2.3%;
      grid-template-columns: repeat(2, 1fr); }
    .recommend li .img_area {
      margin-bottom: 1.8rem; }
    .recommend li p {
      width: 100%; }
    .recommend li:nth-child(2) p {
      width: 87%;
      transform: translateX(23px); }
    .recommend li:nth-child(5) p {
      width: 74%; }
    .recommend li:nth-child(6) p {
      width: 85%;
      transform: translateX(18px); } }
/* ==========================================================================
	message
========================================================================== */
.message {
  position: relative;
  width: 90%;
  max-width: 1290px;
  margin: 0 auto 16.3rem; }
  .message .en_tit {
    height: 45px;
    --tit-width:546;
    width: calc(var(--tit-width) / 2 * 1px);
    width: 300px;
    margin: 0 0 7.5rem;
    /*
    span:first-child{width: calc(62/var(--tit-width) * 100%);}
    span:nth-child(2){width: calc(58/var(--tit-width) * 100%);}
    span:nth-child(3){width: calc(90/var(--tit-width) * 100%);}
    span:nth-child(4){width: calc(118/var(--tit-width) * 100%);}
    span:nth-child(5){width: calc(88/var(--tit-width) * 100%);}
    span:nth-child(6){width: calc(60/var(--tit-width) * 100%);}
    */ }
    .message .en_tit span:first-child {
      width: 43px; }
    .message .en_tit span:nth-child(2) {
      width: 39px; }
    .message .en_tit span:nth-child(3) {
      width: 38px; }
    .message .en_tit span:nth-child(4) {
      width: 35px; }
    .message .en_tit span:nth-child(5) {
      width: 44px; }
    .message .en_tit span:nth-child(6) {
      width: 37px; }
    .message .en_tit span:nth-child(7) {
      width: 37px; }
  .message .ja_tit,
  .message .n_txt,
  .message .name {
    width: 40%;
    min-width: 470px; }
  .message .ja_tit {
    margin-bottom: 8.5rem;
    font-size: 3.2rem;
    --lh:1.75;
    position: relative;
    overflow: hidden;
    line-height: var(--lh); }
    .message .ja_tit::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    .message .ja_tit::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    @media screen and (min-width: 801px) {
      .message .ja_tit {
        --delay: calc(7 * 0.06s + 0.15s); } }
  .message .img_area {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 55%;
    max-width: 560px;
    height: 100%;
    border-radius: 40px;
    overflow: hidden; }
  .message .n_txt {
    max-width: 545px;
    font-size: 1.6rem;
    --lh:2;
    letter-spacing: 0;
    letter-spacing: -0.02em;
    position: relative;
    overflow: hidden;
    line-height: var(--lh);
    margin-bottom: 8rem;
    transform: translateY(10px);
    opacity: 0;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s, opacity cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s; }
    .message .n_txt::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    .message .n_txt::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    @media screen and (min-width: 801px) {
      .message .n_txt {
        transition-delay: calc(7 * 0.06s + 0.25s); } }
  .message .by_txt {
    font-size: 1.6rem;
    margin-bottom: 2.5rem;
    transform: translateY(10px);
    opacity: 0;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s, opacity cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s; }
    @media screen and (min-width: 801px) {
      .message .by_txt {
        transition-delay: calc(7 * 0.06s + 0.35s); } }
  .message .name {
    font-size: 2.4rem;
    transform: translateY(10px);
    opacity: 0;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s, opacity cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s; }
    .message .name span {
      display: inline-block;
      margin-right: 1.5rem;
      font-size: 1.6rem; }
    @media screen and (min-width: 801px) {
      .message .name {
        transition-delay: calc(7 * 0.06s + 0.45s); } }
  .message.move p {
    transform: translateY(0);
    opacity: 1; }

@media screen and (max-width: 1200px) {
  .message .img_area {
    max-width: calc(100% - 500px); } }
@media screen and (max-width: 950px) {
  .message .en_tit {
    margin-left: auto;
    margin-right: auto; }
  .message .ja_tit,
  .message .n_txt,
  .message .name {
    width: 90%;
    min-width: 10px;
    margin-left: auto;
    margin-right: auto;
    min-width: 10px; }
  .message .img_area {
    position: relative;
    margin: 0 auto;
    height: auto;
    width: 100%;
    max-width: 100%; }
    .message .img_area:before {
      content: "";
      display: block;
      padding-top: 100%; }
  .message .ja_tit {
    margin-top: 8rem; }
  .message .n_txt {
    max-width: 100%; } }
@media screen and (max-width: 800px) {
  .message {
    padding-top: 0;
    margin-bottom: 8rem; }
    .message .en_tit {
      margin-bottom: 2.25em; }
    .message .ja_tit {
      font-size: 2.2rem;
      margin-top: 4.5rem;
      margin-bottom: 2.7rem;
      letter-spacing: 0; }
    .message .n_txt {
      font-size: 1.3rem;
      max-width: 100%;
      margin-bottom: 1.7rem; }
    .message .btm_txt {
      width: auto;
      display: inline-block;
      position: relative;
      margin-left: auto;
      /* right: 0; */
      left: 100%;
      transform: translateX(-118%); }
    .message .by_txt {
      font-size: 1.2rem;
      margin-bottom: 1.4rem; }
    .message .name {
      width: auto;
      font-size: 1.6rem; }
      .message .name span {
        margin-right: 1rem;
        font-size: 1.1rem; } }
/* ==========================================================================
	company
========================================================================== */
.company {
  position: relative;
  margin: 13rem auto 0;
  padding-bottom: 16rem; }
  .company .inr {
    width: 90%;
    max-width: 1070px;
    margin: 0 auto; }
  .company .en_tit {
    height: 38px;
    --tit-width:536;
    width: calc(var(--tit-width) / 2 * 1px);
    width: 290px;
    margin: 0 auto 9rem;
    /*
    span:first-child{width: calc(62/var(--tit-width) * 100%);}
    span:nth-child(2){width: calc(58/var(--tit-width) * 100%);}
    span:nth-child(3){width: calc(90/var(--tit-width) * 100%);}
    span:nth-child(4){width: calc(118/var(--tit-width) * 100%);}
    span:nth-child(5){width: calc(88/var(--tit-width) * 100%);}
    span:nth-child(6){width: calc(60/var(--tit-width) * 100%);}
    */ }
    .company .en_tit span:first-child {
      width: 37px; }
    .company .en_tit span:nth-child(2) {
      width: 40px; }
    .company .en_tit span:nth-child(3) {
      width: 44px; }
    .company .en_tit span:nth-child(4) {
      width: 31px; }
    .company .en_tit span:nth-child(5) {
      width: 40px; }
    .company .en_tit span:nth-child(6) {
      width: 40px; }
    .company .en_tit span:nth-child(7) {
      width: 36px; }
  .company .ja_tit {
    margin-bottom: 8.5rem;
    --lh:1.75;
    position: relative;
    overflow: hidden;
    line-height: var(--lh); }
    .company .ja_tit::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    .company .ja_tit::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    @media screen and (min-width: 801px) {
      .company .ja_tit {
        --delay: calc(7 * 0.06s + 0.15s); } }
  .company .company_info {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
  .company dl {
    position: relative;
    width: 47.2%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .company dl:after {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 1px;
      background: url(../image/company_info_dash.png) repeat-x;
      background-size: 4px 1px;
      left: 0;
      bottom: 0; }
  .company dt {
    position: relative;
    width: 155px;
    padding: 3.2rem 0 3.2rem 3.7rem;
    box-sizing: border-box; }
    .company dt p {
      color: var(--theme-color); }
  .company dd {
    position: relative;
    width: calc(100% - 155px);
    padding: 3.2rem 0; }
  .company dt:before, .company dd:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: url(../image/company_info_dash.png) repeat-x;
    background-size: 4px 1px; }
  .company dt:before, .company dd:before {
    top: 0;
    left: 0; }
  .company p {
    position: relative;
    font-size: 1.7rem;
    --lh:2.1176;
    position: relative;
    overflow: hidden;
    line-height: var(--lh);
    overflow: visible;
    color: #000; }
    .company p::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }
    .company p::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh)) * 0.5em); }

@media screen and (max-width: 900px) {
  .company dl {
    width: 100%; }
    .company dl:first-child:after {
      display: none; } }
@media screen and (max-width: 800px) {
  .company {
    margin: 5.5rem auto 0;
    padding-bottom: 10rem; }
    .company .en_tit {
      margin: 0 auto 6rem; }
    .company dt {
      width: 110px;
      padding: 2rem 0 2rem 2rem; }
    .company dd {
      position: relative;
      width: calc(100% - 110px);
      padding: 2rem 0; }
    .company p {
      font-size: 1.3rem; } }

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