/* common  */

body{
    line-height: 1.5;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    padding-bottom: 56px;
    width: 100%;  
}

img{
    vertical-align: top;
}

a:link,
a:hover,
a:visited{
	color: #000;
	text-decoration: none;
}
a:hover{
	opacity: 0.7;
}

.wrapper{
    min-width: 320px;
    padding-top: 76px;
}

/* slick */
.slider{
    opacity: 0;
    transition: 1s;
}
.slick-initialized{
    opacity: 1
}

.objfit {
    object-fit: cover;
    object-position: 50% 50%;
    font-family: 'object-fit: cover; object-position: 50% 50%;';
}

.none{
    display: none;
}

/* popup */
/* overlay at start */
.mfp-bg {
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
/* overlay animate in */
.mfp-bg.mfp-ready {
    opacity: 0.8;
}
/* overlay animate out */
.mfp-bg.mfp-removing {
    opacity: 0;
}
/* content at start */
.mfp-wrap .mfp-content {
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
/* content animate it */
.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}
/* content animate out */
.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}
.mfp-bg {
    background: #ccc;
}
.mfp-close {
    top:20px;
    right: 20px;
    cursor: pointer;
    width: 20px;
    height: 20px;
    padding: 0;
    opacity: 1;
}
.mfp-close:hover {
    opacity: 0.2;
}
.mfp-close:active {
    top:20px;
    right: 20px;
}


h2{
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    font-size: 1.875rem;
    text-align: center;
    line-height: 1;
}

.time01{
    font-family: 'Roboto', sans-serif;
    font-size: 0.75rem;
    color: #999;
    line-height: 1;
}

/* btn */
.btn01{
    display: flex;
    justify-content: center;
    z-index: 1;
    position: relative;
}
.btn01 a{
    display: block;
    background: #000;
    width: 100%;
    padding: 15px 0;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
}
.btn01 a:link,
.btn01 a:visited{
    color:#fff;
    text-decoration: none;
}
.btn01 a::before{
    content:"";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 6px solid #fff;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    margin-top: 5px;
    padding-right: 1rem;
}
.btn02{
    display: flex;
    justify-content: center;
    font-size: 1.5rem;
    line-height: 1;
}
.btn02 a{
    display: block;
    background: #35518c;
    width: 100%;
    padding: 20px 0;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
}
.btn02 a:link,
.btn02 a:visited{
    color:#fff;
    text-decoration: none;
}
.btn02 a::before{
    content: url(../img/ico_form01.png);
    display: inline-block;
    width: 40px;
    height: 40px;
    vertical-align: middle;
    padding-right: 1.5rem;
}

.cate{
    font-size: 0.625rem;
    border-radius: 10px;
    padding: 4px 0;
    width: 80px;
    margin-left: 10px;
    display: inline-block;
    color: #fff;
    text-align: center;
}
.cateColor01{background: #88c7cc;}
.cateColor02{background: #eb928a;}
.cateColor03{background: #ab97c8;}
.cateColor04{background: #f4b45a;}
.cateColor05{background: #b8d569;}
.new{
    font-size: 0.625rem;
    padding: 2px 8px;
    color: #fff;
    background: #990000;
    line-height: 1;
    font-family: 'Roboto', sans-serif;
}

/* scroll */
a.scroll {
    padding-top: 70px;
    position: absolute;
    bottom: 0px;
    left: 50%;
}
a.scroll span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb 1.5s infinite;
    animation: sdb 1.5s infinite;
    box-sizing: border-box;
}
@-webkit-keyframes sdb {
    0% {
      -webkit-transform: rotate(-45deg) translate(0, 0);
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      -webkit-transform: rotate(-45deg) translate(-20px, 20px);
      opacity: 0;
    }
  }
  @keyframes sdb {
    0% {
      transform: rotate(-45deg) translate(0, 0);
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      transform: rotate(-45deg) translate(-20px, 20px);
      opacity: 0;
    }
}

/* slickslider */
.slick-prev, .slick-next {
    display: none !important;
}

/* head */
header{
    background: #000;
    padding: 22px 0;
    box-sizing: border-box;
    position: fixed;
    top:0;
    width:100%;
    z-index: 3;
}

header .headerTop{
    background: #000;
    z-index: 3;
}
header .headerTop > div{
    display: flex;
    justify-content: space-between;
}
header .headerLogo img{
    width: 207px;
    padding-left: 22px;
}
header .headerLogo a:hover{
    opacity: 1;
}

/* humberger menu */
header .humMenu{
    width: 42px;
    height: 32px;
    display: block;
    background: rgba(255, 255, 255, 0.02);
    position: absolute;
    z-index: 3;
    right: 15px;
}
header .humMenu span{
    width: 25px;
    height: 2.5px;
    display: block;
    background: #fff;
    position: absolute;
    left: 50%;
    top: 15px;
    margin-left: -15px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
header .humMenu .top {
    -webkit-transform: translateY(-10px) scale(1);
    -ms-transform: translateY(-10px) scale(1);
    transform: translateY(-10px) scale(1);
}
header .humMenu .middle {
    background: none;
    position: relative;
}
header .humMenu .middle:before,
header .humMenu .middle:after {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    content: "";
    width: 25px;
    height: 2.5px;
    background: #fff;
    display: block;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    position: absolute;
}  
header .humMenu .bottom {
    -webkit-transform: translateY(10px) scale(1);
    -ms-transform: translateY(10px) scale(1);
    transform: translateY(10px) scale(1);
}
header .humMenu.is-open .top {
    -webkit-transform: translateY(0px) scale(0);
    -ms-transform: translateY(0px) scale(0);
    transform: translateY(0px) scale(0);
} 
header .humMenu.is-open .bottom {
    -webkit-transform: translateY(0px) scale(0);
    -ms-transform: translateY(0px) scale(0);
    transform: translateY(0px) scale(0);
}
header .humMenu.is-open .middle:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}  
header .humMenu.is-open .middle:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* header global nav */
header #globalMenu{
    position: fixed;
    top: 0;
    right: -100%;
    z-index: 2;
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
    overflow-y: scroll;
    width: 100%;
    height: 100%;
    -webkit-overflow-scrolling: touch;
}
header #globalMenu.is-open{
    right: 0%;
}
header #globalMenu ul.outline{
    margin-left: 30px;
    background: #000;
    color: #fff;
    padding: 76px 0 30px;
    overflow-y: scroll;
}
header #globalMenu ul.outline li{
    padding-left: 30px;
}
header #globalMenu ul.outline li a,
header #globalMenu ul.outline li.contents_menu .subMenu a{
    display: block;
    padding: 15px 0;
    font-weight: bold;
} 
header #globalMenu ul.outline li a:link, 
header #globalMenu ul.outline li a:visited {
    color: #fff;
}
header #globalMenu ul.outline li.contents_menu h3{
    position: relative;
}
header #globalMenu ul.outline li.contents_menu h3 a{
    pointer-events: none;
}
header #globalMenu ul.outline li.contents_menu h3:before {
	position: absolute;
	display: block;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	right: 30px;
	width: 10px;
	height: 10px;
	background-color: #fff;
	margin-top: -8px;
}
header #globalMenu ul.outline li.contents_menu h3:after {
	position: absolute;
	display: block;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	right: 30px;
	width: 10px;
	height: 10px;
	background-color: #000;
	margin-top: -10px;
}
header #globalMenu ul.outline li.contents_menu .open:before {
	position: absolute;
	display: block;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	right: 30px;
	width: 10px;
	height: 10px;
	background-color: #fff;
	margin-top: -3px;
}
header #globalMenu ul.outline li.contents_menu .open:after {
	position: absolute;
	display: block;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	right: 30px;
	width: 10px;
	height: 10px;
	background-color: #000;
	margin-top: -1px;
}
header #globalMenu ul.outline li.contents_menu .subMenu{
    display: none;
}
header #globalMenu ul.outline li.sp_lms a:before{
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 6px solid #fff;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    padding-right: 20px;
}
header #globalMenu ul.outline li.sp_lms{
    background: #666;
}
header #globalMenu ul.outline li.sp_lms:first-child{
    background: #333;
}

/* for pc menu */
header .lmsButton,
.busList .btn01 span,
.subMenuPC{
    display: none;
}

/* main */
#main{
    position: relative;
}
#main picture{
    opacity: 0;
}
#main img{
    width: 100%;
}

/**/
#main #kaiyuflow_sp{
    position: absolute;
    top:20px;
    right:20px;
}
#main #kaiyuflow_sp li a{
    background: rgba(255, 255, 255, 0.95);
    padding: 10px 25px;
    box-sizing: border-box;
    border-radius: 6px;
    display: block;
    text-align: center;
}
#main #kaiyuflow_sp li:first-child{
    margin-bottom: 15px;
}
#main #kaiyuflow_sp li a:link,
#main #kaiyuflow_sp li a:visited{
    font-weight: bold;
    color: #000080;
    margin-bottom: 6px;
}

/* hotNews */
#hotNews{
    background: #333;
}
#hotNews .hotNews-slider{
    padding: 0 30px;
}
#hotNews .hotNewsitem{
    padding: 30px 0;
}
#hotNews .hotNewsitem a{
    display: flex;
}
#hotNews .hotNewsitem a:link,
#hotNews .hotNewsitem a:visited{
    color: #fff;
}
#hotNews .hotNewsitem a .thumbnail {
    border-radius: 75px;
    height: 130px;
    margin-right: 20px;
    overflow: hidden;
    padding-top: 0;
    width: 130px;
    -ms-flex-negative: 1;
    -webkit-flex-shrink: 0;
    -moz-flex-shrink: 0;
    -ms-flex-shrink: 0;
    flex-shrink: 0;
}
#hotNews .hotNewsitem a .thumbnail img{
    object-fit: cover;
}
#hotNews .hotNewsitem dl{
    padding: 15px 0;
}
#hotNews .hotNewsitem dt{
    font-size: 0.875rem;
    font-weight: bold;
    padding-bottom: 15px;
}
#hotNews .hotNewsitem dd::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url(../img/ico_time01.png);
    background-size: contain;
    vertical-align: middle;
    margin-right: 5px;
}

/* topics */
#topics{
    background: url(../img/bg_topics01_sp.webp);
    background-size: cover;
    background-position: center center;
    padding: 0 30px 50px;
}
#topics h2{
    padding: 50px 0 25px;
}
#topics li{
    border-bottom: 1px solid #d8d8d8;
    padding: 25px 0;
}
#topics li a{
    display: block;
    width:100%;
    height: 100%;
}
#topics li a:hover{
    opacity: 0.7;
}
#topics dt{
    padding-bottom: 15px;
    line-height: 1;
}

/* about us */
#about{
    background:#f8f7f8 url(../img/bg_about01_sp.webp) top center no-repeat;
    padding: 50px 15px 10px;
    position: relative;
}
#about #canvas {
    position:absolute;
    width:92%;
    height:100%;
    overflow: hidden;
}
#about h2,
#about .unique h3 {
    padding-bottom: 30px;
}
#about .unique{
    padding: 0 15px;
    margin-bottom: 30px;
    position: relative;
    box-sizing: border-box;
}
#about .unique h3 img{
    width: 100%;
}
#about .unique .aboutText{
    padding-bottom: 50px;
}
#about .unique .line {
	overflow: hidden;
    position: relative;
}
#about .unique .line .robo01{
    display: block;
    position: absolute;
    bottom:1px;
    right: 10px;
    z-index:100;
}
#about .unique .robo01 img {
    width: 24px;
}
.loop_wrap {
	display: flex;
	width: 100vw;
	height: 62px;
	overflow: hidden;
}
.loop_wrap img {
  width: auto;
  height: 100%;
}
.loop_wrap img:first-child {
  animation: loop 200s -100s linear infinite;
}
.loop_wrap img:last-child {
  animation: loop2 200s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/* media */
#media {
    background: url(../img/bg_topics01_sp.webp);
    background-size: cover;
    background-position: center center;
}
#media h2 {
    padding-bottom: 30px;
}
#media h3{
    text-align: center;
    padding-bottom: 35px;
}
#media h3 img{
    width: 74px;
}
#media .mediaText{
    padding:0 15px 30px;
}
#media .mediaText span{
    font-weight: bold;
    font-size: 1.125rem;
}
#media ul{
    margin-bottom: 40px;
}
#media li{
    margin: 0 7px;
}
#media li img{
    width: 100%;
    box-shadow: 0px 2px 7px rgba(0,0,0,.25);
    height: 170px;
    object-fit: cover;
}
#media li dl{
    position: relative;
    color: #fff;
    font-size: 0.875rem;
}
#media li dd.category{
    position: absolute;
    top: 5px;
    left: 5px; 
}
#media li dd.category span{
    font-family: 'Oswald', sans-serif;
    padding: 2px 10px;
    font-size: 1.15rem;
}
.c-designer01 {color: #30bade !important;}
.c-designer02 {color: #eb549c !important;}
.c-designer03 {color: #2e80b0 !important;}
.c-designer04 {color: #9fcb69 !important;}
.c-designer05 {color: #fbc85f !important;}
.c-designer06 {color: #FF8000 !important;}
#media li dd.title{
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    font-weight: bold;
    box-sizing: border-box;
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%,rgba(50,50,50,.8) 100%);
    background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%, rgba(50,50,50,.8) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%,rgba(50,50,50,.8) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0);
}
#media li dd.title p{
    position: absolute;
    top: 50%;
    padding: 0 5%;
}
#media li:hover{
    opacity: 0.7;
}
#media .loading{
    text-align: center;
}
#media .btn01{
    padding: 0 15px;
}

.gradient {
    padding: 40px 15px;
	background: linear-gradient(45deg, rgba(4,191,207,0.1), rgba(191,25,203,0.1));
	background-size: 400% 400%;
	-webkit-animation: mediacolor 8s ease infinite;
	-moz-animation: mediacolor 8s ease infinite;
	animation: mediacolor 8s ease infinite;
}
@-webkit-keyframes mediacolor {
    0%{background-position:0% 51%}
    50%{background-position:100% 50%}
    100%{background-position:0% 51%}
}
@-moz-keyframes mediacolor {
    0%{background-position:0% 51%}
    50%{background-position:100% 50%}
    100%{background-position:0% 51%}
}
@keyframes mediacolor { 
    0%{background-position:0% 51%}
    50%{background-position:100% 50%}
    100%{background-position:0% 51%}
}

/* Challenge */
#challenge {
    background: #f8f7f8;
    padding: 0 20px 40px;
}
#challenge h2 {
    padding-bottom: 1rem;
    text-align: left;
    font-family: 'Italianno', cursive;
    font-size: 2.5rem;
    font-weight: normal;
}
#challenge p{
    display: inline-block;
    padding: 0 0 50px;
}
#challenge h4 {
    font-size: 1.25rem;
    padding: 0 0 1.5rem;
    text-align: left;
    font-family: 'Kosugi Maru', sans-serif;
}
#challenge h4 span.accent01{
    color: #ec1e26;
}
#challenge h4 span.accent02{
    color: #00b442;
}

/* Our Business */
#ourBus{
    background:#fff url(../img/bg_bus01_sp.webp) no-repeat;
    background-size: cover;
    background-position: center bottom;
    padding: 40px 15px;
}
#ourBus h2 {
    padding-bottom: 30px;
}
#ourBus .busText{
    padding: 0 15px 30px;
}
#ourBus .busList ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 40px;
}
#ourBus .busList li{
    width: calc(50% - 15px);
    box-shadow: 0px 1px 5px rgba(125,125,125,0.3);
    border: 1px solid #eaeceb;
    margin-bottom: 18px;
}
#ourBus .busList ul::after{
    content:"";
    display: block;
    width:50%;
}
#ourBus .busList li:hover{
    opacity: 0.7;
}
#ourBus .busList li img,
#ourBus .plusOne li img{
    width: 100%;
    cursor: pointer;
}
#ourBus .plusOne {
    padding: 0 15px;
}
#ourBus .plusOne .plusOneText{
    padding-bottom: 30px;
}
#ourBus .plusOne ul {
    padding-bottom: 20px;
}
#ourBus .plusOne li{
    margin-bottom: 18px;
    text-align: center;
}
#ourBus .plusOne li dt{
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    padding-bottom: 0.5rem;
}
#ourBus .plusOne li:hover{
    opacity: 0.7;
}

/* contact */
#contact{
    display: none;
}

/* footer */
footer{
    background: #f2f2f2;
}
footer .footerIn{
    padding: 30px 15px 45px;
}
footer .line{
    border-bottom: 1px solid #d8d8d8;
}
footer nav{
    padding: 0 15px 30px;
    margin-bottom: 45px;
    display: block;
}
footer nav .contents{
    font-weight: bold;
}
footer nav .contents h3{
    padding: 15px 0;
    position: relative;
}
footer nav .contents h3.contents_menu:before {
	position: absolute;
	display: block;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	background-color: #000;
	margin-top: -8px;
}
footer nav .contents h3.contents_menu:after {
	position: absolute;
	display: block;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	background-color: #f2f2f2;
	margin-top: -10px;
}
footer nav .contents h3.contents_menu.open:before {
	position: absolute;
	display: block;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	background-color: #000;
	margin-top: -3px;
}
footer nav .contents h3.contents_menu.open:after {
	position: absolute;
	display: block;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	background-color: #f2f2f2;
	margin-top: -1px;
}
footer nav .contents ul{
    display: none;
}
footer nav .contents li{
    padding: 15px 0 15px 35px;
    line-height: 1;
}
footer nav .contents a{
    display: block;
}
footer nav .contents h3 a{
    pointer-events: none;
}
footer .footerLogo{
    text-align: center;
    padding-bottom: 45px;
}
footer .footerLogo img{
    width: 78px;
}
footer .legalLink {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
footer .legalLink li{
    padding: 0 10px;
    margin-top: 15px;
    font-size: 0.8125rem;
    text-align: center;
}
footer .legalLink li+ li {
    border-left: 0.5px solid #000;
}
footer small{
    display: block;
    text-align: center;
    font-size: 0.8125rem;
    background: #000;
    color: #fff;
    padding: 25px 0;
}
footer small a:link,
footer small a:hover,
footer small a:visited{
    color: #fff;
}

/* footer nav */

footer .footerBottomNav{
    position: fixed;
    bottom:0;
    display: flex;
    font-size: 0.625rem;
    font-weight: bold;
    line-height: 1;
    z-index: 5;
    height: 56px;
    width:100%;
    opacity: 0;
    transition: opacity 0.35s, transform 0.35s;
}
footer .footerBottomNav.active{
    opacity: 0.95;
}
footer .footerBottomNav li{
    width:calc(100%/4);
    border-top: 1px solid #d8d8d8;
    border-right: 1px solid #d8d8d8;
    text-align: center;
    position: relative;
    background: #fff;
}
footer .footerBottomNav li:last-child{
    border-right: none;
    background: #666;
}
footer .footerBottomNav li:last-child a:link,
footer .footerBottomNav li:last-child a:visited{ 
    color:#fff;
}
footer .footerBottomNav li img{
    position: absolute;
    top: 12px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}
footer .footerBottomNav li p{
    padding-top: 35px;
}
footer .footerBottomNav li a{
    display: block;
    width: 100%;
    height: 100%;
}

footer .pageTop{
    position: fixed;
    right: 0;
    bottom:56px;
    display: block;
    width: 48px;
    height: 48px;
    background: #333;
    display: inline-block;
    transition: all 400ms 0s ease;
    bottom: -48px;
    opacity: 0.95;
    cursor: pointer;
}
footer .pageTop.active{
    bottom: 56px;
}
footer .pageTop::before{
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -4px;
    margin-left: -4px;
}

#kaiyuflow{
    display: none;
}

#main #kaiyuflow_text{
    display: none;
}

/***  PC  ***/
@media all and (min-width: 768px) {

    /* common */
    body{
        padding-bottom: 0px;
    }
    .wrapper {
        padding-top: 158px;
    }
    .inner{
        max-width: 1000px;
        margin:0 auto;
    }
    .time01{
        font-size: 1rem;
    }
    .cate {
        font-size: 0.875rem;
        border-radius: 10px;
        padding: 5px 9px;
    }
    .new {
        font-size: 0.75rem;
        padding: 2px 10px;
    }
    #graylayer{
        background: #ccc;
        opacity: 0.7;
        position: fixed;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        display: none;
    }
    .mfp-close {
        width: 30px;
        height: 30px;
    }

    h2 {
        font-size: 3rem;
    }

    .btn01 a {
        width: 320px;
        font-weight: normal;
    }

    .sp_lms,.sp_menu,.sp_bnr{
        display: none;
    }

    #kaiyuflow{
        display: block;
    }
    #main #kaiyuflow_text{
        display: block;
    }

    .busList .btn01 span{
        display: inline;
    }

    /*
    #main #kaiyuflow{
        position: absolute;
        top:40px;
        right:20px;
    }
    #main #kaiyuflow img{
        width: 100%;
        max-width: 200px;
        border-radius: 10px;
    }
    #main #kaiyuflow li:first-child{
        margin-bottom: 20px;
    }
    */
    
    #main #kaiyuflow_text{
        position: absolute;
        top:140px;
        right:20px;
    }
    #main #kaiyuflow_text li a{
        background: rgba(255, 255, 255, 0.95);
        padding: 10px 36px;
        box-sizing: border-box;
        border-radius: 6px;
        display: block;
        text-align: center;
    }
    #main #kaiyuflow_text li:first-child{
        margin-bottom: 15px;
    }
    #main #kaiyuflow_text li dt {
        font-weight: bold;
        color: #000080;
        margin-bottom: 6px;
    }
    #main #kaiyuflow_text li dd{
        font-size: 0.875rem;
        padding: 6px 30px;
        box-sizing: border-box;
        background: #333;
        color: #fff;
        border-radius: 6px;
    }

    /* slickslider */
    .slick-prev, .slick-next {
        line-height: 0;
        position: absolute;
        top: 50%;
        display: block !important;
        /*width: 20px;
        height: 20px;*/
        padding: 0;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
        cursor: pointer;
        border: none;
        outline: none;
        background: transparent;
    }
    .slick-next {
        right: 0px;
    }
    .slick-prev {
        left: 0px;
    }

    /* scroll */
    a.scroll {
        bottom: 70px;
    }

    /* header */
    header {
        display: block;
        padding: 0;
        transition: .4s;
    }
    header.active{
        margin-top: -92px;
        background: #f2f2f2;
        /*opacity: 0.85;*/
    }
    header .headerTop > div{
        padding: 24px 0;
    }
    header.active #globalMenu ul.outline li a{
        padding: 20px 0;
    }
    header .headerLogo img{
        height: 44px;
        width: auto;
    }
    header .lmsButton{
        display: flex;
    }
    header .lmsButton a{
        line-height: 1;
        display: block;
        padding: 14px 18px;
        font-size: 0.8125rem;
        background: #666;
        box-sizing: border-box;
    }
    header .lmsButton a:first-child{
        margin-right: 20px;
        background: #333
    }
    header .lmsButton a:link,
    header .lmsButton a:visited{
        color: #fff;
    }
    header .lmsButton a::before {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        border-left: 6px solid #fff;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        padding-right: 10px;
    }
    
    /* globalMenu */
    header #globalMenu {
        position: relative;
        left:0 ;
        background: #fff;
        color:#000;
        overflow-y: visible;
        box-shadow: 0px 6px 6px -5px rgba(204,204,204,0.4);
        -webkit-box-shadow: 0px 6px 6px -5px rgba(204,204,204,0.4);
        -moz-box-shadow: 0px 6px 6px -5px rgba(204,204,204,0.4);
    }
    header #globalMenu ul.outline{
        overflow-y: visible;
        display: flex;
        justify-content:space-around;
        padding: 0;
        background: #fff;
        margin-left: auto;
    }
    header #globalMenu ul.outline li.contents_menu h3:before ,
    header #globalMenu ul.outline li.contents_menu h3:after {
        display: none;
    }
    header #globalMenu ul.outline li {
        margin-left: 0px;
        text-align: center;
        padding: 0;
        font-weight: bold;
        width:calc(100%/5);
    }
    header #globalMenu ul.outline li a{
        display: block;
        line-height: 1;
        padding: 25px 0;
    }
    header #globalMenu ul.outline li a.mainTitle:after{
        content: '';
        display: block;
        position: absolute;
        width: 0%;
        height: 3px;
        background: #000;
        bottom: 0;
        z-index: 6;
        transition: all 200ms 0s ease-in-out;
    }
    header #globalMenu ul.outline li a.mainTitle:hover::after,
    header #globalMenu ul.outline li a.mainTitle.active::after{
        width: 100%;
    }
    header #globalMenu ul.outline li a:link, 
    header #globalMenu ul.outline li a:visited {
        color: #fff;
        position: relative;
    }
    header #globalMenu ul.outline li h3 a:link, 
    header #globalMenu ul.outline li h3 a:visited {
        color: #333;
    }
        
    header #globalMenu ul.outline li h3.active a:link,
    header #globalMenu ul.outline li h3.active a:visited {
        color: #35518c;
    }
    header #globalMenu ul.outline li.contents_menu h3 a{
        pointer-events: auto;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC{
        /*background-color: rgba(255,255,255,0.82);*/
        background-color: rgba(0,0,0,0.4);
        
        position: absolute;
        left: 0;
        width: 100%;
        z-index: 2;
        padding: 30px 30px 10px;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC > div{
        text-align: left;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC a{
        padding: 0;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC dl {
        display: flex;
        font-size: 0.9rem;
        margin-left: 2rem;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC dt{
        min-width: 200px;
        font-weight: bold;
        margin: 0 1rem 20px 0;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC dt a::before{
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        border-left: 6px solid #fff;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        padding-right: 10px;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC dd ul{
        display: flex;
        flex-wrap: wrap;
        max-width: 800px;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC dd ul li{
        margin: 0 1rem 20px 0;
        border-right: 1px solid #bbb;
        padding-right: 1.2rem;
        width: auto;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC dd ul li:last-child{
        border-right: none;
    }
    header #globalMenu ul.outline li.contents_menu .subMenuPC dd ul li a{
        font-weight: normal;
    }

    /* hotnews */
    #hotNews .hotNews-slider{
        padding: 0 15px;
    }
    #hotNews .hotNewsitem{
        padding: 30px 15px;
    }
    

    /* topics */
    #topics{
        background: url(../img/bg_topics01_pc.webp);
        background-size: contain;
        background-position: center bottom;
        padding: 0 30px 80px;
    }
    #topics h2 {
        padding: 80px 0 66px;
    }
    #topics li {
        padding: 15px 0;
    }
    #topics dl {
        display: table;
    }
    #topics dd, #topics dt {
        display: table-cell;
        padding-bottom: 0;
    }
    #topics dd {
        padding-left: 2rem;
    }

    /* about */
    #about{
        background:#f8f7f8 url(../img/bg_about01_pc.webp) top center no-repeat;
        padding: 80px 0px;
    }
    #about h2{
        padding-bottom: 40px;
    }
    #about .unique h3 {
        text-align: center;
        padding-bottom: 50px;
    }
    #about .unique h3 img {
        width: auto;
    }
    #about .unique .aboutText {
        padding: 0 130px 20px;
        box-sizing: border-box;
    }
    #about .unique .line{
        padding-top: 35px;
    }
    #about .unique .line .robo01{
        right: 100px;
    }
    .loop_wrap {
		height: 52px;
	}

    /* media */
    #media{
        background: url(../img/bg_topics01_pc.webp);
        position: relative;
        background-size: contain;
    }
    #media h2 {
        padding-bottom: 75px;
    }
    #media .mediaTitle{
        display: flex;
        align-items: center;
        padding: 0 0 75px 36px;
        box-sizing: border-box;
    }
    #media .mediaText {
        padding: 0 130px 80px;
        box-sizing: border-box;
    }
    #media ul{
        margin-bottom: 60px;
    }
    #media li{
        margin: 0 10px;
    }
    #media li dd.title p{
        font-size: 1rem;
        top: 65%;
    }
    #media li img{
        height: 250px;
    }
    #media .slick-next {
        right: 38px;
        z-index:5;
    }
    #media .slick-prev {
        left: 38px;
        z-index:5;
    }
    #media li {
        width: auto;
    }

    .gradient {
        padding: 80px 0;
    }

    /* Challenge */
    #challenge {
        padding: 0 0 80px;
    }
    #challenge h2 {
        padding-left: 20%;
        font-size: 2.75rem;
    }
    #challenge p{
        padding: 0 130px 50px;
    }
    #challenge h4 {
        font-size: 1.875rem;
        padding: 0 0 80px;
        text-align: center;
    }

    #rooptown{
        background-size: 50%;
    }

    /* ourbus */
    #ourBus {
        background: #fff url(../img/bg_bus01_pc.webp) no-repeat;
        background-size: cover;
        background-position: center center;
        padding: 80px 0px;
    }
    #ourBus h2 {
        padding-bottom: 75px;
    }
    #ourBus .busText {
        padding-bottom:80px;
    }
    #ourBus .busText span{
        display: inline-block;
        padding: 0 130px;
    }
    #ourBus .busList li {
        width: calc(33.3% - 22px);
        border: 1px solid #eaeceb;
        margin-bottom: 22px;
    }
    #ourBus .busList ul::after{
        content:"";
        display: block;
        width:33.3%;
    }
    #ourBus .plusOne {
        padding-top: 98px;
    }
    #ourBus .plusOne ul {
        padding: 0 40px 40px;
    }
    #ourBus .plusOne .plusOneText{
        padding:0 130px 60px;
    }
    
    /* contact */
    #contact{
        display: block;
        background: #fff;
        padding: 80px 0;
        line-height: 1;
    }
    #contact h2 {
        padding-bottom: 75px;
    }
    #contact .contactText{
        text-align: center;
        font-weight: bold;
        padding-bottom: 40px;
    }
    #contact ul{
        display: flex;
        padding-top: 50px;
        text-align: center;
    }
    #contact li{
        width: calc(50%);
    }
    #contact li+ li {
        border-left: 1px solid #d8d8d8;
    }
    #contact li h3{
        font-weight: bold;
        font-size: 1.125rem;
        padding-bottom: 30px;
    }
    #contact li dl{
        display: flex;
        justify-content: center;
        padding-bottom: 30px;
    }
    #contact li dt{
        padding: 3px 10px 0 0;
    }
    #contact li dt.mail img{
        padding-top: 4px;
    }
    #contact li dd{
        font-size: 1.875rem;
        font-family: 'Roboto', sans-serif;
        font-weight: bold;
        letter-spacing: 1px;
    }
    #contact li p{
        line-height: 1.5;
        font-size: 0.9375rem;
    }



    /* footer */
    footer .footerIn {
        padding: 80px 0 0;
    }
    footer nav{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        font-size: 0.875rem;
        padding: 0 0 80px;
    }
    footer nav > div{
       width: calc( (100%/5) - 4px );
    }
    footer nav .contents h3 a{
        pointer-events: auto;
    }
    footer nav .contents h3 {
        padding: 0 0 0 25px;
        position: relative;
    }
    footer nav .contents ul {
        display: block !important;
        font-weight: normal;
    }
    footer nav .contents li {
        padding: 20px 10px 0 25px;
        line-height: 1.5;
    }
    footer .contents.line {
        border-bottom: 0;
        border-right: 1px solid #d8d8d8;
    }
    footer .legalNavi{
        display: flex;
        justify-content: space-between;
        margin-bottom: 45px;
    }
    footer .footerLogo {
        padding-bottom: 0px;
    }
    footer small {
        padding: 30px 0;
    }
    
    footer .pageTop{
        bottom:-79.5px;
        width: 79.5px;
        height: 79.5px;
    }
    footer .pageTop.active{
        bottom:0px;
    }
    footer .pageTop::before{
        content: '';
        width: 12px;
        height: 12px;
        border: 0px;
        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
        -ms-transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -6px;
        margin-left: -6px;
    }
    footer .pageTop:hover{
        background: #666;
    }

    header .humMenu,
    footer .footerBottomNav,
    footer nav .contents h3.contents_menu:before,
    footer nav .contents h3.contents_menu:after{
        display: none !important;
    }

}
/*GN追加分CSS*/
.header_click:before {
    position: absolute;
    display: block;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 30px;
    width: 10px;
    height: 10px;
    background-color: #fff;
    margin-top: -8px;
    }
    .header_click:after {
    position: absolute;
    display: block;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 30px;
    width: 10px;
    height: 10px;
    background-color: #000;
    margin-top: -10px;
    }
    .header_click a {
    pointer-events: none;
    }
    .header_click {
    position: relative;
    }
@media screen and (min-width:768px){
    .header_click:after {
    content:none;
}
.header_click a{
    color:#333!important;
}
.header_link{
    color:#333!important;
}
}

#breadcrumb {
	padding: 5px;
	font-size: 0.75rem;
}
#breadcrumb ol {
	display: flex;
	overflow-x: scroll;
}
#breadcrumb ol li {
	position: relative;
	white-space: nowrap;
}
#breadcrumb ol li:not(:first-child) {
	padding-left: 30px;
}
#breadcrumb ol li:not(:first-child)::before {
    content: "";
    width: 5px;
    height: 5px;
    border-top: 1px solid #666;
    border-right: 1px solid #666;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    left: 10px;
    top: 5px;
}
@media all and (min-width: 768px) {
	#breadcrumb {
		padding: 10px 0;
		font-size: 0.75rem;
	}
	#breadcrumb ol {
		display: flex;
		overflow-x: visible;
	}
}

/* business-column */
#business-column {
    background: url(../img/bg_topics01_sp.webp);
    background-size: cover;
    background-position: center center;
}
#business-column h2 {
    padding-bottom: 30px;
}
#business-column h3{
    text-align: center;
    padding-bottom: 35px;
}
#business-column h3 img{
    width: 74px;
}
#business-column .mediaText{
    padding:0 15px 30px;
}
#business-column .mediaText span{
    font-weight: bold;
    font-size: 1.125rem;
}
#business-column ul{
    margin-bottom: 40px;
}
#business-column li{
    margin: 0 7px;
}
#business-column li img{
    width: 100%;
    box-shadow: 0px 2px 7px rgba(0,0,0,.25);
    height: 170px;
    object-fit: cover;
}
#business-column li dl{
    position: relative;
    color: #fff;
    font-size: 0.875rem;
}
#business-column li dd.category{
    position: absolute;
    top: 5px;
    left: 5px; 
}
#business-column li dd.category span{
    font-family: 'Oswald', sans-serif;
    padding: 2px 10px;
    font-size: 1.15rem;
}
.c-designer01 {color: #30bade !important;}
.c-designer02 {color: #eb549c !important;}
.c-designer03 {color: #2e80b0 !important;}
.c-designer04 {color: #9fcb69 !important;}
.c-designer05 {color: #fbc85f !important;}
.c-designer06 {color: #FF8000 !important;}
#business-column li dd.title{
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    font-weight: bold;
    box-sizing: border-box;
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%,rgba(50,50,50,.8) 100%);
    background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%, rgba(50,50,50,.8) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%,rgba(50,50,50,.8) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0);
}
#business-column li dd.title p{
    position: absolute;
    top: 50%;
    padding: 0 5%;
}
#business-column li:hover{
    opacity: 0.7;
}
#business-column .business-column_loading{
    text-align: center;
}
#business-column .btn01{
    padding: 0 15px;
}

@media all and (min-width: 768px) {
    #business-column {
        background: url(../img/bg_topics01_pc.webp);
        position: relative;
        background-size: contain;
    }
    #business-column h2 {
        padding-bottom: 75px;
    }
    #business-column .mediaTitle{
        display: flex;
        align-items: center;
        padding: 0 0 75px 36px;
        box-sizing: border-box;
    }
    #business-column .mediaText {
        padding: 0 130px 80px;
        box-sizing: border-box;
    }
    #business-column ul{
        margin-bottom: 60px;
    }
    #business-column li{
        margin: 0 10px;
    }
    #business-column li dd.title p{
        font-size: 1rem;
        top: 65%;
    }
    #business-column li img{
        height: 250px;
    }
    #business-column .slick-next {
        right: 38px;
        z-index:5;
    }
    #business-column .slick-prev {
        left: 38px;
        z-index:5;
    }
    #business-column li {
        width: auto;
    }
}
