@charset "UTF-8";
/**
* ヘッダー無しで表示する場合のbase.css
**/

/**
* Foundation
* ========================== */
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Roboto:wght@400;700;900&display=swap");
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  line-height: 1.15;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  margin: 0;
  clear: both;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  vertical-align: middle;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  cursor: pointer;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  color: inherit;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: bold;
  text-align: left;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

a:focus, a:active {
  outline: none;
}

body {
  color: #484848;
  font-family: "Roboto", "Noto Sans JP", YuGothic Medium, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, 游ゴシック体, YuGothic, メイリオ, Meiryo, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Sans-Serif;
}

_::-webkit-full-page-media,
_:future,
:root * {
  image-rendering: auto !important;
}

/**
* Layout
* ========================== */
.l-footer {
  width: 100%;
  max-width: 1440px;
  margin: auto;
}

.l-header {
  width: 100%;
}

/* Object
* ========================== */
/* Component ------------ */
.c-accordion__title, .c-accordion__title--cross {
  position: relative;
  cursor: pointer;
}

.c-accordion__title--cross::before, .c-accordion__title--cross::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #484848;
  content: "";
}

.c-accordion__title--cross::before {
  right: 0;
  width: 10px;
  height: 2px;
}

.c-accordion__title--cross::after {
  right: 4px;
  width: 2px;
  height: 10px;
}

.c-accordion__title--cross.is-open::after {
  display: none;
}

.c-accordion__body {
  display: none;
}

.c-arrow, .c-arrow--down, .c-arrow--top, .c-arrow--left, .c-arrow--before {
  position: relative;
}

.c-arrow::before, .c-arrow--down::before, .c-arrow--top::before, .c-arrow--left::before, .c-arrow--before::before, .c-arrow::after, .c-arrow--down::after, .c-arrow--top::after, .c-arrow--left::after, .c-arrow--before::after {
  display: inline-block;
  z-index: 1;
  position: relative;
  top: -1px;
  -webkit-transform: scale(1, 0.95) rotate(45deg);
          transform: scale(1, 0.95) rotate(45deg);
  border-top: 2px solid;
  border-right: 2px solid;
  content: "";
}

@media screen and (min-width: 768px), print {
  .c-arrow::before, .c-arrow--down::before, .c-arrow--top::before, .c-arrow--left::before, .c-arrow--before::before, .c-arrow::after, .c-arrow--down::after, .c-arrow--top::after, .c-arrow--left::after, .c-arrow--before::after {
    width: 8px;
    height: 8px;
  }
}

@media screen and (max-width: 767px) {
  .c-arrow::before, .c-arrow--down::before, .c-arrow--top::before, .c-arrow--left::before, .c-arrow--before::before, .c-arrow::after, .c-arrow--down::after, .c-arrow--top::after, .c-arrow--left::after, .c-arrow--before::after {
    width: 7px;
    height: 7px;
  }
}

.c-arrow::before, .c-arrow--down::before, .c-arrow--top::before, .c-arrow--left::before, .c-arrow--before::before {
  display: none;
}

.c-arrow--down::before, .c-arrow--down::after {
  top: -3px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.c-arrow--top::before, .c-arrow--top::after {
  top: 1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-arrow--left::before, .c-arrow--left::after {
  -webkit-transform: scale(1, 0.95) rotate(-135deg);
          transform: scale(1, 0.95) rotate(-135deg);
}

.c-arrow--before::before {
  display: inline-block;
}

.c-arrow--before::after {
  display: none;
}

.c-breadcrumb--white {
  background-color: #fff;
}

.c-breadcrumb--gray {
  background-color: #f6f6f6;
}

.c-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
}

@media screen and (min-width: 768px), print {
  .c-breadcrumb__list {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__list {
    padding: 15px;
    overflow-x: scroll;
  }
}

.c-breadcrumb__item {
  position: relative;
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__item {
    white-space: nowrap;
  }
}

.c-breadcrumb__item + .c-breadcrumb__item {
  margin-left: 10px;
  padding-left: 22px;
}

.c-breadcrumb__item + .c-breadcrumb__item::after {
  display: inline-block;
  z-index: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: scale(1, 0.9) rotate(45deg);
          transform: scale(1, 0.9) rotate(45deg);
  border-top: 1px solid #7f7f7f;
  border-right: 1px solid #7f7f7f;
  content: "";
}

@media screen and (min-width: 768px), print {
  .c-breadcrumb__item + .c-breadcrumb__item::after {
    width: 7px;
    height: 7px;
  }
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__item + .c-breadcrumb__item::after {
    width: 7px;
    height: 7px;
  }
}

.c-breadcrumb__item:last-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__item:last-child {
    padding-right: 20px;
  }
}

.c-breadcrumb__link {
  color: #484848;
  font-size: 12px;
  letter-spacing: 0.72px;
}

.c-breadcrumb__text {
  color: #7f7f7f;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.72px;
}

@media screen and (max-width: 767px) {
  .c-breadcrumb__text {
    white-space: nowrap;
  }
}

.c-button, .c-button--cart-in, .c-button--white, .c-button--primary-blue, .c-button--primary-white, .c-button--primary-greyish, .c-button--secondaryA-blue, .c-button--secondaryA-white, .c-button--secondaryB-black, .c-button--secondaryB-white {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 270px;
  height: 50px;
  overflow: hidden;
  border: 1px solid #a3a3a3;
  border-radius: 2px;
  background-color: #fff;
  text-decoration: none;
}

.c-button::after, .c-button--cart-in::after, .c-button--white::after, .c-button--primary-blue::after, .c-button--primary-white::after, .c-button--primary-greyish::after, .c-button--secondaryA-blue::after, .c-button--secondaryA-white::after, .c-button--secondaryB-black::after, .c-button--secondaryB-white::after {
  position: absolute;
  top: calc(50% - 4px);
  right: 25px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  border-right: 2px solid;
  border-bottom: 2px solid;
  border-color: #484848;
  content: '';
}

.c-button::before, .c-button--cart-in::before, .c-button--white::before, .c-button--primary-blue::before, .c-button--primary-white::before, .c-button--primary-greyish::before, .c-button--secondaryA-blue::before, .c-button--secondaryA-white::before, .c-button--secondaryB-black::before, .c-button--secondaryB-white::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: -168%;
  width: 150%;
  height: 100%;
  -webkit-transform: skewX(-18deg);
          transform: skewX(-18deg);
  background-color: #a3a3a3;
  content: '';
  opacity: 0.3;
}

.c-button--over:before {
  -webkit-animation: c-button-animation-over ease-out .4s both;
          animation: c-button-animation-over ease-out .4s both;
}

.c-button--out:before {
  -webkit-animation: c-button-animation-out ease-in .4s both;
          animation: c-button-animation-out ease-in .4s both;
}

.c-button > span, .c-button--cart-in > span, .c-button--white > span, .c-button--primary-blue > span, .c-button--primary-white > span, .c-button--primary-greyish > span, .c-button--secondaryA-blue > span, .c-button--secondaryA-white > span, .c-button--secondaryB-black > span, .c-button--secondaryB-white > span {
  display: inline-block;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .c-button > span, .c-button--cart-in > span, .c-button--white > span, .c-button--primary-blue > span, .c-button--primary-white > span, .c-button--primary-greyish > span, .c-button--secondaryA-blue > span, .c-button--secondaryA-white > span, .c-button--secondaryB-black > span, .c-button--secondaryB-white > span {
    font-size: 16px;
    letter-spacing: 0.96px;
    line-height: 1.63;
  }
}

@media screen and (max-width: 767px) {
  .c-button > span, .c-button--cart-in > span, .c-button--white > span, .c-button--primary-blue > span, .c-button--primary-white > span, .c-button--primary-greyish > span, .c-button--secondaryA-blue > span, .c-button--secondaryA-white > span, .c-button--secondaryB-black > span, .c-button--secondaryB-white > span {
    font-size: 14px;
    letter-spacing: 1.68px;
    line-height: 1.36;
  }
}

.c-button--cart-in {
  border: 0;
  background-color: #004da1;
  background-image: linear-gradient(135deg, #0078c4 25%, #004da1 100%);
  color: #fff;
}

.c-button--cart-in::after {
  content: none;
}

.c-button--cart-in::before {
  background-color: #00a2e6;
  opacity: .3;
}

.c-button--white {
  border-color: #fff;
  background-color: transparent;
  color: #fff;
}

.c-button--white::after {
  border-color: #fff;
}

.c-button--white::before {
  background-color: #fff;
  opacity: .2;
}

.c-button--primary-blue {
  border: 0;
  background-color: #004da1;
  color: #fff;
  transition:background-color .5s;
}

.c-button--primary-blue::after {
  border-color: #fff;
}

.c-button--primary-blue::before {
  background-color: #00a2e6;
  opacity: .3;
}

.c-button--primary-white {
  border-color: #7fa6d0;
  background-color: #fff;
  color: #004da1;
}

.c-button--primary-white::after {
  border-color: #004da1;
}

.c-button--primary-white::before {
  background-color: #0078c4;
  opacity: .1;
}

.c-button--primary-greyish {
  border-color: #a3a3a3;
  background-color: #fff;
  color: #484848;
}

.c-button--primary-greyish::after {
  border-color: #484848;
}

.c-button--primary-greyish::before {
  background-color: #484848;
  opacity: .1;
}

.c-button--secondaryA-blue {
  border: 0;
  background-color: #00a2e6;
  color: #fff;
}

.c-button--secondaryA-blue::after {
  border-color: #fff;
}

.c-button--secondaryA-blue::before {
  background-color: #fff;
  opacity: .15;
}

.c-button--secondaryA-white {
  border-color: #7fd0f2;
  background-color: #fff;
  color: #00a2e6;
}

.c-button--secondaryA-white::after {
  border-color: #00a2e6;
}

.c-button--secondaryA-white::before {
  background-color: #00a2e6;
  opacity: .1;
}

.c-button--secondaryB-black {
  background-color: #484848;
  color: #fff;
}

.c-button--secondaryB-black::after {
  border-color: #fff;
}

.c-button--secondaryB-black::before {
  background-color: #fff;
  opacity: .1;
}

.c-button--secondaryB-white {
  border-color: #a3a3a3;
  color: #484848;
}

.c-button--secondaryB-white::after {
  border-color: #484848;
}

.c-button--secondaryB-white::before {
  background-color: #484848;
  opacity: .1;
}

@-webkit-keyframes c-button-animation-over {
  0% {
    left: -168%;
  }
  100% {
    left: -18%;
  }
}

@keyframes c-button-animation-over {
  0% {
    left: -168%;
  }
  100% {
    left: -18%;
  }
}

@-webkit-keyframes c-button-animation-out {
  0% {
    left: -18%;
  }
  100% {
    left: 168%;
  }
}

@keyframes c-button-animation-out {
  0% {
    left: -18%;
  }
  100% {
    left: 168%;
  }
}

.c-check__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}

@media screen and (min-width: 768px), print {
  .c-check__label {
    font-size: 14px;
    letter-spacing: 0.84px;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .c-check__label {
    font-size: 16px;
    letter-spacing: 0.96px;
    line-height: 1.4;
  }
}

.c-check__input {
  display: none;
}

.c-check__input:checked + .c-check__mark::before, .c-check__input:checked + .c-check__mark--radio::before, .c-check__input:checked + .c-check__mark--checkbox::before {
  display: none;
}

.c-check__input:checked + .c-check__mark::after, .c-check__input:checked + .c-check__mark--radio::after, .c-check__input:checked + .c-check__mark--checkbox::after {
  display: block;
}

.c-check__mark, .c-check__mark--radio, .c-check__mark--checkbox {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.c-check__mark::before, .c-check__mark--radio::before, .c-check__mark--checkbox::before, .c-check__mark::after, .c-check__mark--radio::after, .c-check__mark--checkbox::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background-position: center;
  background-repeat: no-repeat;
  content: "";
}

.c-check__mark::after, .c-check__mark--radio::after, .c-check__mark--checkbox::after {
  display: none;
}

.c-check__mark--radio::before {
  background-image: url(../common/images/ico_radio.png);
}

.c-check__mark--radio::after {
  background-image: url(../common/images/ico_radio_on.png);
}

.c-check__mark--checkbox::before {
  background-image: url(../common/images/ico_checkbox.png);
}

.c-check__mark--checkbox::after {
  background-image: url(../common/images/ico_checkbox_on.png);
}

.c-triangle::after, .c-triangle--up::after, .c-triangle--left::after, .c-triangle--right::after {
  display: inline-block;
  position: relative;
  top: -1px;
  width: 0;
  height: 0;
  border-width: 5px 3.5px 0 3.5px;
  border-style: solid;
  border-color: #484848 transparent transparent transparent;
  content: "";
}

.c-triangle--up::before, .c-triangle--up::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-triangle--left::before, .c-triangle--left::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.c-triangle--right::before, .c-triangle--right::after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.c-triangle--before::before {
  display: inline-block;
  position: relative;
  top: -1px;
  width: 0;
  height: 0;
  border-width: 5px 3.5px 0 3.5px;
  border-style: solid;
  border-color: #484848 transparent transparent transparent;
  content: "";
}

.c-triangle--before::after {
  display: none;
}

.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px), print {
  .c-flex--pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.c-flex--inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

@media screen and (max-width: 767px) {
  .c-flex--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.c-flex--wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-flex--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-flex--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-flex--space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c-flex--align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-flex--middle-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-flex__col, .c-flex__col--glow1, .c-flex__col--50p, .c-flex__col--33p, .c-flex__col--25p {
  width: auto;
}

.c-flex__col--glow1 {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.c-flex__col--50p {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

_:-ms-lang(x)::-ms-backdrop, .c-flex__col--50p {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  width: 50%;
}

.c-flex__col--33p {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 3);
          flex: 0 0 calc(100% / 3);
}

_:-ms-lang(x)::-ms-backdrop, .c-flex__col--33p {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  width: calc(100% / 3);
}

.c-flex__col--25p {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 clac(100%/4);
          flex: 0 0 clac(100%/4);
}

_:-ms-lang(x)::-ms-backdrop, .c-flex__col--25p {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  width: calc(100% / 4);
}

.c-headline {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
}

.c-headline__h2, .c-headline__h2--white, .c-headline__h3--white {
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
  color: #484848;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 1.68px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .c-headline__h2, .c-headline__h2--white, .c-headline__h3--white {
    font-size: 18px;
    letter-spacing: 2.16px;
    line-height: 1.28;
  }
}

.c-headline__h2--normal {
  -webkit-transform: skewX(0deg);
          transform: skewX(0deg);
}

.c-headline__h2--white {
  color: #fff;
}

.c-headline__h3 {
  color: #484848;
  font-size: 24px;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 1.68px;
  line-height: 1.45;
}

@media screen and (max-width: 767px) {
  .c-headline__h3 {
    font-size: 18px;
    letter-spacing: 2.16px;
    line-height: 1.28;
  }
}

.c-headline__h3--white {
  color: #fff;
}

.c-headline__h5 {
  color: #484848;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1.68px;
  line-height: 1.45;
}

@media screen and (max-width: 767px) {
  .c-headline__h5 {
    font-size: 14px;
    line-height: 1.28;
  }
}

.c-value-error {
  border: 1px solid #f199a1 !important;
  background-color: #fceaec !important;
  -webkit-box-shadow: inset 2px 2px 0 0 #fad6da !important;
          box-shadow: inset 2px 2px 0 0 #fad6da !important;
}

.c-value-error::-webkit-input-placeholder {
  color: #f199a1 !important;
}

.c-value-error::-moz-placeholder {
  color: #f199a1 !important;
}

.c-value-error:-ms-input-placeholder {
  color: #f199a1 !important;
}

.c-value-error::-ms-input-placeholder {
  color: #f199a1 !important;
}

.c-value-error::placeholder {
  color: #f199a1 !important;
}

.c-value-error--arrow::after {
  border-color: #e43344 !important;
}

select.c-value-error {
  color: #e43344;
}

select.c-value-error option {
  color: #e43344;
}

.c-alert-text {
  color: #e43344;
  font-size: 12px;
}

.c-input {
  display: inline-block;
  position: relative;
  border: solid 1px #c8c8c8;
  border-radius: 2px;
  background-color: #fff;
  color: #a3a3a3;
}

.c-input--loupe {
  z-index: 1;
  position: relative;
  margin: auto;
  overflow: hidden;
  background: url(../common/images/ico_loupe.svg) no-repeat;
  background-size: contain;
  text-indent: -9999px;
}

.c-link, .c-link--ico {
  border-bottom: 1px solid #484848;
  outline: none;
  color: #484848;
}

.c-link:hover, .c-link--ico:hover {
  border-bottom: 1px solid #7f7f7f;
  color: #7f7f7f;
}

.c-link--blue {
  border-bottom: 1px solid #00a2e6;
  color: #00a2e6;
}

.c-link--blue:hover {
  border-bottom: 1px solid #80d1f3;
  color: #80d1f3;
}

.c-link--ico {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px), print {
  .c-link--ico > .ico {
    width: 12px;
    margin-left: 3px;
  }
}

@media screen and (max-width: 767px) {
  .c-link--ico > .ico {
    width: 12px;
    margin-left: 5px;
  }
}

.c-link--ico:hover > .ico {
  opacity: .5;
}

.c-modal, .c-modal--810, .c-modal--660 {
  position: relative;
}

.c-modal::after, .c-modal--810::after, .c-modal--660::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  content: "";
}

@media screen and (min-width: 768px), print {
  .c-modal--810 {
    width: 100%;
    max-width: 810px;
  }
  _:-ms-lang(x)::-ms-backdrop, .c-modal--810 {
    width: 810px;
  }
}

@media screen and (min-width: 768px), print {
  .c-modal--660 {
    width: 660px;
  }
}

.c-modal_close {
  z-index: 10;
  position: absolute;
  cursor: pointer;
}

@media screen and (min-width: 768px), print {
  .c-modal_close {
    top: 20px;
    right: 20px;
    width: 24px;
    height: 24px;
  }
}

@media screen and (max-width: 767px) {
  .c-modal_close {
    top: 13px;
    right: 13px;
    width: 16px;
    height: 16px;
  }
}

.c-modal_close::before, .c-modal_close::after {
  display: block;
  position: absolute;
  background: #484848;
  content: "";
}

@media screen and (min-width: 768px), print {
  .c-modal_close::before, .c-modal_close::after {
    right: -2px;
    bottom: 11px;
    width: 28px;
    height: 2px;
  }
}

@media screen and (max-width: 767px) {
  .c-modal_close::before, .c-modal_close::after {
    right: -3px;
    bottom: 8px;
    width: 22px;
    height: 2px;
  }
}

.c-modal_close::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-modal_close::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-modal-inner {
  z-index: 5;
  position: relative;
  width: 100%;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .c-modal-inner {
    padding: 50px 50px 50px;
  }
}

@media screen and (max-width: 767px) {
  .c-modal-inner {
    padding: 45px 20px 45px;
  }
}

.c-modal__model__title {
  width: 100%;
  padding: 18px 21px 17px 21px;
  border-top: 2px solid #c8c8c8;
}

.c-modal__model__title p {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.96px;
}

.c-modal__model__name p {
  font-size: 16px;
  letter-spacing: 0.96px;
}

.c-modal__guarantee__title {
  width: 100%;
  padding: 18px 21px 17px 21px;
  border-top: 2px solid #c8c8c8;
}

.c-modal__guarantee__title p {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.96px;
}

.c-news > li {
  width: 100%;
}

.c-news > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .c-news > li > a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.c-news__date {
  width: 8em;
  color: #004da1;
  font-family: "Roboto", Sans-Serif;
  font-weight: bold;
}

.c-news__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.c-pager ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .c-pager ul {
    padding: 50px 0;
  }
}

@media screen and (max-width: 767px) {
  .c-pager ul {
    padding: 25px 0;
  }
}

.c-pager li {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 40px;
  margin: 0 5px;
  padding: 0;
  text-align: center;
}

.c-pager li.pre, .c-pager li.next {
  position: relative;
}

.c-pager li.pre > a, .c-pager li.next > a {
  border: none;
}

@media screen and (max-width: 767px) {
  .c-pager li.pre > a, .c-pager li.next > a {
    width: 100%;
    text-align: center;
  }
}

.c-pager li.pre > a:hover, .c-pager li.next > a:hover {
  background: none;
}

.c-pager li.pre::before, .c-pager li.next::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  border-top: 2px solid #484848;
  border-right: 2px solid #484848;
  content: "";
}

.c-pager li.pre.is-disable::before, .c-pager li.next.is-disable::before {
  border-color: #a3a3a3;
}

.c-pager li.pre::before {
  -webkit-transform: translate(-50%, -50%) rotate(225deg);
          transform: translate(-50%, -50%) rotate(225deg);
}

.c-pager li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #a3a3a3;
  border-radius: 2px;
  text-align: center;
  text-decoration: none;
}

.c-pager li a span {
  display: table-cell;
  vertical-align: middle;
}

.c-pager li a:hover {
  background: #c8c8c8;
  color: #fff;
}

.c-pager li a.active {
  border-radius: 4px;
  border-color: #484848;
  background: #484848;
  color: #fff;
}

.c-panel-arrow {
  position: relative;
}

.c-panel-arrow::before {
  z-index: 1;
  position: absolute;
  right: 7px;
  bottom: 6px;
  -webkit-transform: scale(1, 0.95) rotate(45deg);
          transform: scale(1, 0.95) rotate(45deg);
  border-top: 2px solid;
  border-right: 2px solid;
  content: "";
}

@media screen and (min-width: 768px), print {
  .c-panel-arrow::before {
    right: 7px;
    bottom: 6px;
    width: 8px;
    height: 8px;
  }
}

@media screen and (max-width: 767px) {
  .c-panel-arrow::before {
    right: 6px;
    bottom: 4px;
    width: 6px;
    height: 6px;
    border-top: 1px solid;
    border-right: 1px solid;
  }
}

.c-panel-arrow::after {
  z-index: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 20px;
  height: 20px;
  background-color: #f6f6f6;
  content: "";
}

@media screen and (min-width: 768px), print {
  .c-panel-arrow::after {
    width: 20px;
    height: 20px;
  }
}

@media screen and (max-width: 767px) {
  .c-panel-arrow::after {
    width: 15px;
    height: 15px;
  }
}

.c-progressbar {
  height: 253px;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .c-progressbar {
    height: 170px;
  }
}

.c-progressbar__h1 {
  width: 100%;
  max-width: 720px;
  margin: 0 auto 30px;
}

@media screen and (max-width: 767px) {
  .c-progressbar__h1 {
    max-width: 310px;
    margin: 0 auto 15px;
  }
}

.c-progressbar__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 0;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .c-progressbar__area {
    max-width: 500px;
  }
}

@media screen and (max-width: 500px) {
  .c-progressbar__area {
    max-width: 320px;
  }
}

.c-progressbar__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 85px;
  color: #b7b7b7;
}

.c-progressbar__item.active {
  color: #00a2e6;
}

.c-progressbar__item::after {
  z-index: -1;
  position: absolute;
  top: 20px;
  left: 40%;
  width: 250%;
  height: 2px;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  background-color: #00a2e6;
  content: "";
}

@media screen and (max-width: 767px) {
  .c-progressbar__item::after {
    top: 13px;
    left: 50%;
    width: 160%;
  }
}

@media screen and (max-width: 500px) {
  .c-progressbar__item::after {
    left: 45%;
    width: 100%;
  }
}

.c-progressbar__item:last-of-type {
  padding-right: 0px;
}

.c-progressbar__item:last-of-type::after {
  content: none;
}

.c-progressbar__item--circle-outer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .c-progressbar__item--circle-outer {
    width: 25px;
    height: 25px;
  }
}

.c-progressbar__item--circle-outer.active {
  background: rgba(0, 162, 230, 0.3);
}

.c-progressbar__item--circle-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 20px;
  height: 20px;
  border: 2px solid #00a2e6;
  border-radius: 50%;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .c-progressbar__item--circle-inner {
    width: 15px;
    height: 15px;
  }
}

.c-progressbar__item--circle-inner.active {
  background: #00a2e6;
}

.c-progressbar__item--text {
  margin-top: 10px;
  color: #484848;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .c-progressbar__item--text {
    font-size: 10px;
  }
}

.c-progressbar__item--text.active {
  font-weight: bold;
}

.c-headline__h1 {
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
  color: #484848;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 1.68px;
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-headline__h1 {
    font-size: 22px;
  }
}

.c-section {
  width: 100%;
}

.c-section--light-gray {
  background-color: #f6f6f6;
}

.c-section--gray {
  background-color: #ececec;
}

.c-section--duck-egg-blue {
  background-color: #d9f1fb;
}

.c-select {
  position: relative;
  border: solid 1px #c8c8c8;
  background-color: #fff;
  -webkit-box-shadow: inset -2.8px -2.8px 0 0 #ececec;
          box-shadow: inset -2.8px -2.8px 0 0 #ececec;
}

.c-select::after {
  display: inline-block;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 12px;
  bottom: 0;
  width: 9px;
  height: 9px;
  margin: auto;
  -webkit-transform: translateY(-3px) scale(1, 0.95) rotate(135deg);
          transform: translateY(-3px) scale(1, 0.95) rotate(135deg);
  border-top: 2px solid;
  border-right: 2px solid;
  content: "";
}

.c-select__tag {
  display: block;
  z-index: 2;
  position: relative;
  width: 100%;
  height: 100%;
  padding-right: 24px;
  padding-left: 16px;
}

.c-star {
  display: block;
  width: 100%;
  height: auto;
  padding-top: 17.46%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

.c-star.rate1-0 {
  background-image: url(../common/images/rating/icon_star10.svg);
}

.c-star.rate1-5 {
  background-image: url(../common/images/rating/icon_star15.svg);
}

.c-star.rate2-0 {
  background-image: url(../common/images/rating/icon_star20.svg);
}

.c-star.rate2-5 {
  background-image: url(../common/images/rating/icon_star25.svg);
}

.c-star.rate3-0 {
  background-image: url(../common/images/rating/icon_star30.svg);
}

.c-star.rate3-5 {
  background-image: url(../common/images/rating/icon_star35.svg);
}

.c-star.rate4-0 {
  background-image: url(../common/images/rating/icon_star40.svg);
}

.c-star.rate4-5 {
  background-image: url(../common/images/rating/icon_star45.svg);
}

.c-star.rate5-0 {
  background-image: url(../common/images/rating/icon_star50.svg);
}

.c-table {
  width: 100%;
  border-top: 2px solid #c8c8c8;
  border-bottom: 2px solid #c8c8c8;
  table-layout: fixed;
}

.c-table tr {
  border-bottom: 1px solid #c8c8c8;
}

.c-table tr:last-child {
  border-bottom: none;
}

.c-table th {
  background-color: #f6f6f6;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  overflow-wrap: break-word;
}

@media screen and (min-width: 768px), print {
  .c-table th {
    padding: 13px 20px 12px;
    font-size: 14px;
    letter-spacing: 0.84px;
    line-height: 1.5;
  }
  .c-table th.center_pc {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .c-table th {
    padding: 13px 14px 12px;
    font-size: 12px;
    letter-spacing: 1.68px;
    line-height: 1.35;
  }
  .c-table th.center_sp {
    text-align: center;
  }
}

.c-table td {
  text-align: left;
  vertical-align: middle;
  overflow-wrap: break-word;
}

@media screen and (min-width: 768px), print {
  .c-table td {
    padding: 13px 20px 12px;
  }
  .c-table td.center_pc {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .c-table td {
    padding: 13px 14px 12px;
    font-size: 12px;
    letter-spacing: 1.68px;
    line-height: 1.35;
  }
  .c-table td.center_sp {
    text-align: center;
  }
}

.c-table caption {
  border-top: 2px solid #c8c8c8;
  font-weight: bold;
  vertical-align: middle;
}

@media screen and (min-width: 768px), print {
  .c-table caption {
    padding: 13px 20px 12px;
    font-size: 16px;
    letter-spacing: 0.96px;
    line-height: 1.45;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .c-table caption {
    padding: 13px 14px 12px;
    font-size: 14px;
    letter-spacing: 1.68px;
    line-height: 1.35;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .c-table--sp-column td, .c-table--sp-column th {
    display: block;
    width: 100%;
  }
}

/* Project ------------ */
.p-header-banner {
  width: 100%;
  overflow: hidden;
}

@media screen and (min-width: 1281px) {
  .p-header-banner {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
}

@media screen and (max-width: 1280px) {
  .p-header-banner {
    margin-top: 1px;
  }
}

.p-header-banner__link, .p-header-banner__link--left, .p-header-banner__link--right {
  position: relative;
  width: 50%;
  overflow: hidden;
  text-align: center;
  -webkit-transition: width 0.5s ease;
  transition: width 0.5s ease;
}

@media screen and (min-width: 1281px) {
  .p-header-banner__link, .p-header-banner__link--left, .p-header-banner__link--right {
    padding: 13px 54px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header-banner__link, .p-header-banner__link--left, .p-header-banner__link--right {
    padding: 10px 21px;
  }
}

.p-header-banner__link--left {
  background-color: #ccecfa;
  color: #00a2e6;
}

.p-header-banner__link--right {
  background-color: #ccdbec;
  color: #004da1;
}

@media screen and (max-width: 1280px) {
  .p-header-banner__link + .p-header-banner__link, .p-header-banner__link--left + .p-header-banner__link, .p-header-banner__link--right + .p-header-banner__link, .p-header-banner__link + .p-header-banner__link--left, .p-header-banner__link--left + .p-header-banner__link--left, .p-header-banner__link--right + .p-header-banner__link--left, .p-header-banner__link + .p-header-banner__link--right, .p-header-banner__link--left + .p-header-banner__link--right, .p-header-banner__link--right + .p-header-banner__link--right {
    margin-left: 1px;
  }
}

.p-header-banner__link.is-hide, .is-hide.p-header-banner__link--left, .is-hide.p-header-banner__link--right {
  width: 0;
  padding: 0;
  white-space: nowrap;
}

.p-header-banner__link.is-wide, .is-wide.p-header-banner__link--left, .is-wide.p-header-banner__link--right {
  width: 100%;
}

.p-header-banner__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: bold;
}

@media screen and (min-width: 1281px) {
  .p-header-banner__text {
    font-size: 16px;
    letter-spacing: 0.96px;
    line-height: 1.5;
  }
}

@media screen and (max-width: 1280px) {
  .p-header-banner__text {
    font-size: 12px;
    letter-spacing: 0.72px;
    line-height: 1.33;
  }
}

.p-header-banner__close, .p-header-banner__close--left, .p-header-banner__close--right {
  z-index: 1;
  position: absolute;
}

@media screen and (min-width: 1281px) {
  .p-header-banner__close, .p-header-banner__close--left, .p-header-banner__close--right {
    top: 0;
    right: 18px;
    bottom: 0;
    width: 18px;
    height: 18px;

    margin: auto;
  }
}

@media screen and (max-width: 1280px) {
  .p-header-banner__close, .p-header-banner__close--left, .p-header-banner__close--right {
    top: 10px;
    right: 5px;
    width: 10px;
    height: 10px;
  }
}

.p-header-banner__close::before, .p-header-banner__close--left::before, .p-header-banner__close--right::before, .p-header-banner__close::after, .p-header-banner__close--left::after, .p-header-banner__close--right::after {
  display: block;
  z-index: 2;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  content: "";
}

.p-header-banner__close::before, .p-header-banner__close--left::before, .p-header-banner__close--right::before {
  right: 0;
  height: 2px;
}

@media screen and (min-width: 1281px) {
  .p-header-banner__close::before, .p-header-banner__close--left::before, .p-header-banner__close--right::before {
    width: 18px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header-banner__close::before, .p-header-banner__close--left::before, .p-header-banner__close--right::before {
    width: 10px;
  }
}

.p-header-banner__close::after, .p-header-banner__close--left::after, .p-header-banner__close--right::after {
  width: 2px;
}

@media screen and (min-width: 1281px) {
  .p-header-banner__close::after, .p-header-banner__close--left::after, .p-header-banner__close--right::after {
    right: 8px;
    height: 18px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header-banner__close::after, .p-header-banner__close--left::after, .p-header-banner__close--right::after {
    right: 4px;
    height: 10px;
  }
}

.p-header-banner__close--left::before, .p-header-banner__close--left::after {
  background-color: #00a2e6;
}

.p-header-banner__close--right::before, .p-header-banner__close--right::after {
  background-color: #004ea2;
}

.p-header-caution {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #ffd3d7;
}

@media screen and (min-width: 1281px) {
  .p-header-caution {
    z-index: 100;
    padding: 15px 30px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header-caution {
    z-index: 99;
    padding: 13px 15px;
  }
}

.p-header-caution__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-image: url(../common/images/ico_caution-red.svg);
  background-position: left center;
  background-repeat: no-repeat;
  color: #e43344;
  line-height: 1.45;
}

@media screen and (min-width: 1281px) {
  .p-header-caution__text {
    max-width: 1440px;
    min-height: 19px;
    padding-left: 30px;
    background-size: 19px 19px;
    font-size: 12px;
    letter-spacing: 0.72px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header-caution__text {
    min-height: 24px;
    padding-left: 39px;
    background-size: 24px 24px;
    font-size: 11px;
  }
}

.p-header-tel {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.p-header-tel__text {
  margin-right: 10px;
  font-size: 10px;
  font-weight: normal;
}

.p-header-tel__number {
  font-family: Roboto;
  font-weight: 900;
}

@media screen and (min-width: 1281px) {
  .p-header {
    z-index: 100;
    position: relative;
    background-color: #fff;
  }
}

@media screen and (min-width: 1281px) {
  .p-header__container {
    margin: auto;
  }
}

@media screen and (max-width: 1280px) {
  .p-header__container {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
}

@media screen and (max-width: 1280px) {
  .p-header__sp-menu {
    width: 60px;
    margin-left: 15px;
  }
}

@media screen and (min-width: 1281px) {
  .p-header__logo {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-left: 25px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header__logo {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(100% - (60px + 15px + 100px + 15px));
    padding: 15px 0;
  }
}

@media screen and (min-width: 1281px) {
  .p-header__logo img {
    width: 210px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header__logo img {
    width: auto;
    height: 26px;
  }
}

@media screen and (min-width: 1281px) {
  .p-header__tel-form {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 414px;
    margin-left: 30px;
  }
}

@media screen and (max-width: 1380px) {
  .p-header__tel-form {
    width: 300px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header__tel-form {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
    width: 100%;
    padding: 15px;
  }
}

.p-header__tel {
  margin-bottom: 7px;
}

@media screen and (max-width: 1380px) {
  .p-header__tel {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 3px;
  }
}

.p-header__tel__inner {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

@media screen and (max-width: 1380px) {
  .p-header__tel__inner {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}

.p-header__buttons {
  z-index: 99;
  position: relative;
}

@media screen and (min-width: 1281px) {
  .p-header__buttons {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-left: auto;
  }
}

@media screen and (max-width: 1280px) {
  .p-header__buttons {
    width: 100px;
    margin-right: 15px;
  }
}

@media screen and (min-width: 1281px) {
  .p-header__navigation {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-left: 30px;
    padding-left: 20px;
    border-left: 1px solid #004da1;
  }
}

@media screen and (max-width: 1280px) {
  .p-header__navigation {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    height: 46px;
    padding-left: 16px;
    background-color: #004da1;
  }
}

.p-header__login {
  background-color: #004da1;
}

@media screen and (min-width: 1281px) {
  .p-header__login {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    height: 90px;
    margin-left: 20px;
  }
}

@media screen and (max-width: 1280px) {
  .p-header__login {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    padding-right: 15px;
  }
  .p-header__login > a {
    display: inline-block;
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 2px;
  }
}

.p-header-products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #c8c8c8;
}

@media screen and (min-width: 768px), print {
  .p-header-products {
    height: 80px;
  }
}

@media screen and (max-width: 767px) {
  .p-header-products {
    padding: 12px 15px;
  }
}

@media screen and (min-width: 768px), print {
  .p-header-products__logo img {
    width: 210px;
  }
}

@media screen and (max-width: 767px) {
  .p-header-products__logo img {
    width: auto;
    height: 26px;
  }
}

.p-header-products__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-left: auto;
}

_:-ms-lang(x)::-ms-backdrop, .p-header-products__contact {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto;
}

.p-header-products__chat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px), print {
  .p-header-products__chat {
    margin-right: 18px;
  }
}

@media screen and (max-width: 767px) {
  .p-header-products__chat {
    position: relative;
    margin-right: 15px;
  }
}

_:-ms-lang(x)::-ms-backdrop, .p-header-products__chat__inner {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: 55px;
  margin-right: 0;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .p-header-products__chat__inner {
    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-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 10px;
  }
}

.p-header-products__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .p-header-products__tel__inner {
    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-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 11px;
  }
}

.p-header-products__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
}

@media screen and (min-width: 768px), print {
  .p-header-products__icon {
    height: 36px;
    margin-right: 14px;
  }
}

@media screen and (max-width: 767px) {
  .p-header-products__icon {
    height: 24px;
    margin-bottom: 5px;
  }
}

@media screen and (min-width: 768px), print {
  .p-header-products__text {
    font-size: 14px;
    letter-spacing: 0.84px;
    line-height: 1.2;
    text-align: center;
  }
  _:-ms-lang(x)::-ms-backdrop, .p-header-products__text {
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .p-header-products__text {
    margin-left: 10px;
    line-height: 0.8;
  }
}

.p-header-products__text--small {
  letter-spacing: 0.66px;
  line-height: 1.2;
}

@media screen and (min-width: 768px), print {
  .p-header-products__text--small {
    font-size: 11px;
  }
}

@media screen and (max-width: 767px) {
  .p-header-products__text--small {
    font-size: 10px;
  }
}

.p-header-products__text--large {
  position: relative;
  font-weight: 900;
}

@media screen and (min-width: 768px), print {
  .p-header-products__text--large {
    display: inline-block;
    top: 0.1em;
    margin-top: -0.2em;
    margin-left: 5px;
    font-size: 20px;
    letter-spacing: 1.2px;
    line-height: 1.2;
  }
}

@media screen and (max-width: 767px) {
  .p-header-products__text--large {
    font-size: 15px;
    letter-spacing: 0.9px;
  }
}

.p-ico-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 1281px) {
  .p-ico-button + .p-ico-button {
    margin-left: 22px;
  }
}

@media screen and (max-width: 1280px) {
  _:-ms-lang(x)::-ms-backdrop, .p-ico-button {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: 25px;
  }
}

.p-ico-button__box {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 100%;
  text-align: center;
}

.p-ico-button__image {
  display: inline-block;
  width: auto;
  height: 20px;
}

@media screen and (min-width: 1281px) {
  .p-ico-button__image {
    margin-bottom: 10px;
  }
}

.p-ico-button__text {
  display: inline-block;
  color: #484848;
  font-size: 10px;
  letter-spacing: 0.6px;
  text-align: center;
}

@media screen and (max-width: 1280px) {
  .p-ico-button__text {
    margin-top: 5px;
  }
}

.p-ico-button__text__inner {
  display: inline-block;
  z-index: 2;
  position: relative;
}

.p-ico-button__text__inner::after {
  z-index: 2;
  margin-left: 3px;
}

.p-ico-button__text__inner::before {
  display: block;
  position: absolute;
  bottom: -2px;
  left: -9px;
  width: calc(100% - (-9px * 2));
  height: calc(100% - (-5px * 2));
  margin: auto;
  background: url(../common/images/bg_support-menu.png) no-repeat;
  background-size: 100% 100%;
  content: "";
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-in;
  transition: opacity 0.4s ease-in;
}

_:-ms-lang(x)::-ms-backdrop, .p-ico-button__text__inner::before {
  bottom: -3px;
}

.is-open .p-ico-button__text__inner::before {
  opacity: 1;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

.p-ico-button__badge {
  position: absolute;
  top: -6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #e43344;
  color: #fff;
  font-size: 10px;
  line-height: 1;
}

@media screen and (min-width: 1281px) {
  .p-ico-button__badge {
    right: -2px;
  }
  _:-ms-lang(x)::-ms-backdrop, .p-ico-button__badge {
    right: 0;
  }
}

@media screen and (max-width: 1280px) {
  .p-ico-button__badge {
    right: -7px;
  }
}

.p-ico-button__support__body {
  z-index: 1;
  position: absolute;
  top: 100%;
  left: -9px;
  padding: 5px 20px;
  border: solid 2px #ececec;
  border-radius: 2px;
  background-color: #fff;
  -webkit-box-shadow: 3.5px 3.5px 0 0 rgba(72, 72, 72, 0.1);
          box-shadow: 3.5px 3.5px 0 0 rgba(72, 72, 72, 0.1);
}

.p-ico-button__support__item {
  font-size: 12px;
  letter-spacing: 0.72px;
  line-height: 1.5;
  white-space: nowrap;
}

.p-ico-button__support__item + .p-ico-button__support__item {
  border-top: 1px solid #ececec;
}

.p-ico-button__support__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 0;
}

.p-ico-button__support__link::after {
  right: 5px;
  width: 6px;
  height: 6px;
  margin-left: 15px;
  border-top-width: 1px;
  border-right-width: 1px;
}

@media screen and (min-width: 1281px) {
  .p-login {
    width: 117px;
  }
}

.p-login__image {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 auto 8px;
}

.p-login__text {
  color: #fff;
  font-size: 10px;
  text-align: center;
}

.p-navi-menu__text {
  font-size: 12px;
  letter-spacing: 0.84px;
  line-height: 1.5;
}

@media screen and (min-width: 1281px) {
  .p-navi-menu__text {
    color: #004da1;
    text-align: center;
  }
}

@media screen and (max-width: 1280px) {
  .p-navi-menu__text {
    color: #fff;
  }
}

.p-navi-menu__text--number {
  display: inline-block;
  font-weight: bold;
  letter-spacing: 0.36px;
}

@media screen and (min-width: 1281px) {
  .p-navi-menu__text--number {
    margin-left: 5px;
    font-size: 18px;
  }
}

@media screen and (max-width: 1280px) {
  .p-navi-menu__text--number {
    margin-left: 10px;
    font-size: 15px;
  }
}

.p-navi-menu__text--point {
  display: inline-block;
  margin-left: 2px;
  font-weight: bold;
  letter-spacing: 0.84px;
}

@media screen and (min-width: 1281px) {
  .p-navi-menu__text--point {
    font-size: 14px;
  }
}

@media screen and (max-width: 1280px) {
  .p-navi-menu__text--point {
    font-size: 11px;
  }
}

@media screen and (min-width: 1281px) {
  .p-navi-menu__list {
    margin-top: 8px;
  }
}

.p-navi-menu__item {
  color: #00a2e6;
  font-size: 10px;
  letter-spacing: 0.6px;
}

@media screen and (min-width: 1281px) {
  .p-navi-menu__item + .p-navi-menu__item {
    margin-left: 14px;
    padding-left: 15px;
    border-left: 1px solid #838383;
  }
}

.p-search-form {
  position: relative;
}

.p-search-form__input {
  width: 100%;
  padding: 0 10px;
}

@media screen and (min-width: 1281px) {
  .p-search-form__input {
    height: 36px;
    font-size: 14px;
  }
}

@media screen and (max-width: 1380px) {
  .p-search-form__input {
    height: 30px;
  }
}

@media screen and (max-width: 1280px) {
  .p-search-form__input {
    height: 35px;
    font-size: 16px;
  }
}

.p-search-form__loupe {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  width: 15px;
  height: 15px;
  margin: auto;
  overflow: hidden;
  background: url(../common/images/ico_loupe.svg) no-repeat;
  background-size: contain;
  text-indent: -9999px;
}

.p-pc-menu {
  z-index: 98;
  position: relative;
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
  width: 100%;
  border-top: 1px solid #004da1;
  background-color: #fff;
}

.p-pc-menu__item {
  padding: 14px 20px;
  color: #004da1;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.72px;
  line-height: 1.5;
  text-align: center;
}

.p-pc-menu__item:hover {
  background-color: #d9f1fb;
  cursor: pointer;
}

.p-pc-menu__item.is-active {
  background-color: #d9f1fb;
}

.p-pc-menu__body {
  display: none;
  max-width: 1440px;
  margin: auto;
  padding: 30px 150px 30px 170px;
}

.p-pc-menu__body.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-pc-menu__bread-crumbs {
  display: inline-block;
  width: 145px;
  color: #004da1;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}

.p-pc-menu__bread-crumbs::after {
  margin-left: 8px;
  border-color: #004da1;
}

.p-pc-menu__bread-crumbs:hover {
  color: #0078c4;
}

.p-pc-menu__bread-crumbs:hover::after {
  border-color: #0078c4;
}

.p-pc-menu__container {
  z-index: 100;
  position: absolute;
  width: 100%;
  height: 0;
  background-color: #d9f1fb;
  text-align: center;
}

.p-pc-menu__column, .p-pc-menu__column--first {
  text-align: left;
}

.p-pc-menu__column + .p-pc-menu__column, .p-pc-menu__column--first + .p-pc-menu__column, .p-pc-menu__column + .p-pc-menu__column--first, .p-pc-menu__column--first + .p-pc-menu__column--first {
  margin-top: 50px;
  padding-top: 29px;
  border-top: 1px solid rgba(0, 77, 161, 0.3);
}

.p-pc-menu__column--first {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 29px;
  padding-right: 20px;
  border-right: 1px solid rgba(0, 77, 161, 0.3);
}

_:-ms-lang(x)::-ms-backdrop, .p-pc-menu__column--first {
  min-width: 1px;
}

.p-pc-menu__column-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  max-width: 925px;
  overflow: hidden;
}

.p-pc-menu__category {
  display: inline-block;
  margin-bottom: 20px;
  margin-left: 20px;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.84px;
}

.p-pc-menu__category:hover {
  color: #7f7f7f;
}

.p-pc-menu__category::after {
  margin-left: 8px;
}

.p-pc-menu__category__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.p-pc-menu__category__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  width: 20%;
  padding: 4px 20px 4px 0;
  color: #004da1;
  font-size: 12px;
  letter-spacing: 0.72px;
  line-height: 1.5;
}

.p-pc-menu__category__item > a:hover {
  color: #0078c4;
}

.p-pc-menu__overlay {
  display: none;
  z-index: 99;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.75);
}

@media screen and (max-width: 1280px) {
  .p-pc-menu__overlay {
    display: none !important;
  }
}

.p-pc-menu__tab__scroll {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}

.p-pc-menu__tab__scroll.is-scroll {
  margin-top: -17px;
}

.p-pc-menu__tab__right {
  display: none;
  position: relative;
  margin-left: 20px;
  padding-right: 2px;
  cursor: pointer;
}

.p-pc-menu__tab__right::after {
  width: 10px;
  height: 10px;
  border-top-color: #004da1;
  border-right-color: #004da1;
}

.is-scroll .p-pc-menu__tab__right {
  display: block;
  top: 8.5px;
}

.p-pc-menu__tab__left {
  display: none;
  position: relative;
  margin-right: 20px;
  padding-left: 2px;
  cursor: pointer;
}

.p-pc-menu__tab__left::after {
  width: 10px;
  height: 10px;
  border-top-color: #004da1;
  border-right-color: #004da1;
}

.is-scroll .p-pc-menu__tab__left {
  display: block;
  top: 8.5px;
}

.p-pc-menu__tab__list {
  position: relative;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.is-scroll .p-pc-menu__tab__list {
  top: 17px;
}

.p-pc-menu__tab__item {
  border-right: 1px solid rgba(0, 77, 161, 0.3);
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.56px;
  white-space: nowrap;
}

.p-pc-menu__tab__item.is-active {
  border-bottom: none;
}

.p-pc-menu__tab__text {
  display: block;
  padding: 9px 15px 9px 19px;
  border-bottom: 1px solid rgba(0, 77, 161, 0.3);
}

.p-pc-menu__tab__text::after {
  margin-left: 14px;
}

.p-pc-menu__tab__text:hover {
  color: #7f7f7f;
}

.is-active .p-pc-menu__tab__text {
  border-bottom: none;
}

.is-active .p-pc-menu__tab__text:hover {
  color: #484848;
}

.p-pc-menu__tab__box {
  margin: 40px 0 15px;
  padding: 0 20px;
}

.p-pc-menu-ranking {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 20px;
}

.p-pc-menu-ranking__rank {
  padding-left: 65px;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 45px auto;
}

.p-pc-menu-ranking__rank--first {
  background-image: url(../common/images/ico_rank1.png);
}

.p-pc-menu-ranking__rank--second {
  background-image: url(../common/images/ico_rank2.png);
}

.p-pc-menu-ranking__rank--third {
  background-image: url(../common/images/ico_rank3.png);
}

.p-pc-menu-ranking__link {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  width: calc(100% / 3);
  padding: 10px 0;
}

.p-pc-menu-ranking__link + .p-pc-menu-ranking__link {
  margin-left: 24px;
  padding-left: 23px;
  border-left: 1px solid rgba(0, 77, 161, 0.3);
}

.p-pc-menu-ranking__link:hover .p-pc-menu-ranking__product {
  color: #0078c4;
}

.p-pc-menu-ranking__link:hover .p-pc-menu-ranking__description {
  color: #7f7f7f;
}

.p-pc-menu-ranking__product {
  margin-bottom: 3px;
  color: #004da1;
  font-size: 12px;
  letter-spacing: 0.72px;
  line-height: 1.42;
}

.p-pc-menu-ranking__description {
  color: #484848;
  font-size: 10px;
  line-height: 1.5;
}

.p-sp-menu__overlay {
  display: none;
  z-index: 99;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  cursor: pointer;
  opacity: 0.75;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (min-width: 1281px) {
  .p-sp-menu__overlay {
    display: none !important;
  }
}

.p-sp-menu__container {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

.p-sp-menu__container.is-open {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.p-sp-menu__body {
  z-index: 2;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 50px);
  max-width: 426.66667px;
  height: 100vh;
  padding: 20px 0 0;
  overflow-y: auto;
  background-color: #004da1;
  color: #fff;
}

.p-sp-menu__close {
  position: relative;
  width: 50px;
  height: 56px;
  background-color: #fff;
}

.p-sp-menu__close::before, .p-sp-menu__close::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background-color: #484848;
  content: "";
}

.p-sp-menu__close::before {
  width: 21px;
  height: 2px;
}

.p-sp-menu__close::after {
  width: 2px;
  height: 21px;
}

.p-sp-menu__button {
  position: relative;
  width: 21px;
  height: 14px;
}

.p-sp-menu__button__bar {
  display: block;
  position: absolute;
  left: 0;
  height: 2px;
  margin: auto;
  background-color: #484848;
}

.p-sp-menu__button__bar:nth-of-type(1) {
  top: 0;
  width: 21px;
}

.p-sp-menu__button__bar:nth-of-type(2) {
  top: 0;
  bottom: 0;
  width: 18px;
}

.p-sp-menu__button__bar:nth-of-type(3) {
  bottom: 0;
  width: 15px;
}

.p-sp-menu__user {
  margin-bottom: 20px;
  padding: 0 15px;
}

.p-sp-menu__user__box {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  width: 50%;
  border: solid 1px #ffffff;
}

.p-sp-menu__user__box + .p-sp-menu__user__box {
  border-left: none;
}

.p-sp-menu__login {
  display: block;
  padding: 30px 0;
  font-size: 16px;
  letter-spacing: 0.96px;
  line-height: 1.31;
  text-align: center;
}

.p-sp-menu__name {
  margin: 20px 0 5px;
  font-size: 16px;
  letter-spacing: 0.96px;
  line-height: 1.06;
  text-align: center;
}

.p-sp-menu__point {
  margin-bottom: 20px;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.72px;
  text-align: center;
}

.p-sp-menu__number {
  margin-right: 4px;
  font-size: 16px;
  letter-spacing: 0.32px;
}

.p-sp-menu__buttons {
  margin-bottom: 20px;
  padding: 0 15px;
}

.p-sp-menu__buttons__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.p-sp-menu__buttons__item + .p-sp-menu__buttons__item {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.p-sp-menu__buttons__item > a {
  display: block;
  width: 100%;
}

.p-sp-menu__buttons__image {
  display: block;
  width: auto;
  height: 20px;
  margin: 0 auto 10px;
}

.p-sp-menu__buttons__text {
  display: block;
  margin: auto;
  font-size: 12px;
  letter-spacing: 0.72px;
  line-height: 1.5;
  text-align: center;
}

.p-sp-menu__search {
  position: relative;
  margin: 0 15px 20px;
}

.p-sp-menu__search__input {
  width: 100%;
  height: 35px;
  padding-left: 10px;
  color: #484848;
  font-size: 16px;
}

.p-sp-menu__search__input::-webkit-input-placeholder {
  color: #a3a3a3;
}

.p-sp-menu__search__input::-moz-placeholder {
  color: #a3a3a3;
}

.p-sp-menu__search__input:-ms-input-placeholder {
  color: #a3a3a3;
}

.p-sp-menu__search__input::-ms-input-placeholder {
  color: #a3a3a3;
}

.p-sp-menu__search__input::placeholder {
  color: #a3a3a3;
}

.p-sp-menu__search__loupe {
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  width: 15px;
  height: 15px;
  margin: auto;
  overflow: hidden;
  background: url(../common/images/ico_loupe.svg) no-repeat;
  background-size: contain;
  text-indent: -9999px;
}

.p-sp-menu__accordion {
  margin-bottom: 20px;
  background-color: #fff;
  color: #004da1;
  font-size: 14px;
}

.p-sp-menu__accordion > div + div {
  border-top: 1px solid #004da1;
}

.p-sp-menu__accordion__title, .p-sp-menu__accordion__title--gaming, .p-sp-menu__accordion__title--creator, .p-sp-menu__accordion__title--desktop, .p-sp-menu__accordion__title--notebook, .p-sp-menu__accordion__title--server, .p-sp-menu__accordion__title--used, .p-sp-menu__accordion__title--parts {
  position: relative;
  padding: 18px 26px 18px 50px;
  background-position: 15px center;
  background-repeat: no-repeat;
  font-weight: normal;
  line-height: 1.36;
}

.p-sp-menu__accordion__title::before, .p-sp-menu__accordion__title--gaming::before, .p-sp-menu__accordion__title--creator::before, .p-sp-menu__accordion__title--desktop::before, .p-sp-menu__accordion__title--notebook::before, .p-sp-menu__accordion__title--server::before, .p-sp-menu__accordion__title--used::before, .p-sp-menu__accordion__title--parts::before, .p-sp-menu__accordion__title::after, .p-sp-menu__accordion__title--gaming::after, .p-sp-menu__accordion__title--creator::after, .p-sp-menu__accordion__title--desktop::after, .p-sp-menu__accordion__title--notebook::after, .p-sp-menu__accordion__title--server::after, .p-sp-menu__accordion__title--used::after, .p-sp-menu__accordion__title--parts::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #004da1;
  content: "";
}

.p-sp-menu__accordion__title::before, .p-sp-menu__accordion__title--gaming::before, .p-sp-menu__accordion__title--creator::before, .p-sp-menu__accordion__title--desktop::before, .p-sp-menu__accordion__title--notebook::before, .p-sp-menu__accordion__title--server::before, .p-sp-menu__accordion__title--used::before, .p-sp-menu__accordion__title--parts::before {
  right: 16px;
  width: 10px;
  height: 2px;
}

.p-sp-menu__accordion__title::after, .p-sp-menu__accordion__title--gaming::after, .p-sp-menu__accordion__title--creator::after, .p-sp-menu__accordion__title--desktop::after, .p-sp-menu__accordion__title--notebook::after, .p-sp-menu__accordion__title--server::after, .p-sp-menu__accordion__title--used::after, .p-sp-menu__accordion__title--parts::after {
  right: 20px;
  width: 2px;
  height: 10px;
}

.p-sp-menu__accordion__title.is-open::after, .is-open.p-sp-menu__accordion__title--gaming::after, .is-open.p-sp-menu__accordion__title--creator::after, .is-open.p-sp-menu__accordion__title--desktop::after, .is-open.p-sp-menu__accordion__title--notebook::after, .is-open.p-sp-menu__accordion__title--server::after, .is-open.p-sp-menu__accordion__title--used::after, .is-open.p-sp-menu__accordion__title--parts::after {
  display: none;
}

.p-sp-menu__accordion__title--gaming {
  background-image: url(../common/images/ico_gaming.svg);
  background-size: auto 15px;
}

.p-sp-menu__accordion__title--creator {
  background-image: url(../common/images/ico_creator.svg);
  background-size: auto 18px;
}

.p-sp-menu__accordion__title--desktop {
  background-image: url(../common/images/ico_desktop.svg);
  background-size: auto 15px;
}

.p-sp-menu__accordion__title--notebook {
  background-image: url(../common/images/ico_notebook.svg);
  background-size: auto 15px;
}

.p-sp-menu__accordion__title--server {
  background-image: url(../common/images/ico_server.svg);
  background-size: auto 15px;
}

.p-sp-menu__accordion__title--used {
  background-image: url(../common/images/ico_used.svg);
  background-size: auto 18px;
}

.p-sp-menu__accordion__title--parts {
  background-image: url(../common/images/ico_parts.svg);
  background-size: auto 18px;
}

.p-sp-menu__accordion__body {
  padding: 0 15px;
}

.p-sp-menu__sub-accordion__title {
  padding: 19px 18px 19px 15px;
  border-bottom: 1px solid rgba(0, 77, 161, 0.3);
  color: #484848;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.72px;
}

.p-sp-menu__sub-accordion__title::before {
  right: 9px;
}

.p-sp-menu__sub-accordion__title::after {
  right: 13px;
}

.p-sp-menu__sub-accordion__title.is-open {
  border-bottom: none;
}

.p-sp-menu__sub-accordion__body {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 77, 161, 0.3);
}

.p-sp-menu__navigation {
  margin: 0 15px;
  margin-bottom: 20px;
  color: #fff;
  text-align: center;
}

.p-sp-menu__navigation__list {
  margin-bottom: 10px;
}

.p-sp-menu__navigation__item {
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 2px;
  font-size: 14px;
}

.p-sp-menu__navigation__item + .p-sp-menu__navigation__item {
  margin-top: 10px;
}

.p-sp-menu__navigation__item > a {
  display: block;
  padding: 18px 0;
}

.p-sp-menu__navigation__library {
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 2px;
  color: #fff;
  font-size: 14px;
}

.p-sp-menu__navigation__library > a {
  display: block;
  padding: 18px 0;
}

.p-sp-menu__contact {
  margin: 0 15px 40px;
}

.p-sp-menu__contact__link {
  display: block;
  padding: 18px 0;
  border-radius: 2px;
  background-color: #0078c4;
  color: #fff;
  font-size: 14px;
  text-align: center;
}

.p-sp-menu__contact__link + .p-sp-menu__contact__link {
  margin-top: 10px;
}

.p-sp-menu__sns {
  max-width: 230px;
  margin: 0 auto;
  padding-bottom: 39px;
}

.p-sp-menu__sns__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 53px;
          flex: 0 1 53px;
  min-width: 53px;
  text-align: center;
}

.p-sp-menu__sns__image {
  display: block;
  width: 45px;
  height: 45px;
  margin: 0 auto 10px;
}

.p-sp-menu__sns__text {
  color: #fff;
  font-size: 11px;
  font-weight: bold;
}

.p-sp-menu-products__list, .p-sp-menu-products__list--half {
  background-color: #e5f6fc;
  color: #004da1;
}

.p-sp-menu-products__list--first {
  background-color: #004da1;
  color: #fff;
}

.p-sp-menu-products__list + .p-sp-menu-products__list, .p-sp-menu-products__list--half + .p-sp-menu-products__list, .p-sp-menu-products__list + .p-sp-menu-products__list--half, .p-sp-menu-products__list--half + .p-sp-menu-products__list--half {
  margin-top: 1px;
}

.p-sp-menu-products__list > a, .p-sp-menu-products__list--half > a {
  display: block;
  padding: 19px 18px 19px 15px;
  font-size: 13px;
}

.p-sp-menu-products__list > a::after, .p-sp-menu-products__list--half > a::after {
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  margin: auto;
}

.p-sp-menu-products__list--half:nth-of-type(2n) {
  border-left: 1px solid #fff;
}

.p-sp-menu-products__category {
  color: #484848;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1.44px;
}

.p-sp-menu-ranking {
  margin-bottom: 30px;
}

.p-sp-menu-ranking__title {
  display: block;
  position: relative;
  margin-bottom: 12px;
  padding: 20px 0;
  color: #484848;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1.68px;
}

.p-sp-menu-ranking__title::after {
  position: absolute;
  top: 0;
  right: 12px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
}

.p-sp-menu-ranking__rank {
  padding-right: 15px;
  padding-left: 65px;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 52px auto;
}

.p-sp-menu-ranking__rank--first {
  background-image: url(../common/images/ico_rank1.png);
}

.p-sp-menu-ranking__rank--second {
  background-image: url(../common/images/ico_rank2.png);
}

.p-sp-menu-ranking__rank--third {
  background-image: url(../common/images/ico_rank3.png);
}

.p-sp-menu-ranking__link {
  display: block;
}

.p-sp-menu-ranking__link + .p-sp-menu-ranking__link {
  margin-top: 20px;
}

.p-sp-menu-ranking__product {
  margin-bottom: 5px;
  color: #004da1;
  font-size: 14px;
  letter-spacing: 1.44px;
  line-height: 1.42;
}

.p-sp-menu-ranking__description {
  color: #484848;
  font-size: 10px;
  line-height: 1.5;
}

.p-registered {
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .p-registered {
    width: 100%;
    max-width: 1440px;
    margin: auto;
    padding: 50px 0;
    padding-left: 150px;
    text-align: left;
  }
}

@media screen and (max-width: 1440px) {
  .p-registered {
    padding-right: calc( 20px + 130 * (100vw - 768px) / 672);
    padding-left: calc( 20px + 130 * (100vw - 768px) / 672);
  }
}

@media screen and (max-width: 767px) {
  .p-registered {
    padding: 25px 0;
  }
}

.p-registered__list, .p-registered__list--wide {
  display: inline-block;
  max-width: 100%;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .p-registered__list, .p-registered__list--wide {
    padding: 0px;
  }
}

@media screen and (max-width: 767px) {
  .p-registered__list, .p-registered__list--wide {
    padding: 0 15px;
  }
}

.p-registered__list--wide {
  padding: 0;
}

.p-registered__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 10px;
  font-weight: 500;
}

@media screen and (min-width: 768px), print {
  .p-registered__item {
    letter-spacing: 0.6px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .p-registered__item {
    letter-spacing: 1.2px;
    line-height: 1.5;
  }
}

.p-pagetop__link {
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  background-color: #004da1;
  color: #fff;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.84px;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .p-pagetop__link {
    height: 50px;
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .p-pagetop__link {
    height: 48px;
    font-size: 12px;
  }
}

.p-pagetop__link::after {
  top: 0;
  -webkit-transform: scale(1, 0.95) rotate(-45deg);
          transform: scale(1, 0.95) rotate(-45deg);
}

@media screen and (min-width: 768px), print {
  .p-pagetop__link::after {
    margin-right: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-pagetop__link::after {
    margin-right: 18px;
  }
}

.p-footer-app {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-radius: 2px;
  background-color: #ccecfa;
}

@media screen and (min-width: 768px), print {
  .p-footer-app {
    width: 270px;
    padding: 19px 18px 20px 9px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-app {
    padding: 15px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-app {
    max-width: 375px;
    margin: auto;
  }
}

.p-footer-app::before, .p-footer-app::after {
  display: block;
  z-index: 1;
  position: absolute;
  content: "";
}

.p-footer-app::before {
  right: 0;
  bottom: 0;
  background-color: #004da1;
}

@media screen and (min-width: 768px), print {
  .p-footer-app::before {
    width: 20px;
    height: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-app::before {
    width: 16px;
    height: 16px;
  }
}

.p-footer-app::after {
  top: auto;
  -webkit-transform: scale(1, 0.95) rotate(45deg);
          transform: scale(1, 0.95) rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

@media screen and (min-width: 768px), print {
  .p-footer-app::after {
    right: 7px;
    bottom: 6px;
    width: 8px;
    height: 8px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-app::after {
    right: 6px;
    bottom: 4px;
    width: 7px;
    height: 7px;
  }
}

.p-footer-app__ico {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  height: auto;
}

@media screen and (min-width: 768px), print {
  .p-footer-app__ico {
    width: 80px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-app__ico {
    width: 100px;
    margin-right: 15px;
  }
}

.p-footer-app__name {
  margin-bottom: 5px;
  color: #004da1;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.84px;
  line-height: 1.36;
}

.p-footer-app__description {
  font-size: 12px;
  letter-spacing: 0.72px;
  line-height: 1.5;
}

@media screen and (min-width: 768px), print {
  .p-footer-top {
    width: 100%;
    padding-top: 45px;
  }
}

@media screen and (max-width: 1280px) {
  .p-footer-top {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-top {
    padding-top: 45px;
  }
}

@media screen and (min-width: 768px), print {
  .p-footer-top__menu {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

@media screen and (max-width: 1280px) {
  .p-footer-top__menu {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-top__menu {
    width: auto;
    margin-bottom: 25px;
    border-top: 1px solid #c8c8c8;
  }
}

@media screen and (min-width: 768px), print {
  .p-footer-top__sns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 270px;
    min-width: 270px;
  }
}

@media screen and (max-width: 1280px) {
  .p-footer-top__sns {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-top__sns {
    display: block;
    width: auto;
    margin: 0 15px 45px;
  }
}

@media screen and (min-width: 768px), print {
  .p-footer-bottom, .p-footer-products__bottom {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 40px 70px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-bottom, .p-footer-products__bottom {
    padding-bottom: 45px;
    text-align: center;
  }
}

@media screen and (min-width: 768px), print {
  .p-footer-bottom__menu {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
}

_:-ms-lang(x)::-ms-backdrop, .p-footer-bottom__menu {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
}

@media screen and (max-width: 767px) {
  .p-footer-bottom__menu {
    margin-bottom: 45px;
    padding-bottom: 25px;
    border-bottom: 1px solid #c8c8c8;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-bottom__list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 15px;
  }
}

.p-footer-bottom__item {
  font-size: 12px;
}

@media screen and (min-width: 768px), print {
  .p-footer-bottom__item {
    margin-top: 10px;
    margin-right: 15px;
    padding-right: 14px;
    border-right: 1px solid #484848;
    letter-spacing: 0.72px;
    line-height: 1.1;
  }
  .p-footer-bottom__item:last-child {
    border-right: none;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-bottom__item {
    width: 50%;
    line-height: 1.42;
    text-align: center;
  }
  .p-footer-bottom__item > a {
    display: block;
    padding: 15px 0;
  }
}

.p-footer-bottom__copyright {
  display: block;
}

@media screen and (min-width: 768px), print {
  .p-footer-bottom__copyright {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    text-align: right;
  }
}

.p-footer-bottom__copyright__text {
  font-size: 10px;
}

.p-footer-bottom__logo {
  display: block;
  width: 134px;
}

@media screen and (min-width: 768px), print {
  .p-footer-bottom__logo {
    margin-bottom: 5px;
    margin-left: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-bottom__logo {
    margin: 0 auto 10px;
  }
}

.p-footer-products {
  margin-top: 40px;
}

.p-footer-products__bottom {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px), print {
  .p-footer-products__bottom {
    padding-bottom: 175px;
  }
}

@media screen and (max-width: 1280px) {
  .p-footer-products__bottom {
    padding-bottom: 205px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-products__bottom {
    padding-bottom: 175px;
  }
}

@media screen and (min-width: 768px), print {
  .p-footer-products__bottom.pb {
    padding-bottom: 70px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-products__bottom.pb {
    padding-bottom: 45px;
  }
}

.p-footer-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px), print {
  .p-footer-menu {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 800px;
    padding-top: 20px;
  }
}

@media screen and (max-width: 1280px) {
  .p-footer-menu {
    max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-menu {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.p-footer-menu__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

@media screen and (min-width: 768px), print {
  .p-footer-menu__item {
    margin-right: 25px;
    margin-bottom: 35px;
  }
}

@media screen and (max-width: 1280px) {
  .p-footer-menu__item:last-child {
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-menu__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-menu__item:first-of-type {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-menu__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-footer-menu__sublist {
  max-width: 145px;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p-footer-menu__sublist {
    display: none;
  }
}

@media screen and (min-width: 768px), print {
  .p-footer-menu__link + .p-footer-menu__link, .p-footer-menu__link--bold + .p-footer-menu__link, .p-footer-menu__link + .p-footer-menu__link--bold, .p-footer-menu__link--bold + .p-footer-menu__link--bold {
    margin-top: 10px;
  }
}

.p-footer-menu__link > a, .p-footer-menu__link--bold > a {
  color: #7f7f7f;
  font-size: 12px;
  letter-spacing: 0.84px;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p-footer-menu__link > a, .p-footer-menu__link--bold > a {
    display: block;
    width: 100%;
    padding: 18px 0;
    text-align: center;
  }
}

@media screen and (min-width: 768px), print {
  .p-footer-menu__link--bold + .p-footer-menu__link--bold {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-menu__link--bold {
    width: 100%;
  }
}

.p-footer-menu__link--bold > a {
  color: #484848;
  font-size: 14px;
}

@media screen and (min-width: 768px), print {
  .p-footer-menu__link--bold > a {
    font-weight: bold;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-menu__border, .p-footer-menu__border--left {
    border-bottom: 1px solid #c8c8c8;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-menu__border--left {
    border-left: 1px solid #c8c8c8;
  }
}

.p-footer-sns {
  border-radius: 2px;
}

@media screen and (min-width: 768px), print {
  .p-footer-sns {
    margin: 0 0px 45px;
  }
}

@media screen and (max-width: 1280px) {
  .p-footer-sns {
    margin-right: 60px;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-sns {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

.p-footer-sns__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px), print {
  .p-footer-sns__list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-sns__list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-footer-sns__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 50px;
          flex: 0 1 50px;
  min-width: 50px;
  text-align: center;
}

@media screen and (max-width: 1280px) {
  .p-footer-sns__item + .p-footer-sns__item {
    margin-left: 35px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-sns__item + .p-footer-sns__item {
    margin-left: 16px;
  }
}

.p-footer-sns__image {
  display: block;
  margin: 0 auto 5px;
}

@media screen and (min-width: 768px), print {
  .p-footer-sns__image {
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 1280px) {
  .p-footer-sns__image {
    width: 45px;
    height: 45px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-sns__image {
    width: 45px;
    height: 45px;
  }
}

.p-footer-sns__text {
  font-size: 11px;
  font-weight: bold;
}

/* Utility ------------ */
.u-block {
  display: block;
}

.u-block-none {
  display: none;
}

@media screen and (min-width: 768px), print {
  .u-pc-hide {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-hide {
    display: none;
  }
}

@media screen and (min-width: 1281px) {
  .u-pc-header-hide {
    display: none;
  }
}

@media screen and (max-width: 1280px) {
  .u-sp-header-hide {
    display: none;
  }
}

.u-border-none {
  border: none;
}

.u-border-none-l {
  border-left: 0;
}

.u-border-none-r {
  border-right: 0;
}

.u-border-none-t {
  border-top: 0;
}

.u-border-none-b {
  border-bottom: 0;
}

.u-clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.u-mt0 {
  margin-top: 0px;
}

.u-mb0 {
  margin-bottom: 0px;
}

.u-ml0 {
  margin-left: 0px;
}

.u-mr0 {
  margin-right: 0px;
}

.u-mt5 {
  margin-top: 5px;
}

.u-mb5 {
  margin-bottom: 5px;
}

.u-ml5 {
  margin-left: 5px;
}

.u-mr5 {
  margin-right: 5px;
}

.u-mt10 {
  margin-top: 10px;
}

.u-mb10 {
  margin-bottom: 10px;
}

.u-ml10 {
  margin-left: 10px;
}

.u-mr10 {
  margin-right: 10px;
}

.u-mt15 {
  margin-top: 15px;
}

.u-mb15 {
  margin-bottom: 15px;
}

.u-ml15 {
  margin-left: 15px;
}

.u-mr15 {
  margin-right: 15px;
}

.u-mt20 {
  margin-top: 20px;
}

.u-mb20 {
  margin-bottom: 20px;
}

.u-ml20 {
  margin-left: 20px;
}

.u-mr20 {
  margin-right: 20px;
}

.u-mt25 {
  margin-top: 25px;
}

.u-mb25 {
  margin-bottom: 25px;
}

.u-ml25 {
  margin-left: 25px;
}

.u-mr25 {
  margin-right: 25px;
}

.u-mt30 {
  margin-top: 30px;
}

.u-mb30 {
  margin-bottom: 30px;
}

.u-ml30 {
  margin-left: 30px;
}

.u-mr30 {
  margin-right: 30px;
}

.u-mt35 {
  margin-top: 35px;
}

.u-mb35 {
  margin-bottom: 35px;
}

.u-ml35 {
  margin-left: 35px;
}

.u-mr35 {
  margin-right: 35px;
}

.u-mt40 {
  margin-top: 40px;
}

.u-mb40 {
  margin-bottom: 40px;
}

.u-ml40 {
  margin-left: 40px;
}

.u-mr40 {
  margin-right: 40px;
}

.u-mt45 {
  margin-top: 45px;
}

.u-mb45 {
  margin-bottom: 45px;
}

.u-ml45 {
  margin-left: 45px;
}

.u-mr45 {
  margin-right: 45px;
}

.u-mt50 {
  margin-top: 50px;
}

.u-mb50 {
  margin-bottom: 50px;
}

.u-ml50 {
  margin-left: 50px;
}

.u-mr50 {
  margin-right: 50px;
}

.u-mt55 {
  margin-top: 55px;
}

.u-mb55 {
  margin-bottom: 55px;
}

.u-ml55 {
  margin-left: 55px;
}

.u-mr55 {
  margin-right: 55px;
}

.u-mt60 {
  margin-top: 60px;
}

.u-mb60 {
  margin-bottom: 60px;
}

.u-ml60 {
  margin-left: 60px;
}

.u-mr60 {
  margin-right: 60px;
}

.u-mt65 {
  margin-top: 65px;
}

.u-mb65 {
  margin-bottom: 65px;
}

.u-ml65 {
  margin-left: 65px;
}

.u-mr65 {
  margin-right: 65px;
}

.u-mt70 {
  margin-top: 70px;
}

.u-mb70 {
  margin-bottom: 70px;
}

.u-ml70 {
  margin-left: 70px;
}

.u-mr70 {
  margin-right: 70px;
}

.u-mt75 {
  margin-top: 75px;
}

.u-mb75 {
  margin-bottom: 75px;
}

.u-ml75 {
  margin-left: 75px;
}

.u-mr75 {
  margin-right: 75px;
}

.u-mt80 {
  margin-top: 80px;
}

.u-mb80 {
  margin-bottom: 80px;
}

.u-ml80 {
  margin-left: 80px;
}

.u-mr80 {
  margin-right: 80px;
}

.u-mt85 {
  margin-top: 85px;
}

.u-mb85 {
  margin-bottom: 85px;
}

.u-ml85 {
  margin-left: 85px;
}

.u-mr85 {
  margin-right: 85px;
}

.u-mt90 {
  margin-top: 90px;
}

.u-mb90 {
  margin-bottom: 90px;
}

.u-ml90 {
  margin-left: 90px;
}

.u-mr90 {
  margin-right: 90px;
}

.u-mt95 {
  margin-top: 95px;
}

.u-mb95 {
  margin-bottom: 95px;
}

.u-ml95 {
  margin-left: 95px;
}

.u-mr95 {
  margin-right: 95px;
}

.u-mt100 {
  margin-top: 100px;
}

.u-mb100 {
  margin-bottom: 100px;
}

.u-ml100 {
  margin-left: 100px;
}

.u-mr100 {
  margin-right: 100px;
}

.u-pt0 {
  padding-top: 0px;
}

.u-pb0 {
  padding-bottom: 0px;
}

.u-pl0 {
  padding-left: 0px;
}

.u-pr0 {
  padding-right: 0px;
}

.u-pt5 {
  padding-top: 5px;
}

.u-pb5 {
  padding-bottom: 5px;
}

.u-pl5 {
  padding-left: 5px;
}

.u-pr5 {
  padding-right: 5px;
}

.u-pt10 {
  padding-top: 10px;
}

.u-pb10 {
  padding-bottom: 10px;
}

.u-pl10 {
  padding-left: 10px;
}

.u-pr10 {
  padding-right: 10px;
}

.u-pt15 {
  padding-top: 15px;
}

.u-pb15 {
  padding-bottom: 15px;
}

.u-pl15 {
  padding-left: 15px;
}

.u-pr15 {
  padding-right: 15px;
}

.u-pt20 {
  padding-top: 20px;
}

.u-pb20 {
  padding-bottom: 20px;
}

.u-pl20 {
  padding-left: 20px;
}

.u-pr20 {
  padding-right: 20px;
}

.u-pt25 {
  padding-top: 25px;
}

.u-pb25 {
  padding-bottom: 25px;
}

.u-pl25 {
  padding-left: 25px;
}

.u-pr25 {
  padding-right: 25px;
}

.u-pt30 {
  padding-top: 30px;
}

.u-pb30 {
  padding-bottom: 30px;
}

.u-pl30 {
  padding-left: 30px;
}

.u-pr30 {
  padding-right: 30px;
}

.u-pt35 {
  padding-top: 35px;
}

.u-pb35 {
  padding-bottom: 35px;
}

.u-pl35 {
  padding-left: 35px;
}

.u-pr35 {
  padding-right: 35px;
}

.u-pt40 {
  padding-top: 40px;
}

.u-pb40 {
  padding-bottom: 40px;
}

.u-pl40 {
  padding-left: 40px;
}

.u-pr40 {
  padding-right: 40px;
}

.u-pt45 {
  padding-top: 45px;
}

.u-pb45 {
  padding-bottom: 45px;
}

.u-pl45 {
  padding-left: 45px;
}

.u-pr45 {
  padding-right: 45px;
}

.u-pt50 {
  padding-top: 50px;
}

.u-pb50 {
  padding-bottom: 50px;
}

.u-pl50 {
  padding-left: 50px;
}

.u-pr50 {
  padding-right: 50px;
}

.u-pt55 {
  padding-top: 55px;
}

.u-pb55 {
  padding-bottom: 55px;
}

.u-pl55 {
  padding-left: 55px;
}

.u-pr55 {
  padding-right: 55px;
}

.u-pt60 {
  padding-top: 60px;
}

.u-pb60 {
  padding-bottom: 60px;
}

.u-pl60 {
  padding-left: 60px;
}

.u-pr60 {
  padding-right: 60px;
}

.u-pt65 {
  padding-top: 65px;
}

.u-pb65 {
  padding-bottom: 65px;
}

.u-pl65 {
  padding-left: 65px;
}

.u-pr65 {
  padding-right: 65px;
}

.u-pt70 {
  padding-top: 70px;
}

.u-pb70 {
  padding-bottom: 70px;
}

.u-pl70 {
  padding-left: 70px;
}

.u-pr70 {
  padding-right: 70px;
}

.u-pt75 {
  padding-top: 75px;
}

.u-pb75 {
  padding-bottom: 75px;
}

.u-pl75 {
  padding-left: 75px;
}

.u-pr75 {
  padding-right: 75px;
}

.u-pt80 {
  padding-top: 80px;
}

.u-pb80 {
  padding-bottom: 80px;
}

.u-pl80 {
  padding-left: 80px;
}

.u-pr80 {
  padding-right: 80px;
}

.u-pt85 {
  padding-top: 85px;
}

.u-pb85 {
  padding-bottom: 85px;
}

.u-pl85 {
  padding-left: 85px;
}

.u-pr85 {
  padding-right: 85px;
}

.u-pt90 {
  padding-top: 90px;
}

.u-pb90 {
  padding-bottom: 90px;
}

.u-pl90 {
  padding-left: 90px;
}

.u-pr90 {
  padding-right: 90px;
}

.u-pt95 {
  padding-top: 95px;
}

.u-pb95 {
  padding-bottom: 95px;
}

.u-pl95 {
  padding-left: 95px;
}

.u-pr95 {
  padding-right: 95px;
}

.u-pt100 {
  padding-top: 100px;
}

.u-pb100 {
  padding-bottom: 100px;
}

.u-pl100 {
  padding-left: 100px;
}

.u-pr100 {
  padding-right: 100px;
}

@media screen and (min-width: 768px), print {
  .u-pc-width {
    width: 100%;
    max-width: 1440px;
    margin: auto;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .u-pc-width {
    padding-left: calc( 20px + 130 * (100vw - 768px) / 672);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .u-pc-width {
    padding-left: 150px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .u-pc-width {
    padding-right: calc( 20px + 130 * (100vw - 768px) / 672);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .u-pc-width {
    padding-right: 150px;
  }
}

@media screen and (min-width: 768px), print {
  .u-pc-width--120 {
    max-width: 1440px;
    margin: auto;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .u-pc-width--120 {
    padding-left: calc( 20px + 100 * (100vw - 768px) / 672);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .u-pc-width--120 {
    padding-left: 120px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .u-pc-width--120 {
    padding-right: calc( 20px + 100 * (100vw - 768px) / 672);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .u-pc-width--120 {
    padding-right: 120px;
  }
}

.c-tab__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-tab__item {
  cursor: pointer;
}

.c-tab__box {
  display: none;
}

.c-tab__box.is-show {
  display: block;
}

.p-products-show__cartin-modal {
  color: #484848;
}

.p-products-show__cartin-modal-contents {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-top: 1px solid #c8c8c8;
  border-bottom: 1px solid #c8c8c8;
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-contents {
    margin: 25px 0 30px;
    padding: 28px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-contents {
    margin: 22px 0 13px;
    padding: 15px 0;
  }
}

.p-products-show__cartin-modal-item_image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-item_image {
    width: 135px;
    margin-right: 30px;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-item_image {
    width: 75px;
    margin-right: 15px;
  }
}

.p-products-show__cartin-modal-item_image > img {
  width: 100%;
}

.p-products-show__cartin-modal-item_detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}

.p-products-show__cartin-modal-h4 {
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-h4 {
    margin-bottom: 16px;
    font-size: 14px;
    letter-spacing: 0.84px;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-h4 {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    margin-bottom: 8px;
    overflow: hidden;
    font-size: 12px;
    letter-spacing: 0.84px;
    line-height: 1.5;
  }
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-quantity {
    font-size: 14px;
    letter-spacing: 0.84px;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-quantity {
    font-size: 12px;
    letter-spacing: 0.84px;
    line-height: 1.5;
  }
}

.p-products-show__cartin-modal-product_price {
  width: 100%;
  line-height: 1.1;
  text-align: right;
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-product_price > .subtotal {
    margin-right: 5px;
    font-size: 14px;
    letter-spacing: 0.56px;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-product_price > .subtotal {
    margin-right: 3px;
    font-size: 12px;
    letter-spacing: 0.56px;
  }
}

.p-products-show__cartin-modal-product_price > .num {
  font-family: "Roboto", Sans-Serif;
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-product_price > .num {
    font-size: 20px;
    letter-spacing: 0.8px;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-product_price > .num {
    font-size: 16px;
    letter-spacing: 0.8px;
  }
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-product_price > .unit {
    font-size: 14px;
    letter-spacing: 0.56px;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-product_price > .unit {
    font-size: 12px;
    letter-spacing: 0.56px;
  }
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-button_area {
    margin-top: 25px;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-button_area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 25px;
  }
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-button {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-button {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-button > span {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-button:nth-child(1) {
    padding-left: 15px;
  }
}

.p-products-show__cartin-modal-button:nth-child(1)::after {
  right: auto;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-button:nth-child(1)::after {
    left: 25px;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-button:nth-child(1)::after {
    left: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .p-products-show__cartin-modal-button:nth-child(2) {
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-products-show__cartin-modal-button:nth-child(2) {
    margin-bottom: 15px;
    padding-right: 15px;
  }
  .p-products-show__cartin-modal-button:nth-child(2)::after {
    right: 15px;
  }
}

/*form.purpose_form {
  display:none;
}*/

form.purpose_form.active {
  display:block;
}

/*form.budget_form {
  display:none;
}*/

form.budget_form.active {
  display:block;
}

/*section.result_model_list {
  display:none;
}*/

section.result_model_list.active {
  display:block;
}

/*section.result_model_list .price_range_wrapper {
  display:none;
}*/

section.result_model_list .price_range_wrapper.active {
  display:block;
}

.c-button--primary-blue.disable{
  background-color:#a3a3a3;
}
.c-button--primary-blue.disable::before {
  background-color: #a3a3a3;
  opacity: 1;
}

.p-advice-purpose__select__inr ul li .c-button,
.p-advice-budget__select__inr ul li .c-button {
  border: 0;
  width: 100%;
  height: 100%;
  min-height: 50px;
}

.p-advice-budget__price {
  color: #004da1;
  font-size: 14px;
  letter-spacing: 0.84px;
  text-align: center;
}

.p-advice-budget__price__number {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1.2px;
}
