@charset 'UTF-8';
/*========================================*/
/* Foundation
/*========================================*/
/*@mixin font_smoothing {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}*/
@import url(//fonts.googleapis.com/css?family=Open+Sans:400,400italic,600,600italic,700,700italic);
/*--------------------------------------
  Reset Css
---------------------------------------*/
html , body , div , span , object , iframe , h1 , h2 , h3 , h4 , h5 , h6 , p , blockquote , pre , a , address , code , em , img , small , strong , dl , dt , dd , ol , ul , li , form , label , table , tbody , tfoot , thead , tr , th , td , article , aside , canvas , embed , figure , figcaption , footer , header , nav , section , summary , time , audio , video {
  font-size : 100%;
  margin : 0;
  padding : 0;
  vertical-align : baseline; 
  border : 0;
}

ol , ul {
  list-style : none;
}

table {
  border-spacing : 0; 
  border-collapse : collapse;
}

blockquote , q {
  quotes : none;
}

blockquote:before , blockquote:after , q:before , q:after {
  content : none;
}

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

body , input , button , select , textarea {
  font-family : 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', Arial, Helvetica, sans-serif;
}

body {
  font-size : 1.4rem;
  line-height : 1.8;
  min-width : 1054px;
  text-align : left;
  color : #595656;
  background : #faf9f4;

  -webkit-text-size-adjust : 100%;
}
@media screen and (max-width: 768px) {
  body {
    min-width : 100%;
  }
}

h1 , h2 , h3 , h4 , h5 , h6 {
  line-height : 1.4;
}

img {
  max-width : 100%;
  height : auto; 
  vertical-align : top;
}

input , button , textarea , select {
  margin : 0;
  padding : 0; 

  -webkit-appearance : none;
}

strong {
  font-weight : bold;
}

em {
  font-style : italic;
}

a {
  transition : opacity .3s; 
  text-decoration : none;
  color : #6e6c6b;
}

@media print, screen and (min-width: 768px) {
  a:hover {
    opacity : .6;
  }
}

* {
  box-sizing : border-box;
}

*:before , *:after {
  box-sizing : border-box;
}

/*========================================*/
/* Layout
/*========================================*/
.l-header {
  overflow : hidden;
}
.l-header__logo {
  width : 80px;
  margin : 0 auto; 
  padding : 15px 0;
}
.l-header__contents {
  margin : 0 -15px; 
  background : #fff;
  box-shadow : 0 5px 12px -5px rgba(0, 0, 0, .12) inset;
}
.l-header__contents .nav {
  padding : 12px 50px 0;
}
.l-header__contents .nav__list > li {
  font-size : 1.4rem;
  line-height : 50px; 
  width : 100%;
  text-align : center;
  border-right : none;
  border-bottom : 1px solid #dcdbd7;
}
.l-header__contents .nav__list > li:first-child {
  border-left : none;
}
.l-header__contents__btn {
  position : absolute;
  top : 0;
  right : -25px; 
  display : block;
}
.l-header__contents__btn span , .l-header__contents__btn:before , .l-header__contents__btn:after {
  position : absolute; 
  left : 50%;
  display : block;
  width : 20px;
  height : 2px;
  margin-left : -60px;
  content : '';
  transition : -webkit-transform .2s;
  transition :         transform .2s;
  transition :         transform .2s, -webkit-transform .2s;
  background-color : #757dbb;
}
.l-header__contents__btn span {
  top : 24px;
}
.l-header__contents__btn:before {
  top : 30px;
}
.l-header__contents__btn:after {
  top : 36px;
}
.l-header__contents__btn.is-open span {
  display : none;
}
.l-header__contents__btn.is-open:before {
  top : 28px; 
  -webkit-transform : rotate(45deg);
      -ms-transform : rotate(45deg);
          transform : rotate(45deg);
}
.l-header__contents__btn.is-open:after {
  top : 28px; 
  -webkit-transform : rotate(-45deg);
      -ms-transform : rotate(-45deg);
          transform : rotate(-45deg);
}
.l-header__contents .menu {
  padding : 25px 0;
}
.l-header__contents .menu__list {
  font-size : 0;
  text-align : center;
}
.l-header__contents .menu__list > li {
  font-size : 1.2rem;
  line-height : 1; 
  display : inline-block;
  border-left : 1px solid #595656;
}
.l-header__contents .menu__list > li:first-child {
  border-left : none;
}
.l-header__contents .menu__list > li a {
  display : block;
  padding : 0 10px;
}
.l-header__contents .follow {
  padding-bottom : 20px;
}
.l-header__contents .follow__list {
  font-size : 0;
  text-align : center;
}
.l-header__contents .follow__list > li {
  font-size : 1.2rem;
  line-height : 1;
  display : inline-block;
  margin : 0 10px;
}
.l-header__contents .follow__list > li a {
  display : inline-block;
}
.l-header__contents .follow__list > li a.icon-facebook:before {
  position : relative;
  top : -2px; 
  display : inline-block;
  width : 21px;
  height : 21px;
  content : '';
  background : url(../images/common/icon-facebook.svg) no-repeat;
  background-size : 21px 21px;
}
.l-header__contents .follow__list > li a.icon-instagram:before {
  display : inline-block;
  width : 24px;
  height : 24px;
  content : '';
  background : url(../images/common/icon-instagram.svg) no-repeat;
  background-size : 24px 24px;
}
.l-header__onlineshop {
  position : absolute;
  z-index : 100; 
  top : 20px;
  left : 15px;
  width : auto;
}
.l-header__onlineshop > a {
  display : inline-block;
  height : auto;
  text-align : center;
  color : #fff; 
  border-radius : 50%;
}
.l-header__onlineshop > a .icon--cart:before {
  display : inline-block;
  width : 20px;
  height : 20px;
  content : '';
  background : url(../images/common/icon-cart_purple.svg) no-repeat;
  background-size : 20px 20px;
}
.l-header__onlineshop > a .icon--mail:before {
  display : inline-block;
  width : 24px;
  height : 19px;
  content : '';
  background : url(../images/common/icon-mail.png) no-repeat;
  background-size : 24px 19px;
}
.l-header__onlineshop__txt {
  display : none;
}

@media screen and (min-width: 768px) {
  .l-header {
    overflow : visible;
    padding : 20px 0; 
    border-top : 5px solid #757dbb;
  }
  .l-header__logo {
    width : 120px;
    margin : 0; 
    padding : 0;
  }
  .l-header__contents {
    position : absolute;
    top : 0;
    left : 50%;
    width : 660px;
    height : 91px;
    margin : 0 0 0 -330px; 
    background : none;
    box-shadow : none;
  }
  .l-header__contents .nav {
    position : absolute;
    bottom : 0;
    width : 100%;
    padding : 0;
  }
  .l-header__contents .nav__list {
    font-size : 0;
  }
  .l-header__contents .nav__list > li {
    line-height : 40px; 
    display : inline-block;
    width : 20%;
    text-align : center;
    border-right : 1px solid #dcdbd7;
    border-bottom : none;
  }
  .l-header__contents .nav__list > li:first-child {
    border-left : 1px solid #dcdbd7;
  }
  .l-header__contents .nav__list > li a {
    display : block;
    transition : all .3s ease;
  }
  .l-header__contents .nav__list > li a:hover {
    opacity : 1;
    color : #fff; 
    background : #757dbb;
  }
  .l-header__contents__btn {
    display : none;
  }
  .l-header__contents .menu {
    position : absolute;
    top : 0;
    right : 70px; 
    padding : 6px 0;
  }
  .l-header__contents .follow {
    position : absolute;
    top : 0;
    right : 0;
    padding-bottom : 0;
  }
  .l-header__contents .follow__list > li {
    margin : 0 0 0 15px;
  }
  .l-header__contents .follow__list > li a.icon-instagram:before {
    width : 24px;
    height : 24px;
    background : url(../images/common/icon-instagram.svg) no-repeat;
    background-size : 24px 24px;
  }
  .l-header__onlineshop {
    top : auto;
    right : 0;
    bottom : -35px;
    left : auto; 
    width : 120px;
  }
  .l-header__onlineshop > a {
    width : 100%;
    height : 120px;
    padding-top : 32px; 
    border-radius : 50%;
    background : #757dbb;
  }
  .l-header__onlineshop > a .icon--cart:before {
    width : 27px;
    height : 27px;
    transition : all .3s ease; 
    background : url(../images/common/icon-cart.svg) no-repeat;
    background-size : 27px 27px;
  }
  .l-header__onlineshop > a .icon--mail:before {
    transition : all .3s ease; 
    background : url(../images/common/icon-mail.svg) no-repeat;
  }
  .l-header__onlineshop > a:hover {
    opacity : 1;
  }
  .l-header__onlineshop > a:hover .icon--cart:before , .l-header__onlineshop > a:hover .icon--mail:before {
    -webkit-transform : translateY(-5px);
        -ms-transform : translateY(-5px);
            transform : translateY(-5px);
  }
  .l-header__onlineshop__txt {
    font-family : Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; 
    display : block;
  }
}

.l-footer {
  position : relative; 
  background : #eee;
}
.l-footer .pagetop {
  display : block;
  width : 100%;
  padding : 6px 0; 
  text-align : center;
  background : #757dbb;
}
.l-footer .pagetop .icon--arrow-up:before {
  font-size : 180%;
  line-height : 1; 
  color : #fff;
}
.l-footer__logo {
  padding : 22px 0; 
  text-align : center;
}
.l-footer__logo img {
  width : 70px;
}
.l-footer__links {
  font-size : 0;
  margin : 0 0 5px; 
  text-align : center;
}
.l-footer__links ul li {
  font-size : 1.2rem;
  line-height : 1;
  display : inline-block;
  margin-bottom : 15px; 
  border-right : 1px solid #595656;
}
.l-footer__links ul li:last-child {
  border-right : none;
}
.l-footer__links ul li a {
  padding : 0 10px; 
  color : #595656;
}
.l-footer__copyright {
  font-size : 1.2rem;
  margin-bottom : 30px; 
  text-align : center;
}

@media screen and (min-width: 768px) {
  .l-footer {
    padding : 20px 0;
  }
  .l-footer .l-inner {
    *zoom : 1;
  }
  .l-footer .l-inner:before , .l-footer .l-inner:after {
    display : table;
    content : ' ';
  }
  .l-footer .l-inner:after {
    clear : both;
  }
  .l-footer .pagetop {
    position : absolute;
    top : -25px;
    right : 50%;
    display : table;
    width : 50px;
    height : 50px;
    margin-right : -512px; 
    border-radius : 50%;
  }
  .l-footer .pagetop .icon--arrow-up {
    display : table-cell;
    vertical-align : middle;
  }
  .l-footer__logo {
    float : left;
    margin : 0 20px; 
    padding : 0;
  }
  .l-footer__logo img {
    width : 80px;
  }
  .l-footer__links {
    margin : 8px 0 5px;
  }
  .l-footer__links ul li {
    font-size : 1.4rem;
  }
  .l-footer__copyright {
    margin-bottom : 0;
  }
}

.l-inner {
  position : relative; 
  width : 100%;
  margin : 0 auto;
  padding-right : 15px;
  padding-left : 15px;
}

.l-contents {
  padding-bottom : 50px;
}

.l-section {
  padding : 30px 0;
}
.l-section--s {
  padding : 20px 0;
}

.l-block {
  margin-bottom : 20px;
}

@media screen and (min-width: 768px) {
  .l-inner {
    width : 1024px;
    padding : 0;
  }
  .l-inner.inner--s {
    width : 640px;
  }
  .l-contents {
    padding-bottom : 60px;
  }
  .l-section {
    padding : 60px 0;
  }
  .l-section--s {
    padding : 50px 0;
  }
  .l-block {
    margin-bottom : 40px;
  }
  .l-main {
    min-height : 400px;
  }
}

/* Main
---------------------------------------*/
.contents-heading {
  padding : 15px 0; 
  text-align : center;
  background : #fff;

  *zoom : 1;
}
.contents-heading:before , .contents-heading:after {
  display : table;
  content : ' ';
}
.contents-heading:after {
  clear : both;
}
.contents-heading__inner {
  font-family : 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', Arial, Helvetica, sans-serif;
  font-size : 1.8rem;
  font-weight : bold;
  line-height : 1.4;
}
.contents-heading__inner span {
  font-size : .5em; 
  font-weight : normal;
  display : block;
}
.contents-heading__caption {
  font-size : 0;
}
.contents-heading__caption li {
  font-size : 1.4rem;
  line-height : 1;
  display : inline-block;
  margin-left : 10px; 
  padding-left : 10px;
  color : #6e6c6b;
  border-left : 1px solid #6e6c6b;
}
.contents-heading__caption li:first-child {
  margin-left : 0; 
  padding-left : 0;
  border-left : none;
}
.contents-heading__back {
  font-size : 1.4rem;
  line-height : 1; 
  float : left;
}
.contents-heading__back a {
  color : #757dbb;
}
.contents-heading__back a:before {
  font-weight : bold;
  position : relative;
  top : -1px; 
  margin-right : 5px;
  content : '<';
}

@media screen and (min-width: 768px) {
  .contents-heading {
    position : relative; 
    padding : 30px 0;
  }
  .contents-heading__inner {
    font-family : Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size : 4rem;
    font-weight : normal;
    line-height : 1.3;
  }
  .contents-heading__inner span {
    font-family : 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', Arial, Helvetica, sans-serif;
    font-size : .35em;
    color : #6e6c6b;
  }
  .contents-heading__back {
    position : absolute;
  }
}

.lead-txt {
  font-size : 1.4rem;
  font-weight : bold;
  line-height : 1.8; 
  text-align : center;
}
.lead-txt--designaward {
  font-size : 1.2rem; 
  text-align : right;
}
.lead-txt--designaward .icon--designaward {
  position : relative;
  top : 3px; 
  margin-right : 5px;
}

@media screen and (min-width: 768px) {
  .lead-txt {
    font-size : 1.6rem;
    font-weight : normal;
  }
  .lead-txt--designaward {
    font-size : 1.4rem;
  }
  .lead-txt--designaward .icon--designaward {
    top : 4px; 
    margin-right : 10px;
  }
}

.link-card__link {
  display : block;
  text-align : center;
  background : #fff;
}

.link-card__caption {
  font-family : Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size : 1.6rem;
  line-height : 1.35;
  padding : 20px;
}
.link-card__caption span {
  font-family : 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', Arial, Helvetica, sans-serif;
  font-size : 1.2rem;
  display : inline-block;
  margin-left : 10px; 
  padding-left : 10px;
  color : #6e6c6b;
  border-left : 1px solid #6e6c6b;
}

@media screen and (min-width: 768px) {
  .link-card__link:hover {
    opacity : 1;
  }
  .link-card__img {
    overflow : hidden;
  }
  .link-card__caption {
    font-size : 3rem;
    padding : 25px;
  }
  .link-card__caption span {
    font-size : .35em;
    display : block;
    margin-left : 0; 
    padding-left : 0;
    border-left : none;
  }
}

.article-card a {
  display : block;
  padding-bottom : 10px;
}

.article-card__img {
  position : relative; 
  text-align : center;
}

.article-card__icon {
  position : absolute;
  bottom : 5px;
  left : 5px; 
  width : 22px;
  height : 22px;
  border-radius : 50%;
  background : #b48f4c;
}
.article-card__icon:after {
  position : absolute;
  top : 50%;
  left : 50%;
  display : inline-block;
  width : 12px;
  height : 9px;
  margin-top : -5px;
  margin-left : -6px; 
  content : '';
  background : url(../images/common/icon-crown.png) no-repeat 0;
  background-size : 12px 9px;
}

.article-card__body {
  font-size : 1.1rem;
  margin-top : 10px; 
  text-align : center;
}

.article-card__heading {
  font-size : 1.2rem;
  font-weight : bold;
  margin-bottom : 5px; 
  text-align : center;
}

.article-card__list {
  line-height : 1.3;
  padding : 10px 0 0; 
  border-top : 1px dotted #d7c4a0;
}
.article-card__list li {
  font-size : 1.2rem;
  display : inline-block;
  padding-right : 10px; 
  color : #b48f4c;
}
.article-card__list li a {
  font-size : 1.1rem;
}

@media screen and (min-width: 768px) {
  .article-card a {
    padding-bottom : 15px;
  }
  .article-card a:hover {
    opacity : 1;
  }
  .article-card a:hover .article-card__img {
    opacity : 1;
  }
  .article-card a:hover .article-card__heading {
    text-decoration : underline;
  }
  .article-card__img {
    transition : all .3s ease;
  }
  .article-card__icon {
    bottom : 10px;
    left : 10px; 
    width : 29px;
    height : 29px;
  }
  .article-card__icon:after {
    width : 17px;
    height : 11px;
    margin-top : -6px;
    margin-left : -8px; 
    background-size : 17px 11px;
  }
  .article-card__body {
    font-size : 1.4rem;
    margin-top : 15px;
  }
  .article-card__heading {
    font-size : 1.6rem;
    font-weight : bold;
    margin-bottom : 5px;
  }
  .article-card__list {
    padding : 10px 10px 0;
  }
  .article-card__list li {
    padding-right : 20px;
  }
}

.article-media__img {
  position : relative;
  transition : all .3s ease; 
  text-align : center;
  background : #fff;
}
.article-media__img.icon--new:after {
  position : absolute;
  z-index : 10; 
  top : -10px;
  left : 0;
  display : inline-block;
  width : 78px;
  height : 30px;
  content : '';
  background : url(../images/common/icon-new.png) no-repeat;
  background-size : 78px 30px;
}

.article-media__meta {
  font-size : 1rem;
  margin : 15px 0 10px; 
  color : #595656;
}
.article-media__meta span {
  margin-right : 15px; 
  padding-right : 15px;
  border-right : 1px solid #595656;
}
.article-media__meta span:last-child {
  margin-right : 0; 
  padding-right : 0;
  border-right : none;
}

.article-media__heading {
  font-weight : bold;
}

.article-media-info-col {
  margin-top : 0 !important; 
  padding : 0 !important;
}

.article-media.article-media-info {
  padding : 15px; 
  border-bottom : 1px solid #dcdbd7;

  *zoom : 1;
}
.article-media.article-media-info:before , .article-media.article-media-info:after {
  display : table;
  content : ' ';
}
.article-media.article-media-info:after {
  clear : both;
}
.article-media-info-col:first-child .article-media.article-media-info {
  border-top : 1px solid #dcdbd7;
}
.article-media.article-media-info a {
  display : block;
}
.article-media.article-media-info .article-media__img {
  float : left;
  width : 100px;
  margin-right : 10px;
}
.article-media.article-media-info .article-media__body {
  overflow : hidden;
}
.article-media.article-media-info .article-media__meta {
  margin : 0 0 10px;
}
.article-media.article-media-info .article-media__heading {
  font-size : 1.2rem;
  font-weight : bold;
  line-height : 1.6;
}

.article-media__labels:before {
  margin-right : 5px; 
  content : '●';
}
.season .article-media__labels:before {
  color : #e47c97;
}
.useful .article-media__labels:before {
  color : #98c361;
}
.ranking .article-media__labels:before {
  color : #f2c65b;
}
.development .article-media__labels:before {
  color : #a67bb6;
}
.interview .article-media__labels:before {
  color : #66babf;
}

@media screen and (min-width: 768px) {
  .article-media a:hover {
    opacity : 1;
  }
  .article-media a:hover .article-media__heading {
    text-decoration : underline;
  }
  .article-media__meta {
    margin : 20px 0 15px;
  }
  .article-media-info-col {
    margin-top : -1px !important;
    margin-bottom : 0 !important; 
    padding : 0 15px !important;
  }
  .article-media.article-media-info {
    padding : 20px; 
    border-top : 1px solid #dcdbd7;
  }
  .article-media.article-media-info .article-media__img {
    margin-right : 20px;
  }
}

.frame-section {
  line-height : 2;
  padding : 15px; 
  text-align : left;
  border : 1px solid #dcdbd7;
}
.frame-section__ttl {
  font-size : 1.6rem; 
  font-weight : bold;
  text-align : center;
}
.frame-section a {
  text-decoration : underline; 
  color : #757dbb;
}

@media screen and (min-width: 768px) {
  .frame-section {
    padding : 30px; 
    text-align : center;
  }
}

.c-product-list {
  font-size : 0;
  margin : 0 -5px; 

  *zoom : 1;
}
.c-product-list:before , .c-product-list:after {
  display : table;
  content : ' ';
}
.c-product-list:after {
  clear : both;
}
.c-product-list li {
  display : table;
  float : left;
  width : 50%;
  margin-top : 10px; 
  padding : 0 5px;
}
.c-product-list li a {
  font-size : 1.4rem;
  line-height : 1.4;
  position : relative; 
  display : table-cell;
  padding : 12px 12px 12px 45px;
  vertical-align : middle;
  border-radius : 5px;
  background : #fff;
}
.c-product-list li a:before {
  position : absolute;
  top : 50%;
  left : 18px;
  margin-top : -8px;
}
.c-product-list li a.all:before {
  font-size : 1rem;
  content : '●';
  color : #757dbb;
}
.c-product-list li a.season:before {
  font-size : 1rem; 
  content : '●';
  color : #e47c97;
}
.c-product-list li a.useful:before {
  font-size : 1rem; 
  content : '●';
  color : #98c361;
}
.c-product-list li a.ranking:before {
  font-size : 1rem; 
  content : '●';
  color : #f2c65b;
}
.c-product-list li a.development:before {
  font-size : 1rem; 
  content : '●';
  color : #a67bb6;
}
.c-product-list li a.interview:before {
  font-size : 1rem; 
  content : '●';
  color : #66babf;
}
@media screen and (min-width: 768px) {
  .c-product-list {
    margin : 0; 
    text-align : center;
  }
  .c-product-list li {
    font-size : 0;
    position : relative; 
    display : inline-block;
    float : none;
    width : auto;
  }
  .c-product-list li:after {
    font-size : 1.4rem;
    line-height : 1.4;
    position : absolute;
    top : 0;
    right : 0; 
    content : '／';
  }
  .c-product-list li:first-child:before {
    font-size : 1.4rem;
    line-height : 1.4;
    position : absolute;
    top : 0;
    left : -5px; 
    content : '／';
  }
  .c-product-list li a {
    padding : 0 20px  0 30px; 
    color : #757dbb;
    background : none;
  }
  .c-product-list li a:before {
    left : 6px;
  }
  .c-product-list li a:hover {
    text-decoration : underline; 
    opacity : 1;
  }
}

/* Js
---------------------------------------*/
#js-archive-btn {
  display : none;
}

/*========================================*/
/*  Module
/*========================================*/
.icon--square:before {
  display : inline-block; 
  content : '■';
}

.icon--kitchen:before , .icon--bath:before , .icon--house:before , .icon--beauty:before , .icon--stationaly:before , .icon--designaward:before {
  display : inline-block;
  width : 19px;
  height : 16px;
  margin-right : 10px; 
  content : '';
}

.icon--kitchen:before {
  background : url(../images/common/icon-kitchen.png) no-repeat;
  background-size : 19px 16px;
}

.icon--bath:before {
  background : url(../images/common/icon-bath.png) no-repeat;
  background-size : 19px 16px;
}

.icon--house:before {
  background : url(../images/common/icon-house.png) no-repeat;
  background-size : 19px 16px;
}

.icon--beauty:before {
  background : url(../images/common/icon-beauty.png) no-repeat;
  background-size : 19px 16px;
}

.icon--stationaly:before {
  background : url(../images/common/icon-stationaly.png) no-repeat;
  background-size : 19px 16px;
}

.icon--designaward:before {
  background : url(../images/common/icon-designaward.png) no-repeat;
  background-size : 19px 16px;
}

i.icon--designaward {
  position : relative; 
  display : inline-block;
  width : 18px;
  height : 18px;
  border-radius : 50%;
  background : #b48f4c;
}
i.icon--designaward:before {
  position : absolute;
  top : 50%;
  left : 50%;
  display : inline-block;
  width : 12px;
  height : 9px;
  margin-top : -5px;
  margin-left : -6px; 
  content : '';
  background : url(../images/common/icon-crown.png) no-repeat 0;
  background-size : 12px 9px;
}

@media screen and (min-width: 768px) {
  i.icon--designaward {
    width : 20px;
    height : 20px;
  }
}

.btn {
  font-weight : bold;
  line-height : 1;
  display : block;
  min-height : 40px;
  padding : 12px; 
  text-align : center;
  color : #757dbb;
  border-radius : 20px;
  background : #fff;
}
.btn--shop {
  font-family : Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size : 2rem;
  font-weight : normal;
  min-width : 100%;
  min-width : calc(100% - 40px);
  height : 50px;
  padding : 12px; 
  color : #fff;
  border-radius : 25px;
  background : #757dbb;
}
.btn--shop.icon--cart:before {
  position : relative;
  top : 4px; 
  display : inline-block;
  width : 20px;
  height : 20px;
  margin-right : 10px;
  content : '';
  background : url(../images/common/icon-cart.svg) no-repeat;
  background-size : 20px 20px;
}

@media screen and (min-width: 768px) {
  .btn {
    transition : all .3s ease;
  }
  .btn:hover {
    opacity : 1;
    color : #fff; 
    background : #757dbb;
  }
  .btn--shop {
    font-size : 2.4rem;
    width : 420px;
    min-width : 420px;
    height : 60px;
    margin-right : auto; 
    margin-left : auto;
    border-radius : 30px;
  }
  .btn--shop:hover {
    opacity : .7;
  }
  .btn--shop.icon--cart:before {
    width : 26px;
    height : 26px;
    background-size : 26px 26px;
  }
}

.ttl--md {
  font-size : 1.4rem;
  font-weight : bold; 
  text-align : center;
}

@media screen and (min-width: 768px) {
  .ttl--md {
    font-size : 2.2rem;
  }
}

@media screen and (min-width: 768px) {
  .zoom {
    overflow : hidden;
  }
  .zoom img {
    transition : .2s ease-in-out; 
    -webkit-transform : scale(1);
        -ms-transform : scale(1);
            transform : scale(1);
  }
  .zoom:hover img {
    -webkit-transform : scale(1.2);
        -ms-transform : scale(1.2);
            transform : scale(1.2);
  }
}

/* ---- grid ---- */
.grid-row {
  *zoom : 1;
}
.grid-row:before , .grid-row:after {
  display : table;
  content : ' ';
}
.grid-row:after {
  clear : both;
}

.grid-col {
  float : left;
}
.grid-col img {
  width : 100%;
}

.grid-row {
  margin-right : -10px;
  margin-left : -10px;
}
.grid-row.grid--s-w100 {
  margin-right : -15px;
  margin-left : -15px;
}

.grid-col {
  padding : 0 10px;
}
.grid--s-1 .grid-col {
  width : 100%;
}
.grid--s-2 .grid-col {
  width : 50%;
}
.grid--s-3 .grid-col {
  width : 33.33%;
}
.grid--s-4 .grid-col {
  width : 25%;
}

@media screen and (max-width: 767px) {
  .grid--s-1 .grid-col:nth-child(n+2) , .grid--s-2 .grid-col:nth-child(n+3) , .grid--s-3 .grid-col:nth-child(n+4) , .grid--s-4 .grid-col:nth-child(n+5) {
    margin-top : 20px;
  }
  .grid--s-1 .grid-col , .grid--s-2 .grid-col:nth-child(odd) , .grid--s-3 .grid-col:nth-child(3n+1) , .grid--s-4 .grid-col:nth-child(4n+1) {
    clear : both;
  }
}

@media screen and (min-width: 768px) {
  .grid-row {
    margin-right : -15px;
    margin-left : -15px;
  }
  .grid-col {
    margin-bottom : 30px; 
    padding : 0 15px;
  }
  .grid-col img {
    max-width : 100%;
  }
  .grid--l-1 .grid-col {
    width : 100%;
    margin : 0 auto;
  }
  .grid--l-2 .grid-col {
    width : 50%;
  }
  .grid--l-3 .grid-col {
    width : 33.3333%;
  }
  .grid--l-4 .grid-col {
    width : 25%;
  }
  .grid--l-5 .grid-col {
    width : 20%;
  }
  .grid--l-1 .grid-col:nth-child(n+2) , .grid--l-2 .grid-col:nth-child(n+3) , .grid--l-3 .grid-col:nth-child(n+4) , .grid--l-4 .grid-col:nth-child(n+5) {
    margin-top : 0;
  }
  .grid-l-1 .grid-col , .grid-l-2 .grid-col:nth-child(2n+1) , .grid-l-3 .grid-col:nth-child(3n+1) , .grid-l-4 .grid-col:nth-child(4n+1) , .grid-l-5 .grid-col:nth-child(5n+1) {
    clear : both;
  }
}

/*--------------------------------------
  Utility Styles
---------------------------------------*/
.clear {
  clear : both;
}

.cf:before , .cf:after {
  display : table; 
  content : ' ';
}

.cf:after {
  clear : both;
}

.cf {
  *zoom : 1;
}

.fl-l {
  float : left;
}

.fl-r {
  float : right;
}

.ta-left {
  text-align : left;
}

.ta-center {
  text-align : center;
}

.ta-right {
  text-align : right;
}

.td-ud {
  text-decoration : underline;
}

.bold {
  font-weight : bold;
}

.bg--white {
  background : #fff;
}

.color-key {
  color : #757dbb;
}

.bd--top {
  border-top : 1px solid #dcdbd7;
}

.font-gothic {
  font-family : Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-weight : normal;
}

.font-first {
  text-transform : capitalize;
}

.ttl--lg {
  font-size : 2rem;
  font-weight : bold;
  line-height : 1.2;
}

.ttl--md {
  font-size : 1.6rem;
  font-weight : bold;
  line-height : 1.2;
}

@media screen and (min-width: 768px) {
  .ttl--lg {
    font-size : 1.6rem;
  }
  .ttl--md {
    font-size : 2.2rem;
    font-weight : normal;
  }
}

.mb--xs {
  margin-bottom : 5px;
}

.mb--sm {
  margin-bottom : 10px;
}

.mb--mm {
  margin-bottom : 15px;
}

.mb--md {
  margin-bottom : 20px;
}

.mb--lg {
  margin-bottom : 30px;
}

.mb--xl {
  margin-bottom : 40px;
}

.mt--md {
  margin-top : 20px;
}

.pt--md {
  padding-top : 20px;
}

@media screen and (min-width: 768px) {
  .mb--xs {
    margin-bottom : 10px;
  }
  .mb--sm {
    margin-bottom : 20px;
  }
  .mb--mm {
    margin-bottom : 30px;
  }
  .mb--md {
    margin-bottom : 40px;
  }
  .mb--lg {
    margin-bottom : 60px;
  }
  .mb--xl {
    margin-bottom : 80px;
  }
  .mt--md {
    margin-top : 40px;
  }
  .pt--md {
    padding-top : 40px;
  }
}

.hidden {
  display : none;
}

.contents--mb--0 {
  position : relative;
  margin-bottom : -50px;
}

@media screen and (max-width: 768px) {
  .hidden-sp {
    display : none !important;
  }
  .hidden-js {
    display : none;
  }
}

@media print, screen and (min-width: 768px) {
  .hidden-pc {
    display : none !important;
  }
}

/*--------------------------------------
  Slick Styles
---------------------------------------*/
/* Dots */
.slick-dotted.slick-slider {
  margin-bottom : 50px;
}

.slick-dots {
  line-height : 10px;
  position : absolute;
  bottom : -30px;
  display : block;
  width : 100%; 
  margin : 0;
  padding : 0;
  list-style : none;
  text-align : center;
}
.slick-dots li {
  position : relative;
  display : inline-block;
  width : 10px;
  height : 10px;
  margin : 0 15px;
  padding : 0;
  cursor : pointer;
  vertical-align : top;
}
.slick-dots li button {
  font-size : 0;
  line-height : 0;
  display : block;
  width : 10px;
  height : 10px;
  cursor : pointer; 
  color : transparent;
  border : 0;
  outline : none;
  background : transparent;
}
.slick-dots li button:hover , .slick-dots li button:focus {
  outline : none;
}
.slick-dots li button:hover:before , .slick-dots li button:focus:before {
  opacity : 1;
}
.slick-dots li button:before {
  line-height : 10px;
  position : absolute;
  top : 0;
  left : 0;
  display : inline-block;
  width : 10px;
  height : 10px;
  content : '●';
  text-align : center;
  color : #9096c8;
  border-radius : 50%;
  background : #9096c8;

  -webkit-font-smoothing : antialiased;
  -moz-osx-font-smoothing : grayscale;
}
.slick-dots li.slick-active button:before {
  content : '';
  opacity : .75; 
  border : 2px solid #9096c8;
  border-radius : 50%;
  background : none;
}

@media screen and (min-width: 768px) {
  .slick-dots li {
    margin : 0 10px;
  }
}

/* Arrows */
.slick-prev , .slick-next {
  font-size : 0;
  line-height : 0;
  cursor : pointer;
  color : transparent;
  border : none;
  outline : none;
  background : transparent;
}

.slick-prev {
  position : absolute;
  top : 50%;
  left : -40px;
  margin-top : -15px;
}

.slick-next {
  position : absolute;
  top : 50%;
  right : -40px;
  margin-top : -15px;
}

.slick-prev:hover , .slick-prev:focus , .slick-next:hover , .slick-next:focus {
  color : transparent;
  outline : none;
  background : transparent;
}

.slick-prev:hover:before , .slick-prev:focus:before , .slick-next:hover:before , .slick-next:focus:before {
  opacity : 1;
}

.slick-prev.slick-disabled:before , .slick-next.slick-disabled:before {
  opacity : .25;
}

.slick-prev:before , .slick-next:before {
  line-height : 1;
  display : inline-block;
  width : 30px;
  height : 30px;
  content : '';
  opacity : .75;

  -webkit-font-smoothing : antialiased;
  -moz-osx-font-smoothing : grayscale;
}

.slick-prev:before {
  background : url(../images/common/icon-arrow_left.svg) no-repeat;
  background-size : 30px 30px;
}

.slick-next:before {
  background : url(../images/common/icon-arrow_right.svg) no-repeat;
  background-size : 30px 30px;
}

/*========================================*/
/*  Project
/*========================================*/
/* TopPage
---------------------------------------*/
.home .hero {
  margin-bottom : 50px;
}

.home .news-lead {
  margin-bottom : 20px; 
  padding : 15px;
  border-top : 1px solid #dcdbd7;
  border-bottom : 1px solid #dcdbd7;
}
.home .news-lead__ttl {
  font-family : Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size : 1.8rem;
  display : inline-block;
  margin-right : 5px; 
  color : #757dbb;
}
.home .news-lead__date {
  font-size : 1rem;
  font-weight : bold; 
  display : inline-block;
}

@media screen and (min-width: 768px) {
  .home .hero__img {
    padding : 0 5px;
  }
  .home .hero__img img {
    width : 100%;
    margin : 0 auto;
  }
  .home .news-lead {
    width : 1024px;
    margin : 0 auto 40px; 
    padding : 20px 30px;
  }
  .home .news-lead__header {
    line-height : 1.3;
    float : left;
    margin-right : 30px;
  }
  .home .news-lead__ttl {
    margin-right : 25px;
  }
  .home .news-lead__date {
    font-size : 1.2rem;
  }
  .home .news-lead__txt {
    overflow : hidden;
  }
  .home .news-lead__txt a:hover {
    text-decoration : underline; 
    opacity : 1;
    color : #757dbb;
  }
}

.home .section {
  margin-bottom : 40px;
}
.home .section__ttl {
  font-family : Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size : 3rem;
  margin-bottom : 30px; 
  text-align : center;
}
.home .section__ttl h2 {
  font-weight : normal;
}
.home .section__ttl h2 span {
  font-size : .47em; 
  display : block;
}
.home .section__ttl__link a {
  font-size : 1.4rem;
  display : block;
  color : #757dbb;
}
.home .section__ttl__link a:before {
  font-size : 1.2rem;
  position : relative;
  top : -1px; 
  margin-right : 10px;
  content : '>';
}
@media screen and (min-width: 768px) {
  .home .section {
    margin-bottom : 70px;
  }
}

.home .section-feature .season .article-media__labels:before {
  margin-right : 5px;
  content : '●';
  color : #e47c97;
}

.home .section-feature .useful .article-media__labels:before {
  margin-right : 5px;
  content : '●';
  color : #98c361;
}

.home .section-feature .ranking .article-media__labels:before {
  margin-right : 5px;
  content : '●';
  color : #f2c65b;
}

.home .section-feature .secret .article-media__labels:before {
  margin-right : 5px;
  content : '●';
  color : #a67bb6;
}

.home .section-feature .interview .article-media__labels:before {
  margin-right : 5px;
  content : '●';
  color : #66babf;
}

@media screen and (min-width: 768px) {
  .home .section-feature {
    margin-bottom : 40px;
  }
}

.home .section-recommend--bd {
  margin-top : 30px; 
  padding-top : 10px;
  border-top : 1px solid #dcdbd7;
}

.home .section-recommend__link {
  font-size : 0;
  margin : 0 -5px; 

  *zoom : 1;
}
.home .section-recommend__link:before , .home .section-recommend__link:after {
  display : table;
  content : ' ';
}
.home .section-recommend__link:after {
  clear : both;
}
.home .section-recommend__link li {
  display : table;
  float : left;
  width : 50%;
  margin-top : 10px; 
  padding : 0 5px;
}
.home .section-recommend__link li a {
  font-size : 1.4rem;
  line-height : 1.4;
  position : relative; 
  display : table-cell;
  padding : 12px 12px 12px 45px;
  vertical-align : middle;
  border-radius : 5px;
  background : #fff;
}
.home .section-recommend__link li a:before {
  position : absolute;
  top : 50%;
  left : 18px;
  margin-top : -8px;
}

.home .section-recommend .recommend__img {
  padding : 0 5px;
}
.home .section-recommend .recommend__img img {
  margin : 0 auto; 
  border-radius : 50%;
}

@media screen and (min-width: 768px) {
  .home .section-recommend {
    overflow : hidden;
  }
  .home .section-recommend--bd {
    margin-top : 0; 
    padding-top : 0;
    border-top : none;
  }
  .home .section-recommend__link {
    margin : 0; 
    text-align : center;
  }
  .home .section-recommend__link li {
    font-size : 0;
    position : relative; 
    display : inline-block;
    float : none;
    width : auto;
    padding : 0 5px 0 3px;
  }
  .home .section-recommend__link li:after {
    font-size : 1.4rem;
    line-height : 1.4;
    position : absolute;
    top : 0;
    right : 0; 
    content : '／';
  }
  .home .section-recommend__link li:first-child:before {
    font-size : 1.4rem;
    line-height : 1.4;
    position : absolute;
    top : 0;
    left : -5px; 
    content : '／';
  }
  .home .section-recommend__link li a {
    font-size : 1.3rem;
    padding : 0 20px  0 30px; 
    color : #757dbb;
    background : none;
  }
  .home .section-recommend__link li a:before {
    left : 6px;
  }
  .home .section-recommend__link li a:hover {
    text-decoration : underline; 
    opacity : 1;
  }
  .home .section-recommend .recommend__slider {
    width : 1024px;
    margin : 0 auto 35px;
  }
  .home .section-recommend .recommend__img a {
    display : block;
  }
  .home .section-recommend .recommend__img a img {
    transition : .85s;
    -webkit-transform : rotateY(0deg);
        -ms-transform : rotateY(0deg);
            transform : rotateY(0deg);
  }
}

.home .section-topic .inner {
  padding : 0 10px;
}

.home .section-topic .topic {
  position : relative; 
  background : #fff;
}
.home .section-topic .topic > a {
  display : block;
}
.home .section-topic .topic__body {
  padding : 15px 20px 20px;
}
.home .section-topic .topic__txt {
  margin : 0 0 15px;
}
.home .section-topic .topic__btn span {
  font-size : 1.4rem;
  font-weight : bold;
  line-height : 36px; 
  display : block;
  text-align : center;
  border : 1px solid #dcdbd7;
  border-radius : 18px;
}
.home .section-topic .topic__btn span:before {
  font-weight : normal;
  position : relative;
  top : -1px; 
  margin-right : 6px;
  content : '>';
}
.home .section-topic .topic-interview {
  margin-bottom : 30px;
}
.home .section-topic .topic__update {
  line-height : 30px;
  position : absolute;
  top : -8px;
  right : 5px; 
  padding : 0 10px;
  color : #fff;
  background : #f2c65b;
}
.home .section-topic .topic__update:after {
  position : absolute;
  top : 0;
  right : -5px; 
  width : 0;
  height : 0;
  content : '';
  border : solid transparent;
  border-width : 0 5px 8px 0;
  border-bottom-color : #e69a20;
}

.home .section-news__list li {
  font-size : 1.4rem;
  padding : 15px; 
  border-bottom : 1px solid #dcdbd7;
}
.home .section-news__list li:first-child {
  border-top : 1px solid #dcdbd7;
}

.home .section-news__list__date {
  font-size : 1rem; 
  font-weight : bold;
}

.home .article-media__img img {
  border-radius : 5px;
}

@media screen and (min-width: 768px) {
  .home .section-news .inner {
    width : 760px;
    margin : 0 auto;
  }
  .home .section-news__list {
    *zoom : 1;
  }
  .home .section-news__list:before , .home .section-news__list:after {
    display : table;
    content : ' ';
  }
  .home .section-news__list:after {
    clear : both;
  }
  .home .section-news__list li {
    padding : 10px 0; 
    border-bottom : none;
  }
  .home .section-news__list li:first-child {
    padding-top : 0; 
    border-top : none;
  }
  .home .section-news__list__date {
    font-size : 1.4rem;
    font-weight : normal; 
    float : left;
    width : 100px;
  }
  .home .section-news__list__txt {
    overflow : hidden;
  }
  .home .section-news__list__txt a:hover {
    text-decoration : underline; 
    opacity : 1;
    color : #757dbb;
  }
  .home .section-topic .inner {
    padding : 0; 

    *zoom : 1;
  }
  .home .section-topic .inner:before , .home .section-topic .inner:after {
    display : table;
    content : ' ';
  }
  .home .section-topic .inner:after {
    clear : both;
  }
  .home .section-topic .topic {
    float : left;
    width : 50%;
    height : 400px;
    background : none;
  }
  .home .section-topic .topic > a {
    max-width : 700px;
    height : 400px;
  }
  .home .section-topic .topic__body {
    width : 200px;
    padding : 0;
  }
  .home .section-topic .topic-interview {
    margin-bottom : 0;
  }
  .home .section-topic .topic-interview {
    background : url(../images/home/topic-interview02_pc.jpg) no-repeat right top;
  }
  .home .section-topic .topic-interview .topic__body {
    position : absolute;
    top : 160px;
    right : 110px; 
    color : #fff;
  }
  .home .section-topic .topic-interview .topic__name {
    font-family : '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', serif;
    font-size : 3.2rem;
    line-height : 1.3;
    text-align : center;
    letter-spacing : 3px;
  }
  .home .section-topic .topic-interview .topic__name span {
    font-size : 1.2rem; 
    display : block;
  }
  .home .section-topic .topic-interview .topic__txt {
    font-size : 1.2rem;
    line-height : 2;
    margin : 15px 0;
  }
  .home .section-topic .topic-interview .topic__btn span {
    color : #fff; 
    border : 1px solid #fff;
  }
  .home .section-topic .topic-history > a {
    height : 400px; 
    background : url(../images/home/topic-history_pc.jpg) no-repeat left top;
  }
  .home .section-topic .topic-history .topic__body {
    position : absolute;
    top : 160px;
    left : 250px;
  }
  .home .section-topic .topic-history .topic__txt {
    font-size : 1.2rem;
    line-height : 2;
  }
  .home .section-topic .topic-history .topic__btn span {
    border : 1px solid #333;
  }
}

.home .section-facebook {
  margin-bottom : 0;
}

@media screen and (min-width: 768px) {
  .home .section-facebook-inner {
    width : 500px;
    margin : 0 auto;
  }
}

.section-instagram {
  padding-bottom : 20px; 
  background : #757dbb;
}
.section-instagram .instagram__heading {
  font-size : 1.4rem;
  padding : 20px 0; 
  text-align : center;
  color : #fff;
}
.section-instagram .instagram__heading--icon:before {
  display : inline-block;
  width : 35px;
  height : 35px;
  content : '';
  background : url(../images/common/icon-instagram_white.svg) no-repeat;
  background-size : 35px 35px;
}
.section-instagram .instagram__heading--txt {
  margin-bottom : 10px;
}
.section-instagram .instagram__heading--txt span {
  margin-left : 5px;
}
.section-instagram .instagram__heading--btn {
  width : 140px;
  margin : 0 auto;
}
.section-instagram .instagram__heading--btn a {
  font-size : 1.2rem;
  line-height : 30px;
  display : block;
  color : #757dbb; 
  border-radius : 15px;
  background : #fff;
}
.section-instagram .instagram__heading--btn a:before {
  position : relative;
  top : -1px; 
  margin-right : 5px;
  content : '>';
}
.section-instagram .instagram__list {
  font-size : 0;
  margin : 0 7px; 
  text-align : center;
}
.section-instagram .instagram__list li {
  display : inline-block;
  width : 33.333%;
  padding : 3px;
}

@media screen and (min-width: 768px) {
  .section-instagram {
    display : -webkit-flex;
    display : -ms-flexbox;
    display :         flex;
    overflow : hidden;
    margin-right : -105px; 
    margin-left : -105px;
    background : none;

    -webkit-justify-content : center;
    -ms-flex-pack : center;
            justify-content : center;
    -webkit-align-content : center;
    -ms-flex-line-pack : center;
            align-content : center;
    -webkit-align-items : center;
    -ms-flex-align : center;
            align-items : center;
  }
  .section-instagram-wrap {
    overflow : hidden;
  }
  .section-instagram .instagram__heading {
    display : block;
    min-width : 200px;
    padding : 30px 0 22px; 
    background : #757dbb;

    -webkit-order : 2;
    -ms-flex-order : 2;
            order : 2;
  }
  .section-instagram .instagram__heading--icon:before {
    width : 50px;
    height : 50px;
    background-size : 50px 50px;
  }
  .section-instagram .instagram__heading--txt span {
    display : block;
    margin-left : 0;
  }
  .section-instagram .instagram__list {
    display : block;
    min-width : 630px;
    margin : 0 5px;
  }
  .section-instagram .instagram__list.list-box01 {
    -webkit-order : 1;
    -ms-flex-order : 1;
            order : 1;
  }
  .section-instagram .instagram__list.list-box02 {
    -webkit-order : 3;
    -ms-flex-order : 3;
            order : 3;
  }
  .section-instagram .instagram__list li {
    width : 210px;
    padding : 0 5px;
  }
}

/* news */
.news-linkbtn {
  font-size : 0; 
  margin : 0 -5px 10px;
  text-align : center;
}
.news-linkbtn li {
  display : inline-block;
  width : 50%;
  margin-bottom : 10px; 
  padding : 0 5px;
}
.news-linkbtn li a {
  font-size : 1.3rem;
  line-height : 1;
  display : block;
  padding : 12px;
  border-radius : 18px; 
  background : #fff;
}
.news-linkbtn li.current a {
  color : #fff; 
  background : #757dbb;
}
@media screen and (min-width: 768px) {
  .news-linkbtn {
    margin : 0 0 50px;
  }
  .news-linkbtn li {
    width : 16.666%;
  }
  .news-linkbtn li a {
    transition : all .3s ease;
  }
  .news-linkbtn li a:hover {
    cursor : pointer;
    opacity : 1;
    color : #fff; 
    background : #757dbb;
  }
}

.news-ttl-year {
  font-size : 2rem;
  font-weight : bold;
  margin-bottom : 30px; 
  text-align : center;
  color : #757dbb;
}

.news-media--bd {
  padding : 20px 15px; 
  border-top : 1px solid #dcdbd7;

  *zoom : 1;
}
.news-media--bd:before , .news-media--bd:after {
  display : table;
  content : ' ';
}
.news-media--bd:after {
  clear : both;
}

.news-media:last-child {
  border-bottom : 1px solid #dcdbd7;
}

.news-media__img {
  position : relative; 
  float : left;
  width : 100px;
  margin-right : 10px;
  background : #fff;
}

.news-media__body {
  font-size : 1.2rem;
  font-weight : bold;
  line-height : 1.6666; 
  overflow : hidden;
}

.news-media__meta {
  font-size : 1rem;
  line-height : 1;
  margin-bottom : 10px;
}

.news-media__labels {
  margin-right : 10px; 
  padding-right : 10px;
  border-right : 1px solid #595656;
}

.news-media:nth-child(-n+6) .news-media--bd {
  padding : 15px; 
  border : none;
}

.news-media:nth-child(-n+6) .news-media__img {
  float : none;
  width : 100%;
  margin-bottom : 10px;
}
.news-media:nth-child(-n+6) .news-media__img.icon--new:after {
  position : absolute;
  z-index : 10; 
  top : -10px;
  left : 0;
  display : inline-block;
  width : 78px;
  height : 30px;
  content : '';
  background : url(../images/common/icon-new.png) no-repeat;
  background-size : 78px 30px;
}
.news-media:nth-child(-n+6) .news-media__img img {
  display : block;
  max-width : 100%;
  margin : 0 auto;
}

@media screen and (min-width: 768px) {
  .news-wrap {
    width : 1024px;
    margin : 0 auto;
  }
  .news-wrap .news {
    margin : 0 -15px; 

    *zoom : 1;
  }
  .news-wrap .news:before , .news-wrap .news:after {
    display : table;
    content : ' ';
  }
  .news-wrap .news:after {
    clear : both;
  }
  .news-wrap .news-media {
    float : left;
    width : 50%;
    margin-top : -1px; 
    padding : 0 15px;
  }
  .news-wrap .news-media:last-child {
    border-bottom : none;
  }
  .news-wrap .news-media--bd {
    border-bottom : 1px solid #dcdbd7;
  }
  .news-wrap .news-media__img img {
    transition : all .3s ease;
  }
  .news-wrap .news-media__body {
    font-size : 1.4rem; 
    font-weight : normal;
  }
  .news-wrap .news-media__meta {
    margin-bottom : 15px;
  }
  .news-wrap .news-media__labels {
    font-weight : normal;
  }
  .news-wrap .news-media a:hover {
    opacity : 1;
  }
  .news-wrap .news-media a:hover img {
    opacity : .7;
  }
  .news-wrap .news-media a:hover .news-media__heading {
    text-decoration : underline;
  }
  .news-media:nth-child(-n+6) {
    width : 33.333%;
    margin-bottom : 40px;
  }
  .news-media:nth-child(-n+6) .news-media--bd {
    padding : 0;
  }
  .news-media:nth-child(-n+6) .news-media__body {
    font-weight : bold;
  }
  .news-media:nth-child(-n+6) .news-media__img {
    margin-bottom : 20px;
  }
}

.news-archive {
  text-align : center;
}
.news-archive__link > li {
  display : inline-block;
}
.news-archive__link > li:after {
  margin-left : 3px; 
  content : '／';
}
.news-archive__link > li:last-child:after {
  content : none;
}
.news-archive__link > li a {
  padding : 0 5px; 
  color : #757dbb;
}
@media screen and (min-width: 768px) {
  .news-archive__ttl {
    display : inline-block;
    margin-right : 5px;
  }
  .news-archive__link {
    display : inline-block;
  }
  .news-archive__link > li:after {
    margin-left : 5px; 
    content : '／';
  }
  .news-archive__link > li:last-child:after {
    margin-left : 5px; 
    content : '／';
  }
  .news-archive__link > li:first-child:before {
    margin-right : 5px; 
    content : '／';
  }
  .news-archive__link > li a {
    padding : 0 8px;
  }
}

.news__btn {
  clear : both;
  width : 100%;
  margin-top : 10px; 
  padding : 0 15px;
  text-align : center;
}
.news__btn a {
  display : block;
  padding : 3px 0 2px; 
  color : #595656;
  background : #f0eddf;
}
.news__btn a:before {
  position : relative;
  top : 2px; 
  display : inline-block;
  width : 15px;
  height : 15px;
  margin-right : 6px;
  content : '';
  background : url(../images/common/icon-plus.svg) no-repeat;
  background-size : 15px 15px;
}
@media screen and (min-width: 768px) {
  .news__btn {
    margin-top : 40px; 
    padding : 0;
  }
  .news__btn a {
    font-size : 1.5rem;
    padding : 7px 0 6px;
  }
}

.news-post {
  margin-bottom : 15px; 
  padding : 20px 0 10px;
}
.news-post__heading {
  margin-bottom : 15px;
}
.news-post__ttl {
  font-size : 1.4rem;
  line-height : 1.7;
}
.news-post__img {
  margin-bottom : 15px;
}
.news-post__img img {
  display : block;
  margin : 0 auto;
}
.news-post__contents p {
  margin-bottom : 1em;
}
.news-post__contents img {
  display : block;
  margin : 0 auto 1em;
}
.news-post__link a {
  line-height : 1;
  display : inline-block;
  padding : 12px 18px; 
  text-align : center;
  border-radius : 3px;
  background : #f0eddf;
}
.news-post__link a:before {
  font-size : 1.2rem;
  font-weight : bold;
  position : relative;
  top : -3px; 
  display : inline-block;
  margin-right : 10px;
  content : '<';
  -webkit-transform : scale(1, 1.8);
      -ms-transform : scale(1, 1.8);
          transform : scale(1, 1.8);
}
@media screen and (min-width: 768px) {
  .news-post {
    margin-bottom : 40px; 
    padding : 40px 0;
  }
  .news-post__heading {
    margin-bottom : 30px;
  }
  .news-post__heading .news-media__meta {
    font-size : 1.2rem;
    margin-bottom : 20px;
  }
  .news-post__ttl {
    font-size : 2.2rem;
  }
  .news-post__img {
    margin-bottom : 35px;
  }
  .news-post__contents {
    font-size : 1.6rem;
  }
  .news-post__contents img {
    display : inline-block;
    margin : 0 8px 1em;
  }
  .news-post__link a {
    padding : 12px 30px;
  }
}

/* Product */
.product__mainttl {
  font-size : 1.6rem;
  line-height : 1.6;
  margin-bottom : 10px; 
  text-align : center;
}
.product__mainttl span {
  font-size : .6em; 
  display : block;
}

@media screen and (min-width: 768px) {
  .product__mainttl {
    font-size : 3.2rem;
    font-weight : normal;
    margin-bottom : 20px;
  }
  .product__mainttl span {
    font-size : 1.4rem;
  }
}

.product-slider__main {
  margin-bottom : 5px;
}
.product-slider__main li:focus {
  outline : none;
}

.product-slider__navi {
  margin : 0 -3px;
}
.product-slider__navi .slider-navi-item {
  position : relative; 
  width : 25%;
  padding : 0 3px;
}
.product-slider__navi .slider-navi-item:focus {
  outline : none;
}
.product-slider__navi .slider-navi-item.slick-current:after {
  position : absolute;
  top : 0;
  left : 3px; 
  display : block;
  width : 95%;
  width : calc(100% - 5px);
  height : 100%;
  content : '';
  border : 3px solid #f0eddf;
}

@media screen and (min-width: 768px) {
  .product-slider__main {
    margin-bottom : 10px;
  }
  .product-slider__navi .slider-navi-item:hover {
    cursor : pointer;
  }
}

.product-list--logo {
  font-size : 0;
  text-align : center;
}
.product-list--logo li {
  display : inline-block;
  width : 33.3333%;
  padding : 0 10px;
}
@media screen and (min-width: 768px) {
  .product-list--logo li {
    width : auto;
    max-width : 170px;
    padding : 0 15px;
  }
}

.product-other {
  position : relative;
}
.product-other__ttl {
  font-family : 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', Arial, Helvetica, sans-serif;
  font-size : 1.4rem;
  font-weight : bold;
  margin-bottom : 10px; 
  text-align : center;
}
.product-other__ttl span {
  display : none;
}
.product-other__btn {
  display : none;
  clear : both;
  width : 100%;
  padding : 15px 10px; 
  text-align : center;
}
.product-other__btn a {
  display : block;
  padding : 3px 0 2px; 
  color : #595656;
  background : #f5f3e9;
}
.product-other__btn a:before {
  position : relative;
  top : 2px; 
  display : inline-block;
  width : 15px;
  height : 15px;
  margin-right : 6px;
  content : '';
  background : url(../images/common/icon-plus.svg) no-repeat;
  background-size : 15px 15px;
}
.product-other__btn--v2 {
  clear : both;
  width : 100%;
  margin-top : 10px; 
  text-align : center;
}
.product-other__btn--v2 a {
  display : block;
  padding : 3px 0 2px; 
  color : #595656;
  background : #f0eddf;
}
.product-other__btn--v2 a:before {
  position : relative;
  top : 2px; 
  display : inline-block;
  width : 15px;
  height : 15px;
  margin-right : 6px;
  content : '';
  background : url(../images/common/icon-plus.svg) no-repeat;
  background-size : 15px 15px;
}
@media screen and (min-width: 768px) {
  .product-other__ttl {
    font-weight : normal;
    margin-bottom : 20px;
  }
  .product-other__ttl span {
    font-size : 2.4rem; 
    display : block;
  }
  .product-other__btn {
    padding : 0;
  }
  .product-other__btn a {
    font-size : 1.5rem;
    position : absolute;
    bottom : 0;
    left : 50%;
    width : 1024px;
    margin-left : -512px; 
    padding : 7px 0 6px;
  }
  .product-other__btn--v2 a {
    font-size : 1.5rem;
    padding : 7px 0 6px;
  }
  .product-other__list > div:nth-child(n + 6) , .product-other__list > div:nth-child(n + 6).article-card a {
    margin-bottom : 0; 
    padding-bottom : 0;
  }
}

.designaward {
  margin-bottom : 20px;
}
.designaward__img {
  margin-bottom : 15px;
}
.designaward__img img {
  display : block;
  width : auto;
  max-width : 100%;
  margin : 0 auto;
}
@media screen and (min-width: 768px) {
  .designaward {
    margin-bottom : 0;
  }
  .designaward__img {
    margin-bottom : 20px;
  }
}

/* feature */
.feature-linkbtn {
  margin : 0 -5px 10px; 

  *zoom : 1;
}
.feature-linkbtn:before , .feature-linkbtn:after {
  display : table;
  content : ' ';
}
.feature-linkbtn:after {
  clear : both;
}
.feature-linkbtn li {
  float : left;
  width : 50%;
  margin-bottom : 10px; 
  padding : 0 5px;
  text-align : center;
}
.feature-linkbtn li a {
  font-size : 1.4rem;
  line-height : 1;
  display : block;
  padding : 12px;
  border-radius : 18px; 
  background : #fff;
}
.feature-linkbtn li.current a {
  color : #fff; 
  background : #757dbb;
}
@media screen and (min-width: 768px) {
  .feature-linkbtn {
    margin-bottom : 50px;
  }
  .feature-linkbtn li {
    width : 16.666%;
  }
  .feature-linkbtn li a {
    transition : all .3s ease;
  }
  .feature-linkbtn li a:hover {
    cursor : pointer;
    opacity : 1;
    color : #fff; 
    background : #757dbb;
  }
}

.feature-top .article-media__img img {
  border-radius : 4px;
}

@media screen and (min-width: 768px) {
  .feature-top > div:nth-child(-n+2) {
    width : 50%;
  }
}

.feature__btn {
  clear : both;
  width : 100%;
  padding-top : 20px; 
  text-align : center;
}
.feature__btn a {
  display : block;
  padding : 3px 0 2px; 
  color : #595656;
  background : #f0eddf;
}
.feature__btn a:before {
  position : relative;
  top : 2px; 
  display : inline-block;
  width : 15px;
  height : 15px;
  margin-right : 6px;
  content : '';
  background : url(../images/common/icon-plus.svg) no-repeat;
  background-size : 15px 15px;
}
@media screen and (min-width: 768px) {
  .feature__btn {
    padding : 0;
  }
  .feature__btn a {
    font-size : 1.5rem;
    padding : 7px 0 6px;
  }
}

.feature-heading {
  margin-bottom : 15px;
}
.feature-heading .article-media__body {
  padding : 0 15px;
}
@media screen and (min-width: 768px) {
  .feature-heading {
    margin-bottom : 35px;
  }
  .feature-heading .article-media__img {
    max-width : 800px;
    margin : 0 auto;
  }
  .feature-heading .article-media__body {
    width : 640px;
    margin : 0 auto; 
    padding : 0;
  }
  .feature-heading .article-media__meta {
    font-size : 1.2rem;
  }
  .feature-heading .article-media__labels {
    font-size : 1.2rem;
  }
  .feature-heading .article-media__heading {
    font-size : 2.2rem;
    font-weight : normal;
  }
}

.feature-post p {
  margin-bottom : 20px;
}
.feature-post p:last-child {
  margin-bottom : 0;
}

.feature-post img {
  display : block;
  margin : 0 auto;
}

@media screen and (min-width: 768px) {
  .feature-post {
    font-size : 1.6rem;
  }
}

.feature-other {
  position : relative;
}
.feature-other__ttl {
  font-family : 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', Arial, Helvetica, sans-serif;
  font-size : 1.4rem;
  font-weight : bold;
  margin-bottom : 10px; 
  text-align : center;
}
.feature-other__ttl span {
  display : none;
}
.feature-other__btn {
  display : none;
  clear : both;
  width : 100%;
  padding : 15px 0; 
  text-align : center;
}
.feature-other__btn a {
  display : block;
  padding : 3px 0 2px; 
  color : #595656;
  background : #f5f3e9;
}
.feature-other__btn a:before {
  position : relative;
  top : 2px; 
  display : inline-block;
  width : 15px;
  height : 15px;
  margin-right : 6px;
  content : '';
  background : url(../images/common/icon-plus.svg) no-repeat;
  background-size : 15px 15px;
}
.feature-other .article-media__img {
  float : left;
  width : 33%;
  margin-right : 10px;
}
.feature-other .article-media__img img {
  border-radius : 4px;
}
.feature-other .article-media__body {
  overflow : hidden;
}
.feature-other .article-media__meta {
  margin : 0 0 5px;
}
.feature-other .article-media__heading {
  font-size : 1.2rem;
}
@media screen and (min-width: 768px) {
  .feature-other {
    padding-bottom : 40px;
  }
  .feature-other__ttl {
    font-weight : normal;
    margin-bottom : 20px;
  }
  .feature-other__ttl span {
    font-size : 2.4rem; 
    display : block;
  }
  .feature-other__btn {
    padding : 0;
  }
  .feature-other__btn a {
    position : absolute;
    bottom : 0;
    left : 50%;
    width : 1024px;
    margin-left : -512px; 
    padding : 7px 0 6px;
  }
  .feature-other .article-media__img {
    float : none;
    width : 100%;
    margin-right : 0;
  }
  .feature-other .article-media__meta {
    margin : 20px 0 15px;
  }
  .feature-other .article-media__heading {
    font-size : 1.4rem;
  }
}

.local-nav {
  font-size : 1.2rem;
  overflow : hidden;
  margin-bottom : 1rem;
  text-align : center;

  *zoom : 1;
}
.local-nav:before , .local-nav:after {
  display : table;
  content : ' ';
}
.local-nav:after {
  clear : both;
}
.local-nav li {
  line-height : 4rem;
  float : left;
  width : 50%;
  margin-bottom : 1rem;
}
.local-nav li:nth-child(odd) {
  padding-right : .5rem;
}
.local-nav li:nth-child(even) {
  padding-left : .5rem;
}
.local-nav a {
  display : block;
  color : #595656;
  border-radius : 20px; 
  background-color : #fff;
}
.local-nav a.local-nav__button--active {
  color : #fff;
  background-color : #757dbb;
}

.table-under {
  width : 100%;
}
.table-under + table {
  margin-top : 5rem;
}
.table-under caption {
  font-weight : bold;
  padding : 0 1.5rem .5rem;
  text-align : left;
  border-bottom : 1px solid #dcdbd7;
}
.table-under tr {
  display : block;
  padding : 1rem 1.5rem;
  border-bottom : 1px solid #dcdbd7;
}
.table-under th , .table-under td {
  display : block;
}
.table-under th {
  font-size : 1.2rem;
  text-align : left;
}
.table-under dl:not(:last-of-type) {
  margin-bottom : 1.3rem;
}
.table-under dt:after {
  content : '：';
}
.table-under ul {
  display : table;
  width : 100%; 
  text-align : center;
}
.table-under li {
  display : table-cell;
  width : 50%;
}
.table-under li:before {
  display : inline-block;
  width : 1.6rem;
  height : 1.6rem;
  margin-right : .7rem;
  content : ''; 
  background-repeat : no-repeat;
  background-size : 1.6rem;
}
.table-under li:first-child:before {
  background-image : url(../images/common/icon-phone.png);
}
.table-under li:last-child:before {
  background-image : url(../images/common/icon-fax.png);
}
.table-under td > a {
  color : #757dbb;
}
.table-under td > a:before {
  position : relative;
  bottom : .1rem;
  display : inline-block;
  width : .5rem;
  height : .9rem;
  margin-right : 1rem;
  content : ''; 
  background : url(../images/common/icon-arrow_purple.png) no-repeat;
  background-size : .5rem;
}

.table-under--history__img {
  margin : 0 10px;
}
.table-under--history__img img {
  vertical-align : middle;
}

.philosophy-wrap {
  margin-bottom : -5rem; 
  padding : 2rem 1.5rem 0;
}

.philosophy-heading {
  margin : 0 -1.5rem;
}
.philosophy-heading img:first-of-type {
  width : 100%;
}
.philosophy-heading img:last-of-type {
  display : none;
}

.access-item {
  background-color : #fff;
}
.access-item:not(:last-of-type) {
  margin-bottom : 2.5rem;
}
.access-item > div:first-of-type {
  padding : 1.5rem;
}
.access-item h2 {
  margin-bottom : .5rem;
}
.access-item p {
  margin-bottom : .5rem;
}
.access-item ul:first-of-type {
  margin-bottom : 2rem; 
  padding-bottom : 2rem;
  border-bottom : 1px solid #dcdbd7;
}
.access-item ul:first-of-type li:before {
  display : inline-block;
  width : 1.6rem;
  height : 1.6rem;
  margin-right : .7rem;
  content : ''; 
  background-repeat : no-repeat;
  background-size : 1.6rem;
}
.access-item ul:first-of-type li:first-child:before {
  background-image : url(../images/common/icon-phone.png);
}
.access-item ul:first-of-type li:last-child:before {
  background-image : url(../images/common/icon-fax.png);
}
.access-item ul:last-of-type {
  font-size : 1.2rem;
}

.access-item__map {
  height : 36rem;
}

.history-items {
  position : relative;
}
.history-items:before {
  position : absolute;
  z-index : -1;
  top : 0;
  left : 15px;
  width : 2px;
  height : 100%;
  content : ''; 
  background-color : #595656;
}
.history-items:not(:last-of-type) {
  padding-bottom : 1.5rem;
}
.history-items h2 {
  margin-bottom : 1rem; 
  color : #757dbb;
  background-color : #faf9f4;
}
.history-items img {
  display : block;
  margin : 0 auto;
}
.history-items img + p , .history-items p + img {
  margin-top : 1rem;
}
.history-items a {
  color : #757dbb;
}

.history-item {
  position : relative;
  top : 20px;
  margin-left : 39px;
  padding : 1.5rem;
  opacity : 0;
  border-radius : 10px;
  background-color : #fff;
  box-shadow : 0 0 5px rgba(89, 86, 86, .05);
}
.history-item:before , .history-item:after {
  position : absolute;
  content : '';
}
.history-item:before {
  left : -31px;
  width : 15px;
  height : 15px;
  -webkit-transform : scale(0);
      -ms-transform : scale(0);
          transform : scale(0); 
  opacity : 0;
  border : 3px solid #757dbb;
  border-radius : 50%;
  background-color : #fff;
}
.history-item:after {
  top : 1.5rem; 
  left : -14px;
  border : 7px solid;
  border-color : transparent #fff transparent transparent;
}
.history-item:not(:last-of-type) {
  margin-bottom : 1.5rem;
}
.history-item .img--in {
  margin-left : 5px;
}
.history-item .img--in img {
  display : inline-block;
  width : 22px;
}

.history-item--scrolled {
  top : 0;
  transition : top .4s ease-out, opacity .6s ease-out; 
  opacity : 1;
}
.history-item--scrolled:before {
  transition : opacity .4s .3s ease-out, -webkit-transform .2s .3s linear;
  transition : opacity .4s .3s ease-out, transform .2s .3s linear;
  transition : opacity .4s .3s ease-out, transform .2s .3s linear, -webkit-transform .2s .3s linear; 
  -webkit-transform : scale(1);
      -ms-transform : scale(1);
          transform : scale(1);
  opacity : 1;
}

@media screen and (min-width: 375px) {
  .local-nav {
    font-size : 1.4rem;
  }
}

@media screen and (min-width: 768px) {
  .local-nav {
    font-size : 0;
    margin : 0 -6px 20px;
  }
  .local-nav li {
    font-size : 14px;
    display : inline-block;
    float : none;
    width : auto;
    margin : 0 6px 20px;
  }
  .local-nav li:nth-child(odd) {
    padding-right : 0;
  }
  .local-nav li:nth-child(even) {
    padding-left : 0;
  }
  .local-nav a {
    width : 160px;
    transition : color .2s ease-out, background-color .2s ease-out;
  }
  .local-nav a:hover {
    opacity : 1; 
    color : #fff;
    background-color : #757dbb;
  }
  .table-under {
    font-size : 16px; 
    line-height : 30px;
  }
  .table-under + table {
    margin-top : 93px;
  }
  .table-under caption {
    padding : 0 0 13px 30px;
  }
  .table-under tr {
    display : table-row;
  }
  .table-under th , .table-under td {
    display : table-cell;
    padding : 18px 0;
  }
  .table-under th {
    font-size : 16px;
    font-weight : normal;
    width : 240px; 
    padding-left : 30px;
    vertical-align : middle;
  }
  .table-under dl:not(:last-of-type) {
    margin-bottom : 26px;
  }
  .table-under dt , .table-under dd {
    display : table-cell;
  }
  .table-under dt {
    position : relative;
    width : 140px;
  }
  .table-under dt:after {
    position : absolute;
    right : 1em;
  }
  .table-under ul {
    font-size : 0;
    text-align : left;
  }
  .table-under li {
    font-size : 16px;
    display : inline-block;
    width : auto;
  }
  .table-under li:first-child {
    margin-right : 39px;
  }
  .table-under td > a:before {
    font-size : 14px;
  }
  .table-under--history td:first-of-type {
    width : 130px; 
    padding-left : 30px;
  }
  .table-under--history td:nth-of-type(2) {
    width : 110px;
  }
  .philosophy-wrap {
    position : relative;
    overflow : hidden; 
    margin-bottom : -60px;
    padding : 40px 0 0;
  }
  .philosophy-heading {
    position : relative;
    z-index : -1; 
    top : -120px;
    margin : 0 0 -120px;
  }
  .philosophy-heading img:first-of-type {
    display : none;
  }
  .philosophy-heading img:last-of-type {
    display : block;
    width : 100%;
  }
  .access-item {
    font-size : 16px;

    *zoom : 1;
  }
  .access-item:before , .access-item:after {
    display : table;
    content : ' ';
  }
  .access-item:after {
    clear : both;
  }
  .access-item:not(:last-of-type) {
    margin-bottom : 50px;
  }
  .access-item > div:first-of-type {
    float : left;
    width : 384px; 
    padding : 37px 35px 0;
  }
  .access-item h2 {
    margin-bottom : 10px;
  }
  .access-item p {
    line-height : 30px;
    margin-bottom : 7px;
  }
  .access-item ul:first-of-type {
    margin-bottom : 35px; 
    padding-bottom : 40px;
  }
  .access-item ul:first-of-type li {
    line-height : 1;
  }
  .access-item ul:first-of-type li:first-child {
    margin-bottom : 14px;
  }
  .access-item ul:last-of-type {
    font-size : 14px;
  }
  .access-item ul:last-of-type li {
    line-height : 24px;
  }
  .access-item__map {
    float : left;
    width : 640px;
    height : 420px;
  }
  .history-items {
    width : 460px;
    margin : 0 auto;
  }
  .history-items:before {
    margin-left : -1px;
  }
  .history-items:not(:last-of-type) {
    padding-bottom : 26px;
  }
  .history-items h2 {
    font-size : 20px;
    line-height : 1;
    margin-bottom : 9px; 
    padding : 9px 0;
  }
  .history-items img + p , .history-items p + img {
    margin-top : 13px;
  }
  .history-item {
    font-size : 16px;
    line-height : 30px;
    width : 460px;
    margin-left : 68px; 
    padding : 16px 30px 18px;
  }
  .history-item:before {
    top : 15px; 
    left : -68px;
    width : 30px;
    height : 30px;
    border-width : 7px;
  }
  .history-item:after {
    top : 15px; 
    left : -30px;
    border-width : 15px;
  }
  .history-item:not(:last-of-type) {
    margin-bottom : 20px;
  }
  .history-item .img--in img {
    position : relative;
    top : 4px;
  }
}

.contact-lead {
  margin-bottom : 1rem;
}
.contact-lead a {
  text-decoration : underline; 
  color : #757dbb;
}

.contact-link {
  margin-bottom : 1rem;
}
.contact-link a {
  color : #757dbb;
}
.contact-link a:before {
  position : relative;
  bottom : .1rem;
  display : inline-block;
  width : .5rem;
  height : .9rem;
  margin-right : 1rem;
  content : ''; 
  background : url(../images/common/icon-arrow_purple.png) no-repeat;
  background-size : .5rem;
}

.contact-tel {
  margin-bottom : 2rem; 
  padding : 1.5rem;
  text-align : center;
  background-color : #fff;
}
.contact-tel h3 {
  margin-bottom : .5rem;
}
.contact-tel p:first-of-type {
  font-size : 2.4rem;
}
.contact-tel p:first-of-type:before {
  display : inline-block;
  width : 2.4rem;
  height : 2.4rem;
  margin-right : 1.3rem;
  content : ''; 
  background : url(../images/common/icon-phone.png) no-repeat;
  background-size : 2.4rem;
}
.contact-tel span {
  font-size : 1.2rem;
}
.contact-tel p:last-of-type {
  font-size : 1.2rem;
}

.contact-fax {
  margin-bottom : 2rem; 
  padding : 1.5rem;
  text-align : center;
  background-color : #fff;
}
.contact-fax h3 {
  margin-bottom : .5rem;
}
.contact-fax p {
  font-size : 2.4rem;
}
.contact-fax p:before {
  display : inline-block;
  width : 2.4rem;
  height : 2.4rem;
  margin-right : 1.3rem;
  content : ''; 
  background : url(../images/common/icon-fax.png) no-repeat;
  background-size : 2.4rem;
}

.contact-form {
  padding : 1.5rem; 
  background-color : #fff;
}
.contact-form h3 {
  margin-bottom : 1rem; 
  text-align : center;
}
.contact-form p:first-of-type {
  margin-bottom : 1rem; 
  text-align : center;
}
.contact-form p:nth-of-type(2) {
  font-size : 2rem;
  line-height : 5rem;
  margin-bottom : 1.5rem; 
  padding-bottom : 1.5rem;
  text-align : center;
  border-bottom : 1px solid #dedddd;
}
.contact-form p:nth-of-type(2) a {
  display : block;
  color : #fff;
  border-radius : 40px; 
  background-color : #757dbb;
}
.contact-form p:nth-of-type(2) a:before {
  position : relative;
  bottom : .1rem;
  display : inline-block;
  width : .6rem;
  height : 1.1rem;
  margin-right : .8rem;
  content : ''; 
  background : url(../images/common/icon-arrow_white.png) no-repeat;
  background-size : .6rem;
}
.contact-form p:nth-of-type(2) ~ p {
  font-size : 1.2rem;
}
.contact-form p:nth-of-type(2) ~ p:not(:last-of-type) {
  margin-bottom : 1em;
}
.contact-form p:nth-of-type(2) ~ p a {
  text-decoration : underline; 
  color : #757dbb;
}

@media screen and (min-width: 768px) {
  .contact-lead {
    font-size : 16px;
    line-height : 30px;
    width : 640px;
    margin : 0 auto 12px;
  }
  .contact-link {
    font-size : 16px;
    width : 640px;
    margin : 0 auto 36px;
  }
  .contact-link a:before {
    font-size : 14px;
  }
  .contact-tel {
    float : left;
    width : 495px;
    height : 186px;
    margin-bottom : 40px; 
    padding : 26px 0 0;
  }
  .contact-tel h3 {
    font-size : 16px;
    margin-bottom : 13px;
  }
  .contact-tel p:first-of-type {
    font-size : 34px;
    margin-bottom : 12px;
  }
  .contact-tel span {
    font-size : 14px;
  }
  .contact-tel p:last-of-type {
    font-size : 14px;
  }
  .contact-fax {
    float : right;
    width : 495px;
    height : 186px;
    margin-bottom : 40px; 
    padding : 26px 0 0;
  }
  .contact-fax h3 {
    font-size : 16px;
    margin-bottom : 13px;
  }
  .contact-fax p {
    font-size : 34px;
  }
  .contact-form {
    clear : both;
    padding : 27px 42px 34px;
  }
  .contact-form h3 {
    font-size : 16px;
    margin-bottom : 21px;
  }
  .contact-form p:first-of-type {
    font-size : 16px;
    margin-bottom : 24px;
  }
  .contact-form p:nth-of-type(2) {
    font-size : 22px;
    line-height : 60px;
    margin-bottom : 15px; 
    padding-bottom : 30px;
  }
  .contact-form p:nth-of-type(2) a {
    display : inline-block;
    width : 420px;
  }
  .contact-form p:nth-of-type(2) a:before {
    width : .8rem;
    height : 1.4rem; 
    background-size : auto;
  }
  .contact-form p:nth-of-type(2) ~ p {
    font-size : 14px; 
    line-height : 24px;
  }
}

.form-heading {
  margin-bottom : 2rem; 
  text-align : center;
}
.form-heading + p {
  margin-bottom : 2rem; 
  text-align : center;
}

.form {
  margin-bottom : 1.5rem; 
  padding : 1.5rem;
  background-color : #fff;
}
.form dl {
  margin-bottom : 1.5rem; 
  border-bottom : 1px solid #dedddd;
}
.form dt {
  font-weight : bold;
  margin-bottom : .5rem;
}
.form dd {
  margin-bottom : 1.5rem;
}
.form select {
  font-size : 1.4rem;
  overflow : hidden;
  width : 100%;
  height : 5rem;
  padding : 0 5rem 0 1.5rem;
  cursor : pointer;
  white-space : nowrap;
  text-overflow : ellipsis;
  color : #595656;
  border : 1px solid #dcdbd7;
  border-radius : .5rem;
  outline : none;
  background-color : #faf9f4;

  -webkit-appearance : none;
     -moz-appearance : none;
          appearance : none;
}
.form select.form__error {
  border-color : #e47c97; 
  background-color : #f5d1da;
}
.form [type='text'] , .form [type='email'] , .form [type='tel'] , .form textarea {
  font-size : 1.4rem;
  width : 100%;
  transition : background-color .2s ease-out; 
  color : #595656;
  border : 1px solid #dcdbd7;
  border-radius : .5rem;
  outline : none;
  background-color : #faf9f4;
}
.form [type='text']::-webkit-input-placeholder , .form [type='email']::-webkit-input-placeholder , .form [type='tel']::-webkit-input-placeholder , .form textarea::-webkit-input-placeholder {
  opacity : .5; 
  color : #595656;
}
.form [type='text']::-moz-placeholder , .form [type='email']::-moz-placeholder , .form [type='tel']::-moz-placeholder , .form textarea::-moz-placeholder {
  opacity : .5; 
  color : #595656;
}
.form [type='text']:-ms-input-placeholder , .form [type='email']:-ms-input-placeholder , .form [type='tel']:-ms-input-placeholder , .form textarea:-ms-input-placeholder {
  opacity : .5; 
  color : #595656;
}
.form [type='text']::placeholder , .form [type='email']::placeholder , .form [type='tel']::placeholder , .form textarea::placeholder {
  opacity : .5; 
  color : #595656;
}
.form [type='text']:focus , .form [type='email']:focus , .form [type='tel']:focus , .form textarea:focus {
  background-color : #dcdbd7;
}
.form [type='text'].form__error , .form [type='email'].form__error , .form [type='tel'].form__error , .form textarea.form__error {
  border-color : #e47c97; 
  background-color : #f5d1da;
}
.form [type='text'] , .form [type='email'] , .form [type='tel'] {
  height : 5rem; 
  padding : 0 1.5rem;
}
.form textarea {
  min-height : 16rem; 
  padding : 1rem 1.5rem;
}
.form [type='submit'] {
  font-size : 2rem;
  width : 100%;
  height : 5rem;
  cursor : pointer;
  color : #fff;
  border : 0;
  border-radius : 40px; 
  background-color : #757dbb;
}
.form [type='button'] {
  font-size : 2rem;
  width : 100%;
  height : 5rem;
  margin-bottom : 1.5rem;
  cursor : pointer;
  color : #fff;
  border : 0;
  border-radius : 40px; 
  background-color : #cdcccc;
}
.form ~ p:not(:last-of-type) {
  margin-bottom : 1rem;
}
.form ~ p a {
  text-decoration : underline; 
  color : #757dbb;
}

.form__required {
  font-size : 1.2rem;
  margin-left : 1rem; 
  color : #e47c97;
}

.form__select div {
  position : relative;
}
.form__select div:before , .form__select div:after {
  position : absolute;
  content : '';
}
.form__select div:before {
  top : 1.3rem; 
  right : 5rem;
  width : 1px;
  height : 2.5rem;
  background-color : #dcdbd7;
}
.form__select div:after {
  top : 2.3rem; 
  right : 1.9rem;
  width : 1.4rem;
  height : 1.7rem;
  background : url(../images/form/icon-select.png) no-repeat;
}

label.form__error {
  font-size : 1.2rem;
  font-weight : bold;
  margin-top : .5rem; 
  color : #e47c97;
}

.form-card {
  margin-bottom : 1.5rem; 
  padding : 1.5rem;
  text-align : center;
  background-color : #fff;
}
.form-card p:first-of-type {
  font-size : 2.2rem;
  margin-bottom : 2rem; 
  padding-bottom : 2rem;
  border-bottom : 1px solid #dedddd;
}
.form-card p:nth-of-type(2) , .form-card p:nth-of-type(3) {
  margin-bottom : 1.5rem;
}
.form-card p:nth-of-type(4) {
  margin-bottom : 3rem;
}
.form-card dt , .form-card dd {
  display : inline-block;
}
.form-card dt:after {
  content : ' : ';
}
.form-card + p {
  font-size : 2rem;
  line-height : 5rem;
  text-align : center;
}
.form-card + p a {
  display : block;
  color : #fff;
  border-radius : 40px; 
  background-color : #757dbb;
}
.form-card + p a:before {
  position : relative;
  bottom : .1rem;
  display : inline-block;
  width : .6rem;
  height : 1.1rem;
  margin-right : .8rem;
  content : ''; 
  background : url(../images/common/icon-arrow_white.png) no-repeat;
  background-size : .6rem;
}

@media screen and (min-width: 768px) {
  .form-heading {
    font-size : 16px;
    margin-bottom : 17px;
  }
  .form-heading + p {
    font-size : 16px;
    line-height : 30px;
    margin-bottom : 23px;
  }
  .form {
    font-size : 0;
    margin-bottom : 15px; 
    padding : 30px 42px 50px;
  }
  .form dl {
    margin-bottom : 30px;
  }
  .form dt {
    font-size : 14px;
    display : inline-block;
    width : 240px; 
    padding : 15px 0 0 7px;
    vertical-align : top;
  }
  .form dd {
    display : inline-block;
    width : 640px;
    margin-bottom : 30px; 
    vertical-align : top;
  }
  .form select {
    width : 130%; 
    padding : 0 20px;
  }
  .form [type='text'] , .form [type='email'] , .form [type='tel'] {
    width : 320px; 
    padding : 0 20px;
  }
  .form textarea {
    min-height : 150px; 
    padding : 12px 0 12px 20px;
  }
  .form p {
    text-align : center;
  }
  .form [type='submit'] {
    font-size : 22px;
    width : 420px;
    height : 60px;
    transition : background-color .2s ease-out;
  }
  .form [type='submit']:hover {
    background-color : #545da9;
  }
  .form [type='submit']:active {
    background-color : #434b87;
  }
  .form ul {
    text-align : center;
  }
  .form ul [type='submit'] {
    width : 250px;
  }
  .form li {
    display : inline-block;
    margin : 0 30px;
  }
  .form [type='button'] {
    font-size : 22px;
    width : 250px;
    height : 60px;
    transition : background-color .2s ease-out;
  }
  .form [type='button']:hover {
    background-color : #b4b2b2;
  }
  .form [type='button']:active {
    background-color : #9b9898;
  }
  .form ~ p {
    line-height : 24px;
  }
  .form ~ p:not(:last-of-type) {
    margin-bottom : 20px;
  }
  .form__select div {
    overflow : hidden; 
    width : 320px;
    border-right : 1px solid #dcdbd7;
    border-radius : 0 .5rem .5rem 0;
  }
  .form__address {
    width : 100% !important;
  }
  label.form__error {
    display : block;
  }
  .form--confirm dd {
    font-size : 14px;
    min-height : 50px; 
    padding-top : 15px;
  }
  .form-card {
    margin-bottom : 30px; 
    padding : 43px 42px 45px;
  }
  .form-card p:first-of-type {
    font-size : 26px;
    line-height : 40px;
    margin-bottom : 38px; 
    padding-bottom : 43px;
  }
  .form-card p:first-of-type ~ p {
    line-height : 24px;
  }
  .form-card p:nth-of-type(2) , .form-card p:nth-of-type(3) {
    margin-bottom : 20px;
  }
  .form-card p:nth-of-type(4) {
    margin-bottom : 50px;
  }
  .form-card dl {
    line-height : 24px;
  }
  .form-card dt , .form-card dd {
    display : inline-block;
  }
  .form-card dt:after {
    content : ' : ';
  }
  .form-card + p {
    font-size : 22px; 
    line-height : 60px;
  }
  .form-card + p a {
    display : inline-block;
    width : 320px;
  }
  .form-card + p a:before {
    width : .8rem;
    height : 1.4rem; 
    background-size : auto;
  }
}

.oem-desc {
  margin-bottom : 1rem;
}

.oem-image {
  margin-bottom : 2rem;
}

.oem-card {
  margin-bottom : 2rem; 
  padding : 1.5rem;
  background-color : #fff;
}
.oem-card h3 {
  margin-bottom : 1rem; 
  text-align : center;
  color : #757dbb;
}
.oem-card li {
  position : relative;
  padding-left : 5rem;
}
.oem-card li:not(:last-child) {
  margin-bottom : 2rem;
}
.oem-card li:before {
  position : absolute;
  left : 0;
  width : 3rem;
  height : 3rem;
  content : '';
  border-radius : 50%; 
  background : #faf9f4 url(../images/oem/icon-check.png) no-repeat center;
  background-size : 2.3rem;
}

.oem-item:not(:last-of-type) {
  margin-bottom : 1rem;
}

.oem-item img {
  display : block;
  margin : 0 auto 1rem;
}

.oem-item h4 {
  margin-bottom : .5rem; 
  text-align : center;
  color : #757dbb;
}

.oem-item-ttl {
  font-size : 1.6rem;
  margin-bottom : 1rem; 
  text-align : center;
  color : #757dbb;
}

.oem-button {
  font-size : 2rem;
  line-height : 5rem;
  margin : 3rem -1.5rem 0; 
  padding : 3rem 1.5rem 0;
  text-align : center;
  border-top : 1px solid #dad8d4;
}
.oem-button a {
  display : block;
  color : #fff;
  border-radius : 40px; 
  background-color : #757dbb;
}
.oem-button a:before {
  position : relative;
  bottom : .1rem;
  display : inline-block;
  width : .6rem;
  height : 1.1rem;
  margin-right : .8rem;
  content : ''; 
  background : url(../images/common/icon-arrow_white.png) no-repeat;
  background-size : .6rem;
}

@media screen and (min-width: 768px) {
  .contents-heading.oem-heading {
    padding : 33px 0 27px;
  }
  .oem-desc {
    font-size : 16px;
    line-height : 30px;
    width : 640px;
    margin : 0 auto 31px;
  }
  .oem-image {
    margin-bottom : 40px;
  }
  .oem-card {
    margin-bottom : 40px; 
    padding : 27px 0 40px;
  }
  .oem-card h3 {
    font-size : 22px;
    margin-bottom : 17px;
  }
  .oem-card ul {
    padding-left : 124px;
  }
  .oem-card li {
    line-height : 30px;
  }
  .oem-item {
    line-height : 24px;
    float : left;
    width : 232px;
    margin-bottom : 35px;
  }
  .oem-item:not(:last-of-type) {
    margin : 0 32px 0 0;
  }
  .oem-item img {
    margin-bottom : 15px;
  }
  .oem-item h4 {
    min-height : 39px;
    margin-bottom : 10px;
  }
  .oem-item-ttl {
    font-size : 22px;
    margin-bottom : 17px;
  }
  .oem-button {
    font-size : 22px;
    line-height : 60px;
    clear : both;
    margin : 0; 
    padding-top : 60px;
  }
  .oem-button a {
    display : inline-block;
    width : 420px;
  }
  .oem-button a:before {
    width : .8rem;
    height : 1.4rem; 
    background-size : auto;
  }
}

.recruit-table {
  margin-bottom : 2.5rem; 
  padding : 1.5rem;
  background-color : #fff;
}
.recruit-table caption {
  font-size : 1.6rem;
  font-weight : normal;
  text-align : center;
}

.recruit-box {
  padding : 1.5rem; 
  text-align : center;
  background-color : #fff;
}
.recruit-box div {
  padding : 1.5rem;
  border : 1px solid #dcdbd7; 
  background-color : #faf9f4;
}
.recruit-box h3 {
  margin-bottom : .5rem;
}
.recruit-box p:first-of-type {
  margin-bottom : 1rem;
}
.recruit-box ul {
  margin-bottom : 1rem;
}
.recruit-box ul a {
  text-decoration : underline; 
  color : #757dbb;
}
.recruit-box li:before {
  display : inline-block;
  width : 2.4rem;
  content : ''; 
  vertical-align : middle;
  background-repeat : no-repeat;
  background-size : 2.4rem;
}
.recruit-box li:first-child {
  margin-bottom : 1rem;
}
.recruit-box li:first-child:before {
  height : 1.9rem;
  margin-right : .9rem; 
  background-image : url(../images/common/icon-mail.png);
}
.recruit-box li:last-child:before {
  height : 2.4rem;
  margin-right : 1.2rem; 
  background-image : url(../images/common/icon-phone.png);
}
.recruit-box p:last-of-type {
  font-size : 1.2rem;
  text-align : center;
}
.recruit-box p:last-of-type a {
  display : inline-block;
  display : block;
  padding : 1.3rem 3rem;
  color : #fff;
  border-radius : 40px; 
  background-color : #757dbb;
}
.recruit-box p:last-of-type a:before {
  position : relative;
  display : inline-block;
  width : .5rem;
  height : .9rem;
  margin-right : .9rem;
  content : ''; 
  background : url(../images/common/icon-arrow_white.png) no-repeat;
  background-size : .5rem;
}
.recruit-box span {
  display : block;
}

@media screen and (min-width: 768px) {
  .recruit-table {
    margin-bottom : 50px; 
    padding : 36px 40px 40px;
  }
  .recruit-table caption {
    font-size : 22px;
  }
  .recruit-box {
    padding : 40px 0;
  }
  .recruit-box div {
    width : 640px;
    margin : 0 auto; 
    padding : 13px 0 30px;
  }
  .recruit-box h3 {
    font-size : 16px;
    line-height : 30px;
    margin-bottom : 0;
  }
  .recruit-box p:first-of-type {
    font-size : 16px;
    line-height : 30px;
    margin-bottom : 13px;
  }
  .recruit-box ul {
    font-size : 0;
    margin-bottom : 24px;
  }
  .recruit-box li {
    font-size : 16px; 
    display : inline-block;
  }
  .recruit-box li:first-child {
    margin : 0 30px 0 0;
  }
  .recruit-box p:last-of-type {
    font-size : 14px; 
    line-height : 35px;
  }
  .recruit-box p:last-of-type a {
    display : inline-block;
    width : 420px; 
    padding : 0;
  }
  .recruit-box span {
    display : inline;
  }
}

.idea-wrap p {
  margin-bottom : 1.5rem;
}

.idea-wrap span {
  font-size : 1.2rem;
}

.idea-wrap ul {
  font-size : 1.2rem;
}

.idea-wrap a {
  text-decoration : underline; 
  color : #757dbb;
}

.idea-box {
  margin-bottom : 1.5rem; 
  padding : 1.5rem;
  border : 1px solid #dcdbd7;
}

.idea-action {
  margin-bottom : 1.5rem; 
  padding : 1.5rem;
  border : 1px solid #dcdbd7;
}
.idea-action h4 {
  margin-bottom : .5rem; 
  text-align : center;
}
.idea-action p:first-of-type {
  text-align : center;
}
.idea-action p:nth-of-type(2) {
  text-align : center;
}
.idea-action p:nth-of-type(2) a:before {
  display : inline-block;
  width : 2.4rem;
  height : 1.9rem;
  margin-right : 2.4rem;
  content : ''; 
  background : url(../images/common/icon-mail.png) no-repeat;
  background-size : 2.4rem;
}

@media screen and (min-width: 768px) {
  .idea-wrap {
    font-size : 16px;
    line-height : 30px;
    width : 640px;
    margin : 0 auto;
  }
  .idea-wrap p {
    margin-bottom : 33px;
  }
  .idea-wrap span {
    line-height : 20px;
  }
  .idea-wrap ul {
    line-height : 20px;
  }
  .idea-wrap a {
    text-decoration : underline; 
    color : #757dbb;
  }
  .idea-box {
    margin-bottom : 33px; 
    padding : 23px 40px 26px;
  }
  .idea-box ol {
    margin-bottom : 9px;
  }
  .idea-action {
    margin-bottom : 18px; 
    padding : 23px 40px 26px;
  }
  .idea-action h4 {
    margin-bottom : 3px;
  }
  .idea-action p:first-of-type {
    margin-bottom : 17px;
  }
  .idea-action p:nth-of-type(2) {
    margin-bottom : 17px;
  }
}

.privacy-wrap h2 , .privacy-wrap h3 {
  font-weight : normal;
}

.privacy-wrap h2 {
  margin-top : 1.5rem;
}

.privacy-wrap p + h3 {
  margin-top : 1.5rem;
}

.privacy-wrap span {
  font-size : 1.2rem;
}

@media screen and (min-width: 768px) {
  .privacy-wrap {
    font-size : 16px;
    line-height : 30px;
    width : 640px;
    margin : 0 auto;
  }
  .privacy-wrap h2 {
    margin-top : 26px;
  }
  .privacy-wrap p + h3 {
    margin-top : 26px;
  }
  .privacy-wrap span {
    line-height : 20px; 
    display : inline-block;
  }
}

.sitemap-link {
  font-weight : bold;
  margin-bottom : 1rem;
}
.sitemap-link li {
  line-height : 4.4rem;
}
.sitemap-link a {
  display : block;
  color : #757dbb;
}
.sitemap-link > li:first-child , .sitemap-link > li:nth-last-child(2) , .sitemap-link > li:last-child {
  border-bottom : 1px solid #dcdbd7;
}
.sitemap-link > li > a:before {
  position : relative;
  bottom : .1rem;
  display : inline-block;
  width : .5rem;
  height : .9rem;
  margin-right : 1.1rem;
  content : ''; 
  background : url(../images/common/icon-arrow_purple.png) no-repeat;
  background-size : .5rem;
}
.sitemap-link ul {
  font-size : 1.2rem;
  border-top : 1px solid #dcdbd7;
  border-left : 1px solid #dcdbd7;

  *zoom : 1;
}
.sitemap-link ul:before , .sitemap-link ul:after {
  display : table;
  content : ' ';
}
.sitemap-link ul:after {
  clear : both;
}
.sitemap-link ul li {
  float : left;
  width : 50%;
  border-right : 1px solid #dcdbd7;
  border-bottom : 1px solid #dcdbd7;
}
.sitemap-link ul a {
  padding-left : 1.5rem;
}

.sitemap-list {
  font-size : 1.2rem;
  font-weight : bold;
  margin-bottom : 1rem;
}
.sitemap-list li {
  line-height : 3.4rem;
}
.sitemap-list a {
  display : block;
  color : #757dbb;
}
.sitemap-list a:before {
  position : relative;
  bottom : .1rem;
  display : inline-block;
  width : .5rem;
  height : .9rem;
  margin-right : 1.1rem;
  content : ''; 
  background : url(../images/common/icon-arrow_purple.png) no-repeat;
  background-size : .5rem;
}

.sitemap-share {
  font-weight : bold;
  text-align : center;
}
.sitemap-share li {
  line-height : 6rem;
  border : 1px solid #dcdbd7;
}
.sitemap-share li:first-child {
  margin-bottom : 1rem;
}
.sitemap-share li:first-child a:before {
  top : .6rem; 
  width : 2.4rem;
  height : 2.4rem;
  margin-right : 2rem;
  background-image : url(../images/common/icon-instagram.png);
  background-size : 2.4rem;
}
.sitemap-share li:last-child a:before {
  top : .5rem; 
  width : 2.1rem;
  height : 2.1rem;
  margin-right : 2.6rem;
  background-image : url(../images/common/icon-facebook.svg);
  background-size : 2.1rem;
}
.sitemap-share a {
  display : block;
  color : #595656;
}
.sitemap-share a:before {
  position : relative;
  display : inline-block;
  content : ''; 
  background-repeat : no-repeat;
}

@media screen and (min-width: 768px) {
  .sitemap-link {
    font-size : 20px;
    width : 640px;
    margin : 0 auto 31px;
  }
  .sitemap-link > li {
    line-height : 1;
  }
  .sitemap-link > li:not(:last-child) {
    margin-bottom : 14px;
  }
  .sitemap-link > li > a {
    display : inline-block;
    padding : 30px 0;
  }
  .sitemap-link > li > a:before {
    bottom : 4px;
  }
  .sitemap-link ul {
    font-size : 14px;
  }
  .sitemap-link > li:nth-child(4) ul {
    margin-bottom : 44px;
  }
  .sitemap-link > li:nth-child(5) ul {
    margin-top : 30px;
  }
  .sitemap-link ul li {
    line-height : 56px;
    width : 33.333333333333333%;
  }
  .sitemap-link ul a {
    padding-left : 20px;
  }
  .sitemap-list {
    font-size : 14px;
    width : 640px;
    margin : 0 auto 32px;
  }
  .sitemap-list li {
    line-height : 36px;
  }
  .sitemap-list a {
    display : inline-block;
  }
  .sitemap-share {
    width : 640px;
    margin : 0 auto;

    *zoom : 1;
  }
  .sitemap-share:before , .sitemap-share:after {
    display : table;
    content : ' ';
  }
  .sitemap-share:after {
    clear : both;
  }
  .sitemap-share li {
    width : 300px;
  }
  .sitemap-share li:first-child {
    float : left;
    margin-bottom : 0;
  }
  .sitemap-share li:last-child {
    float : right;
  }
}

/* English Page
---------------------------------------*/
/* header */
.en .l-header__contents .nav__list > li {
  line-height : 1.3;
}
.en .l-header__contents .nav__list > li a {
  display : block;
  padding-top : 16px;
  padding-bottom : 16px;
}
.en .l-header__contents .nav__list > li span {
  font-size : 90%;
}

@media screen and (min-width: 768px) {
  .en .l-header__contents .nav__list {
    display : table;
    width : 100%;
  }
  .en .l-header__contents .nav__list > li {
    line-height : 1;
    display : table-cell;
    height : 40px;
    vertical-align : middle;
  }
  .en .l-header__contents .nav__list > li a {
    padding-top : 6px;
    padding-bottom : 6px;
  }
  .en .l-header__contents .nav__list > li:nth-child(-n+2) a {
    padding-top : 13px;
    padding-bottom : 13px;
  }
  .en .l-header__contents .nav__list > li span {
    font-size : 10px;
  }
}

/* footer */
@media screen and (min-width: 768px) {
  .en .l-footer__copyright {
    padding-top : 22px;
  }
}

/* home */
.en-section-front {
  font-family : 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', Arial, Helvetica, sans-serif;
  margin-bottom : 40px; 
  padding-top : 10px;
  padding-bottom : 50vw;
  text-align : center;
  background : url(../images/en/bg_en-section-front.png) no-repeat center bottom;
  background-size : 100% auto;
}
.en-section-front__logo {
  margin-bottom : 20px;
}
.en-section-front__logo img {
  width : 82px;
}

@media screen and (min-width: 768px) {
  .en-section-front {
    font-family : Avenir, 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Verdana, Roboto, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    margin-bottom : 0; 
    padding-top : 90px;
    padding-bottom : 43vw;
  }
  .en-section-front__logo {
    margin-bottom : 40px;
  }
  .en-section-front__logo img {
    width : 164px;
  }
  .en-section-front__txt {
    font-size : 1.6rem;
    line-height : 2.5;
    width : 765px;
    margin-right : auto;
    margin-left : auto;
  }
}

.en .en_topic-product {
  margin-top : 20px;
}

@media screen and (min-width: 768px) {
  .en .en_topic-aboutus > a {
    float : right;
    min-width : 700px;
    height : 400px; 
    background : url(../images/en/en_topic-aboutus_pc.jpg) no-repeat right top;
  }
  .en .en_topic-product {
    margin-top : 0;
  }
  .en .en_topic-product > a {
    height : 400px; 
    background : url(../images/en/en_topic-product_pc.jpg) no-repeat left top;
  }
  .en .section-topic .topic__body {
    position : absolute;
    right : 110px; 
    bottom : 130px;
  }
  .en .section-topic .en_topic-product .topic__body {
    position : absolute;
    right : auto;
    left : 385px;
  }
  .en .section-topic .topic__btn span {
    color : #fff; 
    border : 1px solid #fff;
  }
}

/* aboutus */
@media screen and (min-width: 768px) {
  .en .table-under.table-under--history tr {
    display : table;
  }
  .en .table-under.table-under--history td:nth-of-type(2) {
    width : 894px;
  }
  .en .access-item__map {
    height : 480px;
  }
}