@charset "UTF-8";
/* Sanitize
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap");
html {
  box-sizing: border-box;
}

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

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *		IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent; /* 4 */
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * 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: 1em; /* 2 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * 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: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
img {
  max-width: 100%;
  height: auto;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: top;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
  color: inherit; /* 2 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
			in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation; /* 1 */
  touch-action: manipulation; /* 2 */
}

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/**
 * Add
 */
dl dd {
  margin-left: 0;
}

figure {
  margin: 0;
}

table {
  table-layout: fixed;
}

menu {
  padding: 0;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "Hiragino Kaku Gothic ProN", Arial, Meiryo, sans-serif;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  body {
    line-height: 1.5;
    min-width: 1%;
    overflow-x: hidden;
    position: relative;
  }
}
img {
  backface-visibility: hidden;
}

/* mouseover
--------------------------------------------------*/
@media screen and (min-width: 768px) {
  .over:hover {
    opacity: 0.6;
    transition: opacity 0.3s;
  }
}
label {
  cursor: pointer;
}

/* link
--------------------------------------------------*/
a {
  color: #0851d7;
  transition: all 0.4s;
}
a:link, a:active, a:visited {
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: underline;
}

.visibility-hidden {
  visibility: hidden;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  height: 54px;
  width: 100%;
  box-shadow: 0px 3px 6px -6px rgba(0, 0, 41, 0.8);
  z-index: 1040;
}
@media screen and (min-width: 768px) {
  .header {
    height: 80px;
    box-shadow: none;
  }
}
.header.notification {
  height: 82px;
}
@media screen and (min-width: 768px) {
  .header.notification {
    height: 113px;
  }
}
.header__inner {
  width: 100%;
  height: 100%;
  display: flex;
}
@media screen and (min-width: 768px) {
  .header__inner {
    padding: 12px 25px;
  }
}
.header.notification .header__inner {
  height: calc(100% - 28px);
}
@media screen and (min-width: 768px) {
  .header.notification .header__inner {
    height: calc(100% - 33px);
  }
}
.header__logo {
  width: 106px;
  display: flex;
  align-items: center;
  margin-right: 5px;
}
@media screen and (min-width: 768px) {
  .header__logo {
    margin-right: 30px;
    width: 150px;
    flex-shrink: 0;
  }
}
.header__right {
  margin: 0 0 0 auto;
}
.header__left {
  display: flex;
  align-items: center;
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  .header__left {
    padding-left: 0;
  }
}
.header__sim-title {
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  position: relative;
  color: #146fc5;
  border-left: 1px solid #146fc5;
  padding-left: 8px;
}
@media screen and (min-width: 768px) {
  .header__sim-title {
    font-size: 12px;
    padding-left: 30px;
  }
}
.header__sim-title::before {
  display: inline-block;
  width: 15px;
  height: 20px;
  margin-right: 5px;
  margin-top: -1px;
  background: url("../img/icon_calculator.svg") no-repeat left center/contain;
  font-size: 0;
  vertical-align: middle;
  content: "";
}
@media screen and (min-width: 768px) {
  .header__sim-title::before {
    width: 20px;
    height: 24px;
    margin-right: 10px;
  }
}
.header__sim-title__text {
  position: relative;
  top: 0.1em;
  font-size: 13px;
}
@media screen and (min-width: 768px) {
  .header__sim-title__text {
    font-size: 16px;
  }
}
.header__freecall-sp {
  background: #146fc5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 100%;
  border-left: solid 1px #d6d6d6;
  flex-direction: column;
  padding: 8px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .header__freecall-sp {
    display: none;
  }
}
.header__freecall-sp__text {
  color: #fff;
  font-size: 9px;
  margin-top: 3px;
}
.header__freecall.bl_freecall {
  border-left: none;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .header__logo {
    position: relative;
  }

  *::-ms-backdrop, .header__logo img {
    width: 100%;
    height: auto;
  }
}
.l-footer {
  background: #146fc5;
  padding: 10px 0;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding: 20px 0;
  }
}

.copyright {
  font-size: 12px;
  text-align: center;
  color: #fff;
  margin: 0;
}

.c-aspectRatio {
  position: relative;
  width: 100%;
}
.c-aspectRatio__inside {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-inputCheckbox__input,
.c-inputRadio__input {
  display: none;
}
.c-inputCheckbox__mark,
.c-inputRadio__mark {
  position: relative;
  padding: 0 0 0 30px;
}
.c-inputCheckbox__mark::before,
.c-inputRadio__mark::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #ccc;
  width: 20px;
  height: 20px;
}
.c-inputCheckbox__mark::after,
.c-inputRadio__mark::after {
  position: absolute;
  top: 5px;
  left: 5px;
  background: #0000ff;
  width: 10px;
  height: 10px;
}

.c-inputRadio__mark::before, .c-inputRadio__mark::after {
  border-radius: 50%;
}

:checked + .c-inputCheckbox__mark::after,
:checked + .c-inputRadio__mark::after {
  content: "";
}

/* --------------------------------------------------
  display
-------------------------------------------------- */
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
/* --------------------------------------------------
  cleafix
-------------------------------------------------- */
.u-clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* --------------------------------------------------
  align
-------------------------------------------------- */
.u-alignL {
  text-align: left;
}

.u-alignC {
  text-align: center;
}

.u-alignR {
  text-align: right;
}

/* --------------------------------------------------
  margin
-------------------------------------------------- */
.u-margin.-short {
  margin-bottom: 16px;
}
.u-margin.-middle {
  margin-bottom: 32px;
}
.u-margin.-large {
  margin-bottom: 64px;
}

.guide-text {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .guide-text {
    font-size: 16px;
  }
}

.text-middle {
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .text-middle {
    font-size: 14px;
  }
}

.text-small {
  font-size: 10px;
}
@media screen and (min-width: 768px) {
  .text-small {
    font-size: 12px;
  }
}

.img-text-wrapper .img-wrapper {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .img-text-wrapper {
    display: flex;
    align-items: center;
  }
  .img-text-wrapper .img-wrapper {
    margin-right: 20px;
    flex-shrink: 0;
  }
  .img-text-wrapper .img-wrapper img {
    max-width: 100%;
    height: auto;
  }
  .img-text-wrapper.reverse {
    flex-direction: row-reverse;
  }
  .img-text-wrapper.reverse .img-wrapper {
    margin-right: 0;
    margin-left: 20px;
  }
}

@media screen and (min-width: 768px) {
  .img_w10 {
    width: 10%;
    height: auto;
  }
  .img_w20 {
    width: 20%;
    height: auto;
  }
  .img_w30 {
    width: 30%;
    height: auto;
  }
  .img_w40 {
    width: 40%;
    height: auto;
  }
  .img_w50 {
    width: 50%;
    height: auto;
  }
  .img_w60 {
    width: 60%;
    height: auto;
  }
  .img_w70 {
    width: 70%;
    height: auto;
  }
  .img_w80 {
    width: 80%;
    height: auto;
  }
  .img_w90 {
    width: 90%;
    height: auto;
  }
}
ul.marker {
  padding-left: 0;
  list-style: none;
}

.marker-gray {
  position: relative;
  padding-left: 1em;
}
.marker-gray::before {
  position: absolute;
  content: "";
  top: 0.5em;
  width: 6px;
  height: 6px;
  left: 0em;
  border-radius: 50%;
  background: #666;
}
@media screen and (min-width: 768px) {
  .marker-gray::before {
    top: 0.65em;
  }
}

.marker-red {
  position: relative;
  padding-left: 1em;
}
.marker-red::before {
  position: absolute;
  content: "";
  top: 0.5em;
  width: 6px;
  height: 6px;
  left: 0em;
  border-radius: 50%;
  background: #CF0013;
}
@media screen and (min-width: 768px) {
  .marker-red::before {
    top: 0.65em;
  }
}

.marker-pink {
  position: relative;
  padding-left: 1em;
}
.marker-pink::before {
  position: absolute;
  content: "";
  top: 0.5em;
  width: 6px;
  height: 6px;
  left: 0em;
  border-radius: 50%;
  background: #E42880;
}
@media screen and (min-width: 768px) {
  .marker-pink::before {
    top: 0.65em;
  }
}

.marker-orange {
  position: relative;
  padding-left: 1em;
}
.marker-orange::before {
  position: absolute;
  content: "";
  top: 0.5em;
  width: 6px;
  height: 6px;
  left: 0em;
  border-radius: 50%;
  background: #EA9A2D;
}
@media screen and (min-width: 768px) {
  .marker-orange::before {
    top: 0.65em;
  }
}

.marker-green {
  position: relative;
  padding-left: 1em;
}
.marker-green::before {
  position: absolute;
  content: "";
  top: 0.5em;
  width: 6px;
  height: 6px;
  left: 0em;
  border-radius: 50%;
  background: #25A33E;
}

.marker-blue {
  position: relative;
  padding-left: 1em;
}
.marker-blue::before {
  position: absolute;
  content: "";
  top: 0.5em;
  width: 6px;
  height: 6px;
  left: 0em;
  border-radius: 50%;
  background: #1A86CD;
}
@media screen and (min-width: 768px) {
  .marker-blue::before {
    top: 0.65em;
  }
}

.text-gray {
  color: #666;
}

.text-red {
  color: #CF0013;
}

.text-pink {
  color: #E42880;
}

.text-orange {
  color: #EA9A2D;
}

.text-green {
  color: #25A33E;
}

.text-blue {
  color: #1A86CD;
}

.frame-gray {
  border: 1px solid #C4C3C2;
  padding: 0.8em 1em;
}

.frame-red {
  border: 1px solid #CF0013;
  padding: 0.8em 1em;
}

.frame-pink {
  border: 1px solid #E42880;
  padding: 0.8em 1em;
}

.frame-orange {
  border: 1px solid #EA9A2D;
  padding: 0.8em 1em;
}

.frame-green {
  border: 1px solid #25A33E;
  padding: 0.8em 1em;
}

.frame-blue {
  border: 1px solid #1A86CD;
  padding: 0.8em 1em;
}

.back-gray {
  background: #F4F4F4;
  padding: 0.8em 1em;
}

.back-red {
  background: rgba(207, 0, 19, 0.1);
  padding: 0.8em 1em;
}

.back-pink {
  background: rgba(228, 40, 128, 0.1);
  padding: 0.8em 1em;
}

.back-orange {
  background: rgba(234, 154, 45, 0.13);
  padding: 0.8em 1em;
}

.back-green {
  background: rgba(49, 163, 72, 0.1);
  padding: 0.8em 1em;
}

.back-blue {
  background: rgba(26, 134, 205, 0.1);
  padding: 0.8em 1em;
}

.info-gray {
  background: #777777;
  position: relative;
  padding: 0.8em 1em;
  color: #fff;
  padding-left: 3em;
}
.info-gray::before {
  content: "";
  position: absolute;
  top: 0.9em;
  width: 1.2em;
  height: 1.2em;
  left: 1em;
  background: url("../img/icon_info.svg") no-repeat top center/contain;
}
@media screen and (min-width: 768px) {
  .info-gray::before {
    width: 1.5em;
    height: 1.5em;
  }
}

.info-red {
  background: #CF0013;
  position: relative;
  padding: 0.8em 1em;
  color: #fff;
  padding-left: 3em;
}
.info-red::before {
  content: "";
  position: absolute;
  top: 0.9em;
  width: 1.2em;
  height: 1.2em;
  left: 1em;
  background: url("../img/icon_info.svg") no-repeat top center/contain;
}
@media screen and (min-width: 768px) {
  .info-red::before {
    width: 1.5em;
    height: 1.5em;
  }
}

.info-pink {
  background: #E42880;
  position: relative;
  padding: 0.8em 1em;
  color: #fff;
  padding-left: 3em;
}
.info-pink::before {
  content: "";
  position: absolute;
  top: 0.9em;
  width: 1.2em;
  height: 1.2em;
  left: 1em;
  background: url("../img/icon_info.svg") no-repeat top center/contain;
}
@media screen and (min-width: 768px) {
  .info-pink::before {
    width: 1.5em;
    height: 1.5em;
  }
}

.info-orange {
  background: #EA9A2D;
  position: relative;
  padding: 0.8em 1em;
  color: #fff;
  padding-left: 3em;
}
.info-orange::before {
  content: "";
  position: absolute;
  top: 0.9em;
  width: 1.2em;
  height: 1.2em;
  left: 1em;
  background: url("../img/icon_info.svg") no-repeat top center/contain;
}
@media screen and (min-width: 768px) {
  .info-orange::before {
    width: 1.5em;
    height: 1.5em;
  }
}

.info-green {
  background: #31A348;
  position: relative;
  padding: 0.8em 1em;
  color: #fff;
  padding-left: 3em;
}
.info-green::before {
  content: "";
  position: absolute;
  top: 0.9em;
  width: 1.2em;
  height: 1.2em;
  left: 1em;
  background: url("../img/icon_info.svg") no-repeat top center/contain;
}
@media screen and (min-width: 768px) {
  .info-green::before {
    width: 1.5em;
    height: 1.5em;
  }
}

.info-blue {
  background: #1A86CD;
  position: relative;
  padding: 0.8em 1em;
  color: #fff;
  padding-left: 3em;
}
.info-blue::before {
  content: "";
  position: absolute;
  top: 0.9em;
  width: 1.2em;
  height: 1.2em;
  left: 1em;
  background: url("../img/icon_info.svg") no-repeat top center/contain;
}
@media screen and (min-width: 768px) {
  .info-blue::before {
    width: 1.5em;
    height: 1.5em;
  }
}

@media screen and (min-width: 768px) {
  .mt-1 {
    margin-top: -1em !important;
  }
}

.styleGuide .level2-heading-leftLine + .guide-text {
  margin-top: 0;
}
.styleGuide .level2-heading-leftLine.mb-narrow + .guide-text {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .styleGuide .use-nav__list {
    align-items: stretch;
  }
}
.styleGuide .use-nav__item {
  display: block;
  color: currentColor;
}
.styleGuide .use-nav__item .guide-text {
  display: block;
  margin: 0 20px;
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .styleGuide .use-nav__item:hover .use-nav__link::before {
    background: #0A419D;
  }
}
.styleGuide .result-plan__price-wrapper p.guide-text {
  font-size: 12px;
}
.styleGuide .bl_service-plan p.guide-text {
  font-size: 12px;
  padding: 0 10px;
}
@media screen and (min-width: 768px) {
  .styleGuide .bl_entry .guide-text {
    margin-left: 190px;
  }
}
.styleGuide .note {
  margin: 0;
  margin-top: 1em;
  padding-left: 1em;
  text-indent: -1em;
}
.styleGuide .note + .note {
  margin-top: 0;
}

.ly-padding {
  padding: 0 15px 0 15px;
}
@media screen and (min-width: 768px) {
  .ly-padding {
    padding: 10px 30px 0 30px;
  }
}

@media screen and (min-width: 768px) {
  .ly-form-guide {
    margin-left: 145px;
  }
}

html,
body {
  font-family: "メイリオ", "Meiryo", "ＭＳ ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

html, body:not(.body-footerNoFixed) {
  display: flex;
  flex-direction: column;
}

body {
  min-height: 100vh;
}

main {
  padding-top: 54px;
  flex-grow: 1;
}
@media screen and (min-width: 768px) {
  main {
    padding-top: 80px;
  }
}
main.notification {
  padding-top: 82px;
}
@media screen and (min-width: 768px) {
  main.notification {
    padding-top: 113px;
  }
}
.topbtn__wrapper {
  position: fixed;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s opacity;
  z-index: 1000;
  bottom: 54px;
  right: 15px;
}
@media screen and (min-width: 768px) {
  .topbtn__wrapper {
    bottom: 70px;
    right: 14px;
  }
  .topbtn__wrapper:hover {
    opacity: 0.7;
  }
}
.topbtn__wrapper.active {
  opacity: 1;
  pointer-events: auto;
}
.topbtn__wrapper .topbtn {
  background: #146fc5;
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
}
@media screen and (min-width: 768px) {
  .topbtn__wrapper .topbtn {
    width: 55px;
    height: 55px;
  }
}
.topbtn__wrapper .topbtn::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(-45deg);
  top: 45%;
  left: 0;
  right: 0;
  margin: 0 auto;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  /* IE11だとクリックでページがうごくからIE11のみ position: static;*/
}

@media all and (-ms-high-contrast: none) {
  /* IE11 */
  *::-ms-backdrop, input[type=checkbox],
  *::-ms-backdrop, input[type=radio] {
    position: static;
  }
}
input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

/* safariやfirefoxでプレスホルダーがずれるの防止*/
input[type=text] {
  line-height: normal;
}

select::-ms-expand {
  display: none;
}

@media (min-width: 751px) {
  a[href*="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
  }
}
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, a[href*="tel:"] {
    display: inline-block;
  } /* IE11 */
}
a:hover {
  text-decoration: none;
}

.hp_underline {
  text-decoration: underline;
}

.hp_alignItems-flexStart {
  align-items: flex-start !important;
}

@media screen and (min-width: 768px) {
  .hp_alignItems-flexStart_pc {
    align-items: flex-start !important;
  }
}

.hp_textLeft {
  text-align: left !important;
}

@media screen and (min-width: 768px) {
  .hp_fz14_pc {
    font-size: 14px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_textCenter_pc {
    text-align: center;
  }
}

.hp_robot {
  font-family: "Roboto", sans-serif;
}

.hp_textCenter {
  text-align: center !important;
}

@media screen and (max-width: 767px) {
  .hp_mt10_sp {
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .hp_mb0_pc {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .hp_p0_pc {
    padding: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mt20_sp {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .hp_mt30_sp {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .hp_mb20_sp {
    margin-bottom: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_mt5_pc {
    margin-top: 5px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_mt10_pc {
    margin-top: 10px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_mt20_pc {
    margin-top: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_mt40_pc {
    margin-top: 40px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_mt50_pc {
    margin-top: 50px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_mt60_pc {
    margin-top: 60px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt10_pc {
    padding-top: 10px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt12_pc {
    padding-top: 12px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt13_pc {
    padding-top: 13px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt15_pc {
    padding-top: 15px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt20_pc {
    padding-top: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt22_pc {
    padding-top: 22px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt25_pc {
    padding-top: 25px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt30_pc {
    padding-top: 30px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pt40_pc {
    padding-top: 40px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pb20_pc {
    padding-bottom: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pb22_pc {
    padding-bottom: 22px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pb25_pc {
    padding-bottom: 25px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pb30_pc {
    padding-bottom: 30px !important;
  }
}

@media screen and (min-width: 768px) {
  .hp_pb40_pc {
    padding-bottom: 40px !important;
  }
}

.hp_color_red {
  color: #CF0013;
}

.ly_content {
  max-width: 960px;
  margin: 0 auto;
  width: calc(100% - 30px);
  padding: 30px 0 100px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .ly_content {
    padding: 50px 0;
  }
}

.ly_narrow {
  width: calc(100% - 30px);
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .under-wide {
    margin-bottom: 20px;
  }
}

.bl_content-wrapper, .bl_content-wrapper-narrow {
  background: #fff;
  padding: 30px 15px;
}
@media screen and (min-width: 768px) {
  .bl_content-wrapper, .bl_content-wrapper-narrow {
    padding: 60px;
  }
}

.bl_content-wrapper-narrow {
  position: relative;
  padding: 15px;
}

.bl_content-wrapper-narrow + .bl_content-wrapper-narrow {
  margin-top: 20px;
}

.bl_content-wrapper.upper-narrow, .upper-narrow.bl_content-wrapper-narrow {
  padding: 15px 15px 30px;
}
@media screen and (min-width: 768px) {
  .bl_content-wrapper.upper-narrow, .upper-narrow.bl_content-wrapper-narrow {
    padding: 30px 60px 50px;
  }
}

.bl_content-wrapper.under-narrow, .under-narrow.bl_content-wrapper-narrow {
  padding-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .bl_content-wrapper.under-narrow, .under-narrow.bl_content-wrapper-narrow {
    padding-bottom: 30px;
  }
}

.bl_content-secondary-wrapper {
  background: #fff;
}

/*幅900px シミュレーションページ*/
.bl_content-wrapper-w900 {
  background: #fff;
  padding: 25px 15px 25px;
}
@media screen and (min-width: 768px) {
  .bl_content-wrapper-w900 {
    max-width: 900px;
    margin: 0 auto;
    padding: 47px 6.5% 47px;
  }
}
.bl_content-wrapper-w900.box-close {
  padding-top: 0;
  padding-bottom: 0;
}

.bl_content-wrapper-w900 + .bl_content-wrapper-w900 {
  margin-top: 4px;
}

.bg_color {
  background: #E7E7E7;
}

.mt0 {
  margin-top: 0 !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.ml0 {
  margin-left: 0 !important;
}

.mb-minus {
  margin-bottom: -10px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pl0 {
  padding-left: 0 !important;
}

@media screen and (min-width: 768px) {
  .hp_text {
    font-size: 14px !important;
  }
}

.cl-main {
  color: #146fc5;
}

::placeholder {
  color: #999;
}

.btn-border {
  position: relative;
}
.btn-border::before {
  border: 4px solid #ddd;
  transition: 0.3s ease-in;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .btn-border:hover::before {
    border: 7px solid #0A419D;
    box-shadow: 4px 2px 8px -4px rgba(0, 0, 0, 0.8);
  }
}

.btn_application, .btn_sim, .btn_search__wrapper, .btn_nextPage__wrapper, .btn_plan__wrapper, .btn_reverse, .btn_return {
  display: inline-block;
  color: #fff;
  position: relative;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: linear-gradient(to bottom, #0a419d 0%, #136ec4 100%);
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .btn_application, .btn_sim, .btn_search__wrapper, .btn_nextPage__wrapper, .btn_plan__wrapper, .btn_reverse, .btn_return {
    width: 200px;
    font-size: 20px;
  }
  .btn_application:hover .btn-gradetion-hover, .btn_sim:hover .btn-gradetion-hover, .btn_search__wrapper:hover .btn-gradetion-hover, .btn_nextPage__wrapper:hover .btn-gradetion-hover, .btn_plan__wrapper:hover .btn-gradetion-hover, .btn_reverse:hover .btn-gradetion-hover, .btn_return:hover .btn-gradetion-hover {
    opacity: 1;
  }
}
.btn_application::before, .btn_sim::before, .btn_search__wrapper::before, .btn_nextPage__wrapper::before, .btn_plan__wrapper::before, .btn_reverse::before, .btn_return::before {
  position: absolute;
  content: "";
  background: #fff;
  width: 15px;
  height: 15px;
  border-radius: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .btn_application::before, .btn_sim::before, .btn_search__wrapper::before, .btn_nextPage__wrapper::before, .btn_plan__wrapper::before, .btn_reverse::before, .btn_return::before {
    width: 20px;
    height: 20px;
  }
}
.btn_application::after, .btn_sim::after, .btn_search__wrapper::after, .btn_nextPage__wrapper::after, .btn_plan__wrapper::after, .btn_reverse::after, .btn_return::after {
  position: absolute;
  content: "";
  border-top: 2px solid #0A419D;
  border-right: 2px solid #0A419D;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  width: 6px;
  height: 6px;
  z-index: 2;
  pointer-events: none;
}

.btn-gradetion-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #0d5de2 0%, #57a6ea 100%);
  z-index: 0;
  opacity: 0;
  transition: 0.3s;
}

.btn_return {
  max-width: 140px;
  padding: 14px 0;
  background: #777;
  padding: 10px;
  taransition: 0.3s;
}
.btn_return.top_return {
  padding-left: 30px;
}
@media screen and (min-width: 768px) {
  .btn_return {
    max-width: 200px;
    padding: 16px 10px 14px;
    font-size: 18px;
  }
}
.btn_return::before {
  left: 20px;
}
@media screen and (min-width: 768px) {
  .btn_return::before {
    left: 20px;
  }
}
.btn_return::after {
  border-color: #777;
  transform: translateY(-50%) rotate(225deg);
  left: 25px;
}
@media screen and (min-width: 768px) {
  .btn_return::after {
    left: 28px;
  }
}
@media screen and (min-width: 768px) {
  .btn_return:hover {
    background-color: #adadad;
  }
}

.btn_reverse {
  max-width: inherit;
  min-width: 260px;
  width: auto;
  padding: 14px 45px 14px 50px;
  background: #777;
  taransition: 0.3s;
  display: inline-block;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .btn_reverse {
    max-width: inherit;
    padding: 16px 10px 14px;
    font-size: 18px;
    width: 266px;
    margin: 0 10px;
    min-width: inherit;
  }
}
.btn_reverse::before {
  left: 20px;
}
@media screen and (min-width: 768px) {
  .btn_reverse::before {
    left: 20px;
  }
}
.btn_reverse::after {
  border-color: #777;
  transform: translateY(-50%) rotate(225deg);
  left: 25px;
}
@media screen and (min-width: 768px) {
  .btn_reverse::after {
    left: 28px;
  }
}
@media screen and (min-width: 768px) {
  .btn_reverse:hover {
    background-color: #adadad;
  }
}

.btn_plan__wrapper {
  margin: 60px auto 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .btn_plan__wrapper {
    width: 82% !important;
  }
}
.btn_plan__wrapper button,
.btn_plan__wrapper input {
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  padding: 25px 0;
  position: relative;
  z-index: 3;
}
.btn_plan__wrapper::after {
  right: 20px;
}
.btn_plan__wrapper::before {
  right: 15px;
}
@media screen and (min-width: 768px) {
  .btn_plan__wrapper::before {
    right: 12px;
  }
}

.btn_nextPage__wrapper {
  margin-bottom: 35px;
  cursor: pointer;
}
.btn_nextPage__wrapper input {
  position: relative;
  z-index: 3;
}
.btn_nextPage__wrapper::after {
  right: 20px;
}
.btn_nextPage__wrapper::before {
  right: 15px;
}
@media screen and (min-width: 768px) {
  .btn_nextPage__wrapper {
    position: relative;
    width: 50%;
    margin-left: 50px;
    max-width: 443px;
    margin-bottom: 0;
  }
  .btn_nextPage__wrapper::after {
    right: 26px;
  }
  .btn_nextPage__wrapper::before {
    right: 19px;
  }
}

@media screen and (min-width: 768px) {
  .btn_nextPage__wrapper.single {
    margin-left: auto;
    margin-right: auto;
  }
}

.btn_nextPage {
  padding: 30px 2px;
  color: #fff;
  cursor: pointer;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .btn_nextPage {
    width: 100%;
    display: inline-block;
    margin: 0 auto;
  }
}

.btn_search {
  width: 100%;
  height: 100%;
  padding: 8px 20px 10px 10px;
  color: #fff;
  cursor: pointer;
  font-size: 15px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .btn_search {
    padding: 10px;
    font-size: 18px;
    padding-top: 13px;
  }
}

.btn_search__wrapper {
  width: 30%;
  max-width: 77px;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 768px) {
  .btn_search__wrapper {
    width: 170px;
    max-width: inherit;
  }
}
.btn_search__wrapper::before {
  right: 8px;
}
@media screen and (min-width: 768px) {
  .btn_search__wrapper::before {
    right: 20px;
  }
}
.btn_search__wrapper::after {
  border-color: #146fc5;
  transform: translateY(-50%) rotate(45deg);
  right: 13px;
}
@media screen and (min-width: 768px) {
  .btn_search__wrapper::after {
    right: 28px;
  }
}

/*シミュレーションボタン*/
.btn_sim {
  padding: 30px 10px;
  margin-top: 15px;
  font-size: 17px;
}
@media screen and (min-width: 768px) {
  .btn_sim {
    margin: 20px auto 0;
    width: 440px;
    height: 100px;
  }
}
.btn_sim::before {
  right: 9px;
}
@media screen and (min-width: 768px) {
  .btn_sim::before {
    right: 20px;
  }
}
.btn_sim::after {
  border-color: #146fc5;
  transform: translateY(-50%) rotate(45deg);
  right: 14px;
}
@media screen and (min-width: 768px) {
  .btn_sim::after {
    right: 28px;
  }
}

.btn_sim-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  position: relative;
  top: -2px;
}
@media screen and (min-width: 768px) {
  .btn_sim-icon {
    width: 32px;
    height: 39px;
    margin-right: 15px;
  }
}

@media screen and (min-width: 768px) {
  .btn_sim-text {
    position: relative;
    z-index: 1;
  }
}

/*お申し込みボタン*/
.btn_application {
  padding: 30px 30px 30px 20px;
  margin-top: 15px;
  font-size: 17px;
  text-align: left;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .btn_application {
    padding: 30px 30px 28px 20px;
    margin: 0 auto;
    width: 100%;
    height: 120px;
  }
}
.btn_application::before {
  right: 9px;
}
@media screen and (min-width: 768px) {
  .btn_application::before {
    right: 20px;
  }
}
.btn_application::after {
  border-color: #146fc5;
  transform: translateY(-50%) rotate(45deg);
  right: 14px;
}
@media screen and (min-width: 768px) {
  .btn_application::after {
    right: 28px;
  }
}
.btn_application .bl_btn__text {
  position: relative;
  z-index: 2;
}

.btn_application-icon {
  display: inline-block;
  width: 22px;
  height: 8px;
  margin-right: 15px;
  position: relative;
  top: -3px;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .btn_application-icon {
    top: 6px;
    width: 32px;
    height: 39px;
    margin-right: 15px;
  }
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .btn_application-icon {
    top: 0;
  }

  /* IE11 */
}
.arrow {
  content: "";
  text-align: center;
  border-left: 4px solid #146fc5;
  border-bottom: 4px solid #146fc5;
  width: 20px;
  height: 20px;
  margin: 10px auto 20px;
  transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .arrow {
    margin: 30px auto;
  }
}

/*プリントボタンがあるwrapper*/
.have-print-button {
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .have-print-button {
    display: flex;
    align-items: flex-start;
    position: relative;
    justify-content: center;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .have-print-button .caution {
    flex-grow: 1;
    margin-left: 200px;
    margin-top: 0;
  }
  .have-print-button .caution.right {
    margin-left: 0;
  }
}
.have-print-button .button-print {
  position: relative;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .have-print-button .button-print {
    margin-left: 20px;
  }
  .have-print-button .button-print:hover .btn-gradetion-hover {
    opacity: 1;
  }
  .have-print-button .button-print:hover .icon_pdf svg {
    fill: #fff;
  }
  .have-print-button .button-print:hover .pdf__text {
    color: #fff;
  }
}

/*プリントボタン*/
.button-print {
  background: #fff;
  border: 2px solid #0C3992;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  line-height: 1;
  position: relative;
  font-size: 14px;
  max-width: 160px;
  padding: 15px 40px 13px 20px;
  margin: 5px 0 0 auto;
}
@media screen and (min-width: 768px) {
  .button-print {
    max-width: inherit;
    padding: 20px 40px 18px 20px;
    min-width: 200px;
    font-size: 18px;
    margin: auto;
  }
}
.button-print .pdf__text {
  position: relative;
  z-index: 3;
}
.button-print::before {
  content: "";
  width: 15px;
  height: 15px;
  background: #001F6D;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  z-index: 2;
  border-radius: 40px;
}
@media screen and (min-width: 768px) {
  .button-print::before {
    width: 20px;
    height: 20px;
  }
}
.button-print::after {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 16px;
  z-index: 3;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .button-print::after {
    width: 7px;
    height: 7px;
    right: 18px;
  }
}
.button-print .icon_pdf {
  display: inline-block;
  width: 14px;
  height: 15px;
  margin-right: 8px;
  position: relative;
  top: -0.05em;
}
.button-print .icon_pdf svg {
  width: 100%;
  height: auto;
  fill: #0A419D;
}
@media screen and (min-width: 768px) {
  .button-print .icon_pdf {
    width: 17px;
    height: 19px;
  }
}

.bl_btn {
  border: 2px solid #0C3992;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 20px 15px 10px;
  font-weight: bold;
  font-size: 15px;
  position: relative;
  margin-bottom: 8px;
  line-height: 1.2;
  position: relative;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .bl_btn {
    font-size: 20px;
    padding: 28px 20px 28px 20px;
  }
  .bl_btn:hover {
    color: #fff;
  }
  .bl_btn:hover .btn-gradetion-hover {
    opacity: 1;
  }
}
.bl_btn::before {
  background: #0A419D;
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  transform: translateY(-50%);
  top: 50%;
  border-radius: 15px;
  right: 5px;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .bl_btn::before {
    width: 20px;
    height: 20px;
    right: 10px;
  }
}
.bl_btn::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  right: 11px;
  top: 50%;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .bl_btn::after {
    width: 6px;
    height: 6px;
    right: 18px;
  }
}
.bl_btn.btn-gradetion {
  border: none;
  background: linear-gradient(to bottom, #0a419d 0%, #136ec4 100%) !important;
  color: #fff;
}
.bl_btn.btn-gradetion::before {
  transition: 0.3s;
  background: #fff;
}
.bl_btn.btn-gradetion::after {
  transition: 0.3s;
  border-color: #0A419D;
}
@media screen and (min-width: 768px) {
  .bl_btn.btn-gradetion:hover::before {
    background: #0A419D;
  }
  .bl_btn.btn-gradetion:hover::after {
    border-color: #fff;
  }
}
.bl_btn .bl_btn__text {
  position: relative;
  z-index: 2;
}

.level1-heading {
  font-size: 18px;
  text-align: center;
  margin-top: 0;
  line-height: 1.4;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .level1-heading {
    font-size: 32px;
    margin-bottom: 40px;
  }
  .level1-heading.narrow {
    margin-bottom: 20px;
  }
}

.level2-heading, .level2-heading-leftLine {
  font-size: 15px;
  margin: 0;
  line-height: 1.4;
  position: relative;
}
@media screen and (min-width: 768px) {
  .level2-heading, .level2-heading-leftLine {
    font-size: 18px;
    margin-bottom: 30px;
  }
}

.level2_1-heading {
  font-size: 16px;
  text-align: center;
  color: #146fc5;
  margin: 0;
  line-height: 1.4;
  position: relative;
}
@media screen and (min-width: 768px) {
  .level2_1-heading {
    font-size: 25px;
  }
}

.level2-heading.application__title, .application__title.level2-heading-leftLine {
  text-align: center;
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .level2-heading.application__title, .application__title.level2-heading-leftLine {
    font-size: 28px;
  }
}

@media screen and (min-width: 768px) {
  .level2-heading-leftLine.mb-narrow {
    margin-bottom: 10px;
  }
}

.level2-heading-leftLine {
  padding-left: 12px;
}
.level2-heading-leftLine::before {
  content: "";
  position: absolute;
  left: 0px;
  width: 6px;
  background: #146fc5;
  height: 1.2em;
}

.level3-heading {
  font-size: 18px;
  margin: 0;
  line-height: 1.4;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .level3-heading {
    font-size: 36px;
    margin-bottom: 30px;
  }
}

.ly_under_content {
  padding-top: 35px;
}
@media screen and (min-width: 768px) {
  .ly_under_content {
    display: flex;
    align-items: flex-end;
    position: relative;
  }
  .ly_under_content.ly_reverse {
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
  }
}

.ly_under_flex {
  padding-top: 10px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .ly_under_flex {
    padding-top: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/*幅900px シミュレーションページの下コンテンツ*/
.ly_under_content.w900 {
  max-width: 900px;
  margin: 0 auto;
}

.ly_center {
  text-align: center;
}

.border {
  border: 1px solid #eee;
}

@media print {
  .no-print, .no-print *,
  header,
  footer,
  .ly_under_content,
  .ly_under_flex {
    display: none !important;
  }
}
.text {
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  .text {
    font-size: 14px;
  }
}

.is_error .ly_error {
  display: block;
}

.ly_error {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.6);
}

.ly-error-content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.ly_error-message {
  background: #fff;
  padding: 60px 0;
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .ly_error-message {
    width: auto;
    padding: 60px 140px;
  }
}

.error-message {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}

.error-inquiry {
  text-align: center;
  margin-top: 0;
}
.error-inquiry a {
  text-decoration: underline;
}

.error-close-wrapper {
  text-align: center;
  margin-top: 20px;
}

.error-close {
  color: #fff;
  display: inline-block;
  padding: 14px 70px;
  background: #777;
  cursor: pointer;
}

.bl_freecall {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_freecall {
    border-left: 1px solid gray;
    padding-left: 20px;
  }
}

.freecall, .freecall-application {
  background: #fff;
  padding: 7px 12px;
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .freecall, .freecall-application {
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
    padding: 10px 20px;
  }
}
@media screen and (min-width: 768px) {
  .freecall.center, .center.freecall-application {
    margin: 20px auto 0;
  }
}
.freecall__wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.freecall__number {
  font-size: 26px;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  position: relative;
  top: 0.2em;
}
.freecall__number a {
  color: currentColor;
}
.freecall__number::before {
  display: inline-block;
  width: 30px;
  height: 23px;
  margin-right: 10px;
  background: url("../img/icon_freecall.svg") no-repeat left center/contain;
  font-size: 0;
  vertical-align: top;
  content: "フリーコール";
  margin-top: 3px;
}
.freecall__notes {
  font-size: 12px;
  margin-top: -0.5em;
}
.freecall__icon {
  display: inline-block;
  width: 27px;
}
.freecall__text {
  font-size: 12px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: -5px;
}
@media screen and (min-width: 768px) {
  .freecall__text {
    font-size: 14px;
    margin-bottom: 0;
    margin-right: 30px;
  }
}
.freecall__text p {
  margin: 1px 0 0;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .freecall__text p {
    margin: 0;
  }
}
.freecall__app {
  font-size: 12px;
  text-align: center;
  margin: 0 0 0.2em;
}

.freecall-application {
  border: 1px solid #EEE;
}
@media screen and (min-width: 768px) {
  .freecall-application {
    max-width: 544px;
    margin: 0 auto;
  }
}

.icon_info {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 5px;
}
@media screen and (min-width: 768px) {
  .icon_info {
    width: 34px;
    height: 34px;
    margin-right: 10px;
  }
}

.notification__inner {
  display: flex;
  padding: 2px 0 2px 30px;
  background-color: #464646;
}
.notification__inner p {
  margin-top: 0;
  margin-bottom: 0;
}
.notification__inner .f2f-mode::before {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
  margin-top: -2px;
  background: url("../img/icon_f2f.svg") no-repeat left center/contain;
  font-size: 0;
  vertical-align: middle;
  content: "";
}
.notification__inner .f2f-mode .icon_f2f img {
  vertical-align: middle;
  width: 15px;
  height: 15px;
}
.notification__text {
  display: inline-block;
  margin-top: 3px;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
}

.notification__btn {
  max-width: 140px;
  color: #fff;
  background: #777;
  border-radius: 3px;
  font-size: 13px;
  font-weight: bold;
  padding: 1px 5px;
  margin: 3px 15px 3px auto;
  transition: 0.3s;
}
.notification__btn:hover {
  background-color: #999;
}

@media screen and (min-width: 768px) {
  .use-nav__list {
    display: flex;
    align-items: center;
    margin-bottom: 0;
  }
}
.use-nav__item {
  margin-top: 8px;
}
.use-nav__item:first-child {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .use-nav__item {
    width: 49%;
    margin-top: 0;
    margin-left: 1%;
  }
  .use-nav__item:first-child {
    margin-left: 0;
  }
}
.use-nav__link {
  box-sizing: border-box;
  display: inline-block;
  display: flex;
  align-items: center;
  padding: 30px 18px 28px;
  position: relative;
  color: currentColor !important;
  font-weight: bold;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .use-nav__link {
    height: 100px;
    justify-content: center;
    font-size: 20px;
  }
}
.use-nav__link::before {
  position: absolute;
  content: "";
  background: #ddd;
  width: 15px;
  height: 15px;
  border-radius: 10px;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .use-nav__link::before {
    right: 25px;
    width: 20px;
    height: 20px;
  }
}
.use-nav__link::after {
  position: absolute;
  content: "";
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  width: 6px;
  height: 6px;
  right: 20px;
}
@media screen and (min-width: 768px) {
  .use-nav__link::after {
    right: 15px;
    right: 33px;
  }
}
@media screen and (min-width: 768px) {
  .use-nav__link:hover::before {
    background: #0A419D;
  }
}

.housing-formlist {
  display: flex;
  justify-content: space-between;
}
.housing-formlist__item-house, .housing-formlist__item-apartment {
  font-size: 15px;
  padding: 85px 20px 5px;
  display: block;
  width: 49%;
  text-align: center;
  transition: border-color 0.3s;
  position: relative;
}
@media screen and (min-width: 768px) {
  .housing-formlist__item-house, .housing-formlist__item-apartment {
    width: 48%;
    background-repeat: no-repeat;
    padding: 220px 10px 10px 10px;
    font-size: 30px;
    border-width: 8px;
  }
}
.housing-formlist__item-house::after, .housing-formlist__item-apartment::after {
  content: "";
  position: absolute;
  border: 4px solid #dddddd;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .housing-formlist__item-house::after, .housing-formlist__item-apartment::after {
    border-width: 8px;
  }
}
@media screen and (min-width: 768px) {
  .housing-formlist__item-house:hover::after, .housing-formlist__item-apartment:hover::after {
    border: 6px solid #0A419D;
    box-shadow: 4px 2px 8px -4px rgba(0, 0, 0, 0.8);
    border-width: 12px;
  }
}
.housing-formlist__item-house {
  background: #fff no-repeat center bottom 62%/80px;
  background-image: url("../img/icon_house.png");
}
@media screen and (min-width: 768px) {
  .housing-formlist__item-house {
    background-size: 240px auto;
    background-position: top 40px center;
  }
}
.housing-formlist__item-apartment {
  background: #fff no-repeat center bottom 70%/80px;
  background-image: url("../img/icon_apartment.png");
}
@media screen and (min-width: 768px) {
  .housing-formlist__item-apartment {
    background-size: 211px auto;
    background-position: top 30px center;
  }
}
.housing-formlist__text {
  color: currentColor;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.4;
  position: relative;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .housing-formlist__text {
    font-size: 30px;
  }
}
.housing-formlist__text .text_small {
  display: block;
  font-size: 7px;
}
@media screen and (min-width: 768px) {
  .housing-formlist__text .text_small {
    font-size: 14px;
  }
}
.housing-formlist__text::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #dddddd;
  width: 10px;
  height: 10px;
  right: -15px;
  border-radius: 20px;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .housing-formlist__text::before {
    width: 20px;
    height: 20px;
    right: -30px;
  }
}
.housing-formlist__text::after {
  content: "";
  position: absolute;
  top: 50%;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  width: 3px;
  height: 3px;
  right: -11px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .housing-formlist__text::after {
    width: 6px;
    height: 6px;
    right: -22px;
  }
}

@media screen and (min-width: 768px) {
  .housing-formlist__item-house:hover .housing-formlist__text::before,
  .housing-formlist__item-apartment:hover .housing-formlist__text::before {
    background: #0a419d;
  }
}
.housing-formlist__text {
  margin: 0 !important;
}

.housing-formlist__item-house,
.housing-formlist__item-apartment {
  color: currentColor !important;
}

@media screen and (min-width: 768px) {
  .area-search {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.area-search__title {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 0.2em;
}
@media screen and (min-width: 768px) {
  .area-search__title {
    font-size: 18px;
    flex-shrink: 0;
    margin: 0 15px 0 0;
  }
}
.area-search__wrapper {
  display: flex;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .area-search__wrapper {
    width: auto;
  }
}
.area-search__input-area {
  padding-left: 5px;
  border: 1px solid #C4C3C2;
  background: #F4F4F4;
  margin-right: 5px;
  height: auto;
  width: 100%;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .area-search__input-area {
    width: 340px;
    margin-right: 10px;
  }
}
.area-search__input-area:focus {
  background: #fff;
  border-color: #146fc5;
}
.area-search__input-area:focus::placeholder {
  color: transparent;
}

.result-content__title {
  font-size: 19px;
  background: #22AAF7;
  text-align: center;
  margin: 0;
  padding: 15px 5px 10px;
}
@media screen and (min-width: 768px) {
  .result-content__title {
    font-size: 25px;
    padding: 20px 0 10px;
  }
}
.result-content__title-text {
  color: #fff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  line-height: 1.2;
}
.result-content__title-text::before {
  content: "";
  background: url("../img/icon_horn.svg") no-repeat center center/contain;
  width: 28px;
  height: 28px;
  margin-right: 10px;
  margin-top: -0.2em;
}
@media screen and (min-width: 768px) {
  .result-content__title-text::before {
    width: 46px;
    height: 44px;
    margin-right: 20px;
  }
}
.result-content__area-title {
  font-size: 17px;
  margin: 0;
  text-align: center;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .result-content__area-title {
    font-size: 22px;
  }
}

/*条件に該当するエリアが見つかりました*/
.ly-result-area__wrapper {
  background: #fff;
}
.ly-result-area__wrapper .result-content__title {
  padding: 15px;
}

.result-area {
  padding: 20px 15px;
  border-bottom: 1px solid #c4c3c2;
}
@media screen and (min-width: 768px) {
  .result-area {
    display: flex;
    align-items: center;
    padding: 25px 50px;
  }
}
.result-area .area-name__wrapper {
  flex-grow: 1;
}
@media screen and (min-width: 768px) {
  .result-area .area-name__wrapper {
    margin-right: 20px;
  }
}
.result-area .area-name {
  font-size: 15px;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .result-area .area-name {
    font-size: 20px;
  }
}
.result-area .btn_sim {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .result-area .btn_sim {
    padding-right: 30px;
    width: 312px;
    height: 60px;
    margin: 0 auto;
  }
}
.result-area .btn_sim::before {
  right: 12px;
}
.result-area .btn_sim::after {
  right: 17px;
}
@media screen and (min-width: 768px) {
  .result-area .btn_sim::after {
    right: 20px;
  }
}
@media screen and (min-width: 768px) {
  .result-area .btn_sim-icon {
    width: 20px;
    height: 20px;
  }
}
.result-area .btn_sim-text {
  font-size: 18px;
}

.result-apartment {
  border-bottom: 1px solid #C4C3C2;
  padding: 20px 15px 20px;
}
@media screen and (min-width: 768px) {
  .result-apartment {
    padding: 30px 60px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.result-apartment__add {
  font-size: 13px;
  margin: 0;
  color: #585858;
}
@media screen and (min-width: 768px) {
  .result-apartment__add {
    font-size: 14px;
  }
}
.result-apartment__title {
  font-size: 15px;
  margin: 0.3em 0 0;
}
@media screen and (min-width: 768px) {
  .result-apartment__title {
    font-size: 18px;
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .result-apartment__wrapper {
    width: 100%;
    margin-right: 10px;
  }
}
@media screen and (min-width: 768px) {
  .result-apartment .freecall, .result-apartment .freecall-application {
    width: 260px;
    flex-shrink: 0;
    display: block;
  }
  .result-apartment .freecall__number::before {
    display: none;
  }
  .result-apartment .freecall .bl_freecall, .result-apartment .freecall-application .bl_freecall {
    border-left: none;
    padding-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .result-apartment .btn_sim {
    width: 260px;
    flex-shrink: 0;
    padding: 15px 25px;
    margin-top: 0;
    min-height: 106px;
  }
  .result-apartment .btn_sim::before {
    right: 15px;
  }
  .result-apartment .btn_sim::after {
    right: 23px;
  }
  .result-apartment .btn_sim__text {
    padding: 0 10px 0 0px;
    text-align: left;
    line-height: 1.2;
    position: relative;
    z-index: 1;
  }
  .result-apartment .btn_sim .btn_sim-icon {
    width: 34px;
    height: 41px;
    flex-shrink: 0;
    margin-right: 8px;
  }
}

.service {
  background: #F4F4F4;
  padding: 10px;
  display: flex;
  align-items: flex-start;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .service {
    width: 100%;
    padding: 7px 10px;
  }
}
.service__title {
  font-size: 12px;
  flex-shrink: 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .service__title {
    padding-top: 0.2em;
  }
}
.service__list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}
.service__item {
  font-size: 12px;
  list-style: none;
  position: relative;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .service__item {
    font-size: 14px;
  }
}
.service__item::after {
  content: "／";
  color: #aaa !important;
}
.service__item:last-child::after {
  display: none;
}
.service__item.internet {
  color: #1A86CD;
}
.service__item.tv {
  color: #E42880;
}
.service__item.phone {
  color: #25A33E;
}
.service__item.electrical {
  color: #EA9A2D;
}
.service__item.gas {
  color: #C43441;
}

.frame {
  border: 4px solid #ddd;
}

.pager {
  font-size: 14px;
  padding: 20px 0;
}
@media screen and (min-width: 768px) {
  .pager {
    padding: 50px 0;
  }
}
.pager__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.pager__item {
  margin-right: 3px;
}
@media screen and (min-width: 768px) {
  .pager__item {
    margin-right: 5px;
  }
}
.pager__item:last-of-type {
  margin-right: 0;
}
.pager__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid #C4C3C2;
  color: currentColor;
  transition: 0.3s;
}
.pager__link--active {
  border: 1px solid #0A419D;
  background: #0A419D;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .pager__link {
    width: 35px;
    height: 35px;
  }
  .pager__link:hover {
    border: 1px solid #0A419D;
    background: #0A419D;
    color: #fff;
  }
}
.pager__reader {
  width: 30px;
  display: flex;
  padding: 5px;
  justify-content: center;
  align-items: center;
}
.pager__preview {
  margin-right: 10px;
  text-decoration: underline !important;
}
@media screen and (min-width: 768px) {
  .pager__preview {
    margin-right: 20px;
  }
  .pager__preview:hover {
    text-decoration: none !important;
  }
}
.pager__next {
  margin-left: 10px;
  text-decoration: underline !important;
}
@media screen and (min-width: 768px) {
  .pager__next {
    margin-left: 20px;
  }
  .pager__next:hover {
    text-decoration: none !important;
  }
}

.note01-l {
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.4;
  margin: 0;
}
.note01-l a {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .note01-l a:hover {
    text-decoration: none;
  }
}

.note01-l + .note01-l {
  margin-top: 0.4em;
}

.note02 {
  font-size: 13px;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.4;
  margin: 0.3em 0;
}
@media screen and (min-width: 768px) {
  .note02 {
    font-size: 14px;
  }
}

.note03 {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .note03 {
    font-size: 16px;
  }
}

.note04 {
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .note04 {
    font-size: 14px;
  }
}

a {
  color: #0A419D;
}

.progress-line {
  position: relative;
  margin: 10px 0 30px;
}
.progress-line__list {
  position: relative;
  height: 2px;
  background: #146fc5;
  display: block;
  list-style: none;
  padding: 0;
  width: 96%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .progress-line__list {
    height: 4px;
    margin-bottom: 60px;
  }
}
.progress-line__list.progress1 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 0%, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
}
.progress-line__list.progress2 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 12.5%, rgb(255, 255, 255) 12.5%, rgb(255, 255, 255) 100%);
}
.progress-line__list.progress3 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 25%, rgb(255, 255, 255) 25%, rgb(255, 255, 255) 100%);
}
.progress-line__list.progress4 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 37.5%, rgb(255, 255, 255) 37.5%, rgb(255, 255, 255) 100%);
}
.progress-line__list.progress5 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
}
.progress-line__list.progress6 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 62.5%, rgb(255, 255, 255) 62.5%, rgb(255, 255, 255) 100%);
}
.progress-line__list.progress7 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 75%, rgb(255, 255, 255) 75%, rgb(255, 255, 255) 100%);
}
.progress-line__list.progress8 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 87.5%, rgb(255, 255, 255) 87.5%, rgb(255, 255, 255) 100%);
}
.progress-line__list.progress9 {
  background: linear-gradient(to right, #146fc5 0%, #146fc5 100%, rgb(255, 255, 255) 100%, rgb(255, 255, 255) 100%);
}
.progress-line__item {
  background: #fff;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .progress-line__item {
    width: 16px;
    height: 16px;
  }
}
.progress-line__item.number01 {
  left: 0%;
  transform: translateX(-75%) translateY(-50%);
}
.progress-line__item.number02 {
  left: 12.5%;
  transform: translateX(-50%) translateY(-50%);
}
.progress-line__item.number03 {
  left: 25%;
  transform: translateX(-50%) translateY(-50%);
}
.progress-line__item.number04 {
  left: 37.5%;
  transform: translateX(-50%) translateY(-50%);
}
.progress-line__item.number05 {
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.progress-line__item.number06 {
  left: 62.5%;
  transform: translateX(-50%) translateY(-50%);
}
.progress-line__item.number07 {
  left: 75%;
  transform: translateX(-50%) translateY(-50%);
}
.progress-line__item.number08 {
  left: 87.5%;
  transform: translateX(-50%) translateY(-50%);
}
.progress-line__item.number09 {
  left: 100%;
  transform: translateX(-75%) translateY(-50%);
}
.progress-line__item.pass {
  background: #146fc5;
}
.progress-line__number {
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  background: #146fc5;
  color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateX(-25%);
  border-radius: 40px;
  width: 22px;
  height: 22px;
  line-height: 1.1;
  text-align: center;
  display: block;
  justify-content: center;
  padding-top: 45%;
  visibility: hidden;
}
@media screen and (min-width: 768px) {
  .progress-line__number {
    width: 38px;
    height: 38px;
    font-size: 18px;
    padding-top: 55%;
  }
}
.progress-line__end {
  font-size: 9px;
  line-height: 1;
  width: 29px;
  height: 29px;
  padding-top: 80%;
}
@media screen and (min-width: 768px) {
  .progress-line__end {
    font-size: 14px;
    white-space: nowrap;
    width: 48px;
    height: 48px;
    padding-top: 17px;
  }
}

.caution {
  color: #CF0013;
  font-size: 13px;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .caution {
    text-align: center;
    font-size: 14px;
  }
  .caution.fz_middle {
    font-size: 15px;
  }
}

/*　ラベル　*/
input + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding-left: 20px;
  line-height: 1.4;
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  input + label {
    font-size: 16px;
  }
}

.explanation input + label {
  padding-left: 30px;
}

/* inputの位置と枠　*/
input + label:before {
  display: inline-block;
  border: 1px solid #B4B4B4;
  content: "";
  margin-right: 10px;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/*　チェックボックス枠　*/
input[type=checkbox] + label:before {
  left: 0;
  width: 20px;
  height: 20px;
}

/*　チェックボックスチェックマーク　*/
input[type=checkbox]:checked + label:after {
  display: block;
  position: absolute;
  top: 50%;
  left: -5px;
  width: 9px;
  height: 14px;
  transform: rotate(45deg) translateY(-100%);
  border-right: 3px solid #146fc5;
  border-bottom: 3px solid #146fc5;
  content: "";
}

.confirmation {
  padding-bottom: 30px;
}
.confirmation:last-of-type {
  padding-bottom: 20px;
}
.confirmation .level2-heading-leftLine {
  margin-bottom: 15px;
}
.confirmation__link {
  display: inline-block;
  font-size: 14px;
  text-decoration: underline !important;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .confirmation__link {
    font-size: 16px;
  }
  .confirmation__link:hover {
    text-decoration: none !important;
  }
}
.confirmation .el_checkbox {
  margin: 15px 0;
}

.el_checkbox {
  background: #F4F4F4;
  padding: 10px;
  display: flex;
  align-items: center;
  min-height: 62px;
}
@media screen and (min-width: 768px) {
  .el_checkbox {
    padding: 30px 40px;
  }
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .el_checkbox {
    padding: 20px 30px;
  }
}
/* 項目ごと　*/
.bl_entry {
  border-bottom: 1px solid #C4C3C2;
  padding: 20px 0px 24px;
}
@media screen and (min-width: 768px) {
  .bl_entry {
    padding: 24px 10px;
  }
}
.bl_entry:last-of-type {
  border-bottom: none;
  padding-bottom: 20px;
}

/*確認画面だと bl_entry のpadding縦の幅が違う*/
.confirmation .bl_entry {
  padding: 20px 0 20px;
}
@media screen and (min-width: 768px) {
  .confirmation .bl_entry {
    padding: 24px 10px;
  }
}

.entry {
  /*項目見出しと必須*/
  /* 項目見出し　*/
  /* 項目のテキスト */
  /*input text*/
  /* PC版の住所欄表示枠*/
  /*注釈の文字*/
}
@media screen and (min-width: 768px) {
  .entry {
    display: flex;
    align-items: center;
  }
}
.entry + .entry {
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .entry + .entry {
    margin-top: 20px;
  }
}
.entry__title-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .entry__title-wrapper {
    align-items: flex-end;
    justify-content: flex-end;
    flex-shrink: 0;
    margin-right: 30px;
    margin-top: 0.1em;
    width: inherit;
    flex-basis: 160px;
  }
}
.entry__title {
  font-size: 15px;
  margin: 0;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .entry__title {
    text-align: right;
    font-size: 16px;
  }
}
.entry__sub-title {
  margin: 0;
  font-weight: normal;
  font-size: 14px;
  margin-top: 0.5em;
  margin-bottom: 0;
}
.entry__text {
  font-size: 15px;
  padding-left: 1em;
  margin: 0.2em 0 0;
  word-break: break-all;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .entry__text {
    margin-top: 0;
    font-size: 16px;
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px) {
  .entry__text-small {
    font-size: 14px;
    display: inline-block;
  }
}
.entry__box {
  flex-grow: 1;
  position: relative;
}
.entry__input {
  background: #F4F4F4;
  border: 1px solid #767676;
  border-radius: 5px;
  font-size: 15px;
  padding: 10px 5px 10px;
  width: 100%;
  /*入力済み*/
}
.entry__input.error {
  background: #FBEAEB;
  border-color: #C80014;
}
.entry__input.entered {
  background: #fff !important;
}
.entry__input.ly_middle2 {
  width: 48.5%;
}
@media screen and (min-width: 768px) {
  .entry__input {
    /*横幅サイズの変更*/
  }
  .entry__input.ly_middle {
    max-width: 340px;
  }
  .entry__input.ly_middle2 {
    max-width: 200px;
  }
  .entry__input.ly_long {
    max-width: 630px;
  }
  .entry__input.ly-midium {
    max-width: 500px;
  }
  .entry__input.ly_short {
    max-width: 120px;
  }
  .entry__input.ly_mr10 {
    margin-right: 10px;
  }
}
.entry__input:focus {
  background: #fff;
  border-color: #146fc5;
}
.entry__input:focus::placeholder {
  color: transparent;
}
.entry__add_pc {
  flex-grow: 1;
}
.entry__ymd {
  width: 100%;
}
.entry__attention {
  margin-top: 0.5em;
  margin-bottom: -0.5em;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .entry__attention {
    font-size: 14px;
  }
}

/*セレクトボックスの矢印カスタマイズ*/
.ymd-wrapper {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}

select {
  width: 100%;
}

.select-wrapper:focus-within {
  border-color: #146fc5;
}

.select-wrapper {
  display: inline-block;
  position: relative;
  border: 1px solid #000;
  border-radius: 5px;
  font-size: 15px;
  padding: 10px 5px 8px;
  width: 100%;
  margin-right: 2.5%;
}
.select-wrapper.error {
  background: #FBEAEB;
}
.select-wrapper:last-of-type {
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  .select-wrapper.ly_middle {
    max-width: 320px;
  }
}
@media screen and (min-width: 768px) {
  .select-wrapper.select_pref {
    max-width: 340px;
  }
}
.select-wrapper.year {
  width: 45%;
}
@media screen and (min-width: 768px) {
  .select-wrapper.year {
    width: auto;
    min-width: 120px;
  }
}
.select-wrapper.month, .select-wrapper.day {
  width: 25%;
}
@media screen and (min-width: 768px) {
  .select-wrapper.month, .select-wrapper.day {
    width: auto;
    min-width: 120px;
  }
}

@media screen and (min-width: 768px) {
  .bl_entry .ly_middle {
    max-width: 320px;
  }
}
@media screen and (min-width: 768px) {
  .bl_entry .select_pref {
    max-width: 340px;
  }
}

.select-wrapper::after {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-width: 8.7px 5px 0 5px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
  content: "";
  pointer-events: none;
}

.ly_ymd {
  margin-right: 2.5%;
  width: 100%;
}

.selecter.select_ymd {
  min-width: 33%;
}
@media screen and (min-width: 768px) {
  .selecter.select_ymd {
    min-width: 120px;
  }
}

/*ラジオボタンの大枠囲み*/
.col1-wrapper > .radio-wrapper {
  width: 100%;
  margin-bottom: 2.5%;
}
.col1-wrapper > .radio-wrapper:last-of-type {
  margin-bottom: 0;
}

.col2-wrapper {
  display: flex;
  justify-content: space-between;
  /*現住所のPC版表示*/
}
.col2-wrapper > .radio-wrapper {
  width: 48.5%;
}
@media screen and (min-width: 768px) {
  .col2-wrapper > .radio-wrapper {
    width: auto;
    margin-right: 30px;
  }
}
.col2-wrapper.col1-wrapper-pc {
  display: block;
}
.col2-wrapper.col1-wrapper-pc > .radio-wrapper {
  width: 100%;
  margin-bottom: 15px;
}
.col2-wrapper.col1-wrapper-pc > .radio-wrapper.is_diff-add {
  margin-bottom: 0;
}

.col3-wrapper {
  display: flex;
  justify-content: space-between;
}
.col3-wrapper > .radio-wrapper {
  width: 31%;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .col3-wrapper > .radio-wrapper {
    width: auto;
    margin-right: 30px;
    margin-bottom: 0;
  }
}
.col3-wrapper > .margin-content {
  width: 31%;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .col3-wrapper > .margin-content {
    width: 0;
    margin-bottom: 0;
  }
}
.col3-wrapper.col1-wrapper-pc > .radio-wrapper {
  width: 100%;
  margin-bottom: 15px;
}

.ly_fg1 {
  flex-grow: 1;
}

.diff_zip-wrapper {
  display: flex;
  align-items: center;
}

.is_different {
  padding-top: 5px;
  display: none;
}
@media screen and (min-width: 768px) {
  .is_different {
    padding-left: 30px;
  }
}
.is_different .bl_btn {
  display: block;
  height: auto;
  width: auto;
  margin-bottom: 0;
  margin-left: 10px;
  padding: 10px 20px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .is_different .bl_btn {
    padding: 10px 30px;
  }
}
.is_different .bl_btn::before {
  display: none;
}
.is_different .bl_btn::after {
  display: none;
}
.is_different .bl_btn__text {
  font-weight: normal;
  font-size: 16px;
}

.is_phone_cable_plus_np {
  padding-top: 5px;
  display: none;
}
@media screen and (min-width: 768px) {
  .is_phone_cable_plus_np {
    padding-left: 30px;
  }
}

.diff_phone_cable_plus_current_corporation_etc {
  display: none;
}

/*ラジオボタンの囲み*/
.radio-wrapper {
  position: relative;
  border: 1px solid #000;
  border-radius: 5px;
  font-size: 15px;
  padding: 10px 5px 12px;
  background: #F4F4F4;
  display: flex;
  align-items: center;
}
.radio-wrapper.checked {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .radio-wrapper {
    border: none;
    background: transparent;
    padding: 0;
  }
}
.radio-wrapper label {
  width: 100%;
}
.radio-wrapper label .text {
  position: relative;
  top: 0.05em;
  margin-left: 8px;
}

/*　ラジオボタン枠　*/
input[type=radio] + label:before {
  top: 50%;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 8px;
  transfrom: transrateY(-50%);
}
@media screen and (min-width: 768px) {
  input[type=radio] + label:before {
    width: 20px;
    height: 20px;
    border-radius: 10px;
  }
}

/* ラジオボタンのチェック　*/
input[type=radio]:checked + label:after {
  display: block;
  position: absolute;
  top: 50%;
  left: 4px;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background-color: #146fc5;
  content: "";
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  input[type=radio]:checked + label:after {
    width: 10px;
    height: 10px;
    border-radius: 5px;
    left: 5px;
  }
}

/*電話番号の囲み*/
.tel-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.tel-wrapper > input {
  width: 28%;
}
@media screen and (min-width: 768px) {
  .tel-wrapper > input {
    width: auto;
  }
}
.tel-wrapper .line {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .tel-wrapper .line {
    display: inline-block;
    margin: 0 10px;
  }
}

/*テキストエリア*/
.textarea {
  border: 1px solid #000;
  border-radius: 5px;
  font-size: 15px;
  padding: 10px 5px 8px;
  background: #F4F4F4;
  width: 100%;
  font-size: 14px;
  min-height: 8em;
}
.textarea.entered {
  background: #fff;
}
.textarea:focus {
  background: #fff;
  border-color: #146fc5;
}
@media screen and (min-width: 768px) {
  .textarea {
    height: 160px;
    margin-right: 40px;
  }
}

/*カレンダー*/
.calendar {
  position: relative;
}
.calendar::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

/* 必須項目の米印*/
.required {
  color: #CF0013;
  font-size: 14px;
  margin-left: 5px;
  display: inline-block;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .required {
    line-height: 1.5;
    font-size: 15px;
  }
}

/* 最終的な料金プラン*/
.result-plan {
  /*料金プランのボックス*/
  /*料金*/
  /*通貨記号*/
  /*税表示*/
}
.result-plan__price-wrapper {
  margin: 0 10px;
}
@media screen and (min-width: 768px) {
  .result-plan__price-wrapper {
    margin-right: 0;
  }
}
.result-plan__title {
  background: #146fc5;
  color: #fff;
  font-size: 16px;
  padding: 5px 10px 3px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .result-plan__title {
    font-size: 20px;
    padding: 5px 20px 3px;
  }
}
@media screen and (min-width: 768px) {
  .result-plan__price-wrapper {
    display: flex;
  }
}
.result-plan__price-main {
  padding-right: 20px;
}
@media screen and (min-width: 768px) {
  .result-plan__price-main {
    flex-basis: 200px;
  }
}
.result-plan__price {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  white-space: nowrap;
}
.result-plan__priceNumber {
  margin: 0;
  font-size: 39px !important;
  font-weight: bold;
  color: #CF0013;
  line-height: 1;
  text-align: right;
  font-family: "Roboto", sans-serif;
}
.result-plan__priceCurrency {
  font-weight: bold;
  position: relative;
  top: -0.1em;
}
.result-plan__priceTax {
  text-align: right;
  margin: 0;
  font-size: 14px;
}

.result-items__price {
  white-space: nowrap;
}

/*内訳のボックス*/
.result-items {
  /* 「内訳」の見出し */
  /*「小計」「割引」の見出し*/
  /*「小計」「割引」の料金*/
}
.result-items-wrapper {
  margin: 5px 0;
  background: #F5F7F9;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 10px 15px;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .result-items-wrapper {
    flex-grow: 1;
    justify-content: flex-start;
  }
}
.result-items__title {
  color: #146fc5;
  font-weight: bold;
  font-size: 14px;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .result-items__title {
    font-size: 16px;
    margin-right: 25px;
    margin-top: 0.1em;
    flex-basis: 50px;
  }
}
.result-items__table {
  margin: 0;
  justify-content: flex-end;
}
.result-items__table-head {
  font-size: 15px;
  font-weight: normal;
  text-align: right;
  white-space: nowrap;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .result-items__table-head {
    font-size: 16px;
  }
}
.result-items__price {
  font-size: 15px;
  text-align: right;
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  .result-items__price {
    font-size: 16px;
    padding-left: 20px;
  }
}

/*「基本サービスの内訳」の大枠とタイトル*/
.bl_service-plan {
  margin-top: 30px;
  /*「基本サービスの内訳」大見出し*/
  /*「内容を変更」のリンク*/
}
.bl_service-plan__title-wrapper {
  background: #D9E7F9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px 3px;
}
@media screen and (min-width: 768px) {
  .bl_service-plan__title-wrapper {
    padding: 5px 20px 3px;
  }
}
.bl_service-plan__title {
  margin: 0;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .bl_service-plan__title {
    font-size: 20px;
  }
}
.bl_service-plan__link {
  font-size: 14px;
  display: inline-block;
  text-decoration: underline !important;
}
@media screen and (min-width: 768px) {
  .bl_service-plan__link {
    font-size: 16px;
  }
  .bl_service-plan__link:hover {
    text-decoration: none !important;
  }
}

/*基本サービスの内訳*/
.discount .service-plan {
  border: none;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .discount .service-plan {
    padding-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .discount .service-plan__text-wrapper {
    /*display: flex;
    flex-wrap: wrap;*/
  }
  .discount .service-plan__text-wrapper .service-plan__text {
    /*margin-right: 30px;*/
    margin-bottom: 5px;
    display: block;
  }
}

.service-plan {
  padding: 20px 0 14px 15px;
  border-bottom: 2px solid #E7E7E7;
  /*中見出し*/
  /*内訳のテキスト*/
}
@media screen and (min-width: 768px) {
  .service-plan {
    display: flex;
    align-items: flex-start;
  }
}
.service-plan:last-of-type {
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .service-plan:last-of-type {
    padding-bottom: 13px;
  }
}
.service-plan__title {
  font-size: 15px;
  margin: 0 5px 0 0;
  color: #646464;
  position: relative;
  display: flex;
  align-items: flex-start;
}
.service-plan__title::before {
  position: relative;
  left: 0;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  content: "";
}
@media (max-width: 991px) and (min-width: 767px) {
  .service-plan__title {
    flex-basis: auto;
  }
}
@media screen and (min-width: 768px) {
  .service-plan__title {
    font-size: 16px;
    line-height: 1;
  }
}
.service-plan__title.internet {
  display: flex;
  align-items: flex-start;
  color: #146fc5;
}
@media screen and (min-width: 768px) {
  .service-plan__title.internet {
    align-items: center;
  }
}
.service-plan__title.internet::before {
  background: url("../img/icon_internet.svg") no-repeat center center/contain;
  width: 18px;
  height: 18px;
  content: "";
  left: 0;
  position: relative;
  margin-right: 5px;
  flex-shrink: 0;
  top: 2px;
}
@media screen and (min-width: 768px) {
  .service-plan__title.internet::before {
    width: 20px;
    height: 20px;
    top: -0.1em;
  }
}
.service-plan__title.tv {
  display: flex;
  align-items: flex-start;
  color: #E42880;
}
.service-plan__title.tv::before {
  background: url("../img/icon_tv.svg") no-repeat center center/contain;
  width: 18px;
  height: 18px;
  content: "";
  left: 0;
  position: relative;
  margin-right: 5px;
  flex-shrink: 0;
  top: 2px;
}
@media screen and (min-width: 768px) {
  .service-plan__title.tv::before {
    width: 22px;
    height: 19px;
    top: -0.3em;
  }
}
.service-plan__title.phone {
  display: flex;
  align-items: flex-start;
  color: #25A33E;
}
.service-plan__title.phone::before {
  background: url("../img/icon_phone.svg") no-repeat center center/contain;
  width: 18px;
  height: 18px;
  content: "";
  left: 0;
  position: relative;
  margin-right: 5px;
  flex-shrink: 0;
  top: 2px;
}
@media screen and (min-width: 768px) {
  .service-plan__title.phone::before {
    width: 19px;
    height: 19px;
    top: -0.2em;
  }
}
.service-plan__title.electrical {
  display: flex;
  align-items: flex-start;
  color: #EA9A2D;
}
.service-plan__title.electrical::before {
  background: url("../img/icon_ele.svg") no-repeat center center/contain;
  width: 18px;
  height: 18px;
  content: "";
  left: 0;
  position: relative;
  margin-right: 5px;
  flex-shrink: 0;
  top: 2px;
}
@media screen and (min-width: 768px) {
  .service-plan__title.electrical::before {
    width: 15px;
    height: 20px;
    left: 0.2em;
    top: -0.2em;
    margin-right: 8px;
  }
}
.service-plan__title.gas {
  display: flex;
  align-items: flex-start;
  color: #C43441;
}
.service-plan__title.gas::before {
  background: url("../img/icon_gas.svg") no-repeat center center/contain;
  width: 18px;
  height: 18px;
  content: "";
  left: 0;
  position: relative;
  margin-right: 5px;
  flex-shrink: 0;
  top: 2px;
}
@media screen and (min-width: 768px) {
  .service-plan__title.gas::before {
    width: 15px;
    height: 20px;
    left: 0.2em;
    top: -0.3em;
    margin-right: 9px;
  }
}
.service-plan__title.discount {
  display: flex;
  align-items: flex-start;
  color: #646464;
}
.service-plan__title.discount::before {
  background: url("../img/icon_discount.svg") no-repeat center center/contain;
  width: 18px;
  height: 18px;
  content: '';
  left: 0;
  position: relative;
  margin-right: 5px;
  flex-shrink: 0;
  top: 2px;
}
@media screen and (min-width: 768px) {
  .service-plan__title.discount::before {
    width: 19px;
    height: 19px;
    top: -.2em;
  }
}
.service-plan__inner {
  /*flex-grow: 1;*/
}
@media screen and (min-width: 768px) {
  .service-plan__inner {
    display: block;
    width: calc(100% - 190px);
  }
}
.service-plan__inner .service-plan__title {
  margin: 0;
}
.service-plan__text-wrapper {
  padding: 14px 0 10px 5px;
}
.service-plan__text-wrapper:last-of-type {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .service-plan__text-wrapper:first-of-type {
    padding-top: 0;
    margin-top: -0.3em;
  }
}
.service-plan__text {
  font-size: 15px;
  margin: 0;
  padding-left: 5px;
}
@media screen and (min-width: 768px) {
  .service-plan__text {
    font-size: 16px;
    padding-left: 0;
  }
}

.plan-result .service-plan__inner {
  width: 100%;
}

.discount .service-plan__text-wrapper {
  width: 100%;
}

.service-plan__text-wrapper + .service-plan__text-wrapper {
  border-top: 1px solid #D9E7F9;
}

@media screen and (min-width: 768px) {
  .simration-select__list.wide .simration-select__label {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}

@media screen and (min-width: 768px) {
  .bl_confirmation .service-plan__title,
  .extraction .service-plan__title {
    flex-basis: 190px !important;
  }
}

@media screen and (min-width: 768px) {
  .plan-result .service-plan__title {
    flex-basis: auto !important;
    white-space: nowrap;
    font-size: 14px;
  }
}

/*受付番号部分*/
.application-number {
  background: #F4F4F4;
  padding: 15px 10px 20px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  /*「受付番号：」部分テキスト*/
  /*受付番号*/
}
@media screen and (min-width: 768px) {
  .application-number {
    padding: 30px 10px;
    margin: 20px 0 30px;
  }
}
.application-number__wrapper {
  text-align: left;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .application-number__wrapper {
    display: flex;
    align-items: center;
  }
}
.application-number__title {
  margin: 0 0 5px 0;
  color: #676767;
  font-weight: bold;
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  .application-number__title {
    margin: 0;
    font-size: 16px;
  }
}
.application-number__number {
  margin-top: 0;
  font-size: 19px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .application-number__number {
    margin: 0;
    font-size: 28px;
  }
}

/*お申し込みブロック*/
.ly_border {
  border: 4px solid #146fc5;
}

.application {
  /*電話説明・訪問説明・資料請求のボタンのラッパー*/
}
.application .level1-heading {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .application .level1-heading {
    margin-bottom: 30px;
    font-size: 28px;
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .application .level2-heading, .application .level2-heading-leftLine {
    margin-bottom: 15px;
  }
}
.application-button-wrapper {
  margin: 20px 0 10px;
}
@media screen and (min-width: 768px) {
  .application-button-wrapper {
    margin: 20px -10px 15px;
  }
}
.application-button-wrapper .bl_btn {
  padding-right: 2em;
}
.application-button-wrapper.col1 {
  display: flex;
  justify-content: center;
}
.application-button-wrapper.col1 > .bl_btn {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .application-button-wrapper.col1 > .bl_btn {
    width: 98%;
  }
}
.application-button-wrapper.col2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .application-button-wrapper.col2 {
    justify-content: center;
  }
}
.application-button-wrapper.col2 > .bl_btn {
  width: 48%;
}
@media screen and (min-width: 768px) {
  .application-button-wrapper.col2 > .bl_btn {
    width: 48%;
    margin: 0 1%;
  }
}
@media screen and (min-width: 768px) {
  .application-button-wrapper.col3_pc > .bl_btn {
    width: 31.3% !important;
    margin: 1%;
  }
}

/* タブレットで矢印が重なるの防止*/
@media (max-width: 991px) and (min-width: 768px) {
  .application-button-wrapper .bl_btn {
    padding: 28px 35px 28px 10px;
  }
}
.plan-detail {
  display: none;
}

.plan-select-content .level2-heading, .plan-select-content .level2-heading-leftLine {
  font-size: 18px;
  text-align: center;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .plan-select-content .level2-heading, .plan-select-content .level2-heading-leftLine {
    font-size: 18px;
  }
}
.plan-select-content .level2-heading-leftLine {
  font-size: 15px;
  text-align: left;
}
.plan-select-content .box-close .level3-heading {
  font-size: 15px;
  text-align: left;
  padding-right: 30px;
}
@media screen and (min-width: 768px) {
  .plan-select-content .box-close .level3-heading {
    font-size: 21px;
    margin-bottom: 0;
  }
}
.plan-select-content .bl_entry {
  padding: 10px 0;
}

.plan {
  /*おすすめプランタイトルテキスト*/
  /*タイトル・テキスト・アイコン囲み*/
  /*プラン詳細テキストタイトル囲み*/
  /*アイコン*/
  /*料金の囲み*/
}
.plan__body {
  margin-top: 20px;
}
.plan__main-title {
  font-size: 18px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .plan__main-title {
    font-size: 28px;
    margin-bottom: 0px;
  }
}
.plan__main-inner {
  position: relative;
}
.plan__main-icon {
  display: inline-block;
}
.plan__list {
  list-style: none;
  padding: 0;
}
.plan__item {
  margin-top: 10px;
  position: relative;
}
.plan__item a {
  color: currentColor !important;
}
.plan__item.plan-select .plan__title-text-wrapper {
  padding: 20% 10px;
}
@media screen and (min-width: 768px) {
  .plan__item.plan-select .plan__title-text-wrapper {
    padding-top: 55px;
    padding-bottom: 55px;
  }
}
@media screen and (min-width: 768px) {
  .plan__item-inner {
    display: flex;
    min-height: 180px;
  }
}
.plan__sub-title {
  font-size: 13px;
  background: #22AAF7;
  color: #fff;
  padding: 4px 10px;
  display: inline-block;
  position: relative;
  margin: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .plan__sub-title {
    font-size: 14px;
  }
}
.plan__sub-title::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  content: "";
  background: #22AAF7;
  transform: skewX(-40deg) translateX(0%);
  transform-origin: 100% 100%;
  z-index: -1;
}
.plan__title-wrapper {
  flex-grow: 1;
  min-height: 125px;
}
.plan__upper-box {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .plan__upper-box {
    flex-grow: 1;
    margin-right: 10px;
  }
}
.plan__title-text-wrapper {
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .plan__title-text-wrapper {
    margin-left: 20px;
    padding-top: 7%;
  }
}
.plan__title {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .plan__title {
    font-size: 21px;
  }
}
.plan__text {
  font-size: 13px;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .plan__text {
    font-size: 16px;
  }
}
.plan__text.text_small {
  font-size: 10px;
}
.plan__icons-list {
  list-style: none;
  padding: 0;
  display: flex;
  width: 122px;
  flex-wrap: wrap;
  padding: 10px 5px 5px;
}
.plan__icons-list.col3 {
  width: 178px;
}
@media screen and (min-width: 768px) {
  .plan__icons-list {
    padding-top: 15px;
    width: 160px;
  }
  .plan__icons-list.col3 {
    width: 235px;
  }
}
@media (max-width: 991px) and (min-width: 767px) {
  .plan__icons-list.col3 {
    width: 160px;
  }
}
.plan__icons-item {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 5px;
  margin-bottom: 5px;
  margin-left: 5px;
}
@media screen and (min-width: 768px) {
  .plan__icons-item {
    padding-top: 10px;
    width: 70px;
    height: 70px;
  }
}
.plan__icons-item.internet {
  background: rgba(26, 134, 205, 0.15);
}
.plan__icons-item.tv {
  background: rgba(209, 49, 136, 0.15);
}
.plan__icons-item.phone {
  background: rgba(37, 163, 62, 0.15);
}
.plan__icons-item.gas {
  background: rgba(196, 52, 65, 0.1);
}
.plan__icons-item.ele {
  background: rgba(234, 154, 45, 0.1);
}
.plan__icon {
  display: inline-block;
  width: 17px;
  height: 17px;
}
@media screen and (min-width: 768px) {
  .plan__icon {
    width: 24px;
    height: 24px;
  }
}
.plan .tv .plan__icon {
  padding-top: 2px;
}
.plan .gas .plan__icon {
  width: 12px;
}
.plan .ele .plan__icon {
  width: 12px;
}
.plan__icon-text {
  margin: 0;
  font-size: 12px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .plan__icon-text {
    font-size: 17px;
  }
}
.plan .internet .plan__icon-text {
  color: rgb(26, 134, 205);
}
.plan .tv .plan__icon-text {
  color: rgb(209, 49, 136);
}
.plan .phone .plan__icon-text {
  color: rgb(37, 163, 62);
}
.plan .gas .plan__icon-text {
  color: rgb(196, 52, 65);
}
.plan .ele .plan__icon-text {
  color: rgb(234, 154, 45);
}
.plan__price-box {
  background: #F4F4F4;
  padding: 5px;
  display: flex;
  align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .plan__price-box {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    flex-basis: 30%;
    margin: 0 0 0 auto;
    padding-left: 20px;
    flex-shrink: 0;
  }
}
.plan__price-box-inner {
  display: flex;
  align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .plan__price-box-inner {
    flex-shrink: 0;
  }
}
.plan__month {
  font-size: 12px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .plan__month {
    margin-top: -10px;
    font-size: 13px;
  }
}
.plan__price {
  font-family: "Roboto", sans-serif;
  color: #CF0013;
  font-weight: bold;
  margin: 0;
  font-size: 35px;
  line-height: 1;
  margin-left: 10px;
}
@media screen and (min-width: 768px) {
  .plan__price {
    margin-left: 0;
    font-size: 42px;
    white-space: nowrap;
  }
}
.plan__currency {
  color: #000;
  font-size: 12px;
  display: inline-block;
}

/* タブレットでアイコン縦に　他調整*/
.plan_select-link {
  cursor: pointer;
  display: block;
  transition: 0.3s;
  position: relative;
  padding: 4px;
}
.plan_select-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 4px solid #22AAF7;
  z-index: 2;
  pointer-events: none;
  transition: 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .plan_select-link:hover {
    box-shadow: 4px 2px 8px -4px rgba(0, 0, 0, 0.8);
  }
  .plan_select-link:hover::before {
    border: 7px solid #0A419D;
  }
}

/*おすすめプランアイコン*/
@media screen and (min-width: 768px) {
  .icon-push::before {
    content: "";
    background: url("../img/icon_flag.svg") no-repeat center center/contain;
    width: 24px;
    height: 26px;
    top: 2px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }
}

/*インターネットタイトルアイコン*/
@media screen and (min-width: 768px) {
  .icon-internet::before {
    content: "";
    background: url("../img/icon_internet.svg") no-repeat center center/contain;
    width: 29px;
    height: 29px;
    top: 3px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }
}

/*テレビタイトルアイコン*/
@media screen and (min-width: 768px) {
  .icon-tv::before {
    content: "";
    background: url("../img/icon_tv.svg") no-repeat center center/contain;
    width: 30px;
    height: 27px;
    top: 3px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }
}

/*電話タイトルアイコン*/
@media screen and (min-width: 768px) {
  .icon-phone::before {
    content: "";
    background: url("../img/icon_phone.svg") no-repeat center center/contain;
    width: 27px;
    height: 27px;
    top: 3px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }
}

@media screen and (min-width: 768px) {
  .icon-gas::before {
    content: "";
    background: url("../img/icon_gas.svg") no-repeat center center/contain;
    width: 21px;
    height: 30px;
    top: 3px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }
}

@media screen and (min-width: 768px) {
  .icon-ele::before {
    content: "";
    background: url("../img/icon_ele.svg") no-repeat center center/contain;
    width: 20px;
    height: 30px;
    top: 3px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }
}

/*そのほかサービスタイトルアイコン*/
@media screen and (min-width: 768px) {
  .icon-other::before {
    content: "";
    background: url("../img/icon_other.svg") no-repeat center center/contain;
    width: 24px;
    height: 24px;
    top: 1px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }
}

/*キャンペーンタイトルアイコン*/
@media screen and (min-width: 768px) {
  .icon-campaign::before {
    content: "";
    background: url("../img/icon_campaign.svg") no-repeat center center/contain;
    width: 27px;
    height: 26px;
    top: 3px;
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }
}

.simulationResultAreaExists {
  padding-bottom: 56px;
}
@media screen and (min-width: 768px) {
  .simulationResultAreaExists {
    padding-bottom: 0;
    padding-left: 260px;
  }
}
@media (max-width: 991px) and (min-width: 767px) {
  .simulationResultAreaExists {
    padding-bottom: 0;
    padding-left: 200px;
  }
}

.bl_simration {
  margin-bottom: 0;
}

.simration-select,
.simration-select__item.nest .simration-select {
  /*チェックボックス*/
  /**/
  /*NETFLIXの枠*/
  /*シミュレーション部分のみフォームのカスタマイズ*/
  /*　ラジオボタン・チェックボックス枠　*/
  /* ラジオボタン・チェックボックスのチェック　*/
  /*確定のもの(label.confirm)にはチェックを表示させない*/
}
.simration-select__list,
.simration-select__item.nest .simration-select__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .simration-select__list.col1_sp,
  .simration-select__item.nest .simration-select__list.col1_sp {
    display: block;
  }
  .simration-select__list.col1_sp > .simration-select__item,
  .simration-select__item.nest .simration-select__list.col1_sp > .simration-select__item {
    width: 100% !important;
  }
  .simration-select__list.col1_sp > .simration-select__item + .simration-select__item,
  .simration-select__item.nest .simration-select__list.col1_sp > .simration-select__item + .simration-select__item {
    margin-top: 2%;
  }
}
.simration-select__list.col2 > .simration-select__item,
.simration-select__item.nest .simration-select__list.col2 > .simration-select__item {
  width: 49%;
  margin-top: 2%;
}
@media screen and (min-width: 768px) {
  .simration-select__list.col3_pc > .simration-select__item,
  .simration-select__item.nest .simration-select__list.col3_pc > .simration-select__item {
    width: 32%;
  }
}
@media screen and (min-width: 768px) {
  .simration-select__list.col1_pc > .simration-select__item,
  .simration-select__item.nest .simration-select__list.col1_pc > .simration-select__item {
    width: 100% !important;
    max-width: inherit;
  }
}
.simration-select__label,
.simration-select__item.nest .simration-select__label {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: 15px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .simration-select__label,
  .simration-select__item.nest .simration-select__label {
    padding-top: 25px;
    padding-bottom: 20px;
    text-align: left;
  }
}
.simration-select__label .label-border,
.simration-select__item.nest .simration-select__label .label-border {
  transition: 0.3s border ease-in;
  border: 4px solid #ddd;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.simration-select__label.disabled,
.simration-select__item.nest .simration-select__label.disabled {
  opacity: 0.4;
  cursor: default;
}
@media screen and (min-width: 768px) {
  .simration-select__label:not(.disabled):hover .label-border,
  .simration-select__item.nest .simration-select__label:not(.disabled):hover .label-border {
    border: 7px solid #0a419d;
    box-shadow: 4px 2px 8px -4px rgba(0, 0, 0, 0.8);
  }
}
.simration-select__label-inner,
.simration-select__item.nest .simration-select__label-inner {
  display: block;
}
@media (max-width: 991px) and (min-width: 767px) {
  .simration-select__label-inner,
  .simration-select__item.nest .simration-select__label-inner {
    padding-left: 5px;
  }
}
@media screen and (min-width: 768px) {
  .simration-select__label-inner,
  .simration-select__item.nest .simration-select__label-inner {
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 5px 10px 5px 4%;
  }
}
.simration-select__label-text,
.simration-select__item.nest .simration-select__label-text {
  display: block;
}
@media screen and (min-width: 768px) {
  .simration-select__label-text,
  .simration-select__item.nest .simration-select__label-text {
    margin-left: 8%;
  }
}
.simration-select__plan-heading,
.simration-select__item.nest .simration-select__plan-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  position: relative;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading,
  .simration-select__item.nest .simration-select__plan-heading {
    flex-direction: column;
    margin-bottom: 0;
  }
}
.simration-select__plan-heading.col,
.simration-select__item.nest .simration-select__plan-heading.col {
  flex-direction: column;
  margin-bottom: 0;
  height: 100%;
  padding-top: 15px;
}
.simration-select__plan-heading.col::before,
.simration-select__item.nest .simration-select__plan-heading.col::before {
  display: none;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading.col,
  .simration-select__item.nest .simration-select__plan-heading.col {
    padding-top: 0px;
  }
}
.simration-select__plan-heading::before,
.simration-select__item.nest .simration-select__plan-heading::before {
  content: "";
  width: 40px;
  height: 35px;
  margin-right: 5px;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading::before,
  .simration-select__item.nest .simration-select__plan-heading::before {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .simration-select__plan-heading.no-bfr,
  .simration-select__item.nest .simration-select__plan-heading.no-bfr {
    padding-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading.no-bfr,
  .simration-select__item.nest .simration-select__plan-heading.no-bfr {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.simration-select__plan-heading.no-bfr::before,
.simration-select__item.nest .simration-select__plan-heading.no-bfr::before {
  display: none;
}
.simration-select__plan-heading__text,
.simration-select__item.nest .simration-select__plan-heading__text {
  font-size: 12px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading__text,
  .simration-select__item.nest .simration-select__plan-heading__text {
    font-size: 16px;
    margin-top: 5px;
  }
}
.simration-select__catch,
.simration-select__item.nest .simration-select__catch {
  font-size: 13px;
  margin: 0;
  flex-shrink: 0;
  color: #6C6C6C;
  line-height: 1.4;
  display: block;
}
@media screen and (min-width: 768px) {
  .simration-select__catch,
  .simration-select__item.nest .simration-select__catch {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .simration-select__plan,
  .simration-select__item.nest .simration-select__plan {
    font-size: 22px;
  }
}
.simration-select__course,
.simration-select__item.nest .simration-select__course {
  display: block;
  font-size: 15px;
  margin: 0;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .simration-select__course,
  .simration-select__item.nest .simration-select__course {
    font-size: 16px;
  }
  .simration-select__course .text_small,
  .simration-select__item.nest .simration-select__course .text_small {
    font-size: 90%;
  }
}
.simration-select__price,
.simration-select__item.nest .simration-select__price {
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .simration-select__price,
  .simration-select__item.nest .simration-select__price {
    font-size: 14px;
  }
}
.simration-select__logo,
.simration-select__item.nest .simration-select__logo {
  display: inline-flex;
  height: 40px;
  text-align: center;
  margin: 2px auto;
}
@media screen and (min-width: 768px) {
  .simration-select__logo,
  .simration-select__item.nest .simration-select__logo {
    height: 70px;
  }
}
.simration-select__logo img,
.simration-select__item.nest .simration-select__logo img {
  margin-top: auto;
  max-height: 100%;
}
.simration-select__list-wrapper,
.simration-select__item.nest .simration-select__list-wrapper {
  outline: 4px solid #DDD;
  outline-offset: -4px;
  margin-top: 2%;
  padding: 6%;
}
.simration-select__list-wrapper .simration-select__logo,
.simration-select__item.nest .simration-select__list-wrapper .simration-select__logo {
  display: block;
}
.simration-select__list-wrapper .simration-select__logo img,
.simration-select__item.nest .simration-select__list-wrapper .simration-select__logo img {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .simration-select__title,
  .simration-select__item.nest .simration-select__title {
    margin: 5px 0;
    text-align: center;
  }
}
.simration-select__title.text-lighting,
.simration-select__item.nest .simration-select__title.text-lighting {
  color: #666;
  font-weight: bold;
}
.simration-select input[type=radio] + label:before,
.simration-select input[type=checkbox] + label:before,
.simration-select__item.nest .simration-select input[type=radio] + label:before,
.simration-select__item.nest .simration-select input[type=checkbox] + label:before {
  top: 20px;
  right: 12px;
  width: 15px;
  height: 15px;
  left: auto;
  border-radius: 0;
  background: #E7E7E7;
  border: none;
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  .simration-select input[type=radio] + label:before,
  .simration-select input[type=checkbox] + label:before,
  .simration-select__item.nest .simration-select input[type=radio] + label:before,
  .simration-select__item.nest .simration-select input[type=checkbox] + label:before {
    width: 18px;
    height: 18px;
  }
}
.simration-select input[type=radio]:checked + label:after,
.simration-select input[type=checkbox]:checked + label:after,
.simration-select__item.nest .simration-select input[type=radio]:checked + label:after,
.simration-select__item.nest .simration-select input[type=checkbox]:checked + label:after {
  display: block;
  position: absolute;
  top: 14px;
  left: auto;
  right: 16px;
  width: 7px;
  height: 11px;
  border-right: 3px solid #0A419D;
  border-bottom: 3px solid #0A419D;
  border-radius: 0;
  background: transparent;
  content: "";
  transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
  .simration-select input[type=radio]:checked + label:after,
  .simration-select input[type=checkbox]:checked + label:after,
  .simration-select__item.nest .simration-select input[type=radio]:checked + label:after,
  .simration-select__item.nest .simration-select input[type=checkbox]:checked + label:after {
    right: 17px;
    /*width: 10px;
    height: 10px;
    border-radius: 5px;
    left: 5px;*/
  }
}
.simration-select input[type=radio]:checked + .simration-select__label::before,
.simration-select input[type=checkbox]:checked + .simration-select__label::before,
.simration-select__item.nest .simration-select input[type=radio]:checked + .simration-select__label::before,
.simration-select__item.nest .simration-select input[type=checkbox]:checked + .simration-select__label::before {
  background: #0A419D;
}
.simration-select input[type=radio]:checked + .simration-select__label::after,
.simration-select input[type=checkbox]:checked + .simration-select__label::after,
.simration-select__item.nest .simration-select input[type=radio]:checked + .simration-select__label::after,
.simration-select__item.nest .simration-select input[type=checkbox]:checked + .simration-select__label::after {
  border-color: #fff;
}
.simration-select input[type=radio]:checked + .simration-select__label:not(.disabled) .label-border,
.simration-select input[type=checkbox]:checked + .simration-select__label:not(.disabled) .label-border,
.simration-select__item.nest .simration-select input[type=radio]:checked + .simration-select__label:not(.disabled) .label-border,
.simration-select__item.nest .simration-select input[type=checkbox]:checked + .simration-select__label:not(.disabled) .label-border {
  border: 7px solid #0A419D;
  box-shadow: 4px 2px 8px -4px rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 768px) {
  .simration-select input[type=radio]:checked + .simration-select__label:not(.disabled) .label-border,
  .simration-select input[type=checkbox]:checked + .simration-select__label:not(.disabled) .label-border,
  .simration-select__item.nest .simration-select input[type=radio]:checked + .simration-select__label:not(.disabled) .label-border,
  .simration-select__item.nest .simration-select input[type=checkbox]:checked + .simration-select__label:not(.disabled) .label-border {
    border: 7px solid #0a419d;
    box-shadow: 4px 2px 8px -4px rgba(0, 0, 0, 0.8);
  }
}
.simration-select input[type=radio]:checked + label.confirm:before,
.simration-select input[type=checkbox]:checked + label.confirm:before,
.simration-select input[type=radio]:checked + label.confirm:after,
.simration-select input[type=checkbox]:checked + label.confirm:after,
.simration-select__item.nest .simration-select input[type=radio]:checked + label.confirm:before,
.simration-select__item.nest .simration-select input[type=checkbox]:checked + label.confirm:before,
.simration-select__item.nest .simration-select input[type=radio]:checked + label.confirm:after,
.simration-select__item.nest .simration-select input[type=checkbox]:checked + label.confirm:after {
  display: none;
}

/*セレクト1行*/
.simration-select .select-line,
.simration-select__item.nest .simration-select .select-line {
  margin-top: 2%;
  /*ラベル本体*/
  /*ロゴとタイトルくくり*/
  /*ロゴ*/
  /*タイトル*/
  /**/
  /*アイコン*/
}
@media screen and (min-width: 768px) {
  .simration-select .select-line,
  .simration-select__item.nest .simration-select .select-line {
    margin-top: 10px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .simration-select .select-line input[type=radio] + label:before,
  .simration-select .select-line input[type=checkbox] + label:before,
  .simration-select__item.nest .simration-select .select-line input[type=radio] + label:before,
  .simration-select__item.nest .simration-select .select-line input[type=checkbox] + label:before {
    top: 50%;
    left: 20px;
    right: auto;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 768px) {
  .simration-select .select-line input[type=radio]:checked + label:after,
  .simration-select .select-line input[type=checkbox]:checked + label:after,
  .simration-select__item.nest .simration-select .select-line input[type=radio]:checked + label:after,
  .simration-select__item.nest .simration-select .select-line input[type=checkbox]:checked + label:after {
    top: 50%;
    left: 24px;
    right: auto;
    transform: translateY(-50%) rotate(45deg);
  }
}
.simration-select .select-line .simration-select__label,
.simration-select__item.nest .simration-select .select-line .simration-select__label {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .simration-select .select-line .simration-select__label,
  .simration-select__item.nest .simration-select .select-line .simration-select__label {
    flex-direction: column;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .simration-select .select-line .simration-select__label,
  .simration-select__item.nest .simration-select .select-line .simration-select__label {
    padding: 14px 12px;
  }
}
.simration-select .select-line .simration-select__label.disabled,
.simration-select__item.nest .simration-select .select-line .simration-select__label.disabled {
  opacity: 0.4;
  cursor: default;
}
.simration-select .select-line .simration-select__heading,
.simration-select__item.nest .simration-select .select-line .simration-select__heading {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .simration-select .select-line .simration-select__heading,
  .simration-select__item.nest .simration-select .select-line .simration-select__heading {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .simration-select .select-line .simration-select__heading,
  .simration-select__item.nest .simration-select .select-line .simration-select__heading {
    margin-left: 40px;
  }
}
.simration-select .select-line .simration-select__logo,
.simration-select__item.nest .simration-select .select-line .simration-select__logo {
  flex-shrink: 0;
  text-align: center;
  display: flex;
  margin-bottom: 10px;
  width: 70px;
  height: 40px;
  margin-right: auto;
  position: relative;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .simration-select .select-line .simration-select__logo,
  .simration-select__item.nest .simration-select .select-line .simration-select__logo {
    width: auto;
    display: inline-block;
    margin-bottom: 0;
    margin-right: 10px;
    text-align: center;
  }
}
.simration-select .select-line .simration-select__title,
.simration-select__item.nest .simration-select .select-line .simration-select__title {
  font-weight: bold;
  margin: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .simration-select .select-line .simration-select__title,
  .simration-select__item.nest .simration-select .select-line .simration-select__title {
    text-align: left;
    margin-right: 8px;
  }
}
.simration-select .select-line .simration-select__text,
.simration-select__item.nest .simration-select .select-line .simration-select__text {
  margin: 2px 0;
  font-size: 14px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .simration-select .select-line .simration-select__text,
  .simration-select__item.nest .simration-select .select-line .simration-select__text {
    font-size: 16px;
    margin: 0 0 0 auto;
  }
}
.simration-select .select-line .simration-select__icon,
.simration-select__item.nest .simration-select .select-line .simration-select__icon {
  margin-right: 0;
  flex-shrink: 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
}

.simration-select__icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .simration-select__icon {
    width: 75px;
    height: 55px;
    margin-left: 0;
    margin-right: 0;
    flex-shrink: 0;
  }
  .simration-select__icon img {
    flex-shrink: 0;
  }
}

.simration-select__heading.single-line {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .simration-select__heading.single-line {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .simration-select__heading.single-line {
    padding-left: 10%;
  }
}

/*チェック1行*/
.simration-select .single-line,
.simration-select__item.nest .simration-select .single-line {
  margin-top: 2%;
  width: 100% !important;
  /*ラベル本体*/
  /*ロゴとタイトルくくり*/
  /*ロゴ*/
  /*タイトル*/
  /**/
}
@media screen and (min-width: 768px) {
  .simration-select .single-line,
  .simration-select__item.nest .simration-select .single-line {
    width: 100%;
  }
}
.simration-select .single-line input[type=radio] + label:before,
.simration-select__item.nest .simration-select .single-line input[type=radio] + label:before {
  top: 50%;
  left: 10px;
  right: auto;
  transform: translateY(-50%);
  border-radius: 20px;
  width: 18px;
  height: 18px;
}
@media screen and (min-width: 768px) {
  .simration-select .single-line input[type=radio] + label:before,
  .simration-select__item.nest .simration-select .single-line input[type=radio] + label:before {
    left: 20px;
  }
}
.simration-select .single-line input[type=checkbox] + label:before,
.simration-select__item.nest .simration-select .single-line input[type=checkbox] + label:before {
  top: 50%;
  left: 10px;
  right: auto;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .simration-select .single-line input[type=checkbox] + label:before,
  .simration-select__item.nest .simration-select .single-line input[type=checkbox] + label:before {
    left: 20px;
  }
}
.simration-select .single-line input[type=radio]:checked + label:before,
.simration-select__item.nest .simration-select .single-line input[type=radio]:checked + label:before {
  background: #0A419D;
}
.simration-select .single-line input[type=radio]:checked + label:after,
.simration-select__item.nest .simration-select .single-line input[type=radio]:checked + label:after {
  top: 50%;
  left: 16px;
  right: auto;
  transform: translateY(-50%);
  border: none;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .simration-select .single-line input[type=radio]:checked + label:after,
  .simration-select__item.nest .simration-select .single-line input[type=radio]:checked + label:after {
    left: 26px;
  }
}
.simration-select .single-line input[type=checkbox]:checked + label:after,
.simration-select__item.nest .simration-select .single-line input[type=checkbox]:checked + label:after {
  top: 50%;
  left: 14px;
  right: auto;
  transform: translateY(-70%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .simration-select .single-line input[type=checkbox]:checked + label:after,
  .simration-select__item.nest .simration-select .single-line input[type=checkbox]:checked + label:after {
    top: 50%;
    left: 24px;
    right: auto;
    transform: translateY(-50%) rotate(45deg);
  }
}
.simration-select .single-line .simration-select__label,
.simration-select__item.nest .simration-select .single-line .simration-select__label {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .simration-select .single-line .simration-select__label,
  .simration-select__item.nest .simration-select .single-line .simration-select__label {
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .simration-select .single-line .simration-select__label,
  .simration-select__item.nest .simration-select .single-line .simration-select__label {
    padding: 24px 12px;
  }
}
.simration-select .single-line .simration-select__label.disabled,
.simration-select__item.nest .simration-select .single-line .simration-select__label.disabled {
  opacity: 0.4;
  cursor: default;
}
.simration-select .single-line .simration-select__heading,
.simration-select__item.nest .simration-select .single-line .simration-select__heading {
  display: flex;
  align-items: center;
  margin-left: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .simration-select .single-line .simration-select__heading,
  .simration-select__item.nest .simration-select .single-line .simration-select__heading {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .simration-select .single-line .simration-select__heading,
  .simration-select__item.nest .simration-select .single-line .simration-select__heading {
    margin-left: 40px;
  }
}
.simration-select .single-line .simration-select__logo,
.simration-select__item.nest .simration-select .single-line .simration-select__logo {
  flex-shrink: 0;
  text-align: center;
  display: block;
  margin-bottom: 10px;
  width: 70px;
  height: 40px;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .simration-select .single-line .simration-select__logo,
  .simration-select__item.nest .simration-select .single-line .simration-select__logo {
    width: auto;
    display: inline-block;
    margin-bottom: 0;
    margin-right: 10px;
    text-align: center;
  }
}
.simration-select .single-line .simration-select__title,
.simration-select__item.nest .simration-select .single-line .simration-select__title {
  font-weight: bold;
  margin: 0;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .simration-select .single-line .simration-select__title,
  .simration-select__item.nest .simration-select .single-line .simration-select__title {
    margin-right: 8px;
  }
}
.simration-select .single-line .simration-select__text,
.simration-select__item.nest .simration-select .single-line .simration-select__text {
  margin: 2px 0;
  font-size: 14px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .simration-select .single-line .simration-select__text,
  .simration-select__item.nest .simration-select .single-line .simration-select__text {
    font-size: 16px;
    margin: 0 0 0 auto;
  }
}

/*シミュレーションブロック 入れ子のブロック*/
.simration-select .simration-select__item.nest .simration-select__list {
  margin: 0 0 0 7%;
  width: auto;
}
.simration-select .simration-select__item.nest .simration-select__label {
  height: auto;
}
.simration-select .simration-select__item.nest .simration-select__label.disabled {
  opacity: 0.4;
  cursor: default;
}
.simration-select .simration-select__item.nest li .simration-select__label {
  height: 100%;
}
@media screen and (min-width: 768px) {
  .simration-select .simration-select__item.nest li .simration-select__label {
    padding: 14px 12px;
  }
}

/*シミュレーションブロックインターネットのアイコン*/
.simration-select__plan-heading.internet {
  margin-right: 5px;
  margin-left: 5px;
}
.simration-select__plan-heading.internet::before {
  background-image: url("../img/icon_internet.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading.internet::before {
    width: 65px;
    height: 55px;
  }
}
.simration-select__plan-heading.internet .simration-select__plan-heading__text {
  color: #1A86CD;
}

/*シミュレーションブロックテレビのアイコン*/
.simration-select__plan-heading.tv {
  margin-right: 5px;
  margin-left: 5px;
}
.simration-select__plan-heading.tv::before {
  background-image: url("../img/icon_tv.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading.tv::before {
    width: 65px;
    height: 55px;
  }
}
.simration-select__plan-heading.tv .simration-select__plan-heading__text {
  position: absolute;
  top: 45%;
  transform: translate(-9%,-50%);
  font-size: 11px;
  color: #E42880;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading.tv .simration-select__plan-heading__text {
    font-size: 17px;
    top: 35%;
    transform: translate(0%,-50%);
  }
}

/*シミュレーションブロックガスのアイコン*/
.simration-select__plan-heading.gas {
  margin-right: 5px;
  margin-left: 5px;
}
.simration-select__plan-heading.gas::before {
  background-image: url("../img/icon_gas.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading.gas::before {
    width: 65px;
    height: 55px;
  }
}
.simration-select__plan-heading.gas .simration-select__plan-heading__text {
  color: #C43441;
}

/*シミュレーションブロック電気のアイコン*/
.simration-select__plan-heading.ele {
  margin-right: 5px;
  margin-left: 5px;
}
.simration-select__plan-heading.ele::before {
  background-image: url("../img/icon_ele.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .simration-select__plan-heading.ele::before {
    width: 65px;
    height: 55px;
  }
}
.simration-select__plan-heading.ele .simration-select__plan-heading__text {
  color: #EA9A2D;
}

.no-application {
  margin-top: 2%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (min-width: 768px) {
  .no-application {
    max-width: 380px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .no-application .simration-select__label {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.no-application .simration-select__course {
  text-align: left;
  padding: 10px 0;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .no-application .simration-select__course {
    text-align: center;
  }
}

.plan_other .simration-select__label {
  padding-top: 25px;
  padding-bottom: 25px;
  font-size: 15px !important;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .plan_other .simration-select__label {
    text-align: center;
    font-size: 18px !important;
  }
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .simration-select__label {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  *::-ms-backdrop, .ie11 .simration-select__label {
    padding: 30px !important;
    padding-bottom: 0px !important;
    justify-content: flex-start;
  }
  *::-ms-backdrop, .no-application {
    margin-top: 46px;
  }
  *::-ms-backdrop, .no-application .simration-select__label {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  *::-ms-backdrop, .simration-select__list-wrapper {
    margin-top: 46px;
  }
  *::-ms-backdrop, .ie11_2 .simration-select__label {
    align-items: stretch;
  }
  *::-ms-backdrop, .simration-select__list {
    margin-top: -20px;
    margin-bottom: 40px;
  }
  *::-ms-backdrop, .simration-select .single-line .simration-select__label {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  *::-ms-backdrop, .simration-select .single-line + .single-line {
    margin-top: 15px !important;
  }
  *::-ms-backdrop, .ie11_3 .simration-select__label {
    height: auto;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  *::-ms-backdrop, .simration-select__list.wide .simration-select__label {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  *::-ms-backdrop, .simulationResultAreaExists {
    overflow-x: hidden;
  }
}
.information {
  background: #f4f4f4;
  padding: 10px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .information {
    justify-content: center;
    padding: 15px;
  }
}
.information__icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-right: 8px;
}
@media screen and (min-width: 768px) {
  .information__icon {
    width: 23px;
    height: 23px;
  }
}
.information__text {
  font-size: 13px;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .information__text {
    font-size: 14px;
  }
}
.information__text a {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .information__text a:hover {
    text-decoration: none;
  }
}

@media screen and (min-width: 768px) {
  .text-single {
    margin-left: 40px !important;
  }
}

/*エラー*/
.bl_error {
  border: 1px solid #CF0013;
  display: flex;
  align-items: flex-start;
  padding: 5px 5px 5px 25px;
  background: #FBEAEB;
  margin: 20px 0;
  position: relative;
  line-height: 1.2;
}
.bl_error.form-error {
  background: none;
  border: none;
  margin: 0;
}
.bl_error.form-error::before {
  top: 4px;
}
.bl_error::before {
  content: "";
  width: 15px;
  height: 15px;
  background: url("../img/icon_attention.svg") no-repeat center center/contain;
  position: absolute;
  top: 4px;
  left: 5px;
}
@media screen and (min-width: 768px) {
  .bl_error::before {
    top: 5px;
    left: 10px;
  }
}
@media screen and (min-width: 768px) {
  .bl_error {
    padding-left: 30px;
  }
}
.bl_error__text,
.bl_error p {
  color: #CF0013;
  font-size: 13px;
  margin: 0;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .bl_error__text,
  .bl_error p {
    font-size: 15px;
  }
}

.bl_content__title {
  padding: 20px 0;
  position: relative;
  cursor: pointer;
}
.bl_content__title::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 14px;
  height: 2px;
  background: #146fc5;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .bl_content__title::before {
    width: 22px;
  }
}
.bl_content__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  width: 2px;
  height: 14px;
  background: #146fc5;
  transform: translateY(-50%);
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .bl_content__title::after {
    height: 22px;
    right: 10px;
  }
}
.bl_content__title h2 {
  margin: 0;
  line-height: 1;
}
.bl_content__title.active::after {
  height: 0;
}

.bl_content__body {
  display: none;
  border-top: 1px solid #ddd;
  padding: 10px 0 25px;
}
@media screen and (min-width: 768px) {
  .bl_content__body {
    padding-bottom: 60px !important;
  }
}

.bl_content__caution {
  font-size: 9px;
  text-align: right;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .bl_content__caution {
    font-size: 14px;
  }
}

/* キャンペーン・割引*/
.bl_campaign .level2-heading-leftLine {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .bl_campaign .level2-heading-leftLine {
    margin-top: 40px;
    margin-bottom: 10px;
  }
}
.bl_campaign .simration-select__item {
  margin-bottom: 10px;
}
.bl_campaign .simration-select__plan {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 5px;
  padding-right: 20px;
}
.bl_campaign .simration-select__label-text {
  margin-left: 0;
}
.bl_campaign .simration-select__label-inner {
  padding-left: 10px;
}
.bl_campaign .simration-select__label {
  text-align: left;
}

.campaign__item {
  padding: 0;
  margin: 0;
  list-style: none;
}
.campaign__list.text-banner {
  background: #22AAF7;
  padding: 20px 10px;
}
@media screen and (min-width: 768px) {
  .campaign__list.text-banner {
    padding-left: 8%;
    padding-right: 8%;
  }
}
.campaign__list.text-banner .main-title {
  margin: 0;
  font-size: 16px;
  color: #fff;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .campaign__list.text-banner .main-title {
    font-size: 22px;
  }
}
.campaign__list.text-banner .sub-title {
  margin: 0;
  font-size: 14px;
  color: #EFF600;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .campaign__list.text-banner .sub-title {
    font-size: 16px;
  }
}

.campaign__list + .campaign__list {
  margin-top: 10px;
}

.simuration-button-wrapper {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .simuration-button-wrapper {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between;
  }
  .simuration-button-wrapper > .bl_btn {
    width: 49%;
  }
}
.simuration-button-wrapper .bl_btn {
  padding-top: 30px;
  padding-bottom: 30px;
  background: #fff;
}
.simuration-button-wrapper .bl_btn:last-of-type {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .simuration-button-wrapper .bl_btn {
    padding-top: 40px;
    padding-bottom: 40px;
    margin-bottom: 0;
    padding-right: 40px;
  }
}

.ly_under_content.ly_reverse .simuration-button-wrapper {
  width: 100%;
  margin-top: 0;
}
.ly_under_content.ly_reverse .simuration-button-wrapper .bl_btn:last-of-type {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .ly_under_content.ly_reverse .simuration-button-wrapper {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
  }
  .ly_under_content.ly_reverse .simuration-button-wrapper > .bl_btn {
    margin-left: 20px;
    padding-bottom: 18px;
    padding-top: 20px;
  }
  .ly_under_content.ly_reverse .simuration-button-wrapper > .bl_btn:last-of-type {
    margin-bottom: 0;
  }
}

.sp_plan_floating {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .sp_plan_floating {
    display: none;
  }
}
.sp_plan_floating .floating-body {
  display: flex;
  height: 56px;
  border: 3px solid #146fc5;
  background: #fff;
  -moz-box-shadow: -2px 5px 23px -10px rgb(0, 0, 0);
  -webkit-box-shadow: -2px 5px 23px -10px rgb(0, 0, 0);
  -ms-box-shadow: -2px 5px 23px -10px rgb(0, 0, 0);
  box-shadow: -2px 5px 23px -10px rgb(0, 0, 0);
  visibility: hidden;
}
.sp_plan_floating .floating-body > .bl_plan_floating {
  width: 50%;
  display: flex;
}
.sp_plan_floating .floating-body.show {
  visibility: visible;
}
.sp_plan_floating .floating-body.plan2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.sp_plan_floating .floating__title {
  background: #146fc5;
  flex-basis: 35%;
  margin: 0;
  font-size: 12px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  padding: 8px;
  color: #fff;
  position: relative;
}
.sp_plan_floating .floating__title::after {
  content: "";
  position: absolute;
  right: -11px;
  width: 0;
  height: 0;
  top: 0;
  border-style: solid;
  border-width: 25px 0 25px 12px;
  border-color: transparent transparent transparent #146fc5;
}

.floating-tab {
  margin: 0;
  padding: 0;
}
.floating-tab__list {
  position: relative;
}
.floating-tab__item {
  background: #0A419D;
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: 10px;
  color: #fff;
  margin: 0;
  border-radius: 5px 5px 0 0;
  padding: 10px 30px 6px 10px;
  display: none;
}
.floating-tab__item::before {
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 10px;
  background: #fff;
  right: 8px;
  position: absolute;
  transform: translateY(-50%);
  top: 55%;
}
.floating-tab__item::after {
  position: absolute;
  content: "";
  border-top: 2px solid #0A419D;
  border-right: 2px solid #0A419D;
  width: 5px;
  height: 5px;
  transform: translateY(-50%) rotate(45deg);
  top: 55%;
  right: 14px;
}
.floating-tab__item.view {
  display: block;
}

.floating_price__wrapper {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-direction: column;
  flex-grow: 1;
  padding-right: 0px;
  padding-left: 15px;
}

.floating-price {
  display: flex;
  align-items: flex-end;
  padding-right: 8px;
  flex-shrink: 0;
  text-align: right;
  line-height: 1.2;
}

.floating__plice {
  font-size: 14px;
  color: #CF0013;
  font-weight: bold;
  margin: 0;
}

.floating__yen {
  font-size: 9px;
  margin: 0;
  padding-bottom: 1px;
}

.floating__tax {
  font-size: 9px;
  margin: 0;
}

.plan-result {
  display: none;
  position: fixed;
  left: 0;
  top: 80px;
  width: 260px;
  overflow-y: scroll;
  height: calc(100% - 80px);
}
@media screen and (min-width: 768px) {
  .plan-result {
    display: block;
  }
}
@media (max-width: 991px) and (min-width: 767px) {
  .plan-result {
    width: 200px;
  }
}
.plan-result.notification {
  top: 113px;
  height: calc(100% - 113px);
}
.plan-result .bl_content-wrapper, .plan-result .bl_content-wrapper-narrow {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  width: 100%;
}
.plan-result .result-plan__title {
  font-size: 16px;
}
.plan-result .result-items-wrapper {
  padding-top: 5px;
  padding-bottom: 5px;
}
.plan-result .result-plan__price-wrapper {
  display: block;
  margin: 0 10px;
}
.plan-result .result-plan__price-main {
  padding-left: 0;
}
.plan-result .result-items__table {
  margin: 0 0 0 auto;
}
.plan-result .bl_service-plan__title {
  font-size: 14px;
}
.plan-result .service-plan__title {
  padding-right: 5px;
}
.plan-result .service-plan__text {
  text-align: right !important;
  font-size: 14px;
}
.plan-result .service-plan {
  padding: 12px 10px 7px !important;
}
.plan-result .service-plan {
  border-color: #eee;
}
.plan-result__body {
  position: relative;
}
.plan-result__body .comparison01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.plan-result__body .comparison01.hide {
  display: none;
}
.plan-result__body .comparison02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.plan-result__body .comparison02.hide {
  display: none;
}

@media screen and (max-width: 767px) {
  .comparison .result-plan__title {
    font-size: 14px;
  }
  .comparison .result-plan__price-main {
    padding: 0;
  }
  .comparison .result-plan__price-main .result-plan__priceNumber {
    font-size: 33px;
  }
  .comparison .result-items__table {
    width: 100%;
    table-layout: auto;
  }
  .comparison .result-plan__price-wrapper {
    margin-left: 0;
    margin-right: 0;
  }
  .comparison .result-items-wrapper {
    margin-left: 0;
    margin-right: 0;
    padding-left: 5px;
    padding-right: 5px;
  }
  .comparison .result-items__table-head {
    text-align: left;
  }
  .comparison .comparison-content .service-plan {
    padding-left: 0;
  }
  .comparison .service-plan__text {
    text-align: left;
  }
  .comparison .btn_plan__wrapper {
    margin-top: 20px;
  }
  .comparison .btn_plan__wrapper::after {
    right: 12px;
  }
  .comparison .btn_plan__wrapper::before {
    right: 7px;
  }
  .comparison .btn_plan__wrapper button {
    font-size: 15px;
    line-height: 1.2;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 20px;
  }
}

.comparison-content {
  display: flex;
  justify-content: space-between;
  /*トータルの金額をflexからblockに変更*/
  /*タイトルの右開きを狭く*/
  /*内訳の詳細左寄せ*/
  /*区切り線を水色からグレーに変更*/
  /*枠を狭く変更*/
  /*詳細のテキスト右側開ける*/
  /*フォントサイズを20から16に変更*/
  /*フォントサイズを20から14に変更*/
  /*フォントサイズを16から12に変更*/
  /* フォントを右寄せに変更 フォントサイズを15から14に変更*/
}
.comparison-content > .bl_content-wrapper, .comparison-content > .bl_content-wrapper-narrow {
  width: 48% !important;
  padding-left: 10px;
  padding-right: 10px;
}
@media screen and (min-width: 768px) {
  .comparison-content > .bl_content-wrapper, .comparison-content > .bl_content-wrapper-narrow {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.comparison-content .result-plan__price-wrapper {
  display: block;
}
.comparison-content .service-plan__title {
  padding-right: 10px;
}
.comparison-content .result-items__table {
  margin: 0 0 0 auto;
}
.comparison-content .service-plan {
  border-color: #ddd;
}
.comparison-content .service-plan:last-of-type {
  border: none;
}
.comparison-content .plan__wrapper {
  padding-bottom: 10px;
}
.comparison-content .plan__wrapper .service-plan:last-of-type {
  border: none !important;
}
.comparison-content .service-plan {
  padding-top: 15px;
  padding-bottom: 10px;
}
.comparison-content .service-plan__text-wrapper {
  padding-right: 10px;
}
.comparison-content .result-plan__title {
  font-size: 16px;
}
.comparison-content .bl_service-plan__title {
  font-size: 14px;
}
.comparison-content .service-plan__title {
  font-size: 12px;
}
.comparison-content .service-plan__text {
  text-align: right;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .confirmation .comparison-content .discount .service-plan {
    padding-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .bl_confirmation .plan__wrapper {
    padding-bottom: 30px;
  }
}
.bl_confirmation .plan__wrapper:last-of-type {
  padding-bottom: 0;
}

@media screen and (max-width: 767px) {
  .comparison-content .discount .service-plan {
    padding-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .plan-change-tab {
    display: none;
  }
}

.plan-change-tab__list {
  margin-bottom: 20px;
  padding: 0;
  list-style: none;
}

.plan-change-tab__item {
  display: none;
}
.plan-change-tab__item.view {
  display: block;
}
.plan-change-tab__item .tab_inner {
  border: 2px solid #0A419D;
  background: #fff;
  color: #0A419D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 5px;
}

.btn-switch__wrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  z-index: 10;
  height: 60px;
}
@media screen and (min-width: 768px) {
  .btn-switch__wrapper {
    position: static;
    background: #E7E7E7;
    padding-top: 10px;
  }
}
.btn-switch__wrapper > .btn-switch {
  width: 50%;
}
@media screen and (min-width: 768px) {
  .btn-switch__wrapper > .btn-switch {
    width: 49%;
  }
}

.btn-switch {
  cursor: pointer;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: #fff;
  font-size: 12px;
  margin: 0;
  padding: 35px 5px 15px;
  border: 4px solid #ddd;
  border-bottom: 0;
  font-weight: bold;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  line-height: 1;
  position: relative;
  color: #146fc5;
}
@media screen and (min-width: 768px) {
  .btn-switch {
    border: none;
  }
}
.btn-switch::after {
  content: "";
  position: absolute;
  bottom: 5px;
  width: 6px;
  height: 6px;
  left: 0;
  right: 0;
  margin: 0 auto;
  border-bottom: 2px solid #146fc5;
  border-right: 2px solid #146fc5;
  transform: rotate(45deg);
}
.btn-switch .number {
  font-size: 26px;
  display: inline-block;
  line-height: 1;
  position: relative;
  top: 0.1em;
  margin-left: 0.2em;
}
.btn-switch.selected {
  background: #146fc5;
  color: #fff;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  border: none;
}
.btn-switch.selected::after {
  display: none;
}

.payment-select__list {
  list-style: none;
  padding: 0;
}

.payment-select__item {
  margin-top: 2%;
}

.payment-select__label {
  display: flex;
  align-items: center;
  padding: 15px;
  height: 70px;
}
@media screen and (min-width: 768px) {
  .payment-select__label {
    padding: 24px 12px;
  }
}

.payment-select__heading {
  margin-left: 30px;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .payment-select__heading {
    margin-left: 40px;
  }
}

.payment-select__course {
  font-weight: bold;
}

.payment-select__list input[type=radio] + label:before {
  top: 50%;
  right: auto;
  left: 10px;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .payment-select__list input[type=radio] + label:before {
    left: 20px;
  }
}

.payment-select__list input[type=radio]:checked + label:before {
  background: #0A419D;
  border: none;
}

.payment-select__list input[type=radio]:checked + label:after {
  background: #fff;
  width: 6px;
  height: 6px;
  left: 16px;
}
@media screen and (min-width: 768px) {
  .payment-select__list input[type=radio]:checked + label:after {
    left: 26px;
    width: 6px;
    height: 6px;
  }
}

.payment-select__list input[type=radio]:checked + .payment-select__label .label-border,
.payment-select__list input[type=checkbox]:checked + .payment-select__label .label-border {
  border: 7px solid #0A419D;
  box-shadow: 4px 2px 8px -4px rgba(0, 0, 0, 0.8);
}

.payment-select__label .label-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 4px solid #ddd;
  pointer-events: none;
  transition: 0.3s border ease-in;
}

.payment-select__course {
  line-height: 1;
}

.payment-image {
  margin-left: 20px;
  width: 50%;
}
@media screen and (min-width: 768px) {
  .payment-image {
    width: auto;
  }
}

.ly-condominium {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .ly-condominium .ly-short.entry__input {
    max-width: 208px;
  }
}
.ly-condominium .entry__input.ly_long {
  width: 100%;
  max-width: inherit;
}
.ly-condominium .btn_search__wrapper {
  margin: 30px auto 0;
  max-width: inherit;
  width: 60%;
}
@media screen and (min-width: 768px) {
  .ly-condominium .btn_search__wrapper {
    width: 254px;
  }
}

.condominium-search__wrapper {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .condominium-search__wrapper {
    display: flex;
    align-items: center;
    margin: 0 130px 15px 0;
  }
}
.condominium-search__wrapper .ly_select__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.condominium-search__wrapper .ly_select__wrapper .ly_middle {
  width: 49%;
}

.condominium-title {
  font-size: 15px;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .condominium-title {
    font-size: 16px;
    text-align: right;
  }
}

@media screen and (min-width: 768px) {
  .condominium-title__wrapper {
    min-width: 130px;
    margin-right: 15px;
  }
}

.result-content__none-title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #146fc5;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .result-content__none-title {
    font-size: 25px;
  }
}

.ly-single-input {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .ly-single-input .ly-short.entry__input {
    max-width: 208px;
  }
}
.ly-single-input .entry__input.ly_long {
  width: 100%;
  max-width: inherit;
}
.ly-single-input .btn_search__wrapper {
  margin: 30px auto 0;
  max-width: inherit;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ly-single-input .btn_search__wrapper {
    width: 254px;
  }
}

.single-input-search__wrapper {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .single-input-search__wrapper {
    display: flex;
    align-items: center;
    margin: 0 130px 15px 0;
  }
}
.single-input-search__wrapper .ly_select__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.single-input-search__wrapper .ly_select__wrapper .ly_middle {
  width: 49%;
}

.single-input-title {
  font-size: 15px;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .single-input-title {
    font-size: 16px;
    text-align: right;
  }
}

@media screen and (min-width: 768px) {
  .single-input-title__wrapper {
    min-width: 170px;
    margin-right: 15px;
  }
}

.ly_single-input .btn_search {
  padding-top: 18px;
  padding-bottom: 18px;
}
@media screen and (min-width: 768px) {
  .ly_single-input .btn_search {
    padding: 10px;
    padding-top: 13px;
  }
}

.print {
  display: none;
}

.result-items-wrapper.print {
  display: flex;
}

@media print {
  .print {
    display: block;
  }

  .result-plan__title.print,
  .bl_service-plan__title-wrapper.print {
    padding: 0;
    background-color: transparent;
  }

  .no-print, .no-print *,
  header,
  footer,
  .ly_under_content,
  .ly_under_flex,
  .required,
  .service-plan__title::before,
  .topbtn__wrapper {
    display: none !important;
  }
  main {
    padding-top: 0;
  }
  .bg_color {
    background-color: #fff;
  }
  .ly_content {
    padding-bottom: 0;
  }
  .bl_content-wrapper-narrow {
    padding-bottom: 0;
  }
  .print-header {
    margin-bottom: 40px;
    padding-bottom: 10px;
    border-bottom: 2px solid #C4C3C2;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .print-header .logo {
    width: 200px;
    height: auto;
  }
  .service-plan {
    padding-left: 0;
  }
  .service-plan__title {
    color: #000 !important;
  }
  .bl_entry {
    border-bottom-width: 2px;
  }
  .result-items-wrapper {
    position: relative;
  }
  .print-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .result-items-wrapper.print .result-items__title,
  .result-items-wrapper.print .result-items__table {
    position: relative;
    z-index: 1;
    color: #000 !important;
  }
  .print-line {
    border-bottom: 2px solid #C4C3C2;
    padding-bottom: 15px;
  }
  .result-items__table {
    width: 100%;
    text-align: right;
  }
  .result-items__table tr {
    display: flex;
  }
  .result-items__table tr th {
    flex-grow: 1;
  }
}

.login_f2f form {
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .login_f2f .comparison-content .bl_content-wrapper {
    width: 100% !important;
  }
}

.ui-datepicker {
  z-index: 999 !important;
}

.employment {
  margin-top: 0 !important;
}
.employment .is_different {
  padding-top: 0 !important;
}

/*# sourceMappingURL=styles.css.map */
