@charset "utf-8";

/**
 * コンテンツの幅を指定
 */

.container {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 1040px;
  min-width: 320px;
  padding-left: 20px;
  padding-right: 20px;
}

/**
 * マルチカラム
 */

.columns::before,
.columns::after {
  content: " ";
  display: table;
}

.columns::after {
  clear: both;
}

.columns ._column {
  box-sizing: border-box;
  float: left;
}

.columns.-bottom {
  margin-bottom: 60px;
}

.columns.-bottom.-half {
  margin-bottom: 30px;
}

/* 2カラム */
.columns.-two > ._column {
  width: 50%;
}

.columns.-two > ._column:nth-child(odd) {
  clear: left;
  padding-right: 25px;
}

.columns.-two > ._column:nth-child(even) {
  padding-left: 25px;
}

.columns.-two.-reverse > ._column {
  float: right;
}

.columns.-two.-reverse > ._column:nth-child(odd) {
  clear: right;
  padding-left: 25px;
  padding-right: 0;
}

.columns.-two.-reverse > ._column:nth-child(even) {
  padding-left: 0;
  padding-right: 25px;
}

/* 2カラムのボタン羅列用 */
.columns.-two.-button {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.columns.-two.-button > ._column {
  display: table-cell;
  /*width: auto;*/
}

/* 3カラム */
.columns.-three > ._column {
  width: 33.3333333333%;
}

.columns.-three > ._column:nth-child(3n+1) {
  clear: left;
  padding-right: 33.3333333333px;
}

.columns.-three > ._column:nth-child(3n+2) {
  padding-left: 16.6666666667px;
  padding-right: 16.6666666667px;
}

.columns.-three > ._column:nth-child(3n+3) {
  padding-left: 33.3333333333px;
}

/* 4カラム */
.columns.-four > ._column {
  width: 25%;
}

.columns.-four > ._column:nth-child(4n+1) {
  clear: left;
  padding-right: 37.5px;
}

.columns.-four > ._column:nth-child(4n+2) {
  padding-left: 12.5px;
  padding-right: 25px;
}

.columns.-four > ._column:nth-child(4n+3) {
  padding-left: 25px;
  padding-right: 12.5px;
}

.columns.-four > ._column:nth-child(4n+4) {
  padding-left: 37.5px;
}

/**
 * 見出し1
 */

.heading-1 {
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.4375;
  margin-bottom: 80px;
}

.question-1 .heading-1 {
  background-color: #53b2ca;
}

.question-2 .heading-1 {
  background-color: #53c1ae;
}

.question-3 .heading-1 {
  background-color: #6f98cb;
}

.question-4 .heading-1 {
  background-color: #938ed9;
  margin-bottom: 0;
}

.heading-1 ._inner {
  padding-bottom: 20px;
  padding-top: 20px;
  position: relative;
}

.heading-1 ._inner::before {
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  height: 156px;
  left: 0;
  position: absolute;
  width: 130px;
}

.clinic .question-1 .heading-1 ._inner::before {
  background-image: url("images/heading-1/clinic-question1-background.png");
}

.clinic .question-2 .heading-1 ._inner::before {
  background-image: url("images/heading-1/clinic-question2-background.png");
}

.clinic .question-3 .heading-1 ._inner::before {
  background-image: url("images/heading-1/clinic-question3-background.png");
}

.clinic .question-4 .heading-1 ._inner::before {
  background-image: url("images/heading-1/clinic-question4-background.png");
}

.restaurant .question-1 .heading-1 ._inner::before {
  background-image: url("images/heading-1/restaurant-point1-background.png");
}

.restaurant .question-2 .heading-1 ._inner::before {
  background-image: url("images/heading-1/restaurant-point1-background.png");
}

.restaurant .question-3 .heading-1 ._inner::before {
  background-image: url("images/heading-1/restaurant-point1-background.png");
}

.restaurant .question-4 .heading-1 ._inner::before {
  background-image: url("images/heading-1/restaurant-question4-background.png");
}

.heading-1 ._wrapper {
  display: table;
  width: 100%;
}

.heading-1 ._number {
  border-right: 1px solid #fff;
  display: table-cell;
  padding-right: 50px;
  text-align: right;
  vertical-align: middle;
  width: 220px;
}

.heading-1 ._number img {
  margin-bottom: 37px;
  margin-top: 36px;
}

.heading-1 ._title {
  display: table-cell;
  padding: 20px 0 20px 50px;
  vertical-align: middle;
}
.heading-1 ._title > ._small {
  font-size: 18px;
}

/**
 * 見出し2
 */

.heading-2 {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.heading-2 ._title {
  color: #0d2a5a;
  display: table-cell;
  font-size: 28px;
  font-weight: bold;
  height: 94px;
  line-height: 1.7142;
  margin-bottom: 60px;
  padding-bottom: 60px;
  padding-left: 68px;
  padding-right: 68px;
  position: relative;
  text-align: center;
  vertical-align: middle;
}

.heading-2 ._title.-slash::before,
.heading-2 ._title.-slash::after {
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  height: 75px;
  top: 11px;
  width: 48px;
}

.heading-2 ._title.-slash::before {
  left: 0;
}

.heading-2 ._title.-slash::after {
  right: 0;
}

.question-1 .heading-2 ._title.-slash::before {
  background-image: url("images/heading-2/qouesition-1-left.png");
}

.question-1 .heading-2 ._title.-slash::after {
  background-image: url("images/heading-2/qouesition-1-right.png");
}

.question-2 .heading-2 ._title.-slash::before {
  background-image: url("images/heading-2/qouesition-2-left.png");
}

.question-2 .heading-2 ._title.-slash::after {
  background-image: url("images/heading-2/qouesition-2-right.png");
}

.question-3 .heading-2 ._title.-slash::before {
  background-image: url("images/heading-2/qouesition-3-left.png");
}

.question-3 .heading-2 ._title.-slash::after {
  background-image: url("images/heading-2/qouesition-3-right.png");
}

.question-4 .heading-2 ._title.-slash::before {
  background-image: url("images/heading-2/qouesition-4-left.png");
}

.question-4 .heading-2 ._title.-slash::after {
  background-image: url("images/heading-2/qouesition-4-right.png");
}

/**
 * 見出し3
 */

.heading-3 {
  color: #0d2a5a;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 40px;
  margin-top: 60px;
  text-align: center;
}

/**
 * 見出し4
 */

.heading-4 {
  color: #0d2a5a;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 30px;
}

/**
 * 見出し5
 */

.heading-5 {
  color: #0d2a5a;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 40px;
}

/**
 * ボタン
 */

.button {
  background-color: #d94207;
  background-image: linear-gradient(to bottom, #f14908 0%, #d94207 100%);
  border-radius: 5px;
  box-shadow: 0 3px 0 0 #992f05;
  box-sizing: border-box;
  color: #fff;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.145em;
  line-height: 1.2;
  margin-bottom: 3px;
  max-width: 410px;
  padding-bottom: 20px;
  padding-top: 20px;
  position: relative;
  text-align: center;
  text-decoration: none;
  width: 100%;

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFF14908", endColorstr="#FFD94207", GradientType=0);
}

.button.-blue {
  background-color: #0d2a5a;
  background-image: linear-gradient(to bottom, #1a4995 0%, #0d2a5a 100%);
  box-shadow: 0 3px 0 0 #061838;

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FF1A4995", endColorstr="#FF0D2A5A", GradientType=0);
}

.button::after {
  background-image: url("images/common/button_arrow.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 10px;
  margin-top: -5px;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 7px;
}

.button:visited {
  color: #fff;
}

.button:hover {
  box-shadow: none;
  position: relative;
  top: 3px;
}

.columns .button {
  width: 330px;
}

/**
 * グローバルヘッダ（他ページで使われてるスタイルを流用）
 */

.l-header {
  position: relative;
}

.l-header::before,
.l-header::after {
  bottom: 0;
  content: "";
  position: absolute;
  top: 0;
  width: 50%;
  z-index: -1;
}

.l-header::before {
  background-color: #0d2ea0;
  left: 0;
}

.l-header::after {
  background-color: #071956;
  right: 0;
}

.l-header__inner {
  background-image: linear-gradient(to right, #0d2ea0 0%, #0d2ea0 40%, #071956 100%);
  font-size: 14px;
  letter-spacing: 0.5px;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 960px;
  overflow: hidden;
  position: relative;

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FF0D2EA0", endColorstr="#FF071956", GradientType=1);
}

.l-header__logo {
  float: left;
  font-size: 2em;
  margin: 0;
  padding: 12px 0 8px 15px;
  width: 103px;
}

.l-header__logo a {
  display: inline-block;
}

.l-header__logo img {
  height: auto;
  width: 103px;
}

.l-headerSubMenu {
  float: right;
  padding-right: 15px;
  padding-top: 5px;
}

.l-headerSubMenu__list {
  color: #fff;
  list-style: none;
  margin: 0 0 5px;
  padding: 0;
  text-align: right;
}

.l-headerSubMenu__listItem {
  display: inline-block;
  font-size: 10px;
  vertical-align: top;
}

.l-headerSubMenu__listItem.sp-search {
  display: none;
}

.l-headerSubMenu__listItem:first-child::after {
  content: "｜";
}

.l-headerSubMenu__listItem a {
  color: #fff;
  text-decoration: none;
}

.l-headerSearch {
  background-color: #3b61e2;
  background-image: linear-gradient(45deg, #3b61e2 0%, #2a46a2 80%, #2a46a2 100%);
  box-shadow: inset 0 0 1px 1px rgba(0, 0, 0, 0.5);
  padding: 0 2px 0 0;

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FF3B61E2", endColorstr="#FF2A46A2", GradientType=1);
}

.l-headerSearch__input {
  background-color: transparent;
  border: 0;
  box-shadow: none;
  box-sizing: border-box;
  color: #fff;
  font-size: 12px;
  height: 18px;
  padding: 0 5px;
  width: 130px;
}

.l-headerSearch__button {
  background-color: transparent;
  background-image: url("//brother-jp.pro/product/printer/justio/library/websites/co.jp/common/img/icon_search.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 11px;
  border: 0;
  box-shadow: none;
  box-sizing: content-box;
  height: 11px;
  padding: 4px;
  vertical-align: top;
  width: 11px;
}

/**
 * メインビジュアル部分
 */

/* いちばん外 */
.key-visual {
  background-color: #e9f1f5;
  color: #0d2a5a;
}
.restaurant .key-visual {
  background-color: #fff;
}

/* 上半分 */
.key-visual ._main {
  background-position: 50% 0;
  background-size: cover;
  height: 408px;
  position: relative;
}

.clinic .key-visual ._main {
  background-image: url("images/key-visual/background-clinic.jpg");
  background-position: 30% 0;
}

.restaurant .key-visual ._main {
  background-image: url("images/key-visual/background-restaurant.jpg");
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (max-width: 1370px) {
    .restaurant .key-visual ._main {
      background-size: cover;
    }
}

/* 上半分のコンテンツ幅 */
.key-visual ._main .container {
  position: relative;
}

/* 上半分のグラデーション */
.key-visual ._main::after {
  background-image: linear-gradient(to bottom, transparent 0%, rgba(233, 241, 245, 0.4) 33%, rgba(233, 241, 245, 0.75) 66%, #e9f1f5 99%);
  bottom: 0;
  content: "";
  height: 100px;
  position: absolute;
  width: 100%;
}

/* 白い縦帯 */
.key-visual ._main-wrapper {
  background-color: rgba(255, 255, 255, 0.8);
  box-sizing: border-box;
  height: 408px;
  line-height: 1;
  margin-left: auto;
  padding: 30px 45px 0;
  text-align: center;
  width: 400px;
}

/* 白い縦帯の中身 */
.key-visual ._main-wrapper > * {
  position: relative;
  z-index: +1;
}

.key-visual ._main ._sign,
.key-visual ._main ._title {
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  height: 0;
  overflow: hidden;
}

.key-visual ._main ._sign {
  margin-bottom: 30px;
  padding-top: 27px;
}

.clinic .key-visual ._main ._sign {
  background-image: url("images/key-visual/sign-clinic.png");
  width: 99px;
}

.restaurant .key-visual ._main ._sign {
  background-image: url("images/key-visual/sign-restaurant.png");
  width: 173px;
}

.key-visual ._main ._title {
  margin-bottom: 30px;
}

.clinic .key-visual ._main ._title {
  background-image: url("images/key-visual/title-clinic.png");
  padding-top: 114px;
  width: 283px;
}

.restaurant .key-visual ._main ._title {
  background-image: url("images/key-visual/title-restaurant.png");
  padding-top: 181px;
  width: 309px;
}

.key-visual ._main ._subtitle {
  border-top: 1px solid rgba(13, 33, 81, 0.5);
  display: block;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.7;
  margin-bottom: 16px;
  padding-top: 13px;
  text-align: center;
}

.key-visual ._main ._badge {
  left: 10px;
  position: absolute;
  top: 178px;
}

.restaurant .key-visual ._main ._badge {
  left: 40px;
  position: absolute;
  top: 40px;
}

.key-visual ._main ._printer {
  text-align: center;
}

/* 下半分 */
.key-visual ._sub {
  padding: 25px 0;
  position: relative;
}

.restaurant .key-visual ._sub {
  background: #e9f1f5;
  padding: 50px 0 10px;
}

.restaurant ._sub ._exhibition {
  display: block;
  border: 2px solid rgba(13,42,90,0.6);
  padding: 10px 15px;
  background: url("images/key-visual/bg_exhibition.png");
  max-width: 540px;
  text-decoration: none;
  color: #0d2a5a;
  position: absolute;
  width: calc(100% - 490px);
  top: -70px;
}
.restaurant ._sub ._exhibition:hover ._right:after {
  margin-top: 0;
  transition: .3s;
}
.restaurant ._sub ._exhibition ._left {
  float: left;
  border-right: 1px solid #0d2a5a;
  padding-right: 20px;
  margin-right: 20px;
}
.restaurant ._sub ._exhibition ._left ._title {
  font-size: 12px;
  color: #0d2a5a;
}
.restaurant ._sub ._exhibition ._left ._title > span {
  font-size: 18px;
  font-weight: bold;
}

.restaurant ._sub ._exhibition ._right {
  position: relative;
}
.restaurant ._sub ._exhibition ._right:after {
  content: "";
  position: absolute;
  background: url("images/key-visual/arrow_bottom.png");
  width: 16px;
  height: 11px;
  right: 10px;
  top: 50%;
	margin-top: -5.5px;
  transition: .3s;
}
.restaurant ._sub ._exhibition ._right ._date {
  font-size: 12px;
}
.restaurant ._sub ._exhibition ._right ._date span {
  font-size: 15px;
}
.restaurant ._sub ._exhibition ._right ._date em {
  font-size: 19px;
}



.key-visual ._sub-wrapper {
  display: table;
  font-weight: bold;
}

.clinic .key-visual ._sub-wrapper {
  margin-right: 350px;
}

.restaurant .key-visual ._sub-wrapper {
  margin-right: 320px;
}

.key-visual ._sub ._keywords,
.key-visual ._sub ._detail {
  display: table-cell;
  vertical-align: middle;
}

.key-visual ._sub ._balloon {
  background-color: #e64506;
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  height: 20px;
  line-height: 20px;
  margin-right: 35px;
  padding: 20px;
  position: relative;
  white-space: nowrap;
}

.key-visual ._sub ._balloon::after {
  background-image: url("images/key-visual/balloon-arrow-desktop.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 16px;
  margin-top: -8px;
  position: absolute;
  right: -12px;
  top: 50%;
  width: 14px;
}

.key-visual ._sub ._detail {
  font-size: 17px;
  line-height: 1.8;
}

/**
 * ページ内ナビゲーション
 */

.content-nav {
  background-color: #f5f5f5;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  line-height: 1.4;
}

.-desktop .content-nav.-fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.content-nav ._list {
  border-collapse: collapse;
  box-sizing: border-box;
  display: table;
  width: 100%;
}

.content-nav ._list.-palmtop {
  display: none;
}

.content-nav ._row {
  border-top: 1px solid #ccc;
  display: table-row;
}

.content-nav ._row:first-child {
  border-top-width: 0;
}

.content-nav ._item {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  display: table-cell;
  width: 25%;
}

.content-nav ._item.-first {
  background-color: #60c2da;
  background-image: linear-gradient(to bottom, #60c2da 0%, #50afc7 100%);

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FF60C2DA", endColorstr="#FF50AFC7", GradientType=0);
}

.content-nav ._item.-second {
  background-color: #57c7b4;
  background-image: linear-gradient(to bottom, #57c7b4 0%, #4ab3a2 100%);

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FF57C7B4", endColorstr="#FF4AB3A2", GradientType=0);
}

.content-nav ._item.-third {
  background-color: #87abdc;
  background-image: linear-gradient(to bottom, #87abdc 0%, #6b95c8 100%);

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FF87abdc", endColorstr="#FF6B95C8", GradientType=0);
}

.content-nav ._item.-fourth {
  background-color: #a5a0e5;
  background-image: linear-gradient(to bottom, #a5a0e5 0%, #908ad7 100%);

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFA5A0E5", endColorstr="#FF908AD7", GradientType=0);
}

.content-nav ._item a {
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.075em;
  padding: 30px 10px;
  text-align: center;
  text-decoration: none;
  position: relative;
}
.content-nav ._item a:hover:after {
  bottom: 5px;
  transition: .3s;
}


.content-nav ._item a::after {
  transition: .3s;
  position: absolute;
  background: url("images/common/button-arrow-down.png") 50% 50% no-repeat;
  content: "";
  display: block;
  height: 7px;
  width: 14px;
  bottom: 10px;
  left: 50%;
  margin-left: -3.5px;
}

/**
 * メインビジュアル下のボタン2つ
 */

.engage-buttons {
  color: #0d2a5a;
  padding: 75px 0 80px;
}

.engage-buttons ._heading {
  font-size: 38px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.26;
  text-align: center;
}

/**
 * WIP
 */

em {
  color: #e64506;
  font-style: normal;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

.link {
  background-image: url("images/common/link_arrow.png");
  background-position: 100% 55%;
  background-repeat: no-repeat;
  box-sizing: border-box;
  color: #0d2a5a;
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  margin-top: 20px;
  padding-right: 15px;
  text-decoration: none;
}

.link:hover {
  box-shadow: 0 1px 0 0 #0d2a5a;
}

.link.-url {
  background: none;
  box-shadow: 0 1px 0 0 #0d2a5a;
  margin-top: 0;
}
.link.-url:hover {
  box-shadow: none;
}


.text {
  margin-bottom: 30px;
  text-align: center;
}

/**
 * .balloon
 */

.balloon {
  border-radius: 5px;
  color: #fff;
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 5px;
  position: relative;
  text-align: center;
}

.balloon::after {
  background-size: contain;
  bottom: -9px;
  content: "";
  height: 10px;
  left: 50%;
  margin-left: -8px;
  position: absolute;
  width: 16px;
}

.question-1 .balloon {
  background-color: #53b2ca;
}

.question-1 .balloon::after {
  background-image: url("images/common/question-1-balloon.png");
}

.question-4 .balloon {
  background-color: #a5a0e5;
}

.question-4 .balloon::after {
  background-image: url("images/common/question-4-balloon.png");
}

/**
 * .border
 */

.border {
  margin-bottom: 60px;
  padding-bottom: 60px;
}

.question-1 .border {
  border-bottom: 1px solid #53b2ca;
}

.question-1 .border.-dotted {
  border-bottom: 1px dotted #53b2ca;
}

.question-1 .border.-last {
  margin-bottom: 0;
}

.question-2 .border {
  border-bottom: 1px solid #4bb5a3;
}
.question-3 .border.-dotted {
  border-bottom: 1px dotted #6f98cb;
}

.question-4 .border {
  border-bottom: 1px solid #a5a0e5;
}

.question-4 .border.-dotted {
  border-bottom: 1px dotted #a5a0e5;
}

/**
 * .review
 */

.review {
  color: #0d2a5a;
  font-size: 16px;
  margin: 50px 0;
  padding: 22px 28px;
  position: relative;
}

.review footer {
  display: table;
  margin-left: auto;
}

.review ._name,
.review ._thumbnail {
  display: table-cell;
  vertical-align: middle;
}

.review ._thumbnail img {
  margin-left: 2em;
  margin-right: 2em;
  max-width: none;
}

.review::before,
.review::after {
  content: "";
  height: 50px;
  width: 50px;
  position: absolute;
}

.review::before {
  border-left: 1px solid;
  border-top: 1px solid;
  left: 0;
  top: 0;
}

.review::after {
  border-bottom: 1px solid;
  border-right: 1px solid;
  bottom: 0;
  right: 0;
}

.question-2 .review::before,
.question-2 .review::after {
  border-color: #4bb5a3;
}

.question-3 .review::before,
.question-3 .review::after {
  border-color: #6b95c8;
}

.restaurant .question-3 .review footer {
  margin-top: 1em;
}

.restaurant .question-3 .review ._thumbnail img {
  margin-left: 1em;
  margin-right: 0;
}

/**
 * Question 1
 */

.question-1 {
  background-color: #f1fcff;
  padding-bottom: 60px;
}

.clinic .question-1 ._lead {
  margin-bottom: 40px;
  text-align: center;
}

.simulation {
  background-color: #fff;
  margin-top: 60px;
  margin-bottom: 60px;
  padding: 30px 50px;
}

.simulation .heading-2 ._title {
  height: auto;
}

.simulation span {
  color: #0d2a5a;
  font-size: 18px;
}

.simulation .button {
  margin-bottom: 0;
  margin-top: 30px;
}

/**
 * Question 2
 */

.question-2 {
  background-color: #f2fcfa;
  padding-bottom: 60px;
}

.clinic .question-2 ._result {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.075em;
  margin-top: 50px;
}

.clinic .question-2 ._result em {
  font-size: 41px;
}

/**
 * Question 3
 */

.question-3 {
  background-color: #f6faff;
  padding-bottom: 0;
}

.clinic .question-3 ._supported-models {
  font-weight: bolder;
}

.restaurant .question-3 .link {
  margin-top: 15px;
}

.restaurant .question-3 .case ._introduce {
  font-size: 20px;
  color: #0d2a5a;
  padding-left: 200px;
  position: relative;
  margin-bottom: 60px;
  font-weight: bold;
}
.restaurant .question-3 .case ._introduce:before {
  position: absolute;
  content: "";
  background: url("images/cases/text-caseintroduce.png") no-repeat;
  width: 160px;
  height: 106px;
  left: 0;
  top: -30px;
}
.restaurant .question-3 .case ._image {
  max-width: 280px;
  float: left;
  margin-right: 40px;
  width: 26%;
  box-sizing: border-box;
}
.restaurant .question-3 .case ._content {
  float: left;
  width: 67%;
}
.restaurant .question-3 .case ._content ._title {
  color: #0d2a5a;
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 30px;
}
.restaurant .question-3 .case ._content ._title ._category {
  color: #fff;
  font-size: 20px;
  background: #6b94c8;
  padding: 10px 20px;
  border-radius: 30px;
  margin-right: 30px;
}

.restaurant .question-3 .case ._content ._title ._small {
  font-size: 20px;
}

@media screen and (max-width: 900px) {
   .restaurant .question-3 .case ._content ._title ._category {
       font-size: 14px;
    }
    .restaurant .question-3 .case ._content ._title ._small {
        font-size: 16px;
    }
    .restaurant .question-3 .case ._content ._title {
        font-size: 18px;        
    }
}


.restaurant .question-3 .case ._point {
  padding-top: 30px;
  display: flex;
}
.restaurant .question-3 .case ._point > ._left {
  background: #6b94c8;
  position: relative;
  width: 22%;
  max-width: 147px;
  vertical-align: middle;
  color: #fff;
  text-align: center;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.restaurant .question-3 .case ._point > ._left:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17.5px 0 17.5px 17px;
  border-color: transparent transparent transparent #6b94c8;
	right: -17px;
}
.restaurant .question-3 .case ._point ._right {
  background: #dae6f4;
  vertical-align: middle;
  width: 75%;
}
.restaurant .question-3 .case ._point ._right ul {
  float: left;
  width: 50%;
  color: #0d2a5a;
  padding: 20px 0;
}
.restaurant .question-3 .case ._point ._right ul li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 10px;
  margin-left: 50px;
}
.restaurant .question-3 .case ._point ._right ul li:last-child {
  margin-bottom: 0;
}
.restaurant .question-3 .case ._point ._right ul li:before {
  position: absolute;
  background: #0d2a5a;
  content: "";
  border-radius: 2px;
  left: 0;
  width: 4px;
  height: 4px;
  top: 50%;
  margin-top: -2px;
}
.restaurant .question-3 .case ._point ._right figure {
  float: left;
  width: 50%;
}

/**
 * Question 4
 */

.question-4 {
  background-color: #f3f3fc;
  padding-bottom: 60px;
}

.partner {
  min-height: 176px;
  position: relative;
}

.partner .heading-2 {
  margin-left: 302px;
}

.partner .heading-2 ._title {
  padding-bottom: 30px;
  padding-left: 0;
  padding-right: 0;
  height: auto;
}

.partner figure {
  left: 0;
  position: absolute;
  top: 0;
  width: 252px;
}

.partner p {
  margin-left: 302px;
}

.question-4 .container.-pat {
  padding-top: 80px;
}

.question-4 .exhibition {
  padding: 40px;
  color:  #0d2a5a;
  border: 2px solid #0d2a5a;
  position: relative;
}
.question-4 .exhibition:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 16px 0 0;
  border-color: #0d2a5a transparent transparent transparent;
  left: 0px;
  top: 0px;
}
.question-4 .exhibition:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 16px 16px;
  border-color: transparent transparent #0d2a5a transparent;
  right: 0px;
  bottom: 0px;
}

.question-4 .exhibition ._title {
  font-size: 28px;
  color: #0d2a5a;
  position: relative;
  font-weight: bold;
  border-bottom: 1px dotted #0d2a5a;
  line-height: 1.5;
}
.question-4 .exhibition ._title::after {
  position: absolute;
  content: "";
  background: url("images/cases/text-exhibition.png") no-repeat;
  width: 126px;
  height: 86px;
  top: -20px;
  left: 360px;
}
.question-4 .exhibition ._title span {
  font-size: 18px;
}
.question-4 .exhibition ._detail {
  border-bottom: 1px dotted #0d2a5a;
  display: table;
  line-height: 1.5;
  padding: 20px 0;
  width: 100%;
  margin-bottom: 20px;
}
.question-4 .exhibition ._detail dt {
  vertical-align: middle;
  display: table-cell;
  padding-right: 20px;
  width: 50px;
}
.question-4 .exhibition ._detail dt span {
  background: #0d2a5a;
  color: #fff;
  padding: 10px;
}
.question-4 .exhibition ._detail dd {
  color: #0d2a5a;
  font-size: 18px;
  display: table-cell;
}
.question-4 .exhibition ._detail dd span {
  font-size: 14px;
}
.question-4 .exhibition ._left p {
  margin-bottom: 15px;
}
.question-4 .exhibition ._left p:last-child {
  margin-bottom: 0px;
}
.question-4 .exhibition ._left {
  float: left;
  width: 69%;
}
.question-4 .exhibition ._right {
  max-width: 250px;
  float: left;
  width: 26%;
  margin-left: 30px;
  box-sizing: border-box;
}
.question-4 .exhibition ._right img {
  width: 100%;
}

.question-4 .exhibition a {
  word-wrap: break-word;
	display: initial;
}

/**
 * おすすめの理由
 */

.reasons {
  background-color: #53b2ca;
  background-image: linear-gradient(to bottom, #53b2ca 0%, #53b2ca 100%);
  color: #fff;
  padding-top: 50px;
  padding-bottom: 50px;

  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FF2A3E8C", endColorstr="#FF0D2A5A", GradientType=0);
}

.reasons ._title {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
}

.clinic .reasons figure {
  margin-bottom: 30px;
  min-height: 135px;
  position: relative;
}

.restaurant .reasons figure {
  margin-bottom: 30px;
  min-height: 267px;
  position: relative;
}

.reasons figure img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.reasons .heading-4 {
  color: #fff;
  line-height: 1.4;
  margin-bottom: 20px;
}

.reasons .link {
  background-image: url("images/common/button_arrow.png");
  color: #fff;
  margin-top: 0;
}

.reasons .link:hover {
  box-shadow: 0 1px 0 0 #fff;
}

/**
 * 解決事例
 */

.cases .heading-1 {
  color: #0d2a5a;
  margin-bottom: 50px;
  text-align: center;
  background-color: inherit;
}

.cases .heading-1 ._title {
  display: inline-block;
  padding: 70px 0 0;
  position: relative;
}

.cases .heading-1 ._title::before {
  background-image: url("images/cases/text-must-see.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: 53px;
  left: -70px;
  position: absolute;
  top: 40px;
  width: 80px;
}

.cases ._list {
  color: #0d2a5a;
}

.cases ._items {
  display: table;
}

.cases ._item {
  border-left: 1px solid #bbb;
  display: table-cell;
  padding-bottom: 20px;
}

.clinic .cases ._item {
  width: 33.3%;
}

.restaurant .cases ._item {
  width: 25%;
}

.cases ._item:first-child {
  border-left-width: 0;
}

.cases ._item > a {
  color: inherit;
  display: block;
  padding: 0 20px;
  text-decoration: none;
}

.cases ._thumbnail {
  margin-bottom: 20px;
  text-align: center;
}

.cases ._name {
  color: #333;
  font-size: 15px;
  padding-left: 35px;
  position: relative;
}

.cases ._name::before {
  background: #17a1e5 url("images/common/button_arrow.png") 50% 50% no-repeat;
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  top: 15px;
  width: 20px;
}

.cases ._organization {
  color: #08174d;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}

.cases ._summary {
  background-color: #fff;
  border: 2px solid #17a1e5;
  border-radius: 5px;
  box-shadow: 0 2px 3px -1px rgba(0, 0, 0, 0.25);
  font-size: 15px;
  font-weight: bold;
  margin-top: 20px;
  padding: 13px 20px 15px;
  position: relative;
}

.cases ._summary::before {
  background: url("images/cases/border-arrow.png") 50% 50% no-repeat;
  content: "";
  height: 10px;
  left: 50%;
  margin-left: -6px;
  position: absolute;
  top: -10px;
  width: 12px;
}

.cases ._summary em {
  color: #17a1e5;
}

.cases ._link {
  text-align: center;
  padding: 0 20px;
}

.cases ._more {
  padding: 40px 0 0;
  text-align: center;
}

.cases .columns.-two.-button {
  margin-bottom: 80px;
  margin-top: 80px;
}

/**
 * ソリューション
 */

.solutions {
  background-color: #eceef2;
  padding-top: 80px;
  padding-bottom: 80px;
}

.solutions .heading-2 ._title {
  padding-bottom: 40px;
}

.solutions .heading-4 {
  border-bottom: 1px solid #0d2a5a;
  margin-top: 0;
  margin-bottom: 30px;
  padding-bottom: 10px;
}

/**
 * ラインナップ
 */

.lineup {
  background-color: #dae3e9;
  background-image: url("images/lineup/background_both.jpg");
  background-size: cover;
  color: #fff;
  padding: 30px 0 80px;
}

.lineup .container {
  max-width: 900px;
}

.lineup ._heading {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.275em;
  margin-bottom: 35px;
  text-align: center;
}

.lineup .columns {
  margin-top: 30px;
}

.lineup .columns.-three > ._column:nth-child(1) {
  padding-right: 20px;
}

.lineup .columns.-three > ._column:nth-child(2) {
  padding-left: 10px;
  padding-right: 10px;
}

.lineup .columns.-three > ._column:nth-child(3) {
  padding-left: 20px;
}

.lineup .columns.-three > ._column:nth-child(4) {
  margin-top: 30px;
  padding-left: 0;
  padding-right: 15px;
  width: 50%;
}

.lineup .columns.-three > ._column:nth-child(5) {
  margin-top: 30px;
  padding-left: 15px;
  padding-right: 0;
  width: 50%;
}

.lineup .columns.-four {
  display: block;
}

.lineup .columns.-four > ._column:nth-child(4n+1) {
  padding-right: 30px;
}

.lineup .columns.-four > ._column:nth-child(4n+2) {
  padding-left: 10px;
  padding-right: 20px;
}

.lineup .columns.-four > ._column:nth-child(4n+3) {
  padding-left: 20px;
  padding-right: 10px;
}

.lineup .columns.-four > ._column:nth-child(4n+4) {
  padding-left: 30px;
}

.lineup .columns.-four img {
  margin: 7px 0 -10px;
}

.lineup ._tile {
  background-color: rgba(255, 255, 255, 0.7);
  color: #0d2a5a;
  font-weight: bold;
  line-height: 1.6;
  padding: 10px;
  text-align: center;
}

.lineup ._products {
  display: table;
  margin: 10px 0 5px;
  width: 100%;
}

.lineup ._product {
  display: table-cell;
  padding: 0 10px;
  vertical-align: middle;
}

.lineup a {
  text-decoration: none;
}

.lineup a ._image:hover {
  opacity: 0.7
}

.lineup ._inner-heading {
  display: inline-block;
  font-size: 20px;
  letter-spacing: 0.1em;
  text-align: left;
}

.lineup ._first-row ._detail,
.lineup ._third-row ._detail {
  display: table;
  width: 100%;
}

.lineup ._first-row ._image,
.lineup ._first-row ._model,
.lineup ._third-row ._image,
.lineup ._third-row ._model {
  display: table-cell;
  vertical-align: middle;
}

.lineup ._second-row {
  display: block;
}

.lineup ._second-row ._image,
.lineup ._second-row ._model {
  display: block;
}

.lineup .columns.-button {
  margin-top: 60px;
}

/**
 * グローバルフッタ（他ページで使われてるスタイルを流用）
 */

.l-footer__bottom {
  background-color: #08174d;
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
}

.l-footer__inner {
  margin: 0 auto;
  max-width: 960px;
  overflow: hidden;
  padding: 1px 0;
  position: relative;
}

.l-footer__subNav {
  float: left;
  list-style: none;
  margin: 18px 0;
  padding: 0;
}

.l-footer__subNavItem {
  display: inline-block;
  font-size: 12px;
}

.l-footer__bottom a {
  color: #fff;
  text-decoration: none;
}

.l-footer__subNavItem::after {
  color: rgba(255, 255, 255, 0.75);
  content: "｜";
  margin: 0 5px 0 8px;
}

.l-footer__subNavItem:last-child::after {
  content: none;
}

.l-footer__copyright {
  display: inline-block;
  float: right;
  font-size: 11px;
  margin: 22px 0 0 0;
}
