html{overflow: auto;}
body {
	margin: 0;
	padding: 0;
	font-size: 18px;
	line-height: 25px;
	overflow: hidden;
}
a:hover {
	opacity: 0.8;
}

section p{
	line-height: 4rem;
    font-size: 2rem;
    font-family: "Sawarabi Mincho";
}


h3 {
	margin: 3% 0 0 0%;
    padding: 0;
    font-size: 2rem;
    color: #47a7c2;
    line-height: 3rem;
    padding-top: 0%;
    font-family: "Sawarabi Mincho";
}

.title_section h3{
	margin-top: 10%;
	padding-left: 2%;
    border-left: 10px solid #47a7c2;
    font-size: 2.7rem;
    padding-bottom: 1%;
    font-family: "Sawarabi Mincho";
    border-bottom: 2px solid #47a7c2; 
}

#header_box{
	position: relative;
}
#header_box img{

}
#header_box h2{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    font-family: "Sawarabi Mincho";
}

p.bb{
	margin: 50px 0 50px;
}


.type_box{

}

.type_box ul.type_3box{
	padding: 0;
    margin: 0;
    display: table;
    width: 100%;
    margin: 5% 0;
}

.type_box ul.type_3box li{
	display: table-cell;
    width: 33.333333%;
    list-style-type: none;
    text-align: center;
    font-size: 1.5rem;
}
.type_box ul.type_3box li img{
	width: 100%;
	margin-bottom: 4%;
}


p.reference{
	font-size: 1.5rem;
    border: 1px solid #e4e4e4;
    padding: 2% 3%;
    width: 80%;
    margin-left: 10%;
    margin-top: 1%;
}





p {margin: 0 0 1em;}
p:last-child {margin-bottom: 5%;}

.outer_box {
	margin: 0 auto;
	padding: 0;
	max-width: 1000px;
}

table.tbl-r02{
	width: 100%;
    margin-top: 5%;
    border: 1px solid gray;
}

table.tbl-r02 td{
	text-align: left;
	border-bottom: 1px solid #808080;
	width: 80%;
}
table.tbl-r02 tr.last td{
	border-bottom: none;
}

table.tbl-r02 tr th{
	vertical-align: middle;
}








/* header ==================== */
header {
	margin: 0 0 0px;
	padding: 0;
	width: 100%;
	position: relative;
}
header .inner_wrap {
	height: 100%;
	position: relative;
}

header img{
	width: 100vw;
	max-height: 600px;
	object-fit: cover;
	vertical-align: bottom;
}
header h2{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;
    font-size: 2rem;
    background: rgba(255,255,255,0.8);
    width: 60%;
    text-align: center;
    padding: 5% 5%;
    letter-spacing: 0.5rem;
    border-radius: 10px;
    font-weight: normal;
}
header #mv {
	width: 100%;
	height: 100%;
	background: url('/service/assets/img/oekaki/mv.png') center left no-repeat;
	background-repeat: repeat-x;
	background-size: 3425px auto;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-animation-name: repeatBg;
	-webkit-animation-timing-function: linear;
	-webkit-animation-duration: 60s;
	-webkit-animation-fill-mode: alternate;
	-webkit-animation-iteration-count: infinite;
	animation: repeatBg 60s linear infinite;
}

@-webkit-keyframes repeatBg {
	0% {background-position: 0 0;}
	100%{background-position: 100% 0;}
}
@keyframes repeatBg {
	0% { background-position: 0 0;}
	100% { background-position: 100% 0;}
}
header h1{
	margin: 0;
	padding: 0;
}
#header_logo {
	width: 100%;
	max-width: 978px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-55%) translateX(-50%);
	-webkit-transform: translateY(-55%) translateX(-50%);
}
#header_paint {
	position: absolute;
	top: 0;
	left: 56px;
}
#header_noverlty {
	position: absolute;
	bottom: -21px;
	left: 100px;
}

#free_x5F_call {
	animation: shake_5289 3.875s ease infinite;
	transform-origin: 50% 50%;
}

#header_btn img {
	margin: 212px 0 0;
}

#header_inq_icon,
#header_inq_h3,
#header_inq_tel {display: none;}

#icon-scroll {
	position: absolute;
	bottom: 18px;
	left: calc(50% - 25px);
}
#icon-scroll #roller {
	animation: roller_anime 5s ease infinite;
}
@keyframes roller_anime {
	0% { transform:translateY(0) }
	5% { transform:translateY(0) }
	10% { transform:translateY(0) }
	20% { transform:translateY(-15px) }
	25% { transform:translateY(0) }
	30% { transform:translateY(-15px) }
	50% { transform:translateY(0) }
	100% { transform:translateY(0) }
}

#header_inq + a:hover {opacity: 1.0}
a:hover #icon-scroll #roller {animation: roller_hover 3s ease forwards;}
a:hover #icon-scroll #roller #parts01,
a:hover #icon-scroll #roller #parts02 {fill: #888;}
a:hover #icon-scroll #roller #parts03 {fill: #f07f00;}
a:hover #icon-scroll #arrow {
	animation: roller_hover 3s ease forwards;
}
@keyframes roller_hover {
	0% { transform:translateY(0px) }
	100% { transform:translateY(10px) }
}

/* anchor link ==================== */
body > nav {
	position: fixed;
	top: calc(50% - 100px);
	right: 30px;
	z-index: 99999;
}
body > nav ul {
	list-style: none;
}
body > nav ul li {
	margin: 20px 0;
	width: 20px;
	height: 20px;
	display: block;
}
body > nav a {
	margin: 5px auto;
	border-radius: 50%;
	width: 15px;
	height: 15px;
	background: #ccc;
	display: block;
	box-shadow:0px 0px 5px 0px #ffffff;
	-moz-box-shadow:0px 0px 5px 0px #ffffff;
	-webkit-box-shadow:0px 0px 5px 0px #ffffff;
	transition: 0.25s;
	-webkit-transition: 0.25s;
	position: relative;
}
body > nav a:hover,
body > nav a.current {
	margin: 0 auto;
	background: #555;
	width: 20px;
	height: 20px;
}
body > nav a > span {
	display: none;
	transition: 0.25s;
	-webkit-transition: 0.25s;
}
body > nav a:hover > span {
	border-radius: 10px;
	padding: 0.5em;
	background: #fcffcf;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5em;
	color: #333;
	width: 7em;
	/* height: 1.5em; */
	display: block;
	position: absolute;
	top: -10px;
	right: 40px;
}
body > nav a:hover > span:before {
	content: '';
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 15px solid #fcffcf;
	width: 0;
	height: 0;
	display: block;
	position: absolute;
	top: 10px;
	right: -14px;
}

/* main ==================== */
main section {
	clear: both;
	text-align: left;
}
main section.large {
	margin: 50px 0;
	border-radius: 20px;
	padding: 40px 40px 0;
	background: rgba(255,255,255,0.75);
	text-align: center;
}
main section.large section {
	margin: 4% 0;
}
main section.large:first-child,
main section.large section:first-child {
	margin-top: 0;
}

main #catch {
	text-align: center;
}
main #catch h3 {
	font-size: 46px;
	font-weight: normal;
	color: #f07f00;
}
.bb {
	margin: 0 0 50px;
	border-bottom: 1px dotted #333;
	padding: 0 0 40px;
}

.right {
	margin-left: 30px;
	float: right;}
.left {
	margin-right: 30px;
	float: left;
}
div.right, div.left {width: 655px;}
#report div.right, #report div.left {width: 524px;}
#step section.right, #step section.left {
	margin: 0 0 40px;
	width: calc(50% - 30px/2);
	clear: none;
}

div.right + img, div.left + img {width: calc(100% - 655px - 30px);}
#report div.right + img, #report div.left + img, #report div.left + iframe {width: calc(100% - 524px - 30px);}

main section#instruction {margin-bottom: 120px;}

th, td {
	margin: 5px;
	padding: 20px;
	vertical-align: top;
	
}
th {
	background: #333;
	width: 20%;
	color: #fff;
	font-weight: normal;
}
td {
	background: #fafafa;
}


.text_left{
    float: left;
    width: 57%;
}
img.img_right::after{
  content: "";
  display: block;
  clear: both;
}

img.img_right{
	float: right;
    width: 40%;
    margin-top: 2%;
}

.text_section h3{
	border-bottom: 1px solid #47a7c2;
    margin-bottom: 2%;
    padding-bottom: 1%;
}

.text_right{
    float: right;
    width: 57%;
}
img.img_left::after{
  content: "";
  display: block;
  clear: both;
}

img.img_left{
	float: left;
    width: 40%;
    margin-bottom: 3%;
}

section.text_section::after{
  content: "";
  display: block;
  clear: both;
}


img.howto_img{
	float: right;
    width: 40%;
    margin-bottom: 5%;
}



section#attention{
	margin-bottom: 15%;
}

p.top_text{
	position: relative;
    text-align: center;
    padding: 0 55px;
    font-size: 3rem;
    font-family: "Sawarabi Mincho";
    margin-top: 5%;
    margin-bottom: 1%;
}


p.top_text:before, p.top_text:after {
  	content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 100px;
    height: 1px;
    background-color: black;
}

p.top_text:before {
  left:0;
}
p.top_text:after {
  right: 0;
}

p.top_bottom_text{
	font-size: 2rem;
    line-height: 4rem;
    font-family: "Sawarabi Mincho";
}


.top_attention{
	width: 100%;
    font-size: 2rem;
    line-height: 3rem;
    padding: 5% 0%;
    display: table;
}
.top_attention img{
	display: table-cell;
	width: 100%;
}

.top_attention .top_text_attention{
	display: table-cell;
    margin: 0;
    vertical-align: top;
    padding-left: 3%;
    font-size: 2rem;
    line-height: 4rem;
    font-family: "Sawarabi Mincho";
    width: 50%;
}

img#type_list{
	width: 100%;	
}


.movie-wrap {
  	 position: relative;
    padding-bottom: 28.25%;
    height: 0;
    overflow: hidden;
    width: 50%;
    text-align: center;
    font-family: "Sawarabi Mincho";
    margin-bottom: 0;
    margin-left: 25%;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}



#price_2 .text_right p{
	margin-bottom: 0;
    border-bottom: 1px solid #c5c5c5;
    text-indent: 1rem;
}


ul#price_list li{
	margin-bottom: 1rem;
}

.text_right::after {
  content: "";
  display: block;
  clear: both;
}
img.img_left::after {
  content: "";
  display: block;
  clear: both;
}

p.price_2_bottom_link{
	clear: both;
    text-align: center;
    font-size: 1.2rem;
}

.title_section h2{
	text-align: center;
    border-bottom: 3px double gray;
    margin-top: 10%;
    margin-bottom: 5%;
    padding-bottom: 2%;
}





/* media_screen ============================== */

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

}


@media screen and (max-width: 896px){
	
	.inner_wrap {
		margin: 0 auto;
		padding: 0 100px;
		width: 90%;
	}
	div.right, div.left {
		width: 655px;
	}
	#report div.right, #report div.left {
		width: 524px;
	}
	#step section.right, #step section.left {
		margin: 0 0 40px;
		width: calc(50% - 30px/2);
		clear: none;
	}
	p.top_text {
	    width: 80%;
	    font-size: 1.7rem;
	    line-height: 3rem;
	    padding: 5% 10%;
	}
	.outer_box {
    	margin: 0 auto;
    	padding: 0;
    	max-width: 90%;
	}
	.title_section h3{
		padding-left: 2%;
    	border-left: 10px solid #47a7c2;
    	font-size: 2rem;
    	padding-bottom: 1%;
    	font-family: "Sawarabi Mincho";
    	line-height: 3rem;
	}


	.title_section p{
		font-size: 1.2rem;
    	line-height: 2rem;
    }


    h3 {
    	margin: 3% 0 0 0%;
    	padding: 0;
    	font-size: 1.7rem;
    	color: #47a7c2;
    	line-height: 3rem;
    	padding-top: 0%;
    	font-family: "Sawarabi Mincho";
	}

	section h2 {
	    margin: 5% 0;
    	padding: 2% 0%;
    	font-size: 2.3rem;
    	text-align: center;
    	color: #ed4460;
    	line-height: 3rem;
    	width: 100vw;
    	position: relative;
    	left: 50%;
    	right: 50%;
    	margin-left: -50vw;
    	margin-right: -50vw;
    	background: #f1f1f1;
	}

	#type .text_section h3 {
	    padding-left: 2%;
	    border-left: 10px solid #47a7c2;
	    font-size: 1.7rem;
	    padding-bottom: 1%;
	    font-family: "Sawarabi Mincho";
	    line-height: 3rem;
	}
	.type_box ul.type_3box li {
	    display: table-cell;
	    width: 33.333333%;
	    list-style-type: none;
	    text-align: center;
	    font-size: 1rem;
	    padding: 1%;
	}
	p.reference {
	    border: 1px solid #e4e4e4;
	    padding: 2% 3%;
	    width: 80%;
	    margin-left: 5%;
	    margin-top: 5%;
	    font-size: 1rem!important;
	}

	.top_attention {
    	width: 60%;
    	font-size: 1.5rem;
    	line-height: 3rem;
    	padding: 5% 20%;
    	background: none;
    	display: block;
	}














}

@media screen and (max-width: 480px) {
	p.top_text {
    	width: 100%;
    	font-size: 2rem;
    	line-height: 2.5rem;
    	padding: 5% 0% 2% 0;
    	border-bottom: 2px solid #ed435f;
	}
	p.top_text span{
		font-size: 2rem;
    	color: #ed4460;
    	font-weight: bold;
	}
	.movie-wrap {
   		position: relative;
   		padding-bottom: 60.25%;
   		height: 0;
   		overflow: hidden;
   		width: 90%;
   		text-align: center;
   		font-family: "Sawarabi Mincho";
   		margin-bottom: 0;
   		margin-left: 5%;
	}
	.top_attention{
		display: block;
    	padding: 0;
    	width: 100%;
    	background: none;
	}

	.top_attention img{
		display: block;
	}

	.top_attention .top_text_attention{
		width: 100%;
    	font-size: 1.7rem;
    	line-height: 3rem;
    	text-align: center;
    	font-family: "Sawarabi Mincho";
    	padding: 0 4%;
    	margin-bottom: 5%;
	}

	.text_left {
    	float: none;
    	width: 100%;
    	padding-right: 3%;
	}
	h3{
    	margin: 3% 0 0 0%;
    	padding: 0;
    	font-size: 1.5rem;
    	color: #47a7c2;
    	line-height: 2rem;
    	padding-top: 0%;
    	font-family: "Sawarabi Mincho";
	}
	body main p {
    	font-size: 1rem;
    	line-height: 2.5rem;
	}
	
	.page_bottom_contact_box_right p{
		line-height: 3rem;	
	}

	img.img_left {
    	float: left;
    	width: 40%;
    	margin: 0 2% 2% 0%;
	}
	.text_right {
    	width: 100%;
    	padding-left: 0%;
    	float: none;
	}
	img.howto_img {
    	float: right;
   		width: 100%;
	}
	.type_box ul.type_3box li {
    	display: table-cell;
    	width: 33.333333%;
    	list-style-type: none;
    	text-align: left;
    	font-size: 0.7rem;
    	padding: 1%;
    	line-height: 0.8rem;
	}
	p.reference {
	    border: 1px solid #e4e4e4;
	    padding: 2% 3%;
	    width: 94%;
	    margin-left: 0%;
	    margin-top: 5%;
	    font-size: 0.8rem!important;
	    line-height: 1.5rem;
	}
	.title_section h3 {
    	padding-left: 0%;
    	border-left: none;
    	font-size: 2rem;
    	padding-bottom: 1%;
    	font-family: "Sawarabi Mincho";
    	line-height: 2rem;
    	border-bottom: 4px double;
    	text-align: center;
	}
	table.tbl-r02 td {
    	text-align: left;
    	border-bottom: 1px solid #808080;
    	width: 80%;
    	vertical-align: middle;
	}
	.pc_only{
		display: none;
	}
	.footer_inner_box a i {
    	margin-right: 0%;
	}
	.footer_inner_box a {
    	display: table-cell;
    	width: 50px;
    	vertical-align: middle;
    	height: 50px;
	}
	ul.company_profile_permission{
		padding-left: 10%;
	}
	ul#top_text_list {
    	width: 80%;
    	margin-left: 0;
	}
	p.top_bottom_text {
    	width: 100%;
    	font-size: 1.7rem;
    	line-height: 3rem;
    	text-align: center;
    	font-family: "Sawarabi Mincho";
    	padding: 0 4%;
    	margin-bottom: 5%;
	}
	ul#top_text_list li{
		margin-bottom: 5%;
	}
	#header_box h2{
		font-size: 2rem;
	}
	p.top_text:before, p.top_text:after{
		width: 0;
	}
	img.img_right {
    	width: 100%;
    	margin-top: 7%;
	}
	img.img_left {
    	width: 100%;
    	margin-top: 7%;
	}
	.corona_content_box{
	    background: #eaeaea;
	    margin-bottom: 5%;
	}
	.corona_content_box img{
		margin-top: 0;
    	margin-bottom: 3%;
	}
	.corona_content_box .text_left{
		padding: 0 5%;
	}
	.corona_content_box .text_right{
		padding: 5% 5%;
	}
	.title_section p {
    	font-size: 1.7rem;
    	line-height: 2.5rem;
	}
}
