@charset "UTF-8";
@font-face {
  font-family: "OpenSans";
  font-style: normal;
  font-weight: 400;
  src: local("OpenSans"), local("Open Sans"), url("../font/OpenSans-Regular.woff2") format("woff2"), url("../font/OpenSans-Regular.woff") format("woff"); }
@font-face {
  font-family: "OpenSans";
  font-style: normal;
  font-weight: 500;
  src: local("OpenSans"), local("Open Sans"), url("../font/OpenSans-SemiBold.woff2") format("woff2"), url("../font/OpenSans-SemiBold.woff") format("woff"); }
@font-face {
  font-family: "OpenSans";
  font-style: normal;
  font-weight: 600;
  src: local("OpenSans"), local("Open Sans"), url("../font/OpenSans-Bold.woff2") format("woff2"), url("../font/OpenSans-Bold.woff") format("woff"); }
@font-face {
  font-family: "icofont";
  font-weight: normal;
  font-style: normal;
  font-display: block;
  src: url("../font/icofont.woff") format("woff"), url("../font/icofont.ttf") format("truetype"), url("../font/icofont.svg#icofont") format("svg"); }
@font-face {
  font-family: "Gogol";
  font-style: normal;
  font-weight: 400;
  src: local("Gogol"), local("gogol"), url("../font/gogol.woff2") format("woff2"), url("../font/gogol.woff") format("woff"); }

.wh50 {
  width: 50%; }
@media only all and (max-width: 59.99rem) {
  .wh50 {
    width: 100%; } }

.wh40 {
  width: 40%; }
@media only all and (max-width: 59.99rem) {
  .wh40 {
    width: 100%; } }

.grid {
  display: flex;
  flex-flow: row wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  text-rendering: optimizespeed; }
  .grid.nowrap {
    flex-flow: row; }

.contain {
  width: 87rem;
  margin: 0 auto;
  padding: 0; }
@media only all and (min-width: 75rem) and (max-width: 86.99rem) {
  .contain {
    width: 75rem; } }
@media only all and (min-width: 60rem) and (max-width: 74.99rem) {
  .contain {
    width: 60rem; } }
@media only all and (min-width: 30.01rem) and (max-width: 59.99rem) {
  .contain {
    width: 30rem; } }
@media only all and (max-width: 30rem) {
  .contain {
    width: 100%; } }
.contain.g-flushed {
  width: 100%; }

.block {
  flex: 1;
  min-width: 0;
  min-height: 0; }
@media only all and (max-width: 59.99rem) {
  .block {
    flex-grow: 0;
    flex-basis: 100%; } }
.block.first {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1; }
.block .last {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1; }
.size-12 {
  flex: 0 12%;
  width: 12%; }
.size-20 {
  flex: 0 20%;
  width: 20%; }
.size-25 {
  flex: 0 25%;
  width: 25%; }
.size-30 {
  flex: 0 30%;
  width: 30%; }
.size-45 {
  flex: 0 45%;
  width: 45%; }
.size-50 {
  flex: 0 50%;
  width: 50%; }
.size-70 {
  flex: 0 70%;
  width: 70%; }
.size-75 {
  flex: 0 75%;
  width: 75%; }
.size-80 {
  flex: 0 80%;
  width: 80%; }
.size-100 {
  flex: 0 100%;
  width: 100%; }

.size-33 {
  flex: 0 33.33%;
  width: 33.33%; }

@media only all and (max-width: 59.99rem) {
  body [class*="size-"] {
    flex-grow: 0;
    flex-basis: 100%;
    max-width: 100%; } }

@media only all and (max-width: 59.99rem) {
  @supports not (flex-wrap: wrap) {
    .grid {
      display: block;
      flex-wrap: inherit; }
    .block {
      display: block;
      flex: inherit; } }
  body .mob-40 {
    flex: 0 40%;
    width: 40%; }
  body .mob-60 {
    flex: 0 60%;
    width: 60%; }
  body .mob-50 {
    flex: 0 50%;
    width: 50%; }
  body .mob-33 {
    flex: 0 33.33%;
    width: 33.33%; }
  .mob-no {
    display: none; } }

*, div {
  box-sizing: border-box; }

img {
  max-width: 100%; }

input[type="text"] {
  line-height: normal;
  border: 1px solid #e2e2e2;
  width: 100%;
  padding: 0.8rem 1rem;
  outline: none;
  display: inline-block;
  font-size: 1.3rem;
  font-style: italic;
  vertical-align: middle; }
  input[type="text"]::placeholder {
    text-transform: uppercase;
    font-style: normal; }
  input[type="text"]:focus {
    border: 1px solid #4166b0; }
    input[type="text"]:focus::placeholder {
      opacity: 0;
      transition: opacity 0.3s ease; }
    input[type="text"]:focus::-webkit-input-placeholder {
      opacity: 0;
      transition: opacity 0.3s ease; }
    input[type="text"]:focus::-moz-placeholder {
      opacity: 0;
      transition: opacity 0.3s ease; }
    input[type="text"]:focus:-moz-placeholder {
      opacity: 0;
      transition: opacity 0.3s ease; }
    input[type="text"]:focus:-ms-input-placeholder {
      opacity: 0;
      transition: opacity 0.3s ease; }
    input[type="text"]:focus::placeholder {
      opacity: 0; }
  input[type="text"]:focus-visible {
    border: 1px solid #4166b0; }
  input[type="text"].name {
    display: none; }
  .line input[type="text"] {
    border: none;
    border-bottom: 1px solid #3b3b3b;
    background: none;
    border-radius: 0;
    padding: 0.5rem 0.2rem 0.1rem;
    margin-bottom: 1rem; }
  .light input[type="text"] {
    border-color: rgba(255, 255, 255, 0.6);
    border-width: 2px;
    color: #ffffff; }
    .light input[type="text"]::placeholder {
      color: #ffffff; }

.cafeForm .ctrl {
  margin-top: 2rem; }
  .cafeForm .err input {
    border-color: #d70000; }
  .cafeForm .err span {
    color: #d70000; }

.snap {
  display: inline-block;
  color: #ffffff;
  border: none;
  font-size: 1rem;
  padding: 0.6rem 1.5rem;
  text-align: center;
  line-height: 1;
  border-radius: 0.3rem;
  cursor: pointer;
  transition: background-color 0.6s;
  background-color: #1c7dc9;
  background-image: -webkit-linear-gradient(-225deg, #1c7dc9 50%, #0088f3 50%);
  background-image: linear-gradient(-45deg, #1c7dc9 50%, #0088f3 50%); }
  .snap.pure {
    background-color: rgba(0, 0, 0, 0);
    background-image: -webkit-linear-gradient(-410deg, rgba(255, 255, 255, 0.45) 50%, rgba(255, 255, 255, 0.7) 50%);
    background-image: linear-gradient(140deg, rgba(255, 255, 255, 0.45) 50%, rgba(255, 255, 255, 0.7) 50%);
    border: #ffffff solid 0.2rem;
    color: #4166b0; }
  .snap.lg {
    padding: 1rem 3rem;
    font-size: 1.3rem;
    font-weight: 500; }
  .snap:hover {
    background-color: #ffffff; }
  .snap + .snap {
    margin-left: 2rem; }

.light {
  color: #ffffff; }
  .light a {
    color: #ffffff; }
    .light a:hover {
      text-decoration: underline; }

[class^="ico-"]:before, [class*=" ico-"]:before {
  font-family: "icofont" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.ico-gps1:before {
  content: ""; }

.ico-gps:before {
  content: ""; }

.ico-letter:before {
  content: ""; }

.ico-black:before {
  content: ""; }

.ico-time1:before {
  content: ""; }

.ico-tool3:before {
  content: ""; }

.ico-people:before {
  content: ""; }

.ico-phone:before {
  content: ""; }

.ico-telephone:before {
  content: ""; }

.ico-interface1:before {
  content: ""; }

.ico-box:before {
  content: ""; }

.ico-search:before {
  content: ""; }

.ico-music1:before {
  content: ""; }

.ico-diploma:before {
  content: ""; }

.ico-signs3:before {
  content: ""; }

.ico-check:before {
  content: ""; }

.ico-check-icon:before {
  content: ""; }

.ico-signs4:before {
  content: ""; }

.ico-clock2:before {
  content: ""; }

.ico-interface2:before {
  content: ""; }

.ico-calculate:before {
  content: ""; }

.ico-plus:before {
  content: ""; }

.ico-sewing2:before {
  content: ""; }

.ico-arrow-right:before {
  content: ""; }

.ico-left-arrow:before {
  content: ""; }

.ico-right-arrow:before {
  content: ""; }

.ico-price-tag:before {
  content: ""; }

.ico-user:before {
  content: ""; }

.ico-menu:before {
  content: ""; }

.ico-menu2:before {
  content: ""; }

.ico-menu3:before {
  content: ""; }

body {
  margin: 0;
  font-family: "OpenSans";
  font-size: 1rem;
  color: #3b3b3b;
  padding-right: 0; }

a {
  text-decoration: none;
  color: #3b3b3b; }
  a:hover {
    color: #4166b0; }

header {
  position: relative;
  background: url("/images/tpl/bcgr_header.webp") 50% 0 no-repeat;
  background-size: cover; }
  header .contain {
    height: 100%;
    position: relative; }
  header:before {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 10;
    content: "";
    background-color: rgba(0, 0, 0, 0);
    background-image: -webkit-linear-gradient(-410deg, rgba(0, 0, 0, 0) 50%, rgba(28, 125, 201, 0.6) 50%);
    background-image: linear-gradient(140deg, rgba(0, 0, 0, 0) 50%, rgba(28, 125, 201, 0.6) 50%); }
  .itemid-101 header {
    height: 100vh;
    min-height: 40rem; }

nav.navmain {
  position: relative;
  z-index: 20; }
  nav.navmain .corps {
    display: flex;
    flex-flow: row;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 0; }
  @media only all and (max-width: 59.99rem) {
    nav.navmain .corps {
      padding: 1rem 1.5rem 2rem; } }

.show {
  padding: 4rem 0; }
@media only all and (max-width: 59.99rem) {
  .show {
    padding: 2rem 1.5rem; } }

.over {
  background-color: #f5f7fb;
  padding: 4rem 0; }
@media only all and (max-width: 59.99rem) {
  .over {
    background: none;
    padding: 2rem 0; } }

#main .contain {
  padding: 4rem 0; }
@media only all and (max-width: 59.99rem) {
  #main .contain {
    padding: 2rem 1.5rem; } }

.under {
  padding: 4rem 0;
  background-color: #f5f7fb; }
  .itemid-101 .under {
    background-color: #ffffff; }
  @media only all and (max-width: 59.99rem) {
    .under {
      padding: 1rem 0 2rem; } }

.below {
  padding: 6rem 0;
  background: url("/images/tpl/bcgr_crystal2.webp") 50% 50% no-repeat;
  background-size: cover;
  position: relative; }
  .below:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    content: "";
    background-color: rgba(0, 0, 0, 0);
    background-image: -webkit-linear-gradient(-410deg, rgba(28, 125, 201, 0.6) 50%, rgba(0, 0, 0, 0) 50%);
    background-image: linear-gradient(140deg, rgba(28, 125, 201, 0.6) 50%, rgba(0, 0, 0, 0) 50%); }
  .below .contain {
    position: relative;
    z-index: 10; }
  @media only all and (max-width: 59.99rem) {
    .below {
      padding: 5rem 1.5rem; }
      .below:before {
        background-image: -webkit-linear-gradient(-410deg, rgba(28, 125, 201, 0.6) 60%, rgba(0, 0, 0, 0) 60%);
        background-image: linear-gradient(140deg, rgba(28, 125, 201, 0.6) 60%, rgba(0, 0, 0, 0) 60%); } }

.view {
  padding: 4rem 0; }

.case {
  padding: 4rem 0; }

footer {
  padding: 4rem 0 2rem;
  position: relative;
  font-size: 1.2rem; }
  footer:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    content: "";
    background-color: #565656;
    background-image: -webkit-linear-gradient(-410deg, #666666 50%, #565656 50%);
    background-image: linear-gradient(140deg, #666666 50%, #565656 50%); }
  footer .contain {
    position: relative;
    z-index: 10; }
  @media only all and (max-width: 59.99rem) {
    footer {
      padding: 2rem 1.5rem; } }

.bottom .contain {
  display: flex; }
  .bottom .contain > div {
    width: 32%; }
    .bottom .contain > div + div {
      margin-left: 2%; }
@media only all and (max-width: 59.99rem) {
  .bottom .contain {
    flex-flow: column; }
    .bottom .contain > div {
      width: 100%; }
      .bottom .contain > div + div {
        margin: 2rem 0 0; } }

.title {
  font-weight: 400;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  text-align: center;
  line-height: 1.2; }
  .title span {
    font-size: 1rem;
    display: block; }

h1, h2, h3, h4 {
  margin: 0 0 1.5rem; }

p {
  margin: 0 0 1rem; }

ul {
  padding-left: 1.5rem;
  list-style: circle;
  margin: 0 0 1rem; }

.heading {
  font-size: 2.2rem;
  margin-bottom: 3rem;
  font-weight: 500;
  text-align: center; }

.contain > .heading {
  text-align: center;
  margin-bottom: 2.5rem; }

.headbox {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
  text-align: center; }
  .headbox span {
    font-weight: 600; }
  .light .headbox {
    color: #ffffff; }
  .under .headbox, .view .headbox {
    margin-bottom: 3rem; }
  .below .headbox {
    text-align: left; }
  @media only all and (max-width: 59.99rem) {
    .headbox {
      font-size: 1.8rem; }
      .under .headbox {
        margin-bottom: 7rem; } }

.clr {
  display: block;
  clear: both; }

h1 {
  font-size: 2rem; }

.menu-toggle {
  display: none;
  text-align: right;
  font-size: 1.5rem;
  font-weight: 500;
  text-transform: uppercase; }
  .menu-toggle a {
    color: #ffffff; }
    .menu-toggle a:after {
      font-family: "icofont";
      content: "";
      margin-left: 0.5rem;
      color: #ffffff; }
  @media only all and (max-width: 59.99rem) {
    .menu-toggle {
      display: block; } }

header .info {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  height: 75%;
  position: absolute;
  bottom: 0; }
header .brand {
  height: 100%; }
  header .brand img {
    max-height: 100%; }
header .act {
  z-index: 20;
  width: 50%;
  padding-bottom: 1rem; }
header .slogan {
  font-family: "Gogol";
  color: #ffffff;
  font-size: 5rem;
  line-height: 1;
  margin-bottom: 2rem;
  padding-left: 25%; }
header .note {
  font-size: 2rem;
  color: #ffffff;
  margin-bottom: 3rem; }
@media only all and (max-width: 59.99rem) {
  header {
    background-position: 0 0; }
    header .info {
      display: block;
      height: auto;
      position: relative; }
    header .brand {
      height: auto; }
      header .brand img {
        width: 60%;
        margin-left: 20%; }
    header .act {
      width: 100%;
      position: relative;
      padding: 0 1.5rem;
      text-align: center; }
    header .slogan {
      padding-left: 0;
      font-size: 3.5rem;
      margin-bottom: 1rem; }
    header .note {
      font-size: 1.6rem;
      margin-bottom: 2rem; }
    header .ctrl {
      padding-bottom: 2rem; }
      header .ctrl .snap {
        width: 90%; }
        header .ctrl .snap + .snap {
          margin: 1rem 0 0; }
    .itemid-101 header {
      height: auto; }
    header:before {
      background-image: -webkit-linear-gradient(-65deg, rgba(0, 0, 0, 0) 42%, rgba(28, 125, 201, 0.6) 42%);
      background-image: linear-gradient(155deg, rgba(0, 0, 0, 0) 42%, rgba(28, 125, 201, 0.6) 42%); } }

.nav-main {
  display: flex;
  flex-flow: row;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  font-size: 1.8rem; }
  .nav-main > li {
    text-align: center;
    line-height: 1; }
  .nav-main li + li {
    margin-left: 1.5rem; }
    .nav-main .active a {
      color: #4166b0; }
  .nav-main a {
    padding: 0.6rem 0.5rem;
    display: block;
    color: #3b3b3b; }
    .nav-main a:hover {
      color: #4166b0; }
  @media only all and (max-width: 59.99rem) {
    .nav-main {
      display: block;
      height: 0;
      z-index: 1;
      transition: 0.2s;
      overflow-y: hidden;
      position: absolute;
      left: 0;
      width: 100%;
      margin-top: 3rem;
      background-color: white; }
      .nav-main li:first-child {
        margin-top: 1rem; }
      .nav-main li + li {
        margin: 0; } }

.videolist {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 2rem; }
  .videolist > div {
    background-color: #565656; }
  @media only all and (max-width: 59.99rem) {
    .videolist {
      grid-template-columns: 1fr; } }

.option {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 4px; }
  .option > div {
    background-color: beige;
    padding: 0;
    position: relative;
    overflow: hidden; }
    .option > div .bcgr {
      position: absolute;
      left: 0;
      top: 50%;
      width: 100%;
      transform: translate(0, -50%); }
    .option > div .info {
      padding: 2rem;
      text-align: center;
      opacity: 0;
      -webkit-transform: scale(0);
      -moz-transform: scale(0);
      -ms-transform: scale(0);
      -o-transform: scale(0);
      transform: scale(0);
      -webkit-transition: all 0.35s;
      -moz-transition: all 0.35s;
      transition: all 0.35s;
      z-index: 10;
      color: #ffffff;
      position: relative;
      background-color: rgba(28, 125, 201, 0.1);
      background-image: -webkit-linear-gradient(-225deg, rgba(28, 125, 201, 0.65) 50%, rgba(0, 136, 243, 0.65) 50%);
      background-image: linear-gradient(-45deg, rgba(28, 125, 201, 0.65) 50%, rgba(0, 136, 243, 0.65) 50%);
      width: 100%;
      height: 100%; }
      .option > div:hover .info {
        opacity: 1;
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1); }
  .option .box1 {
    grid-row: span 3;
    background: url("/images/tpl/bcgr_crystal.webp") no-repeat;
    color: #ffffff; }
    .option .box1:before {
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: 10;
      content: "";
      background-color: rgba(0, 0, 0, 0);
      background-image: -webkit-linear-gradient(-410deg, rgba(28, 125, 201, 0.5) 65%, rgba(0, 0, 0, 0) 35%);
      background-image: linear-gradient(140deg, rgba(28, 125, 201, 0.5) 65%, rgba(0, 0, 0, 0) 35%); }
    .option .box1 .corps {
      padding: 3rem;
      z-index: 20;
      position: relative; }
    .option .box1 .note {
      font-size: 1.5rem; }
    .option .box1 .title {
      text-transform: none;
      font-size: 2.5rem;
      line-height: 1.2;
      margin-bottom: 1.5rem;
      text-align: left; }
      .option .box1 .title b {
        font-size: 3rem; }
  .option .title {
    text-transform: uppercase;
    font-size: 1.8rem;
    font-weight: 400; }
  .option a {
    color: #ffffff;
    text-decoration: underline;
    font-size: 1.2rem; }
    .option a:hover {
      text-decoration: none; }
  @media only all and (max-width: 59.99rem) {
    .option {
      grid-template-columns: repeat(1, 1fr); }
      .option .box1 .corps {
        padding: 2rem 1.5rem; }
      .option .box1 .title {
        font-size: 2rem;
        font-weight: 500; } }

.bottom {
  margin-bottom: 3rem; }
  .bottom .title {
    text-align: left;
    font-size: 1.8rem;
    font-weight: 500; }
  .bottom ul {
    list-style: none;
    font-size: 1.4rem;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    text-transform: uppercase; }
    .bottom a:hover {
      color: #ffffff;
      text-decoration: underline; }

.gallery {
  margin: 0 -0.5rem; }
  .gallery .block {
    padding: 0.5rem; }
  .gallery .corps {
    border: 1px solid #ffffff;
    padding: 0.3rem;
    max-height: 218px;
    overflow: hidden; }
  .gallery img {
    display: block; }

.catalog .casebox {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem; }
.catalog .img {
  margin-bottom: 0.5rem; }
@media only all and (max-width: 59.99rem) {
  .catalog .casebox {
    grid-template-columns: repeat(1, 1fr); } }

.categories .casebox {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem; }
  .categories .unitbox .img {
    position: relative;
    padding: 0 1rem 1rem;
    margin-bottom: 1rem; }
    .categories .unitbox .img:before {
      content: "";
      height: 100%;
      width: 100%;
      background: url(/images/tpl/podium.png) 50% 100% no-repeat;
      background-size: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -10; }
.categories .note {
  text-align: center;
  font-size: 1.3rem;
  width: 80%;
  margin: 0 auto 3rem; }
  .categories .note a {
    color: #4166b0; }
    .categories .note a:hover {
      text-decoration: underline; }
.categories .title {
  font-size: 1.8rem;
  margin-bottom: 0; }
@media only all and (max-width: 59.99rem) {
  .categories .note {
    width: 100%; }
  .categories .casebox {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.5rem;
    column-gap: 1.5rem; } }

#footer, #bottom {
  background-color: #4166b0; }

.mod-breadcrumbs {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  padding: 0;
  overflow: hidden;
  list-style: none; }
  .mod-breadcrumbs > li {
    display: inline;
    padding-right: 0.5rem; }
    .mod-breadcrumbs > li:after {
      content: ">";
      color: #da251c;
      margin-left: 0.5rem; }
      .mod-breadcrumbs > li.active:after, .mod-breadcrumbs > li.mod-breadcrumbs__here:after {
        content: "";
        margin: 0; }

.product .content {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 2rem; }

.blog .casebox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem; }
.blog .unitbox {
  padding: 1.5rem;
  background-color: #f5f7fb; }
  .blog .unitbox .img {
    margin-bottom: 1rem; }
    .blog .unitbox .img img {
      display: block; }
  .blog .unitbox .title {
    margin-bottom: 0; }
@media only all and (max-width: 59.99rem) {
  .blog .casebox {
    grid-template-columns: 1fr; } }

.cafe-gallery {
  justify-content: space-between; }
  .cafe-gallery img {
    cursor: pointer; }

.cafe-modal {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.65);
  animation-name: zoom;
  -webkit-animation-name: zoom;
  animation-duration: 0.4s;
  -webkit-animation-duration: 0.4s; }
  .cafe-modal .boxed {
    background-color: #ffffff;
    padding: 3rem;
    box-sizing: border-box;
    max-width: 1000px;
    max-height: 100%; }
    .cafe-modal .boxed img {
      width: 100%;
      height: auto; }
  .cafe-modal .input {
    margin-bottom: 1rem; }
    .cafe-modal .input span {
      font-weight: 600; }
  .cafe-modal .close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s; }
    .cafe-modal .close:hover, .cafe-modal .close:focus {
      color: #bbb;
      text-decoration: none;
      cursor: pointer; }
  .cafe-modal .headbox {
    font-size: 2rem;
    text-align: center; }

@-webkit-keyframes zoom {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes zoom {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/*! Flickity v3.0.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
  touch-action: pan-y; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0; }

.flickity-rtl .flickity-slider {
  left: unset;
  right: 0; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing; }

/* ---- flickity-cell ---- */
.flickity-cell {
  position: absolute;
  left: 0; }

.flickity-rtl .flickity-cell {
  left: unset;
  right: 0; }

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: transparent;
  border: none;
  padding: 0; }

.flickity-button:hover {
  color: #da251c;
  cursor: pointer; }

/* .flickity-button:focus {} */
.flickity-button:active {
  opacity: 0.6; }

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none; }

.flickity-button-icon {
  fill: currentColor; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  height: 5rem;
  transform: translateY(-50%); }
  .flickity-prev-next-button.previous {
    left: -5rem; }
  .flickity-prev-next-button.next {
    right: -5rem; }
  @media only all and (max-width: 59.99rem) {
    .flickity-prev-next-button {
      top: -3rem; }
      .flickity-prev-next-button.next {
        right: inherit;
        left: calc(50% + 1.5rem); }
      .flickity-prev-next-button.previous {
        left: calc(50% - 4rem); } }

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button .flickity-button-icon {
  height: 100%; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dot {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  cursor: pointer;
  appearance: none;
  border: none;
  text-indent: -9999px;
  overflow: hidden; }

.flickity-rtl .flickity-page-dot {
  text-indent: 9999px; }

.flickity-page-dot:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F; }

.flickity-page-dot.is-selected {
  background: #333; }

.flickity-slider {
  display: flex; }

.carousel-cell {
  width: 23.5%;
  background-color: #ffffff;
  margin-left: 2%; }
  .carousel-cell .corps {
    height: 100%;
    padding: 1rem 0; }
  .carousel-cell .img {
    min-height: 332px; }
    .carousel-cell .img img {
      max-width: 100%; }
  .carousel-cell .note {
    color: #4166b0; }
  .carousel-cell .ctrl {
    text-align: center; }
  .fullw .carousel-cell {
    height: 100%; }
  @media only all and (max-width: 59.99rem) {
    .carousel-cell {
      width: 100%; }
      .carousel-cell .corps {
        padding: 1rem; }
      .carousel-cell .img {
        margin: -1rem -1rem 2rem; } }
