@import url("common.css");

/* レイアウト　*/

h2{
}

/********** header **********/
header .titbox {
}
header .fv{
    width: 100%;
    height: 50vh;
    overflow: hidden;
    position: relative;
    background-image: url(../images/ai_ma_mv.jpg);
    background-size: cover;
    background-position: center center;
}
header .fv img{
	position: absolute;
    bottom: 10%;
	left: 5%;
	height: 4vw;
	filter: drop-shadow(5px 5px 3px rgba(0, 0, 0, 0.6));
}
.aichild .copy {
	margin-bottom: 6%;
}
.aichild .copy h1{
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2%;
}
.aichild .copy h1 + p{
	text-align: center;
}
/********** footer **********/

/********** main **********/
.acontent {
	margin-bottom: 6%;
}
.acontent h2{
	font-weight: bold;
	font-size: 2.2rem;
	color: #e2007f;
	margin-bottom: 2%;
	padding-bottom: 4px;
	border-bottom: 1px solid #e2007f ;
}
.acontent h2 span{
	font-weight: bold;
	font-size: 1.2rem;
	color: #000;
	padding-left: 20px;
}
.acontent h3{
	font-weight: bold;
	font-size: 1.2rem;
	margin-bottom: 2%;
}
.acontent h3 + p{
	margin-bottom: 2%;
}
.acontent h4{
	border-bottom: 1px solid #000;
	font-weight: bold;
	font-size: 1.0rem;
	padding-bottom: 5px;
	margin-bottom: 5px;
}
.acontent h4 + p{
	font-size: 1.0rem;
}
.acontent li{
	font-weight: bold;
	font-size: 1.2rem;
	margin-bottom: 2%;
}
.acontent li ul{
	padding-top: 6px;
	padding-left: 1.2rem;
}
.acontent li li{
	font-weight: normal;
	font-size: 1.0rem;
	margin-bottom: 5px;
}
.content01 {
	padding-top: 60px;
}
.content01 h1 {
	text-align: center;
	margin-bottom: 40px;
}
.content01 h1 img{
	width: 300px;
	display: block;
	margin: 0 auto 5px auto;
}
.marketing .content01 h1 strong{
	font-weight: bold;
	font-size: 1.6rem;
	display: block;
}
.marketing .content01 h1 span{
	position: relative;
	line-height: 20px;
	display: inline-block;
    margin-top: 10px;
}
.marketing .content01 h1 span:before,
.marketing .content01 h1 span:after{
	content: "";
	display: block;
	width: 60px;
	border-top: 1px solid #000;
	position: absolute;
	top: 10px;
}
.marketing .content01 h1 span:before{left: -80px;}
.marketing .content01 h1 span:after{right: -80px;}
.marketing .content01 p{
	text-align: center;
	margin-bottom: 80px;
}
.marketing .content01 h2{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
}
.marketing .content01 h2:after{
	content: "";
	width: 60px;
	display: block;
	margin: 0 auto;
	padding-bottom: 8px;
	border-bottom: 2px solid #000;
}
.marketing .content01 h2 + p{
	margin-bottom: 15px;
}
.marketing .content02{
	width: 80%;
	margin: 0 auto 150px auto;
	background-image: url(../images/marketing_bg-01.webp);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% auto;
    padding-top: 4.9%;
}
.marketing .content02.eng{
	background-image: url(../images/en_marketing_bg-01.webp);
}
.marketing .content02 .titbox{
    padding-left: 15.6%;
    padding-bottom: 10px;
    position: relative;
}
.marketing .content02 .titbox:before{
    content: "";
    border-bottom: 1px solid #000;
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    padding-top: 3.8%;
    z-index: -1;
}
.marketing .content02 .titbox h2{
	font-weight: bold;
    font-size: 2.6vw;
    color: #e2007f;
    position: relative;
}
.marketing .content02 .titbox h2 span{
	font-weight: bold;
    font-size: 1.0vw;
    color: #e2007f;
    padding-left: 0.5vw;
}
.marketing .content02 .titbox h2:before{
	font-weight: bold;
	color: #e2007f;
    font-size: 6.5vw;
    position: absolute;
    top: -39%;
    left: -6%;
    font-weight: normal;
}
.marketing .content02 .mc01 .titbox h2:before{content: "1";}
.marketing .content02 .mc02 .titbox h2:before{content: "2";}
.marketing .content02 .mc03 .titbox h2:before{content: "3";}
.marketing .content02 .titbox h3{
    font-size: 1.4vw;
    font-weight: bold;
    margin-bottom: 10px;
}
.marketing .content02 .titbox h4{
    font-size: 1.2rem;
    font-weight: bold;
    padding-left: 20px;
    margin-bottom: 10px;
}
.marketing .content02 .titbox p{
	margin-bottom: 20px;
}
.marketing .content02 .titbox > div{
	display: flex;
	margin-bottom: 20px;
}
.marketing .content02 .titbox > div > ul{
    padding-left: 60px;
}
.marketing .content02 .titbox > div > ul > li{
    list-style: disc;
}
.marketing .content02 .titbox > div > ul > li ul{
    padding-bottom: 20px;
}

.marketing .content02 .hbox{
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.6s ease-in-out;
}
.marketing .content02 .active + .hbox{
	max-height: 3000px;
}
.marketing .content02 .mcbox{
	width: 100%;
	margin: 0 auto;
	position: relative;
    padding-top: 50px;
    background-position: bottom , top;
    background-size: 100% 100%, 100% auto;
    background-repeat: no-repeat, repeat-y;
}
.marketing .content02 .mcbox img.sp{
display: none;
	}
.marketing .content02 .mcbox > h2{
	color: #fff;
	writing-mode: vertical-rl;
	position: absolute;
    left: 4.65%;
    top: 15px;
    font-size: 1.4vw;
}
.marketing .content02 .mc02 > h2,
.marketing .content02 .mc03 > h2{
    top: 40px;
}

.marketing .content02 .mc01{background-image: url(../images/marketing_bg01.webp), url(../images/marketing_line.webp);}
.marketing .content02 .mc02{background-image: url(../images/marketing_bg02.webp), url(../images/marketing_line.webp);}
.marketing .content02 .mc03{background-image: url(../images/marketing_bg03.webp), url(../images/marketing_line.webp);}
.marketing .content02 .mcbox:after,
.marketing .content02 .mcbox:before{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	padding-top: 5%;
	background-size: 100% auto;
	background-position: bottom;
	background-repeat: no-repeat;
    bottom: -1px;
    z-index: 1;
}

.marketing .content02 .mc01{
	padding-top: 0;
    background-position: bottom, left -50px;
}

.marketing .content02 .mcbox:before{background-image: url(../images/marketing_arrow.webp);}
.marketing .content02 .mcbox.mc03:before {background-image: none;}
.marketing .content02 .mc01:after{background-image: url(../images/marketing_bg01b.webp);}
.marketing .content02 .mc02:after{background-image: url(../images/marketing_bg02b.webp);}
.marketing .content02 .mc03:after{background-image: url(../images/marketing_bg03b.webp);}
.marketing .content02 .mcbox img{
	width: 100%;
	display: block;
	vertical-align: bottom;
}
.marketing .content02 .mcbox .opbtn{
	position: relative;
	z-index: 2;
    margin-left: 17.6%;
	margin-bottom: 20px;
	cursor: pointer;
	text-decoration: underline;
	color: #e2007f;
}
.marketing .content02 .mcbox .opbtn:after{
	content: "詳細を見る　▼";
}
.marketing .content02 .mcbox .opbtn.en:after{
	content: "View Details　▼";
}
.marketing .content02 .mcbox .opbtn.active:after{
	content: "閉じる　▲";
}
.marketing .content02 .mcbox .opbtn.en.active:after{
	content: "Close　▲";
}
.mc03 ul.m03link{
	display: flex;
    width: 63.2%;
    padding-left: 15.8%;
}
.mc03 ul.m03link li{
    padding: 0 1%;
}
.mc03 ul.m03link li img{
	width: 100%;
}
.marketing .content03{
	margin-bottom: 100px;
}
.marketing .content03 h2{
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}
.marketing .content03 p {
    text-align: center;
    margin-bottom: 80px;
}
.marketing .content03 > div {
	width: 80% ;
	margin: 0 auto;
	position: relative;
}
.marketing .content03 div > img{
	width: 100% ;
}
.marketing .content03 div > img:first-child{
	position: relative;
	z-index: 2;
}
.marketing .content03 div > .link{
	position: absolute;
    width: 24%;
	z-index: 2;
}
.marketing .content03 div > .link img{
	width: 100%;
}
.marketing .content03 div > .link01{
    top: 32%;
    left: 37%;
}
.marketing .content03 div > .link02{
    top: 88%;
    left: 71.8%;
}
.marketing .content03 div > .link03{
    top: 84.6%;
    left: 3%;
}
.marketing .content03 div > .illust{
    position: absolute;
	opacity: 0;
}
.marketing .content03 div > .illust.slideIn{
}
.marketing .content03 div > .illust01.slideIn2{
    opacity: 0;
    animation: slidein ease-out both;
    animation-duration: 0.5s;
    animation-delay: 1.5s;
}
.marketing .content03 div > .illust03.slideIn,
.marketing .content03 div > .illust04.slideIn,
.marketing .content03 div > .illust05.slideIn {
    opacity: 0;
    animation: slidein ease-out both;
    animation-duration: 0.6s;
}

@keyframes slidein{
  0% {
    opacity: 0;
    transform: translate(0 , -15px);
  }

  100% {
    opacity: 1;
    transform: translate(0 , 0);
  }
}
.marketing .content03 div > .illust01{
    top: 42.5%;
    left: 13.1%;
    width: 73.7%;
}
.marketing .content03 div > .illust02 {
   /*   top: 42.5%;
    left: 13.1%;
    width: 73.7%;
 	transition: 1s all;*/
}
.marketing .content03 div > .illust02 img{
	width: 100%;
	height: 100%;
}
.marketing .content03 div > .illust02{
    top: 21.3%;
    left: 37.1%;
    width: 25.7%;
    height: 4.6%;
    opacity: 0;

}
.marketing .content03 div > .illust02.slideIn2 {
    animation: slidein02 ease-out both;
    animation-duration: 1.8s;
    animation-delay: 1.2s;
}
@-webkit-keyframes slidein02{
  0% {
    opacity: 0;
    top: 21.3%;
    left: 37.1%;
    /*
    width: 25.7%;
    height: 4.6%;
    */
  }
  100% {
    opacity: 1;
    top: 42.5%;
    left: 13.1%;
   /*
    width: 73.7%;
    height: 47.9%;
   */
  }
}
@keyframes slidein02{
  0% {
    opacity: 0;
    top: 21.3%;
    left: 37.1%;
    width: 25.7%;
    height: 4.6%;
  }
  100% {
    opacity: 1;
    top: 42.5%;
    left: 13.1%;
    width: 73.7%;
    height: 47.9%;
  }
}
.marketing .content03 div > .illust03 {
    top: 10.3%;
    left: 44.45%;
    width: 36.9%;
}
.marketing .content03 div > .illust04 {
    top: 15.46%;
    left: 40.91%;
    width: 40.6%;
}
.marketing .content03 div > .illust05 {
    top: 21.2%;
    left: 37.05%;
    width: 44.2%;
}
.creative .content06 .cwrap div{
	position: relative;
}
.creative .content06 .cwrap div{
	width: 80%;
	margin: 0 auto;
}
.creative .content06 .cwrap div img{
	width: 100%;
}
.creative .content06 .cwrap div .illust{
	position: absolute;
	opacity: 0;
}
.creative .content06 .cwrap div .illust01{top: 10.48%;left: 44.51%;width: 36.96%;}
.creative .content06 .cwrap div .illust02{top: 15.79%;left: 41.14%;width: 40.1%;}
.creative .content06 .cwrap div .illust03{top: 21.69%;left: 37.04%;width: 44.48%;}
.creative .content06 .cwrap div .illust04{top: 34.6%;left: 13.25%;width: 73.6%;}
.creative .content06 .cwrap div .illust05{top: 39.15%;left: 20.08%;width: 59.9%;}
.creative .content06 .cwrap div .illust06{top: 45.3%;left: 29.34%;width: 41.49%;}
.creative .content06 .cwrap div .illust07{top: 50.4%;left: 37.41%;width: 25.66%;}
.creative .content06 .cwrap div .illust08{top: 46.7%;left: 28.1%;width: 36.2%;}
.creative .content06 .cwrap div .illust09{top: 41.1%;left: 28.1%;width: 36.2%;}
.creative .content06 .cwrap div .illust10{top: 35.5%;left: 28.1%;width: 36.2%;}
.creative .content06 .cwrap div .illust11{top: 87.24%;left: 12.99%;width: 26.38%;}
.creative .content06 .cwrap div .illust12{top: 87.38%;left: 38.18%;width: 25.21%;}
.creative .content06 .cwrap div .illust13{top: 87.38%;left: 59.18%;width: 32.91%;}
.creative .content06 .cwrap div .illust01.slideIn,
.creative .content06 .cwrap div .illust02.slideIn,
.creative .content06 .cwrap div .illust03.slideIn,
.creative .content06 .cwrap div .illust11.slideIn,
.creative .content06 .cwrap div .illust12.slideIn,
.creative .content06 .cwrap div .illust13.slideIn{
    opacity: 0;
    animation: slidein03 ease-out both;
    animation-duration: 0.6s;
}

@keyframes slidein03{
  0% {
    opacity: 0;
    transform: translate(0 , -15px);
  }

  100% {
    opacity: 1;
    transform: translate(0 , 0);
  }
}
.creative .content06 .cwrap div .illust07.slideIn3,
.creative .content06 .cwrap div .illust08.slideIn3,
.creative .content06 .cwrap div .illust09.slideIn3,
.creative .content06 .cwrap div .illust10.slideIn3{
    opacity: 0;
    animation: slidein04 ease-out both;
    animation-duration: 0.6s;
}
.creative .content06 .cwrap div .illust04.slideIn3{
    animation: slidein05 ease-out both;
    animation-duration: 0.6s;
}
.creative .content06 .cwrap div .illust05.slideIn3{
    animation: slidein06 ease-out both;
    animation-duration: 0.6s;
}
.creative .content06 .cwrap div .illust06.slideIn3{
    animation: slidein07 ease-out both;
    animation-duration: 0.6s;
}
.creative .content06 .cwrap div .illust04.slideIn3{animation-delay:100ms;}
.creative .content06 .cwrap div .illust10.slideIn3{animation-delay:300ms;}
.creative .content06 .cwrap div .illust05.slideIn3{animation-delay:700ms;}
.creative .content06 .cwrap div .illust09.slideIn3{animation-delay:900ms;}
.creative .content06 .cwrap div .illust06.slideIn3{animation-delay:1300ms;}
.creative .content06 .cwrap div .illust08.slideIn3{animation-delay:1500ms;}
.creative .content06 .cwrap div .illust07.slideIn3{animation-delay:1900ms;}
.creative .content06 .cwrap div .illust11.slideIn3{animation-delay:2000ms;}
.creative .content06 .cwrap div .illust12.slideIn3{animation-delay:2100ms;}
.creative .content06 .cwrap div .illust13.slideIn3{animation-delay:2200ms;}
@keyframes slidein04{
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


.creative .content06 .cwrap div .illust04.slideIn3{
    transform: translate(0, -69.2%) scale(0.355, 0.1);
    opacity: 1;
}
.creative .content06 .cwrap div .illust05.slideIn3{
    transform: translate(0, -98.8%) scale(0.299, 0.08);
    opacity: 1;
}
.creative .content06 .cwrap div .illust06.slideIn3{
    transform: translate(0, -154.2%) scale(0.27, 0.07);
    opacity: 1;
}

@keyframes slidein05{
  0% {
    opacity: 0;
    transform: translate(0, -69.2%) scale(0.355, 0.1);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1 , 1);
  }
}
@keyframes slidein06{
  0% {
    opacity: 0;
    transform: translate(0, -98.8%) scale(0.299, 0.08);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1 , 1);
  }
}
@keyframes slidein07{
  0% {
    opacity: 0;
    transform: translate(0, -154.2%) scale(0.27, 0.07);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1 , 1);
  }
}



.branding{
	margin-bottom: 100px;
	padding-top: 100px;
}
.branding .inner{
	display: flex;
    align-items: center;
}
.branding h2{
	text-align: center;
	margin-bottom: 20px;
}
.branding h2 + p{
	text-align: center;
	margin-bottom: 80px;
}
.branding h3{
	width: 20%;
}
.branding h3 img{
	width: 100%;
}
.branding ul{
	width: 75%;
	padding-left: 10%;
	box-sizing: border-box;
}
.branding ul li{
	margin-bottom: 50px;
}
.branding ul li:last-child{
	margin-bottom: 0;
}
.branding li a{
	line-height: 2rem;
	text-decoration: none;
	font-weight: bold;
	color: #666;
	display: block;
	position: relative;
}
.branding li a:after{
	content: "→";
	position: absolute;
	right: 0;
	background-color: #e2007f;
	border-radius: 100px;
	color: #fff;
	height: 2rem;
	width: 2rem;
	text-align: center;
	font-weight: normal;
    top: 25%;
}
.branding h4{
	display: inline-block;
	margin-right: 30px;
	width: 200px;
	position: relative;
}
.branding h4:before{
	position: absolute;
	height: 2rem;
	width: 2rem;
	line-height: 2rem;
	font-size: 1.4rem;
	text-align: center;
	display: block;
	background-color: #e2007f;
	color: #fff;
	font-weight: bold;
	left: calc(-2rem - 10px);
    font-family: "din-condensed", sans-serif;
}
.branding li:nth-child(1) h4:before{content: "1";}
.branding li:nth-child(2) h4:before{content: "2";}
.branding li:nth-child(3) h4:before{content: "3";}

.branding h4 img{
	height: 2rem;
	display: inline-block;
	vertical-align: bottom;
}
.branding ul{
	position: relative;
}
.branding ul:before{
	content: "";
	border-left: 1px solid #e2007f;
	height: 100%;
	display: block;
	position: absolute;
    left: 40px;
}
.branding ul li{
	position: relative;
}
.branding ul li:before{
    content: "";
    width: 50px;
    height: 50%;
    display: block;
    position: absolute;
    left: -68px;
}
.branding ul li:nth-child(1):before{
    border-bottom: 1px solid #e2007f;
    background-color: #fff;
}
.branding ul li:nth-child(2):before{
    width: 68px;
    border-bottom: 1px solid #e2007f;
    height: 50%;
    left: -85px;
}
.branding ul li:nth-child(3):before{
    border-top: 1px solid #e2007f;
    background-color: #fff;
    top: 50%;
}
/**************************/
/********** モバイル表示 **********/
/**************************/
@media screen and (max-width:800px) { 


/********** header **********/
header .fv img {
    height: 10vw;
}


/********** footer **********/



/********** contents **********/

.content01 h1 img{
	width: 60%;
	display: block;
	margin: 0 auto 5px auto;
}
.marketing .content01 p {
    text-align: justify;
}
.marketing .content02 {
    width: 94%;
    margin: 0 auto 10% auto;
    background-position: top left;
    background-size: 152.5% auto;
    padding-top: 6%;
}
.marketing .content02 .titbox > div {
    display: block;
}
.marketing .content02 .mcbox {
    padding-top: 5%;
    background-position: bottom left, top left;
    background-size: 152.5% 100%, 153.5% auto;
}
.marketing .content02 .mcbox:after,
.marketing .content02 .mcbox:before {
    padding-top: 7%;
    background-size: 153.5% auto;
    background-position: left bottom;
}
.marketing .content02 .mcbox .opbtn {
    margin-left: 24.0%;
}
.marketing .content02 .mcbox:before {
    background-size: 153.2% auto;
}

.marketing .content02 .mc02 > h2,
.marketing .content02 .mc03 > h2 {
    top: 5%;
}
.marketing .content02 .mcbox > h2 {
    left: 6.3%;
        font-size: 3.4vw !important;
}
.marketing .content02 .titbox {
    padding-left: 23.8%;
}
.marketing .content02 .titbox:before {
    padding-top: 5.1%;
}
.marketing .content02 .titbox h2 {
        font-size: 4.0vw !important;
}
.marketing .content02 .titbox h2 span {
    font-size: 2.0vw;
}

.marketing .content02 .titbox h2:before {
    font-size: 10.0vw;
    top: -35%;
    left: -9%;
}
.mc03 ul.m03link {
        width: 95.8%;
        padding-left: 25.1%;
}
.marketing .content02 .titbox > div > ul {
    padding-left: 5%;
}
.marketing .content02 .titbox h3 {
    font-size: 2.4vw;
    font-weight: bold;
    margin-bottom: 10px;
}
.marketing .content02 .titbox h4 {
    padding-left: 0;
}
.marketing .content03 {
    width: 94%;
    margin-right: auto;
    margin-left: auto;
}
.marketing .content02 .mcbox img.sp {
    display: block;
}

.content h2 {
    font-size: 4.5vw !important;
}
.marketing .content03 p {
    text-align: justify;
    margin-bottom: 10%;
}
.marketing .content03 > div {
    width: 100%;
}

.creative .content06 .cwrap div{
	width: 100%;
	margin: 0 auto;
}
.branding h2 {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 20px;
}
.branding h2 + p {
    text-align: justify;
    margin: 0 auto;
    margin-bottom: 80px;
    width: 90%;
}
.branding .inner {
    display: block;
}
.branding h3 {
    width: 60%;
    margin: 0 auto 10% auto;
}
.branding ul li {
    margin-bottom: 10%;
    position: relative;
}
.branding li a {
    padding-right: 13%;
    line-height: 1.4;
}
.branding li a:after {
    line-height: 2rem;
}
.branding ul {
    width: 100%;
}
.branding h4 {
    display: block;
    margin-right: 0;
    width: 100%;
    margin-bottom: 3%;
}
.branding ul:before{
    content:none;
}
.branding ul li:before{
    content:none;
}


}