@charset "utf-8";

/* ================ scrollbar ================= */

::-webkit-scrollbar{
	width: 10px;
}
::-webkit-scrollbar-track{
	background-color: #000;
}
::-webkit-scrollbar-thumb{
	background-color: #f39939;
}
body,html{
	scrollbar-width: thin;
	scrollbar-color: #f39939 #000;
}

/* ================ Font ================= */

@font-face {
	font-family: LINESeedJPth;
	src:  url(../font/LINESeedJP_OTF_Th.woff) format('woff'), url(../font/LINESeedJP_OTF_Th.woff2) format('woff2');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: LINESeedJPStd;
	src: url(../font/LINESeedJP_OTF_Rg.woff) format('woff'), url(../font/LINESeedJP_OTF_Rg.woff2) format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}




/* ================ Reset ================= */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var,
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	color: #fff;
	vertical-align:baseline;
	background:transparent;
	box-sizing: border-box;
	font-weight: normal;
	font-style: normal;
}
body {
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	font-family: 'LINESeedJPStd', Meiryo, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

	font-weight: 300;
	font-size: 16px;
	letter-spacing: 0;
	line-height:1;
	overflow-y: scroll;
	overflow-x: hidden;
}
article, aside, dialog, figure, footer, header, hgroup, nav, section {
	display:block;
}
nav ul, ul, nav ol, ol {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	border:0;
	vertical-align:baseline;
	background:transparent;
	-webkit-tap-highlight-color:transparent;
	-webkit-tap-highlight-color:rgba( 100, 100, 100, 0.5 );
	text-decoration: none;
	color: #251e1c;
}
a, a:before, a:after{
	-webkit-transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	-moz-transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}
button {
	-webkit-transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	-moz-transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}


img{
	vertical-align: bottom;
	border: 0;
	max-width: 100%;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
input, select {
	vertical-align:middle;
}
.cf:before,
.cf:after {
	content: " ";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
	*zoom: 1;
}

.pc{display: inline-block;}
.sp{display: none;}


.fadeInUp {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-ms-animation-duration: 1s;
	animation-duration: 1s;
}
@-webkit-keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		-ms-transform: translateY(20px);
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}
@keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		-ms-transform: translateY(-0px);
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}
.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	visibility: visible !important;
}


.fadeInDown {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	-ms-animation-duration: 1s;
	animation-duration: 1s;
}
@-webkit-keyframes fadeInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-20px);
		-ms-transform: translateY(-20px);
		transform: translateY(-20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}
@keyframes fadeInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-20px);
		-ms-transform: translateY(-20px);
		transform: translateY(-20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}
.fadeInDown {
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
}



/* ==========PC=========== */
body{
	background: #000;
}

.th{
	font-weight:100 ;
	font-size: 30px;
}

.rg{
	font-weight:300 ;
	font-size: 30px;
}


header{
	position: fixed;
	z-index: 10;
	width: 100%;
	top: 0;
	padding: 42px 50px;
	display: flex;
	justify-content: space-between;
}
header p{
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
header .h_logo{
	display: flex;
	align-items: self-end;
}
header .h_logo p{
	width: 200px;
}

header .h_logo ul{
	display: flex;
	padding: 0 0 0 20px;
	align-items: self-end;
}
header .h_logo ul li{
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
	margin: 0 0.2em;
}
header .h_logo ul li:first-child:after{
	content: '/';
	padding: 0 0 0 5px;
}

header .h_logo ul li a{
	color: #fff;
	position: relative;
	display: inline;
	padding: 0 2px;
	line-height: 1;
}
header .h_logo ul li a::before{
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom: 0;
	z-index: -1;
	left: -5%;
	/*線の形状*/
	width: 110%;
	height: 100%;
	background:#dc9549;
	transition: all .3s;
	transform: scale(0, 1);
	transform-origin: left top;
}
header .h_logo ul li a.current::before,
header .h_logo ul li a:hover::before{
	transform: scale(1, 1);/*X方向にスケール拡大*/
}



header nav .nav_inner{
	display: flex;
	align-items: center;
}
header nav .nav_inner .btn_box{
	font-size: 12px;
	padding: 8px 30px 8px 10px;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
header nav .nav_inner .btn_box.current:before{
	transform-origin: left top;
	transform: scale(1, 1);
}

header nav .nav_inner .btn_box::after {
	right: 10px;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 7px solid #fff;
	margin: -5px 0 0 0;
}

header nav ul{
	display: flex;
	margin: 0 40px 0 0
}
header nav ul li{
	margin: 0 0 0 40px;
}
header nav ul li a{
	color: #fff;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
header nav ul li.current{
}

header nav ul li a{
	/*線の基点とするためrelativeを指定*/
	position: relative;
	z-index: 1;
}

header nav ul li.current a,
header nav ul li a:hover{
}

header nav ul li a::before {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom: 0;
	z-index: -1;
	left: -5%;
	/*線の形状*/
	width: 110%;
	height: 100%;
	background:#dc9549;
	transition: all .3s;
	transform: scale(0, 1);
	transform-origin: left top;
}

/*現在地とhoverの設定*/
header nav ul li a.current::before,
header nav ul li a:hover::before {
	transform: scale(1, 1);/*X方向にスケール拡大*/
}
header .btn_menu{
	display: none;
}
.dropdown{
	position: relative;
}
.drpdwn_lists {
	display: none;/*デフォルトでは非表示の状態にしておく*/
	width: 140px;
	position: absolute;
	top: 20px;
	left: 0;
	margin: 0;
}
.dropdown:hover .drpdwn_lists {
	display: block;/*Gナビメニューにホバーしたら表示*/
}
.drpdwn_lists a{
	display: block;
	margin: 0;
	padding: 10px 0;
}


.dropdown__list {
	background-color: #004d80;
	height: 60px;
	transition: all .3s;
	position: relative;
}
.dropdown__list:not(:first-child)::before{
	content: "";
	width: 100%;
	height: 1px;
	background-color: #3492d1;
	position: absolute;
	top: 0;
	left: 0;
}
.dropdown__list:hover {
	background-color: #003558;
}
.dropdown__list a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	text-decoration: none;
	position: relative;
}
.dropdown__list a::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(135deg);
	position: absolute;
	right: 15px;
	top: calc(50% - 5px);
}



.btn_box{
	max-width: 408px;
	margin: 0 auto;
	display:block;
	border-radius: 0px 40px 40px 0px;
	padding: 20px;
	font-weight: 300;
	text-align: left;
	color: #fff;
	border:1px solid #fff;
	position: relative;
	overflow: hidden;
}

.btn_box:after{
	content: "";
	position: absolute;
	top: 50%;
	margin: -7px 0 0 0;
	right: 20px;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 10px solid #fff;
}
.btn_box:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background:#f39939;
	width: 100%;
	height: 100%;
	border-radius: 0px 40px 40px 0px;
	transition: transform .6s ease 0s;
	transform: scale(0, 1);
	transform-origin: right top;
}
.btn_box:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}



/*========= 背景動画設定のCSS ===============*/

.bg_movie{
	position: relative;
	height: 100vh;
	text-align: center;
	/*ローディング画面時＆動画が表示されないときに表示する背景画像のレスポンシブ化*/
	/*    background: url("../img/movie.jpg") no-repeat;
     background-size: cover;
 */
}

/* ローディングアイコン設定 */
#loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-weight: bold;
}
#loading.disappear{
	display: none;
}
#youtube-area{
	position: fixed;
	z-index: 1;
	top: 0;
	right:0;
	left:0;
	bottom:0;
	overflow: hidden;
	opacity: 0;
}

#youtube-area.appear {
	animation-name:PageAnimeAppear;
	animation-duration:.5s;
	animation-fill-mode:forwards;
}

@keyframes PageAnimeAppear{
	0% {opacity: 0;}
	100% {opacity: 1;}
}

#youtube {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
	height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
	min-height: 100%;
	min-width: 100%;
}

#youtube-mask{
	position: absolute;
	z-index: 2;
	top:0;
	width:100%;
	height: 100%;
}

#mv{
	position:absolute;
	z-index: 2;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
#mv h1{
	font-family: LINESeedJPStd;
	font-weight:100;
	font-size:100px;
	margin: 0 0 30px;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
#mv h1 span{
	font-weight:100;
	font-size:100px;
	color: #f39939;
	padding:0 0 0 44px;
}
#mv p{
	font-size:24px;
	font-weight:300;
	letter-spacing:1px;
	line-height: 1.6;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));

}
#container .scroll{
	position: absolute;
	right: 50px;
	top: -140px;
	z-index: 3;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
#container .scroll:after{
	content: "";
	display: block;
	position: absolute;
	top: 80px;
	left: 6px;
	width: 1px;
	height: 106px;
	background: #fff;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:1;
	z-index: 11;
}

@keyframes pathmove{
	0%{
		height:0;
		top:80px;
		opacity: 0;
	}
	30%{
		height:106px;
		opacity: 1;
	}
	100%{
		height:0;
		top:186px;
		opacity: 0;
	}
}

#container .btn_event-online{
	position: fixed;
	right: 130px;
	bottom: 40px;
	z-index: 11;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
#container .btn_event-online .btn_box{
	font-size: 24px;
	line-height: 1.4;
	border-radius: 0 100px 100px 0;
	padding-right: 60px;
	background: #;
}
#container .btn_event-online .btn_box:before{
	transform: scale(1,1);
}



/* ======== */
#container{
	position: relative;
	z-index: 3;
	background: -moz-linear-gradient(top,  rgba(99,102,104,0.7) 0%, rgba(99,102,104,0.69) 37%, rgba(120,112,98,0.69) 47%, rgba(188,145,77,0.68) 71%, rgba(209,155,71,0.67) 80%, rgba(215,158,69,0.67) 86%, rgba(215,158,69,0.67) 91%, rgba(203,152,73,0.66) 100%);
	background: -webkit-linear-gradient(top,  rgba(99,102,104,0.7) 0%,rgba(99,102,104,0.69) 37%,rgba(120,112,98,0.69) 47%,rgba(188,145,77,0.68) 71%,rgba(209,155,71,0.67) 80%,rgba(215,158,69,0.67) 86%,rgba(215,158,69,0.67) 91%,rgba(203,152,73,0.66) 100%);
	background: linear-gradient(to bottom,  rgba(99,102,104,0.7) 0%,rgba(99,102,104,0.69) 37%,rgba(120,112,98,0.69) 47%,rgba(188,145,77,0.68) 71%,rgba(209,155,71,0.67) 80%,rgba(215,158,69,0.67) 86%,rgba(215,158,69,0.67) 91%,rgba(203,152,73,0.66) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3636668', endColorstr='#a8cb9849',GradientType=0 );
	color: #fff;
	text-align: center;
	padding: 150px 0 0;
}
#news {
	padding: 0 0 160px 0;
}
#news h2 span{
	display: block;
	margin: 0 0 20px;
	font-size: 16px;
}
#news h2{
	font-size: 28px;
	position: relative;
	margin: 0 0 100px;
	letter-spacing: 1px;
}
#news h2:after{
	content: "";
	display: block;
	width: 105px;
	height: 1px;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	background: #fff;
	position: absolute;
}
#news #posts{
	max-width: 800px;
	margin: 0 auto 30px;
	text-align: left;
}
#news #posts li{
	display: flex;
	justify-content: space-between;
	padding: 0 0 20px 0;
	margin: 0 0 20px;
	border-bottom: 1px solid #fff;
}
#news #posts li:last-child{
	border-bottom: 0;
}

#news #posts li .date{
	font-weight: 100;
	width: 20%;
	line-height: 1.8;
}
#news #posts li .title{
	font-weight: 100;
	width: 70%;
	line-height: 1.8;
}
#news #posts li .title a{
	color: #fff;
	padding-bottom: .25em;
	background: linear-gradient(#dc9549, #dc9549) 0 100%/0 100% no-repeat;
	transition: background .3s;
	text-decoration: none;
}
#news #posts li .title a:hover{
	background-size: 100% 100%;
}
#news #posts li .new{
	width: 10%;
	line-height: 1.8;
	padding: 3px 0 0 0;
}
#news #posts li .new .new-mark{
	display: block;
	background: #fff;
	color: #000;
	text-align: center;
	font-size: 12px;
	font-weight: 100;
}
#news .btn_wrap{
	max-width: 800px;
	margin: 0 auto;
}
#news .btn_box{
	width: 130px;
	margin:0 0 0 auto;
	font-size: 12px;
	box-sizing: border-box;
	padding: 8px 20px;
}

#news .en_pr{
	text-align: center;
}
#news .en_pr .btn_wrap .btn_box{
	margin: 40px auto 0;
}





.statement{
	padding: 0 0 150px
}
.statement .ico {
	margin: 0 auto;
	width: 44px;
	height: 44px;
	position: relative;
	-webkit-animation: cubemove 3s infinite ease-in-out;
	animation: cubemove 3s infinite ease-in-out;
}
.statement .ico .ico01,
.statement .ico .ico02,
.statement .ico .ico03,
.statement .ico .ico04{
	border-radius: 2px;
	background-color: white;
	width: 11px;
	height: 11px;
	position: absolute;

}
.statement .ico .ico01 {
	top: 0;
	left: 16px;
}
.statement .ico .ico02 {
	top: 16px;
	right: 0;
}
.statement .ico .ico03 {
	bottom: 0;
	left: 16px;
}
.statement .ico .ico04 {
	top: 16px;
	left: 0;
}
@keyframes cubemove {
	0%{transform: rotate(0deg);}
	60%{transform: rotate(360deg);}
	100%{transform: rotate(360deg);}
}
.statement p{
	font-size: 18px;
	line-height: 2;
	padding: 40px 0 ;
}
.statement .movie{
	max-width: 800px;
	margin: 0 auto 70px;
	position: relative;
}
.statement .movie .video{
	width:100%;
	padding-bottom: 56.25%;
	height:0px;
	position: relative;
}

.statement .movie .video iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.statement .movie.is-anime:after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #df984b;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
}
.statement .movie.anime:after{
	top: 20px;
	left: 20px;
}




.pstn h2 span{
}

/* product */
#product{
	padding: 0 0 100px;
}

#product .product_thinkhandf{
	height: 100vh;
	z-index: 10;
	padding: 120px 0;
	background: url("../images/img_product-thinkhandf.png") center bottom no-repeat #000;
	background-size: contain;
	display: flex;
	justify-content: center;
	align-items: center;
}
.pin-spacer {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
#product .product_thinkhandf .thinkhandf_inner{
	width: 1100px;
}



#product .product_thinkhandf .contents{
	max-width: 1100px;
	margin: 0 auto;
	text-align: left;
}
#product .product_thinkhandf .contents h4{
	font-size: 28px;
	margin: 0 0 15px;
	line-height: 1.6;
}
#product .product_thinkhandf .contents p{
	line-height: 2;
	max-width: 550px;
	margin: 0 0 60px;
}
#product .product_thinkhandf .contents .btn_group{
	max-width: 408px;
	display: block;
	margin: 0;
}
#product .product_thinkhandf .contents .btn_group li{
	margin: 0 0 15px;
}

#product .product_model{
	padding: 150px 0;
}

#product .product_model.active{
	position: fixed;
	width: 100%;
	top: 0
}

#product .product_model ul li{
	position: relative;
}
#product .product_model ul li .inner{
	max-width: 1100px;
	margin: 0 auto;
	text-align: left;
	position: relative;
	z-index: 1;
}
#product .product_model ul li .inner .head{
	display: flex;
	align-items: flex-end;
	gap: 20px;
	padding: 0 0 30px;
}
#product .product_model ul li .inner .sttl{
	font-size: 18px;
	line-height: 1.6;
	font-weight: 100;
	font-family: LINESeedJPth;
	padding: 0 0 10px;
}

#product .product_model ul li .inner .num{
	font-family: LINESeedJPth;
	font-size: 114px;
	font-weight: 100;
	color: #f39939;
	position: relative;
	line-height: 1;
	display: inline-block;
}
#product .product_model ul li .inner .num:after{
	content: "";
	display: block;
	width: 0%;
	height: 5px;
	background: #f39939;
	bottom: 15px;
	left: 5%;
	position: absolute;
	transition: all .6s;
	transform-origin: left top;
}
#product .product_model ul li .inner .num.anime:after{
	width: 90%;
}

#product .product_model ul li .inner h4{
	font-size: 30px;
	margin: 0 0 30px;
}
#product .product_model ul li .inner h4 span{
	font-size: 14px;
	display: block;
	padding: 0 0 10px;
}
#product .product_model ul li .inner .txt{
	font-family: LINESeedJPth;
	line-height: 2;
	max-width: 450px;
	margin: 0 0 60px;
	font-size: 16px;
}
#product .product_model ul li .btn_group{
	max-width: 408px;
	display: block;
	margin: 0;
}
#product .product_model ul li .btn_group li{
	margin: 0 0 15px;
}

#product .product_model ul li .img{
	position: absolute;
	top: 0;
	z-index: 0;
}
#product .product_model ul li:nth-child(1) .inner{
	padding: 145px 0 0 0;
}
#product .product_model ul li:nth-child(1) .img{
	right: 0;
}

#product .product_model ul li:nth-child(2) .inner{
	text-align: right;
}
#product .product_model ul li:nth-child(2) .inner .head{
	flex-flow: row-reverse;
	justify-content: flex-start;
}
#product .product_model ul li:nth-child(2) .inner h4{
	text-align: right;
}
#product .product_model ul li:nth-child(2) .inner .txt{
	margin: 0 0 60px auto;
	text-align: left;
}
#product .product_model ul li:nth-child(2) .img{
	left: 0;
	top: 150px;
}
#product .product_model ul li:nth-child(2)  .btn_group{
	margin: 0 0 0 auto;
}



#product .product_model ul li .img.is-anime:after{
	content: "";
	width: calc(100% + 30px);
	height: 100%;
	position: absolute;
	top: 0;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
	aspect-ratio: 886/500;
}

#product .product_model ul li:nth-child(1) .img.is-anime:after{
	left: 0;
	background: url("../images/bg_product01.png") bottom left no-repeat;
	background-size: 100% auto;
}
#product .product_model ul li:nth-child(1) .img.anime:after{
	top: 30px;
	left: -30px
}
#product .product_model ul li:nth-child(2) .img.is-anime:after{
	right: 0;
	background: url("../images/bg_product02.png") bottom left no-repeat;
	background-size: 100% auto;
}
#product .product_model ul li:nth-child(2) .img.anime:after{
	top: 30px;
	right: -30px
}







#product h2{
	margin: 0 0 18px;
	font-size: 16px;
}

#product h3{
	font-size: 28px;
	position: relative;
	margin: 0 0 120px;
	letter-spacing: 1px;
	line-height: 1.6;
}
#product h3:after{
	content: "";
	display: block;
	width: 105px;
	height: 1px;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	background: #fff;
	position: absolute;
}

#product .movie{
	max-width: 800px;
	margin: 0 auto 50px;
	position: relative;
}
#product .movie .video{
	width:100%;
	padding-bottom: 56.25%;
	height:0px;
	position: relative;
}

#product .movie .video iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#product .movie.is-anime:after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #df984b;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
}
#product .movie.anime:after{
	top: 20px;
	left: 20px;
}
#product .txt{
	line-height: 2;
}
#product .block{
	margin: 0 0 300px;
}

#product .block ul li{
	position: relative;
}
#product .block ul li .inner{
	max-width: 1100px;
	margin: 0 auto;
	text-align: left;
	position: relative;
	z-index: 1;
}
#product .block ul li .inner .num{
	font-family: LINESeedJPth;
	font-size: 114px;
	font-weight: 100;
	color: #f39939;
	position: relative;
	line-height: 1;
	display: inline-block;
	margin: 0 0 50px;
}
#product .block ul li .inner .num:after{
	content: "";
	display: block;
	width: 0%;
	height: 5px;
	background: #f39939;
	bottom: 15px;
	left: 5%;
	position: absolute;
	transition: all .6s;
	transform-origin: left top;
}
#product .block ul li .inner .num.anime:after{
	width: 90%;
}
#product .block ul li .inner h4{
	font-size: 28px;
	margin: 0 0 30px;
	line-height: 1.6;
}
#product .block ul li .inner p{
	line-height: 2;
	max-width: 455px;
}

#product .block ul li .img{
	position: absolute;
	top: 0;
	z-index: 0;
}
#product .block ul li:nth-child(1) .inner{
	padding: 145px 0 0 0;
}
#product .block ul li:nth-child(1) .img{
	right: 0;
}

#product .block ul li:nth-child(2) .inner{
	text-align: right;
}
#product .block ul li:nth-child(2) .inner .num{
	margin: 0 0 50px auto;
}
#product .block ul li:nth-child(2) .inner h4{
	text-align: right;
}
#product .block ul li:nth-child(2) .inner p{
	margin: 0 0 0 auto;
	text-align: left;
}
#product .block ul li:nth-child(2) .img{
	left: 0;
	top: 150px;
}
#product .block ul li .img.is-anime:after{
	content: "";
	width: calc(100% + 30px);
	height: 100%;
	position: absolute;
	top: 0;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
	aspect-ratio: 886/500;
}

#product .block ul li:nth-child(1) .img.is-anime:after{
	left: 0;
	background: url("../images/bg_product01.png") bottom left no-repeat;
	background-size: 100% auto;
}
#product .block ul li:nth-child(1) .img.anime:after{
	top: 30px;
	left: -30px
}
#product .block ul li:nth-child(2) .img.is-anime:after{
	right: 0;
	background: url("../images/bg_product02.png") bottom left no-repeat;
	background-size: 100% auto;
}
#product .block ul li:nth-child(2) .img.anime:after{
	top: 30px;
	right: -30px
}

#product .btn_group{
	display: flex;
	margin: 0 auto;
	justify-content: center;
}
#product .btn_group li{
	flex-basis: 384px;
}
#product .btn_group li:first-child{
	margin: 0 44px 0 0;
}

/* event */

#event{
	padding: 0 0 90px;
}
#event h2 span{
	display: block;
	margin: 0 0 20px;
	font-size: 16px;
}
#event h2{
	font-size: 28px;
	position: relative;
	margin: 0 0 100px;
	letter-spacing: 1px;
}
#event h2:after{
	content: "";
	display: block;
	width: 105px;
	height: 1px;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	background: #fff;
	position: absolute;
}

#event ul{
	max-width: 800px;
	margin: 0 auto 50px;
}
#event ul li{
	display: flex;
	text-align: left;
	padding: 0 0 15px;
	margin: 0 0 15px;
	line-height: 1.6;
	border-bottom: 1px solid #fff;
}
#event ul li:last-child{
	border-bottom: 0;
}
#event ul li .date{
	font-weight: 100;
	width: 20%;
	line-height: 1.8;
}
#event li .title{
	font-weight: 100;
	width: 70%;
	line-height: 1.8;
}
#event li .title a{
	color: #fff;

	padding-bottom: .25em;
	background: linear-gradient(#dc9549, #dc9549) 0 100%/0 100% no-repeat;
	transition: background .3s;
	text-decoration: none;
}
#event li .title a:hover{
	background-size: 100% 100%;
}




#profile{
	padding: 0 0 160px;
}
#profile h2 span{
	display: block;
	margin: 0 0 20px;
	font-size: 16px;
}
#profile h2{
	font-size: 28px;
	position: relative;
	margin: 0 0 100px;
	letter-spacing: 1px;
}
#profile h2:after{
	content: "";
	display: block;
	width: 105px;
	height: 1px;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	background: #fff;
	position: absolute;
}

#profile ul{
	max-width: 800px;
	margin: 0 auto 80px;
}
#profile ul li{
	display: flex;
	text-align: left;
	margin: 0 0 10px;
}
#profile ul li p.ttl{
	flex-basis: 40%;
	line-height: 2.6;
}
#profile ul li p.txt{
	flex-basis: 60%;
	line-height: 2.6;
}
#profile ul li p.txt span{
	font-weight: 300;
	display: block;
	margin: 0 0 10px;
}


#profile .map{
	max-width: 800px;
	margin: 0 auto;
	position: relative;
}
#profile .map.is-anime:after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #df984b;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
}
#profile .map.anime:after{
	top: 20px;
	left: 20px;
}

#profile .map iframe {
	width: 100%;
	height: 416px;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}
#profile .text{
	max-width: 800px;
	margin: 0 auto;
	line-height: 1.8;
	text-align: left;
}



.award{
	padding: 0 0 0;
}
.award h2 span{
	display: block;
	margin: 0 0 20px;
	font-size: 16px;
}
.award h2{
	font-size: 28px;
	position: relative;
	margin: 0 0 100px;
	letter-spacing: 1px;
}
.award h2:after{
	content: "";
	display: block;
	width: 105px;
	height: 1px;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	background: #fff;
	position: absolute;
}
.award ul li {
	margin: 0 0 30px;
}




#contact h2 span{
	display: block;
	margin: 0 0 20px;
	font-size: 16px;
}
#contact h2{
	font-size: 28px;
	position: relative;
	margin: 0 0 100px;
	letter-spacing: 1px;
}
#contact h2:after{
	content: "";
	display: block;
	width: 105px;
	height: 1px;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	background: #fff;
	position: absolute;
}
#contact p{
	max-width: 800px;
	margin: 0 auto 50px;
	line-height: 2;
	text-align: center;
}
#contact ul{
	display: flex;
	max-width: 800px;
	margin: 0 auto;
	justify-content: center;
}
#contact ul li{
	flex-basis: 48%;
}

footer{
	height: 100vh;
	position: relative;
}
footer .inner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
footer .inner .logo{
	max-width: 180px;
	margin: 0 auto 30px;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
footer .inner small{
	display: block;
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 30px;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
footer .inner .link_privacy{
	font-size: 12px;
	display:inline-block;
	color: #fff;
	padding: 0 10px;
	text-decoration: underline;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}
footer .inner .link_terms{
	font-size: 12px;
	display:inline-block;
	color: #fff;
	padding: 0 10px;
	text-decoration: underline;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
}

/*=================*/
.privacy_policy #container{
	background: #000;
}

.privacy_policy #container .contents{
	padding: 30vh 0 0 0;
	max-width: 1100px;
	margin: 0 auto;
}
.privacy_policy #container h2{
	font-size: 36px;
	font-weight: 700;
	margin: 0 0 5%;
}

.privacy_policy #container .detail{
	line-height: 2;
	text-align: left;
}
.privacy_policy #container .detail .intro{
	margin: 0 0 5%;
}
.privacy_policy #container .detail .intro b{
	font-weight: 900;
}

.privacy_policy #container h3{
	font-size: 20px;
	font-weight: 700;
}

.privacy_policy #container .detail li{
	margin: 0 0 5%;
}

.privacy_policy #container .detail li ol.inlist li{
	text-indent: -1.2em;
	margin-left: 1.2em;
	margin-bottom: 1%;
}
.privacy_policy #container .detail li ol.inlist li ol.inlist li{
	margin-bottom: 1%;
}

.privacy_policy #container .detail li dl{
}
.privacy_policy #container .detail li dl dt{
	font-weight: 700;
	padding: 3% 0 1% 0;
}

.privacy_policy #container .detail li a.link{
	color: #fff;
	text-decoration: underline;
}
.privacy_policy #container .detail li .btn_box{
	margin: 60px auto 0;
}

/*=================*/

nav.breadcrumbs {
	margin-bottom: 68px;
	padding:42px 50px;
}
nav.breadcrumbs ol{
	display: flex;
}
nav.breadcrumbs ol li{
	font-size: 12px;
}
nav.breadcrumbs ol li a{
	color: #fff;
	text-decoration: underline;
}
nav.breadcrumbs ol li a:hover{
	text-decoration: none;
}

nav.breadcrumbs ol li:after{
	content: "＞";
	padding: 0 5px;
}
nav.breadcrumbs ol li.current:after{
	content: "";
}

/*=================*/

.event_page .event_header{
	height: 380px;
	background: url("/images/bg_event.png") center center no-repeat;
	background-size: cover;
	text-align: center;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
}
.event_page .event_header h1{
	font-size: 46px;
	font-family: LINESeedJPth;
	font-weight: 100;
}
.event_page .event_header h1 span{
	display: block;
	font-size: 16px;
	letter-spacing: 1px;
	padding: 10px 0 0 0;
}
.event_page #container{
	padding: 0;
	background: #000;
}

.event_page .contents{
	max-width: 800px;
	margin: 0 auto;
}
.event_page .contents h2{
	font-size: 28px;
	position: relative;
	margin: 0 0 100px;
	letter-spacing: 1px;
	line-height: 1.8;
}
.event_page .contents h2:after{
	content: "";
	display: block;
	width: 105px;
	height: 1px;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	background: #fff;
	position: absolute;
}
.event_page .contents .bnr{
	margin: 0 auto 50px;
}

.event_page .contents .detail{
	margin: 0 0 100px
}
.event_page .contents .text{
	line-height: 2;
	text-align: left;
}
.event_page .contents .text a{
	color: #fff;
	text-decoration: underline;
}

.event_page .contents ul{
	max-width: 800px;
	margin: 0 auto 50px;
}
.event_page .contents ul li{
	display: flex;
	text-align: left;
	margin: 0 0 30px;
	line-height: 1.6;
}
.event_page .contents ul li p.ttl{
	flex-basis: 40%;
}
.event_page .contents ul li p.txt{
	flex-basis: 60%;
}
.event_page .contents ul li p.txt span{
	font-weight: 300;
	display: block;
	margin: 0 0 10px;
}

.event_page .contents ul li p.txt a {
	word-break: break-all;
	color: #dc9549;
}

/*=================*/
.product_page .product_header{
	height: 380px;
	background: url("/product/images/bg_product.png") center center no-repeat;
	background-size: cover;
	text-align: center;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
}
.product_page .product_header.sensor-tk-01{
	background: url("/product/images/sensor-tk-01/bg_header.png") center center no-repeat;
	background-size: cover;
}
.product_page .product_header.thinker-model-a{
	background: url("/product/images/thinker-model-a/bg_header.png") center center no-repeat;
	background-size: cover;
}
.product_page .product_header h1{
	font-size: 46px;
	font-family: LINESeedJPth;
	font-weight: 100;
}
.product_page .product_header h1 span{
	display: block;
	font-size: 16px;
	letter-spacing: 1px;
	padding: 10px 0 0 0;
}
.product_page #container{
	padding: 0;
	background: #000;
}

.product_page .contents{
	max-width: 1100px;
	margin: 0 auto;
}

.product_page .contents .lineup{
	display: flex;
	justify-content: space-between;
}
.product_page .contents .lineup .sttl{
	font-size: 16px;
	line-height: 1.6;
}
.product_page .contents .lineup h2{
	font-size: 28px;
	margin: 0;
	padding: 20px 0;
}
.product_page .contents .lineup h2:after{
	display: none;
}
.product_page .contents .lineup .name{
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 20px;
}


.product_page .contents .lineup figure{
	position: relative;
	margin: 0 0 40px;
	max-width: 450px;
}
.product_page .contents .lineup figure.is-anime:after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #df984b;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
}
.product_page .contents .lineup figure.anime:after{
	top: 20px;
	left: 20px;
}
.product_page .contents .lineup ol{
	margin: 0 0 40px;
}
.product_page .contents .lineup ol li{
	text-align: left;
	margin: 0 0 17px;
}
.product_page .contents .lineup ol li span{
	font-size: 32px;
	width: 2.5rem;
	font-weight: 100;
	color: #f39939;
	position: relative;
	line-height: 1;
	display: inline-block;
	margin: 0 15px 0 0;
}

.product_page .contents_header{
	display: flex;
	justify-content: space-between;
}

.product_page .contents_header .pnav{
	padding: 42px 50px;
}
.product_page .contents_header .pnav.fixed{
	position: fixed;
	top: 121px;
	right: 0;
	z-index: 3;
}
.product_page .contents_header .pnav ul{
	display: flex;
}
.product_page .contents_header .pnav ul li{
	padding: 0 20px;
}
.product_page .contents_header .pnav ul li a{
	color: #fff;
	font-size: 16px;
	position: relative;
}

.product_page .contents_header .pnav ul li a::before {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom: 0;
	z-index: -1;
	left: -5%;
	/*線の形状*/
	width: 110%;
	height: 100%;
	background:#dc9549;
	transition: all .3s;
	transform: scale(0, 1);
	transform-origin: left top;
}

/*現在地とhoverの設定*/
.product_page .contents_header .pnav ul li a:hover::before {
	transform: scale(1, 1);/*X方向にスケール拡大*/
}



.product_page .contents .lead{
	line-height: 2;
	padding: 20px 0 0;
	margin: 0 0 300px;
}

.product_page .contents h2{
	font-size: 28px;
	position: relative;
	margin: 0 0 100px;
	letter-spacing: 1px;
}
.product_page .contents h2 span{
	display: block;
	margin: 0 0 20px;
	font-size: 16px;
}
.product_page .contents h2:after {
	content: "";
	display: block;
	width: 105px;
	height: 1px;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	background: #fff;
	position: absolute;
}


/* */
.product_page .contents.sensor{
	max-width: 100%;
}

.product_page .contents #features ul{
	margin: 0 0 240px
}
.product_page .contents #features ul li{
	position: relative;
}

.product_page .contents #features ul li .inner{
	max-width: 1100px;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.product_page .contents #features .num{
	font-size: 114px;
	font-weight: 100;
	color: #f39939;
	position: relative;
	line-height: 1;
	display: inline-block;
	margin: 0 0 50px;
	font-family: LINESeedJPth;
	font-weight: 100;
}

.product_page .contents #features .num:after {
	content: "";
	display: block;
	width: 0%;
	height: 5px;
	background: #f39939;
	bottom: 13px;
	left: 5%;
	position: absolute;
	transition: all .6s;
	transform-origin: left top;
}

.product_page .contents #features .num.anime:after{
	width: 90%;
}

.product_page .contents #features ul li .inner h3{
	font-size: 28px;
	margin: 0 0 30px;
	line-height: 1.6;
}
.product_page .contents #features ul li .inner h3 sup{
	font-size: 14px;
}

.product_page .contents #features ul li .inner p.txt {
	line-height: 2;
	max-width: 455px;
}

.product_page .contents #features ul li .img{
	position: absolute;
	top: 0;
	z-index: 0;
}

.product_page .contents #features ul li:nth-child(1) .inner{
	min-height: 660px;
	padding: 0 0 150px 0;
}

.product_page .contents #features ul li:nth-child(1) .img{
	right: 0;
}

.product_page .contents #features ul li:nth-child(2) .inner{
	min-height: 660px;
	text-align: right;
	padding: 0 0 150px 0;
}

.product_page .contents #features ul li:nth-child(2) .inner .num{
	margin: 0 0 50px auto;
}

.product_page .contents #features ul li:nth-child(2) .inner h4{
	text-align: right;
}

.product_page .contents #features ul li:nth-child(2) .inner p{
	margin: 0 0 0 auto;
	text-align: left;
}

.product_page .contents #features ul li:nth-child(2) .img{
	left: 0;
	top: 0;
}

.product_page .contents #features ul li:nth-child(3) .inner{
	min-height: 660px;
	padding: 0 0 150px 0;
}

.product_page .contents #features ul li:nth-child(3) .img{
	right: 0;
}


.product_page .contents #features ul li:nth-child(4) .inner{
	min-height: 530px;
	text-align: right;
	padding: 0 0 0 0;
}

.product_page .contents #features ul li:nth-child(4) .inner .num{
	margin: 0 0 50px auto;
}

.product_page .contents #features ul li:nth-child(4) .inner h4{
	text-align: right;
}

.product_page .contents #features ul li:nth-child(4) .inner p{
	margin: 0 0 0 auto;
	text-align: left;
}

.product_page .contents #features ul li:nth-child(4) .img{
	left: 0;
	top: 0px;
}

.product_page .contents #features ul li .img.is-anime:after{
	content: "";
	width: calc(100% + 30px);
	height: 100%;
	position: absolute;
	top: 0;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
	aspect-ratio: 886/500;
}

.product_page .contents #features ul li:nth-child(1) .img.is-anime:after{
	left: 0;
	background: url("../images/bg_product01.png") bottom left no-repeat;
	background-size: 100% auto;
}
.product_page .contents #features ul li:nth-child(1) .img.anime:after{
	top: 30px;
	left: -30px
}
.product_page .contents #features ul li:nth-child(2) .img.is-anime:after{
	right: 0;
	background: url("../images/bg_product02.png") bottom left no-repeat;
	background-size: 100% auto;
}
.product_page .contents #features ul li:nth-child(2) .img.anime:after{
	top: 30px;
	right: -30px
}
.product_page .contents #features ul li:nth-child(3) .img.is-anime:after{
	left: 0;
	background: url("../images/bg_product01.png") bottom left no-repeat;
	background-size: 100% auto;
}
.product_page .contents #features ul li:nth-child(3) .img.anime:after{
	top: 30px;
	left: -30px
}
.product_page .contents #features ul li:nth-child(4) .img.is-anime:after{
	right: 0;
	background: url("../images/bg_product02.png") bottom left no-repeat;
	background-size: 100% auto;
}
.product_page .contents #features ul li:nth-child(4) .img.anime:after{
	top: 30px;
	right: -30px
}

.product_page .contents .barrier{
	max-width: 1100px;
	margin: 0 auto 100px;
}

.product_page .contents .barrier .barrier-content {
	width: 100%;
	display: flex;
	justify-content: center;
}

.product_page .contents .barrier ul {
}

.product_page .contents .barrier ul li{
	display: grid;
	grid-template-columns: 310px 1fr;
	/*justify-content: space-between;*/
}

.product_page .contents .barrier ul li{
	margin: 0 0 40px;
}

.product_page .contents .barrier ul li .ttl{
	position: relative;
	text-align: left;
}

.product_page .contents .barrier ul li .ttl span{
	background: #000;
	display: inline-block;
	position: relative;
	z-index: 1;
	line-height: 1.6;
	padding: 0 20px 0 0 ;
	margin: 0 40px 0 0;
}

.product_page .contents .barrier ul li .ttl:after{
	width: 100%;
	height: 1px;
	background: #fff;
	content: "";
	display: block;
	position: absolute;
	top: .8em;
	z-index: 0;
}

.product_page .contents .barrier ul li .txt{
	position: relative;
	/*flex-basis: 70%;*/
	text-align: left;
	margin-left: 1em;
	line-height: 1.6;
}

.product_page .contents #structure{
	margin: 300px 0 300px;
}

.product_page .contents #structure .movie{
	max-width: 800px;
	margin: 0 auto 100px;
	position: relative;
}
.product_page .contents #structure > .img{
	max-width: 600px;
	margin: 0 auto 100px;
	position: relative;
}
.product_page .contents #structure .movie .video{
	width:100%;
	padding-bottom: 56.25%;
	height:0px;
	position: relative;
}

.product_page .contents #structure .movie .video iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.product_page .contents #structure .movie.is-anime:after,
.product_page .contents #structure > .img:after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #df984b;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
}
.product_page .contents #structure .movie.anime:after,
.product_page .contents #structure > .img.anime:after{
	top: 20px;
	left: 20px;
}
.product_page .contents #structure .model_type_wrap{
	padding: 200px 0 0 0;
}

.product_page .contents #structure .model_type{
	width: 800px;
	margin: 0 auto;
	text-align: left;
}
.product_page .contents #structure .model_type th{
	padding: 0 0 20px;
	border-bottom:1px solid #fff;
}
.product_page .contents #structure .model_type th:nth-child(1){
	width: 45%;
}
.product_page .contents #structure .model_type th:nth-child(2){
	width: 20%;
}
.product_page .contents #structure .model_type th:nth-child(3){
	width: 35%;
}

.product_page .contents #structure .model_type td{
	padding: 20px 0;
}
.product_page .contents #structure .notice{
	max-width: 800px;
	text-align: right;
	margin: 0 auto 60px;
	padding: 30px 0 0;
}


.product_page .contents #structure ol{
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.product_page .contents #structure ol li{
	flex-basis: 50%;
}
.product_page .contents #structure ol li:nth-child(1),
.product_page .contents #structure ol li:nth-child(2){
	display: flex;
	text-align: left;
	align-items: flex-start;
}
.product_page .contents #structure ol li h3{
	font-size: 24px;
	padding: 8px 0;
	letter-spacing: -1px;
	line-height: 1.6;
}
.product_page .contents #structure ol li p{
	line-height: 2;
	margin-bottom: 20px;
}


.product_page .contents #structure ol li p.num{
	font-family: LINESeedJPth;
	font-size: 102px;
	font-weight: 100;
	color: #f39939;
	position: relative;
	line-height: 1;
	display: inline-block;
	margin: 0 10px 30px 0;
}
.product_page .contents #structure ol li p.num:after{
	content: "";
	display: block;
	width: 0%;
	height: 5px;
	background: #f39939;
	bottom: 13px;
	left: 5%;
	position: absolute;
	transition: all .6s;
	transform-origin: left top;
}
.product_page .contents #structure ol li p.num.anime:after{
	width: 90%;
}

.product_page .contents #structure ol .img{
	position: relative;
	flex-basis: 100%;
	margin: 0 auto 50px;
	flex-wrap: wrap;
}
.product_page .contents #structure ol .img.is-anime:after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #df984b;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
}
.product_page .contents #structure ol .img.anime:after{
	top: 20px;
	left: 20px;
}



.product_page .contents #specification{
	margin: 0 0 300px;
}
.product_page .contents #specification ul.nav{
	display: flex;
	justify-content: center;
	margin: 0 0 30px;
}

.product_page .contents #specification ul.nav li{
	flex-basis: 378px;
}
.product_page .contents #specification ul.nav li:nth-child(1){
	margin-right: 44px;
}
.product_page .contents #specification ul.nav li .btn_box{
	cursor: pointer;
}

.product_page .contents #specification ul.nav li .btn_box.active:before{
	transform-origin:left top;
	transform:scale(1, 1);
}

.product_page .contents #specification ul.detail{
	max-width: 800px;
	margin: 0 auto 50px;
	display: none;
}
.product_page .contents #specification ul.detail.show{
	display: block;
}
.product_page .contents #specification ul.detail li{
	display: flex;
	text-align: left;
	margin: 0 0 30px;
	line-height: 1.6;
}
.product_page .contents #specification ul.detail li p.ttl{
	flex-basis: 40%;
}
.product_page .contents #specification ul.detail li p.txt{
	flex-basis: 60%;
}
.product_page .contents #specification ul.detail li p.txt span{
	font-weight: 300;
	display: block;
	margin: 0 0 10px;
	text-align: center;
}

.product_page .contents #specification .notes {
	max-width: 800px;
	font-size: 12px;
	line-height: 1.5;
	text-align: right;
	margin: 0 auto;
}

.product_page .contents #qa dl{
	max-width: 800px;
	margin: 0 auto 50px;
	text-align: left;
}
.product_page .contents #qa dt{
	border-top: 1px solid #fff;
	position: relative;
	padding: 30px 45px 5px 55px;
	margin: 20px 0 20px;
	line-height: 1.6;
}
.product_page .contents #qa dt .icon {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	position: absolute;
	right: 0;
	top: 20px;
	width: 28px;
	height: 28px;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-sizing: content-box;
}

.product_page .contents #qa dt .icon > span {
	width: 52%;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	position: relative;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.product_page .contents #qa dt .icon > span::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	border-radius: inherit;
	transform: rotate(90deg);
	-webkit-transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	-moz-transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.product_page .contents #qa dt.active .icon > span::before {
	transform: rotate(0deg);
}

.product_page .contents #qa dt:first-child{
	border-top: 0;
}

.product_page .contents #qa dt:before{
	position: absolute;
	top: 25px;
	left: 0;
	content: "Q";
	font-size: 28px;
}

.product_page .contents #qa dd{
	position: relative;
	padding: 15px 0 25px 55px;
	line-height: 2;
	display: none;
}
.product_page .contents #qa dd:before{
	position: absolute;
	top: 0;
	left: 0;
	content: "A";
	font-size: 28px;
	color: #f39939;
}

.product_page .contents #qa dd a {
	color: #f39939;
}

.product_page .contents #task {
	margin: 100px 0 180px;
}

.product_page .contents #task .task_list {
	display: grid;
	grid-template-columns: calc(240 / 1100 * 100%) calc(240 / 1100 * 100%) calc(240 / 1100 * 100%) calc(240 / 1100 * 100%);
	gap: calc(46 / 1100 * 100%);
	justify-content: center;
	max-width: 1100px;
	margin: 0 auto;
}

.product_page .contents #task .task_list li {
	margin-bottom: calc(46 / 1100 * 100%);
}

.product_page .contents #task .task_list li div {
	position: relative;
}

.product_page .contents #task .task_list li p {
	margin: 30px 0 0 0;
}

.product_page .contents #task .task_list .is-anime:after{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #df984b;
	z-index: -1;
	transition: all .6s;
	transform-origin: left top;
}
.product_page .contents #task .task_list .anime:after{
	top: 20px;
	left: 20px;
}


@media screen and (max-width:1080px) {
	/* TAB */
	header nav ul{
		margin: 0 20px 0 0;
	}

	header nav ul li{
		margin: 0 0 0 20px;
	}
	#mv h1{
		font-size: 11vw;
	}
	#mv h1 span{
		font-size: 11vw;
		padding: 0 0 0 5%;
	}

	#statement{
		margin: 0 5%;
	}

	#product .product_thinkhandf{
		height: 100vh;
	}
	#product .product_thinkhandf .contents{
		max-width: 100%;
		margin: 0 5%;
	}

	#product .list01{
		margin: 0 5% 20%;
	}
	#product .block ul li:nth-child(1) .img,
	#product .product_model ul li:nth-child(1) .img{
		margin: 0 0 0 20%;
	}
	#product .block ul li:nth-child(1) .inner,
	#product .product_model ul li:nth-child(1) .inner{
		margin: 0 0 0 5%;
		padding: 7% 0 0 0;
	}
	#product .block ul li:nth-child(2) .img,
	#product .product_model ul li:nth-child(2) .img{
		margin: 0 20% 0 0;
	}
	#product .block ul li:nth-child(2) .inner,
	#product .product_model ul li:nth-child(2) .inner{
		margin: 0 5% 0 0 ;
	}
	#product .block ul li .inner .num:after,
	#product .product_model ul li .inner .num:after {
		bottom: 13px;
	}



	#profile{
		margin: 0 5%;
	}
	#contact{
		margin: 0 5%;
	}

	.privacy_policy #container .contents{
		margin: 0 5%;
		padding: 15vh 0 0 0;
	}

	.product_page .contents #features ul li:nth-child(1) .img{
		margin: 0 0 0 20%;
	}
	.product_page .contents #features ul li:nth-child(1) .inner{
		min-height: inherit;
		margin: 0 0 10% 5%;
		padding: 7% 0 0 0;
	}
	.product_page .contents #features ul li:nth-child(2) .img{
		margin: 0 20% 0 0;
	}
	.product_page .contents #features ul li:nth-child(2) .inner{
		min-height: inherit;
		margin: 0 5% 10% 0 ;
	}
	.product_page .contents #features ul li:nth-child(3) .img{
		margin: 0 0 0 20%;
	}
	.product_page .contents #features ul li:nth-child(3) .inner{
		min-height: inherit;
		margin: 0 0 0 5%;
		padding: 7% 0 10% 0;
	}
	.product_page .contents #features ul li:nth-child(4) .img{
		margin: 0 20% 0 0;
	}
	.product_page .contents #features ul li:nth-child(4) .inner{
		min-height: inherit;
		margin: 0 5% 0 0 ;
	}

	.product_page .contents #features ul li .inner .num:after {
		bottom: 13px;
	}


	/* ======TAB=======*/}

@media screen and (max-width:828px) {

	::-webkit-scrollbar {
		width: auto;
	}

	/* ======SP=======*/
	.pc {
		display: none;
	}

	.sp {
		display: inline-block;
	}

	html, body {
		/*	overflow-x: hidden;
   overflow-y: scroll;
  */
	}


	header {
		display: block;
		padding: 5%;
	}

	header p {
		/*width: 50%;*/
	}


	header .btn_menu {
		width: calc((50.6773 / 828) * 100%);
		height: 51px;
		position: absolute;
		right: calc((40 / 828) * 100%);
		top: 16%;
		cursor: pointer;
		z-index: 1001;
		background-color: transparent;
		border: none;
		outline: none;
		padding: 0;
		appearance: none;
		display: block;
	}

	header .btn_menu span,
	header .btn_menu span:before,
	header .btn_menu span:after {
		height: 3px;
		background: #fff;
		border-radius: 10px;
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		-moz-transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1)
	}

	header .btn_menu span {
		width: 100%;
		margin: -2px 0 0 -20%;
	}

	header .btn_menu span:before {
		content: "";
		width: 100%;
		margin: -10px 0 0 -50%;
	}

	header .btn_menu span:after {
		content: "";
		width: 100%;
		margin: 8px 0 0 -50%;
	}

	.open header .btn_menu span,
	.open header .btn_menu span:before,
	.open header .btn_menu span:after {
		width: 100%;
	}

	.open header .btn_menu span {
		background: transparent;
		margin: -2px 0 0 -27%
	}

	.open header .btn_menu span:before {
		transform: rotate(45deg);
		margin: -2px 0 0 -50%;
	}

	.open header .btn_menu span:after {
		transform: rotate(-45deg);
		margin: -2px 0 0 -50%;
	}

	header nav {
	}

	header nav .nav_inner {
		position: absolute;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		display: none;
		background: rgba(0, 0, 0, .6);
		opacity: 0;
	}

	header nav .nav_inner.nav_open {
		display: block;
		animation: fadeIn .3s linear forwards;
		padding: 30% 0 0 0;
	}

	@keyframes fadeIn {
		100% {
			opacity: 1
		}
	}
	header nav .nav_inner ul {
		margin: 0 auto;
		height: auto;
		display: block;
	}

	header nav .nav_inner .btn_box {
		margin: 5% 10%;
		padding: 20px;
	}

	header nav .nav_inner li {
		margin: 0;
		border-bottom: 1px solid #fff;
	}

	header nav .nav_inner li:last-child {
		border-bottom: 0;
	}

	header nav .nav_inner li a {
		display: block;
		padding: 5% 10%;
	}

	header nav .nav_inner li span {
		display: block;
		font-weight: 500;
		color: #000;
		margin: 0 0 3%;
	}

	header nav .nav_inner li a img {
		height: auto;
	}

	.drpdwn_lists {
		display: block;
		position: static;
		width: 100%;
		padding: 0 0 0 10%;
	}


	#mv p {
		font-size: 14px;
		line-height: 1.6;
	}

	#container .scroll {
		right: 5%;
	}
	#container .btn_event-online {
		right: 13%;
	}
	#container .btn_event-online .btn_box{
		font-size: 3.6vw;
		padding: 10px 30px 10px 10px;
	}

	#news #posts {
		margin: 0 5%;
	}
	#news #posts li {
		flex-wrap: wrap;
	}
	#news #posts li .date {
		width: 100%;
		font-size: 12px;
		line-height: 1.4;
		padding: 3px 0 0 0;
	}
	#news #posts li .title {
		line-height: 1.4;
		width: 100%;
	}
	#news #posts li .title a {
		font-size: 12px;
	}
	#news .btn_wrap {
		margin: 0 5%;
	}


	.statement {
		padding: 100px 5%;
/*		height: 100vh;*/
	}

	.statement .inner {
		top: 50%;
		transform: translateY(-50%);
		position: relative;
	}
	.statement .inner p{
		font-size: 3.4vw;
	}
  .statement .movie.anime:after {
      top: 10px;
      left: 10px;
  }
	#product {
		margin: 0 0 30%;
		padding: 0;
		overflow-x: hidden;
	}
	#product h3 {
		font-size: 6.6vw;
		line-height: 1.6;
	}

	#product .product_thinkhandf {
		height: auto;
		background: #000;
		padding: 100px 0 ;
	}
	#product .product_thinkhandf .contents{
		margin: 0 5%;
	}
	#product .product_thinkhandf .contents h4 {
	    font-size: 6.4vw;
	    line-height: 1.6;
	    margin: 0 0 5%;
	}
	#product .product_thinkhandf .contents p{
		margin: 0;
		font-size: 3.4vw;
	}

	#product .product_model{
		padding: 100px 0 0;
	}

	#product .product_model ul li .inner .head {
		align-items: center;
		padding: 0;
	}
	#product .product_model ul li .inner .head .sttl{
		font-size: 3.4vw;
	}
	#product .product_model ul li .inner h4 span {
		padding: 0 0 5px;
	}
	#product .product_model ul li .img.is-anime:after {
		width: calc(100% + 10px);
	}

	#product .product_model ul li:nth-child(1) {
		margin: 0 0 30%;
	}

	#product .product_model ul li:nth-child(1) .img.anime::after {
		top: 10px;
		left: -10px;
	}

	#product .product_model ul li:nth-child(2) .img {
		top: 0;
	}

	#product .product_model ul li:nth-child(2) .img.anime::after {
		top: 10px;
		right: -10px;
	}

	#product .product_model ul li:nth-child(1) .inner,
	#product .product_model ul li:nth-child(2) .inner {
		padding: 50% 0 0 0;
		margin: 0 5%;
	}

	#product .product_model ul li .inner .num {
		margin: 0 0 5%;
		font-size: 20vw;
	}

	#product .product_model ul li .inner .num:after {
		bottom: 10%;
	}

	#product .product_model ul li:nth-child(2) .inner .num {
		margin: 0 0 5%;
	}

	#product .product_model ul li .inner h4 {
		font-size: 6.2vw;
		line-height: 1.6;
		margin: 0 0 5%;
	}
	#product .product_model ul li .inner .txt{
		font-size: 3.4vw;
	}

	#product .block{
		margin: 0 0 100px
	}
	#product .block ul li .img.is-anime:after {
		width: calc(100% + 10px);
	}

	#product .block ul li:nth-child(1) {
		margin: 0 0 30%;
	}

	#product .block ul li:nth-child(1) .img.anime::after {
		top: 10px;
		left: -10px;
	}

	#product .block ul li:nth-child(2) .img {
		top: 0;
	}

	#product .block ul li:nth-child(2) .img.anime::after {
		top: 10px;
		right: -10px;
	}

	#product .block ul li:nth-child(1) .inner,
	#product .block ul li:nth-child(2) .inner {
		padding: 47% 0 0 0;
		margin: 0 5%;
	}

	#product .block ul li .inner .num {
		margin: 0 0 5%;
		font-size: 20vw;
	}

	#product .block ul li .inner .num:after {
		bottom: 10%;
	}

	#product .block ul li:nth-child(2) .inner .num {
		margin: 0 0 5%;
	}

	#product .block ul li .inner h4 {
		font-size: 6.4vw;
		line-height: 1.6;
		margin: 0 0 5%;
	}


	#product .btn_group {
		display: block;
	}

	#product .btn_group li:first-child {
		margin: 0 0 5%;
	}

	#product .btn_box {
		margin: 0 5%;
	}


	#event {
		margin: 0 5%;
	}

	#event li {
		flex-wrap: wrap;
	}

	#event ul li .date {
		width: 100%;
		font-size: 12px;
		line-height: 1.4;
		padding: 3px 0 0 0;
	}

	#event ul li .title {
		line-height: 1.4;
		width: 100%;
	}

	#event li .title a {
		font-size: 12px;
	}

	#profile {
		padding: 0 0 30%;
	}
	#profile ul li p{
		font-size: 3.4vw;
	}
	#profile .map.anime::after {
		top: 10px;
		left: 10px;
	}

	#contact ul {
		display: block;
	}

	#contact ul li {
		margin: 0 0 5%;
	}

	nav.breadcrumbs {
		margin-bottom: 0;
		padding: 5%;
	}

	.event_page .contents {
		margin: 0 5%;
		padding: 15% 0 0 0;
	}

	.product_page .contents {
	}

	.product_page .contents .lineup {
		display: block;
		margin: 0 5%;
	}

	.product_page .contents .lineup .detail {
		padding: 15% 0 0 0;
		margin: 0 0 10%
	}

	.product_page .contents .lineup .detail h2 {

	}

	.product_page .contents .lineup ol li {
		font-size: 16px;
	}

	.product_page .contents .lineup ol li span {
		display: block;
		margin: 0 0 10px;
	}

	.product_page .contents_header {
		display: block;
	}

	.product_page .contents_header .pnav {
		padding: 5%;
	}

	.product_page .contents_header .pnav ul {
		justify-content: center;
	}
	.product_page .contents_header .pnav.fixed{
		width: 100%;
		top: 60px;
		left: auto;
		right: auto;
	}


	.product_page .contents .lineup figure.anime::after {
		top: 10px;
		left: 10px;
	}

	.product_page .contents .lead {
		padding: 30% 0 0 0;
	}

	.product_page .contents #features {
		overflow-x: hidden;
	}

	.product_page .contents #features ul li .img.is-anime:after {
		width: calc(100% + 10px);
	}

	.product_page .contents #features ul li:nth-child(1),
	.product_page .contents #features ul li:nth-child(2),
	.product_page .contents #features ul li:nth-child(3) {
		margin: 0 0 30%;
	}

	.product_page .contents #features ul li:nth-child(1) .img.anime::after,
	.product_page .contents #features ul li:nth-child(3) .img.anime::after {
		top: 10px;
		left: -10px;
	}

	.product_page .contents #features ul li:nth-child(2) .img ,
	.product_page .contents #features ul li:nth-child(4) .img {
		top: 0;
	}

	.product_page .contents #features ul li:nth-child(2) .img.anime::after ,
	.product_page .contents #features ul li:nth-child(4) .img.anime::after {
		top: 10px;
		right: -10px;
	}

	.product_page .contents #features ul li:nth-child(1) .inner,
	.product_page .contents #features ul li:nth-child(2) .inner,
	.product_page .contents #features ul li:nth-child(3) .inner,
	.product_page .contents #features ul li:nth-child(4) .inner {
		padding: 47% 0 0 0;
		margin: 0 5%;
	}

	.product_page .contents #features ul li .inner .num {
		margin: 0 0 5%;
		font-size: 20vw;
	}

	.product_page .contents #features ul li .inner .num:after {
		bottom: 10%;
	}

	.product_page .contents #features ul li:nth-child(2) .inner .num,
	.product_page .contents #features ul li:nth-child(4) .inner .num {
		margin: 0 0 5%;
	}

	.product_page .contents #features ul li .inner h4 {
		font-size: 6.4vw;
		line-height: 1.6;
		margin: 0 0 5%;
	}

	.product_page .contents h2 span {
		line-height: 2;
	}

	.product_page .contents #features ul {
		margin: 0 0 30%;
	}


	.product_page .contents h2 {
		font-size: 6.6vw;
		line-height: 1.8;
		letter-spacing: -1px;
	}

	.product_page .contents #features ul li .inner h3 {
		font-size: 6.6vw;
	}

	.product_page .contents .barrier ul {
		margin: 0 5%;
	}

	.product_page .contents .barrier ul li {
		display: block;
		line-height: 2;
		margin: 0 0 10%;
	}

	.product_page .contents .barrier ul li .ttl {
		margin: 0 0 3%;
	}
	.product_page .contents .barrier ul li .ttl span{
		font-weight: 900;
}
	.product_page .contents .barrier ul li .ttl:after {
		top: 50%;
	}
	.product_page .contents .barrier ul li .txt {
		margin-left: 0;
	}

	.product_page .contents #structure {
		margin: 0 5% 30%;
	}

	.product_page .contents #structure .movie.anime::after,
	.product_page .contents #structure > .img.anime:after{
		top: 10px;
		left: 10px;
	}
	.product_page .contents #structure .model_type_wrap{
		padding: 10% 0 0 0;
	}
	.product_page .contents #structure .model_type{
		width: 100%;
	}
	.product_page .contents #structure .model_type td{
		padding: 10px 5px;
		line-height: 1.5;
	}



	.product_page .contents #structure .notice{
		margin: 0 auto 60px;
	}

	.product_page .contents #structure ol li:nth-child(1), .product_page .contents #structure ol li:nth-child(2) {
		flex-basis: auto;
		display: block;
	}

	.product_page .contents #structure ol li p.num {
		margin: 0px;
		font-size: 20vw;
	}

	.product_page .contents #structure ol li p.num::after {
		bottom: 10%;
	}

	.product_page .contents #structure ol li h3 {
		line-height: 1.8;
	}

	.product_page .contents #structure ol .img.anime:after {
		top: 10px;
		left: 10px;
	}

	.product_page .contents #specification ul.nav {
		margin: 0 5% 15%;
	}

	.product_page .contents #specification ul.nav li:nth-child(1) {
		margin: 0 5% 10% 0;
	}

	.product_page .contents #specification ul.nav .btn_box {
		font-size: 12px;
	}

	.product_page .contents #specification ul.detail {
		margin: 0 5% 30%;
	}

	.product_page .contents #specification .notes {
		margin: 0 5%;
	}

	.product_page .contents #qa dl {
		margin: 0 5% 30%;
	}

	.product_page .contents #qa dt {
		padding: 30px 40px 5px 55px;
	}

	.product_page .contents #qa .btn_box {
		margin: 0 5%;
	}

	.product_page .contents #task {
		margin: 0 5% 30%;
	}

	.product_page .contents #task .task_list {
		grid-template-columns: 1fr 1fr;
		gap: calc(20 / 750 * 100vw);
	}

	.product_page .contents #task .task_list li {
		margin-bottom: calc(20 / 750 * 100vw);
	}

	.product_page .contents #task .task_list .anime:after{
		top: 10px;
		left: 10px;
	}

	.product_page .contents #task .task_list li p {
		margin: 16px 0 0 0;
	}



	#container.en .pnav ul{
		align-items: center;
	}
	#container.en .pnav li{
		padding: 0 10px;
	}
	#container.en .pnav li a{
		font-size: 13px;
	} 
	/* ================*/
}


