@charset "UTF-8";


/* =============================================================================
   Forms
   ========================================================================== */
button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

/*
 * 1. Corrects color not being inherited in IE6/7/8/9
 * 2. Corrects text not wrapping in FF3
 * 3. Corrects alignment displayed oddly in IE6/7
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */
}

/*
 * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
 */
button,
input {
  line-height: normal;
  /* 1 */
}

input {
  padding: 0.1em;
  vertical-align: middle;
}

/*
 * 1. Improves usability and consistency of cursor style between image-type 'input' and others
 * 2. Corrects inability to style clickable 'input' types in iOS
 * 3. Removes inner spacing in IE7 without affecting normal text inputs
 *    Known issue: inner spacing remains in IE6
 */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  /* 1 */
  -webkit-appearance: button;
  /* 2 */
  *overflow: visible;
  /* 3 */
}

/*
 * Re-set default cursor for disabled elements
 */
button[disabled],
input[disabled] {
  cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
  vertical-align: baseline;
}

/*
 * 1. Addresses appearance set to searchfield in S5, Chrome
 * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in S5, Chrome on OS X
 */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/*
 * Removes inner padding and border in FF3+
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

legend {
  background: #FFF;
  color: #333;
  padding: 0.3em;
}

select {
  padding: 0;
  vertical-align: baseline;
}

/* for IE6 */
* html select {
  vertical-align: middle;
}

/* for IE7 */
*:first-child + html select {
  vertical-align: -0.2em;
}

textarea {
  line-height: 1.4;
  padding: 0.1em;
  vertical-align: middle;
}

/*
 * 1. Removes default vertical scrollbar in IE6/7/8/9
 * 2. Improves readability and alignment in all browsers
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* =============================================================================
   Tables
   ========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

/* =============================================================================
   Image
   ========================================================================== */
img {
  border: 0;
}

img {
  vertical-align: bottom;
  line-height: 0px;
}

/*
 * Improves image quality when scaled in IE7
 * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  -ms-interpolation-mode: bicubic;
}

/* =============================================================================
   Others
   ========================================================================== */
ing, abbr, acronym, fieldset {
  border: 0;
}

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

caption, th {
  text-align: left;
}

code, kbd, pre, samp, tt {
  font-family: monospace;
  _font-family: 'courier new', monospace;
  line-height: 100%;
}

/* for IE7 */
*:first-child + html code, *:first-child + html kbd, *:first-child + html pre, *:first-child + html samp, *:first-child + html tt {
  font-size: 108%;
}



/* =============================================================================
   component
   ========================================================================== */
.c-text-box {
  height: 24px;
  border: 1px solid #c7c7c7;
}
.error .c-text-box {
  background-color: #fce2da;
}

.c-text-box--01 {
  width: 406px;
}

.c-text-box--02 {
  width: 148px;
}

.c-text-box--03 {
  width: 600px;
}

.c-text-box--04 {
  width: 225px;
}

.c-text-box--05 {
  width: 337px;
}

.c-combo-box {
  height: 23px;
  border: 1px solid #c7c7c7;
}
.error .c-combo-box {
  background-color: #fce2da;
}

.c-txt-area {
  width: 600px;
  height: 83px;
  border: 1px solid #c7c7c7;
}
.error .c-txt-area {
  background-color: #fce2da;
}

/* =============================================================================
   layout
   ========================================================================== */
.c-section {
	width: 960px;
	margin: 0 auto;
	text-align: left;
}

html,
body {
  height: 100%;
}

#site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

#site-logo {
  float: left;
  margin-top: 18px;
}

.header__contact {
  float: right;
}

.header__tel {
  float: left;
  margin: 10px 15px 0 0;
}

.header__telTitle {
  font-size: 12px;
  margin-bottom: 5px;
}

.header__btn {
  float: left;
}
.header__btn a {
  transition: opacity 0.3s linear;
}
.header__btn a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}
@media only screen and (max-width: 640px) {
  .header__btn a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
  }
}

#site-footer {
	height: 56px;
	background-color: #2792c3;
	color: #fff;
	text-align: center;
}
#site-footer small {
  font-size: 13px;
  line-height: 56px;
}

.page-aftersend {
  padding: 200px 0 100px;
}
.page-aftersend .p-msg h2 {
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 25px;
}
.page-aftersend .p-msg p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.page-aftersend .p-msg p.last-el-child {
  margin-bottom: 0;
}
.page-aftersend .p-msg p:last-child {
  margin-bottom: 0;
}
.page-aftersend .p-msg p a {
  text-decoration: underline;
  transition: opacity 0.3s linear;
}
.page-aftersend .p-msg p a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}
@media only screen and (max-width: 640px) {
  .page-aftersend .p-msg p a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
  }
}
.page-aftersend #site-footer {
  background-color: #fff;
  color: #767676;
}

/* =============================================================================
   top
   ========================================================================== */
.kv__top {
  background: url("../images/head-topbg.png") center center no-repeat;
  background-size: cover;
  height: 580px;
}
.kv__top .c-section {
  position: relative;
}

.kv__title {
  padding-top: 117px;
  margin-bottom: 33px;
}

.kv__img {
  position: absolute;
  top: 156px;
  right: -53px;
}

.kv__btn {
  margin-top: 103px;
  text-align: center;
}
.kv__btn a {
  transition: opacity 0.3s linear;
}
.kv__btn a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}
@media only screen and (max-width: 640px) {
  .kv__btn a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
  }
}

.kv__btm {
  background-color: #6ebfe5;
  height: 142px;
}

.kv__photo {
  position: relative;
  top: -30px;
}

.p-reason {
  padding: 42px 0 0;
}

.reason__mainTitle {
  margin-bottom: 40px;
}

.reason__pointTitle {
  background: url("../images/contents01-titlebg.png") top left repeat-x;
  height: 91px;
  margin-bottom: 30px;
}
.reason__pointTitle .c-section {
  display: block;
}

.reson__pointBlock {
  background: url("../images/contents01-blockbtm.png") bottom left no-repeat;
  padding-bottom: 20px;
  margin-bottom: 40px;
}

.reson__pointBlockInner {
  background: url("../images/contents01-blocktop.png") top left no-repeat;
  padding-top: 20px;
}

.reson__pointBlockBody {
  background: url("../images/contents01-blockmdl.png") top center repeat-y;
  padding: 20px 40px;
}
.reason__point--02 .reson__pointBlockBody {
  position: relative;
}

.reson__pointBlockSentence {
  font-size: 16px;
  line-height: 2;
}

.reson__pointBlockMdl {
  margin: 23px 0 15px;
}

.reson__pointBlockMdlPhoto {
  position: relative;
  padding-top: 188px;
}

.reson__pointBlockMdlPhoto01 {
  position: absolute;
  top: 0;
  left: 0;
}

.reson__pointBlockMdlPhoto02 {
  position: absolute;
  top: 0;
  left: 506px;
}

.reason__pointBlockBtm {
  margin-top: 14px;
  border: 1px solid #e0e0e0;
  padding: 20px;
}
.reason__point--02 .reason__pointBlockBtm {
  width: 563px;
}

.reason__point--01 .reason__pointBlockBtmBody {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

.reason__pointBlockBtmTitle {
  margin-bottom: 15px;
}

.reason__pointBlockBtmSubTitle {
  font-size: 21px;
  text-indent: -12px;
}

.reson__pointBlockBtmSentence {
  margin-top: 10px;
  font-size: 12px;
  margin-left: 12px;
  text-indent: -12px;
}

.reason__point--01 .reason__pointBlockBtmImg {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  margin-left: 20px;
}
.reason__point--02 .reason__pointBlockBtmImg {
  margin-top: 18px;
}

.reason__point--02 .reson__pointBlockImg {
  position: absolute;
  top: 39px;
  right: 40px;
}

.case__mainTitle {
  background-color: #ddeff7;
  height: 162px;
  text-align: center;
}

.case__body {
  background: url("../images/contents02-bg.png") top left repeat;
  padding: 30px 0 40px;
}

.case__sliderWrap {
  width: 790px;
  float: left;
}

.case__sliderItem {
  border: 1px solid #2792c3;
}

.case__sliderItemInner {
  padding: 26px 26px 6px 23px;
  background-color: #fff;
}

.case__sliderItemTitle {
  margin-bottom: 18px;
}

.case__sliderItemSentence {
  margin-bottom: 18px;
}

.case__sliderItemSentenceTitle {
  margin-bottom: 12px;
}

.case__sliderItemSentenceTxt {
  font-size: 14px;
  line-height: 2;
}

.case__sliderNav {
  width: 180px;
  float: right;
}

.case__sliderNavItem {
  background: url("../images/contents02-slidenav.png") top left no-repeat;
  display: block;
  text-indent: -9999px;
  width: 100%;
}

.case__sliderNavItem01 {
  background-position: 0 0;
  height: 144px;
  margin-bottom: 10px;
}
.case__sliderNavItem01:hover, .case__sliderNavItem01.active {
  background-position: -180px 0;
}

.case__sliderNavItem02 {
  background-position: 0 -154px;
  height: 144px;
  margin-bottom: 10px;
}
.case__sliderNavItem02:hover, .case__sliderNavItem02.active {
  background-position: -180px -154px;
}

.case__sliderNavItem03 {
  background-position: 0 -308px;
  height: 144px;
  margin-bottom: 10px;
}
.case__sliderNavItem03:hover, .case__sliderNavItem03.active {
  background-position: -180px -308px;
}

.case__sliderNavItem04 {
  background-position: 0 -462px;
  height: 144px;
  margin-bottom: 10px;
}
.case__sliderNavItem04:hover, .case__sliderNavItem04.active {
  background-position: -180px -462px;
}

.p-cta {
  padding: 37px 0 40px;
}

.cta__title {
  margin-bottom: 21px;
}

.cta__btn a {
  transition: opacity 0.3s linear;
}
.cta__btn a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}
@media only screen and (max-width: 640px) {
  .cta__btn a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
  }
}

.p-faq {
  background-color: #e1eef4;
  padding: 40px 0 12px;
}

.faq__mainTitle {
  margin-bottom: 30px;
}

.faq__block {
  margin-bottom: 23px;
}

.faq__block--02 {
  margin-left: 112px;
}

.faq__block--03 {
  margin-left: 221px;
}

.faq__blockA {
  margin: 4px 0 0 88px;
  font-size: 17px;
  line-height: 2;
}
.faq__blockA a {
  color: #e85a5a;
  text-decoration: underline;
  transition: opacity 0.3s linear;
}
.faq__blockA a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}
@media only screen and (max-width: 640px) {
  .faq__blockA a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
  }
}

.p-contact {
  padding: 50px 0;
}

.contact__mainTitle {
  text-align: center;
  margin-bottom: 30px;
}

.contact__tbl {
  width: 100%;
}
.contact__tbl th,
.contact__tbl td {
  font-size: 14px;
  border: 1px solid #9db8d3;
  padding: 26px 20px 24px 10px;
}
.contact__tbl th {
	width: 280px;
	background-color: #f3f9fb;
}
.contact__tbl .error .validationMessage {
  display: block;
  color: #FF3E3E;
  margin-top: 5px;
}

.contact__tblReq {
  font-size: 14px;
  line-height: 22px;
  color: #fff;
  background-color: #db5761;
  width: 42px;
  height: 22px;
  text-align: center;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  float: right;
}

.contact__tblOpt {
  font-size: 14px;
  line-height: 22px;
  color: #fff;
  background-color: #4e769d;
  width: 42px;
  height: 22px;
  text-align: center;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
  float: right;
}

.contact__tblSentence {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

.contact__tblSentence--01 {
  margin-left: 10px;
}

.contact__tblSentence--02 {
  margin-left: 35px;
}

.contact__tblSentence--03 {
  display: block;
  margin-top: 10px;
}

.contact__btnArea {
  margin-top: 50px;
  padding-left: 245px;
}

.contact__btn {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: middle;
  transition: opacity 0.3s linear;
}
.contact__btn:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}
@media only screen and (max-width: 640px) {
  .contact__btn:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
  }
}

.contact__btn--r {
  margin-right: 56px;
}



#contact-title {
  background-color: #2db9d2;
}
#contact-title .contact-title__title {
  margin-bottom: 55px;
}
#contact-title .contact-title__tel .tel-pic {
  margin-right: 20px;
}

#about {
  text-align: left;
}
#about .about__box {
  border: 10px solid #e1f3fa;
  padding: 20px;
}
#about .about__title {
  color: #2c9ed0;
  margin-bottom: 10px;
}
#about .about__text {
  margin-bottom: 20px;
}
#about .about__link {
  text-align: center;
}
#about .product-pic {
  margin: 0 0 0 30px;
  float: right;
}
