@charset "utf-8";

#topmain {
width: 780px;
margin: 0 auto;
float:right;
}

#topmain .topnayamibk{
width: 780px;
height: 470px;
overflow: hidden;
background: url(../images/topnayamibk.png) no-repeat;
position: relative;
}

#topmain .topnayamibk p{
position: absolute;
right:22px;
top:269px;
font-weight: bold;
color: #444;
}

#topmain .topnayamibk p span{
font-weight: bold;
color: #CC3333;
}

#topmain ul.topnayami_sp {
margin-bottom: 15px;
}

#topmain ul.topnayami_sp img {
width: 100%;
max-width: 100%;
}

#topmain ul.topcontent {
width: 780px;
margin: 0 auto;
padding-top:20px;
padding-bottom:30px;
}

#topmain ul.topcontent li p.title {
font-size: 20px;
color:#666666;
font-weight: bold;
padding: 0 10px 0 10px;
}

#topmain ul.topcontent li p.cnt {
padding: 0 10px 0 10px;
line-height: 190%;
font-size:14px;
font-weight:bold;
}

#topmain .toptokushoku {
width: 100%;
margin: 30px auto;
padding-top:20px;
padding-bottom: 30px;
}

#topmain .toptokushoku ul {
width: 100%;
overflow: hidden;
}

#topmain .toptokushoku ul li {
display: inline-block;
vertical-align: top;
width: 32%;
margin: 0 2% 2% 0;
}

#topmain .toptokushoku ul li:nth-child(3n) {
display: inline-block;
vertical-align: top;
width: 32%;
margin: 0 0 2% 0;
}

#topmain .toptokushoku ul li p {
display: block;
margin-top:10px;
}


@media only screen and ( max-width : 850px ) {
#topmain {
width: 100%;
float:none;
}

#topmain .toptokushoku ul li {
width: 49%;
margin: 0 2% 2% 0;
}

#topmain .toptokushoku ul li:nth-child(3n) {
width: 49%;
margin: 0 2% 2% 0;
}

#topmain .toptokushoku ul li:nth-child(2n) {
width: 49%;
margin: 0 0 2% 0;
}

#topmain .toptokushoku ul li p {
font-size: 13px;
}
}




#patentmain {
width: 780px;
margin: 0 auto;
float:right;
}

#patentmain .patentbox01,
#patentmain .patentbox02,
#patentmain .patentbox03,
#patentmain .patentbox04 {
width: 100%;
margin: 0 auto;
padding-bottom:60px;
}

#patentmain .patentbox04-01,
#patentmain .patentbox04-02,
#patentmain .patentbox04-03 {
width: 100%;
margin: 0 auto;
padding-top: 30px;
}

#patentmain .parent04ttl{
display: block;
font-weight: bold;
font-size: 15px;
margin-bottom:10px;
color:#CC3333;
}

#patentmain .patentbox04-01 ul,
#patentmain .patentbox04-02 ul,
#patentmain .patentbox04-03 ul {
display:block;
margin: 30px auto 40px auto;
}


@media only screen and ( max-width : 850px ) {
#patentmain {
width: 100%;
float:none;
}
}



#trademarkmain {
width: 780px;
margin: 0 auto;
float:right;
}

#trademarkmain .trademarkbox01,
#trademarkmain .trademarkbox02,
#trademarkmain .trademarkbox03 {
width: 100%;
margin: 0 auto;
padding-bottom:60px;
}

#trademarkmain .trademarkbox03-01,
#trademarkmain .trademarkbox03-02,
#trademarkmain .trademarkbox03-03 {
width: 100%;
margin: 0 auto;
padding-top: 30px;
}

#trademarkmain .trademarkbox03-01 ul,
#trademarkmain .trademarkbox03-02 ul,
#trademarkmain .trademarkbox03-03 ul {
display:block;
margin: 30px auto 40px auto;
}

@media only screen and ( max-width : 850px ) {
#trademarkmain {
width: 100%;
float:none;
}
}



#copyrightmain {
width: 780px;
margin: 0 auto;
float:right;
}

#copyrightmain .copyrightbox01,
#copyrightmain .copyrightbox02,
#copyrightmain .copyrightbox03 {
width: 100%;
margin: 0 auto;
padding-bottom:60px;
}

#copyrightmain .copyrightbox03-01,
#copyrightmain .copyrightbox03-02,
#copyrightmain .copyrightbox03-03 {
width: 100%;
margin: 0 auto;
padding-top: 30px;
}

#copyrightmain .copyrightbox03-01 ul,
#copyrightmain .copyrightbox03-02 ul,
#copyrightmain .copyrightbox03-03 ul {
display:block;
margin: 30px auto 40px auto;
}


@media only screen and ( max-width : 850px ) {
#copyrightmain {
width: 100%;
float:none;
}
}


#contractmain {
width: 780px;
margin: 0 auto;
float:right;
}

#contractmain .contractbox01,
#contractmain .contractbox02 {
width: 100%;
margin: 0 auto;
padding-bottom:60px;
}

#contractmain .contractbox03-01,
#contractmain .contractbox03-02 {
width: 100%;
margin: 0 auto;
padding-top: 30px;
}

#contractmain .contractbox03-01 ul,
#contractmain .contractbox03-02 ul {
display:block;
margin: 30px auto 40px auto;
}


@media only screen and ( max-width : 850px ) {
#contractmain{
width: 100%;
float:none;
}
}



#incorporationmain {
width: 780px;
margin: 0 auto;
float:right;
}

#incorporationmain .incorporationbox01,
#incorporationmain .incorporationbox02 {
width: 100%;
margin: 0 auto;
padding-bottom:60px;
}

#incorporationmain .incorporationbox03-01,
#incorporationmain .incorporationbox03-02 {
width: 100%;
margin: 0 auto;
padding-top: 30px;
}



@media only screen and ( max-width : 850px ) {
#incorporationmain {
width: 100%;
float:none;
}
}



#officemain {
width: 780px;
margin: 0 auto;
float:right;
}

#officemain .introduce {
width: 100%;
margin: 0 auto;
padding-top:20px;
padding-bottom: 60px;
}

#officemain .introduce .leftbox {
width: 395px;
float: left;
margin-left:5px;
}

#officemain .introduce .leftbox li{
color:#666666;
font-size:14px;
line-height:1.8em;
}

#officemain .introduce .rightbox {
width: 380px;
float: right;
}

#officemain .introduce .rightbox img  {
padding-bottom: 15px;
}

#officemain .introduce .widebox {
width: 100%;
float: left;
margin-top:20px;
margin-left:5px;
}

#officemain .introduce .widebox li{
color:#666666;
font-size:14px;
line-height:1.8em;
}

#officemain .overview{
width: 100%;
float:left;
margin-top:60px;
}

#officemain .overview .widebox {
width: 100%;
float: left;
margin-top:20px;
margin-left:5px;
}

#officemain .overview .widebox li{
color:#666666;
font-size:14px;
line-height:1.8em;
}

#officemain .overview table{
width: 100%;
border-collapse: collapse;
display: block;
}

#officemain .overview table .date {
border-bottom: 1px dotted #cccccc;
}

#officemain .overview table .cnt {
border-bottom: 1px dotted #cccccc;
}

#officemain .overview table .cnt p {
font-size: 14px;
padding: 15px 0px 15px 8px;
line-height: 170%;
}

#officemain .overview table .cnt p a {
font-size: 14px;
}

#officemain .overview table .date p {
font-size: 14px;
font-weight: bold;
letter-spacing: 0.1em;
padding: 15px 0px 15px 5px;
text-align: left;

}

#officemain .access{
width: 100%;
float:left;
margin:60px 0 70px 0;
}

#officemain .access .widebox {
width: 100%;;
float: left;
margin-left:5px;
}

#officemain .access .widebox li{
color:#666666;
font-size:14px;
line-height:1.8em;
}

#officemain .access ul.map {
width: 100%;
padding-bottom: 20px;
}

@media only screen and ( max-width : 850px ) {
#officemain {
width: 100%;
float:none;
}

#officemain .introduce .leftbox {
width: 100%;
float: none;
margin: 0 auto;
}

#officemain .introduce .rightbox {
width: 60%;
float: none;
margin: 0 auto;
padding-bottom: 20px;
}

#officemain .introduce .rightbox img{
width: 100%;
}
}



#costmain {
width: 780px;
margin: 0 auto;
float: right;
}

#costmain .costbox01 {
width: 100%;
margin-bottom: 70px;
overflow: hidden;
}

#costmain .costbox02-01 {
width: 100%;
margin-bottom: 70px;
overflow: hidden;
}

#costmain .costbox02-02 {
width: 100%;
margin-bottom: 70px;
overflow: hidden;
}

#costmain .costbox02-03 {
width: 100%;
margin-bottom: 70px;
overflow: hidden;
}

#costmain .costbox02-04 {
width: 100%;
margin-bottom: 70px;
overflow: hidden;
}

#costmain .costbox02-05 {
width: 100%;
margin-bottom: 60px;
overflow: hidden;
}

#costmain table {
width: 100%;
border-collapse: collapse;
background: #ffffff;
}

#costmain table tr td {
border: 1px #dbdbdb solid;
}

#costmain table tr td.title {
font-weight: bold;
padding: 10px 0 10px 10px;
background: #f3f3f3;
font-size: 13px;
}

#costmain table tr td.cnt {
padding: 10px 0 10px 10px;
font-size: 12px;
}

#costmain table tr td p.cnt a {
font-size: 12px;
display: block;
}

#costmain table tr td p.cnt a:hover {
text-decoration: none;
}

#costmain .costbtmtxt {
	padding: 10px 0 40px 0;
}


@media only screen and ( max-width : 850px ) {
#costmain{
width: 100%;
float:none;
}
}




#privacymain {
width: 780px;
float: right;
}


#privacymain .prelude {
width: 100%;
margin: 0 auto;
float:left;
}

#privacymain .prelude .widebox {
width: 100%;
float:left;
}

#privacymain .prelude .widebox li{
color:#666666;
font-size:14px;
line-height:1.8em;
margin-left:5px;
}

#privacymain .policy {
width: 100%;
margin: 0 auto;
float:left;
padding-top:20px;
padding-bottom: 30px;
}

#privacymain .policy .widebox {
width: 100%;
float:left;
margin-top:20px;
}

#privacymain .policy .widebox li{
color:#666666;
font-size:13px;
line-height:1.8em;
margin-left:5px;
margin-bottom:20px;
}

@media only screen and ( max-width : 850px ) {
#privacymain{
width: 100%;
float:none;
}
}



#contactmain {
width: 780px;
float: right;
}

#contactmain .number {
width: 100%;
margin: 0 auto;
float:left;
}

#contactmain .number span {
font-size: 40px;
font-weight: bold;
padding-left: 7px;
color:#CC3333;
font-family: 'Roboto', sans-serif;
}

#contactmain .number .widebox {
width: 100%;
float:left;
}

#contactmain .number .widebox li{
color:#666666;
font-size:24px;
margin: 0 20px 60px 5px;
}

#contactmain .number2 {
width: 100%;
margin: 0 auto;
padding-bottom:30px;
float:left;
}

#contactmain .number2 .widebox {
width: 780px;
float:left;
}

#contactmain .number2 .widebox li{
color:#666666;
font-size:24px;
margin: 20px;
}


#contactmain ul.contactform {
width: 100%;
}

#contactmain ul.contactform ::placeholder {
color: #989898;
font-size: 13px;
}

#contactmain ul.contactform li.at {
width: 90%;
margin: 0 auto;
padding-bottom: 40px;
text-align: center;
}

#contactmain ul.contactform li.at p.tit {
text-align: center;
font-size: 20px;
padding-bottom: 18px;
}

#contactmain ul.contactform li.at p.cnt {
line-height: 170%;
display: inline-block;
text-align: left;
}

#contactmain ul.contactform li.requiredtxt {
padding: 8px 0 15px 5px;
}

#contactmain ul.contactform table	{
width: 100%;
border-collapse: collapse;
border-spacing: 0;
}

#contactmain ul.contactform table th	{
width: 24%;
}

#contactmain ul.contactform table th p.title {
text-align: left;
font-weight: bold;
padding: 5px 12px 15px 12px;
}

#contactmain ul.contactform table th p.cap {
text-align: left;
font-size: 14px;
padding: 0 12px 0 12px;
}

#contactmain ul.contactform table .req_label {
border-radius: 4px;
margin-right: 8px;
padding: 6px;
display: inline-block;
text-align: center;
background: #fc5656;
color: #fff;
letter-spacing: 0.1em;
font-size: 12px;
}

#contactmain ul.contactform table td p.cnt {
text-align: left;
padding: 12px;
line-height: 170%;
}

#contactmain ul.contactform .input1 {
width: 80%;
border-radius: 3px;
padding: 10px;
border: 2px solid #d8d8d8;
margin:0 0 15px;
}

#contactmain ul.contactform .input1:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .input2 {
width: 60%;
border-radius: 3px;
padding: 10px;
border: 2px solid #d8d8d8;
margin:0 0 15px;
}

#contactmain ul.contactform .input2:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .input3 {
width: 15%;
border-radius: 3px;
padding: 10px;
border: 2px solid #d8d8d8;
margin:0 0 15px;
}

#contactmain ul.contactform .input3::-webkit-input-placeholder {
font-size: 13px;
color: #a0a0a0;
}

#contactmain ul.contactform .input3::-ms-input-placeholder {
font-size: 13px;
color: #a0a0a0;
}

#contactmain ul.contactform .input3::-moz-placeholder {
font-size: 13px;
color: #a0a0a0;
}

#contactmain ul.contactform .input3:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .textarea1 {
width: 80%;
height: 200px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
padding: 6px;
border: 2px solid #d8d8d8;
margin:0 0 10px;
}

#contactmain ul.contactform .textarea1:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .textarea2 {
width: 80%;
height: 100px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
padding: 6px;
border: 2px solid #d8d8d8;
margin:0 0 10px;
}

#contactmain ul.contactform .textarea2:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .checkbox {
margin-bottom: 15px;
}

#contactmain ul.contactform .checkbox-input {
display: none;
}

#contactmain ul.contactform .checkbox-parts {
padding-left: 20px;
position:relative;
margin-right: 20px;
font-size: 15px;
line-height: 200%;
}

#contactmain ul.contactform .checkbox-parts::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
width: 15px;
height: 15px;
border: 1px solid #999;
border-radius: 4px;
}

#contactmain ul.contactform .checkbox-input:checked + .checkbox-parts {
color: #f24052;
}

#contactmain ul.contactform .checkbox-input:checked + .checkbox-parts::after {
content: "";
display: block;
position: absolute;
top: -5px;
left: 5px;
width: 7px;
height: 14px;
transform: rotate(40deg);
border-bottom: 3px solid #f24052;
border-right: 3px solid #f24052;
}

#contactmain ul.contactform .textarea1:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .select-small {
border-radius: 3px;
padding: 6px;
border: 2px solid #d8d8d8;
margin: 0 0 10px;
width: 8%;
}

#contactmain ul.contactform .select-small:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .select-medium {
border-radius: 3px;
padding: 6px;
border: 2px solid #d8d8d8;
margin: 0 0 10px;
width: 20%;
}

#contactmain ul.contactform .select-medium:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .select-big {
border-radius: 3px;
padding: 6px;
border: 2px solid #d8d8d8;
margin: 0 0 10px;
width: 25%;
}

#contactmain ul.contactform .select-big:focus {
border: solid 2px #fa7f55;
}

#contactmain ul.contactform .formtxt01 {
padding-left: 5px;
font-size: 15px;
}

#contactmain ul.contactform .formtxt02 {
padding-left: 8px;
font-size: 13px;
}

#contactmain ul.contactform .formtxt03 {
padding: 0 12px 0 4px;
}

#contactmain ul.contactform .formtxt04 {
padding: 0 25px 20px 0;
font-size: 13px;
}

#contactmain ul.contactform li.agreement {
margin-top: 35px;
text-align: center;
display: block;
font-size: 16px;
font-weight: bold;
background: #F7F7F7;
border: 2px solid #E1E1E1;
border-radius: 4px;
padding: 2% 4%;
}

#contactmain ul.contactform li.agreement p {
text-align: left;
display: inline-block;
font-size: 16px;
font-weight: normal;
padding-bottom:  25px;
}

#contactmain ul.contactform li ul.buttonarea {
padding: 2% 0 0 25%;
}

#contactmain ul.contactform li ul.buttonarea li {
padding: 15px 0 0 0;
}

#contactmain ul.contactform li ul.buttonarea li .submit {
cursor: pointer;
-webkit-appearance: none;
width: 65%;
height: 48px;
padding: 8px;
border-radius: 3px;
color: #444;
background:#e7e7e7;
border: 3px solid #c7c7c7;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}

#contactmain ul.contactform li ul.buttonarea li .submit:hover {
border: 3px solid #fc5656;
background:#fafafa;
border-radius: 3px;
}

@media screen and (max-width: 850px){
#contactmain ul.contactform li.at {
width: 100%;
}

#contactmain ul.contactform table {
width: 99.9%;
}

#contactmain ul.contactform table th p.title {
padding: 10px 0 5px 0;
font-weight: bold;
}

#contactmain ul.contactform table th p.cap {
padding: 0 0 5px 0;
}

#contactmain ul.contactform table th,
#contactmain ul.contactform table td {
width: 99.9%;
display: block;
border-top: none;
}

#contactmain ul.contactform .input1 {
margin: 0 0 5px;
}

#contactmain ul.contactform .input2 {
margin: 0 0 5px;
}

#contactmain ul.contactform .input3 {
width: 40%;
}

#contactmain ul.contactform .select-small {
width: 25%;
}

#contactmain ul.contactform .select-medium {
width: 40%;
}

#contactmain ul.contactform .select-big {
width: 65%;
}

#contactmain ul.contactform .textarea1 {
width: 90%;
margin: 0 0 5px;
}

#contactmain ul.contactform li.agreement {
font-size: 15px;
padding: 4% 4%;
}

#contactmain ul.contactform li.agreement p {
font-size: 14px;
}

#contactmain ul.contactform li ul.buttonarea {
padding-left: 0px;
}

#contactmain ul.contactform li ul.buttonarea li {
width: 100%;
}

#contactmain ul.contactform li ul.buttonarea li .submit {
width: 97%;
-webkit-appearance: none;
}

#contactmain ul.contactform li ul.buttonarea li .submit:hover {
border: 3px solid #fa7f55;
background:#fafafa;
transition: all 0.8s ease 0s;
}
}

#contactmain ul.thanks {
width: 100%;
height: 500px;
}

#contactmain ul.thanks p {
text-align: center;
font-size: 18px;
font-weight: 500;
line-height: 250%;
}

#contactmain ul.thanks p a {
text-align: center;
padding-top: 55px;
font-size: 18px;
text-decoration: underline;
}

#contactmain ul.thanks p a:hover {
text-decoration: none;
}

@media only screen and ( max-width : 850px ) {
#contactmain {
width: 100%;
float: none;
}
}



#sitemapmain {
width: 780px;
float: right;
}

#sitemapmain .site {
width: 100%;
margin: 0 auto 70px auto;
}

#sitemapmain .site .widebox {
width: 100%;
float: left;
}

#sitemapmain .site .widebox li{
color:#666666;
font-size:14px;
margin-left:5px;
padding:10px;
line-height:2em;
border-bottom: 1px dotted;
}

#sitemapmain .site .widebox li a {
text-decoration: none;
font-size:14px;
}

#sitemapmain .site .widebox li a:link {
color:#666666;
}

#sitemapmain .site .widebox li a:visited {
color:#666666;
}

#sitemapmain .site .widebox li a:hover {
color:#CC3333;
text-decoration:underline;
}


@media only screen and ( max-width : 850px ) {
#sitemapmain{
width: 100%;
float:none;
}
}