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 {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

html{ font-size: 62.5%;}

body{
	background: #333;
	color: #000;
	font-family: "Helvetica Neue",
	Arial,
	"Hiragino Kaku Gothic ProN",
	"Hiragino Sans",
	Meiryo,
	sans-serif;
}

#container{
	background: #fff;
	margin: 0 auto;

}

.common-wrapper{
	margin: 0 auto;
	max-width: 1100px;
	padding: 50px 0;
	width: 90%;
}

h2.common{
	border-bottom: 4px solid #ffc32c;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1em;
	text-align: center;
	margin-bottom: 35px;
	padding-bottom: 10px;
}

h2.common .small{
	font-size: 75%;
}

h3.common{
	background: #000;
	color: #ffc32c;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1em;
	margin: 0 0 20px;
	padding: 10px 0;
	text-align: center;
}

h2.common + p,
h3.common + p{
	font-size: 1.6rem;
	line-height: 1.25em;
}

h2.common + p a,
h3.common + p a {
	color: #06f;
}

.fadein {
	opacity: 0;
	transform: translate(0,30px);
	transition: all .8s;
}

.scrollin{
	opacity: 1 !important;
	transform: translate(0, 0) !important;
}

.common-cta a{
	background: #ff500d;
	border-radius: 5px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.25);
	color: #fff;
	display: block;
	font-weight: bold;
	margin: 0 auto;
	max-width: 800px;
	padding: 5px 0 3px;
	text-decoration: none;
	transition: all .4s;
}

.common-cta a:hover{
	transform:scale(1.05,1.05);
}

.common-cta a .sub{
	border-bottom: solid #fff 2px;
	font-size: clamp(1rem, 3.5vw, 2rem);
	margin: 0 auto;
	text-align: center;
	width: 65%;
}

.common-cta a .main{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	gap: 10px;
}

.common-cta a .main:before{
	background: url(img/header-cta-icon.png);
	background-size: auto 24px;
	content: "";
	display: inline-block;
	height: 24px;
	margin-right: 20px;
	width: 29px;
}

@media screen and (min-width:768px) {
.common-cta a{
	border-radius: 10px;
	padding: 10px 0 6px;
}

.common-cta a .main{
	font-size: 34px;
}
}

@media screen and (min-width:1025px) {
.common-wrapper{
	padding: 80px 0;
}

h2.common{
	border-bottom: 6px solid #ffc32c;
	font-size: 6rem;
	margin: 0 auto 50px;
	width: 50%;
}

h3.common{
	font-size: 4rem;
	margin: 0 0 40px;
	padding: 15px 0;
}

h2.common + p,
h3.common + p{
	font-size: 2rem;
	text-align: center;
}

h2.common + p span,
h3.common + p span{
	display: block;
}
}

/*ーーーーーーーーーーーーーーーーーーーー
ヘッダー
ーーーーーーーーーーーーーーーーーーーー*/
#top header{
	background-image: url(img/header-bg.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	height: 100vh;
	height: 100svh;
	position: relative;
}

#top header .wrapper{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100vh;
	height: 100svh;
}

header .logo{
	margin: 20px 0 20px 5%;
	width: 120px;
}

header h1{
	margin: 0 auto 10px;
	width: 90%;
}

header h1 p{
	background: #ffc32c;
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	margin-bottom: 1rem;
	padding: 2px;
	text-align: center;
	width: 80%;
}

header h1 img{
	display: block;
	width: 80%;
}

header h1 .header-rent{
	margin: 0 0 10px;
}

header h1 .pc{
	display: none;
}

header .bnr{
	display: block;
	margin: 0 auto 15px;
	width: 90%;
}

header .header-img{
	display: block;
	margin: 0 auto;
	position: relative;
	width: 75%;
}

header .header-img img{
	display: block;
	width: 100%;
}

header .header-img p{
	bottom: -5px;
	font-size: 10px;
	position: absolute;
	right: 0;
}

header .cta{
	margin: 30px auto 0;
	padding-bottom: 30px;
	text-align: center;
	width: 90%;
}

header .cta a{
	background: #ff500d;
	border-radius: 5px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.25);
	color: #fff;
	display: block;
	font-weight: bold;
	padding: 5px 0 3px;
	text-decoration: none;
	transition: all .4s;
}

header .cta a:not(:last-of-type){
	margin-bottom: 15px;
}

header .cta a .sub{
	border-bottom: solid #fff 2px;
	font-size: clamp(1rem, 3.5vw, 2rem);
	margin: 0 auto;
	width: 65%;
}

header .cta a .main{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	gap: 10px;
}

header .cta a .main:before{
	background: url(img/header-cta-icon.png);
	background-size: auto 24px;
	content: "";
	display: inline-block;
	height: 24px;
	margin-right: 20px;
	width: 29px;
}

header .cta a.download{
	background: #161a1b;
}

header .cta a.download .main:before{
	background-position: 29px 0;
}

header .cta a:hover{
	transform:scale(1.05,1.05);
}

@media screen and (min-width:768px) {
header .cta{
	display: flex;
	justify-content: space-between;
}

header .cta a{
	border-radius: 10px;
	padding: 10px 0 6px;
	width: 48%;
}

header .cta a:not(:last-of-type){
	margin-bottom: 0;
}

header .cta a .main{
	font-size: 34px;
}
}

@media screen and (min-width:1025px) {
#top header{
	background-image: url(img/header-bg-pc.png);
}

#top header .wrapper{
	height: 100vh;
	height: 100svh;
	margin: 0 auto;
	max-width: 2000px;
	width: 90%;
	position: relative;
}

header .logo{
	margin: 40px 0;
}

header .bnr{
	position: absolute;
	right: 25px;
	top: 120px;
	width: 35%;
}

header h1{
	margin: 0 0 20px;
	width: 50%;
}

header h1 p{
	font-size: 1.6rem;
	padding: 4px;
	width: 100%;
}

header h1 img{
	width: 100%;
}

header h1 .header-rent{
	margin: 0 0 20px;
}

header h1 .sp{
	display: none;
}

header h1 .pc{
	display: block;
	width: 90%;
}

header .header-img{
	bottom: 30px;
	position: absolute;
	right: 0;
	width: 50%;
}

header .header-img p{
	bottom: -5px;
	font-size: 10px;
	position: absolute;
	right: 0;
}

header .cta{
	display: block;
	bottom: 40px;
	left: 0;
	position: absolute;
	width: 40%;
}

header .cta a{
	width: 100%;
}

header .cta a:not(:last-of-type){
	margin-bottom: 15px;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
ラクソクとは？
ーーーーーーーーーーーーーーーーーーーー*/
#about{
	background-color: #ffc32c;
	background-image: url(img/about-bg.png);
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

#about h2{
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: -2px;
	margin: 0 0 20px;
	text-align: center;
}

#about p{
	font-size: clamp(1rem, 4vw, 2rem);
	text-align: center;
}

#about .common-wrapper{
	padding: 60px 0;
}

#about img{
	display: block;
	margin: 15px auto;
	max-width: 700px;
	width: 100%;
}


@media screen and (min-width:1025px) {
#about h2{
	font-size: 6rem;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
レンタルで手軽に点群生成
ーーーーーーーーーーーーーーーーーーーー*/
#overview img{
	display: block;
	margin: 0 auto;
	max-width: 600px;
	width: 100%;
}


/*ーーーーーーーーーーーーーーーーーーーー
オールインワンレンタル
ーーーーーーーーーーーーーーーーーーーー*/
#allinone{
	background: #ffe12c;
}

#allinone .icon{
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 20px 0 0;
	width: 100%;
}

#allinone .icon li{
	width: 23%;
}

#allinone .icon li div{
	aspect-ratio: 1 / 1;
	/*background-color: #fff;*/
	border: solid #000 2px;
	background-image: url(img/allinone-icon.png);
	background-size: auto 100%;
	border-radius: 6px;
	margin: 0 0 10px;
	width: 100%;
}

#allinone .icon li:nth-of-type(2) div{
	background-position: 100% 0;
}

#allinone .icon li:nth-of-type(3) div{
	background-position: 300% 0;
}

#allinone .icon li:nth-of-type(4) div{
	background-position: 200% 0;
}

#allinone .icon li p{
	font-size: 1.2rem;
	line-height: 1.2em;
	text-align: center;
	white-space: nowrap;
}

@media screen and (min-width:700px) {
#allinone .icon{
	margin: 20px auto 0;
	width: 70%;
}

#allinone .icon li p br{
	display: none;
}
}

@media screen and (min-width:1000px) {
#allinone .icon li{
	width: 20%;
}

#allinone .icon li p{
	font-size: 1.4rem;
}

#allinone .icon li p br{
	display: none;
}
}

#allinone .second {
	background-color: #ffc32c;
	background-image: url(img/about-bg.png);
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	position: relative;
}

#allinone .second .common-wrapper{
	padding: 20px 0 0;
}

#allinone .second .pocket2pro{
	height: auto;
	margin: 0 0 15px;
	width: 20%;
}

#allinone .second .common.pc{
	display: none;
}

#allinone .second .h3wrapper{
	left: 28%;
	position: absolute;
	top: 60px;
	width: 67%;
}

#allinone .second h3{
	font-size: 2.6rem;
	margin: 0 0 10px;
	padding-left: 15px;
	text-align: left;
}

#allinone .second h3 span{
	letter-spacing: -2px;
}

#allinone .second h3 + p{
	font-size: 1rem;
}

#allinone .second .toptxt{
	font-size: 1.4rem;
	line-height: 1.2em;
	margin: 0 0 20px;
}

#allinone .second ul{
	list-style: none;
}

#allinone .second li{
	border: solid #000 2px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	margin: 0 0 15px;
}

#allinone .second li .num{
	background: #000;
	border-radius: 30px;
	color: #ffc32c;
	font-size: 2.6rem;
	font-weight: bold;
	height: 30px;
	line-height: 30px;
	margin-left:10px;
	text-align: center;
	width: 30px;
}

#allinone .second li .txt{
	padding: 5px 10px;
	width: calc(100% - 60px);
}

#allinone .second li .txt h4{
	font-size: 2rem;
	font-weight: bold;
}

#allinone .second li .txt h4 span{
	font-size: 1rem;
}

#allinone .second li .txt p{
	font-size: 1.4rem;
	line-height: 1.2em;
}

#allinone .second li .txt p span{
	color: #e00;
	font-weight: bold;
}

#allinone .second .note{
	margin: 0 0 30px;
}

#allinone .table-wrapper{
	background-image: url(img/header-bg.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding-bottom: 50px;
}

#allinone table{
	border-collapse: collapse;
	margin: 0 auto 30px;
	max-width: 1100px;
	width: 90%;
}

#allinone table th,
#allinone table td{
	font-size: 1.3rem;
	padding: 3px;
}

#allinone table th{
	background: #fb8d00;
	border: solid #000 1px;
	color: #fff;
	vertical-align: middle;
	white-space: nowrap;
}

#allinone table td{
	background: #fff;
	border: solid #000 1px;
}

#allinone table td span{
	font-size: 75%;
}

#allinone #function{
	margin: 0 0 30px;
}

#allinone #function h3{
	padding-left: 0;
	text-align: center;
}

#allinone #function ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

#allinone #function li{
	background: #fff;
	border: none;
	border-radius: 80px;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
	display: flex;
	height: 80px;
	margin: 0;
	padding: 0 10px;
	width: 100%;
}

#allinone #function li:not(:last-of-type){
	margin: 0 0 10px;
}

#allinone #function li .icon-wrapper{
	aspect-ratio: 1 / 1;
	background: #ffdc23;
	background-image: url(../img/icon-function.png);
	background-size: auto 70px;
	border-radius: 100%;
	height: 70px;
}

#allinone #function li:nth-of-type(2) .icon-wrapper{
	background-position: -70px 0;
}

#allinone #function li:nth-of-type(3) .icon-wrapper{
	background-position: -140px 0;
}

#allinone #function li:nth-of-type(4) .icon-wrapper{
	background-position: -210px 0;
}

#allinone #function li:nth-of-type(5) .icon-wrapper{
	background-position: -280px 0;
}

#allinone #function li p{
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	width: 100%;
}

#allinone .common-cta{
	margin: 0 auto;
	width: 90%;
}

@media screen and (min-width:700px) {
#allinone #function h3 br{
	display: none;
}

#allinone table th br.sp{
	display: none;
}
}

@media screen and (min-width:800px) {
#allinone #function ul{
	margin: 0 0 60px;
}

#allinone #function li{
	align-items: center;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	height: auto;
	justify-content: center;
	width: 18%;
}

#allinone #function li:not(:last-of-type){
	margin: 0;
}

#allinone #function li .icon-wrapper{
	margin: 0 auto;
}

#allinone #function li p{
	font-size: 1.4rem;
	padding-top: 10px;
}
}

@media screen and (min-width:1024px) {
#allinone .second .common-wrapper{
	padding: 80px 0 0;
}

#allinone .second .common.pc{
	display: block;
	position: relative;
}

#allinone .second .common.pc:after{
	content: "※製品デザインは予告なく変更になる場合がございます。";
	color: #000;
	display: block;
	font-size: 1rem;
	font-weight: normal;
	margin: 10px 0 0;
	position: absolute;
}

#allinone .second h3{
	font-size: 4rem;
	margin: 0 0 40px;
	padding: 15px 0;
	text-align: center;
}

#allinone .second .h3wrapper{
	display: none;
}

#allinone .second .flexbox{
	align-items: flex-start;
	display: flex;
}

#allinone .second .pocket2pro{
	margin: 0 0 30px;
	margin-right: 60px;
}

#allinone .second .toptxt{
	font-size: 1.6rem;
	margin: 0 0 40px;
}

#allinone .second li{
	border: solid #000 3px;
	border-radius: 10px;
	margin: 0 0 15px;
	padding: 20px;
}

#allinone .second li .num{
	border-radius: 30px;
	color: #ffc32c;
	font-size: 2.6rem;
	font-weight: bold;
	height: 30px;
	line-height: 30px;
	margin-left:10px;
	text-align: center;
	width: 30px;
}

#allinone .second li .txt{
	padding: 0 0 0 20px;
	width: 100%;
}

#allinone .second li .txt h4{
	font-size: 3rem;
}

#allinone .second li .txt h4 span{
	font-size: 1rem;
}

#allinone .second li .txt p{
	font-size: 1.6rem;
}

#allinone .table-wrapper{
	background-image: none;
	padding-bottom: 80px;
}

#allinone table th,
#allinone table td{
	font-size: 1.4rem;
	padding: 5px;
}

#allinone #function li p{
	font-size: 2rem;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
専門知識いらずのワークフロー
ーーーーーーーーーーーーーーーーーーーー*/
#workflow{
	background: #f4f4f4;
}

#workflow ul{
	display: flex;
	flex-direction: column;
	list-style: none;
	margin-top: 30px;
	width: 100%;
}

#workflow ul li{
	background: #ffab40;
	border-radius: 100px;
	display: flex;
	height: 100px;
	padding: 10px;
	position: relative;
	width: 100%;
}

#workflow ul li:nth-of-type(2){
	margin: 30px 0;
}

#workflow ul li:not(:last-of-type):after{
	border: solid transparent 10px;
	border-bottom: none;
	border-top: solid #ffc32c 12px;
	bottom: -21px;
	content: "";
	display: block;
	height: 0;
	left: calc(50% - 10px);
	position: absolute;
	width: 0;
}

#workflow ul li .icon{
	background: #fff;
	background-image: url(img/workflow-icon.png);
	background-size: auto 80px;
	border-radius: 100%;
	height: 80px;
	overflow: hidden;
	width: 80px;
}

#workflow ul li:nth-of-type(2) .icon{
	background-position: 80px 0;
}

#workflow ul li:nth-of-type(3) .icon{
	background-position: 160px 0;
}

#workflow ul li .txt{
	padding: 0 10px;
	width: calc(100% - 80px);
}

#workflow ul li .txt h4{
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
}

#workflow ul li:nth-of-type(2) .txt h4 span{
	letter-spacing: -2px;
}

#workflow ul li .txt h4 span{
	letter-spacing: -1px;
}

#workflow ul li .txt p{
	font-size: 1.4rem;
	line-height: 1.2em;
}

@media screen and (min-width:768px) {
#workflow ul{
	flex-direction: row;
	justify-content: space-between;
}

#workflow ul li{
	align-items: center;
	border-radius: 10px;
	flex-direction: column;
	height: auto;
	padding: 20px 15px;
	position: relative;
	width:  31%;
}

#workflow ul li:nth-of-type(2){
	margin: 0;
}

#workflow ul li:not(:last-of-type):after{
	border: solid transparent 10px;
	border-right: none;
	border-left: solid #ffc32c 12px;
	bottom: 0;
	content: "";
	display: block;
	left: initial;
	right: -24px;
	position: absolute;
	top: calc(50% - 10px);
}

#workflow ul li .icon{
	margin: 0 0 15px;
}

#workflow ul li .txt{
	padding: 0;
	text-align: center;
	width: 100%;
}

#workflow ul li:nth-of-type(2) .txt h4 span{
	font-size: 1.8rem;
}

#workflow ul li .txt p span{
	display: block;
}

#workflow ul li:nth-of-type(2) .txt h4 span{

}
}

@media screen and (min-width:870px) {
#workflow ul li:nth-of-type(2) .txt h4 span{
	font-size: 2.2rem;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
主な用途例
ーーーーーーーーーーーーーーーーーーーー*/
#example .wrapper{
	margin: 0 0 40px;
}

#example .wrapper img{
	display: block;
	margin: 0 0 10px;
	width: 100%;
}

#example .wrapper h4{
	font-size: 2rem;
	font-weight: bold;
	margin: 0 0 10px;
	text-align: center;
}

#example .wrapper ul{
	list-style: none;
}

#example .wrapper li{
	border: solid #000 1px;
	border-radius: 26px;
	display: block;
	font-size: 1.4rem;
	height: 26px;
	line-height: 26px;
	margin: 0 auto 6px;
	text-align: center;
	width: 80%;
}

#example .wrapper li:empty{
	display: none;
}

#example .note{
	text-align: right;
}

@media screen and (min-width:600px) {
#example .flexbox{
	display: flex;
	justify-content: space-between;
}

#example .flexbox > div{
	width: 48%;
}

#example .flexbox .wrapper{
	display: flex;
	flex-direction: column;
}

#example .flexbox .wrapper div{
	width: 100%;
}

#example .wrapper ul{
	width: 100%;
}

#example .wrapper li:empty{
	border: solid #fff 1px;
	display: block;
}
}

@media screen and (min-width:900px) {
#example .wrapper h4{
	font-size: 1.6rem;
}

#example .flexbox .wrapper{
	display: flex;
	flex-direction: row;
}

#example .flexbox .wrapper div{
	width: 45%;
}

#example .wrapper ul{
	width: 55%;
}

#example .wrapper li{
	margin: 0 auto 6px 10%;
	width: 90%;
}
}

@media screen and (min-width:1000px) {
#example .wrapper h4{
	font-size: 2rem;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
取得データ例
ーーーーーーーーーーーーーーーーーーーー*/
#data{
	background: #191919;
	color: #fff;
}

#data .wrapper{
	margin: 0 0 40px;
}

#data .wrapper:last-of-type{
	margin: 0;
}

#data .wrapper img{
	display: block;
	margin: 0 0 15px;
	width: 100%;
}

#data .wrapper p{
	font-size: 1.4rem;
}

@media screen and (min-width:640px) {
#data .flexbox{
	display: flex;
	justify-content: space-between;
}

#data .wrapper{
	margin: 0 0 40px;
	width: 30%;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
レンタルプラン
ーーーーーーーーーーーーーーーーーーーー*/
#rental-plan .wrapper{
	border: solid #ff500d 2px;
	border-radius: 6px;
	font-size: 1.3rem;
	margin: 20px 0 0;
	overflow: hidden;
	padding: 0 0 20px;
}

#rental-plan .wrapper h3{
	background: #ff500d;
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	margin: 0 0 20px;
	padding: 5px 0;
	text-align: center;
}

#rental-plan .wrapper:nth-of-type(2){
	border: solid #ff500d 2px;
}

#rental-plan .wrapper:nth-of-type(2) h3{
	background: #ff500d;
}

#rental-plan .wrapper:nth-of-type(3){
	border: solid #ff500d 2px;
}

#rental-plan .wrapper:nth-of-type(3) h3{
	background: #ff500d;
}

#rental-plan .wrapper h3 span{
	font-size: 65%;
}

#rental-plan .wrapper .price{
	font-size: 3rem;
	font-weight: bold;
	margin: 0 0 10px;
	text-align: center;
}

#rental-plan .wrapper .price span{
	font-size: 50%;
}

#rental-plan .wrapper .flexbox{
	display: flex;
	justify-content: center
}

#rental-plan .wrapper ul{
	padding-left: 1em;
}

#rental-plan .wrapper h4{
	border: solid #ff500d 2px;
	border-radius: 30px;
	color: #ff500d;
	font-size: 1.8rem;
	font-weight: bold;
	height: 30px;
	line-height: 26px;
	margin: 20px auto 10px;
	text-align: center;
	width: 90%;
}

#rental-plan .wrapper .txt{
	text-align: center;
}

@media screen and (min-width:840px) {
#rental-plan .flex-pc{
	display: flex;
	justify-content: space-between;
}

#rental-plan .wrapper{
	width: 30%;
}
}

@media screen and (min-width:1024px) {
#rental-plan .wrapper{
	width: 24%;
}

#rental-plan .wrapper:nth-of-type(2){
	width: 48%;
}

#rental-plan .wrapper:nth-of-type(2) .tablebox{
	display: table;
	margin: 0 auto;
	width: 95%;
}

#rental-plan .wrapper:nth-of-type(2) .tablebox .row{
	display: table-row;
}

#rental-plan .wrapper:nth-of-type(2) .tablebox .cell{
	display: table-cell;
	width: 50%;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
問い合わせフォーム
ーーーーーーーーーーーーーーーーーーーー*/
#contact .bnr{
	display: block;
	margin: 0 auto;
	max-width: 800px;
	width: 100%;
}

#contact .bnr + p{
	background: #db1f1d;
	color: #fff;
	font-size: 1.4rem;
	margin: 0 auto;
	max-width: 800px;
	padding: 5px 0;
	text-align: center;
}

@media screen and (min-width:840px) {
#contact h2 + p{
	font-size: 1.4rem;
}

#contact .bnr,
#contact .bnr + p{
	width: 90%;
}
}

@media screen and (min-width:900px) {
#contact h2 + p{
	background: none;
}

#contact .form-wrapper{
	background: #f6f6f6;
	padding: 20px 0;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
フッター
ーーーーーーーーーーーーーーーーーーーー*/
footer{
	background: #1a1a1a;
	color: #d2d2d2;
}

footer .logo{
	height: 30px;
	width: 200px;
	margin: 0 auto 10px;
	mask: no-repeat center/70%;
	-webkit-mask: no-repeat center/70%;
	background-color: #d2d2d2;
	mask-image: url(img/logo.png);
	-webkit-mask-image: url(img/logo.png);
}

footer .link{
	font-size: 1.2rem;
	margin: 0 0 20px;
	text-align: center;
}

footer a{
	color: #d2d2d2;
}

footer .trademark{
	margin: 0 0 1em;
}

footer .address{
	margin: 0 0 1em;
}

footer .copyrights{
	text-align: center;
}

@media screen and (min-width:500px) {
footer .trademark{
	text-align: center;
}

footer .address{
	text-align: center;
}
}

@media screen and (min-width:840px) {
footer .common-wrapper{
	height: 200px;
	position: relative;
}

footer .logo{
	left: -30px;
	position: absolute;
	top: 30px;
}

footer .link{
	font-size: 1.4rem;
	right: 0;
	position: absolute;
	top: 30px;
}

footer a{
	color: #d2d2d2;
}

footer .trademark{
	right: -5px;
	position: absolute;
	top: 60px;
}

footer .address{
	right: -5px;
	position: absolute;
	text-align: right;
	top: 90px;
}

footer .copyrights{
	font-size: 1.2rem;
	left: 0;
	position: absolute;
	top: 80px;
}
}


/*ーーーーーーーーーーーーーーーーーーーー
サンクスページ/ダウンロードページ
ーーーーーーーーーーーーーーーーーーーー*/
#thanks .container,
#download .container{
	background-color: #fff;
	background-image: url(img/header-bg-pc.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto;
	min-height: calc(100svh - 200px);
	border: solid black 1px;
}

#thanks header,
#download header{
	background: rgba(255,255,255,0.8);
	margin-bottom: 30px;
}

#thanks header .wrapper,
#download header .wrapper{
	margin: 0 auto;
	max-width: 1100px;
	position: relative;
	width: 90%;
}

#thanks header .logo,
#download header .logo{
	margin: 15px 0;
	width: 180px;
}

#thanks header .mail,
#download header .mail{
	display: block;
	position: absolute;
	right: 60px;
	top: 18px;
	transition: all .4s;
}

#thanks header .mail:hover,
#download header .mail:hover{
	opacity: 0.75;
}

#thanks header .mail img,
#download header .mail img{
	height: 24px;
}

#thanks #thx{
	background: rgba(255,255,255,0.8);
	border: solid #fff 1px;
	margin: 0 auto 30px;
	max-width: 500px;
	padding: 20px;
	width: 90%;
}

#thanks #thx h2{
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 1px;
	margin: 20px;
	text-align: center;
}

#thanks #thx p{
	font-size: 1.6rem;
	margin-bottom: 1em;
}

#thanks #thx p a{
	color: #06f;
}

#thanks #thx .back{
	background: #ff500d;
	border-radius: 5px;
	color: #fff;
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 10px 0;
	text-align: center;
	text-decoration: none;
	transition: all .4s;
}

#thanks #thx .back:hover{
	opacity: 0.75;
}

#thanks .hamburger,
#download .hamburger{
	display: block;
	position: absolute;
	top: 20px;
	right: 0;
	z-index: 100;
	width: 26px;
	height: 26px;
	border: none;
	background: transparent;
	cursor: pointer;
}

.hamburger:hover{
	opacity: 0.75;
}

.hamburger-line {
	position: absolute;
	left: 0;
	width: 26px;
	height: 2px;
	background-color: #333;
	transition: all .4s;
}

.hamburger-line:nth-of-type(1) {
	top: 0px;
}
.hamburger-line:nth-of-type(2) {
	top: 9px;
}
.hamburger-line:nth-of-type(3) {
	top: 18px;
}

/* メニューオープン時 */
.hamburger.active .hamburger-line:nth-of-type(1) {
	transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger-line:nth-of-type(2) {
	opacity: 0;
}
.hamburger.active .hamburger-line:nth-of-type(3) {
	transform: translateY(-9px) rotate(45deg);
}

.nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 300px;
	height: 100vh;
	background-color: rgba(2255,255,255,0.9);
	box-shadow: 2px 0 4px rgba(0,0,0,.1);
	transform: translateX(-100%);
	transition: transform .4s;
	z-index: 90;
}

.nav.active {
	transform: translateX(0);
}

.nav-list {
	margin: 0;
	padding: 50px 0 0;
	list-style: none;
}

.nav-item {
	padding: 0 20px;
}

.nav-link {
	font-size: 1.4rem;
	display: block;
	padding: 15px 0;
	color: #333;
	text-decoration: none;
	border-bottom: 1px solid #eee;
}

#download h2{
	background: #000;
	color: #ffc32c;
	font-size: 2.6rem;
	font-weight: bold;
	margin: 0 auto 30px;
	max-width: 800px;
	width: 90%;
	padding: 10px;
	text-align: center;
}

#download .lead{
	border: solid #ddd 1px;
	margin: 0 auto 30px;
	max-width: 800px;
	padding: 20px;
	width: 90%;
}

#download .lead p{
	font-size: 1.4rem;
}

#download .form{
	background: rgba(255,255,255,0.8);
	border: solid #fff 1px;
	margin: 0 auto 30px;
	max-width: 1100px;
	padding: 0 20px;
	width: 90%;
}


@media screen and (min-width:768px) {
#thanks footer{
	bottom: 0;
	position: absolute;
	width: 100%;
}
}

@media screen and (min-width:1040px) {
#thanks{
}
}