@charset "UTF-8";
/* ===================================================================
  use toppage
=================================================================== */
/*_____ news ______________*/
/* ===================================================================
  form
=================================================================== */
/*_____ news ______________*/
/* text */
input.base_ja, textarea.base_ja { ime-mode: active; /*全角日本語/半角英数*/ }
input.base_en { ime-mode: inactive; /*半角英数/全角日本語*/ }
input.all_en { ime-mode: disabled; /*半角英数*/ }
/* reset */
input[type="tel"], input[type="email"], input[type="text"], textarea, select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background-color: transparent; -moz-box-shadow: none; box-shadow: none; vertical-align: middle; -moz-box-sizing: border-box; box-sizing: border-box; -moz-border-radius: 0; border-radius: 0; }
textarea { resize: none; }
label, input[type="radio"], input[type="checkbox"] { vertical-align: middle; }
input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"] { -moz-appearance: textfield; }
/* style */
input[type="tel"], input[type="email"], input[type="text"], textarea { color: #000000; width: 100%; font-size: 1.4rem; }
textarea { height: 100px; font-size: 1.4rem; }
/* focus */
input[type="tel"]:focus, input[type="email"]:focus, input[type="text"]:focus, textarea:focus, select:focus { border: solid 1px #ffffff; }
/* placeholder */
input:placeholder-shown, textarea:placeholder-shown { color: #898989; }
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #898989; }
input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: #898989; }
input::-moz-placeholder, textarea::-moz-placeholder { color: #898989; }
/*---------------------------------------------------------------------------*/
.contact_text { font-size: 1.4rem; text-align: center; margin-bottom: 40px; }
.attention { font-size: 1.2rem; text-align: right; line-height: 1; }
.attention .att { font-size: 1rem; color: #e60012; }
.contact_item dl { display: table; width: 100%; }
.contact_item dl + dl { margin-top: 5px; }
.contact_item dl dt, .contact_item dl dd { display: table-cell; vertical-align: top; }
.contact_item dl dt { width: 130px; padding: 15px 25px 10px; font-size: 1.3rem; }
.contact_item dl dt span { display: inline-block; width: 80px; padding: 8px 0; text-align: center; border: solid 1px #000000; }
.contact_item dl dt .att { position: relative; }
.contact_item dl dt .att:before { content: '※'; font-size: 1rem; color: #e60012; position: absolute; left: -20px; top: 0; bottom: 0; margin: auto; height: 1em; width: 1em; line-height: 1; }
.contact_item dl dd { font-size: 1.4rem; padding: 20px 10px 10px; border-bottom: solid 1px #9b9b9b; }
.contact_item dl .error { position: relative; }
.contact_item dl .error:before { content: '入力に不備がございます'; font-size: 1.3rem; position: absolute; top: 0; left: 10px; color: #e60012; }
.contact .btn_area { margin-top: 55px; }
/*---------------------------------------------------------------------------*/
.lede { margin-bottom: 50px; font-size: 1.4rem; text-align: center; }
.fadeImg { position: absolute; left: 50%; opacity: 0; margin-top: -30px; }
.main_area { height: 720px; background: url("../images/main.jpg") center center no-repeat; -moz-background-size: cover; background-size: cover; position: relative; }
.main_area h2 { top: 235px; margin-left: -270px; }
.main_area p { top: 320px; margin-left: -320px; }
@media print { .fadeImg { opacity: 1; margin-top: 0; } }
.greeting { padding: 125px 0 160px; }
.greeting h2 { margin-bottom: 60px; }
.philosophy h3 { text-align: center; font-size: 2.2rem; margin-bottom: 30px; }
.philosophy ul li { padding-top: 20px; margin-top: 20px; font-size: 1.7rem; }
.philosophy ul li + li { border-top: solid 1px #cdcdcd; }
.business .cols { width: 400px; font-size: 1.3rem; vertical-align: top; }
.business .cols + .cols { margin-left: 70px; }
.business dl + dl { margin-top: 40px; }
.business dl dt { font-size: 1.7rem; font-weight: bold; padding-bottom: 5px; margin-bottom: 12px; border-bottom: solid 1px #cdcdcd; }
.company .row { text-align: left; }
.company .cols { vertical-align: top; }
.company .cols + .cols { margin-left: 30px; }
.company .cols.w50 { width: 45%; }
.company .mar_wide td { padding-left: 35px; padding-right: 35px; }
.access { padding-bottom: 20px; }
.access h2 { margin-bottom: 30px; }
.access #map { height: 485px; width: 100%; }
.access .route { width: 620px; margin: 40px auto 0; }
.access .route dl { display: table; }
.access .route dl + dl { margin-top: 10px; }
.access .route dl dt, .access .route dl dd { display: table-cell; vertical-align: top; }
.access .route dl dt { width: 210px; padding-top: 12px; padding-left: 65px; padding-right: 18px; font-size: 1.8rem; position: relative; background-image: url("/common/images/icon_col_red.png"); background-position: right 21px; background-repeat: no-repeat; }
.access .route dl dt:before { content: ''; display: inline-block; vertical-align: middle; background-repeat: no-repeat; position: absolute; top: 0; left: 0; bottom: 0; margin: auto; width: 55px; height: 50px; background-position: left center; }
.access .route dl.train dt:before { background-image: url("/common/images/icon_train.png"); }
.access .route dl.car dt:before { background-image: url("/common/images/icon_car.png"); }
.access .route dl dd { padding-top: 12px; padding-left: 18px; }
