@import url(https://fonts.googleapis.com/css?family=Roboto:400,900,700);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

html, body {
  background-color: #f7f6f3;
  color: #3a2d2f;
  font-family: "NotoSansJP", "Noto-Sans-JP", "Noto Sans JP", "Roboto", sans-serif;
  font-size: 16px;
  line-height: 180%;
}

a {
  text-decoration: none;
}

p {
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0.01em;
}

img {
  vertical-align: bottom;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  line-height: 0;
  visibility: hidden;
	font-size: 0;
}
.clearfix {
  display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}

.sp_none {display: none;}
.w100 {width: 100%;}
.ta-c {text-align: center;}
.ta-l {text-align: left;}
.f-notoserif {font-family: "Noto Serif JP", "Roboto", serif !important;}




#hero {
  position: relative;
  width: 100%;
  height: 100vh;
  background-color: #004eb9;
	background-image: url(../img/catch_bg.png?date=20260316);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	overflow: hidden;
}
#hero #hero_movie video {
	margin: auto;
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	background-color: #000;
	width: 177.77777778vh;
	height: 56.25vw;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	box-sizing: border-box;
}
#hero .movie_layer {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-image: url(../img/hero_movie_layer.png);
	z-index: 1;
}



.head_text {
	font-size: 18px;
	text-align: center;
	letter-spacing: 1px;
}
.head_text span {
	font-family: "NotoSansJP", "Noto-Sans-JP", "Noto Sans JP", "Roboto", sans-serif!important;
	font-size: 20px;
	font-weight: 900;
}
.head_text .pink {
	color: #e91e63;
}

.feature_pink {
	padding: 40px 0 60px;
	border-top: 1px solid #e8d5d4;
	border-bottom: 1px solid #e8d5d4;
	background: #f2e6e5;
}
.feature_pink h3 {
	font-size: 20px;
	text-align: center;
	line-height: 1.1;
}
.feature_pink h3 span {
	font-size: 24px;
}
.feature_pink h3 .patent {
	font-size: 16px;
}
.feature_pink p .pink {
	color: #e91e63;
}

.feature_pink .feature_pink_sec03 {
	margin: 0 10px;
	padding: 50px 10px 50px;
	background: #e8d5d4;
	border: 1px solid #ddcac9;
	box-sizing: border-box;
	text-align: center;
}

.feature_hdex {
	padding: 20px 0 60px;
}
.feature_hdex .data {
	margin:0 10px;
	padding: 10px;
	border: 1px solid #ddcac9;
}

.testdata_h3 {
	padding: 10px 0;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 5px;
	text-align: center;
	background: #3a2d2f;
}
.testdata_h3_02 {
	padding: 10px 0;
	color: #ffdb59;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 5px;
	text-align: center;
	background: #222;
}
.testdata_h3_03 {
	padding: 10px 0;
	color: #ffdb59;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 5px;
	text-align: center;
	background: #222;
}

.testdata_caution {
	font-size: 16px;
}





#container {
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
}

#container #main_wrap img {
	width: 100%;
}

#contents {
	margin: 30px auto 50px;
	width: 100%;
}

#contents .main_pos04 {
	margin: 20px 10px 60px;
/*	margin-top: 20px;*/
/*	margin-bottom: 60px;*/
	color: #fff;
	text-align: left;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: -1px;
}

#contents .main_pos04 span {
	color: #ffff00;
	font-size: 22px;
}

#contents h2 {
	margin-bottom: 20px;
	color: #e0c85d;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}
#contents h2 span {
	font-size: 14px;
	font-weight: normal;
}
#contents h2 img {
	margin-bottom: 10px;
}


.contents0304_ttl {
	margin: 0 auto 0;
	width: 100%;
	padding: 30px 0 10px;
	text-align: center;
	color: #000!important;
	background: rgb(255,228,114);
	background: -webkit-linear-gradient(left, rgba(255,228,114,1) 0%, rgba(253,252,181,1) 50%, rgba(255,228,114,1) 100%);
	background: -o-linear-gradient(left, rgba(255,228,114,1) 0%, rgba(253,252,181,1) 50%, rgba(255,228,114,1) 100%);
	background: linear-gradient(to right, rgba(255,228,114,1) 0%, rgba(253,252,181,1) 50%, rgba(255,228,114,1) 100%);
}


/*
#contents h2:before {
	content: '';
	position: absolute;
	top: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}
*/
/*

#contents h2:after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}
*/

#contents .feature01 {
	margin-bottom: 70px;
}



#contents .feature01 p {
	margin: 0 10px 15px;
}

#contents .feature01 .feature01_img {
	margin: 0 10px;
}

#contents .feature01 .feature01_img img {
	width: 100%;
}

#contents .feature01 .feature02_img {
	margin: 0 10px;
}

#contents .feature01 .feature02_img img {
	width: 100%;
}

#contents .feature01 .feature03_img {
	margin: 0 10px 20px;
}

#contents .feature01 .feature03_img img {
	width: 100%;
}

#contents .feature01 .feature04_img {
	margin: 0 10px;
}

#contents .feature01 .feature04_img img {
	width: 100%;
}

#contents .feature01 .feature02_text {
/*	padding-top: 50px;*/
	margin-bottom: 40px;
/*	line-height: 2.2;*/
}

#contents .feature01 .feature02_text02 {
	margin-bottom: 30px;
	font-size: 18px;
	font-weight: bold;
/*	line-height: 1.8;*/
	color: #fff;
/*	letter-spacing: 2px;*/
}

#contents .feature01 .feature02_text02 span {
	font-size: 18px;
/*	position: relative;*/
/*	top: -1px;*/
}

#contents .feature01 .feature02_text02 span.yellow {
	font-size: 22px;
	color: #ff0;
}

#contents .feature01 .feature03_text02 {
	margin-bottom: 30px;
	font-size: 18px;
	font-weight: bold;
/*	line-height: 1.8;*/
	color: #fff;
/*	letter-spacing: 2px;*/
}

#contents .feature01 .feature03_text02 span {
	font-size: 18px;
/*	position: relative;*/
/*	top: -1px;*/
}
#contents .feature01 .feature03_text02 span.yellow {
	font-size: 22px;
	color: #ff0;
}

#chouka {
	margin: 0 auto;
	padding: 60px 0px 0px;
	width: 100%;
/*	background: #ff0;*/
	background: url(../img/dotted_bg02.png) repeat #ff0;
}

#chouka h2 {
	margin-bottom: 20px;
	color: #e4007f;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
/*	border-top: 8px dotted #e4007f;*/
/*	border-bottom: 8px dotted #e4007f;*/
	text-align: center;
	position: relative;
	letter-spacing: 2px;
	line-height: 1.3;
}

#chouka h2 span {
	font-size: 22px;
	position: relative;
	top: -2px;
}

#chouka p {
	margin: 0 auto 50px;
	width: 1024px;
	color: #222;
}





#movie {
	margin-bottom: 60px;
	padding: 60px 10px;
	width: 100%;
	box-sizing: border-box;
	background: #3a2d2f;
}
#movie h2 {
	margin-bottom: 30px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	letter-spacing: 3px;
	font-family: "Noto Serif JP", "Roboto", serif !important;
}
#movie .inner ul .youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
#movie .inner ul .youtube iframe {
  width: 100%;
  height: 100%;
}







#lineup {
  width: 100%;
  margin: 60px auto 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-align-content: flex-start;
  align-content: flex-start;
	position: relative;
	z-index: 4;
}

#lineup .header {
  width: 100%;
  height: 35px;
  padding: 0 0 65px
}

#lineup .header h2 {
  width: 300px;
  height: 66px;
  margin: 0 auto;
  border-bottom: 5px solid #e91e63;
	font-weight: 900;
	font-family: Roboto;
	font-size: 36px;
	text-align: center;
	letter-spacing: 3px;
	color: #3a2d2f;
	line-height: 0.8;
}
#lineup .header h2 span {
	font-size: 18px;
	font-weight: 500;
}

.lineup_ttl {
	margin: 0 10px 30px;
	width: 100%;
	border: 1px solid #3a2d2f;
	padding: 10px;
	font-size: 16px;
	font-weight: 700;
	display: block;
	border-radius: 3px;
	box-sizing: border-box;
	text-align: center;
}

#lineup .item {
	padding: 0 10px;
	margin-bottom: 20px;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

#lineup .item .inner {
	padding: 10px;
	width: 100%;
	background: #fff;
	border: 1px solid #e8d5d4;
  position: relative;
  box-sizing: border-box
}

#lineup .item .img {
	text-align: center;
	margin-bottom: 20px;
}

#lineup .item h3 {
	margin-bottom: 10px;
  font-size: 22px;
  font-weight: 900;
  line-height: 26px;
  letter-spacing: 0em
}

#lineup .item p {
	margin-bottom: 20px;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px
}

#lineup .item a {
  display: block;
  width: 100%;
  padding: 20px 0;
  margin-top: 15px;
  border: 1px solid #222;
  color: #222;
  font-size: 16px;
	font-weight: 900;
  line-height: 16px;
  text-align: center;
  text-decoration: none;
}


.line {
	border-top: 8px dotted #e4007f;
	position: relative;
	top: 5px;
}

.line:before {
	content: '';
	position: absolute;
	top: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}

#footer {
	padding: 60px 0;
	width: 100%;
	margin: 0px auto;
	background: #3a2d2f;
	color: #fff;
}

#footer .inner .footer_sns {
	margin-bottom: 30px;
	text-align: center;
}
#footer .inner .footer_sns a{
	padding: 0 10px;
	color: #fff;
	font-size: 28px;
}

#footer .footer_btn {
	text-align: center;
}

#footer .footer_btn a {
	font-size: 13px;
	color: #222;
}

#footer .copy {
	text-align: center;
	font-size: 12px;
	color: #9d9697;
}

.mt-10 {margin-top: 10px!important;}
.mt-20 {margin-top: 20px!important;}
.mt-30 {margin-top: 30px!important;}
.mt-40 {margin-top: 40px!important;}
.mt-50 {margin-top: 50px!important;}
.mt-60 {margin-top: 60px!important;}
.mt-70 {margin-top: 70px!important;}
.mt-80 {margin-top: 80px!important;}
.mt-90 {margin-top: 90px!important;}
.mt-100 {margin-top: 100px!important;}
.mb-10 {margin-bottom: 10px!important;}
.mb-20 {margin-bottom: 20px!important;}
.mb-30 {margin-bottom: 30px!important;}
.mb-40 {margin-bottom: 40px!important;}
.mb-50 {margin-bottom: 50px!important;}
.mb-60 {margin-bottom: 60px!important;}
.mb-70 {margin-bottom: 70px!important;}
.mb-80 {margin-bottom: 80px!important;}
.mb-90 {margin-bottom: 90px!important;}
.mb-100 {margin-bottom: 100px!important;}
.pd-lr10 {padding-left: 10px!important; padding-right: 10px!important;}
.pd-lr20 {padding-left: 20px!important; padding-right: 20px!important;}
.pd-lr30 {padding-left: 30px!important; padding-right: 30px!important;}
.overview01 {opacity: 0;}
.overview02 {opacity: 0;}
.overview03 {opacity: 0;}
.overview04 {opacity: 0;}
.overview05 {opacity: 0;}
.overview06 {opacity: 0;}
.overview07 {opacity: 0;}

/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
  display: -ms-grid;
  overflow: hidden;
}
/*----------------------------*/



.d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left{
animation :infinity-scroll-left 95s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 2);
}
.d-demo__item > img{
   width: 100%;
}


.marker-bold {
	background: linear-gradient(transparent 85%, #ff0 85%);
/*	color: #ff0;*/
}




#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 102;
}
#loading .inner {
  position: absolute;
  width: 280px;
  height: 106px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
#loading .inner .progress {
  width: 0%;
  opacity: 0.5;
  height: 106px;
  background-image: url(../img/sp_splash_logo.png);
  background-position: 0 0;
}
.no-js #loading {
  display: none;
}

@-webkit-keyframes background_glow {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@-moz-keyframes background_glow {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@keyframes background_glow {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

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