@import url("cssreset.css");
@import url("base.css");
@import url("navigation.css");

/* contents base */
/*--------------------------------------*/

/* head */
.contents h2 {
    background:url("../images/h2_line.png") repeat-x 0 bottom;
    margin-bottom:1em;
    padding-bottom:20px;
    line-height:1.4;
    font-size:2.4em;
}
.contents h2 span {
    font-family:'Open Sans',sans-serif;
    font-size:0.7em;
}

.contents h3 {
    background:url("../images/h2_line.png") repeat-x 0 top;
    margin-bottom:1em;
    padding-top:20px;
    font-size:2.0em;
}

.contents h4 {
    color:#d4d800;
}

.contents p {
    margin-bottom:1.5em;
}


/* main image */
.main_img {
    margin-bottom:40px;
}


/* Service */
ul.to_services {
    margin-bottom:4em;
}
ul.to_services li {
    display:inline-block;
    margin-right:10px;
}
ul.to_services li:last-child {
    margin-right:0;
}
ul.to_services li a {
    color:#003d74;
    background:#d4d800;
    padding:3px 10px;
    text-decoration:none;
}

/* Topics */
.topics {
    background:  url("../images/border_stripe.png"),
                 url("../images/border_stripe.png");
    background-color:#efefef;
    background-position: top, bottom;
    background-repeat: repeat-x, repeat-x;
    color: #000;
    padding:25px 15px;
}
.topics a:link    {color: #000; text-decoration: none;}
.topics a:visited {color: #000; text-decoration: none;}
.topics a:hover   {color: #000; text-decoration: none;}
.contents .topics h4 {
    color:#000;
    font-size:1.8em;
}
.topics ul {
    letter-spacing:-.4em;
}
.topics ul li {
    display:inline-block;
    letter-spacing:0;
    vertical-align:middle;
}
.topics ul li.topicsTitle {
    width:70px;
    padding:0;
    margin-right:15px;
}
.topics ul li.topicsContent {
    width:calc(100% - 85px);
}
.topics dl dd .img {
    width:171px;
    float:right;
    vertical-align:middle;
    margin-left:5px;
}

/* Company Profile */
.company .img {
	float:left;
	margin-right:20px;
	}

dl.profile dt {
	float:left;
	width:6.5em;
	margin:0 0 15px 0;
	padding:0;
	}

dl.profile dd {
	margin:0 0 15px 6.5em;
	padding:0;
	}

dl.profile.en dt {
	float:left;
	width:12em;
	margin:0 0 15px 0;
	padding:0;
	}

dl.profile.en dd {
	margin:0 0 15px 12em;
	padding:0;
	}

/* Products & Services */
.box_area {

}
.box_area h3 {
    background:none;
    padding-top:0;
    text-align:center;
    font-size:1.9em;
}
.box_area .box {
    width:333px;
    float:left;
    padding:30px;
    margin-right:30px;
    margin-bottom:30px;
    border:1px solid #fff;
}
.box_area .box .img {
    text-align:center;
}
.box_area .box:nth-child(2n) {
    margin-right:0;
}
.box_area .box ul.books_img {
    letter-spacing:-.4em;
}
.box_area .box ul.books_img li {
    display:inline-block;
    letter-spacing:0;
    margin-right:10px;
    vertical-align:middle;
}
.box_area .box ul.books_img li:last-child {
    margin-right:0;
}
.box_area .box ul.books_link {
    letter-spacing:-.4em;
}
.box_area .box ul.books_link li {
    display:inline;
    letter-spacing:0;
}


/* Contact */
/*--------------------------------------*/


/* form */
.form {
    text-align:left;
    font-size:1.2em;
    line-height:1.4;
}
.form label {
    clear:both;
    float:left;
	width:10em;
    margin:0;
    padding:0.8em;
}
.form .field {
    float:left;
    margin:0;
    padding:0.8em;
}
.form .field input[type="text"] {
    width:25em;
    height:2.3em;
    padding:3px;
}
.form .field input[name^="name"],
.form .field input[name^="kana"] {
    width:7em;
}
.form .field input[name^="zip"] {
    width:4em;
}
.form .field textarea {
    width:25em;
    height:12em;
}
.form input[type="radio"],
.form input[type="checkbox"]{
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
}
.form .field select {
    width:10em;
    height:2.5em;
    padding:1px 5px;
    border:1px solid #d4d4d7;
    font-size:100%;
}
.submit {
    clear:both;
    text-align:center;
    margin:0;
}
.submit input {
    padding:0.5em 3em;
    margin-bottom:0.5em;
}
.submit input.resetButton {
    padding:0.5em 2em;
    margin-right:2em;
}
.submit input.submitButton {
    padding:0.8em 3em;
    font-size:1.3em;
}
.error {
    margin:10px 0 20px 20px;
    min-height:500px;
    text-align:left;
    font-size:1.2em;
}


/* - 1170px */
/*-----------------------------------------------------------*/
@media only screen and (max-width: 1170px) {




/* Products & Services */
.box_area .box {
    width:100%;
    float:none;
    padding:30px;
    margin-right:0;
    margin-bottom:15px;
}



}
/* - 1170px end */




/* - 768px */
/*-----------------------------------------------------------*/
@media only screen and (max-width: 768px) {


/* Service */
ul.to_services li {
    display:block;
    margin-right:0;
    margin-bottom:12px;
    text-align:center;
}
ul.to_services li a {
    display:block;
    width:15em;
    font-size:1.2em;
    margin:0 auto;
    padding:0.3em;
}

/* Topics */
.topics ul li {
    display:block;
    margin:0 auto;
}
.topics ul li.topicsTitle {
    width:100%;
    padding:0;
    margin-right:0;
    margin-bottom:1em;
    text-align:center;
}
.topics ul li.topicsContent {
    width:100%;
}
.topics dl dd .img {
    width:100%;
    float:none;
    vertical-align:middle;
    margin-right:5px;
}

/* Company Profile */
.company .img {
	float:none;
	margin-right:0;
	margin-bottom:1em;
	max-width:480px;
}
.company .img img {
	width:100%;
}


/* form */
.form label {
    float:none;
    width:100%;
    margin:0;
    padding:0;
}

.form .field {
    float:none;
    margin:0 0 1em;
    padding:0;
}

.form .field input[type=text] {
    width:100%;
}
.form .field textarea {
    width:100%;
    height:12em;
}
.form .field input[name^=name],
.form .field input[name^=kana] {
    width:7em;
}
.form .field input[name^=zip] {
    width:4em;
}


}
/* - 768px end */




/* - 750px */
/*-----------------------------------------------------------*/
@media only screen and (max-width: 750px) {









}
/* - 750px end */



/* - 480px */
/*-----------------------------------------------------------*/
@media only screen and (max-width: 480px) {





}
/* - 480px end */



/* - 375px */
/*-----------------------------------------------------------*/
@media only screen and (max-width: 375px) {






}
/* - 375px end */



/* - 320px */
/*-----------------------------------------------------------*/
@media only screen and (max-width: 320px) {






}
/* - 320px end */