@charset "UTF-8";
/* Reset */
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
ul { margin: 0; padding: 0; list-style: none; }
dl { margin: 0; padding: 0; }
small { font-size: 0.750em; }
img { vertical-align: bottom; }
form, input, textarea { margin: 0; padding: 0; }
/* Content */
body { background: #F4F4F0; margin: 0; padding: 0; color: #000000; font-family: 'Lato', sans-serif; font-weight: 400; letter-spacing: 0.025em; }
.bg_w { background: #FFFFFF; width: 100%; border-top: 1px solid #F4F4F0; border-bottom: 1px solid #F4F4F0; padding: 60px 0; overflow: hidden; }
.bg_g { border-top: 1px solid #FFFFFF; border-bottom: 1px solid #FFFFFF; padding: 60px 0; width: 100%; overflow: hidden; }
.bg_p { background: #FE7D6A url(../images/bg_mission_2.png) top center no-repeat; width: 100%; padding: 60px 0; overflow: hidden; }
.bg_service { background: #F4F4F0 url(../images/bg_service.png) top right no-repeat; width: 100%; border-top: 1px solid #FFFFFF; border-bottom: 1px solid #FFFFFF; padding: 60px 0; overflow: hidden; }
.bg_about { background: #FFFFFF url(../images/bg_about.png) bottom center no-repeat; width: 100%; border-top: 1px solid #F4F4F0; padding: 60px 0; overflow: hidden; }
.container { margin: 0 auto; width: 960px; }
.container .con_half_l { float: left; margin: 0 0 0 250px; width: 460px; }
.container .con_half_r { float: right; width: 460px; }
.container .con_purple { float: left; border-left: 3px solid #B279B2; padding: 0 0 0 20px; width: 460px; overflow: hidden; }
.container .con_green { float: right; border-left: 3px solid #9AB253; padding: 0 0 0 20px; width: 460px; overflow: hidden; }
.container h2 { display: block; margin: 0 0 60px 0; font-size: 2.000em; font-weight: 300; text-align: center; }
.container h2 span { border-bottom: 3px solid #000000; padding: 0 0 10px 0; }
.container h3 { clear: both; padding: 40px 0 30px; font-size: 1.250em; font-weight: 700; font-style: italic; text-align: center; letter-spacing: 0.1em; }
.container h3.h3_top { padding: 0 0 30px; }
.container h3.h3_top_service { padding: 20px 0 30px; }
.container h3.h3_pink { color: #F07485; }
.container h3.h3_purple { color: #B279B2; }
.container h3.h3_green { color: #9AB253; }
.container h4 { padding: 0; font-size: 1em; font-weight: 700; font-style: italic; text-align: center; letter-spacing: 0.1em; line-height: 200%; }
.container p { line-height: 175%; }
.container p.txt_center { text-align: center; }
.container ul { overflow: hidden; }
.container ul li { float: left; background: url(../images/list_square.png) no-repeat left 6px; background-size: 6px auto; margin: 0 0 20px 0; padding: 0 0 0 11px; width: 320px; font-size: 0.875em; }
.container dl { width: 480px; font-size: 0.875em; }
.container dl dt { float: left; clear: both; margin: 0 0 20px 0; width: 155px; font-weight: 700; font-style: italic; }
.container dl dd { float: left; margin: 0 0 20px 0; width: 300px; }
.container dl dt:last-child { margin: 0; }
.container dl dd:last-child { margin: 0; }
.container a { color: #000000; }
.container a:hover { text-decoration: none; }
.container input.ipt_txt { border: 1px solid #B9B9B7; padding: 0 10px; width: 100%; height: 40px; font-size: 1em; line-height: 40px; -webkit-transition: background 0.5s; -moz-transition: background 0.5s; -ms-transition: background 0.5s; -o-transition: background 0.5s; transition: background 0.5s; }
.container input:focus { background: #F4F4F0; outline: none; }
.container textarea { border: 1px solid #B9B9B7; padding: 0 10px; width: 100%; height: 80px; font-size: 1em; line-height: 150%; -webkit-transition: background 0.5s; -moz-transition: background 0.5s; -ms-transition: background 0.5s; -o-transition: background 0.5s; transition: background 0.5s; }
.container textarea:focus { background: #F4F4F0; outline: none; }
.container input.ipt_submit { background: #AFCB63; border: none; border-bottom: 3px solid #9BB354; width: 100%; color: #FFFFFF; font-size: 1.250em; font-style: italic; line-height: 40px; letter-spacing: 0.1em; -webkit-transition: opacity 0.5s; -moz-transition: opacity 0.5s; -ms-transition: opacity 0.5s; -o-transition: opacity 0.5s; transition: opacity 0.5s; }
.container input.ipt_submit:hover { opacity: 0.75; }
.bg_p h2 { color: #FFFFFF; }
.bg_p h2 span { border-bottom: 3px solid #FFFFFF; }
.bg_p p { color: #FFFFFF; }
.con_green dl dt { margin: 0 20px 0 0; width: 20px; text-align: center; }
.con_green dl dt img.img_w20 { width: 20px; height: auto; }
.con_green dl dt img.img_w29 { width: 20px; height: auto; }
.con_green dl dd { width: 397px; }
.con_submit { float: right; margin: 20px 0 0 0; width: 397px; }
/* Header and Nav */
.bg_g_head { background: url(../images/bg.png) no-repeat top center; border-bottom: 1px solid #FFFFFF; padding: 40px 0; width: 100%; height: 580px; overflow: hidden; }
.head_con { margin: 0 auto; width: 960px; }
.head_con_h1 { top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 960px; height: 680px; }
.head_con_h1 h1 { margin: 240px 0 0 0; }
.head_logo { float: left; line-height: 20px; }
.head_logo img { margin: 0; width: auto; height: 16px; }
nav { float: right; }
nav ul li { float: left; margin: 0 20px 0 0; font-weight: 700; letter-spacing: 0.1em; line-height: 20px; }
nav ul li:last-child { margin: 0; }
nav ul li a { display: block; background: url(../images/nav_arrow.png) no-repeat center right; background-size: 8px auto; padding: 0 18px 0 0; color: #000000; text-decoration: none; -webkit-transition: color 0.5s; -moz-transition: color 0.5s; -ms-transition: color 0.5s; -o-transition: color 0.5s; transition: color 0.5s; }
nav ul li a:hover { color: #F07485; }
.lang_jp a { float: right; background: #000000; margin: 0 0 0 20px; padding: 0 10px; color: #FFFFFF; text-decoration: none; line-height: 20px; -webkit-transition: background 0.5s; -moz-transition: background 0.5s; -ms-transition: background 0.5s; -o-transition: background 0.5s; transition: background 0.5s; }
.lang_jp a:hover { background: #F07485; }
h1 { margin: 0; font-size: 2.000em; font-weight: 700; font-style: italic; letter-spacing: 0.1em; }
.h1_sub { margin: 10px 0 0 0; font-size: 1.250em; font-weight: 700; font-style: italic; letter-spacing: 0.1em; line-height: 200%; }
/* Form */
#captcha_image { margin: 0 0 20px; }
#error_top { width: 100%; text-align: center; }
#name_error, #email1_error, #email2_error, #comment_error, #captcha_error { background: #F07485; margin: 0 0 1px 0; padding: 10px 0; color: #FFF; font-size: 0.750em; }
.txt_red { color: #F07485; }
/* Footer */
footer { background: #000000; padding: 30px 0; width: 100%; color: #FFFFFF; font-size: 0.750em; text-align: center; }
/* To top */
#totop { position: fixed; bottom: 40px; right: 40px; }
#totop img { width: 50px; height: auto; }
#totop a { display: block; -webkit-transition: opacity 0.5s; -moz-transition: opacity 0.5s; -ms-transition: opacity 0.5s; -o-transition: opacity 0.5s; transition: opacity 0.5s; }
#totop a:hover { opacity: 0.75; }
/* Confirm */
.container input.ipt_back { background: #B9B9B7; border: none; border-bottom: 3px solid #979795; width: 100%; color: #FFFFFF; font-size: 1.250em; font-style: italic; line-height: 40px; letter-spacing: 0.1em; -webkit-transition: opacity 0.5s; -moz-transition: opacity 0.5s; -ms-transition: opacity 0.5s; -o-transition: opacity 0.5s; transition: opacity 0.5s; }
.container input.ipt_back:hover { opacity: 0.75; }
.container .con_green_2nd { border-left: 3px solid #9AB253; margin: 0 auto; padding: 0 0 0 20px; width: 620px; overflow: hidden; }
.con_green_2nd dl { width: 640px; }
.con_green_2nd dl dt { margin: 0 20px 0 0; width: 20px; text-align: center; }
.con_green_2nd dl dt img.img_w20 { width: 20px; height: auto; }
.con_green_2nd dl dt img.img_w29 { width: 20px; height: auto; }
.con_green_2nd dl dd { width: 600px; word-wrap: break-word; }
.con_back { float: left; margin: 20px 20px 0 0; width: 180px; }
.con_back_3rd { margin: 20px auto 0; width: 397px; text-align: center; }
.bg_g_head_2nd { background: url(../images/bg.png) no-repeat top center; border-bottom: 1px solid #FFFFFF; padding: 40px 0; width: 100%; overflow: hidden; }
/* Banner */
.banner { margin: 40px 0 0; text-align: center; }
.banner a { -webkit-transition: opacity 0.5s; -moz-transition: opacity 0.5s; -ms-transition: opacity 0.5s; -o-transition: opacity 0.5s; transition: opacity 0.5s; }
.banner a:hover { opacity: 0.75; }
.banner img { width: 480px; height: auto; }
/* Books */
.books_container { border-top: 1px solid #F4F4F0; margin: 20px 0 0; padding: 20px 0; overflow: hidden; }
.books_container .books_l { float: left; width: 220px; text-align: center; }
.books_container .books_c { float: left; margin: 0 0 0 40px; width: 540px; }
.books_container .books_c h3 { margin: 0; padding: 0; color: #F07485; text-align: left; line-height: 150%; }
.books_container .books_c h3 span { font-size: 0.750em; }
.books_container .books_c h4 { margin: 20px 0 0; padding: 0; text-align: left; }
.books_container .books_c p { margin: 0; font-size: 0.875em; }
.books_container .books_r { float: right; width: 140px; }
.books_container .books_r a { display: block; background: #F4F4F0; border: 1px solid #B9B9B7; width: 140px; font-size: 1.000em; font-style: italic; text-decoration: none; text-align: center; line-height: 30px; letter-spacing: 0.1em; -webkit-transition: opacity 0.5s; -moz-transition: opacity 0.5s; -ms-transition: opacity 0.5s; -o-transition: opacity 0.5s; transition: opacity 0.5s; }
.books_container .books_r a:hover { opacity: 0.75; }
.books_container .books_r a span { font-size: 0.688em; }
.books_container .books_r ul { margin: 20px 0 0; width: 140px; }
.books_container .books_r ul li { background: url(../images/list_square.png) no-repeat left 4px; background-size: 6px auto; margin: 0 0 10px 0; padding: 0 0 0 11px; width: 140px; font-size: 0.688em; }
