 /*
font-family: "Aoto Gothic Extra Light", sans-serif;
font-family: "Aoto Gothic Light", sans-serif;
font-family: "Aoto Gothic Regular", sans-serif;
font-family: "Aoto Gothic Medium", sans-serif;
font-family: "Aoto Gothic DemiBold", sans-serif;
font-family: "source-han-sans-japanese", sans-serif;
font-family: "source-han-sans-japanese", sans-serif;
*/
img{
    max-width:100%;
    height:auto;
}
 /* パンくずリスト*/
.breadcrumbs{
    margin-bottom:50px;
    font-size:14px;
}
.breadcrumbs a{
    margin-bottom:50px;
    color:#004a97;
    font-size:14px;
}

@media screen and (min-width: 1200px) and (max-width: 1399px) { 
.breadcrumbs span[property="name"] {
    display: inline-block;
    padding: 0;
    margin-top: -3px;
    vertical-align: middle;
    max-width: 930px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
}
@media screen and (min-width: 992px) and (max-width: 1199px) { 
.breadcrumbs span[property="name"] {
    display: inline-block;
    padding: 0;
    margin-top: -3px;
    vertical-align: middle;
    max-width: 770px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
}
@media screen and (min-width: 768px) and (max-width: 991px) { 
.breadcrumbs span[property="name"] {
    display: inline-block;
    padding: 0;
    margin-top: -3px;
    vertical-align: middle;
    max-width: 530px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
}
@media screen and (max-width: 767px) { 
.breadcrumbs{
    display:none;
}
}

 /* アニメーション*/
.animation01,.animation02,.animation03,.animation04,.animation11,.animation12,.animation13,.animation14{
    opacity:0;
}
 /* サイドバー*/
 strong{
    font-family: "source-han-sans-japanese", sans-serif;
}
.sidebar-link-area {
    position:relative;
    display:block;
    width:280px;
    margin-top:100px;
    z-index:9;
}
.sidebar-link-inner.fixed{
    position: fixed;
    top: 80px;
    width:280px;
    z-index:9;
}
 .sidebar-link {
    margin-top:40px;
    display: flex;
    list-style: none;
    color: #212124;
    flex-wrap: wrap;
    white-space:nowrap;
  }
 .sidebar-link li a {
    padding:2px 20px;
    text-decoration: none;
    color: #212124;
    cursor: none !important;
  }
 .sidebar-link li {
    margin-bottom: 15px;
    cursor: none !important;
  }
@media screen and (max-height: 900px) { 
.sidebar-link-inner.fixed{
    top: 40px;
}
 .sidebar-link li {
    margin-bottom: 10px;
 }
}
  /* topics-link 下線アニメ */
 .sidebar-link li a.nav-link {
    position: relative;
  }
 .sidebar-link li.current a.nav-link,
 .sidebar-link li a:hover{
    color: #004a97;
    font-family: "source-han-sans-japanese", sans-serif;
  }

 .sidebar-link li.current a.nav-link::after,
 .sidebar-link li a.nav-link::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 10%;
    /*線の形状*/
    width: 80%;
    height: 1px;
    background:#004a97;
    /*アニメーションの指定*/
    transition: transform .3s ease;
    transform-origin: right top;
    transform: scale(0, 1);/*X方向0、Y方向1*/
  }

  /*現在地とhoverの設定*/
 .sidebar-link li.current a.nav-link::after,
 .sidebar-link li a.nav-link:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);/*X方向にスケール拡大*/
  }
 .sidebar-link li.current a.nav-link:hover::after {
    animation-name: topics-link-current-anime;
    animation-duration: .6s;
  }
  @keyframes topics-link-current-anime {
    0%{
      transform-origin: right top;
      transform: scale(1, 1);/* 一旦下線を消す(X方向0、Y方向1) */ 
    }
    50%{
      transform-origin: right top;
      transform: scale(0, 1);/* 一旦下線を消す(X方向0、Y方向1) */ 

    }
    60% {
        transform-origin: left top;
        transform: scale(0, 1);/*X方向0、Y方向1*/
    }
    100% {
        transform-origin: left top;
        transform: scale(1, 1);/*X方向1、Y方向1*/
    }
  }
  
ul.sub-nav{
    list-style:none;
    margin-top:20px;
}
ul.sub-nav li{
    margin:0 5px;
    display:block;
    text-align:right;
    position:relative;
}
ul.sub-nav li a{
    font-size:13px;
    display:block;
    height:25px;
}
.sidebar-pin{
    display:none;
    width:16px;
    margin-left:12px;
    position:relative;
    right:6px;
    bottom:3px;
}
ul.sub-nav li a:hover{
    color:#004a97;
    font-family: "Aoto Gothic Medium", sans-serif;
    font-size:13px;
}
ul.sub-nav li a.active{
    color:#004a97;
    font-family: "source-han-sans-japanese", sans-serif;
    position:relative;
    left:10px;
}
ul.sub-nav li a.active .sidebar-pin{
    display:inline-block;
    z-index:2;
}



@keyframes pulseMotion {
  0% {
    transform: translate(-50%, -50%) scale(1.0, 1.0);
    background-color: rgba(0, 74, 151, 0.2)
  }
  100% {
    transform: translate(-50%, -50%) scale(2.0, 2.0);
    background-color: rgba(0, 74, 151, 0)
  }
}
ul.sub-nav li a.active span.point {
  display: inline-block;
  position: absolute;
  width: 20px;
  height: 20px;
  right:25px;
  border-radius: 50%;
  z-index:1;
  transition: background-color cubic-bezier(0.215, 0.61, 0.355, 1) .4s;
}

ul.sub-nav li a.active span.point {
  background-color cubic-bezier(0.215, 0.61, 0.355, 1) .4s;
}

ul.sub-nav li a.active span.point.:focus {
  outline: none;
}

ul.sub-nav li a.active span.point:after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: opacity linear 0.4s;
  content: '';
}

ul.sub-nav li a.active span.point:after {
  animation: pulseMotion 1.4s linear infinite;
}


.left-to-right {
    display: inline-block;
    position: relative;
    height:14px;
}
ul.sub-nav li a .left-to-right::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 3px;
    right: 10px;
    margin:auto;
    height: 1px;
    background: linear-gradient(to right, #fff, #8facd1);
}
ul.sub-nav li.list-01 a .left-to-right::after {
    width: 155px;
}
ul.sub-nav li.list-01 a.active .left-to-right::after {
    width: 135px;
}
ul.sub-nav li.list-02 a .left-to-right::after {
    width: 141px;
}
ul.sub-nav li.list-02 a.active .left-to-right::after {
    width: 121px;
}
ul.sub-nav li.list-03 a .left-to-right::after {
    width: 169px;
}
ul.sub-nav li.list-03 a.active .left-to-right::after {
    width: 149px;
}
ul.sub-nav li.list-04 a .left-to-right::after {
    width: 138px;
}
ul.sub-nav li.list-04 a.active .left-to-right::after {
    width: 118px;
}
ul.sub-nav li.list-05 a .left-to-right::after {
    width: 149px;
}
ul.sub-nav li.list-05 a.active .left-to-right::after {
    width: 129px;
}
ul.sub-nav li.list-06 a .left-to-right::after {
    width: 148px;
}
ul.sub-nav li.list-06 a.active .left-to-right::after {
    width: 128px;
}
ul.sub-nav li.list-07 a .left-to-right::after {
    width: 118px;
}
ul.sub-nav li.list-07 a.active .left-to-right::after {
    width: 98px;
}
ul.sub-nav li.list-08 a .left-to-right::after {
    width: 143px;
}
ul.sub-nav li.list-08 a.active .left-to-right::after {
    width: 123px;
}
ul.sub-nav li.list-09 a .left-to-right::after {
    width: 89px;
}
ul.sub-nav li.list-09 a.active .left-to-right::after {
    width: 69px;
}
ul.sub-nav li.list-10 a .left-to-right::after {
    width: 124px;
}
ul.sub-nav li.list-10 a.active .left-to-right::after {
    width: 104px;
}
ul.sub-nav li.list-11 a .left-to-right::after {
    width: 52px;
}
ul.sub-nav li.list-11 a.active .left-to-right::after {
    width: 32px;
}
ul.sub-nav li.list-12 a .left-to-right::after {
    width: 132px;
}
ul.sub-nav li.list-12 a.active .left-to-right::after {
    width: 112px;
}
ul.sub-nav li.list-13 a .left-to-right::after {
    width: 55px;
}
ul.sub-nav li.list-13 a.active .left-to-right::after {
    width: 35px;
}
ul.sub-nav li.list-14 a .left-to-right::after {
    width: 67px;
}
ul.sub-nav li.list-14 a.active .left-to-right::after {
    width: 47px;
}
ul.sub-nav li.list-15 a .left-to-right::after {
    width: 139px;
}
ul.sub-nav li.list-15 a.active .left-to-right::after {
    width: 119px;
}
ul.sub-nav li.list-16 a .left-to-right::after {
    width: 141px;
}
ul.sub-nav li.list-16 a.active .left-to-right::after {
    width: 121px;
}
ul.sub-nav li.list-17 a .left-to-right::after {
    width: 139px;
}
ul.sub-nav li.list-17 a.active .left-to-right::after {
    width: 119px;
}
ul.sub-nav li.list-18 a .left-to-right::after {
    width: 141px;
}
ul.sub-nav li.list-18 a.active .left-to-right::after {
    width: 121px;
}
ul.sub-nav li.list-19 a .left-to-right::after {
    width: 132px;
}
ul.sub-nav li.list-19 a.active .left-to-right::after {
    width: 112px;
}
ul.sub-nav li.list-20 a .left-to-right::after {
    width: 132px;
}
ul.sub-nav li.list-20 a.active .left-to-right::after {
    width: 112px;
}
ul.sub-nav li.list-21 a .left-to-right::after {
    width: 114px;
}
ul.sub-nav li.list-21 a.active .left-to-right::after {
    width: 90px;
}
ul.sub-nav li.list-22 a .left-to-right::after {
    width: 120px;
}
ul.sub-nav li.list-22 a.active .left-to-right::after {
    width: 95px;
}
ul.sub-nav li.list-23 a .left-to-right::after {
    width: 157px;
}
ul.sub-nav li.list-23 a.active .left-to-right::after {
    width: 135px;
}
ul.sub-nav li.list-24 a .left-to-right::after {
    width: 126px;
}
ul.sub-nav li.list-24 a.active .left-to-right::after {
    width: 103px;
}
ul.sub-nav li a.active .left-to-right {
    display: inline-block;
    position: relative;
}
ul.sub-nav li a.active .left-to-right::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 3px;
    right: 10px;
    margin:auto;
    height: 1px;
    background: linear-gradient(to right, #fff, #004a97);
    animation: to-right-animate ease-in;
    animation-duration:0.05s;
}
@keyframes to-right-animate {
  0% {
    transform: translateX(-30px);
  }
  100% {
    transform: translateX(0px);
  }
}
.left-to-right:hover::after {
    transform: scaleX(1);
    transform-origin: left center;
}

    /* 役員紹介*/
section#board-area{
    padding:80px 0;
}
h2.pagetitle{
    margin:0;
    padding:50px 0;
    letter-spacing:1px;
    font-feature-settings: "kern";
    font-family: "source-han-sans-japanese", sans-serif;
    font-size:35px;
}
h3.pagesubtitle{
    padding:50px 0;
    font-size:30px;
    font-family: "source-han-sans-japanese", sans-serif;
    letter-spacing:1px;
    font-feature-settings: "kern";
}
#board-member{
    padding-bottom:50px;
}
#outside-officer{
    padding-bottom:50px;
}
#advisor{
    padding-bottom:50px;
}
#sub-list01{
    padding-bottom:50px;
}
#sub-list02{
    padding-bottom:50px;
}
#sub-list03{
    padding-bottom:50px;
}
#sub-list04{
    padding-bottom:50px;
}
#sub-list05{
    padding-bottom:50px;
}
.management-column{
    z-index:2;
}
.management-item{
    padding:35px 50px 50px;
    width : 100%;
    display:block;
    margin:0 auto;
}
.card {
    position : relative;
    width : 100%;
    display:block;
    margin:0 auto;
    -webkit-perspective : 1000px;
    perspective : 1000px;
    border:none;
}
.front,.back {
    padding:30px 40px;
    position : absolute;
    top : 0;
    left : 0;
    width : 100%;
    height : 100%;
    transition : 1s;
    -webkit-backface-visibility : hidden;
    backface-visibility : hidden;
    box-shadow:0px 0px 8px 3px transparent;
}
@media screen and (min-width: 1400px) { 
.front,.back {
    padding:40px 40px 20px;
}
}
.front {
    background : #fff;
    overflow-y:hidden;
    text-align:left;
    z-index:0 !important;
}
.front span img{
    z-index:0 !important;
}
.back {
    color:#fff;
    z-index:-1 !important;
    background: #004a97;
    padding:30px;
    transform : rotateY(-180deg);
    font-size:14px !important;
}
.flipped .front {
    transform : rotateY(180deg);
    z-index:-1 !important;
}
.flipped .back {
    transform : rotateY(0);
    z-index:0 !important;
}
.to-career-btn{
    position:absolute;
    bottom:30px;
    left:0;
    right:0;
    margin:auto;
    padding:5px 10px;
    border-radius:20px;
    display:block;
    width: 180px;
    border:1px solid #fff;
    color: #fff;
    text-align:center;
    z-index:999;
    font-size:14px;
}
.to-comment-btn{
    position:relative;
    margin:40px auto 0px;
    padding:5px 10px;
    border-radius:20px;
    display:block;
    width: 180px;
    border:1px solid #fff;
    color: #fff;
    text-align:center;
    z-index:999;
    font-size:14px;
}
.comment-area{
    height: calc(100% - 50px);
    overflow-y:auto;
    font-size:14px;
}
.intro-area{
    overflow-y:auto;
    margin:20px 0 0;
    font-size:14px;
}
.intro-area01{
    height: calc(100% - 110px);
}
.intro-area02{
    height: calc(100% - 125px);
}
.intro-area03{
    height: calc(100% - 140px);
}
.comment-area{
    font-size:14px;
    line-height:1.8em;
}
.career-area{
    display:none;
    z-index:0;
}
.career-item{
    z-index:0;
}
h4.career-title{
    font-size:18px !important;
    font-family: "source-han-sans-japanese", sans-serif;
    display:block;
    margin:5px 0 10px;
}
.career-item strong{
    font-size:14px !important;
    margin:0 !important;
    padding:0 !important;
}
.career-item p{
    font-size:14px !important;
    margin:0 0 20px !important;
    padding:0 !important;
    line-height:1.8em;
}

.name-area{
    display:block;
    overflow:hidden;
    text-align:left;
}
.management-item span{
    display:block;
}
.management-item span.title{
    font-size:12px;
    line-height:1.3em;
}
@media screen and (min-width: 1200px) and (max-width: 1399px) { 
.management-item span.title{
    font-size:10px;
}
}
.management-item span.outside-en-name{
    display:inline-block;
    float:left;
    margin-left:10px;
    position:relative;
    top:12px;
    font-size:14px;
}
.management-item span{
    font-size:18px;
}
.management-item strong{
    font-size:26px;
    display:block;
    font-family: "source-han-sans-japanese";
    margin:7px 0 10px;
}
.management-item strong.outside-name{
    display:inline-block;
    float:left;
}
.management-item img{
    display:block;
    width:100%;
    margin-top:15px;
}
.img-background {
    width: 100%;
    height: auto;
    background-color: #024398;
}
.img-background img {
    opacity: 0;
    transition: opacity 1s;
}
.management-item p{
    display:block;
    width:100%;
    margin-top:15px;
}
.career-info{
    margin-top:30px;
}
dl.management-info{
    width:100%;
    margin:0;
}
dl.management-info dt{
    width:60px;
    text-align:left;
    float: left;
    font-size:14px;
    text-align:left;
    margin:0;
    padding:0;
}
dl.management-info dd{
    width: calc(100% - 60px);
    margin-left:60px;
    text-align:left;
}

@media screen and (min-width: 768px) { 
.card01 {
    aspect-ratio: 2.000 / 3;
}
.card02 {
    aspect-ratio: 1.950 / 3;
}
.card03 {
    aspect-ratio: 1.895 / 3;
}
.card02-img {
    margin-top:30px;
}
.card03-img{
    margin-top:45px;
}
.front:hover ,.back:hover {
    box-shadow:0px 0px 8px 3px #ddd;
	transition:1s;
}
.management-column:nth-child(2n+1){
    padding-right:0;
}
.management-column:nth-child(2n){
    padding-left:0;
}
}


@media screen and (min-width: 768px) and (max-width: 991px) { 
.management-item{
    padding:10px 25px 25px;
}
.comment-area{
    font-size:12px;
    line-height:2.0em;
}
.career-item strong{
    font-size:12px !important;
}
.career-item p{
    font-size:12px !important;
    line-height:2.0em;
}
}
@media screen and (max-width: 767px) { 
#board-member{
    padding-bottom:25px;
}
#outside-officer{
    padding-bottom:25px;
}
#advisor{
    padding-bottom:25px;
}
#sub-list01{
    padding-bottom:25px;
}
#sub-list02{
    padding-bottom:25px;
}
#sub-list03{
    padding-bottom:25px;
}
#sub-list04{
    padding-bottom:25px;
}
#sub-list05{
    padding-bottom:25px;
}
h2.pagetitle{
    padding:25px 0;
    letter-spacing:1px;
    font-size:26px;
}
h3.pagesubtitle{
    font-size:22px;
    letter-spacing:1px;
    padding:35px 0 0;
}
.management-column{
    padding:0 !important;
}
.management-item{
    padding:25px 0;
    width:100%;
    text-align:center;
}
.card01sp {
    aspect-ratio: 2.75 / 3;
}
.card02sp {
    aspect-ratio: 2.65 / 3;
}
.card03sp {
    aspect-ratio: 2.55 / 3;
}
.management-img-background {
    width: 50%;
    height: auto;
    display:block;
    margin:0 auto;
}
.front,.back {
    padding:25px;
}
.front{
    text-align:center;
}
.name-area{
    text-align:center;
}
.management-item span{
    font-size:13px;
}
.management-item strong{
    font-size:20px;
    margin:5px 0 0;
}
.management-item p{
    text-align:left;
}
.management-item span.outside-en-name{
    display:block;
    float:none;
    margin-left:0px;
    position:relative;
    top:0px;
    font-size:12px;
}
.management-item strong.outside-name{
    display:block;
    float:none;
}
span.sp-card-btn{
    margin:15px auto 30px;
    position:relative;
    bottom:2px;
    padding:5px 10px;
    border-radius:20px;
    display:block;
    width:150px;
    border:1px solid #004a97;
    color: #004a97;
    text-align:center;
}
.to-comment-btn{
    margin:40px auto 5px;
}
span.sp-card-close-btn{
    position:absolute;
    bottom:30px;
    left:0;
    right:0;
    margin:auto;
    padding:5px 10px;
    border-radius:20px;
    display:block;
    width: calc(55% - 25px);
    border:1px solid #fff;
    color: #fff;
    text-align:center;
    font-size:12px;
}
.career-info{
    padding:0 20px;
}
.comment-area{
    height: calc(100% - 60px);
}
.intro-area01{
    height: calc(100% - 90px);
}
.intro-area02{
    height: calc(100% - 105px);
}
.intro-area03{
    height: calc(100% - 120px);
}
.comment-area{
    text-align:left;
}
.career-item{
    text-align:left;
}
}
@media screen and (max-width: 350px) { 
.management-item p{
    font-size:12px;
}
.career-item strong{
    font-size:12px !important;
}
.career-item p{
    font-size:12px !important;
}
.card01sp {
    aspect-ratio: 2.50 / 3;
}
.card02sp {
    aspect-ratio: 2.40 / 3;
}
.card03sp {
    aspect-ratio: 2.30 / 3;
}
}

    /* ラインの動き*/
.boxtop{
    border-top:1px solid #d4d4d4;
    border-bottom:1px solid #d4d4d4;
    position:relative;
    margin: 100px auto 15px;
    z-index:1;
}
.boxtop.run {
    width: 100%;
    display: block;
    overflow: hidden;
}
.boxtop.run .box__line {
  position: absolute;
}
.boxtop.run .box__line01,
.boxtop.run .box__line03 {
  width: 100%;
  height: 1px;
}
.boxtop.run .box__line01 {
  top: 0;
  left: 0;
  background: linear-gradient(to right, transparent, #004a97);
  animation: animate1 2s linear;
  animation-fill-mode:forwards;
}
.boxtop.run .box__line03 {
  bottom: 0;
  left: 0;
  background: linear-gradient(to left, transparent, #004a97);
  animation: animate3 2s linear;
  animation-fill-mode:forwards;
}
.box-cover {
  width: 20px;
  height: 15px;
  background: #fff;
  display: block;
  position: relative;
  bottom: 15px;
  left: -10px;
  z-index:999 !important;
}
.box-cover02 {
  width: 20px;
  height: 5px;
  background: #fff;
  display: block;
  position: relative;
  bottom: 5px;
  left: -10px;
  z-index:999 !important;
}
.box-cover03 {
  width: 20px;
  height: 15px;
  background: #f7f7f7;
  display: block;
  position: relative;
  top:15px;
  left: -10px;
  z-index:999 !important;
}
.box-cover04 {
  width: 20px;
  height: 15px;
  background: #f7f7f7;
  display: block;
  position: relative;
  bottom: 15px;
  left: -10px;
  z-index:999 !important;
}
.box-cover05 {
  width: 60px;
  height: 15px;
  background: red;
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0px;
  z-index:999 !important;
}
.box{
    border-left:1px solid #d4d4d4;
    border-bottom:1px solid #d4d4d4;
    position:relative;
    z-index:1;
}
.box02{
    border-top:1px solid #d4d4d4;
}
.box.run {
  width: 100%;
  margin: 0 auto;
  position: relative;
  display: block;
  overflow: hidden;
}
.box.run .box__line {
  position: absolute;
}
.box.run .box__line01,
.box.run .box__line03 {
  width: 100%;
  height: 1px;
}
.box.run .box__line02,
.box.run .box__line04 {
  width: 1px;
  height: 100%;
}
.box.run .box__line01 {
  top: 0;
  left: 0;
  background: linear-gradient(to left, transparent, #004a97);
  animation: animate1 2s linear;
  animation-fill-mode:forwards;
}
.box.run .box__line02 {
  top: 0;
  right: 0;
  animation: animate2 2s linear;
  animation-fill-mode:forwards;
  animation-delay: 0s;
  background: linear-gradient(to top, transparent, #004a97);
}
.box.run .box__line03 {
  bottom: 0;
  left: 0;
  background: linear-gradient(to right, transparent, #004a97);
  animation: animate3 2s linear;
  animation-fill-mode:forwards;
}
.box.run .box__line04 {
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, transparent, #004a97);
  animation: animate4 2s linear;
  animation-fill-mode:forwards;
  animation-delay: 0s;
}
@keyframes animate1 {
  0% {
    transform: translateX(100%);
  }
  50% {
    transform: translateX(-100%);
  }
  100% {
    opacity:0;
  }
}
@keyframes animate2 {
  0% {
    transform: translateY(100%);
  }
  50% {
    transform: translateY(-100%);
  }
  100% {
    opacity:0;
  }
}
@keyframes animate3 {
  0% {
    transform: translateX(-100%);
  }
  50% {
    transform: translateX(100%);
  }
  100% {
    opacity:0;
  }
}
@keyframes animate4 {
  0% {
    transform: translateY(-100%);
  }
  50% {
    transform: translateY(100%);
  }
  100% {
    opacity:0;
  }
}
@media screen and (max-width: 767px) { 
.boxtop{
    margin: 100px auto 25px;
}
.box{
    border-left:none;
}
.box02{
    border-left:1px solid #d4d4d4;
}
.box-cover {
  display:none;
}
}


/* 会社概要*/
#company-info{
    padding-bottom:50px;
}
#main-client{
    padding-bottom:50px;
}
.company-info{
    width:100%;
}
.outline-top-img{
    padding:0 0 50px 60px;
}
dl.company-info{
    width:100%;
}
dl.company-info dt{
    width:25%;
    padding:15px 25px 15px 0;
    text-align:right;
    float: left;
    font-family: "source-han-sans-japanese";
    font-size:16px;
}
dl.company-info dd{
    width:75%;
    padding:15px 0;
    margin-left:25%;
}
.btn-link-area{
    margin-top:15px;
}
.area-content{
    position:relative;
}
iframe.googlemap{
    width:100%;
    height:300px;
}
.outline-mapfan-logo{
    position:absolute;
    right:0px;
    bottom:5px;
    margin;auto;
    width:20%;
}
.mt-10{
    margin-top:10px;
}
.mt-20{
    margin-top:20px;
}
.mt-30{
    margin-top:30px;
}
.mt-40{
    margin-top:40px;
}
.mb-10{
    margin-bottom:10px;
}
.mb-20{
    margin-bottom:20px;
}
.mb-30{
    margin-bottom:30px;
}
.mb-40{
    margin-bottom:40px;
}
.area-content strong{
    font-size:16px;
}
.btn-link-area{
    text-align:right;
}
strong.company-name{
    font-size:16px;
}
.client-item p{
    display:block;
    margin:10px 0 0;
}
.client-img{
    width:100% !important;
    height:auto;
}
p.client-link {
  position: relative;
  display: inline-block;
  text-decoration: none;
  font-size:13px;
}
p.client-link::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #004a97;;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
p.client-link:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
p.etc-text{
    font-size:13px;
}
.client-area{
    padding:0 0 50px 50px;
}
@media screen and (min-width: 768px) { 
.client-item:nth-child(3n+1){
    padding:30px 10px 30px 60px;
}
.client-item:nth-child(3n+2){
    padding:30px 35px 30px 35px;
}
.client-item:nth-child(3n){
    padding:30px 60px 30px 10px;
}
.client-column{
    padding:0 10px;
}
}
@media screen and (max-width: 767px) { 
.outline-top-img{
    padding:30px 5px 15px;
}
#company-info{
    padding-bottom:25px;
}
#main-client{
    padding-bottom:25px;
}
dl.company-info dt{
    width:100%;
    display:block;
    text-align:left;
    float: none;
    padding:30px 10px 5px;
    font-size:16px;
}
dl.company-info dd{
    width:100%;
    display:block;
    padding:5px 10px 20px;
    margin-left:0;
}
.mt20-sp{
    margin-top:20px;
}
.btn-link-area{
    text-align:center;
}
.outline-mapfan-logo{
    position:absolute;
    right:0px;
    top:5px;
    bottom:none;
    margin;auto;
    width:25%;
}
.area-content strong{
    font-size:14px;
}
.area-content strong.area-title{
    font-size:16px;
}
.client-area{
    padding:0;
    margin:40px 0;
    text-align:center;
}
.client-img{
    margin-top:30px;
}
.client-item p{
    display:block;
    text-align:center;
}
.client-item:last-child{
    margin-bottom:30px;
}
}

/* グループ会社概要*/
#domestic-subsidiary{
    padding-bottom:50px;
}
#foreign-subsidiary{
    padding-bottom:50px;
}
dl.company-info dd.location{
    width:100%;
    margin-left:0%;
}
.weblink-icon{
    position:relative;
    right:50px;
    bottom:1px;
    width:16px;
}
.item-title{
    font-size:18px;
    font-family: "source-han-sans-japanese", sans-serif;
}
.subsidiary-area{
    padding:30px 0 0 60px;
}
.subsidiary-mapfan-logo{
    position:absolute;
    right:0px;
    bottom:5px;
    margin;auto;
    width:20%;
}
.client-title{
    font-size:18px;
    font-family: "source-han-sans-japanese", sans-serif;
    margin:40px 0 20px;
}
@media screen and (min-width: 768px) { 
.client-title{
    position:relative;
    right:5px;
}
}
@media screen and (max-width: 767px) { 
#domestic-subsidiary{
    padding-bottom:25px;
}
#foreign-subsidiary{
    padding-bottom:50px;
}
.subsidiary-area{
    padding:40px 0 0;
}
.location-text{
    width:75%;
}
.subsidiary-mapfan-logo{
    width:25%;
}
}

/* 代表あいさつ*/
#ceo-message{
    padding-bottom:50px;
}
.ceo-message-area{
    position:relative;
    padding:50px 0 0 50px;
}
.ceo-message-area02{
    position:relative;
    padding:10px 0 50px 50px;
}
h3.ceo-message-title{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    color:#004a97;
    position:absolute;
    top:80px;
    left:47%;
    font-size:24px;
    font-family: "source-han-sans-japanese";
    display:block;
    line-height:1.4em;
}
h3.ceo-message-title02{
    color:#004a97;
    font-size:24px;
    font-family: "source-han-sans-japanese";
    line-height:1.4em;
    margin-bottom:30px;
}
p.ceo-message-text{
    position: relative;
    left: calc(55% - 140px);
    background: rgba(255,255,255,.8);
    padding: 5px 10px 10px;
    width: 60%;
    margin-top: -50px;
}
p.ceo-message-text02{
    overflow:hidden;
}
.box-under-nodisp{
    border-bottom:none !important;
}
.box-left-nodisp{
    border-left:none !important;
}
.ceo-image-01{
    width:45%;
    height:auto;
    display:inline-block;
}
.ceo-image-02{
    float:right;
    width:50%;
    display:inline-block;
    margin:8px 0 10px 25px;
}
.ceo-message-text-inner{
    padding-bottom:25px;
}
.signature{
    margin-top:30px;
}
.signature strong{
    display:block;
}

@media screen and (max-width: 767px) { 
.ceo-message-area{
    position:relative;
    padding:40px 10px 0;
}
.ceo-message-area02{
    position:relative;
    padding:0 10px 50px;
}
h3.ceo-message-title{
    top:55px;
    left:63%;
    font-size:4.0vw;
}
h3.ceo-message-title02{
    font-size:4.0vw;
    margin-bottom:30px;
}
p.ceo-message-text{
    position:relative;
    left:0%;
    background:#fff;
    width:100%;
    padding:10px 0 0;
    margin-top:30px;
}
p.ceo-message-text-sp{
    display:inline;
}
p.ceo-message-text02{
    overflow-y:hidden;
}
.ceo-message-sp{
    margin-bottom:40px;
    display:block;
}
.ceo-image-01{
    width:55%;
    position:relative;
    left:10%;
}
.ceo-image-01sp{
    width:50%;
    float:left;
    left:0;
    margin:5px 15px 10px 0;
}
.ceo-image-02{
    width:50%;
    margin:5px 0 10px 15px;
}
.ceo-message-area02{
    position:relative;
}
}
@media screen and (min-width: 481px)  and (max-width: 767px) { 
h3.ceo-message-title{
    font-size:20px;
}
h3.ceo-message-title02{
    font-size:20px;
}
}







/*タイムライン全体の設定*/
#history{
    padding-bottom:0;
}
.timeline{
  max-width: 100%;
  width:100%;
  margin:50px auto 100px;
  padding:0;
}
.timeline li{
    /*線の起点とするためrelativeを設定*/
    position: relative;
    list-style: none;
    padding:0 0 50px;
}
.timeline table{
    width:100%;
    padding:0;
    position:relative;
    bottom:8px;
}
.timeline table tr{
    width:100%;
}
.timeline table th{
    width:120px;
    padding-right:25px;
    padding-left:50px;
    font-size:20px;
    font-family: "source-han-sans-japanese", sans-serif;
    vertical-align:top;
}
.timeline table td{
    width: calc(100% - 160px);
    font-size:15px;
    padding-top:3px;
    vertical-align:top;
}
.timeline table td.month{
    width:90px;
    padding-right:25px;
}
.timeline table td span{
    display:block;
}
 .timeline-img{
    width:230px;
    margin-top:10px;
}
/*絶対配置で線を設定*/
.border-line {
    /*線の位置*/
  position: absolute;
  left:0em;
  top:0;
  width:1px;/*線の太さ*/
  height:0;/*はじめは高さを0に*/
  background: linear-gradient(to bottom, #3a6dae, #d1d2d2);
}
/*タイムラインの見出し横の丸の位置と形状*/
.timeline li::after{
  content:'';
  position: absolute;
  top:0;
  left:-6px;
  width:14px;
  height: 14px;
  background:#024398;
  border-radius: 50%;
  transition: transform 1.5s;
  display:none;
}
.timeline li.active::after{
  content:'';
  position: absolute;
  top:0;
  left:-6px;
  width:14px;
  height: 14px;
  background:#024398;
  border-radius: 50%;
  transition: transform 1.5s;
  display:inline-block;
}
.timing01{
    animation-delay:0.6s;
}
.timing02{
    animation-delay:0.8s;
}
.timing03{
    animation-delay:1.0s;
}
#area-2020,#area-2010,#area-2000,#area-1990{
    margin-top:-50px;
    padding-top:50px;
}


.timeline li.active span.point {
  display: inline-block;
  position: absolute;
  width: 20px;
  height: 20px;
  left:-9px;
  top:-3px;
  border-radius: 50%;
  z-index:1;
  transition: background-color cubic-bezier(0.215, 0.61, 0.355, 1) .4s;
}

.timeline li.active span.point {
  background-color cubic-bezier(0.215, 0.61, 0.355, 1) .4s;
}

.timeline li.active span.point.:focus {
  outline: none;
}

.timeline li.active span.point:after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: opacity linear 0.4s;
  content: '';
}

ul.timeline li.active span.point:after {
  animation: pulseMotion 1.4s linear;
  animation-iteration-count: 1;
}


@media screen and (max-width: 767px) { 
.timeline{
  margin:50px auto 0px;
  padding:0 0 0 20px;
}
.timeline table th{
    width:100%;
    padding-left:25px;
    padding-right:0px;
    display:block;
}
.timeline table td{
    width: calc(100% - 75px);
    font-size:12px;
    padding-top:0px;
    display:inline-block;
}
.timeline table td.month{
    width:70px;
    padding-left:27px;
    padding-right:10px;
}
 .timeline-img{
    width:60%;
    position:relative;
    right:44px;
}
}

/* 事業概要*/

#businessoutline{
    padding-bottom:100px;
}
.businessoutline-area{
    padding-bottom:0px;
}
.businessoutline-alphabet{
    font-family: "Aoto Gothic Extra Light", sans-serif;
    font-size:50px;
    letter-spacing:0.01em;
    color:#0a50a0;
}
.businessoutline-left{
    position:relative;
    height:100%;
}
.businessoutline-right{
    position:relative;
    padding:40px 0 30px 30px;
    z-index:9;
}
.businessoutline-top-img-bg{
    position:absolute;
    top:-5%;
    left:5%;
    width:75%;
    z-index:10;
}
.businessoutline-top-img{
    width:85%;
}
.businessoutline-top-text{
    margin:50px 0;
}
.business-icon{
    height:75px;
    display:block;
}
.business-icon-01{
    position:relative;
    top:20px;
}
.business-icon-03{
    position:relative;
    top:8px;
    max-width: 49px;
}
.icon-area strong{
    display:block;
}
p.businessoutline-text{
    color:#004a97;
    font-size:13px;
}
h3.businessoutlinesubtitle{
    padding:0 0 20px;
}
table.outlinebusiness-table{
    width:100%;
    text-align:left;
    margin-top:30px;
}
table.outlinebusiness-table tr{
    width:100%;
}
table.outlinebusiness-table td{
    width:50%;
    vertical-align:top;
    padding-bottom:25px;
}
table.outlinebusiness-table td strong{
    display:block;
    font-size:18px;
    line-height:1.4em !important;
}
table.outlinebusiness-table td strong span{
    display:block;
    font-size:14px;
}
table.outlinebusiness-table td p{
    margin:10px 0 0 !important;
    line-height:1.2em !important;
}
table.outlinebusiness-table td p.outlinebusiness-table-text{
    margin:15px 0 0 !important;
}
@media screen and (min-width: 768px) { 
.core-business{
    margin-top:100px;
}
.businessoutline-alphabet{
    -ms-writing-mode: tb-rl;
    text-align:left;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    text-orientation: mixed;
    position: absolute;
    top: 20px;
    left:80px;
}
.businessoutline-alphabet-detail{
    position: absolute;
    top: 50%;
    left:90px;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
table.outlinebusiness-table td:nth-child(2n+1){
    padding-right:15px;
}
table.outlinebusiness-table td:nth-child(2n){
    padding-left:15px;
}
body.page-template-businessoutline-php .cases-dots, 
body.search-no-results .cases-dots,
body.page-template-404 .cases-dots{
    width:auto !important;
}
}
@media screen and (max-width: 767px) { 
#businessoutline{
    padding-bottom:50px;
}
#businessoutline02{
    margin-bottom:50px;
}
.businessoutline-top-img-bg{
    position:absolute;
    top:-10%;
    left:0%;
    width:100%;
}
.businessoutline-alphabet{
    font-size:30px;
    margin:30px 0 0;
    display:block;
    text-align:center;
}
.businessoutline-top-img{
    width:90%;
    display:block;
    margin:0 auto;
}
.businessoutline-top-text{
    margin:25px 0;
    padding:0 15px;
}
.businessoutline-alphabet-detail{
    display:none;
    margin:0;
}
.businessoutline-right{
    padding:30px 0;
}
.businessoutline-right-top{
    padding:15px 0 0;
}
h3.businessoutlinesubtitle{
    padding:0;
}
p.businessoutline-text{
    margin:0 !important;
    position:relative;
    bottom:5px;
}
table.outlinebusiness-table td{
    width:100%;
    padding:0 15px 30px;
    display:block;
}
table.outlinebusiness-table td.last-td{
    padding:0 15px;
}
table.outlinebusiness-table td strong{
    font-size:14px;
    text-align:center;
}
table.outlinebusiness-table td strong span{
    font-size:12px;
}
table.outlinebusiness-table td p{
    margin:10px 0 0 !important;
    font-size:12px;
}
body.page-template-businessoutline-php .cases-dots,
body.search-no-results .cases-dots,
body.page-template-404 .cases-dots, {
    width:40% !important;
}
body.page-template-businessoutline-php .cases-dots ul,
body.search-no-results .cases-dots ul,
body.page-template-404 .cases-dots ul {
    display:none !important;
}
}
@media screen and (min-width: 768px) and (max-width: 991px) { 
body.page-template-businessoutline-php .cases-dots,
body.search-no-results .cases-dots,
body.page-template-404 .cases-dots, {
    width:40% !important;
}
body.page-template-businessoutline-php .cases-dots ul,
body.search-no-results .cases-dots ul,
body.page-template-404 .cases-dots ul {
    display:none !important;
}
}

#gis-business,#automotive-business,#application-business{
    margin-top:-30px;
    padding-top:30px;
}
#solution-area{
    margin-top:-30px;
    padding-top:30px;
}
#solution-service{
    position:relative;
    background:#f7f7f7;
    padding:0 0 10px;
    margin:0 0 100px;
    z-index:10;
    height:100%;
}
#solution-service .container-fluid{
    border-bottom:1px solid #d4d4d4;
}
.solution-slider figure{
    padding:0 !important;
    margin:0 !important;
}
.solution-slider-item{
    padding:90px 40px;
    display:block;
    position:relative;
}
.solution-slider-item strong{
    font-size:20px;
    display:block;
    min-height:60px !important;
}
.solution-slider-item strong span{
    font-size:16px;
    display:block;
}
p.solution-text{
    height:100px;
    text-align:center;
    margin-top:20px;
}
span.solution-icon-area{
    display:block;
    height:80px;
    width:100%;
}
.solution-icon-area img{
    display:block;
    margin:0 auto;
}
.solution-icon-01{
    position:relative;
    top:20px;
}
.solution-arrows{
    margin-top:-15px;
}
@media screen and (min-width: 1200px) and (max-width: 1399px) { 
.solution-slider-item{
    padding:40px 20px;
}
.solution-slider-item strong{
    font-size:18px;
}
.solution-slider-item strong span{
}
p.solution-text{
    height:120px;
}
}

@media screen and (min-width: 768px) { 
.border-cover{
  width: 10px;
  height: 100%;
  background: #f7f7f7;
  display: block;
  position: absolute;
  top:0px;
  left: 10px;
  z-index:999 !important;
}
}
@media screen and (max-width: 767px) { 
#solution-service{
    padding:5px 0 20px;
    margin-bottom:120px;
}
.solution-slider-item{
    padding:45px 20px;
    display:block;
}
.solution-slider-item strong{
    font-size:14px;
    min-height:45px !important;
}
.solution-slider-item strong span{
    font-size:12px;
}
p.solution-text{
    height:50px;
    font-size:12px;
}
.solution-arrows{
    margin-top:-25px;
}
}
@media screen and (max-width: 480px) { 
.solution-slider-item{
    padding:45px 15px;
    display:block;
}
.solution-slider-item strong{
    min-height:50px !important;
}
p.solution-text{
    height:70px;
}
}

/* 企業理念*/
.vertical-line {
  position: absolute;
  height: 0%;
  opacity: 0;
  border-left-style: solid;
  border-left-width: 1px;
  border-image: linear-gradient(0deg, #fff, #eee 10%, #0d4390 50%, #eee 90%, #fff 100%);
  border-image-slice: 1;
  animation: vertical-line-anime 0.5s;
  animation-fill-mode: forwards;
}
@keyframes vertical-line-anime {
    from {
        height: 0%;
        opacity: 0;
    }
    to {
        height: 100%;
        opacity: 1;
    }
}
.horizontal-line {
  position: absolute;
  width: 0px;
  opacity: 0;
  border-top-style: solid;
  border-top-width: 1px;
  border-image: linear-gradient(90deg, #fff, #eee 10%, #0d4390 50%, #eee 90%, #fff 100%);
  border-image-slice: 1;
  animation: horizontal-line-anime 0.5s ease 0.5s;
  animation-fill-mode: forwards;
}
@keyframes horizontal-line-anime {
    from {
        width: 0%;
        opacity: 0;
    }
    to {
        width: 100%;
        opacity: 1;
    }
}
.vertical-text {
  margin: auto;
  margin-top: 110px;
  padding: 0;
  /* padding-right: 20px; */
}
.anime-text-en {
  /* font-size: 2.5rem; */
  /* font-size: 40px; */
  font-size: 50px;
  line-height: 100%;
  /* font-weight: lighter; */
  font-family: "Aoto Gothic Extra Light", sans-serif;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;  /* 文字を右へ横倒し */
  text-orientation: sideways; /* 横向き */
  margin-top: 45px;

  /* margin-right: 50px; */
  /* margin-left: 20px; */
  /* padding-top: 50px; */
  color: transparent;
  opacity: 0;
  background: linear-gradient(90deg, #0d4390 25%, #128dc3 50%, #0d4390 75%);
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 400% 100%;
  background-position: 100% 0;

  animation: fade-in-down 0.5s, gradient-anime 0.5s ease 0.4s;
  animation-fill-mode: forwards;
}
.anime-vision .anime-text-en {
  margin-top: 110%;
}
.anime-value .anime-text-en {
  margin-top: 88%;
}
.anime-banner-box {
  padding: 0 25px;
  margin-top: 40px;
  /* min-height: 200px; */
  /* padding-top: 20px; */
  /* padding-left: 25px; */
  /* margin-bottom: -30px; */
}
.anime-icon-banner-box {
  min-height: 120px;
  background: linear-gradient(90deg, #0d4390, #1e8ab9 20%, #128dc3 40%, #0d4390 60%, #0d4390);
  background: -webkit-linear-gradient(0deg, #0d4390, #1e8ab9 20%, #128dc3 40%, #0d4390 60%, #0d4390);
  background-size: 250% 100%;
  background-position: 0 0;

  animation: fade-in-left-detail 0.5s, gradient-anime 1s ease 0.3s;
  animation-fill-mode: forwards;
}
.image-mask {
  /* mask-image: url("./images/icon-mission.svg"); */
  mask-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 131.25 71.33"><path d="M93.02,.04c-9.68,.46-16.38,3.67-26.19,11.43-.7,.55-1.69,.52-2.36-.07C55.79,3.7,48.12,.51,38.3,.04,19.74-.83,3.04,11.96,.39,30.34c-3.19,22.07,13.84,41,35.29,41,10.66,0,19.02-4.42,29.1-11.96,.5-.38,1.2-.37,1.7,0,9.78,7.4,18.05,11.96,29.1,11.96,21.49,0,38.55-19.01,35.27-41.13C128.14,11.91,111.5-.83,93.02,.04Z"/></svg>');
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 100%;
  /* -webkit-mask-image: url("./images/icon-mission.svg"); */
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 131.25 71.33"><path d="M93.02,.04c-9.68,.46-16.38,3.67-26.19,11.43-.7,.55-1.69,.52-2.36-.07C55.79,3.7,48.12,.51,38.3,.04,19.74-.83,3.04,11.96,.39,30.34c-3.19,22.07,13.84,41,35.29,41,10.66,0,19.02-4.42,29.1-11.96,.5-.38,1.2-.37,1.7,0,9.78,7.4,18.05,11.96,29.1,11.96,21.49,0,38.55-19.01,35.27-41.13C128.14,11.91,111.5-.83,93.02,.04Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
  -webkit-mask-size: 100%;
}
.anime-vision .image-mask {
  mask-image: url('data:image/svg+xml;charset=UTF-8, <svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 131.25 71.33"><polygon points="94.77 35.67 1.13 71.33 1.13 0 94.77 35.67"/><polygon points="88.08 35.67 129.9 51.83 129.9 19.51 88.08 35.67"/></svg>');
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8, <svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 131.25 71.33"><polygon points="94.77 35.67 1.13 71.33 1.13 0 94.77 35.67"/><polygon points="88.08 35.67 129.9 51.83 129.9 19.51 88.08 35.67"/></svg>');
}
.anime-value .image-mask {
  mask-image: url('data:image/svg+xml;charset=UTF-8, <svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 222.92 71.13"><polygon points="114.77 0 0 35.47 114.77 71.13 222.92 35.47 114.77 0"/></svg>');
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8, <svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 222.92 71.13"><polygon points="114.77 0 0 35.47 114.77 71.13 222.92 35.47 114.77 0"/></svg>');
}
.anime-text-banner {
  /* font-size: 1.5rem; */
  /* font-size: 25px; */
  font-size: 34px;
  /* line-height: 1.5rem; */
  /* font-weight: 700; */
  font-family: "source-han-sans-japanese", sans-serif;
  opacity: 0;
  animation: fade-in-left-banner 0.5s ease 0.2s, gradient-anime 0.8s ease 0.6s;
  animation-fill-mode: forwards;
}
@media (min-width: 768px) {
.anime-text-banner {
  height:40px;
  padding-top:7px;
}
.animation-banner-area{
    position:relative;
    right:20px;
}
}
.anime-text-caption {
  /* font-size: 6.0rem; */
  /* line-height: 6.5rem; */
  /* font-size: 95px; */
  font-size: 104px;
  line-height: 105%;
  /* font-weight: 800; */
  font-family: "source-han-sans-japanese", sans-serif;
  letter-spacing: -0.1rem;
  opacity: 0;
  animation: fade-in-left-caption 0.5s ease 0.2s, gradient-anime 0.5s ease 0.6s;
  animation-fill-mode: forwards;
  margin: 0;
  padding: 0 0 15px !important;
}
@media screen and (min-width: 768px) {
@supports (-ms-ime-align: auto) {
.anime-text-caption {
  padding: 15px 0 0 !important;
}
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
.anime-text-caption {
  padding: 15px 0 0 !important;
}
}
}
@media screen and (min-width: 768px) and (max-width: 991px) { 
.anime-text-caption {
  font-size: 90px;
}
}
.anime-text-gradient {
  color: transparent;
  background: linear-gradient(90deg, #0d4390, #1e8ab9 20%, #128dc3 40%, #0d4390 60%, #0d4390);
  /* background: -webkit-linear-gradient(0deg, #0d4390, #1e8ab9 20%, #128dc3 40%, #0d4390 60%, #0d4390); */
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 250% 100%;
  background-position: 100% 0;
}
.anime-text-detail {
  /* font-size: 1.0rem; */
  /* line-height: 2.4rem; */
  /* font-size: 16px; */
  font-size: 18px;
  line-height: 240%;
  color: #212124;
  opacity: 0;
  padding: 30px 0 50px 0;
  animation: fade-in-left-detail 0.5s ease 0.2s;
  animation-fill-mode: forwards;
}

@keyframes gradient-anime {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes fade-in-down {
  0% {
    transform: translateY(-25px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-left-banner {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  80% {
    transform: translateX(5px);
  }
  85% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in-left-caption {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  80% {
    transform: translateX(5px);
  }
  90% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in-left-detail {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  80% {
    transform: translateX(5px);
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.blur-circle {
  position: absolute;
  margin-left: 18%;
  top: -20%;
  z-index: -10;
  --circle-color: 115, 68, 220;
  aspect-ratio: 1 / 1;
  background: radial-gradient(circle, rgb(var(--circle-color)), rgba(var(--circle-color), 0));
  border-radius: 50%;
  /* filter: blur(100px); */
  filter: blur(46px);
  /* width: min(100%, 300px); */
  width: min(100%, 46%);
  opacity: 0;
  animation: blur-circle-anime  0.8s ease 0.6s;
  animation-fill-mode: forwards;
}
.anime-vision .blur-circle {
    margin-left: 10%;
}
.anime-value .blur-circle {
    margin-left: 25%;
}
@media (max-width: 1199.98px) {
    .blur-circle {
    margin-left: 10%;
    top: -25%;
    filter: blur(36px);
    width: min(100%, 36%);
  }
  .anime-vision .blur-circle {
    margin-left: 5%;
  }
  .anime-value .blur-circle {
    margin-left: 15%;
  }
}
@media (max-width: 767.98px) {
  .blur-circle,
  .anime-vision .blur-circle,
  .anime-value .blur-circle {
    margin-left: 30%;
    top: -17%;
    filter: blur(35px);
    width: min(100%, 35%);
  }
}
@media (max-width: 459.98px) {
  .blur-circle,
  .anime-vision .blur-circle,
  .anime-value .blur-circle {
    margin-left: 30%;
    top: -5%;
    filter: blur(25px);
    width: min(100%, 34%);
  }
}
@media (max-width: 349.98px) {
  .blur-circle,
  .anime-vision .blur-circle,
  .anime-value .blur-circle {
    margin-left: 28%;
    top: -5%;
    filter: blur(20px);
    width: min(100%, 35%);
  }
}
@keyframes blur-circle-anime {
    from {
      opacity: 0;
    }
    to {
        opacity: 0.2;
    }
}

/* Large devices (desktops, less than 1200px) */
/* @media (max-width: 1199.98px) { */
  /* .anime-text-en { */
    /* font-size: 2.2rem; */
    /* font-size: 35px; */
    /* margin-top: 50%; */
  /* } */
  /* .anime-vision .anime-text-en { */
    /* margin-top: 75%; */
  /* } */
  /* .anime-value .anime-text-en { */
    /* margin-top: 65%; */
  /* } */
  /* .anime-icon-banner-box { */
    /* min-height: 100px; */
  /* } */
  /* .anime-text-caption { */
    /* font-size: 5.0rem; */
    /* line-height: 5.4rem; */
    /* font-size: 80px; */
    /* margin-top: -5px; */
  /* } */
  /* .anime-text-detail { */
    /* font-size: 0.9rem; */
    /* line-height: 1.8rem; */
    /* font-size: 15px; */
  /* } */
/* } */
/* Medium devices (tablets, less than 992px) */
/* @media (max-width: 991.98px) { */
  /* .anime-icon-banner-box { */
    /* min-height: 70px; */
  /* } */
  /* .anime-text-caption { */
    /* font-size: 3.8rem; */
    /* line-height: 4.2rem; */
    /* font-size: 60px; */
    /* margin-top: -15px; */
  /* } */
  /* .anime-text-detail { */
    /* font-size: 0.8rem; */
    /* line-height: 1.8rem; */
    /* font-size: 14px; */
  /* } */
  /* .anime-text-en { */
    /* font-size: 2.2rem; */
    /* font-size: 28px; */
    /* margin-right: 0; */
    /* margin-left: 0; */
    /* margin-top: 30%; */
  /* } */
  /* .anime-vision .anime-text-en { */
    /* margin-top: 70%; */
  /* } */
  /* .anime-value .anime-text-en { */
    /* margin-top: 55%; */
  /* } */
  /* .anime-icon-banner-box { */
    /* min-height: 100px; */
  /* } */
  /* .anime-text-banner { */
    /* font-size: 18px; */
  /* } */
/* } */
/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
  .anime-mission,
  .anime-vision,
  .anime-value {
    text-align: center;
  }
  .anime-text-caption {
    /* font-size: 3.2rem; */
    /* line-height: 3.4rem; */
    font-size: 54px;
    margin-top: 0;
  }
  .anime-text-detail {
    display: inline-block;
    /* font-size: 0.9rem; */
    /* line-height: 1.6rem; */
    font-size: 14px;
    line-height: 200%;
    text-align: left;
    padding-left: 5px;
    padding-right: 5px;
    margin: 0 auto;
    position:relative;
  }
  .anime-icon-banner-box {
    max-width: 100px;
    min-height: 80px;
    max-width: 90px;
    margin: 0 auto;
  }
  .anime-value .anime-icon-banner-box {
    max-width: 140px;
  }
  .anime-text-banner {
    display: inline-block;
    font-size: 16px;
    margin: -5px auto;
  }
  .vertical-text {
    margin: 10px auto;
  }
  .anime-text-en {
    display: inline-block;
    writing-mode: horizontal-tb;
    font-size: 32px;
    margin-top: 50px;
    background: linear-gradient(90deg, #0d4390, #1e8ab9 20%, #128dc3 40%, #0d4390 60%, #0d4390);
    background-clip: text;
    -webkit-background-clip: text;
    background-size: 250% 100%;
    background-position: 100% 0;
    animation: fade-in-left-banner 0.5s ease 0.2s, gradient-anime 0.8s ease 0.6s;
    animation-fill-mode: forwards;
  }
  .anime-vision .anime-text-en {
    margin-top: 50px;
  }
  .anime-value .anime-text-en {
    margin-top: 50px;
  }
  .anime-banner-box {
    margin-top: 0;
  }
}
@media (max-width: 419.98px) {
  .anime-text-caption {
    font-size: 45px;
  }
}
@media (max-width: 354.98px) {
  .anime-text-caption {
    font-size: 38px;
  }
  .anime-text-en {
    font-size: 28px;
  }
  .anime-text-banner {
    font-size: 15px;
  }
}
@media (max-width: 309.98px) {
  .anime-text-caption {
    font-size: 34px;
  }
}

.anime-mission {
  display: none;
}
.anime-vision {
  display: none;
}
.anime-value {
  display: none;
}
.value-content{
    padding:30px 0 60px 163px;
}


.area-mission{
    min-height:400px;
}
.area-vision{
    min-height:400px;
}
.area-value{
    min-height:400px;
}


.value-item{
    margin-bottom:20px;
}
.value-item span{
    color:#004a97;
    font-size:18px;
}
.value-item p{
    font-size:14px;
    font-family: "Aoto Gothic DemiBold", sans-serif;
}

#corporate{
    margin:100px 0;
    padding:95px 0;
    background:#024398;
    color:#fff;
}
.corporate-logo{
    width:364px;
    margin-bottom:40px;
}
#corporate h3{
    font-size:28px;
    font-family: "source-han-sans-japanese", sans-serif;
    margin:0 0 40px !important;
    display:block;
}
@media screen and (min-width: 1200px)  and (max-width: 1399px) { 
.value-content{
    padding:30px 0 60px 148px;
}
}
@media screen and (min-width: 768px)  and (max-width: 991px) { 
.value-content{
    padding:30px 0 60px 127px;
}
}
@media screen and (max-width: 767px) { 
.area-mission{
    min-height:300px;
}
.area-vision{
    min-height:300px;
}
.area-value{
    min-height:300px;
}
.value-content{
    padding:30px 0;
}
.value-item{
    padding:0 10px;
}
#corporate{
    margin:60px 0;
    padding:60px 15px;
    background:#024398;
    color:#fff;
}
.corporate-logo{
    width:100%;
    margin-bottom:35px;
}
#corporate h3{
    font-size:20px;
    margin-bottom:35px !important;
    line-height:1.1em;
}
#corporate-name p{
    font-size:13px;
}
.corporate-message{
    font-size:12px;
}
}


/* 企業トップ*/
#company-top{
    padding-bottom:100px;
}
.company-top-item strong{
    display:block;
    margin-top:15px;
    font-size:16px;
}
.company-top-item p{
    font-size:12px;
    color:#024398;
}
.company-top-img{
    width:100%;
}
@media screen and (min-width: 768px) { 
.company-top-item:nth-child(3n+1){
    padding:30px 30px 30px 60px;
}
.company-top-item:nth-child(3n+2){
    padding:30px 45px 30px 45px;
}
.company-top-item:nth-child(3n){
    padding:30px 60px 30px 30px;
}
}
@media screen and (max-width: 767px) { 
#company-top{
    padding:20px 0 50px;
}
.company-top-item{
    margin:0 !important;
    padding:0 !important;
}
.company-top-item:nth-child(2n+1){
    padding:0 15px 0 30px !important;
}
.company-top-item:nth-child(2n){
    padding:0 30px 0 15px !important;
}
.company-top-img{
    margin-top:10px;
}
.company-top-item strong{
    margin-top:10px;
    font-size:14px;
}
.company-top-item p{
    font-size:12px;
    position:relative;
    bottom:5px;
}
.box-under-nodisp-sp{
    border-bottom:none !important;
}
}
#animation_container{
    width:195px !important;
    height:195px !important;
}
#animation_container #canvas{
    width:195px !important;
    height:195px !important;
}
#dom_overlay_container{
    width:195px !important;
    height:195px !important;
}


/* 企業トップ*/
#sustainability{
    padding-bottom:100px;
}
.sustainability-kvarea{
    position:relative;
    margin-bottom:30px;
}
.sustainability-kvtext{
    position:absolute;
    top:80px;
    left:25px;
    font-family: "source-han-sans-japanese", sans-serif;
    font-size:26px;
    color:#fff;
    display:inline-block;
    line-height:1.8em;
    text-shadow: 2px 2px 3px #b8c19f, 0 0 1em #d0d4c5, 0 0 0.2em #d0d4c5;
}
.esg-triangle{
    margin-top:30px;
    text-align:center;
    display:block;
}
.esg-triangle img{
    width:75%;
    display:block;
    margin:0 auto;
}
body.page-template-sustainability .pagesubtitle span{
    display:block;
    font-size:18px;
}
.sustainability-item h4{
    font-family: "source-han-sans-japanese", sans-serif;
    font-size:18px;
    margin-bottom:25px;
}
.sustainability-item-img{
    display:block;
    margin-top:45px;
}
.sustainability-item-img img{
    width:100%;
}
body.page-template-sustainability .box-inner{
    padding-bottom:60px;
}

/* ESGページ更新20230216*/

@media screen and (max-width: 767px) { 
#sustainability{
    padding:0 5px 30px;
}
.sustainability-kvarea{
    margin:20px 0;
}
.sustainability-kvtext{
    top:40px;
    left:15px;
    font-size:12px;
}
.sustainability-item-img{
    display:block;
    margin-top:25px;
}
.sustainability-item h4{
    font-size:14px;
    line-height:1.8em;
    margin:20px 0 15px;
}
.sustainability-item p{
    margin:0 0 5px !important;
}
body.page-template-sustainability .pagesubtitle{
    margin-top:20px;
}
body.page-template-sustainability .box-inner{
    padding-bottom:40px;
}
}

@media screen and (min-width: 768px) { 
.esg-kvtext{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 93%;
    height: 3.2rem;
    font-family: "source-han-sans-japanese", sans-serif;
    font-size:44px;
    color:#fff;
    display:inline-block;
    line-height:1.0em;
    text-shadow: 2px 2px 3px #b8c19f, 0 0 1em #d0d4c5, 0 0 0.2em #d0d4c5;
}
.esg-kvtext span{
    font-size:22px;
}
}
.box-inner-esg{
    padding-bottom:0px !important;
}
p.esg-top-text{
    line-height:2.2em;
}
h3.esg-news-title{
    font-size:24px;
    color:#1e4c9b;
    margin:80px 0 30px;
}
.esg-news-content{
    height:450px;
    overflow-y:auto;
    padding-right:30px;
}
.esg-menu-item{
    background:#1a4293;
    display:block;
    padding:5px;
    color:#fff;
    text-align:center;
    font-size:18px;
    border-radius:20px;
}
.arrow-bottom-img{
    width:12px;
    height:auto;
    margin-left:18px;
    position:relative;
    bottom:2px;
}
.section-esg{
    margin-top:80px;
}
.esg-menu-area{
    margin:30px 0 80px;
}
h3.esgsubtitle{
    margin:30px 0 20px;
    font-size:30px;
    font-family: "source-han-sans-japanese", sans-serif;
    letter-spacing:1px;
    font-feature-settings: "kern";
}
.esg-detail-area{
    display: flex;
	justify-content: space-between;
	margin-top:50px;
}
.esg-detail-item{
    padding:0px 20px 5px;
    background:#f7f7f7;
    border:1px solid #1a4293;
    border-radius:15px;
    text-align:center;
    width: 32%;
}
.esg-detail-item02{
    width: 48.5%;
}
.esg-detail-item img{
    width:auto;
    height:60px;
    display:block;
    margin:30px auto 17px;
}
.esg-detail-item img.esg-icon-img01{
    width:51px;
    height:57px;
    display:block;
    margin:32px auto 18px;
}
.esg-detail-item img.esg-icon-img02{
    width:57px;
    height:61px;
    display:block;
    margin:29px auto 17px;
}
.esg-detail-item img.esg-icon-img03{
    width:53px;
    height:55px;
    display:block;
    margin:33px auto 19px;
}
.esg-detail-item img.esg-icon-img04{
    width:53px;
    height:53px;
    display:block;
    margin:34px auto 20px;
}
.esg-detail-item img.esg-icon-img05{
    width:42px;
    height:59px;
    display:block;
    margin:31px auto 17px;
}
.esg-detail-item img.esg-icon-img06{
    width:64px;
    height:57px;
    display:block;
    margin:32px auto 18px;
}
.esg-detail-item img.esg-icon-img07{
    width:52px;
    height:58px;
    display:block;
    margin:31px auto 18px;
}
.esg-detail-item img.esg-icon-img08{
    width:48px;
    height:55px;
    display:block;
    margin:33px auto 19px;
}
.esg-detail-item h5{
    color:#1a4293;
    font-size:18px;
    font-family: "source-han-sans-japanese", sans-serif;
    padding:3px 10px;
    display:inline-block;
    background:#fff;
    border-radius:20px;
    margin-bottom:15px;
}
.esg-detail-item p{
    color:#1a4293;
    font-size:16px;
    display:block;
    text-align:left;
    line-height:1.5em;
}
h4.sdgs-relation-title{
    margin:50px 0 25px;
    font-size:24px;
    font-family: "source-han-sans-japanese", sans-serif;
}
.sdgs-relation-area02{
    margin-bottom:15px;
}
.sdgs-icon-img{
    width:90px;
    margin-right:10px;
}
.diversity-text{
    margin:50px 0 20px;
}
table.esg-table{
    width:100%;
}
table.esg-table tr{
    width:100%;
}
table.esg-table th{
    width:25%;
    color:#1a4293;
    font-size:18px;
    font-family: "source-han-sans-japanese", sans-serif;
    padding:14px 10px 14px 0;
    line-height:1.6em;
}
table.esg-table td{
    width:75%;
    padding:14px 10px;
    line-height:1.5em;
}
ul.sub-nav li.list-25 a .left-to-right::after {
    width: 98px;
}
ul.sub-nav li.list-25 a.active .left-to-right::after {
    width: 74px;
}

@media screen and (min-width: 768px) and (max-width: 991px) { 
.sdgs-icon-img{
    width:85px;
}
}
@media screen and (max-width: 767px) { 
#sustainability{
    padding:0 0 30px;
    overflow-x:hidden;
}
.sustainability-kvarea{
    width: calc(100% + 70px) !important;
    margin: 30px -35px 20px !important;
}
.esg-kvtext{
    position: absolute;
    right: 0;
    bottom: 40%;
    left: 0;
    margin: auto;
    width: 95%;
    height: 3.2rem;
    font-family: "source-han-sans-japanese", sans-serif;
    font-size:34px;
    color:#fff;
    display:block;
    line-height:1.5em;
    text-align:center;
    text-shadow: 2px 2px 3px #b8c19f, 0 0 1em #d0d4c5, 0 0 0.2em #d0d4c5;
}
.esg-kvtext span{
    font-size:16px;
    display:inline-block;
    line-height:1.3em !important;
}
p.esg-top-text{
    line-height:1.8em;
}
h3.esg-news-title{
    font-size:20px;
    display:block;
    text-align:center;
    margin:25px 0 25px;
}
.esg-news-content{
    height:510px;
    padding-right:20px;
}
.section-esg{
    margin-top:40px;
}
.esg-menu-area{
    margin:15px 0 45px;
    padding:0 15px;
}
.esg-column:nth-child(3n+1){
    padding:0 6px 0 0;
}
.esg-column:nth-child(3n+2){
    padding:0 3px;
}
.esg-column:nth-child(3n){
    padding:0 0 0 6px;
}
.esg-menu-item{
    padding:1px 5px;
    font-size:10px;
    font-family: "source-han-sans-japanese", sans-serif;
}
.arrow-bottom-img{
    width:8px;
    margin-left:5px;
    bottom:1px;
}
h3.esgsubtitle{
    margin:10px 0;
    font-size:20px;
    text-align:center;
}
.esg-detail-area{
    display: block;
	margin-top:15px;
}
.esg-detail-item{
    margin-top:15px;
    padding:0px 20px;
    background:#f7f7f7;
    border:1px solid #1a4293;
    border-radius:3px;
    text-align:center;
    width: 100%;
}
.esg-detail-top{
    display:block;
    text-align:center;
}
.esg-detail-item img{
    width:auto;
    height:33px;
    display:inline-block;
    margin:20px 10px 10px 0;
}
.esg-detail-item img.esg-icon-img01{
    width:auto;
    height:35px;
    display:inline-block;
    margin:26px 10px 15px 0;
}
.esg-detail-item img.esg-icon-img02{
    width:auto;
    height:42px;
    display:inline-block;
    margin:20px 10px 15px 0;
}
.esg-detail-item img.esg-icon-img03{
    width:auto;
    height:34px;
    display:inline-block;
    margin:27px 10px 15px 0;
}
.esg-detail-item img.esg-icon-img04{
    width:auto;
    height:33px;
    display:inline-block;
    margin:28px 10px 15px 0;
}
.esg-detail-item img.esg-icon-img05{
    width:auto;
    height:35px;
    display:inline-block;
    margin:26px 10px 15px 0;
}
.esg-detail-item img.esg-icon-img06{
    width:auto;
    height:31px;
    display:inline-block;
    margin:30px 10px 15px 0;
}
.esg-detail-item img.esg-icon-img07{
    width:auto;
    height:35px;
    display:inline-block;
    margin:26px 10px 15px 0;
}
.esg-detail-item img.esg-icon-img08{
    width:auto;
    height:31px;
    display:inline-block;
    margin:25px 10px 15px 0;
}
.esg-detail-item h5{
    font-size:14px;
    padding:3px 10px;
    position:relative;
    top:7px;
}
.esg-detail-item p{
    font-size:13px;
    text-align:center;
}
h4.sdgs-relation-title{
    margin:40px 0 20px;
    font-size:17px;
    text-align:center;
}
h4.sdgs-relation-title02{
    margin:40px 0 12px;
}
.sdgs-relation-area{
    display:block;
    text-align:center;
}
.sdgs-icon-img{
    width:24%;
    margin-right:0;
}
.sdgs-icon-img:nth-child(1){
    padding:0 6px 0 0;
}
.sdgs-icon-img:nth-child(2){
    padding:0 4px 0 2px;
}
.sdgs-icon-img:nth-child(3){
    padding:0 2px 0 4px;
}
.sdgs-icon-img:nth-child(4){
    padding:0 0 0 6px;
}
.sdgs-icon-img:nth-child(5){
    padding:0 4px 0 2px;
    margin-top:12px;
}
.sdgs-icon-img:nth-child(6){
    padding:0 2px 0 4px;
    margin-top:12px;
}
.diversity-text{
    margin:0 0 10px;
}
table.esg-table th{
    display:block;
    width:100%;
    font-size:14px;
    padding:10px 0 5px;
    text-align:center;
}
table.esg-table td{
    display:block;
    width:100%;
    font-size:13px;
    padding:0 0 5px;
}
}

@media screen and (max-width: 359px) { 
.esg-kvtext{
    font-size:30px;
}
.esg-kvtext span{
    font-size:16px;
}
.esg-detail-item img{
    margin:20px 2px 10px 0;
}
.esg-detail-item h5{
    font-size:13px;
}
.esg-detail-item p{
    font-size:12px;
}
.sdgs-icon-img{
    width:23.9%;
}
}


/* パートナーエコシステム */
#partner_ecosystem {
	padding-bottom: 100px;
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
#partner_ecosystem {
	padding-bottom: 30px;
}
}
/* 共通 */
#partner_ecosystem .partner_ecosystem-subtitle {
 font-family: "source-han-sans-japanese", sans-serif;
 letter-spacing: 1px;
 font-feature-settings: "kern";
}
@media screen and (min-width: 768px) {
#partner_ecosystem .partner_ecosystem-subtitle {
 margin: 30px 0 30px;
 font-size: 30px;
}
.section-partner_ecosystem {
 margin-top: 80px;
}
}
@media screen and (max-width: 767px) {
#partner_ecosystem .partner_ecosystem-subtitle {
 margin: 20px 0 20px;
 font-size: 20px;
}
.section-partner_ecosystem {
 margin-top: 40px;
}
}

/* パートナーエコシステムについて */
#partner_ecosystem-top {
}
.partner_ecosystem-kvarea {
 position: relative;
}
.partner_ecosystem-kvarea .img-background {
	background: #fff;
}
.partner_ecosystem-kvtext {
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 display: inline-block;
 margin: auto;
 width: 93%;
	text-align: center;
 font-family: "source-han-sans-japanese", sans-serif;
 color:#fff;
 line-height: 1.0em;
 text-shadow: 2px 2px 3px #b8c19f, 0 0 1em #d0d4c5, 0 0 0.2em #d0d4c5;
}
@media screen and (min-width: 768px) {
.partner_ecosystem-kvarea {
 margin-bottom: 50px;
}
.partner_ecosystem-kvtext {
 font-size: 52px;
 height: 8.2rem;
}
.partner_ecosystem-top-text{
 line-height: 2.2em;
}
}
@media screen and (max-width: 767px) {
.partner_ecosystem-kvarea {
 margin-bottom: 30px;
}
.partner_ecosystem-kvtext {
 font-size: 30px;
 height: 6.4rem;
}
}

/* パートナーエコシステムのビジョン */
#partner_ecosystem-01 .partner_ecosystem-subtitle {
	margin-bottom: 50px;
	color: #1e4c9b;
}
#partner_ecosystem-01 .partner-type-title {
	margin-bottom: 30px;
 font-size: 22px;
 font-family: "source-han-sans-japanese", sans-serif;
}
.partner_ecosystem-menu-area {
 margin: 30px 0 110px;
}
.partner_ecosystem-menu-item {
 display: block;
 padding: 5px;
 color: #fff;
 text-align: center;
 font-size: 18px;
 background: #1a4293;
 border-radius: 20px;
}

@media screen and (min-width: 768px) {
.partner_ecosystem-vision {
	margin: 0 auto 90px;
	width: 86%;
}
}
@media screen and (max-width: 767px) {
.partner_ecosystem-menu-area{
    margin:15px 0 45px;
    padding:0 15px;
}
.partner_ecosystem-column:nth-child(3n+1){
    padding:0 6px 0 0;
}
.partner_ecosystem-column:nth-child(3n+2){
    padding:0 3px;
}
.partner_ecosystem-column:nth-child(3n){
    padding:0 0 0 6px;
}
.partner_ecosystem-menu-item{
    padding:1px 5px;
    font-size:10px;
    font-family: "source-han-sans-japanese", sans-serif;
}
.arrow-bottom-img{
    width:8px;
    margin-left:5px;
    bottom:1px;
}
.partner_ecosystem-vision {
	margin-bottom: 40px;
}
}

/* パートナータイプ */
.partner_ecosystem-type {
}
.partner_ecosystem-type-item {
 font-family: "Aoto Gothic Medium", sans-serif;
}
.partner_ecosystem-type-item h5 {
	color: #1a4293;
 font-family: "source-han-sans-japanese", sans-serif;
}
.partner_ecosystem-type-item h5 span {
	margin-right: 25px;
	font-size: 24px;
}
.partner_ecosystem-type-item p {
	margin: 0;
}
@media screen and (min-width: 768px) {
.partner_ecosystem-type {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
}
.partner_ecosystem-type-item {
 padding: 25px;
 border: 3px solid #1a4293;
 width: 49%;
}
.partner_ecosystem-type-item:nth-child(n+3) {
	margin-top: 20px;
}
.partner_ecosystem-type-item h5 {
	margin-bottom: 20px;
	font-size: 22px;
}
.partner_ecosystem-type-item h5 span {
	margin-right: 25px;
	font-size: 24px;
}
}
@media screen and (max-width: 767px) {
.partner_ecosystem-type {
	margin-bottom: 10px;
}
.partner_ecosystem-type-item {
 padding: 15px;
 border: 2px solid #1a4293;
}
.partner_ecosystem-type-item:nth-child(n+2) {
	margin-top: 15px;
}
.partner_ecosystem-type-item h5 {
	margin-bottom: 10px;
	font-size: 18px;
}
.partner_ecosystem-type-item h5 span {
	margin-right: 10px;
	font-size: 22px;
}
}

/* パートナー 一覧 */
#partner_ecosystem-02 .box-inner {
}
#partner_ecosystem-02 ul.partner_ecosystem-list {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}
#partner_ecosystem-02 .partner_ecosystem-list li {
	margin: 0;
	list-style: none;
}
#partner_ecosystem-02 .caption {
	text-align: right;
}
@media screen and (min-width: 768px) {
#partner_ecosystem-02 .partner_ecosystem-list li {
	padding: 10px;
	width: 33.333%;
}
#partner_ecosystem-02 .caption {
	margin-top: 20px;
	font-size: 14px;
}
}
@media screen and (max-width: 767px) {
#partner_ecosystem-02 .partner_ecosystem-list li {
	width: 50%;
}
#partner_ecosystem-02 .partner_ecosystem-list li:nth-child(n+3) {
	margin-top: 10px;
}
#partner_ecosystem-02 .partner_ecosystem-list li:nth-child(odd) {
	padding-right: 5px;
}
#partner_ecosystem-02 .partner_ecosystem-list li:nth-child(even) {
	padding-left: 5px;
}
#partner_ecosystem-02 .caption {
	margin-top: 25px;
	font-size: 12px;
}
}
/* 加入手順 */
ul.partner_ecosystem-join-flow {
	padding: 0;
}
.partner_ecosystem-join-flow li {
	display: flex;
	align-items: center;
	background: #f7f7f7;
	list-style: none;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}
.partner_ecosystem-join-flow li + li {
	position: relative;
}
.partner_ecosystem-join-flow li + li::before {	
	position: absolute;
	left: 50%;
	content: '';
	background: url(../images/company/partner_ecosystem_img_arrow.png) no-repeat 50% 50%;
	background-size: contain;
}
.partner_ecosystem-join-flow h5 {
	margin-bottom: 0;
	color: #1a4293;
 font-family: "source-han-sans-japanese", sans-serif;
}
.partner_ecosystem-join-flow p {
	margin: 5px 0 0;
 font-family: "Aoto Gothic Regular", sans-serif;
}
@media screen and (min-width: 768px) {
#partner_ecosystem-03 .box-inner {
	padding-bottom: 90px;
}
ul.partner_ecosystem-join-flow {
	margin: 0 auto;
	width: 90%;
}
.partner_ecosystem-join-flow li {
	padding: 20px 30px 20px 40px;
	border-left: 5px #a7a7a8 solid;
}
.partner_ecosystem-join-flow .icon {
	margin-right: 30px;
	width: 70px;
}
.partner_ecosystem-join-flow li + li {
	margin-top: 80px;
}
.partner_ecosystem-join-flow li + li::before {	
	top: -62px;
	margin-left: -19px;
	width: 38px;
	height:	48px;
}
.partner_ecosystem-join-flow h5 {
	font-size: 26px;
}
.partner_ecosystem-join-flow p {
	font-size: 18px;
}
}
@media screen and (max-width: 767px) {
#partner_ecosystem-03 .box-inner {
	padding-bottom: 60px;
}
.partner_ecosystem-join-flow li {
	padding: 15px;
	border-left: 3px #a7a7a8 solid;
}
.partner_ecosystem-join-flow .icon {
	margin-right: 15px;
	width: 30px;
}
.partner_ecosystem-join-flow li + li {
	margin-top: 40px;
}
.partner_ecosystem-join-flow li + li::before {	
	top: -32px;
	margin-left: -10px;
	width: 20px;
	height:	25px;
}
.partner_ecosystem-join-flow h5 {
	font-size: 18px;
	width: calc(100% - 45px);
}
.partner_ecosystem-join-flow p {
	font-size: 14px;
}
}

/* お問い合わせ */
#partner_ecosystem-04 {
}
@media screen and (min-width: 768px) {
#partner_ecosystem-04 .box-inner {
	padding-bottom: 70px;
	text-align: center;
}
#partner_ecosystem-04 .link-btn a {
	width: 300px;
}
}
@media screen and (max-width: 767px) {
#partner_ecosystem-04 .box-inner {
	padding-bottom: 40px;
}
#partner_ecosystem-04 .link-btn {
	margin-top: 40px;
}
#partner_ecosystem-04 .link-btn a {
	width: 100%;
}
}










