@charset "utf-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP|Roboto&display=swap&subset=japanese");

html {
	scroll-behavior: smooth;
}
body{
	margin: 0 0;
	padding: 0 0;
	background: #F1F1F1;
	font-family:'Noto Sans JP', sans-serif;
}
.fullPageScroll {
  width: 100%;
  height: 100vh;
  scroll-snap-type: y mandatory;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.section {
  width: 100%;
  height: 100vh;
  scroll-snap-align: start;
}
.pagination {
  position: fixed;
  top: 50%;
  right: 32px;
  transform: translateY(-50%);
}
.pagination a {
  display: block;
  width: 12px;
  height: 12px;
  margin: 24px 0;
  border-radius: 50%;
  background-color: #fcfcfc;
  transition: transform 0.2s;
}

.pagination a.active {
  transform: scale(1.4);
  background-color: #555;
}

#d_global{
	position:fixed;
	top:0px;
	padding: 10px;
	width: calc(100% - 20px);
}
#d_global h1 img{
	width:166px;
}
#d_global .d_menu{
	position: absolute;
	top:10px;
	right:10px;
	display: flex;
	justify-content: space-between;
}
#d_global .d_menu a{
	padding: 8px 10px 0;
	text-align: center;
	color: #111;
	text-decoration: none;
	font-size:10px;
}
#d_global .d_menu span{
	display: block;
    font-family:'Roboto' ;
	font-size:16px;
	font-weight: bold;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.section1 {
	position: relative;
	background: url("../img/d_bg1.png");
	background-position: bottom center;
	background-repeat: no-repeat;
	overscroll-behavior-y: none;
	display:flex;
	justify-content: center;
	align-items: center;
}
.section2 {
	position: relative;
	background: url("../img/d_bg2.png");
	background-position: top center;
	background-repeat: no-repeat;
	overscroll-behavior-y: none;
}
.section3 {
	position: relative;
	background: url("../img/d_bg3.png");
	background-position: bottom center;
	background-repeat: no-repeat;
	overscroll-behavior-y: none;
	display:flex;
	justify-content: center;
	align-items: center;
}
.section4 {
	position: relative;
	background: url("../img/d_bg4.png");
	background-position: top center;
	background-repeat: no-repeat;
	overscroll-behavior-y: none;
}
.section6 {
	position: relative;
	background: #282828;
	background-position: top center;
	background-repeat: no-repeat;
	overscroll-behavior-y: none;
}

.section1 .d_bg_name{
	position: absolute;
	bottom:0px;
	left:15px;
	width: calc(100% - 30px);
	animation-name: fadein0;
	animation-duration: 1.0s;
	animation-delay: 1.4s;
	animation-fill-mode: forwards;
	opacity: 0;
}
.section1 h2{
	position: relative;
	margin: 0 auto;
	width:240px;
	height:428px;
	text-align: center;
	display: inline-block;
}
.section1  h2 span{
	position:absolute;
	animation-duration: 0.7s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-in-out;
	opacity: 0;
}
.d_ct_0_wrap{
	position:absolute;
	top:-10px;
	left:130px;
	width:110px;
	height:300px;
	overflow: hidden;
}
.section1  h2 span.d_ct_0{
	top:0px;
	left:0px;
	animation-duration: 1.2s;
	animation-name: fadein4;
	animation-delay: 0.9s;
	timeline-trigger-name: --t;
	timeline-trigger-source: view();
	timeline-trigger-activation-range: contain 15% contain 100% / entry 100% exit 15%;
	animation-trigger: --t play-forwards play-backwards;
	trigger-scope: --t;
}
.section1  h2 span.d_ct_1{
	top:6px;
	left:141px;
	animation-name: fadein1;
}
.section1  h2 span.d_ct_2{
	top:103px;
	left:146px;
	animation-name: fadein1;
	animation-delay: 0.1s;
}
.section1  h2 span.d_ct_3{
	top:215px;
	left:146px;
	animation-name: fadein1;
	animation-delay: 0.15s;
}
.section1  h2 span.d_ct_4{
	top:302px;
	left:146px;
	animation-name: fadein1;
	animation-delay: 0.18s;
}
.section1  h2 span.d_ct_5{
	top:406px;
	left:215px;
	animation-name: fadein1;
	animation-delay: 0.2s;
}
.section1  h2 span.d_ct_6{
	top:0px;
	left:0px;
	animation-name: fadein2;
	animation-delay: 0.6s;
}
.section1  h2 span.d_ct_7{
	top:101px;
	left:13px;
	/* 17px for serif */
	animation-name: fadein2;
	animation-delay: 0.7s;
}
.section1  h2 span.d_ct_8{
	top:204px;
	left:4px;
	animation-name: fadein2;
	animation-delay: 0.75s;
}
.section1  h2 span.d_ct_9{
	top:311px;
	left:7px;
	animation-name: fadein2;
	animation-delay: 0.78s;
}
.section1  h2 span.d_ct_10{
	top:406px;
	left:72px;
	animation-name: fadein2;
	animation-delay: 0.8s;
}
.section1  h2 span.d_ct_11{
	top:26px;
	left:111px;
	animation-name: fadein3;
	animation-delay: 1.8s;
}
.section2 .sec_inner{
	position: relative;
	width:100%;
	max-width:910px;
	height: 100vh;
	padding: 50px 0;
	margin: 0 auto;
	display:flex;
	justify-content: center;
	align-items: center;
}
.section2 h2,
.section3 h2,
.section4 h2,
.section5 h2,
.section6 h2{
	font-size:12px;
	line-height: 40px;
	opacity: 0;
	animation:alpha 1s;
	animation-fill-mode:forwards;
	timeline-trigger-name: --t;
	timeline-trigger-source: view();
	timeline-trigger-activation-range: contain 15% contain 100% / entry 100% exit 15%;
	animation-trigger: --t play-forwards play-backwards;
	trigger-scope: --t;
}
.section2 h2{
	position: absolute;
	top: calc(50% - 25px);
	left: 0;
}
.section2 h2 img,
.section3 h2 img,
.section4 h2 img,
.section5 h2 img,
.section6 h2 img{
	display: block;
}
.section2 p{
	width: 45%;
	max-height: 100%;
	overflow-y: auto;
	margin-left: 55%;
	font-size:14px;
	line-height: 30px;
}
.section3 .sec_inner{
	position: relative;
	width:100%;
	max-width:1050px;
	height: 100vh;
	padding: 50px 0;
	margin: 0 auto;
	display:flex;
	justify-content: center;
	align-items: center;
}
.section3 .sec_inner .single{
	width: 100%;
}
.section3 h2{
	display: block;
	width:100%;
	padding: 15px 10px 10px;
}
.section3 .message{
	width: 100%;
	padding: 50px 0;
	display: flex;
	justify-content: space-between;
}
.section3 .message .mes_img{
	padding: 0 25px 0 30px;
}
.section3 .message .mes_txt{
	width:660px;
	padding: 0 35px 0 0;
	font-size:14px;
	line-height: 28px;
}
.section3 .message .mes_txt .txt_name{
	padding: 15px 0 0;
}
.section3 .message .mes_txt .txt_name span{
	font-size:0.87em;
}
.section3 .message .mes_txt .btns{
	padding: 10px 0 0;
	text-align: right;
}
.section3 .message .mes_txt .btns a{
	position: relative;
	display: inline-block;
	padding: 0 60px 0 30px;
	background: #000;
	font-size: 14px;
	font-weight: bold;
	line-height: 46px;
	border-radius:4px 23px 23px 4px;
	color: #FFF;
	text-decoration: none;
	transition: all 0.2s ease-out;
}
.section3 .message .mes_txt .btns a::after {
	content:url("../img/d_ico_arrow.png");
	display: block;
	clear: both;
	position: absolute;
	top:8px;
	right: 8px;
}
.section3 .message .mes_txt .btns a:hover{
	background: #555;
}
.section3 .message h3{
	position: relative;
	padding: 25px 0 20px 30px;
	font-size: 24px;
	line-height: 40px;
}
.section3 .message h3::after {
	content:url("../img/d_txt_quote.svg");
	display: block;clear: both;
	position: absolute;
	top:20px;
	left: 0;
}


.section4 .sec_inner{
	position: relative;
	width: calc(100% - 120px);
	max-width:1050px;
	height: 100vh;
	padding: 50px 0;
	margin: 0 auto;
	display:flex;
	flex-direction: column;
	align-items: center;
}
.section .d_h2{
	width: 100%;
	text-align: right;
}
.section4 h2{
	display: inline-block;
	padding: 10px 10px;
	text-align: left;
}
.section4 .d_ser_boxes{
	width: 100%;
	overflow-x: auto;
	margin: 25px auto 0;
	padding: 30px 30px;
	display: flex;
	justify-content: space-between;
	background: #FFF;
	opacity: 0.8;
	border-radius: 0 50px 0 0;
}
.section4 .d_ser_boxes p{
	font-size:14px;
	line-height: 180%;
	min-height: 150px;
	padding: 0 0 10px 0;
}
.section4 .d_ser_boxes .d_ser1,
.section4 .d_ser_boxes .d_ser2,
.section4 .d_ser_boxes .d_ser3{
	padding: 0 5px;
	width:290px;
}
.section4 .d_ser_boxes h4{
	text-align: center;
	padding: 5px 0 10px;
}
.section4 .d_ser_boxes .d_ser_img{
	width:290px;
	height:120px;
}
.section4 .d_ser_boxes .d_ser1 .d_ser_img{
	background: url("../img/useless_logo.svg") center center no-repeat;
}
.section4 .d_ser_boxes .d_ser2 .d_ser_img{
	background: url("../img/peerless_logo.svg") center center no-repeat;
}
.section4 .d_ser_boxes .d_ser3 .d_ser_img{
	background: url("../img/kitto_logo.svg") center center no-repeat;
}
.section4 .d_ser_boxes .btns{
	padding: 5px 0 0;
	text-align: center;
}
.section4 .d_ser_boxes .btns a{
	position: relative;
	display: inline-block;
	padding: 0 60px 0 30px;
	background: #000;
	font-size: 14px;
	font-weight: bold;
	line-height: 46px;
	border-radius:4px 23px 23px 4px;
	color: #FFF;
	text-decoration: none;
	transition: all 0.2s ease-out;
}
.section4 .d_ser_boxes .btns a.d_cs{
	background: #555;
}
.section4 .d_ser_boxes .btns a::after {
	content:url("../img/d_ico_arrow.png");
	display: block;
	clear: both;
	position: absolute;
	top:8px;
	right: 8px;
}
.section4 .d_ser_boxes .btns a.d_cs::after {
	content:url("");
	display: block;
	clear: both;
	position: absolute;
	top:8px;
	right: 8px;
}
.section4 .d_ser_boxes .btns a:hover{
	background: #555;
}


.section5 .sec_inner{
	position: relative;
	width: calc(100% - 120px);
	max-width:1050px;
	height: 100vh;
	padding: 50px 0;
	margin: 0 auto;
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.section5 .d_h2{
	width: 100%;
	text-align: right;
}
.section5 dl{
	width:560px;
	font-size:14px;
	line-height: 24px;
}
.section5 dt{
	float:left;
	padding: 18px 0 18px;
	font-weight: bold;
}
.section5 dd{
	padding: 18px 0 18px 185px;
	background: url("../img/d_line.png") bottom left no-repeat;
}
.section5 dd img{
	width:170px;
	display: block;
	padding: 0 0 8px 0;
}
.section5 dd a{
	display: inline-block;
	padding: 11px 25px 11px 0;
	background: url("../img/d_href_out.png") center right no-repeat;
	background-size: 24px 24px;
	color: #111;
}
.section5 dd a:hover{
	color: #CE0003;
}
.section5 ul{
	position: absolute;
	bottom: calc(50% - 250px);
	left:0;
	list-style: none;
}
.section5 ul a{
	line-height: 30px;
	text-decoration: none;
	color: #111;
}
.section5 ul a:hover{
	color: #CE0003;
}


.section6 .upper{
	background: url("../img/d_bg_contact.png");
	background-size: cover;
	padding: 140px 100px;
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.section6 .upper p{
	padding: 10px 0;
	font-size: 15px;
	line-height: 2.5em;
}
.section6 .upper p.d_safe{
	padding: 35px 0 20px;
	font-size: 12px;
	line-height: 2.8em;
}
.section6 .upper .btns{
	padding: 5px 0;
	text-align: center;
}
.section6 .upper .btns a{
	position: relative;
	display: inline-block;
	padding: 0 60px 0 30px;
	background: #000;
	font-size: 14px;
	font-weight: bold;
	line-height: 46px;
	border-radius:4px 23px 23px 4px;
	color: #FFF;
	text-decoration: none;
	transition: all 0.2s ease-out;
}
.section6 .upper .btns a::after {
	content:url("../img/d_ico_arrow.png");
	display: block;
	clear: both;
	position: absolute;
	top:8px;
	right: 8px;
}
.section6 .upper .btns a:hover{
	background: #555;
}
.section6 .footer{
	padding: 80px 100px;
}
.section6 .footer .d_foot_links{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.section6 .footer .d_foot_links a{
	color:#EEE;
	text-decoration: none;
}
.section6 .footer .d_foot_links a:hover{
	color: #CE0003;
}
.d_copy{
	padding: 60px 0 10px;
	font-size:11px;
	color:#CCC;
	text-align: center;
}

@keyframes fadein0 {
	from {
		opacity: 0.1;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fadein1 {
	from {
		opacity: 0.1;
		transform: matrix(0.1, 0.1, 0, 0.1, 40, -80) rotate(30deg);
		/*scaleX, skewY, skewX, scaleY, translateX, translateY*/
	}
	to {
		opacity: 1;
		transform: matrix(1.0, 0, 0, 1.0, 0, 0) rotate(0deg);
	}
}
@keyframes fadein2 {
	from {
		opacity: 0.1;
		transform: matrix(0.1, 0, 0.1, 0.1, -40, 70) rotate(-30deg);
	}
	to {
		opacity: 1;
		transform: matrix(1.0, 0, 0, 1.0, 0, 0) rotate(0deg);
	}
}
@keyframes fadein3 {
	from {
		opacity: 0.1;
	}
	to {
		opacity: 0.9;
	}
}
@keyframes fadein4 {
	0% {
		opacity: 0.2;
		transform: translateY(-100%);
	}
	50% {
		opacity: 0.85;
		transform: translateY(0);
	}
	60% {
		opacity: 0.85;
		transform: translateY(0);
	}
	100% {
		opacity: 0.2;
		transform: translateY(100%);
	}
}
@keyframes alpha {
	0% {
		opacity:0;
		transform: scaleY(0.0);
	}
	100% {
		opacity:1;
		transform: scaleY(1.0);
	}
}


/**/
.contents_box{
	padding: 60px;
	line-height: 1.8;
}
.h2_form{
	padding: 50px 0 15px;
	text-align: center;
	font-size: 60px;
    font-family:'Roboto' ;
	font-weight: bold;
}
.h3_form{
	padding: 0 0 40px;
	text-align: center;
	font-size:20px;
	font-weight: bold;
	color: #555;
}
.contents_box li{
	list-style: none;
}
.mb_30 {
	margin-bottom: 30px !important;
}
.footer_in{
	text-align: center;
	padding: 60px;
	background: #333;
}
.list_link li{
	display: inline-block;
}
.list_link li a{
	color:#FFF;
	text-decoration: none;
}

@media (max-width: 715px){
	#d_global .d_menu{
		display:none;
	}	
	.section2 h2{
		position: relative;
		top: 0;
		left: 0;
		text-align: center;
	}
	
	.section2 p{
		width: calc(100% - 35px);
		max-height: 100%;
		overflow-y: auto;
		margin-left: auto;
		margin:10px auto 0;
		padding: 0 10px 0 0;
		font-size:13px;
		line-height: 25px;
		text-align: center;
	}
	.section2 .sec_inner{
		position: relative;
		width:100%;
		max-width:910px;
		height: 100vh;
		padding: 50px 0;
		margin: 0 auto;
		display:flex;
		flex-direction:column;
		justify-content:flex-start;
		align-items: center;
	}
	.section2 h2 img,
	.section3 h2 img,
	.section4 h2 img,
	.section5 h2 img,
	.section6 h2 img{
		height:40px;
		padding-bottom: 15px
	}
	
	.section3 .sec_inner{
		position: relative;
		width:100%;
		max-width:1050px;
		height: 100vh;
		padding: 50px 0;
		margin: 0 auto;
		display:flex;
		justify-content: center;
		align-items: center;
	}
	.section3 h2{
		display: block;
		width:100%;
		padding: 35px 10px 0px 30px;
	}
	.section3 .message{
		width: 100%;
		padding: 10px 0 50px 0;
		display: flex;
		justify-content: space-between;
	}
	.section3 .message h3{
		font-size:18px;
		line-height: 34px;
	}
	.section3 .message .mes_img{
		display: none;
	}
	.section3 .message .mes_txt{
		width: calc(100% - 60px);
		padding: 0 0 0 30px;
		font-size:13px;
		line-height: 28px;
	}
	.section4 .sec_inner{
		position: relative;
		width: calc(100% - 70px);
		max-width:1100px;
		height: 100vh;
		padding: 50px 0;
		margin: 0 auto;
		display:flex;
		flex-direction: column;
		align-items: center;
		font-size: 13px;
	}
	.section4 .d_ser_boxes .d_ser1,
	.section4 .d_ser_boxes .d_ser2,
	.section4 .d_ser_boxes .d_ser3{
		padding: 0 15px 0 0;
		width:290px;
	}
	.section4 .d_ser_boxes h4{
		text-align: center;
		padding: 5px 0 10px;
	}
	.section4 .d_ser_boxes .d_ser_img{
		width:290px;
		height:120px;
	}
	.section5 .sec_inner{
		position: relative;
		width: calc(100% - 80px);
		max-width:1050px;
		height: 100vh;
		padding: 50px 0;
		margin: 0 auto;
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.section5 h2{
		text-align: center;
	}
	.section5 .d_h2{
		width: 100%;
		text-align: center;
	}
	.section5 dl{
		width:100%;
		font-size:13px;
		line-height: 24px;
		line-height: 1.5;
	}
	.section5 dt{
		float:left;
		padding: 18px 0 18px;
		font-weight: bold;
	}
	.section5 dd{
		padding: 18px 0 18px 170px;
		background: url("../img/d_line.png") bottom left no-repeat;
	}
	.section5 dd img{
		width:170px;
		display: none;
		padding: 0 0 8px 0;
	}
	.section5 dd a{
		display: inline-block;
		padding: 11px 25px 11px 0;
		background: url("../img/d_href_out.png") center right no-repeat;
		background-size: 24px 24px;
		color: #111;
	}
	.section5 dd a:hover{
		color: #CE0003;
	}
	.section5 ul{
		position: absolute;
		bottom:0;
		right:0;
		list-style: none;
		text-align: right;
		font-size: 13px;
		line-height: 1.6;
	}
	.section5 ul li{
		display: inline-block;
		padding: 0 0 0 15px;
	}
	.section5 ul a{
		line-height: 30px;
		text-decoration: none;
		color: #111;
	}
	.section5 ul a:hover{
		color: #CE0003;
	}


	.section6 .upper{
		background: url("../img/d_bg_contact.png");
		background-size: cover;
		padding: 80px 60px 30px 40px;
		display:flex;
		flex-direction: column;
		justify-content: space-between;
		align-items:flex-start;
	}
	.section6 .upper p{
		padding: 10px 0;
		font-size: 13px;
		line-height: 2.0em;
	}
	.section6 .upper p.d_safe{
		padding: 25px 0 20px;
		font-size: 12px;
		line-height: 1.8em;
	}
	.section6 .upper .btns{
		padding: 5px 0;
		text-align: left;
	}
	.section6 .upper .btns a{
		position: relative;
		display: inline-block;
		padding: 0 60px 0 30px;
		background: #000;
		font-size: 14px;
		font-weight: bold;
		line-height: 46px;
		border-radius:4px 23px 23px 4px;
		color: #FFF;
		text-decoration: none;
		transition: all 0.2s ease-out;
	}
	.section6 .footer{
		padding: 30px 20px;
		font-size:13px;
	}
	.section6 .footer .d_foot_links{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}
	.d_copy{
		padding: 20px 0 10px;
		font-size:11px;
		color:#CCC;
		text-align: center;
	}
	.pagination {
	  position: fixed;
	  top: 50%;
	  right: 14px;
	  transform: translateY(-50%);
	}
}
