@charset "utf-8";

/* Includes */

@import "//fonts.googleapis.com/css?family=Barlow:400,500,600,700|Cormorant:600|Roboto:700|Poppins:400,700";
@import "//fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&subset=japanese";
@import "/common/css/reset.css";
@import "/common/css/vendor/swiper.min.css";
@import "/common/css/header.css?ud=200318";
@import "/common/css/footer.css";


/*------------------------------------------------*/

/* Base */

/*------------------------------------------------*/

/* Font */

/* @font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Medium');
  font-weight: 100;
}

@font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Medium');
  font-weight: 200;
}

@font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Medium');
  font-weight: 300;
}

@font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Medium');
  font-weight: 400;
}

@font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Bold');
  font-weight: bold;
}

@font-face {
  font-family: 'Helvetica Neue';
  src: local('Helvetica Neue Regular');
  font-weight: 100;
}

@font-face {
  font-family: 'Helvetica Neue';
  src: local('Helvetica Neue Regular');
  font-weight: 200;
} */

/* Base */

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

*::before,
*::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1;
}

body {
  /* font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Yu Gothic', YuGothic, Meiryo, 'Hiragino Kaku Gothic ProN', sans-serif; */
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Noto Sans JP', Meiryo, 'Hiragino Kaku Gothic ProN', sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.75;
  color: rgb(34, 34, 34);
}

/* IE */
/* _:-ms-input-placeholder, :root body {
  font-family: Meiryo, sans-serif;
} */
/* Chrome */
/* @media screen and (-webkit-min-device-pixel-ratio:0) {
  body {
    font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Meiryo, 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', sans-serif;
  }
} */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

li,
ol {
  list-style-type: none;
}

img {
  border: 0;
  vertical-align: top;
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

a,
a:hover,
a:visited {
  color: rgb(34, 34, 34);
}

/*------------------------------------------------*/

/* Common */

/*------------------------------------------------*/

/* breadcrumb */

.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.breadcrumb_top {
  background: rgb(240, 241, 242);
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 40px;
}

.breadcrumb_top .breadcrumb li {
  margin-left: 1em;
  font-size: 1.1rem;
}

.breadcrumb_top .breadcrumb li a {
  color: rgb(33, 33, 33);
}
.breadcrumb li a:hover {
  text-decoration: underline;
}

.breadcrumb_bottom {
  margin-top: 100px;
  background: rgb(208, 17, 27);
  border-bottom: 4px solid rgb(247, 176, 0);
  height: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: calc(80 / 1550 * 100%);
}

.breadcrumb_bottom .breadcrumb li {
  margin-left: 1em;
  font-size: 1.3rem;
}

.breadcrumb_bottom .breadcrumb li,
.breadcrumb_bottom .breadcrumb li a {
  color: #fff;
}

.breadcrumb li:not(:first-child) {
  position: relative;
}

.breadcrumb li:not(:first-child)::before {
  content: '\03e';
  margin-right: 1em;
}

@media screen and (max-width:1150px) {
  .breadcrumb_bottom {
    height: 4.8696vw;
  }
}

@media screen and (max-width:767px) {
  .breadcrumb_top {
    display: none;
  }
  .breadcrumb_bottom {
    height: auto;
    min-height: 43px;
    margin-top: 60px;
    border-bottom: 3px solid rgb(247, 176, 0);
    padding-left: 6px;
  }
  .breadcrumb_bottom .breadcrumb {
    flex-wrap: wrap;
    padding: 8px 0;
  }
  .breadcrumb_bottom .breadcrumb li:first-child {
    margin-left: 0;
  }

}

/*------------------------------------------------*/

/* layout */

/*------------------------------------------------*/

/* single column */
.l-col1 {
  /* width: calc(1150 / 1550 * 100%); */
  width: 92%;
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
}

/* 2column */
/* for pc */
/* | margin | article | margin |  aside | margin | */
/* |   1%   |  73.06% |  auto  | 21.84% |   1%   | */
.l-col2 {
  /* width: calc(1150 / 1550 * 100%); */
  width: 92%;
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
  /* padding: 0 1%; */
  overflow: hidden;
}
.l-col2 > article {
  float: left;
  width: 73.06%;
}
.l-col2 > aside {
  float: right;
  width: 21.84%;
  position: relative;
}

/* for tb */
/* | margin | article | margin | */
/* |   4%   |   92%   |   4%   | */
@media print, screen and (max-width:980px) {
  .l-col2 {
    width: 100%;
    padding: 0 4%;
  }
  .l-col2 > article {
    float: none;
    width: 100%;
  }
  .l-col2 > aside {
    float: none;
    width: 100%;
  }
}
/* for sp */
/* | margin | article | margin | */
@media screen and (max-width:767px) {
  .l-col2 {
    width: 89.3333%;
    min-width: 310px;
    padding: 0;
  }
}



/*------------------------------------------------*/

/* Parts */

/*------------------------------------------------*/

/* lower hero */

.hero {
  position: relative;
  margin-bottom: 90px;
}
.hero::before {
  display: block;
  position: relative;
  width: calc(1470 / 1550 * 100%);
  height: 23.8065vw; /* 1550 -> 369px */
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  content: '';
}

.hero .hero_ttl_group_box {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-top: 10vw;
  height: 0;
  overflow: hidden;
}
.hero .hero_ttl_group_box::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 25%;
  border-top: 3px solid rgb(208, 17, 27);
  padding-top: 10vw;
  background-color: rgb(255,255,255);
  content: '';
}
.hero .hero_ttl_group {
  position: relative;
  width: 92%;
  max-width: 1150px;
  margin: -10vw auto 0;
  padding-top: 10vw;
}
.hero .hero_ttl_group::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 37.913%;
  border-top: 3px solid rgb(208, 17, 27);
  padding-top: 10vw;
  background-color: rgb(255,255,255);
  content: '';
}

.hero .hero_title {
  position: relative;
  margin-top: -95px;
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.4;
}
.hero .hero_title > span {
  letter-spacing: -.175em;
}

.hero .hero_sub_title {
  position: relative;
  font-family: 'Barlow', sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .04em;
}
@media screen and (min-width: 1551px) {
  .hero .hero_ttl_group_box {
    padding-top: 156px;
  }
  .hero .hero_ttl_group_box::before {
    padding-top: 156px;
  }
  .hero .hero_ttl_group {
    margin-top: -156px;
    padding-top: 156px;
  }
  .hero .hero_ttl_group::before {
    padding-top: 156px;
  }
}

@media screen and (max-width: 1250px) {
  .hero::before {
    height: calc(369 / 1550 * 100vw);
  }
  /*
  .hero .hero_ttl_group_box {
    padding-top: 12.48vw;
  }
  .hero .hero_ttl_group {
    margin-top: -12.48vw;
    padding-top: 12.48vw;
  }
  */
  .hero .hero_title {
    margin-top: -7.6vw;
    font-size: calc(1.7635vw + 11.9564px);
  }
  .hero .hero_sub_title {
    font-size: calc(0.8299vw + 5.6266px);
  }
}

@media screen and (max-width: 767px) {
  .hero {
    margin-bottom: 54px;
  }
  .hero::before {
    width: 100%;
    height: 60vw;
  }
  .hero .hero_ttl_group_box {
    width: 241.5px;
    height: 84.5px;
    margin-top: 0;
    border-top: 3px solid rgb(208, 17, 27);
    padding-top: 26px;
    padding-left: 35px;
    background-color: rgb(255,255,255);
  }
  .hero .hero_ttl_group_box::before {
    display: none;
  }
  .hero .hero_ttl_group {
    margin: 0;
    padding-top: 0;
  }
  .hero .hero_ttl_group::before {
    display: none;
  }
  .hero .hero_title {
    margin-top: 0;
    font-size: 2.1rem;
    line-height: 1.2;
  }
  .hero .hero_sub_title {
    padding-left: 1px;
    font-size: 1.1rem;
  }
}

/*------------------------------------------------*/
/* heading */
/*------------------------------------------------*/

h2.ttl {
  border-bottom: 1px solid rgb(240, 240, 239);
  font-size: 2.4rem;
  font-weight: 700;
  margin: 25px 0;
  position: relative;
  padding: 10px 0 10px 18px;
}

h2.ttl::before {
  content: '';
  display: block;
	width: 4px;
  height: 2.4rem;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
	background: -webkit-gradient(linear, left top, left bottom, from(rgb(247, 176, 0)), color-stop(0%, rgb(247, 176, 0)), color-stop(50%, rgb(247, 176, 0)),color-stop(50%, rgb(208, 17, 27)),to(rgb(208, 17, 27)));
	background: linear-gradient(0deg, rgb(247, 176, 0) 0%, rgb(247, 176, 0) 50%,rgb(208, 17, 27) 50%,rgb(208, 17, 27) 100%);
}

.ttl_l {
  position: relative;
  padding-top: calc(0.5641vw + 13.2564px);
  text-align: center;
  line-height: 1.5;
}

.ttl_l .title {
  font-size: calc(0.7692vw + 18.0769px);
  letter-spacing: .1em;
  font-weight: 700;
}

.ttl_l .caption {
  font-family: 'Barlow', sans-serif;
  font-size: calc(0.3846vw + 9.0385px);
  font-weight: 600;
  letter-spacing: .12em;
}

.ttl_l::before {
  content: '';
  display: block;
  width: 0;
  height: 2px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
  border-left: 29px solid rgb(208, 17, 27);
  border-right: 29px solid rgb(247, 176, 0);
}

.ttl_l_low {
  margin: 24px 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .1em;
	padding: 16px 0 8px;
	border-bottom: 1px solid rgb(208, 17, 27);
	position: relative;
}
.ttl_l_low::before {
  /*
  content: '';
  display: block;
  border-bottom: solid 1px rgb(208, 17, 27);
  position: absolute;
  bottom: -1px;
  width: 30.09009009009009%;
  */
}

.ttl_m {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.1;
  border-left: 2px solid rgb(208, 17, 27);
  padding-left: 15px;
  margin-bottom: 20px;
}

@media screen and (max-width:1550px) {
  .ttl_m {
    padding-left: calc(15 / 1550 * 100vw);
    font-size: calc(0.5128vw + 12.0513px);
  }
}

@media screen and (max-width:1250px) {
  h2.ttl {
    font-size: calc(0.9959vw + 11.5519px);
    margin: calc(1.0373vw + 12.0332px) 0;
  }
}

@media screen and (max-width:767px) {
  .ttl_l {
    padding-top: 13px;
  }
  .ttl_l .title {
    font-size: 2.2rem;
  }
  .ttl_l .caption {
    font-size: 1.1rem;
  }
  .ttl_l::before {
    border-left: 19px solid rgb(208, 17, 27);
    border-right: 19px solid rgb(247, 176, 0);
  }
  .ttl_m {
    margin-bottom: 14px;
    padding-left: 9px;
    font-size: 1.6rem;
  }
  .ttl_l_low {
    padding: 10px 0 5px;
    font-size: 1.6rem;
  }
}

/*------------------------------------------------*/
/* button */
/* <xx class="btn"><span>text</span></xx> */
/*------------------------------------------------*/
.btn {
  background: rgb(208, 17, 27);
  color: #fff;
  display: block;
  padding-top: 18px;
  padding-bottom: 18px;
  padding-left: 1em;
  position: relative;
  text-align: center;
  font-weight: 600;
}
a.btn,
a.btn:hover,
a.btn:visited {
  color: #fff;
}
.btn span {
  position: relative;
}
.btn span::before {
  content: '';
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate3d(-1.25em, -50%, 0) rotate(45deg);
  transform: translate3d(-1.25em, -50%, 0) rotate(45deg);
}

/* round */
.btn.btn_rd {
  border-radius: 60px;
}

/* color */
.btn.btn_white {
  background: #fff;
  color: rgb(208, 17, 27);
  border: 1px solid rgb(222, 222, 222);
}
a.btn.btn_white {
  color: #222;
}
.btn.btn_white span::before {
  border-color: rgb(208, 17, 27);
}
.btn.btn_white > span::before {
  transition: border-color .2s cubic-bezier(.165, .84, .44, 1);
}
._csstrans .btn.btn_white {
  transition: color .2s cubic-bezier(.165, .84, .44, 1);
  transition: background-color .2s .1s;
  transition: border-color .2s .1s;
}
.btn.btn_white:hover,
.btn.btn_white._active {
  border-color: rgb(208, 17, 27);
  background-color: rgb(208, 17, 27);
  color: rgb(255,255,255);
}
.btn.btn_white:hover > span::before,
.btn.btn_white._active > span::before {
  border-color: rgb(255,255,255);
}


@media screen and (max-width:1280px) {
  .l-1150 .btn {
    padding-top: calc(0.9424vw + 7.1623px);
    padding-bottom: calc(0.9424vw + 7.1623px);
    font-size: calc(0.733vw + 5.5707px);
  }
}
@media screen and (max-width:767px) {
  .l-1150 .btn {
    font-size: 1.3rem;
  }
}



/*------------------------------------------------*/
/* button ver.3 */
/*------------------------------------------------*/
.btn_red3,
.btn_white3,
.btn_gold3,
.btn_gray3 {
  display: block;
  text-align: center;
  cursor: pointer;
}
._csstrans .btn_red3,
._csstrans .btn_white3,
._csstrans .btn_gold3,
._csstrans .btn_gray3 {
  transition: color .2s cubic-bezier(.165, .84, .44, 1);
  transition: background-color .2s .1s;
  transition: border-color .2s .1s;
}
.btn_red3 > span,
.btn_white3 > span,
.btn_gold3 > span,
.btn_gray3 > span {
  position: relative;
  display: inline-block;
  padding-left: 0.75em;
}
.btn_red3 > span::before,
.btn_white3 > span::before,
.btn_gold3 > span::before,
.btn_gray3 > span::before {
  position: absolute;
  top: 50%;
  left: -0.25em;
  width: 0.5em;
  height: 0.5em;
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
  content: '';
  transition: border-color .2s cubic-bezier(.165, .84, .44, 1);
}


/*------------------------------------------------*/
/* button gray3 */
/* <xx class="btn_gray3"><span>text</span></xx> */
/*------------------------------------------------*/
.btn_gray3 {
  border: 1px solid rgb(222, 222, 222);
  background-color: rgb(236, 237, 239);
}
.btn_gray3 > span::before {
  border-top: 2px solid rgb(208, 17, 27);
  border-right: 2px solid rgb(208, 17, 27);
}

/* hover / active */
.btn_gray3:hover,
.btn_gray3._active {
  border-color: rgb(208,17,27);
  background-color: rgb(208,17,27);
  color: rgb(255,255,255);
}
.btn_gray3:hover > span::before,
.btn_gray3._active > span::before {
  border-color: rgb(255,255,255);
}

/*------------------------------------------------*/
/* button gold3 */
/* <xx class="btn_gold3"><span>text</span></xx> */
/*------------------------------------------------*/
.btn_gold3 {
  border: 1px solid rgb(205, 194, 171);
  background-color: rgb(245, 239, 225);
}
.btn_gold3 > span::before {
  border-top: 2px solid rgb(208, 17, 27);
  border-right: 2px solid rgb(208, 17, 27);
  content: '';
}

/* hover / active */
.btn_gold3:hover,
.btn_gold3._active {
  border-color: rgb(172, 139, 79);
  background-color: rgb(172, 139, 79);
  color: rgb(255,255,255);
}
.btn_gold3:hover > span::before,
.btn_gold3._active > span::before {
  border-color: rgb(255,255,255);
}

/*------------------------------------------------*/
/* button white3 */
/* <xx class="btn_white3"><span>text</span></xx> */
/*------------------------------------------------*/
.btn_white3 {
  border: 1px solid rgb(222, 222, 222);
  background-color: rgb(255,255,255);
}
.btn_white3 > span::before {
  border-top: 2px solid rgb(208, 17, 27);
  border-right: 2px solid rgb(208, 17, 27);
  content: '';
}

/* hover / active */
.btn_white3:hover,
.btn_white3._active {
  border-color: rgb(208, 17, 27);
  background-color: rgb(208, 17, 27);
  color: rgb(255,255,255);
}
.btn_white3:hover > span::before,
.btn_white3._active > span::before {
  border-color: rgb(255,255,255);
}

/*------------------------------------------------*/
/* button white3 */
/* <xx class="btn_white3"><span>text</span></xx> */
/*------------------------------------------------*/
.btn_red3 {
  border: 1px solid rgb(208, 17, 27);
  background-color: rgb(208, 17, 27);
  color: rgb(255,255,255);
}
.btn_red3 > span::before {
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
  content: '';
}

/* hover / active */
.btn_red3:hover,
.btn_red3._active {
  border-color: rgb(208, 17, 27);
  background-color: rgb(255, 255, 255);
  color: rgb(34,34,34);
}
.btn_red3:hover > span::before,
.btn_red3._active > span::before {
  border-color: rgb(208, 17, 27);
}

/*------------------------------------------------*/
/* button ver.4 */
/*------------------------------------------------*/
/* button gray line white back */
.btn_gl4 {
  display: block;
  border: 1px solid rgb(222,222,222);
  text-align: center;
  cursor: pointer;
}
._csstrans .btn_gl4 {
  transition: color .2s cubic-bezier(.165, .84, .44, 1);
  transition: background-color .2s .1s;
  transition: border-color .2s .1s;
}
.btn_gl4._btn_lc_red:hover {
  border-bottom-color: rgb(208,17,27);
}
.btn_gl4._btn_lc_org:hover {
  border-bottom-color: rgb(247,128,0);
}
.btn_gl4 > span {
  position: relative;
  display: inline-block;
}


/*------------------------------------------------*/
/* redarrow */
/*
/  <a href="" class="_redarrow"><span>link text</span></a>
/*
/*------------------------------------------------*/
._redarrow {
}
._redarrow > span {
  position: relative;
  padding-left: 1.5em;
}
._redarrow > span::before {
  position: absolute;
  top: 54%;
  left: 0;
  width: 0.4em;
  height: 0.4em;
  border-top: 1px solid rgb(208,17,27);
  border-right: 1px solid rgb(208,17,27);
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
  content: '';
}



/*------------------------------------------------*/
/* table */
/* <table class="table_default"> */
/*------------------------------------------------*/
table.table_default {
  width: 100%;
}
table.table_default th,
table.table_default td {
  border-bottom: 1px #ccc solid;
  padding: 15px 20px;
}
table.table_default th {
  font-weight: bold;
  background-color: #f4f3ef;
  vertical-align: top;
  white-space: nowrap;
}
table.table_default td {
  vertical-align: middle;
}

/*------------------------------------------------*/

/* Block */

/*------------------------------------------------*/

/* section lede
*  use under .ttl_l
*/

.section_lede {
  width: 92%;
  max-width: 1150px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.25;
}
@media screen and (max-width: 1250px) {
  .section_lede {
    font-size: calc(0.6224vw + 8.2199px);
  }
}
@media screen and (max-width: 767px) {
  .section_lede {
    font-size: 1.3rem;
    line-height: 2;
  }
}

/*
* products_categories
* .products_categories: use <ul>
* .category  : use <li>
*/

.products_categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.products_categories .blank_item {
  display: none;
}
.products_categories .category {
  width: calc(175 / 760 * 100%);
  border: 1px solid rgb(222, 222, 222);
  text-align: center;
  background-color: rgb(236, 237, 239);
}
.products_categories .category:not(:nth-child(4n)) {
  margin-right: calc(20 / 760 * 100%);
}

.products_categories .category:nth-child(n+5) {
  margin-top: calc(20 / 760 * 100%);
}
.products_categories .category > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  height: 100%;
}
.products_categories .category:hover {
  background-color: rgb(208, 17, 27);
}
.products_categories .category .category_main {
  /* height: 33%; */
  /* background: rgb(236, 237, 239); */
}
.products_categories .category .category_main_title {
  font-size: calc(0.2564vw + 9.0256px);
  line-height: 1;
  padding: 14px;
  position: relative;
  display: inline-block;
}
.products_categories .category:nth-child(3) .category_main_title {
  letter-spacing: -.05em;
}
.products_categories .category .category_main_title::before {
  /* delete a to de! */
  display: none;
  width: 6px;
  height: 6px;
  border-top: 2px solid rgb(208, 17, 27);
  border-right: 2px solid rgb(208, 17, 27);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
}
.products_categories .category:hover .category_main_title {
  color: #fff;
}
.products_categories .category:hover .category_main_title::before {
  border-color: #fff;
}
.products_categories .category .category_image {
  height: 100%;
  background-color: rgb(255,255,255);
}
.products_categories .category .category_image img {
  width: calc(134 / 175 * 100%);
}
@media screen and (max-width:1250px) {
  .products_categories .category .category_main_title {
    padding: calc(2.0747vw - 11.9336px) calc(0.8299vw + 3.6266px);
  }
}

@media screen and (max-width:767px) {
  .products_categories .category {
    width: calc(320 / 670 * 100%);
  }
  .products_categories .category:not(:nth-child(4n)) {
    margin-right: 0;
  }
  .products_categories .category:not(:nth-child(odd)) {
    margin-left: calc(30 / 670 * 100%);
  }
  .products_categories .category:nth-child(n+5) {
    margin-top: 0;
  }
  .products_categories .category:nth-child(n+3) {
    margin-top: calc(30 / 670 * 100%);
  }
  .products_categories .category .category_main_title {
    font-size: 1.2rem;
  }
}

/*
* onlineshop_block
* .onlineshop_block: use <a>
* .vertical        : vertical banner
* .horizontal      : horizontal banner
*/

.onlineshop_block {
  display: block;
  border: 3px solid rgb(205, 194, 171);
}

/*
.onlineshop_block .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.onlineshop_block .main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
}

.onlineshop_block .main .price_cap {
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: .1em;
  display: block;
}

.onlineshop_block .main .price_num {
  font-family: 'Roboto', sans-serif;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1;
  color: rgb(208, 17, 27);
}

.onlineshop_block .main .price_cur {
  font-size: 1.3rem;
  font-weight: 700;
  color: rgb(208, 17, 27);
}

.onlineshop_block .main .link {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
  color: #fff;
  position: relative;
  display: inline-block;
  padding: 12px 34px;
  background: rgb(172, 139, 79);
}

.onlineshop_block .main .link::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: 18px;
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
}

.onlineshop_block.vertical .inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.onlineshop_block.vertical .main {
  padding: 18px 20px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.onlineshop_block.horizontal {
  position: relative;
  width: calc(545 / 1150 * 100%);
  max-width: 545px;
}
.onlineshop_block.horizontal::before {
  content: '';
  display: block;
  padding-top: calc(197 / 539 * 100%);
}
.onlineshop_block.horizontal .inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.onlineshop_block.horizontal .main {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: calc(194 / 539 * 100%);
}
.onlineshop_block.horizontal .main .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.3rem;
  font-weight: 700;
  border-bottom: 1px solid rgb(222, 222, 222);
  width: 100%;
  padding: 20px 0 15px;
}
.onlineshop_block.horizontal .main .heading img {
  width: 48px;
  margin-right: 5px;
}
.onlineshop_block.horizontal .main .price {
  margin-top: auto;
}
.onlineshop_block.horizontal .main .link {
  margin-top: 10px;
  width: calc(100% - 54px);
  text-align: center;
  margin-bottom: auto;
}
.onlineshop_block.horizontal .image {
  width: calc(345 / 539 * 100%);
  background: url(/update/shop/onlineshop_horizontal_pc.jpg) no-repeat center / 100%;
}
*/

/*
* contents_blocks_l
* .contents_blocks_l : use <div>
* .col3              : 3column
* .col2              : 2column
* .contents_block    : use <a>
*/

.contents_blocks_l {
  margin: 40px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.contents_blocks_l .contents_block {
  display: block;
}

.contents_blocks_l .contents_block .main {
  /* PC 463x410 */
  position: relative;
  background-color: rgb(224,224,224);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.contents_blocks_l .contents_block .main::after {
  position: absolute;
  bottom: -2px;
  right: 0;
  width: 100%;
  margin: 0 auto;
  height: 1px;
  background-color: transparent;
  content: '';
  transition-delay: .1s;
  transition-duration: .2s;
}
.contents_blocks_l .contents_block:hover .main::after {
  background-color: rgb(208,17,27);
}

.contents_blocks_l .contents_block .main > .image {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.contents_blocks_l .contents_block .main > .image > span {
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.contents_blocks_l .contents_block .main_info {
  background: #fff;
  position: absolute;
  right: 0;
}
.contents_blocks_l .contents_block .title {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .1em;
}
.contents_blocks_l .contents_block .sub-title {
  font-family: 'Barlow', sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: .1em;
  color: #7a7a7a;
}

.contents_blocks_l .contents_block .link {
  line-height: 1;
  display: inline-block;
  padding-left: 17px;
  position: relative;
}

.contents_blocks_l .contents_block .link::before {
  content: '';
  width: 6px;
  height: 6px;
  border-top: 1px solid rgb(208, 17, 27);
  border-right: 1px solid rgb(208, 17, 27);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
}

.contents_blocks_l.col3 {
  /*
  cf .l-1390

  width: calc(1390 / 1550 * 100%);
  max-width: 1390px;
  */
}

.contents_blocks_l.col3 .contents_block {
  /*width: calc(100% / 3);*/
  width: 33.3%;
}

.contents_blocks_l.col3 .contents_block .main {
  padding-top: calc(410 / 463 * 100%);
}

.contents_blocks_l.col3 .contents_block .main_info {
  width: calc(342 / 463 * 100%);
  padding: 36px 40px;
  bottom: -10px;
}
.contents_blocks_l.col3 .contents_block .title {
  line-height: 1;
}
.contents_blocks_l.col3 .contents_block .link {
  margin-top: 30px;
}

.contents_blocks_l.col2 {
  /* width: calc(1150 / 1550 * 100%);
  width: 92%;
  max-width: 1150px; */
}

.contents_blocks_l.col2 .contents_block {
  width: calc(100% / 2);
}

.contents_blocks_l.col2 .contents_block .main {
  padding-top: calc(340 / 575 * 100%);
}

.contents_blocks_l.col2 .contents_block .main_info {
  /* width: calc(342 / 575 * 100%); */
  width: 336px;
  padding: 30px 10px 18px 40px;
  bottom: 0;
}
.contents_blocks_l.col2 .contents_block .title {
  line-height: 1.67;
}
.contents_blocks_l.col2 .contents_block .link {
  margin-top: 25px;
}

.contents_blocks_l.col2 .maturi_box.contents_block {
  width: calc(100% / 1);
}

.contents_blocks_l.col2 .maturi_box.contents_block .main {
  padding-top: calc(160 / 1390 * 100%);
}

.contents_blocks_l.col2 .maturi_box.contents_block .main_info {
  /* width: calc(342 / 575 * 100%); */
  width: 336px;
  padding: 20px 10px 18px 40px;
    left:calc(50% - 168px);
    bottom: calc(320 / 1390 * 100%);
}
.contents_blocks_l.col2 .maturi_box.contents_block .title {
  line-height: 1.67;
}
.contents_blocks_l.col2 .maturi_box.contents_block .link {
  margin-top: 25px;
}

@media screen and (min-width:768px) {
  ._csstrans .contents_blocks_l .contents_block .main > .image > span {
    transition-delay: .1s;
    transition-duration: .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
  }
  ._csstrans .contents_blocks_l .contents_block:hover .main > .image > span {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
  }
  .contents_blocks_l .contents_block .title {
  }
  .contents_blocks_l .contents_block:hover .title {
  }
  ._csstrans .contents_blocks_l .contents_block .sub-title {
    transition: margin .2s .1s;
  }
  .contents_blocks_l .contents_block:hover .sub-title {
    /* margin-bottom: 8px; */
  }
}

@media screen and (max-width:1550px) {
  .onlineshop_block.vertical .main {
    padding: calc(18 / 1550 * 100vw) calc(20 / 1550 * 100vw);
  }
  .onlineshop_block .main .price_cap {
    font-size: calc(0.4167vw + 6.5417px);
  }
  .onlineshop_block .main .price_num {
    font-size: calc(1.0897vw + 17.109px);
  }
  .onlineshop_block .main .price_cur {
    font-size: calc(0.4167vw + 6.5417px);
  }
  .onlineshop_block .main .link {
    font-size: calc(0.4808vw + 7.5481px);
    padding: calc(0.2564vw + 8.0256px) calc(3.3333vw - 17.6667px);
  }
  .onlineshop_block .main .link::before {
    left: calc(1.9231vw - 11.8077px);
  }
}

@media screen and (max-width:1510px) {
  .contents_blocks_l.col3 .contents_block .main_info {
    width: calc(16.0784vw + 99.2157px);
    max-width: 100%;
    padding: 2.5166vw 2.649vw;
  }
  .contents_blocks_l.col3 .contents_block .link {
    margin-top: calc(2.4324vw - 6.7297px);
  }
}

@media screen and (max-width: 1250px) {
  .onlineshop_block.horizontal .main .heading {
    display: none;
  }
  .onlineshop_block.horizontal .main .link {
    width: auto;
  }
  .contents_blocks_l.col2 .contents_block .main_info {
    width: calc(28.2158vw - 16.6971px);
    padding: calc(3.3195vw - 11.4938px) calc(3.3195vw - 1.4938px) calc(1.2448vw + 2.4398px);
    /* bottom: calc(-1.0373vw - 9.0332px); */
  }
  .contents_blocks_l.col2 .contents_block .title {
    font-size: calc(0.6224vw + 10.2199px);
  }
  .contents_blocks_l.col2 .contents_block .sub-title {
    font-size: calc(0.2075vw + 8.4066px);
  }
  .contents_blocks_l.col2 .contents_block .link {
    margin-top: calc(2.6971vw - 8.7137px);
    font-size: calc(0.4149vw + 8.8133px);
  }
}

@media screen and (max-width:960px) {
  .onlineshop_block .main .link::before {
    display: none;
  }
}

@media screen and (max-width:767px) {
  .contents_blocks_l.col3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 89.3333%;
    min-width: 310px;
    margin-top: 18px;
  }
  .contents_blocks_l.col2 .contents_block,
  .contents_blocks_l.col3 .contents_block {
    width: 100%;
    margin-bottom: 38px;
  }
  .contents_blocks_l.col2 .contents_block .main,
  .contents_blocks_l.col3 .contents_block .main {
    padding-top: calc(500 / 670 * 100%);
  }
  .contents_blocks_l.col2 .contents_block .main_info,
  .contents_blocks_l.col3 .contents_block .main_info {
    width: 73.1343%;
    /* height: 108px; */
    padding: 24px 24px;
  }
  .contents_blocks_l.col2 .contents_block .main_info {
    bottom: 0;
  }

  .contents_blocks_l .contents_block .title {
    font-size: 1.6rem;
  }
  .contents_blocks_l .contents_block .sub-title {
    font-size: 0.9rem;
  }
  .contents_blocks_l .contents_block .link {
    margin-top: 19px;
    font-size: 1.3rem;
  }
  .contents_blocks_l.col2 .contents_block .title {
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .contents_blocks_l.col2 .contents_block .sub-title {
    font-size: 0.9rem;
  }
  .contents_blocks_l.col2 .contents_block .link {
    margin-top: 23px;
    font-size: 1.3rem;
  }
 .contents_blocks_l.col2 .maturi_box.contents_block .title {
  font-size: 1.5rem;
}   
    
    
.contents_blocks_l.col2 .maturi_box.contents_block .main {
  padding-top: calc(500 / 1150 * 100%);
}

.contents_blocks_l.col2 .maturi_box.contents_block .main_info {
    width: 73.1343%; 
    padding: 20px 10px 18px 24px;
    right: 0;
    left: auto;
    bottom: 0;
}

  .onlineshop_block.vertical .inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .onlineshop_block.vertical .main {
    display: block;
    width: calc(133 / 331 * 100%);
    padding: 0;
  }
  .onlineshop_block .main .price {
    width: 116px;
    margin: calc(38 / 133 * 100%) auto 0;
  }
  .onlineshop_block .main .price_cap {
    font-size: 1rem;
    line-height: 1.5;
  }
  .onlineshop_block .main .price_num {
    margin-top: 2px;
    font-size: 2.3rem;
  }
  .onlineshop_block .main .price_cur {
    font-size: 1.1rem;
  }
  .onlineshop_block .main .link {
    display: block;
    width: 116px;
    margin: calc(18 / 133 * 100%) auto 0;
    padding: 12px 0;
    text-align: center;
    font-size: 1.1rem;
  }
  .onlineshop_block .main .link::before {
    display: block;
    left: 18px;
  }
  .onlineshop_block.vertical .image {
    width: calc(198 / 331 * 100%);
  }
  /* onlineshop_block.horizontal */
  .onlineshop_block.horizontal .main .heading {
    display: none;
  }
  .onlineshop_block.horizontal::before {
    padding-top: calc(292 / 662 * 100%);
  }
  .onlineshop_block.horizontal .image {
    width: calc(394 / 662 * 100%);
    background-image: url(/update/shop/test.jpg);
  }
  .onlineshop_block.horizontal .main {
    width: calc(268 / 662 * 100%);
  }
  .onlineshop_block.horizontal .main .link {
    width: 116px;
    margin: calc(18 / 133 * 100%) auto auto;
  }
}

/*
* contents_blocks_s
*/

.contents_blocks_s {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.contents_blocks_s .contents_block {
  position: relative;
  width: calc(560 / 1150 * 100%);
  max-width: 560px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid rgb(222, 222, 222);


}

.contents_blocks_s .contents_block:nth-child(odd) {
  margin-right: 2.608695652173913%;
  /* 30/1150*100 */
}

.contents_blocks_s .contents_block:nth-child(n+3) {
  margin-top: 2.260869565217391%;
  /* 26/1150*100 */
}

.contents_blocks_s .contents_block .main {
  width: calc(100% - 197px);
  margin-right: 15px;
  margin-left: 30px;
  padding-top: 5px;
}

.contents_blocks_s .contents_block .main .title {
  position: relative;
  padding-left: 12px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1;
}
.contents_blocks_s .contents_block .main .title > span {
  letter-spacing: -.175em;
}

.contents_blocks_s .contents_block .main .title::before {
   /* delete a ato de! */
  width: 6px;
  height: 6px;
  border-top: 1px solid rgb(208, 17, 27);
  border-right: 1px solid rgb(208, 17, 27);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
  display: none;
}

.contents_blocks_s .contents_block .main .sub-title {
  position: relative;
  padding-left: 12px;
  margin-top: 4px;
  font-family: 'Barlow', sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: .1em;
  color: rgb(122, 122, 122);
}

.contents_blocks_s .contents_block .image {
  position: relative;
  width: 152px;
  height: 152px;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
.contents_blocks_s .contents_block .image > span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
._csstrans .contents_blocks_s .contents_block .image > span {
  transition-delay: .1s;
  transition-duration: .2s;
  transition-timing-function: cubic-bezier(.165, .84, .44, 1);
}
@media screen and (min-width: 768px) {
  .contents_blocks_s .contents_block::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgb(208,17,37);
    opacity: 0;
    content: '';
  }
  ._csstrans .contents_blocks_s .contents_block::after {
    transition: opacity .2s .1s cubic-bezier(.165, .84, .44, 1);
  }
  .contents_blocks_s .contents_block:hover::after {
    opacity: 1;
  }
  ._csstrans .contents_blocks_s .contents_block:hover .image > span {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  .contents_blocks_s .contents_block .main .title,
  .contents_blocks_s .contents_block .main .sub-title {
    left: 0;
  }
  ._csstrans .contents_blocks_s .contents_block .main .title,
  ._csstrans .contents_blocks_s .contents_block .main .sub-title {
    transition: left .2s .1s cubic-bezier(.165, .84, .44, 1);

  }
  .contents_blocks_s .contents_block:hover .main .title,
  .contents_blocks_s .contents_block:hover .main .sub-title {
  }
}

@media screen and (max-width: 980px) {
  .contents_blocks_s .contents_block .main {
    width: 54.93%;
    margin-right: 3.43%;
    margin-left: 6.86%;
  }
  .contents_blocks_s .contents_block .main .title {
    font-size: calc(0.9434vw + 8.7547px);
  }
  .contents_blocks_s .contents_block .image {
    width: 34.78%;
    height: 0;
    padding-top: 34.7826%;
  }
}

@media screen and (max-width: 767px) {
  .contents_blocks_s .contents_block {
    width: 100%;
    max-width: auto;
    margin-bottom: 16px;
  }
  .contents_blocks_s .contents_block:nth-child(odd) {
    margin-right: 0;
  }
  .contents_blocks_s .contents_block:nth-child(n+3) {
    margin-bottom: 16px;
  }
  .contents_blocks_s .contents_block:nth-child(n+3) {
    margin-top: 0;
  }
  .contents_blocks_s .contents_block .main {
    width: calc(100% - 153px);
    margin-right: 12px;
    margin-left: 23px;
  }
  .contents_blocks_s .contents_block .main .title {
    font-size: 1.5rem;
    line-height: 1.267;
  }
  .contents_blocks_s .contents_block .main .sub-title {
    margin-top: 2px;
    font-size: 0.9rem;
  }
  .contents_blocks_s .contents_block .image {
    width: 118px;
    padding-top: 118px;
  }
}


/*
* tree_list_box
*/
.tree_list_box {
  position: relative;
  display: flex;
}
.tree_list_box .title {
  position: relative;
  background-color: rgb(222,222,222);
}

.tree_list_box ul {
  padding-left: 32px;
}
.tree_list_box ul > li {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
}
.tree_list_box ul > li::before {
  display: block;
  position: absolute;
  bottom: 50%;
  left: -18px;
  width: 18px;
  height: 50%;
  border-left: 4px solid rgb(222,222,222);
  border-bottom: 2px solid rgb(222,222,222);
  content: '';
}
.tree_list_box ul > li::after {
  display: block;
  position: absolute;
  top: 50%;
  left: -18px;
  width: 18px;
  height: 50%;
  border-left: 4px solid rgb(222,222,222);
  border-top: 2px solid rgb(222,222,222);
  content: '';
}
.tree_list_box ul > li:first-child::before {
  border-left-style: none;
}
.tree_list_box ul > li:last-child::after {
  border-left-style: none;
}
.tree_list_box li.have_child > .title::before {
  display: block;
  position: absolute;
  top: calc(50% - 3px);
  right: -18px;
  width: 18px;
  height: 50%;
  border-top: 4px solid rgb(222,222,222);
  content: '';
}


/*
* banner_set
*/

.banner_set {
  /* width: calc(1390 / 1550 * 100%);
  max-width: 1390px;
  margin: 0 auto; */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.banner_set .banner_l {
  width: calc(820 / 1390 * 100%);
  max-width: 820px;
}

.banner_set .banner_s.grid_3min {
  width: calc(570 / 1390 * 100%);
  max-width: 570px;
  /*
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  */
  display: -ms-grid;
  display: grid;
    -ms-grid-columns: 33.3% 33.3% 33.3%;
    grid-template-columns: 33.3% 33.3% 33.3%;
    -ms-grid-rows: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  grid-template-areas: "block_3min-origin block_3min-blend block_3min-jihanki01""block_3min-jihanki02 block_3min-challenge block_3min-routesales";
}
.banner_set .banner_s.grid_3min > a {
  display: none;
}
.banner_set .banner_s.grid_3min .block_3min-origin {
  grid-area: block_3min-origin;
}
.banner_set .banner_s.grid_3min .block_3min-blend {
  grid-area: block_3min-blend;
}
.banner_set .banner_s.grid_3min .block_3min-jihanki01 {
  grid-area: block_3min-jihanki01;
}
.banner_set .banner_s.grid_3min .block_3min-jihanki02 {
  grid-area: block_3min-jihanki02;
}
.banner_set .banner_s.grid_3min .block_3min-challenge {
  grid-area: block_3min-challenge;
}
.banner_set .banner_s.grid_3min .block_3min-routesales {
  grid-area: block_3min-routesales;
}
.banner_set .banner_s.grid_3min .block_3min-rentalumbrella {
  grid-area: block_3min-rentalumbrella;
}
.banner_set .banner_s.grid_3min .block_3min-purussh {
  grid-area: block_3min-purussh;
}
.banner_set .banner_s.grid_3min .block_3min-caffeinenap {
  grid-area: block_3min-caffeinenap;
}
.banner_set .banner_s.grid_3min .block_3min-ginrei {
  grid-area: block_3min-ginrei;
}
.banner_set .banner_s.grid_3min .block_3min-blendcha {
  grid-area: block_3min-blendcha;
}
.banner_set .banner_s.grid_3min .block_3min-sarashibo {
  grid-area: block_3min-sarashibo;
}
.banner_set .banner_s.grid_3min .block_3min-workstyle {
  grid-area: block_3min-workstyle;
}
.banner_set .banner_s.grid_3min .block_3min-festival {
  grid-area: block_3min-festival;
}

.banner_set .banner_s .banner {
  /*
  width: 33%;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  */
}
@media screen and (min-width: 768px) {
  .banner_set .banner_l > a {
    display: block;
  }
  .banner_set .banner_l > a,
  .banner_set .banner_s.grid_3min > a {
    overflow: hidden;
  }
  ._csstrans .banner_set .banner_l > a > img,
  ._csstrans .banner_set .banner_s.grid_3min > a > img {
    transition-delay: .1s;
    transition-duration: .2s;
  }
  ._csstrans .banner_set .banner_l > a:hover > img {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
  }
  ._csstrans .banner_set .banner_s.grid_3min > a:hover > img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
  }
}


@media screen and (max-width: 767px) {
  .banner_set {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .banner_set .banner_l,
  .banner_set .banner_s {
    width: 100%;
    max-width: auto;
  }
  .banner_set .banner_s.grid_3min {
    width: 100%;
    max-width: 100%;
  }
}


/*
* movie
*/

.movie {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  /* padding-top: calc(585 / 1550 * 100%); */
}

.movie .head {
  width: calc(510 / 1550 * 100%);
  /* margin-top: calc(585 / 1550 * -100%); */
  background: rgb(247, 176, 0);
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.movie .head_title {
  font-family: 'Barlow', sans-serif;
  letter-spacing: .05em;
  position: relative;
  padding-top: calc(2.1538vw + 22.6154px);
  font-size: calc(0.2564vw + 18.0256px);
  font-weight: 900;
}
.movie .head_title._font_jp {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Noto Sans JP', Meiryo, 'Hiragino Kaku Gothic ProN', sans-serif;
  font-size: calc(0.2558vw + 16.0358px);
}

.movie .head_title::after {
  content: '';
  width: 23px;
  height: 1px;
  background: rgb(97, 76, 28);
  margin: calc(0.7692vw + 8.0769px) auto;
  display: block;
}

.movie .head_text {
  font-weight: 700;
  letter-spacing: -0.1em;
  font-size: calc(0.1282vw + 16.0128px);
}

.movie .head_time {
  padding-top: 8px;
  font-family: 'Barlow', sans-serif;
  letter-spacing: .05em;
  font-size: 1.6rem;
}

.movie .head_button {
  width: 220px;
  margin: calc(4.359vw + 16.4359px) auto 0;
  letter-spacing: .1em;
  line-height: 1;
  padding: calc(0.8974vw + 8.0897px) 0;
  position: relative;
  border: 1px solid #000;
  display: block;
}

.movie .head_button:hover {
  background-color: rgb(208, 17, 27);
  color: rgb(255, 255, 255);
  border: 1px solid rgb(208, 17, 27);
}

.movie .head_button::before {
  content: '';
  width: 7px;
  height: 7px;
  border-top: 1px solid rgb(35, 35, 35);
  border-right: 1px solid rgb(35, 35, 35);
  display: block;
  position: absolute;
  top: 50%;
  left: 45%;
  -webkit-transform: translate(-4.5em, -50%) rotate(45deg);
  transform: translate(-4.5em, -50%) rotate(45deg);
}

.movie a:hover.head_button::before {
  border-top: 1px solid rgb(255, 255, 255);
  border-right: 1px solid rgb(255, 255, 255);
}


.movie .movie_data_box {
  width: calc(1040 / 1550 * 100%);
  background-color: rgb(34,34,34);
}
.movie .play_list {
  display: none;
}

.movie .movie_data {
  position: relative;
  width: 100%;
  /* width: calc(1040 / 1550 * 100%); */
  /* margin-top: calc(585 / 1550 * -100%); */
  background-color: rgb(0,0,0);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
.movie .movie_data .movie_image {
  position: absolute;
  width: 100%;
  height: 37.81vw;
  background-repeat: no-repeat;
  background-size: cover;
}
.movie .movie_data .movie_cover {
  position: relative;
  height: 37.81vw;
  background-image: url(../images/movie_cover.png);
  cursor: pointer;
}

.movie .movie_data .movie_cover > span {
  position: absolute;
  top: calc(50% - (63 / 1550 * 100vw));
  left: calc(50% - (49 / 1550 * 100vw));
  width: calc(98 / 1550 * 100vw);
  height: calc(126 / 1550 * 100vw);
  background-image: url(../images/btn_play.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.movie_modal_box {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0,0,0,0.7);
  cursor: pointer;
}
.movie_modal_box > .movie_modal {
  position: absolute;
}

@media screen and (max-width:767px) {
  .movie {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
    background: rgb(247, 176, 0);
  }
  .movie .head {
    width: 96%;
    max-width: 360px;
    margin: 7.5px auto;
    padding: 19px 0 47px;
    border: 1px rgb(249,206,129) solid;
    text-align: left;
  }
  .movie .head_title {
    padding: 0;
    padding-left: 7.2%;
    font-size: 1.4rem;
  }
  .movie .head_title::after {
    margin: 4px 0 8px 1px;
    padding-left: 7.2%;
  }
  .movie .head_title._font_jp {
    font-size: 1.3rem;
  }
  .movie .head_text {
    padding-left: 7.2%;
    font-size: 1.2rem;
    line-height: 1.4;
  }
  .movie .head_time {
    padding: 4px 0 0 7.5%;
    font-size: 0.9rem;
  }
  .movie .head_button {
    width: 36%;
    margin-top: -60px;
    margin-left: 57.7778%;
    padding: 1px 0 0 8px;
    text-align: center;
    line-height: 32px;
    font-size: 1rem;
  }
  .movie .head_button::before {
    width: 5px;
    height: 5px;
    left: 50%;
  }

  .movie .movie_data_box {
    width: 100%;
  }
  .movie .movie_data .movie_image {
    height: 56.25vw;
  }
  .movie .movie_data .movie_cover {
    height: 56.25vw;
  }
  .movie .movie_data .movie_cover > span {
    top: calc(50% - (81px / 2));
    left: calc(50% - (63px / 2));
    width: 63px;
    height: 81px;
  }
}

/*
* article_nav
* （internal link）
*/
.article_nav ul {
  display: flex;
  justify-content: center;
  margin: 48px auto;
}
.article_nav ul li {
  width: 100%;
  margin: 0 20px;
  text-align: center;
	border: 1px solid rgb(222, 222, 222);
}
.article_nav ul li a {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 20px 0;
}
.article_nav ul li a span {
  position: relative;
}
.article_nav ul li a span::before {
  content: '';
  width: 16px;
  height: 16px;
  border-radius: 100%;
  background: rgb(208, 17, 27);
  position: absolute;
  top: calc(50% - 8px);
  right: -24px;
}
.article_nav ul li a span::after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
	top: calc(50% - 4px);
  right: -19px;
  transform: rotate(135deg);
}
/* 1column */
.article_nav.l-1390 ul {
  margin: 48px auto;
}
.article_nav.l-1390 ul li {
  margin: 0 20px;
}
.article_nav.l-1390 ul li a {
  padding: 20px 0;
}
/* 2column */
.l-col2 .article_nav ul {
  margin: 32px auto;
}
.l-col2 .article_nav ul li {
  margin: 0 10px;
}
.l-col2 .article_nav ul li a {
  padding: 16px 0;
}
@media screen and (max-width: 767px) {
  .article_nav ul {
    display: block;
  }
  .article_nav ul li {
    width: 100%;
    margin: 0;
    margin-bottom: 16px;
  }
  /* 1column */
  .article_nav.l-1390 ul li {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 16px;
  }
  /* 2column */
  .l-col2 .article_nav ul li {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 16px;
  }
}

/*
*  Menu List
*  <ul class="">
*   <li>
*    <a>Menu Name</a>
*   </li>
*   <li>
*    ...
*   </li>
*  </ul>
*/
/* Type Gray Line and Red Arrow */
._type_gl_ra {
  border-top: 1px solid rgb(222,222,222);
}
._type_gl_ra > li {
  position: relative;
  border-bottom: 1px solid rgb(222,222,222);
}
._type_gl_ra > li::after {
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid rgb(208,17,27);
  border-right: 1px solid rgb(208,17,27);
  transform: translate3d(0, -50%, 0) rotate(45deg);
  content: '';
}
._csstrans ._type_gl_ra > li::after {
  transition-delay: .1s;
  transition-duration: .2s;
}
._type_gl_ra > li > a {
  position: relative;
  display: block;
  margin-top: -1px;
  margin-bottom: -1px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}
._type_gl_ra > li > a:hover {
  border-top-color: rgb(208,27,17);
  border-bottom-color: rgb(208,27,17);
}
._csstrans ._type_gl_ra > li > a {
  transition-delay: .1s;
  transition-duration: .2s;
}
._type_gl_ra > li > a.blank::after {
  position: absolute;
  top: calc(50% - 0.8em);
  display: inline-block;
  width: 8px;
  height: 6px;
  margin-left: 5px;
  background: url(/common/images/icon_blank.png) no-repeat center top;
  content: '';
}

/*
*  Box Menu List
*  <div class="">
*   <a>
*    <div class="main">
*     <h3 class="title">Title</h3>
*     <p class="sub-title">sub title</p>
*    </div>
*   </a>
*   <a>
*    ...
*   </a>
*  </div>
*/
/* Type Gray Line and Red Arrow */
._type_box_gl_ra {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
._type_box_gl_ra > a {
  display: flex;
  flex-direction: column-reverse;
  border: 1px solid rgb(222,222,222);
  padding: 16px 8px;
}
._csstrans ._type_box_gl_ra > a {
  transition-delay: .1s;
  transition-duration: .2s;
}
._type_box_gl_ra > a:hover {
  border-bottom-color: rgb(208,17,27);
}
._type_box_gl_ra > a .main .title {
  position: relative;
  margin-top: 8px;
  padding-left: 12px;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1;
}
._type_box_gl_ra > a .main .title::before {
  /* delete a to de! */
  display: none;
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid rgb(208, 17, 27);
  border-right: 1px solid rgb(208, 17, 27);
  transform: translate3d(0, -50%, 0) rotate(45deg);
  content: '';
}
._type_box_gl_ra > a .main .sub-title {
  margin-top: 4px;
  padding-left: 12px;
  font-family: 'Barlow', sans-serif;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: .1em;
  color: rgb(122, 122, 122);
}

@media screen and (max-width:1250px) {
  ._type_box_gl_ra > a .main .title {
    font-size: calc(0.8299vw + 5.6266px);
    letter-spacing: 0;
  }
  ._type_box_gl_ra > a .main .sub-title {
    font-size: calc(0.2075vw + 8.4066px);
  }
}

@media screen and (max-width:767px) {
  ._type_box_gl_ra > a {
    margin-bottom: 16px;
  }
  ._type_box_gl_ra > a .main .title {
    font-size: 1.6rem;
  }
  ._type_box_gl_ra > a .main .sub-title {
    font-size: 1rem;
    margin-top: 2px;
  }
}

/*
*  Box Menu List with Image
*  <div class="">
*   <a>
*    <div class="image"><span></span></div>
*    <div class="main">
*     <h3 class="title">Title</h3>
*    </div>
*   </a>
*   <a>
*    ...
*   </a>
*  </div>
*/
/* Type Gray Line and Red Arrow with Image */
._type_box_gl_ra_wi {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
._type_box_gl_ra_wi > a {
  display: flex;
  flex-direction: column;
  border: 1px solid rgb(222,222,222);
  padding: 1px;
}
._type_box_gl_ra_wi._col3 > a {
  width: calc((100% - 48px) / 3);
  margin-bottom: 24px;
}
._type_box_gl_ra_wi._col3 > a:nth-last-child(-n+3) {
  margin-bottom: 0;
}
._type_box_gl_ra_wi._col4 > a {
  width: calc((100% - 48px) / 4);
}
._type_box_gl_ra_wi._col5 > a {
  width: calc((100% - 48px) / 5);
}
._csstrans ._type_box_gl_ra_wi > a {
  transition-delay: .1s;
  transition-duration: .2s;
}
._type_box_gl_ra_wi > a:hover {
  border-bottom-color: rgb(208,17,27);
}
._type_box_gl_ra_wi._col3 > a .main {
  padding: 20px 16px;
  height: 41%;
}
._type_box_gl_ra_wi._col4 > a .main {
  padding: 15px;
  height: 41%;
}
._type_box_gl_ra_wi._col5 > a .main {
  padding: 15px;
  height: 41%;
}
._type_box_gl_ra_wi > a .title {
  position: relative;
  margin-left: 0;
  /* padding-left: 12px; */
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}
._type_box_gl_ra_wi > a .title::before {
  /* delete a to de! */
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid rgb(208, 17, 27);
    border-right: 1px solid rgb(208, 17, 27);
    -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
    transform: translate3d(0, -50%, 0) rotate(45deg);
  display: none;
}
._type_box_gl_ra_wi > a .title > ._kng {
  letter-spacing: -.175em;
}
._type_box_gl_ra_wi > a .image {
  position: relative;
  background-color: rgb(236,237,239);
  overflow: hidden;
}
._type_box_gl_ra_wi._col3 > a .image {
  padding-top: 52%;
}
._type_box_gl_ra_wi._col4 > a .image {
  padding-top: 59.13%;
}
._type_box_gl_ra_wi._col5 > a .image {
  padding-top: 59.13%;
}
._type_box_gl_ra_wi > a .image > span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-position: center top;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  ._csstrans ._type_box_gl_ra_wi > a .image > span {
    transition-delay: .1s;
    transition-duration: .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
  }
  ._type_box_gl_ra_wi > a:hover .image > span {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@media screen and (max-width: 767px) {
  ._type_box_gl_ra_wi._col3 > a {
    width: 100%;
    margin-bottom: 16px;
  }
  ._type_box_gl_ra_wi._col3 > a:nth-last-child(-n+3) {
    margin-bottom: 16px;
  }
  ._type_box_gl_ra_wi._col3 > a:last-child {
    margin-bottom: 0;
  }
  ._type_box_gl_ra_wi._col4 > a {
    width: 49%;
    margin-bottom: 8px;
  }
  ._type_box_gl_ra_wi._col5 > a {
    width: 49%;
    margin-bottom: 8px;
  }
}


/*
* feed_block
*/
.feed_block {
  width: 100%;
  position: relative;
}

.feed_block .feed_block_title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .1em;
  padding: 18px 0;
  border-bottom: 1px solid rgb(208,17,27);
  position: relative;
}

.feed_block .feed_block_title::after {
  /*
  content: '';
  display: block;
  border-bottom: solid 1px rgb(208, 17, 27);
  position: absolute;
  bottom: -1px;
  width: 30.09009009009009%;
  */
  /* 167/555*100 */
}

.feed_block .feed .box {
  position: relative;
  border-bottom: 1px solid rgb(224, 224, 224);
  height: 130px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.feed_block .feed .box::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 1px solid rgb(125, 125, 125);
  border-right: 1px solid rgb(125, 125, 125);
  position: absolute;
  top: 50%;
  right: 7px;
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
}

.feed_block .feed .box > a {
  width: 100%;
}

.feed_block .feed .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.feed_block .feed .date {
  font-family: 'Barlow', sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: .05em;
  color: rgb(141, 141, 141);
}

.feed_block .feed .category {
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: .05em;
  margin-left: 10px;
  padding: 3px 15px;
  border: 1px solid rgb(33, 33, 33);
}

.feed .category.products {
  border-color: rgb(208, 17, 27);
  color: rgb(208, 17, 27);
}
.feed .category.csr {
  border-color: rgb(105, 163, 5);
  color: rgb(105, 163, 5);
}
.feed .category.corporate {
  border-color: rgb(255, 176, 0);
  color: rgb(255, 176, 0);
}
.feed .category.none {
  display: none;
}

.feed_block .feed .body {
  margin-top: 5px;
}

.feed_block .feed .title {
  letter-spacing: .05em;
  line-height: 1.5;
  width: 81%;
  /* 450/555*100 rounddown */
}

.feed_block .to_list {
  font-size: 1.3rem;
  position: absolute;
  top: 21px;
  right: 0;
  display: inline-block;
}

.feed_block .to_list::before {
  content: '';
  width: 6px;
  height: 6px;
  border-top: 1px solid rgb(208, 17, 27);
  border-right: 1px solid rgb(208, 17, 27);
  position: absolute;
  top: 50%;
  left: -1em;
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
}

.feed_block .to_list:hover {
  opacity: .7;
}

@media screen and (max-width:1550px) {
  .feed_block .feed_block_title {
    font-size: calc(0.5128vw + 12.0513px);
  }
  .feed_block .feed .title {

  }
}
@media screen and (max-width:767px) {
  .feed_block .feed_block_title {
    padding: 8px 0;
    font-size: 1.6rem;
  }
  .feed_block .to_list {
    top: 7px;
    font-size: 1.1rem;
  }
  .feed_block .to_list::before {
    width: 4.5px;
    height: 4.5px;
  }
  .feed_block .feed .box {
    min-height: 100px;
    height: auto;
  }
  .feed_block .feed .box > a {
    margin: 8px 0;
  }
  .feed_block .feed .date {
    font-size: 1.2rem;
  }
  .feed_block .feed .category {
    font-size: 0.9rem;
  }
  .feed_block .feed .title {
    font-size: 1.2rem;
    width: calc(100% - 24px);
  }
}


/*
* products_feed_block
*/
.products_feed_block {
    width: 100%;
    position: relative;
}
.products_feed_block .products_feed_block_title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .1em;
    padding: 18px 0;
    border-bottom: 1px solid rgb(208,17,27);
    position: relative;
}
.products_feed_block .products_feed_block_title::after {
  /*
    content: '';
    display: block;
    border-bottom: solid 1px #d0111b;
    position: absolute;
    bottom: -1px;
    width: 30.09009009009009%;
  */
    /* 167/555*100 */
}
.products_feed_block .products_feed {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.products_feed_block .products_feed .box {
    /* width: calc(555 / 1150 * 100%);
    max-width: 555px; */
  width: 100%;
    position: relative;
    border-bottom: 1px solid #e0e0e0;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.products_feed_block .products_feed .box > a {
  display: flex;
  align-items: center;
  padding-left: 3em;
  width: 100%;
  height: 100%;
}

.products_feed_block .products_feed .box::after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 1px solid #7d7d7d;
    border-right: 1px solid #7d7d7d;
    position: absolute;
    top: 50%;
    right: 7px;
    -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
            transform: translate3d(0, -50%, 0) rotate(45deg);
}
.products_feed_block .products_feed .head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
      width: 200px;
}
.products_feed_block .products_feed .date {
    font-family: 'Barlow', sans-serif;
    font-size: 1.3rem;
    font-weight: 400;
    letter-spacing: .05em;
    color: #8d8d8d;
}
.products_feed_block .products_feed .category {
    font-size: 1.1rem;
    line-height: 1;
    letter-spacing: .05em;
    margin-left: 10px;
    padding: 3px 15px;
    border: 1px solid #222;
}
.products_feed_block .products_feed .category.products {
    border-color: #d0111b;
    color: #d0111b;
}
.products_feed_block .products_feed .body {
  width: calc(100% - 200px);
    margin-top: 5px;
}
.products_feed_block .products_feed .title {
    letter-spacing: .05em;
    line-height: 1.571428571428571;
    /* width: 81.08108108108108%; */
    /* 450/555*100 */
}
.products_feed_block .to_list {
    font-size: 1.3rem;
    position: absolute;
    top: 21px;
    right: 0;
    display: inline-block;
}
.products_feed_block .to_list::before {
    content: '';
    width: 6px;
    height: 6px;
    border-top: 1px solid #d0111b;
    border-right: 1px solid #d0111b;
    position: absolute;
    top: 50%;
    left: -1em;
    -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
            transform: translate3d(0, -50%, 0) rotate(45deg);
}

@media screen and (max-width:767px) {
  .products_feed_block .products_feed {
    display: block;
  }
  .products_feed_block .products_feed_block_title {
    padding: 10px 0;
    font-size: 1.6rem;
  }
  .products_feed_block .products_feed .box {
    width: 100%;
    max-width: 100%;
    min-height: 100px;
    height: auto;
  }
  .products_feed_block .products_feed .title {
    font-size: 1.2rem;
    width: calc(100% - 24px);
  }
  .products_feed_block .to_list {
    top: 6px;
  }
  .products_feed_block .products_feed .box > a {
    display: block;
    height: auto;
    padding-left: 0;
    margin: 8px 0;
  }
  .products_feed_block .products_feed .body {
    width: 100%;
  }
}

._csstrans .feed_block .feed .box,
._csstrans .products_feed_block .products_feed .box {
  transition-delay: .1s;
  transition-duration: .2s;
}
.feed_block .feed .box:hover,
.products_feed_block .products_feed .box:hover {
  border-bottom-color: rgb(208,17,27);
}
.feed_block .feed .box:hover::after,
.products_feed_block .products_feed .box:hover::after {
  border-top-color: rgb(208,17,27);
  border-right-color: rgb(208,17,27);
}

/*
* faq_serch_block
*/
.faq_search_block .search_form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.faq_search_block .search_form .search_keyword {
  width: calc(694 / 950 * 100%);
  position: relative;
}
.faq_search_block .search_form .search_keyword::after {
  content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 24px;
	width: 22px;
	height: 23px;
  transform: translate3d(0, -50%, 0);
	background: url(/faq/images/icon_search.png) no-repeat center / 100%;
}
.faq_search_block .search_form .search_keyword input {
  width: 100%;
  border: 2px solid rgb(208, 17, 27);
  border-radius: 30px;
  height: 60px;
  padding: 0 10px 0 52px;
  position: relative;
  font-size: 2.1rem;
}
.faq_search_block .search_form .search_keyword button {
	border: none;
	background: rgb(208, 17, 27);
	color: #fff;
  height: 100%;
	font-size: 2rem;
	font-weight: 700;
  padding: 0 32px;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0 30px 30px 0;
  cursor: pointer;
}
.faq_search_block .search_form .search_conditions {
  margin-left: calc(15 / 950 * 100%);
  width: 244px;
}

.faq_search_block .search_form .search_conditions_toggle {
	background: url(/common/images/icon_search_lb.png) no-repeat left 15px center/ 20px;
	color: rgb(179, 154, 102);
	border-radius: 30px;
	height: 100%;
	width: 100%;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
    justify-content: center;
	-webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
  font-size: 2rem;
	font-weight: 700;
  letter-spacing: .03em;
  position: relative;
  cursor: pointer;
  border: 2px solid rgb(179, 154, 102);
}
.faq_search_block .search_form .search_conditions_toggle:hover {
  opacity: .7;
}
.faq_search_block .search_form .search_conditions_toggle span::before,
.faq_search_block .search_form .search_conditions_toggle span::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
}
.faq_search_block .search_form .search_conditions_toggle span::after {
  width: 7px;
  height: 7px;
  border-top: 2px solid rgb(179, 154, 102);
  border-right: 2px solid rgb(179, 154, 102);
  right: 21px;
  -webkit-transform: translate3d(0, -55%, 0) rotate(135deg);
          transform: translate3d(0, -55%, 0) rotate(135deg);
  transition: transform .6s ease;
}
.faq_search_block .search_form .search_conditions_toggle.active span::after {
  -webkit-transform: translate3d(0, -55%, 0) rotate(-45deg);
  transform: translate3d(0, -55%, 0) rotate(-45deg);
}
.faq_search_block .search_conditions_field {
  position: absolute;
  top: 90px;
  left: 0;
  z-index: 999;
  width: 100%;
  padding: 30px;
  background: #fff;
  border: 2px solid rgb(179, 154, 102);
  visibility: hidden;
  z-index: -1;
  opacity: 0;
  transform: translate3d(0, 5px, 3px);
  animation: hideConditions 0s cubic-bezier(.165, .84, .44, 1) forwards;
}
._csstrans .faq_search_block .search_conditions_field {
  animation-duration: .6s;
}
.faq_search_block .search_form .search_conditions_field.show {
  display: block;
  animation: showConditions .6s cubic-bezier(.165, .84, .44, 1) forwards;
}
@-webkit-keyframes showConditions {
	0%{
    opacity:0;
    -webkit-transform: translate3d(0, 8px, 0);
            transform: translate3d(0, 8px, 0);
  }
	100%{
    visibility: visible;
    z-index: 999;
    opacity:1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes showConditions {
	0%{
    opacity:0;
    -webkit-transform: translate3d(0, 8px, 0);
            transform: translate3d(0, 8px, 0);
  }
	100%{
    visibility: visible;
    z-index: 999;
    opacity:1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes hideConditions {
	0%{
    visibility: visible;
    z-index: 999;
    opacity:1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
	100%{
    visibility: hidden;
    z-index: -1;
    opacity:0;
    -webkit-transform: translate3d(0, 8px, 0);
            transform: translate3d(0, 8px, 0);
  }
}
@keyframes hideConditions {
	0%{
    visibility: visible;
    z-index: 999;
    opacity:1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
	100%{
    visibility: hidden;
    z-index: -1;
    opacity:0;
    -webkit-transform: translate3d(0, 8px, 0);
            transform: translate3d(0, 8px, 0);
  }
}
.faq_search_block .search_conditions_field::before,
.faq_search_block .search_conditions_field::after {
  position: absolute;
  right: 20%;
  bottom: 100%;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  border-width:  0 6px 13px 6px;
  margin: 0 0 0 -7px;
}
.faq_search_block .search_conditions_field::before {
  border-bottom-color: rgb(179, 154, 102);
  margin-left: -7px;
  margin-bottom: 2px;
}
.faq_search_block .search_conditions_field::after {
  border-bottom-color: rgb(255, 255, 255);
  margin: 0 0 -2px -7px;
}


.faq_search_block .search_conditions_field .conditions_box:not(:first-child) {
  margin-top: 20px;
}
.faq_search_block .search_conditions_field .title {
  font-size: 1.6rem;
  font-weight: 700;
}
.faq_search_block .search_conditions_field .body {
  overflow: hidden;
}
.faq_search_block .search_conditions_field .list {
  float: left;
  position: relative;
  margin-top: 10px;
  padding-right: 4em;
}
.faq_search_block .search_conditions_field .list.small {
  min-width: 10%;
}
.faq_search_block .search_conditions_field input[type="checkbox"] {
  width: 18px;
  height: 18px;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.faq_search_block .search_conditions_field input[type="checkbox"]:disabled + label::before {
  background: rgb(182, 182, 182);
}
.faq_search_block .search_conditions_field input[type="checkbox"] + label {
  padding-left: 2em;
  cursor: pointer;
}
.faq_search_block .search_conditions_field input[type="checkbox"] + label::before {
  content: '';
  border: 1px solid rgb(179, 154, 102);
  width: 18px;
  height: 18px;
  position: absolute;
  top: 2px;
  left: 0;
}
.faq_search_block .search_conditions_field input[type="checkbox"] + label::after {
  content: "";
  border: 2px solid rgb(34, 34, 34);
  border-left: 0;
  border-top: 0;
  height: 9px;
  left: 6px;
  opacity: 0;
  position: absolute;
  top: 5px;
  transform: rotate(45deg);
  transition: opacity .2s ease;
  width: 6px;
}
.faq_search_block .search_conditions_field input[type="checkbox"]:checked + label::after {
  opacity: 1;
}
.faq_search_block .search_conditions_field input[type="checkbox"]:focus + label::before {
    box-shadow: 0 0 0 1px rgba(179, 154, 102, .7);
}
@media screen and (max-width:767px) {
  .faq_search_block .search_form .search_keyword {
    width: 100%;
  }
  .faq_search_block .search_form .search_keyword input {
    border-width: 1px;
    height: 35px;
    font-size: 1.6rem;
  }
  .faq_search_block .search_form .search_keyword button,
  .faq_search_block .search_form .search_conditions_toggle {
    font-size: 1.3rem;
  }
  .faq_search_block .search_form .search_conditions {
    margin: 20px auto 0;
    width: calc(358 / 680 * 100%);
    height: 35px;
  }
  .faq_search_block .search_form .search_conditions_field {
    top: 150px;
  }
  .faq_search_block .search_conditions_field::before,
  .faq_search_block .search_conditions_field::after {
    right: 50%;
    transform: translate3D(50%, 0, 0);
  }
}

/*
* contact_block
*/
.contact_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.contact_block .contact_block01,
.contact_block .contact_block02 {
  width: calc(560 / 1150 * 100%);
  background: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, .11);
          box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, .11);
}
.contact_block .head {
  position: relative;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 97px;
}
.contact_block .head::after {
  content: '';
  width: 100%;
  height: 1px;
  display: block;
	background-image: linear-gradient(to right, rgb(106, 102, 103), rgb(106, 102, 103) 3px, transparent 3px, transparent 7px);
	background-size: 7px 1px;
	background-position: right;
	background-repeat: repeat-x;
  position: absolute;
  bottom: 0;
  left: 0;
}
.contact_block .ttl_m_faq {
	display: inline-block;
	font-size: calc(0.875vw + 9.4375px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: .05em;
	margin-left: 14px;
	margin-bottom: 20px;
	position: relative;
	text-shadow: 0.5px 0;
  margin: 0 0 0 80px;
  padding: 0;
}
.contact_block .ttl_m_faq::before {
	content: '';
	display: block;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  background: rgb(50, 151, 237);
  position: absolute;
  top: 50%;
  left: -80px;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  background-image: url(/faq/images/faq_icons_s.png);
  background-repeat: no-repeat;
  background-size: 100%;
}
.contact_block .contact_block01 .ttl_m_faq::before {
  background-position: 0 calc(9 / 18 * 100%);
}
.contact_block .contact_block02 .ttl_m_faq::before {
  background-position: 0 calc(10 / 18 * 100%);
}
.contact_block .body {
  padding: 25px;
}
.contact_block .body_main {
  text-align: center;
}
.contact_block .body_main .tel {
  font-family: 'Barlow', sans-serif;
  font-size: calc(2vw + 17px);
  font-weight: 700;
  line-height: 1;
}
.contact_block .body_main .text {
  font-size: 1.4rem;
  line-height: calc(22 / 14);
  margin-top: 12px;
}
.contact_block .body_main .title {
  font-size: 1.5rem;
  margin-bottom: 15px;
  font-weight: 700;
}
a.contactform-link-btn {
  background: rgb(50, 151, 237);
  height: 65px;
  border-radius: 65px;
  color: #fff;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: calc(0.375vw + 12.1875px);
  font-weight: 700;
}
a.contactform-link-btn::before,
a.contactform-link-btn::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
}
a.contactform-link-btn::before {
  background: #fff;
  border-radius: 100%;
  width: 24px;
  height: 24px;
  right: 26px;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
}
a.contactform-link-btn::after {
  width: 6px;
  height: 6px;
  border-top: 2px solid rgb(50, 151, 237);
  border-right: 2px solid rgb(50, 151, 237);
  right: 35px;
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
          transform: translate3d(0, -50%, 0) rotate(45deg);
}
._csstrans a.contactform-link-btn {
  transition: opacity .3s;
}
._csstrans a.contactform-link-btn::before,
._csstrans a.contactform-link-btn::after {
  transition: right .3s;
}
a.contactform-link-btn:hover {
  opacity: 0.7;
}
a.contactform-link-btn:hover::before {
  right: 22px;
}
a.contactform-link-btn:hover::after {
  right: 31px;
}
.contact_block .body_foot {
  margin-top: 25px;
  font-size: 1.2rem;
}
.contact_block .body_foot p {
  text-indent: -1em;
  padding-left: 1em;
}

@media screen and (max-width:1280px) {
  .contact_block .body {
    padding: 20px;
  }
  a.contactform-link-btn::before {
    right: 20px;
  }
  a.contactform-link-btn::after {
    right: 29px;
  }
  a.contactform-link-btn:hover::before {
    right: 16px;
  }
  a.contactform-link-btn:hover::after {
    right: 25px;
  }
}
@media screen and (max-width:767px) {
  .contact_block {
    display: block;
  }
  .contact_block .head {
    height: 90px;
  }
  .contact_block .ttl_m_faq {
    margin: 0 0 0 64px;
    font-size: 1.8rem;
  }
  .contact_block .ttl_m_faq::before {
    width: 52px;
    height: 52px;
    left: -64px;
  }
  .contact_block .body {
    padding: 25px 20px;
  }
  .contact_block .body_main .tel {
    font-size: 3.3rem;
  }
  .contact_block .body_main .text {
    font-size: 1.2rem;
  }
  .contact_block .body_foot {
    margin-top: 25px;
  }
  .contact_block .body_foot p {
    font-size: 1rem;
  }
  .contact_block .contact_block01, .contact_block .contact_block02 {
    width: 100%;
  }
  .contact_block .contact_block02 {
    margin-top: 23px;
  }
  .contact_block .body_main .title {
    font-size: 1.2rem;
    line-height: calc(36 / 24);
  }
  a.contactform-link-btn {
    height: 60px;
    border-radius: 60px;
    font-size: 1.4rem;
  }
  a.contactform-link-btn::before {
    width: 22px;
    height: 22px;
    right: 16px;
  }
  a.contactform-link-btn::after {
    right: 25px;
  }
  .contact_block .block04_01_02 .body_foot {
    margin-top: 10px;
  }
}


/*
* side_navi
*/
.side_navi {
  margin-top: 44px;
}
.side_navi .side_navi_top {
  background-color: rgb(236,237,239);
  font-size: 1.6rem;
  font-weight: 700;
}
.side_navi .side_navi_top a {
  display: block;
  padding-top: 20px;
  padding-bottom: 17px;
  padding-left: 16px;
}
.side_navi .side_navi_top a:hover {
  background-color: rgb(208,27,17);
  color: rgb(255,255,255);
  transition-delay: .1s;
  transition-duration: .2s;
  transition-timing-function: cubic-bezier(.165, .84, .44, 1);
}

.side_navi .side_navi_sttl {
  text-align: center;
}
.side_navi .side_navi_sttl > span {
  display: block;
  border-bottom: 1px solid rgb(222,222,222);
  padding-top: 7px;
  padding-bottom: 5px;
  background-color: rgb(244,243,240);
  font-size: 1.4rem;
  font-weight: 700;
}
.side_navi .side_navi_sttl:nth-child(2) > span {
  border-top: 1px solid rgb(222,222,222);
}

.side_navi .side_navi_item {
  font-size: 1.5rem;
  line-height: 1.5;
}
.side_navi .side_navi_item > a {
  position: relative;
  display: block;
  border-bottom: 1px solid rgb(222,222,222);
  padding: 14px 16px 13px 16px;
}
.side_navi .side_navi_item > a::before {
  position: absolute;
  top: 50%;
  right: 0.5em;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid rgb(188,188,188);
  border-right: 1px solid rgb(188,188,188);
  -webkit-transform: translate3d(0, -50%, 0) rotate(45deg);
  transform: translate3d(0, -50%, 0) rotate(45deg);
  content: '';
}
.side_navi .side_navi_item > a::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: rgb(208,17,27);
  transition: width .2s .1s;
  content: '';
}
.side_navi .side_navi_lower {
  display: none;
  border-bottom: 1px solid rgb(222,222,222);
  padding-left: 12px;
  text-align: left;
}
.side_navi .side_navi_lower.open {
  display: block;
}
@media screen and (max-width: 980px) {
  .side_navi .side_navi_lower.open {
    display: flex;
  }
}
.side_navi .side_navi_lower .side_navi_item {
  font-size: 1.4rem;
}
.side_navi .side_navi_lower .side_navi_item > a {
  display: block;
  padding-top: 11px;
  padding-bottom: 10px;
}
.side_navi .side_navi_lower .side_navi_item:last-child > a {
  border-bottom-style: none;
}
@media screen and (min-width: 768px) {
  .side_navi .side_navi_item > a:hover::before {
    border-color: rgb(208,17,27);
  }
  .side_navi .side_navi_item > a:hover::after {
    width: 100%;
  }
}

@media screen and (max-width: 980px) {
  .side_navi .side_navi_lower {
    flex-wrap: wrap;
  }
  .side_navi .side_navi_lower .side_navi_item {
    display: flex;
    width: calc(33% - 16px);
    margin: 0 8px;
  }
  .side_navi .side_navi_lower .side_navi_item > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .side_navi .side_navi_lower {
    padding-left: 0;
  }
  .side_navi .side_navi_lower .side_navi_item {
    width: calc(50% - 8px);
    margin: 0 4px;
  }
}

/*
* btn_page_top
*/

.btn_page_top {
  width: 48px;
  height: 48px;
  border-radius: 100%;
  background: rgb(208, 17, 27);
  position: fixed;
  right: 38px;
  bottom: -100px;
  cursor: pointer;
  z-index: 999;
}

.btn_page_top::after {
  content: '';
  width: 8px;
  height: 8px;
  display: block;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: calc(50% + 2px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.btn_page_top span {
  display: block;
}

@media screen and (max-width:767px) {
  .btn_page_top {
    width: 40px;
    height: 40px;
    right: 9px;
  }
}

/*
* voice-box
*/

#main .voice-box {
  border: 3px solid #dbdbdb;
  padding: 17px;
  overflow: hidden;
}
#main .voice-box img {
  width: 150px;
  height: 150px;
  margin: 0 10px 0 0;
  float: left;
}
#main .voice-box .inner h6 {
  line-height: 18px;
  margin: 0 0 15px 0;
  font-size: 120%;
  font-weight: 700;
}
#main .voice-box .inner h6 span {
  display: block;
  font-size: 80%;
}
#main .voice-box .inner p {
  overflow: hidden;
}
@media screen and (max-width:767px) {
  #main .voice-box img {
    float: none;
    margin: 0 auto 24px;
    display: block;
  }
}


/*------------------------------------------------*/

/* Tool */

/*------------------------------------------------*/

.bgt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.cf:after {
  content: '';
  display: block;
  clear: both;
}

/* tool-note */
/*
  ?
*/
span.t-note {
	vertical-align: super;
	font-size: 1.2rem;
}

/* outbound window icon */
/*
   <a class="ow"><span>text</span></a>
*/
.ow > span {
  position: relative;
}
.ow > span::after {
  position: absolute;
  top: 0;
  right: -14px;
  width: 10px;
  height: 18px;
  background-image: url(../images/icons.png);
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
}
.btn_white3.ow:hover > span::after {
  background-image: url(../images/icons_w.png);
}

/* text */
._txt_ul {
  text-decoration: underline;
}
._sup {
  vertical-align: super;
  font-size: 85%;
}
._sub {
  vertical-align: sub;
  font-size: 85%;
}
._cap {
  font-size: 85%;
}

/* hover action */
._csstrans ._op7 {
  transition: opacity .6s cubic-bezier(.165, .84, .44, 1);
}
._op7:hover {
  opacity: .7;
}


/* margin */

.mg-t5 {  margin-top:  5px; }
.mg-t10 { margin-top: 10px; }
.mg-t15 { margin-top: 15px; }
.mg-t20 { margin-top: 20px; }
.mg-t25 { margin-top: 25px; }
.mg-t30 { margin-top: 30px; }
.mg-t35 { margin-top: 35px; }
.mg-t40 { margin-top: 40px; }
.mg-t45 { margin-top: 45px; }
.mg-t50 { margin-top: 50px; }
.mg-t55 { margin-top: 55px; }
.mg-t60 { margin-top: 60px; }
.mg-t70 { margin-top: 70px; }
.mg-t80 { margin-top: 80px; }
.mg-t90 { margin-top: 90px; }
.mg-t100 { margin-top: 100px; }

.mg-b10 { margin-bottom: 10px; }
.mg-b15 { margin-bottom: 15px; }
.mg-b20 { margin-bottom: 20px; }
.mg-b25 { margin-bottom: 25px; }
.mg-b30 { margin-bottom: 30px; }
.mg-b35 { margin-bottom: 35px; }
.mg-b40 { margin-bottom: 40px; }
.mg-b45 { margin-bottom: 45px; }
.mg-b50 { margin-bottom: 50px; }
.mg-b55 { margin-bottom: 55px; }
.mg-b60 { margin-bottom: 60px;  }

.mg-t8  { margin-top:  8px; }
.mg-t16 { margin-top: 16px; }
.mg-t24 { margin-top: 24px; }
.mg-t32 { margin-top: 32px; }
.mg-t40 { margin-top: 40px; }
.mg-t48 { margin-top: 48px; }
.mg-t64 { margin-top: 64px; }
.mg-t72 { margin-top: 72px; }

@media screen and (max-width: 767px) {
  .mg-t8  { margin-top:  4px; }
  .mg-t16 { margin-top:  8px; }
  .mg-t24 { margin-top: 12px; }
  .mg-t32 { margin-top: 16px; }
  .mg-t40 { margin-top: 20px; }
  .mg-t48 { margin-top: 24px; }
  .mg-t64 { margin-top: 32px; }
  .mg-t72 { margin-top: 36px; }
}

.mg-b8  { margin-bottom:  8px; }
.mg-b16 { margin-bottom: 16px; }
.mg-b24 { margin-bottom: 24px; }
.mg-b32 { margin-bottom: 32px; }
.mg-b40 { margin-bottom: 40px; }
.mg-b48 { margin-bottom: 48px; }
.mg-b64 { margin-bottom: 64px; }
.mg-b72 { margin-bottom: 72px; }

@media screen and (max-width: 767px) {
  .mg-b8  { margin-bottom:  4px; }
  .mg-b16 { margin-bottom:  8px; }
  .mg-b24 { margin-bottom: 12px; }
  .mg-b32 { margin-bottom: 16px; }
  .mg-b40 { margin-bottom: 20px; }
  .mg-b48 { margin-bottom: 24px; }
  .mg-b64 { margin-bottom: 32px; }
  .mg-b72 { margin-bottom: 36px; }
}

.for_sp {
  display: none !important;
}


@media screen and (max-width:767px) {
  .for_sp {
    display: block !important;
  }
  .for_pc {
    display: none !important;
  }
}

/* float position */
.right {
  float: right;
}
.left {
  float: left;
}

/*
* Layout Tool
*/

/* width 1390 */
.l-1390 {
  width: 92%;
  max-width: 1390px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1510px) {
}

/* width 1150 */
.l-1150 {
  width: 92%;
  max-width: 1150px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1250px) {
}

@media screen and (max-width: 767px) {
  .m-40 {
    width: 89.3333%;
    min-width: 310px;
  }

  .m-80 {
    width: 78.6667%;
    min-width: 300px;
  }
  .m-0 {
    width: 100%;
  }
}


/*------------------------------------------------*/

/* Animation */

/*------------------------------------------------*/
@keyframes showSlideLeftMid {
	0%{
    opacity:0;
    transform: translate3d(8px, 0, 0);
  }
	100%{
    visibility: visible;
    z-index: 999;
    opacity:1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes hideSlideRightMid {
	0%{
    visibility: visible;
    z-index: 999;
    opacity:1;
    transform: translate3d(0, 0, 0);
  }
	100%{
    visibility: hidden;
    z-index: -1;
    opacity:0;
    transform: translate3d(8px, 0, 0);
  }
}
