@charset "utf-8";

#bearsnet h1,
#bearsnet h2,
#bearsnet h3,
#bearsnet h4,
#bearsnet h5,
#bearsnet h6,
#bearsnet p,
#bearsnet ul,
#bearsnet ol,
#bearsnet li,
#bearsnet dl,
#bearsnet dt,
#bearsnet dd,
#bearsnet div,
#bearsnet form,
#bearsnet address,
#bearsnet strong,
#bearsnet em,
#bearsnet figure,
#bearsnet input,
#bearsnet select,
#bearsnet textarea {
  margin: 0;
  border: 0;
  padding: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  transform: rotate(0.001deg); /* レンダリング対策 */
  font-family: "YuGothic", "Yu Gothic", "游ゴシック体", "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.05em;
}

#bearsnet ul,
#bearsnet ol,
#bearsnet li {
  list-style: none;
}

figure img {
  filter: grayscale(0%)!important;
  transition: 0.5s ease-in-out;
  transform: scale(1);
  width: auto!important;
}
figure img:hover {
  filter: grayscale(0);
  transform: scale(1)!important;
}

@keyframes bgScroll {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -100% 0;
  }
}

[class*="mov_"] {
  opacity: 0;
  visibility: hidden;
}


/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
#catch {
	background-image: url("../images/ai/m_bg.png");
	height: 675px;
	background-size: auto 100%; /* 高さ100%にして比率維持 */
	background-position: 0 0;
	animation: bgScroll 60s linear infinite; /* アニメーション */
	position: relative;
}
#catch h1 {
	position: absolute;
	left: 0px;
	right: 0px;
	text-align: center;
	top: 250px;
	letter-spacing: 0.3em;
	
}
#catch h1 span {
	background-color: #000;
	height: 46px;
	line-height: 46px;
	color: #fff;
	font-size: 30px;
	display: inline-block;
	margin-bottom: 10px;
	width: 400px;
	font-weight: 500;
}
#catch h1 span:first-child {
	font-size: 34px;
	font-weight: bold;
}
#catch h1 span:last-child {
	width: 260px;
}
#catch h1 span img {
	width: 26px;
	height: auto;
	position: relative;
	top: 9px;
	margin-left: 1px;
	margin-right: 5px;
}
#catch+p {
	text-align: center;
	line-height: 2em;
	font-size: 18px;
	padding-top: 100px;
	padding-bottom: 100px;
}
#catch+p span {
	font-weight: bold;
}





#evo {
	background-image: url("../images/ai/evo_bg.png");
	background-size: cover;
	background-position: center center;
	padding-top: 80px;
	height: 1280px;
}
#evo .text {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
#evo h2 {
	font-size: 36px;
	font-weight: bold;
	margin-top: 5px;
	position: relative;
	margin-bottom: 100px;
}
#evo h2::after {
	content: "";
	width: 400px;
	height: 1px;
	background-color: #9D9D9D;
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: -25px;
	margin-left: auto;
	margin-right: auto;
}
#evo .box {
	width: 913px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	height: 273px;
	margin-bottom: 50px;
}
#evo .box .sttl {
	background-color: #000;
	display: inline-block;
	color: #fff;
	padding-left: 35px;
	padding-right: 35px;
	font-size: 18px;
	font-weight: bold;
	height: 40px;
	line-height: 40px;
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 2;
}
#evo .box div {
	background-color: #fff;
	width: 750px;
	position: absolute;
	left: 35px;
	top: 35px;
	z-index: 1;
	height: 200px;
}
#evo .box div::after {
	width: 750px;
	position: absolute;
	content: "";
	border: 1px solid #999999;
	height: 200px;
	top: -8px;
	left: -8px;
}
#evo .box div h3 {
	font-size: 36px;
	font-weight: 500;
	margin-left: 50px;
	margin-bottom: 5px;
	margin-top: 20px;
}
#evo .box div h3+p {
	font-size: 16px;
	font-weight: 500;
	margin-left: 50px;
	width: 500px;
}
#evo .box figure  {
	width: 300px;
	position: absolute;
	right: 0px;
	top: 65px;
	z-index: 3;
}

#evo .box:nth-child(even) {
	height: 292px;
}
#evo .box:nth-child(even) .sttl {
	left: auto;
	right: 0px;
	top: 0px;
}
#evo .box:nth-child(even) div {
	left: auto;
	right: 35px;
	top: 35px;
	height: 220px;
}
#evo .box:nth-child(even) div::after {
	height: 220px;
	top: -8px;
	right: -8px;
	left: auto;
}
#evo .box:nth-child(even) div h3 {
	margin-left: 210px;
}
#evo .box:nth-child(even) div h3+p {
	margin-left: 210px;
}
#evo .box:nth-child(even) figure  {
	right: auto;
	left: 0px;
}

#evo .box:nth-of-type(3) div {
	height: 220px;
}
#evo .box:nth-of-type(3) div::after {
	height: 220px;
}





#example {
	padding-top: 105px;
	width: 980px;
	margin-left: auto;
	margin-right: auto;
}
#example h2 {
	font-size: 20px;
	font-weight: bold;
	position: relative;
	margin-bottom: 70px;
}
#example h2::before {
	content: "";
	width: 1px;
	height: 40px;
	background-color: #CCCCCC;
	position: absolute;
	left: 0px;
	top: -50px;
	right: 0px;
	margin-left: auto;
	margin-right: auto;
}
#example .flex {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}
#example .flex div {
	width: 300px;
}
#example .flex div figure img:hover,
#example .flex2 figure img:hover
{
	transform: scale(1.1)!important;
	opacity: 0.7;
}
#example .flex div h3 {
	font-size: 16px;
	font-weight: bold;
	margin-top: 20px;
}
#example .flex div p,
#example .flex2 div p
{
	font-size: 14px;
	font-weight: 500;
	margin-top: 10px;
	line-height: 1.8em;
}
#example .flex2 {
	display: flex;
	justify-content: space-between;
	width: 510px;
	margin-top: 70px;
}
#example .flex2 figure {
	width: 180px;
}
#example .flex2 div {
	width: 310px;
}
#example .flex2 div h3 {
	font-size: 16px;
	font-weight: bold;
}
#example .btn a {
	width: 284px;
	height: 60px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid #fff;
	text-align: center;
	line-height: 60px;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background-color: #000;
	transition: 0.7s;
	position: relative;
	top: -60px;
}
#example .btn a:hover {
	border: 1px solid #ccc;
	color: #000;
	background-color: #fff;
	transition: 0.7s;
}
#example #zoe {
	margin-top: 120px;
	padding-top: 120px;
	border-top: 1px solid #CCCCCC;
}
#example #zoe h3 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 60px;
}
#example #zoe .flex3 {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
#example #zoe .flex3 div:last-child {
	width: 618px;
}
#example #zoe .flex3 div:last-child p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8em;
}
#example #zoe .flex3 div:last-child ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 35px;
}
#example #zoe .flex3 div:last-child ul li {
	width: 200px;
	margin-bottom: 10px;
}
#example #zoe .flex3 div:first-child {
	width: 300px;
}
#example #zoe .flex3 div:first-child p {
	font-family: "Inter", sans-serif;
	font-size: 16px;
}
#example #zoe .flex3 div:first-child p span {
	font-size: 30px;
	font-weight: 500;
	margin-right: 30px;
}
#example #zoe .flex3 div:first-child p img {
	width: 16px;
	position: relative;
	top: 15px;
	margin-right: 8px;
}
#example #zoe .flex3 div:first-child p a {
	text-decoration: underline;
}
#example #zoe .flex3 div:first-child p a:hover {
	text-decoration: none;
}
#example #contest {
	height: 400px;
	background-image: url("../images/ai/contest_bg.png");
	background-size: cover;
	background-position: 0 0;
	margin-top: 100px;
}
#example #contest h3 {
	font-weight: bold;
	font-size: 18px;
	text-align: center;
	position: relative;
	top: -18px;
}
#example #contest .flex {
	width: 876px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
}
#example #contest .flex div {
	width: 530px;
}
#example #contest .flex div h4 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	position: relative;
}
#example #contest .flex div h4 span {
	font-size: 18px;
	display: block;
}
#example #contest .flex div h4 .fig01 {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 52px;
}
#example #contest .flex div h4 .fig02 {
	position: absolute;
	right: 0px;
	top: 0px;
	width: 52px;
	transform: scaleX(-1);
}
#example #contest .flex div p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.65em;
	margin-top: 15px;
}
#example #contest .flex figure {
	width: 300px;
	height: 300px;
}





#faq {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 140px;
}
#faq h2 {
	font-weight: bold;
	font-size: 36px;
	margin-bottom: 50px;
}
#faq h2 span {
	font-size: 20px;
	display: block;
	font-weight: 500;
	margin-top: -10px;
}
#faq dl {
	border-bottom: 1px solid #ccc;
}
#faq dt {
	font-size: 20px;
	font-weight: bold;
	display: flex;
	padding-bottom: 15px;
	margin-bottom: 10px;
	border-top: 1px solid #ccc;
	padding-top: 25px;
	background-image: url("../images/ai/icon_plus.png");
	background-size: 24px;
	background-position: right 20px top 30px;
	background-repeat: no-repeat;
	cursor: pointer;
}
#faq dt.this {
	background-image: url("../images/ai/icon_minus.png");
}
#faq dt span img {
	width: 15px;
	position: relative;
	top: 6px;
}
#faq dt span:first-child {
	width: 30px;
}
#faq dd {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8em;
	padding-left: 30px;
	padding-bottom: 30px;
	margin-top: -10px;
	display: none;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
#wrap {
	padding: 0px!important;
}
#catch {
	background-image: url("../images/ai/m_bg_sp.png");
	height: 56.2666666667vw;
	background-size: auto 100%; /* 高さ100%にして比率維持 */
	background-position: 0 0;
	animation: bgScroll 60s linear infinite; /* アニメーション */
}
#catch h1 {
	position: relative;
	top: 13.5vw;
	letter-spacing: 0.2em;
	text-align: center;
}
#catch h1 span {
	background-color: #000;
	height: 9.33333333333vw;
	line-height: 9.33333333333vw;
	color: #fff;
	font-size: 6.13333333333vw;
	display: inline-block;
	margin-bottom: 2vw;
	width: 82vw;
	font-weight: 500;
}
#catch h1 span:first-child {
	font-size: 6.83333333333vw;
	font-weight: bold;
}
#catch h1 span:last-child {
	width: 52vw;
}
#catch h1 span img {
	width: 5.06666666667vw;
	height: auto;
	position: relative;
	top: 9px;
	margin-left: 1px;
	margin-right: 5px;
}
#catch+p {
	text-align: center;
	line-height: 2em;
	font-size: 4.26666666667vw;
	text-align: left;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 12vw;
	padding-bottom: 18vw;
}
#catch+p span {
	font-weight: bold;
}





#evo {
	background-image: url("../images/ai/evo_bg_sp.png");
	background-size: cover;
	background-position: center top;
	padding-top: 18vw;
	padding-bottom: 10vw;
}
#evo .text {
	font-size: 4.8vw;
	font-weight: bold;
	text-align: center;
	line-height: 1.8em;
}
#evo h2 {
	font-size: 8vw;
	font-weight: bold;
	margin-top: 1.5vw;
	position: relative;
	margin-bottom: 25vw;
	line-height: 1.4em;
}
#evo h2::after {
	content: "";
	width: 86vw;
	height: 1px;
	background-color: #9D9D9D;
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: -6vw;
	margin-left: auto;
	margin-right: auto;
}
#evo .box {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-bottom: 15vw;
}
#evo .box .sttl {
	background-color: #000;
	display: inline-block;
	margin-left: -5vw;
	width: 79vw;
	color: #fff;
	padding-left: 5vw;
	line-height: 1.3em;
	padding-top: 1.5vw;
	padding-bottom: 1.5vw;
	font-size: 4.8vw;
	font-weight: bold;
	left: 0px;
	top: 0px;
	z-index: 2;
	position: relative;
}
#evo .box div {
	background-color: #fff;
	width: 86.6666666667vw;
	height: 118.8vw;
	z-index: 1;
	position: relative;
	margin-top: -9vw;
}
#evo .box div::after {
	width: 86.6666666667vw;
	height: 118.8vw;
	content: "";
	border: 1px solid #999999;
	top: -2vw;
	left: -2vw;
	position: absolute;
}
#evo .box div h3 {
	font-size: 8.53333333333vw;
	line-height: 1.2em;
	font-weight: 500;
	margin-left: 6vw;
	margin-bottom: 2vw;
	padding-top: 14vw;
}
#evo .box div h3+p {
	font-size: 4vw;
	font-weight: 500;
	margin-left: 6vw;
	margin-right: 6.5vw;
	letter-spacing: 0.1em;
}
#evo .box figure  {
	z-index: 3;
	width: 84%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	margin-top: -40vw;
}





#example {
	padding-top: 28vw;
	margin-left: auto;
	margin-right: auto;
}
#example h2 {
	font-size: 4.8vw;
	font-weight: bold;
	position: relative;
	margin-bottom: 8vw;
}
#example h2::before {
	content: "";
	width: 1px;
	height: 40px;
	background-color: #CCCCCC;
	position: absolute;
	left: 0px;
	top: -15vw;
	right: 0px;
	margin-left: auto;
	margin-right: auto;
}
#example .flex {
	margin-left: auto;
	margin-right: auto;
	width: 88%;
}
#example .flex div {
	margin-bottom: 18vw;
}
#example .flex div figure img:hover,
#example .flex2 figure img:hover
{
	transform: scale(1.1)!important;
	opacity: 0.7;
}
#example .flex div h3 {
	font-size: 4.53333333333vw;
	font-weight: bold;
	margin-top: 5vw;
}
#example .flex div p,
#example .flex2 div p
{
	font-size: 4vw;
	font-weight: 500;
	margin-top: 3vw;
	line-height: 1.8em;
}
#example .flex2 {
	width: 88%;
	margin-left: auto;
	margin-right: auto;
}
#example .flex2 figure img {
	width: 100%!important;
}
#example .flex2 div {
}
#example .flex2 div h3 {
	font-size: 4.53333333333vw;
	font-weight: bold;
	margin-top: 5vw;
}
#example .btn a {
	width: 55.4666666667vw;
	height: 11.7333333333vw;
	display: block;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid #fff;
	text-align: center;
	line-height: 11.7333333333vw;
	font-size: 4vw;
	font-weight: bold;
	color: #fff;
	background-color: #000;
	transition: 0.7s;
	position: relative;
	margin-top: 10vw;
}
#example .btn a:hover {
	border: 1px solid #ccc;
	color: #000;
	background-color: #fff;
	transition: 0.7s;
}
#example #zoe {
	margin-top: 20vw;
	padding-top: 20vw;
	border-top: 1px solid #CCCCCC;
}
#example #zoe h3 {
	font-size: 4.8vw;
	font-weight: bold;
	text-align: center;
	margin-bottom: 5vw;
}
#example #zoe .flex3 {
	width: 88%;
	margin-left: auto;
	margin-right: auto;
}

#example #zoe .flex3 div:first-child {

}
#example #zoe .flex3 div:first-child p {
	font-family: "Inter", sans-serif;
	font-size: 4.66666666667vw;
}
#example #zoe .flex3 div:first-child p span {
	font-size: 8.66666666667vw;
	font-weight: 500;
	margin-right: 30px;
}
#example #zoe .flex3 div:first-child p img {
	width: 4.66666666667vw;
	position: relative;
	top: 4.7vw;
	margin-right: 1.5vw;
}
#example #zoe .flex3 div:first-child p a {
	text-decoration: underline;
}
#example #zoe .flex3 div:first-child p a:hover {
	text-decoration: none;
}
#example #zoe .flex3 div:last-child {
}
#example #zoe .flex3 div:last-child p {
	font-size: 4.26666666667vw;
	margin-top: 10vw;
	font-weight: 500;
	line-height: 1.8em;
}
#example #zoe .flex3 div:last-child ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 10vw;
}
#example #zoe .flex3 div:last-child ul li {
	width: 49%;
	margin-bottom: 1.5vw;
}
#example #contest {
	background-image: url("../images/ai/contest_bg_sp.png");
	background-size: cover;
	background-position: 0 0;
	margin-top: 25vw;
}
#example #contest h3 {
	font-weight: bold;
	font-size: 4.8vw;
	text-align: center;
	position: relative;
	top: -5vw;
}
#example #contest .flex {
	margin-top: 8vw;
	width: 100%;
}
#example #contest .flex div {

}
#example #contest .flex div h4 {
	font-size: 8vw;
	font-weight: bold;
	text-align: center;
	position: relative;
	line-height: 1.2em;
}
#example #contest .flex div h4 span {
	font-size: 6.4vw;
	display: block;
}
#example #contest .flex div h4 em {
	font-size: 6.66666666667vw;
	font-weight: bold;
	display: block;
}
#example #contest .flex div h4 .fig01 {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 12.6vw;
}
#example #contest .flex div h4 .fig02 {
	position: absolute;
	right: 0px;
	top: 0px;
	width: 12.6vw;
	transform: scaleX(-1);
}
#example #contest .flex div p {
	font-size: 4.26666666667vw;
	font-weight: 500;
	line-height: 1.65em;
	margin-top: 10vw;
	width: 88%;
	margin-left: auto;
	margin-right: auto;
}
#example #contest .flex figure {
	margin-top: -10vw;
}





#faq {
	margin-left: auto;
	margin-right: auto;
	padding-top: 20vw;
}
#faq h2 {
	font-weight: bold;
	font-size: 8vw;
	margin-bottom: 10vw;
}
#faq h2 span {
	font-size: 4.8vw;
	display: block;
	font-weight: 500;
	margin-top: 0px;
}
#faq dl {
	border-bottom: 1px solid #ccc;
}
#faq dt {
	font-size: 4.26666666667vw;
	font-weight: bold;
	display: flex;
	padding-bottom: 3vw;
	padding-left: 5vw;
	padding-right: 15vw;
	margin-bottom: 10px;
	border-top: 1px solid #ccc;
	padding-top: 25px;
	background-image: url("../images/ai/icon_plus.png");
	background-size: 5.33333333333vw;
	background-position: right 5vw top 11.5vw;
	background-repeat: no-repeat;
	cursor: pointer;
}
#faq dt.this {
	background-image: url("../images/ai/icon_minus.png");
}
#faq dt span img {
	width: 3.2vw;
	position: relative;
	top: 1.5vw;
}
#faq dt span:first-child {
	width: 9vw;
}
#faq dd {
	font-size: 4vw;
	font-weight: 500;
	line-height: 1.8em;
	padding-left: 10vw;
	padding-right: 13vw;
	padding-bottom: 5vw;
	margin-top: -3vw;
	display: none;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
}