@charset "utf-8";

.site_name{
	display: inline-block;
    font-size: 1.6em;
    margin-left: 3em;
    line-height: 1em;
    vertical-align: top;
}
.site_name::before{
	content: "";
    background: url(img-mc/icon-movie.png) no-repeat;
    position: absolute;
    width: 1.877em;
    background-size: contain;
    height: 1.877em;
    margin-left: -2.2em;
    margin-top: -0.4em;
}

/*トップ設定---*/
#main {
	background: url(img-mc/main-image.jpg) no-repeat;
	background-size: cover;
	background-position:center;
	height: 44em;
	font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
}
#main .image{
    background: url(img-mc/icon-movie.png) no-repeat;
    position: absolute;
    width: 10em;
    background-size: contain;
    height: 10em;
    top: 20em;
    left: 45%;
}
#movie_pr {
	font-size:1.2em;
}
#movie_pr section {
	padding: 7em 2em 3em;
}
#movie_pr section:nth-of-type(2) .centered {
	position:relative;
}
#movie_pr section:nth-of-type(2){
	background: url(img-mc/pr-image.jpg) no-repeat;
    background-size: cover;
    padding-top: 5em;
    position: relative;
	overflow: hidden;
}
#movie_pr h3{
    padding: 0.5em;
    margin: 0 auto;
}
#movie_pr section:nth-of-type(1)  h3{
	border-bottom: 5px solid #eee;
    width: 39em;	
}
#movie_pr section:nth-of-type(2)  h3{
    width: 42em;
    background: #fff;
    padding: 1em 1.5em 0.5em;
    height: 4.3em;
    border-radius: 3em;
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.35);
}
#movie_pr section:nth-of-type(3)  h3{
	border-bottom: 5px solid #eee;
    width: 33em;	
}
#movie_pr h3 span{
	display:inline-block;
	font-size:1em;
}
#movie_pr section:nth-of-type(1)  h3 span.before,
#movie_pr section:nth-of-type(3)  h3 span.before{
	text-align: right;
   line-height: 1.3em;
}
#movie_pr section:nth-of-type(2)  h3 span.before{
	font-size: 2.7em;
}
#movie_pr section:nth-of-type(1)  h3 span.after,
#movie_pr section:nth-of-type(3)  h3 span.after{
	 font-size: 2.7em;
    margin-left: 1.7em;
}
#movie_pr section:nth-of-type(2)  h3 span.after{
	text-align: left;
   line-height: 1.3em;
	margin-left: 4.5em;
}
#movie_pr h3 .icon_movie{
	background: url(img-mc/icon-movie.png) no-repeat;
	background-size: contain;
    position: absolute;
    width: 3.5em;
    height: 3.5em;
    margin-top: -0.5em;
    margin-left: 0.5em;
}
#movie_pr section:nth-of-type(1) h3 .fontstyle{
	color:#1D82C4;
}
#movie_pr section:nth-of-type(2) h3 .fontstyle{
	color:#DD3638;
}
#movie_pr section:nth-of-type(3) h3 .fontstyle{
	color:#54AF27;
}
#movie_pr h3 .fontstyle::after{
	content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    margin-left: -0.6em;
    margin-top: -0.5em;
}
#movie_pr section:nth-of-type(1) h3 .fontstyle::after{
	background-color:#1D82C4;
}
#movie_pr section:nth-of-type(2) h3 .fontstyle::after{
	background-color:#DD3638;
}
#movie_pr section:nth-of-type(3) h3 .fontstyle::after{
	background-color:#54AF27;
}
#movie_pr section .image{
    width: 32em;
    height: 20em;
    margin: 3em auto;
}
#movie_pr section:nth-of-type(1)  .image{
    background: url(img-mc/pr01.png) no-repeat;
    background-size: contain;
}
#movie_pr section:nth-of-type(2)  .image{
    background: url(img-mc/pr02.png) no-repeat;
    background-size: contain;
}
#movie_pr section:nth-of-type(3)  .image{
    background: url(img-mc/pr03.png) no-repeat;
    background-size: contain;
}
#movie_pr section .ca span{
	display:block;
    position: absolute;
    width: 3.5em;
    height: 3.5em;
}
#movie_pr section .ca span:nth-of-type(1) {
	background: url(img-mc/ca01.png) no-repeat;
    background-size: contain;
	width: 7em;
    height: 13em;
    top: 0em;
    left: -4em;
}
#movie_pr section .ca span:nth-of-type(2) {
	background: url(img-mc/ca02.png) no-repeat;
	background-size: contain;
    width: 10em;
    height: 14em;
	top: -5em;
    right: -6em;
}
#movie_pr section .ca span:nth-of-type(3) {
	background: url(img-mc/ca03.png) no-repeat;
	background-size: contain;
	width: 8em;
    height: 15em;
    bottom: -7em;
    left: -2em;
}
#movie_pr section .ca span:nth-of-type(5) {
	background: url(img-mc/ca04.png) no-repeat;
	background-size: contain;
	width: 7em;
    height: 13em;
    bottom: -6em;
    right: 0em;
}
#movie_pr section .ca span:nth-of-type(4) {
	background: url(img-mc/ca05.png) no-repeat;
	background-size: contain;
	width: 8em;
    height: 9em;
    bottom: -4em;
    right: 3em;
}
#movie_pr section .ca span:nth-of-type(6) {
	background: url(img-mc/ca06.png) no-repeat;
	background-size: contain;
	width: 9em;
    height: 7em;
    bottom: -6em;
    left: 16em;
}
#project {
	background: #D5D4D4;
    padding: 6em 2em;
	position: relative;
}
#project h2{
	font-size: 8em;
    text-align: center;
    font-family: "Hiragino Sans";
}
#project h2 span{
	color:#ED8B22;
}
#project h3{
	color: #504e4e30;
    transform: rotate(90deg);
    font-size: 5em;
    line-height: 1em;
    position: absolute;
    top: 3.5em;
    left: -3.5em;
	z-index:1;
}
#project p{
	text-align: center;
    font-size: 1em;
    line-height: 1.5em;
    padding-top: 2em;
    font-weight: bold;	
}
#project ul{
	background: #fff;
	font-size: 1.2em;
    border-radius: 1em;
    z-index: 2;
    position: relative;
    padding: 0.7em 1em 0.3em;
    width: 47.5em;
    margin: 3em auto;
	box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.35);
}
#project ul li{
	display: inline-block;
    width: 10.5em;
    text-align: center;
    padding-left: 3em;
    position: relative;
	margin-left: 0.5em;
}
#project ul li span:nth-of-type(1){
	display: block;
    font-weight: bold;
    line-height: 1.3em;
    border-bottom: 3px solid #eee;
    margin-top: 0.1em;
}
#project ul li span:nth-of-type(2){
	display: block;
    font-weight: bold;
    line-height: 1.7em;
    font-size: 0.6em;
}
#project ul li::before{
    content: "";
    position: absolute;
    width: 2.5em;
    height: 2.5em;
    top: 0;
    left: 0;
}
#project ul li:nth-of-type(1)::before{
	background: url(img-mc/icon-pro01.png) no-repeat;
    background-size: contain;
}
#project ul li:nth-of-type(2)::before{
	background: url(img-mc/icon-pro02.png) no-repeat;
    background-size: contain;
}
#project ul li:nth-of-type(3)::before{
	background: url(img-mc/icon-pro03.png) no-repeat;
    background-size: contain;
}
#project ul li:nth-of-type(4)::before{
	background: url(img-mc/icon-pro04.png) no-repeat;
    background-size: contain;
}
#project .wrapper{
	display: grid;
    text-align: center;
	font-size:1.2em;
    margin: 1em 4em;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1em;
    row-gap: 2em;
    width: 47.5em;
    margin: 0 auto;
}
#project section{
	background: #fff;
    z-index: 2;
    border-radius: 0.5em;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.35);
    position: relative;
    min-height: 12em;
}
#project section::before{
    content: "";
    position: absolute;
    width: 2.5em;
    height: 2.5em;
	top: 9em;
    left: 0.5em;
}
#project section.pr::before{
	background: url(img-mc/icon-pro01.png) no-repeat;
    background-size: contain;
}
#project section.ch::before{
	background: url(img-mc/icon-pro02.png) no-repeat;
    background-size: contain;
}
#project section.in::before{
	background: url(img-mc/icon-pro03.png) no-repeat;
    background-size: contain;
}
#project section.mn::before{
	background: url(img-mc/icon-pro04.png) no-repeat;
    background-size: contain;
}
#project section .image{
	width: 14em;
    height: 8em;
    margin: 0.6em auto;
}
#project section:nth-of-type(1) .image{
	background: url(img-mc/pro01.jpg) no-repeat;
    background-size: contain;
}
#project section:nth-of-type(2) .image{
	background: url(img-mc/pro02.jpg) no-repeat;
    background-size: contain;
}
#project section:nth-of-type(3) .image{
	background: url(img-mc/pro03.jpg) no-repeat;
    background-size: contain;
}
#project section:nth-of-type(4) .image{
	background: url(img-mc/pro04.jpg) no-repeat;
    background-size: contain;
}
#project section:nth-of-type(5) .image{
	background: url(img-mc/pro05.jpg) no-repeat;
    background-size: contain;
}
#project section:nth-of-type(6) .image{
	background: url(img-mc/pro06.jpg) no-repeat;
    background-size: contain;
}
#project section:nth-of-type(7) .image{
	background: url(img-mc/pro07.jpg) no-repeat;
    background-size: contain;
}
#project section:nth-of-type(8) .image{
	background: url(img-mc/pro08.jpg) no-repeat;
    background-size: contain;
}
#project section h4{
	font-size: 0.9em;
    line-height: 1em;
    text-align: left;
    margin-left: 3.8em;
}

#project section p{
	text-align: left;
    font-size: 0.6em;
    padding: 0;
    margin: 0.5em 1em 1em 6em;
    font-weight: normal;
    line-height: 1.2em;
}

#flow {
	padding: 6em 0 12em;
}
#flow .centered{
	position:relative;
}
#flow h2 {
	font-size: 5em;
    text-align: center;
    margin-top: 1em;
    font-family: "Hiragino Sans";
}
#flow h2 span{
	color:#ED8B22;
	position:relative;
}
#flow h2:before{
	margin: -0.2em 0 0 -1.2em;
    content: "";
    background: url(img-mc/ca08.png) no-repeat;
    position: absolute;
    width: 1em;
    background-size: contain;
    height: 2em;
}
#flow h3{
	font-size: 1.7em;
    padding-top: 1.5em;
    line-height: 0.3em;
    border-bottom: 0.5em solid #FFD4B4;
    margin: 0 auto 2em;
    width: 11em;
    text-align: center;
}

#flow .wrapper {
    display: grid;
    font-size: 1.2em;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1em;
    row-gap: 2em;
    width: 42em;
    margin: 0 auto;
}
#flow section .image{
	width: 8em;
    height: 7em;
    margin: -1em auto 0;
}
#flow section:nth-of-type(1) .image{
    background: url(img-mc/pro01.png) no-repeat;
    background-size: contain;
}
#flow section:nth-of-type(2) .image{
    background: url(img-mc/pro02.png) no-repeat;
    background-size: contain;
}
#flow section:nth-of-type(3) .image{
    background: url(img-mc/pro03.png) no-repeat;
    background-size: contain;
}
#flow section:nth-of-type(4) .image{
    background: url(img-mc/pro04.png) no-repeat;
    background-size: contain;
}
#flow section:nth-of-type(5) .image{
    background: url(img-mc/pro05.png) no-repeat;
    background-size: contain;
}
#flow section:nth-of-type(6) .image{
    background: url(img-mc/pro06.png) no-repeat;
    background-size: contain;
}
#flow section:nth-of-type(7) .image{
    background: url(img-mc/pro07.png) no-repeat;
    background-size: contain;
}
#flow section:nth-of-type(8) .image{
    background: url(img-mc/pro08.png) no-repeat;
    background-size: contain;
}
#flow section:nth-of-type(9) .image{
    background: url(img-mc/pro09.png) no-repeat;
    background-size: contain;
}
#flow section div{
    font-weight: bold;
    font-size: 1.2em;
}
#flow section h4{
    font-size: 1.1em;
}
#flow section p{
	line-height: 1.2em;
    font-size: 0.8em;
}
#flow .centered:after {
	content: "";
    background: url(img-mc/ca09.png) no-repeat;
    background-size: contain;
    width: 7em;
    height: 8em;
    position: absolute;
    bottom: -16em;
    right: 4em;
    z-index: 3;
}

#price {
	background: #000;
    color: #fff;
    padding: 6em 2em 16em;
    position: relative;
	overflow: hidden;
}
#price .centered {
	position:relative;
}
#price h3{
	font-size: 4em;
    text-align: center;
    font-family: "Hiragino Sans";
    padding: 1em 0;
}
#price dl{
	width: 27em;
    margin: 0 0 0 18em;
    font-weight: bold;
}
#price dt{
	display: inline-block;
    width: 14em;
}
#price dd{
	display: inline-block;
}
#price ul{
	width: 33em;
    margin: 3em 0 5em 24em;
    font-size: 0.8em;
    line-height: 1.5em;
}
#price li{
	text-indent: -1.3em;
}
#price p{
	margin-left: 18em;
    font-weight: bold;
}

#price .ca span:nth-of-type(2){
	background: url(img-mc/ca10.png) no-repeat;
    background-size: contain;
	width: 10em;
    height: 13em;
    position: absolute;
    top: 17em;
    left: 2em;
}
#price .ca span:nth-of-type(3){
	background: url(img-mc/ca13.png) no-repeat;
    background-size: contain;
	width: 15em;
    height: 15em;
    position: absolute;
    top: 9em;
    right: 2em;
}
#price .star span{
	background: url(img-mc/star.png) no-repeat;
    background-size: contain;
    position: absolute;
}
#price .star span:nth-of-type(1){
	width: 3em;
    height: 3em;
    top: -5em;
    right: 14em;
}
#price .star span:nth-of-type(2){
    width: 2.5em;
    height: 2.5em;
    top: 3em;
    right: 6em;
}
#price .star span:nth-of-type(3){
    width: 6em;
    height: 6em;
    bottom: 4em;
    right: 0em;
}
#price .star span:nth-of-type(4){
    width: 4em;
    height: 4em;
    bottom: -2em;
    right: 7em;
}
#price .star span:nth-of-type(5){
	width: 2em;
    height: 2em;
    top: -1em;
    right: 34em;
}
#price .star span:nth-of-type(6){
    width: 2em;
    height: 2em;
    top: 1em;
    right: 26em;
}
#price .star span:nth-of-type(7){
	width: 4em;
    height: 4em;
    top: -4em;
    left: 6em;
}
#price .star span:nth-of-type(8){
	width: 3em;
    height: 3em;
    top: -1em;
    left: 9em;
}
#price .star span:nth-of-type(9){
	width: 5em;
    height: 5em;
    top: 9em;
    left: -1em;
}
#price .star span:nth-of-type(10){
    width: 3em;
    height: 3em;
    bottom: 3em;
    left: 13em;
}
#price .star span:nth-of-type(11){
    width: 2em;
    height: 2em;
    bottom: -1em;
    left: 0em;;
}
#price .star span:nth-of-type(12){
	width: 2em;
    height: 2em;
    bottom: -4em;
    left: 21em;
}
#price::before {
    content: "";
    position: absolute;
    background: #fff;
    width: 60%;
    height: 35%;
    transform: rotate(10deg);
    bottom: -14%;
    right: 50%;
}
#price::after {
    content: "";
    position: absolute;
    background: #fff;
    width: 60%;
    height: 35%;
    transform: rotate(-10deg);
    bottom: -14%;
    left: 50%;
}

#contact_form {
	padding: 1em;
    position: relative;
    z-index: 2;
    margin-top: -5em;
    padding-bottom: 5em;
}

#contact_form h3 {
	font-size: 7em;
    text-align: center;	
}
#contact_form form {
	padding: 2em 6em;
}
#contact_form dt {
	font-weight: bold;
    width: 18em;
    display: inline-block;
    padding: 0.8em;
	vertical-align: top;
}
#contact_form dd {
    display: inline-block;
	width: 30em;
}
#contact_form .privacy{
	height: 10em;
    overflow: scroll;
	font-size: 0.8em;
}
#contact_form .privacy h3{
	font-size: 1.2em;
    padding: 1em;
}
#contact_form form input,#contact_form form textarea{
	width: 100%;
    background-color: #eee;
    border: none;
    line-height: 2.5em;
}
#contact_form .check{
    text-align: center;	
}
#contact_form .check .required_check{
	width:auto;
}
#contact_form .button input{
	background: #FA7E24;
    color: #fff;
}
#contact_form .cap{
	line-height: 1.2em;
    padding: 0 6em;
}
#contact_form  .centered:after {
	content: "";
    background: url(img-mc/ca11.png) no-repeat;
    background-size: contain;
    width: 11em;
    height: 10em;
    position: absolute;
    right: 4em;
    z-index: 3;
    bottom: 0;
}
#company {
	position: relative;
    z-index: 4;
    background-color: #FA7E24;
    color: #fff;
    padding: 7em 1em;
    overflow: hidden;
}
#company .centered {
	
}
#company h3 {
	font-size: 9em;
    position: absolute;
    color: #ffffff24;
    top: -0.2em;
    left: -0.1em;
}
#company h4 {
	font-size: 2.5em;
    font-weight: normal;
}
#company dl {
	
}
#company dt {
	display: inline-block;
    width: 15%;
    font-weight: bold;
    padding-bottom: 0.5em;
	vertical-align: top;
}
#company dd {
	display: inline-block;
    width: 84%;
}
#company .centered:after {
	content: "";
    background: url(img-mc/ca12.png) no-repeat;
    background-size: contain;
    width: 13em;
    height: 20em;
    position: absolute;
    right: 7em;
    bottom: -1em;
}
#map {
	position: relative;
    z-index: 2;
}
@media screen and (max-width:580px){ 
	#movie_pr section {
		padding: 6em 1em 1em;
	}
	#movie_pr section:nth-of-type(1) h3 {
		width: 100%;
	}
	#movie_pr section:nth-of-type(1) h3 span.after, #movie_pr section:nth-of-type(3) h3 span.after {
		font-size: 2.2em;
		margin-left: 0.2em;
	}
	#movie_pr section:nth-of-type(1) h3 span.before, #movie_pr section:nth-of-type(3) h3 span.before {
		width: 100%;
	}
	#movie_pr h3 .icon_movie {
		margin-left: 0;
		position: relative;
		margin-bottom: -0.7em;
	}
	#movie_pr section .image {
		width: 100%;
	}
	#movie_pr section:nth-of-type(2) h3 {
		width: 100%;
		height: 6.5em;
		padding: 1.2em 1.5em 0.5em;
	}
	#movie_pr section:nth-of-type(2) h3 span.before {
		font-size: 1.8em;
		margin-bottom: 0.4em;
	}
	#movie_pr section:nth-of-type(2) .icon_movie {
		margin-left: 1em;
	}
	#movie_pr section:nth-of-type(2) h3 span.after {
		margin-left: 0.5em;
	}
	#movie_pr section:nth-of-type(3) h3 {
		width: 100%;
	}
	#movie_pr section .ca span:nth-of-type(1) {
		top: -5em;
		left: -2em;
		width: 6.5em;
	}
	#movie_pr section .ca span:nth-of-type(2) {
		width: 7.5em;
		top: 1.5em;
		right: -3em;
	}
	#movie_pr section .ca span:nth-of-type(3) {
		width: 5em;
        bottom: -10.5em;
        left: -1em;
	}
	#movie_pr section .ca span:nth-of-type(6) {
		bottom: -6em;
		left: 6em;
		width: 7em;
	}
	#movie_pr section .ca span:nth-of-type(5) {
		width: 5em;
		bottom: -7em;
		right: -1em;
	}
	#movie_pr section .ca span:nth-of-type(4) {
		width: 6em;
		right: 2em;
		bottom: -5em;
	}
	#project {
		padding: 4em 0;
	}
	#project h2 {
		font-size: 6em;
	}
	#project h3 {
		font-size: 3em;
	}
	#project p {
		font-size: 1.4em;
    	text-align: left;
    	margin: 0em 1em 1em 6em;
	}
	#project ul {
		width: 92%;
		padding: 0.7em 0.5em 0.3em;
		margin: 3em 4%;
	}
	#project .wrapper {
		overflow: scroll;
		width: 100%;
		display: inline-flex;
		padding: 0 1em 1em;
	}
	#project section {
		font-size: 1.5em;
	}
	#project section .image {
		width: 13.8em;
	}
	#flow {
		padding: 3em 1em 12em;
	}
	#flow h2 {
		font-size: 3.5em;
		margin-left: 1em;
	}
	#flow h3 {
		font-size: 2em;
	}
	#flow .wrapper {
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
	}
	#flow section h4 {
		font-size: 1.25em;
	}
	#flow .centered:after {
		right: -1em;
	}
	#price {
		padding: 5em 1em 13em;
	}
	#price h3 {
		font-size: 3em;
	}
	#price dl {
		width: 95%;
		margin-left: 1.5em;
		font-size: 1.5em;
	}
	#price dd {
		padding-left: 1em;
	}
	#price ul {
		width: 95%;
		margin-left: 2em;
	}
	#price p {
		margin-left: 1em;
		font-size: 1.35em;
	}
	#price .ca span:nth-of-type(3) {
		width: 12em;
		right: 2em;
	}
	#price .ca span:nth-of-type(2) {
		left: 21em;
		top: 23em;
		transform: rotate(20deg);
	}
	#price .star span:nth-of-type(2) {
		top: -1em;
	}
	#price .star span:nth-of-type(3) {
		bottom: -5em;
	}
	#price .star span:nth-of-type(4) {
		bottom: 17em;
	}
	#price .star span:nth-of-type(9) {
		width: 3em;
	}
	#price::before {
		bottom: -16em;
	}
	#price::after {
		bottom: -16em;
	}
	#contact_form {
		margin-top: 1em;
	}
	#contact_form h3 {
		font-size: 4em;
	}
	#contact_form form {
		padding: 2em 0em;
	}
	#contact_form dt {
		font-size: 1.5em;
		padding: 0em;
	}
	#contact_form dd {
		width: 100%;
	}
	#contact_form .privacy {
		font-size: 1em;
	}
	#contact_form .check {
		font-size: 1.5em;
	}
	#contact_form .button input {
		font-size: 2em;
	}
	#contact_form .cap {
		font-size: 1.2em;
		padding: 0 5em 0 0;
	}
	#contact_form .centered:after {
		right: -1em;
	}
	#company h3 {
		font-size: 5.8em;
		top: -0.1em;
	}
	#company h4 {
		font-size: 3em;
	}
	#company dl {
		font-size: 1.5em;
		line-height: 1.4em;
	}
	#company dt {
		margin: 1em 0 0;
		width: 28%;
	}
	#company dd {
		width: 65%;
	}
	#company .centered:after {
		width: 10em;
		left: 0em;
		height: 16em;
		transform: scale(-1, 1);
	}
}


/*画面幅800px以下の設定---*/
@media screen and (max-width:800px){ }

/*画面幅580px以下の設定---*/
@media screen and (max-width:580px){ }