@charset "UTF-8";
/* -------------------------------
utility
------------------------------- */
.u-loading {
  position: absolute;
  top: 50%;
  left: 50%;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignleft {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}

.alignright {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}

/* -------------------------------
reset
------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  margin: 0;
  padding: 0;
}

img {
  vertical-align: top;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
}

/* base */
html {
  font-size: 62.5%;
}

body {
  background: #333;
  line-height: 1.4;
  font-family: Roboto, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
  color: #111;
}

a img {
  transition: opacity .15s ease-in-out;
}
a img:hover {
  opacity: 0.9;
}

hr {
  border: none #111 1px;
  border-top-style: dashed;
}

/* -------------------------------
layout
------------------------------- */
#site_header {
  margin: 0 0 0 17px;
}

#leftside {
  float: left;
  margin: 0;
  padding: 20px 0 0 0;
  width: 240px;
  min-height: 780px;
  background: url("../img/top/bg_left.png") 0 0 repeat-y;
}

#rightside {
  float: right;
  padding: 20px 0 0 0;
  width: 240px;
  min-height: 780px;
  background: url("../img/top/bg_right.png") 0 0 repeat-y;
}

#footer {
  background: #111;
  width: 100%;
  min-height: 210px;
  position: relative;
  color: #666;
  font-size: 1.2em;
}

#page_header {
  background: url("../img/bg_head.png") repeat-x;
  height: 97px;
}

.page_header__inner {
  width: 1080px;
  margin: 0 auto;
  padding: 20px 0 0 0;
}
.page_header__inner .brand_logo {
  float: left;
  overflow: hidden;
}
.page_header__inner .brand_logo:after {
  content: '';
  display: block;
  clear: both;
}
.page_header__inner .c-page_menu {
  float: left;
  overflow: hidden;
}
.page_header__inner .c-page_menu:after {
  content: '';
  display: block;
  clear: both;
}

#main_content {
  width: 1080px;
  margin: 30px auto 110px auto;
  padding: 0;
  position: relative;
}

#mail_form {
  background: #fff;
}

.cols {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.cols__column {
  display: table-cell;
  vertical-align: top;
}
.cols__column-left {
  width: 206px;
}
.cols__column-right {
  padding-left: 14px;
}

/* -------------------------------
object
------------------------------- */
.container {
  position: relative;
  margin: 0;
  padding: 0;
  min-width: 1120px;
  min-height: 1000px;
}

.layer-side {
  width: 100%;
  overflow: hidden;
}
.layer-side:after {
  content: '';
  display: block;
  clear: both;
}

.layer {
  position: absolute;
  width: 100%;
  overflow: hidden;
}
.layer--bg {
  z-index: -1;
  top: 0;
  bottom: 0;
  height: 100%;
}
.layer--main {
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
}

.mainvisual__img {
  width: 100%;
}

.c-menu {
  margin-top: 32px;
  overflow: hidden;
}
.c-menu__item {
  background: 32px center no-repeat;
  width: 230px;
  margin-right: 20px;
  margin-left: -5px;
  position: relative;
  border-radius: 5px;
  transition: background .15s ease-in-out;
}
.c-menu__item:hover {
  background-color: #fff;
  border-radius: 5px;
}
.c-menu__item:hover:before {
  content: '';
  display: block;
  position: absolute;
  background: url("../img/icn/icn_sakura_piece.png") 0 center no-repeat;
  width: 14px;
  height: 17px;
  top: 0;
  bottom: 0;
  left: 15px;
  margin: auto;
}
.c-menu__item > a {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  padding: 6px 0 6px 32px;
  margin: 0 auto;
}
.c-menu__item-top {
  background-image: url("../img/top/menu/menu_toppage.png");
}
.c-menu__item-top:hover {
  background-image: url("../img/top/menu/menu_toppage_hover.png");
}
.c-menu__item-info {
  background-image: url("../img/top/menu/menu_info.png");
}
.c-menu__item-info:hover {
  background-image: url("../img/top/menu/menu_info_hover.png");
}
.c-menu__item-product {
  background-image: url("../img/top/menu/menu_product.png");
}
.c-menu__item-product:hover {
  background-image: url("../img/top/menu/menu_product_hover.png");
}
.c-menu__item-support {
  background-image: url("../img/top/menu/menu_support.png");
}
.c-menu__item-support:hover {
  background-image: url("../img/top/menu/menu_support_hover.png");
}
.c-menu__item-recruit {
  background-image: url("../img/top/menu/menu_recruit.png");
}
.c-menu__item-recruit:hover {
  background-image: url("../img/top/menu/menu_recruit_hover.png");
}
.c-menu__item-contact {
  background-image: url("../img/top/menu/menu_contact.png");
}
.c-menu__item-contact:hover {
  background-image: url("../img/top/menu/menu_contact_hover.png");
}

.c-page_menu {
  float: left;
  width: 760px;
  margin: -22px 0 0 104px;
  overflow: hidden;
}
.c-page_menu:after {
  content: '';
  display: block;
  clear: both;
}
.c-page_menu__item {
  float: left;
  height: 70px;
  position: relative;
  vertical-align: top;
  background: 0 0 no-repeat;
  padding: 0 1px;
  transition: background .15s ease-in-out;
}
.c-page_menu__item > a {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  height: 100%;
}
.c-page_menu__item-top {
  background-image: url("../img/head_menu/menu_top.png");
  width: 118px;
}
.c-page_menu__item-top:hover {
  background-image: url("../img/head_menu/menu_top_on.png");
}
.c-page_menu__item-info {
  background-image: url("../img/head_menu/menu_info.png");
  width: 166px;
}
.c-page_menu__item-info:hover {
  background-image: url("../img/head_menu/menu_info_on.png");
}
.c-page_menu__item-product {
  background-image: url("../img/head_menu/menu_product.png");
  width: 118px;
}
.c-page_menu__item-product:hover {
  background-image: url("../img/head_menu/menu_product_on.png");
}
.c-page_menu__item-support {
  background-image: url("../img/head_menu/menu_support.png");
  width: 114px;
}
.c-page_menu__item-support:hover {
  background-image: url("../img/head_menu/menu_support_on.png");
}
.c-page_menu__item-recruit {
  background-image: url("../img/head_menu/menu_recruit.png");
  width: 114px;
}
.c-page_menu__item-recruit:hover {
  background-image: url("../img/head_menu/menu_recruit_on.png");
}
.c-page_menu__item-contact {
  background-image: url("../img/head_menu/menu_contact.png");
  width: 118px;
}
.c-page_menu__item-contact:hover {
  background-image: url("../img/head_menu/menu_contact_on.png");
}

.c-link_list {
  margin-top: 32px;
}
.c-link_list__item {
  display: inline-block;
  margin: 0 0 12px 17px;
}

.c-promo__item {
  margin-left: 20px;
}

.c-widget {
  margin: 17px 0 0 17px;
  width: 202px;
}
.c-widget__inner {
  border-radius: 12px;
}
.c-widget__inner-info {
  border: solid 1px #43d1ff;
}
.c-widget__inner-twitter {
  border: solid 1px #ff84af;
}
.c-widget__inner-archive {
  border: solid 1px #ff84af;
}
.c-widget-info {
  background: #fff;
  border: solid 1px #fff;
  border-radius: 12px;
}
.c-widget-twitter {
  background: #fff;
  border: solid 1px #fff;
  border-radius: 12px;
}
.c-widget-twitter__head {
  position: relative;
}
.c-widget-twitter__body {
  padding: 0 0 4px 0;
}
.c-widget-archive {
  background: #fff;
  border: solid 2px #fff;
  border-radius: 12px;
}
.c-widget-archive__head {
  position: relative;
}
.c-widget-archive__body {
  padding: 8px 0 25px 0;
}

.c-info_list__date {
  margin: 4px 0 4px 8px;
  padding: 0 0 0 26px;
  position: relative;
  color: #26c9ff;
}
.c-info_list__date:before {
  content: '';
  display: block;
  background: url("../img/icn/icn_sakura_blue.png");
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 20px;
}
.c-info_list__text {
  border-bottom: solid 1px #a0e7ff;
  margin: 0 8px 12px;
  padding-bottom: 12px;
}
.c-info_list__text > a {
  text-decoration: underline;
  color: #111;
  transition: color .15s ease-in-out;
}
.c-info_list__text > a:hover, .c-info_list__text > a:focus {
  color: #787878;
}

.c-btn-follow {
  position: absolute;
  top: 6px;
  left: 130px;
}

.c-site_map {
  text-align: center;
  line-height: 1.6;
  padding: 28px 0;
}
.c-site_map a {
  text-decoration: none;
  color: #666;
  transition: color .15s ease-in-out;
}
.c-site_map a:hover, .c-site_map a:focus {
  color: #9c9c9c;
}
.c-site_map h4 {
  font-weight: bold;
}

.c-site_map__map {
  display: inline-block;
  border-right: solid 1px #666;
  text-align: left;
  height: 130px;
  padding-right: 38px;
}
.c-site_map__map__column {
  display: inline-block;
  margin-right: 12px;
  vertical-align: top;
}

.c-site_map__external {
  display: inline-block;
  border-right: solid 1px #666;
  text-align: left;
  height: 130px;
  vertical-align: top;
  padding: 0 48px;
}

.c-site_map__sns {
  display: inline-block;
  text-align: left;
  height: 130px;
  vertical-align: top;
  padding: 0 48px;
}
.c-site_map__sns > a {
  margin-right: 5px;
}

.c-copyright > p {
  text-align: center;
}

.c-page_title {
  margin-bottom: 15px;
}

.c-archive_dates > li {
  margin: 0 12px;
  padding: 0;
  position: relative;
  border-bottom: solid 1px #ffc1d6;
}
.c-archive_dates__date {
  margin: 11px 0 11px 8px;
  padding: 0 0 0 26px;
  position: relative;
  color: #111;
  font-size: 1.2em;
}
.c-archive_dates__date:before {
  content: '';
  display: block;
  background: url("../img/icn/icn_sakura_piece.png");
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 14px;
  height: 17px;
}
.c-archive_dates__date > a {
  text-decoration: none;
  color: #111;
  transition: color .15s ease-in-out;
}
.c-archive_dates__date > a:hover, .c-archive_dates__date > a:focus {
  color: #787878;
}
.c-archive_dates__text {
  border-bottom: solid 1px #ffc1d6;
  margin: 0 8px 12px;
  padding-bottom: 12px;
}

.c-category__item {
  margin: 0 0 10px;
}

.c-category_tags {
  margin-top: 14px;
}
.c-category_tags__item {
  display: inline-block;
}

.c-info_contents__item {
  border-radius: 14px;
  border: solid 2px #fff;
  margin-bottom: 8px;
  background: #fff;
}
.c-info_contents__inner {
  border-radius: 12px;
  border: solid 1px #42d0ff;
  padding: 15px 27px;
}
.c-info_contents__head {
  margin-bottom: 11px;
}
.c-info_contents__date {
  font-size: 2.4em;
  font-weight: bold;
  color: #26c9ff;
}
.c-info_contents__title {
  font-size: 1.8em;
  font-weight: bold;
  border-bottom: solid 1px #a0e7ff;
  padding: 3px 0 8px;
  margin-bottom: 14px;
}
.c-info_contents__title a {
  color: #111;
  text-decoration: none;
}
.c-info_contents__title a:focus, .c-info_contents__title a:active, .c-info_contents__title a:hover {
  color: #f589bd;
}
.c-info_contents__body {
  line-height: 1.6;
  overflow: hidden;
}
.c-info_contents__body:after {
  content: '';
  display: block;
  clear: both;
}
.c-info_contents__body p {
  font-size: 1.4em;
}
.c-info_contents__body a {
  color: #f859a5;
  text-decoration: underline;
}
.c-info_contents__body a:focus, .c-info_contents__body a:active, .c-info_contents__body a:hover {
  color: #f589bd;
}
.c-info_contents__body h3 {
  font-size: 1.8em;
  padding: 20px 0 7px 26px;
  border-bottom: solid 1px #a0e7ff;
  position: relative;
}
.c-info_contents__body h3:before {
  content: '';
  display: block;
  background: url("../img/icn/icn_sakura_blue.png");
  position: absolute;
  top: 11px;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 20px;
}

.c-product_contents__item {
  border-radius: 14px;
  border: solid 2px #fff;
  margin-bottom: 8px;
  background: #fff;
}
.c-product_contents__inner {
  border-radius: 12px;
  border: solid 1px #42d0ff;
  padding: 15px 27px;
}
.c-product_contents__head {
  margin-bottom: 11px;
  color: #26c9ff;
  font-size: 1.8em;
}
.c-product_contents__link {
  margin-top: 12px;
}
.c-product_contents__link > a {
  color: #ff64ab;
  font-size: 2.4em;
  text-decoration: underline;
}
.c-product_contents__body {
  line-height: 1.6;
}
.c-product_contents__body a {
  color: #f859a5;
  text-decoration: underline;
}
.c-product_contents__body a:focus, .c-product_contents__body a:active, .c-product_contents__body a:hover {
  color: #f589bd;
}

.c-support_contents__item {
  border-radius: 14px;
  border: solid 2px #fff;
  margin-bottom: 8px;
  background: #fff;
}
.c-support_contents__inner {
  border-radius: 12px;
  border: solid 1px #42d0ff;
  padding: 15px 27px;
}
.c-support_contents__head {
  margin-bottom: 11px;
  font-size: 1.8em;
}
.c-support_contents__head p {
  margin-bottom: 11px;
}
.c-support_contents__em {
  margin-top: 12px;
  color: #26c9ff;
  font-size: 2.4em !important;
}
.c-support_contents__lastdate {
  font-size: 1.4em;
}
.c-support_contents__dl {
  margin: 20px 0;
  text-align: center;
}
.c-support_contents__body {
  line-height: 1.6;
}
.c-support_contents__body p {
  font-size: 1.4em;
  margin: 11px 0;
}
.c-support_contents__body h3 {
  font-size: 1.8em;
  padding: 20px 0 7px 26px;
  border-bottom: solid 1px #a0e7ff;
  position: relative;
}
.c-support_contents__body h3:before {
  content: '';
  display: block;
  background: url("../img/icn/icn_sakura_blue.png");
  position: absolute;
  top: 11px;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 20px;
}

.c-recruit_contents__item {
  border-radius: 14px;
  border: solid 2px #fff;
  margin-bottom: 8px;
  background: #fff;
}
.c-recruit_contents__inner {
  border-radius: 12px;
  border: solid 1px #42d0ff;
  padding: 15px 27px;
}
.c-recruit_contents h3, .c-recruit_contents__head {
  margin-bottom: 11px;
  font-size: 2.4em;
  font-weight: bold;
}
.c-recruit_contents__body {
  line-height: 1.6;
  min-height: 200px;
}
.c-recruit_contents__body p {
  font-size: 1.4em;
}
.c-recruit_contents__body a {
  color: #f859a5;
  text-decoration: underline;
}
.c-recruit_contents__body a:focus, .c-recruit_contents__body a:active, .c-recruit_contents__body a:hover {
  color: #f589bd;
}

.c-contact_contents__item {
  border-radius: 14px;
  border: solid 2px #fff;
  margin-bottom: 8px;
  background: #fff;
}
.c-contact_contents__inner {
  border-radius: 12px;
  border: solid 1px #42d0ff;
  padding: 15px 27px;
}
.c-contact_contents__body {
  line-height: 1.6;
  min-height: 200px;
}
.c-contact_contents__body p {
  font-size: 1.4em;
}
.c-contact_contents__body a {
  color: #f859a5;
  text-decoration: underline;
}
.c-contact_contents__body a:focus, .c-contact_contents__body a:active, .c-contact_contents__body a:hover {
  color: #f589bd;
}
.c-contact_contents__body iframe {
  width: 100%;
  height: 620px;
}

.c-contact_notes__item {
  margin: 15px 0;
  padding-left: 1.5em;
  position: relative;
}
.c-contact_notes__item::before {
  content: '■';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.4em;
}

.c-contact_form {
  border-collapse: collapse;
  width: 100%;
  margin: 30px 0 0;
}
.c-contact_form input[type="text"],
.c-contact_form select,
.c-contact_form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #ffdfef;
  border: none;
  padding: 7px;
  transition: background .25s ease-out;
}
.c-contact_form input[type="text"]:focus,
.c-contact_form select:focus,
.c-contact_form textarea:focus {
  outline: solid 1px #ccc;
  background: #ffe8f4;
}
.c-contact_form select {
  padding-right: 30px;
  position: relative;
  border-radius: 0;
}
.c-contact_form select:focus {
  outline: none;
}
.c-contact_form-inline {
  display: inline-block;
}
.c-contact_form__row {
  border-bottom: solid 1px #ececfb;
}
.c-contact_form__row:last-child {
  border: none;
}
.c-contact_form__row > th, .c-contact_form__row > td {
  padding: 12px 0;
  text-align: left;
  vertical-align: top;
  font-size: 1.4em;
}
.c-contact_form__row > th {
  width: 165px;
  padding-right: 12px;
}
.c-contact_form__input-name, .c-contact_form__input-email, .c-contact_form__input-dlserial {
  width: 420px;
}
.c-contact_form__input-msg {
  width: 500px;
}
.c-contact_form__input-email:first-child {
  margin-bottom: 7px;
}
.c-contact_form__input-type {
  display: inline-block;
}
.c-contact_form__dropdown {
  position: relative;
}
.c-contact_form__dropdown:after {
  display: block;
  content: '';
  clear: both;
}
.c-contact_form__dropdownIcon {
  float: right;
  top: 11.5px;
  right: 10px;
  position: absolute;
}
.c-contact_form__dropdownIcon:before {
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7.5px 0 7.5px;
  border-color: #ff7abd transparent transparent transparent;
}
.c-contact_form__btn {
  border: solid 1px #ccc;
  background: #ddd;
  padding: 5px 7px;
  width: 200px;
}
.c-contact_form__reset {
  width: 100px;
  margin: 0 24px;
}
.c-contact_form__error {
  color: #ff0000;
}
.c-contact_form__need {
  color: #ff0000;
}
.c-contact_form__thanks {
  font-size: 1.4em;
}
.c-contact_form__thanks p {
  margin: 40px 0;
}
.c-contact_form .msg {
  color: #ff0000;
}

.c-contact_error {
  font-size: 1.4em;
}
.c-contact_error h2 {
  margin: 40px 0 12px;
  color: #ff0000;
}
.c-contact_error p {
  margin: 12px 0;
}
.c-contact_error a {
  color: #ff64ab;
  text-decoration: underline;
}

.c-to_top > a {
  display: block;
  position: absolute;
  bottom: -116px;
  left: 1000px;
}

.more-link {
  border: solid 1px #f859a5;
  padding: 0 10px;
  color: #fff !important;
  background: #f859a5;
  transition: opacity 0.2s ease-in;
}
.more-link:hover {
  opacity: 0.8;
}

/* -------------------------------
utility
------------------------------- */
.u-loading {
  position: absolute;
  top: 50%;
  left: 50%;
}

.u-img_full {
  width: 100%;
  min-width: 1120px;
}

.u-fix {
  position: fixed;
}

.u-clr_blue {
  color: #26c9ff;
}
.u-clr_red {
  color: #f00;
}
