@charset "utf-8";
/* CSS Document */

* {
	margin:0;
	padding:0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:100%;
	line-height:180%;
	transition: 1s;
}

article,aside,canvas,details,figcaption,figure,header,footer,hgroup,menu,nav,section,summary {
	display: block
}

img {
	border:0;
	vertical-align:bottom;
}

li {
	list-style:none;
}

.box {
	border:solid 1px #CCC;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
}



/* CSS Document */

header {
	width:100%;
	position:fixed;
    top: 0;
	display:table;
	padding:10px 2% 10px 10px;
	background-color:rgba(255,255,255,0.98);
    justify-content: space-between;
    transition: .5s;
	z-index:100;
}
header.hide{
    top: -70px;
}
header h1,
header ul {
	display:table-cell;
	vertical-align:middle;
}

header ul {
	text-align:right;
}
header ul li {
	display:inline-block;
	margin-left:20px;
	font-size:90%;
	line-height:130%;
	font-weight:600;
}
header ul li a {
	color:#333;
	text-decoration:none;
	padding:3px 0;
}
header ul li.select a {
	background:#000;
	color:#FC0;
	padding:3px 10px;
	border-radius:5px;
}





/* CSS Document */

#wrap {
	width:100%;
}


div.head {
	background:url(../images/top_bg.jpg) center center no-repeat;
	padding:300px 15%;
}


nav.pankuzu {
	font-size:90%;
	line-height:130%;
	margin:0 0 100px;
	display:none;
}
nav.pankuzu a {
	text-decoration:none;
	color:#000;
}




/* CSS Document */

.philosophy {
	text-align:center;
	padding:100px 0;
}

.philosophy h2 {
	font-weight:800;
	font-size:260%;
	line-height:120%;
	margin-bottom:80px;
}
.philosophy h2 small {
	font-weight:300;
	font-size:30%;
	line-height:120%;
	letter-spacing:1.1em;
	padding:5px 0.9em 5px 2em;
	background-color:#000;
	color:#FFF;
}

.philosophy h2 + p {
	font-weight:500;
	margin-bottom:100px;
}
.philosophy h2 + p:first-line {
	font-weight:600;
	font-size:180%;
	line-height:250%;
}

.philosophy ul {
	display: flex;
	padding:0 10%;
}
.philosophy ul li {
	width:33%;
	padding:0 30px;
}
.philosophy ul li h3 {
	margin:20px 0 10px;
}
.philosophy ul li p {
	font-size:90%;
	line-height:180%;
}





/* CSS Document */

.service {
	background-color:#0C73B5;
	text-align:center;
	padding:100px 0;
	color:#FFF;
}

.service h2 {
	font-weight:800;
	font-size:260%;
	line-height:120%;
	margin-bottom:80px;
}
.service h2 small {
	font-weight:500;
	font-size:30%;
	line-height:120%;
	letter-spacing:2em;
	padding:5px 0 5px 2em;
	background-color:#FFF;
	color:#0C73B5;
}

.service ul {
	display: flex;
	padding:0 10%;
}
.service ul li {
	width:33%;
	padding:0 30px;
}
.service ul li h3 {
	margin:20px 0 10px;
}
.service ul li p {
	font-size:90%;
	line-height:180%;
}





/* CSS Document */

.news {
	text-align:center;
	padding:100px 0;
}

.news h2 {
	font-weight:800;
	font-size:260%;
	line-height:120%;
	margin-bottom:80px;
}
.news h2 small {
	font-weight:300;
	font-size:30%;
	line-height:120%;
	letter-spacing:0.6em;
	padding:5px 1.4em 5px 2em;
	background-color:#000;
	color:#FFF;
}

.news p {
	font-weight:600;
	margin:80px 0;
}

.news ul {
	text-align:center;
}
.news ul li {
	padding:0 30px;
}
.news ul li h3 {
	margin:10px 0 0;
}
.news ul li p {
	font-size:90%;
	line-height:180%;
}





/* CSS Document */

.company {
	background-color:#0C73B5;
	text-align:center;
	padding:100px 0;
}

.company h2 {
	font-weight:800;
	font-size:260%;
	line-height:120%;
	margin-bottom:80px;
	color:#FFF;
}
.company h2 small {
	font-weight:500;
	font-size:30%;
	line-height:120%;
	letter-spacing:2.4em;
	padding:5px 0 5px 2.4em;
	background-color:#FFF;
	color:#0C73B5;
}

.company table {
	width:950px;
	margin:0 auto;
	border-collapse:separate;
	border-spacing:0;
	padding:0;
	text-align:left;
}
.company table th,
.company table td {
	vertical-align:top;
	padding:20px;
}

.company table tr:nth-child(odd) {
	background-color:rgba(240,240,240,1);
}
.company table tr:nth-child(even) {
	background-color:rgba(255,255,255,1);
}

.company table th {
	width:20%;
}





/* CSS Document */

.add {
	display: flex;
	padding:0 10%;
}
.add dl {
	width:50%;
	text-align:center;
	padding:100px 0;
}

.add dl dt {
	font-weight:800;
	font-size:260%;
	line-height:120%;
	margin-bottom:80px;
}
.add dl dt small {
	font-weight:300;
	font-size:30%;
	line-height:120%;
	letter-spacing:2em;
	padding:5px 0 5px 2em;
	background-color:#000;
	color:#FFF;
}
.add dl:nth-child(2) dt small {
	letter-spacing:1.1em;
	padding:5px 0.9em 5px 2em;
}

.add dl dd a {
	display:inline-block;
	font-weight:700;
	font-size:120%;
	line-height:180%;
	background-color:#0C73B5;
	text-decoration:none;
	color:#FFF;
	padding:15px 1.7em 15px 2em;
	border-radius:5px;
	margin:70px 0 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	border:solid 1px #0C73B5;
	letter-spacing:0.3em;
}
.add dl dd a:hover {
	background: #FFF;
	color:#0C73B5;
}




/* CSS Document */

.contact_bg {
	background:url(../images/contact_bg.jpg) center top no-repeat;
	background-size:cover;
	padding:200px 0 80px;
	text-align:center;
}
.contact_bg h2 {
	display:inline-block;
	font-weight:800;
	font-size:300%;
	line-height:120%;
	text-align:center;
	margin-bottom:80px;
	background-color:#000;
	color:#FFF;
	padding:20px;
}
.contact_bg h2 small {
	font-weight:300;
	font-size:30%;
	line-height:120%;
	letter-spacing:1.5em;
	padding:5px 0 5px 1.5em;
	display:block;
}

.contact {
	margin:100px 10%;
}
.contact > p {
	margin:100px 0;
	text-align:center;
	font-weight:600;
}
.contact > p a {
	color:#000;
}

.contact form {
	width:800px;
	margin:0 auto;
}

.contact form input[type="text"],
.contact form input[type="email"],
.contact form select {
	width:100%;
	padding:15px;
	border:solid 1px #CCC;
	font-size:100%;
	line-height:150%;
}

::-webkit-input-placeholder {
	color:#CCC;
}
::-moz-placeholder {
	color:#CCC;
	opacity: 1;
}
:-ms-input-placeholder {
	color:#CCC;
}

.contact form textarea {
	width:100%;
	padding:15px;
	border:solid 1px #CCC;
	font-size:110%;
	line-height:150%;
	height:8em;
}

.contact form ul li:nth-child(odd) {
	font-weight:700;
	font-size:110%;
	line-height:150%;
	margin:30px 0 20px;
}
.contact form ul li:nth-child(odd):after {
	content:"必 須";
	border:solid 1px #D00;
	color:#D00;
	padding:3px 10px;
	margin-left:1.3em;
	font-size:60%;
	line-height:150%;
}

.contact form .btn {
	text-align:center;
}
.contact form input[type="submit"] {
	display:inline-block;
	font-weight:700;
	font-size:120%;
	line-height:180%;
	background-color:#2BB94C;
	text-decoration:none;
	color:#FFF;
	padding:15px 1.7em 15px 2em;
	border-radius:5px;
	margin:70px 0 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	border:solid 1px #2BB94C;
	letter-spacing:0.3em;
	cursor:pointer;
}
.contact form input[type="submit"]:hover {
	background: #FFF;
	color:#2BB94C;
}




/* CSS Document */

.recrust_bg {
	background:url(../images/recrust_bg.jpg) center center no-repeat;
	background-size:cover;
	padding:200px 0 80px;
	text-align:center;
}
.recrust_bg h2 {
	display:inline-block;
	font-weight:800;
	font-size:300%;
	line-height:120%;
	text-align:center;
	margin-bottom:80px;
	background-color:#000;
	color:#FFF;
	padding:20px;
}
.recrust_bg h2 small {
	font-weight:300;
	font-size:30%;
	line-height:120%;
	letter-spacing:2em;
	padding:5px 0 5px 2em;
	display:block;
}

.recrust {
	margin:100px 10%;
}
.recrust > p {
	margin:100px 0;
	text-align:center;
	font-weight:600;
}

.recrust table {
	width:950px;
	margin:0 auto;
	border-collapse:separate;
	border-spacing:0;
	padding:0;
	text-align:left;
}
.recrust table th,
.recrust table td {
	vertical-align:top;
	padding:20px;
}
.recrust table tr:nth-child(odd) {
	background-color:rgba(240,240,240,1);
}
.recrust table tr:nth-child(even) {
	background-color:rgba(255,255,255,1);
}

.recrust table th {
	width:20%;
}




/* CSS Document */

.history_bg {
	background:url(../images/history_bg.jpg) center center no-repeat;
	background-size:cover;
	padding:200px 0 80px;
	text-align:center;
}
.history_bg h2 {
	display:inline-block;
	font-weight:800;
	font-size:300%;
	line-height:120%;
	text-align:center;
	margin-bottom:80px;
	background-color:#000;
	color:#0C73B5;
	padding:20px;
}
.history_bg h2 small {
	font-weight:300;
	font-size:30%;
	line-height:120%;
	letter-spacing:2em;
	padding:5px 0 5px 2em;
	display:block;
}

.history {
	margin:100px 10%;
}
.history > p {
	margin:100px 0;
	text-align:center;
	font-weight:600;
}

.history table {
	width:950px;
	margin:0 auto;
	border-collapse:separate;
	border-spacing:0;
	padding:0;
	text-align:left;
	border-left:solid 1px #DDD;
	border-top:solid 1px #DDD;
}
.history table th,
.history table td {
	vertical-align:top;
	padding:20px;
	border-right:solid 1px #DDD;
	border-bottom:solid 1px #DDD;
}
.history table tr:first-child {
	background-color:rgba(240,240,240,1);
	text-align:center;
	font-weight:bold;
}

.history table th {
	width:20%;
	text-align:center;
}
.history table th small {
	font-size:60%;
	line-height:130%;
	font-weight:400;
}




/* CSS Document */

.policy_bg {
	background:url(../images/policy_bg.jpg) center center no-repeat;
	background-size:cover;
	padding:200px 0 80px;
	text-align:center;
}
.policy_bg h2 {
	display:inline-block;
	font-weight:800;
	font-size:300%;
	line-height:120%;
	text-align:center;
	margin-bottom:80px;
	background-color:#000;
	color:#0C73B5;
	padding:20px;
}
.policy_bg h2 small {
	font-weight:300;
	font-size:30%;
	line-height:120%;
	letter-spacing:1.5em;
	padding:5px 0 5px 1.5em;
	display:block;
}


.policy {
	margin:100px 10%;
}

.policy h3 {
	font-weight:700;
	font-size:150%;
	line-height:120%;
	margin:50px 0;
}


.policy > p {
	margin:30px 0;
}

.policy > ol {
	margin:30px 0;
}
.policy > ol > li {
	list-style:decimal;
	margin:10px 0 10px 2em;
}
.policy > ol > li  > ol > li {
	list-style:decimal;
	margin:0 0 0 1em;
}
.policy > ol > li  > ol > li > ul li {
	list-style:disc;
	margin:0 0 0 1.5em;
}
.policy > p.days {
	text-align:right;
}


.check li {
	background:url(../images/check.gif) no-repeat;
	background-position:left center;
	padding:15px 0 15px 50px;
	border-bottom:dotted 1px #CCC;
}

.qa {
	padding:0 30px;
}
.qa dt {
	font-size:150%;
	line-height:130%;
	font-weight:bold;
	margin:0 0 10px;
	padding:0 0 3px;
	color:#06C;
	border-bottom:dashed 1px #CCC;
}
.qa dd {
	font-size:150%;
	line-height:150%;
	margin:0 0 60px;
	text-indent:-1.4em;
	padding-left:1.4em;
}
.qa dd span {
	color:#F00;
	font-weight:bold;
}




/* CSS Document */

.form input[type="text"],
.form input[type="email"] {
	width:100%;
	padding:5px;
	border:solid 1px #CCC;
}

::-webkit-input-placeholder {
	color:#CCC;
}
::-moz-placeholder {
	color:#CCC;
	opacity: 1;
}
:-ms-input-placeholder {
	color:#CCC;
}

.form button {
	background: #abde1f;
	background: -moz-linear-gradient(top,  #abde1f 0%, #8cc118 100%);
	background: -webkit-linear-gradient(top,  #abde1f 0%,#8cc118 100%);
	background: linear-gradient(to bottom,  #abde1f 0%,#8cc118 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#abde1f', endColorstr='#8cc118',GradientType=0 );
	border:solid 1px #8cc118;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight:900;
	width:100%;
	font-size:230%;
	line-height:130%;
	text-align:center;
	padding:30px 0;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
	color:#FFF;
	text-shadow:2px 2px 0 rgba(0,0,0,0.3);
	cursor:pointer;
}
.form button:hover {
	background: #a90329;
	background: -moz-linear-gradient(top,  #a90329 0%, #8f0222 44%, #6d0019 100%);
	background: -webkit-linear-gradient(top,  #a90329 0%,#8f0222 44%,#6d0019 100%);
	background: linear-gradient(to bottom,  #a90329 0%,#8f0222 44%,#6d0019 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a90329', endColorstr='#6d0019',GradientType=0 );
	border:solid 1px #a90329;
}




/* CSS Document */

footer {
	margin:20px 0 0;
	text-align:center;
	color:#FFF;
	font-size:90%;
	line-height:130%;
	background-color:#000;
	padding:40px 0;
}

footer nav a {
	color:#FFF;
	text-decoration:none;
}
footer nav a:hover {
	text-decoration:underline;
}

footer p {
	margin:10px 0 0;
}




/* ################## Color Document ####################### */

.red {
	color:#FF0000;
}

.bold {
	font-weight:bold;
}

.yellow {
	background-color:#FFFF00;
	display:inline;
}

.u {
	text-decoration:underline;
}

.revocation {
	text-decoration:line-through;
}

.center {
	text-align:center;
}