@charset "UTF-8";
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article, aside, footer, header, nav, section {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

figcaption, figure, main {
  display: block;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active, a:hover {
  outline-width: 0;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: inherit;
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img {
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details, menu {
  display: block;
}

summary {
  display: list-item;
}

canvas {
  display: inline-block;
}

[hidden], template {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  margin: 0;
  font-weight: normal;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

dl,
dt,
dd {
  margin: 0;
}

figure {
  margin: 0;
}

p {
  margin: 0;
}

address {
  font-style: normal;
}

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

img {
  vertical-align: top;
}

a {
  text-decoration: none;
}

a:active,
a:hover {
  outline: 0;
}

/* =======================================
 setting
======================================= */
/* =======================================
 basic
======================================= */
html {
  font-size: 62.5%;
}

body {
  color: #00479d;
  background-color: #fff;
  line-height: 1;
  font-size: 1.6rem;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-family: "ヒラギノ角ゴシック", Hiragino Sans, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "YuGothic", "メイリオ", "Meiryo", sans-serif;
}

img {
  max-width: 100%;
}

/* =======================================
 module
======================================= */
/* ---------------------------------------
 container
--------------------------------------- */
.container, .nav--menu .nav__content .menu--close, .container--wide, body.price .nav-plans, .nav--btn, .header, .menu--entry-step, .menu--content, .nav--menu .nav__content .menu--top, .menus {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  max-width: 750px;
}

.container--wide, body.price .nav-plans, .nav--btn, .header, .menu--entry-step, .menu--content, .nav--menu .nav__content .menu--top, .menus {
  padding: 0;
}

/* ---------------------------------------
 section
--------------------------------------- */
.sec {
  position: relative;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}

.sec--hero img {
  width: 100%;
}

.sec--title, .sec--title-entry-step {
  padding: 5px 0 20px;
}
.sec--title .sec__title img, .sec--title-entry-step .sec__title img {
  display: inline-block;
  width: 70px;
}
.sec--title .sec__title span, .sec--title-entry-step .sec__title span {
  display: inline-block;
  padding: 10px 0;
  padding-left: 8px;
  font-size: 1.125em;
  font-weight: 500;
}
@media screen and (max-width: 320px) {
  .sec--title .sec__title span, .sec--title-entry-step .sec__title span {
    padding-left: 2px;
    font-size: 0.95em;
  }
}

.sec--title-entry-step {
  padding: 5px 0 15px;
}
.sec--title-entry-step .sec__title {
  position: relative;
}
.sec--title-entry-step .sec__title span {
  padding-left: 30px;
}
.sec--title-entry-step .sec__title::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -14px;
  width: 24px;
  height: 29px;
}

.sec--style .container--wide, .sec--style body.price .nav-plans, body.price .sec--style .nav-plans, .sec--style .nav--btn, .sec--style .header, .sec--style .menu--entry-step, .sec--style .menu--content, .sec--style .nav--menu .nav__content .menu--top, .nav--menu .nav__content .sec--style .menu--top, .sec--style .menus {
  padding-top: 35px;
  padding-bottom: 35px;
  background-color: #fff352;
}
.sec--style .style {
  margin-bottom: 50px;
  border: solid 2px #00479d;
  border-radius: 20px;
}
.sec--style .style:last-child {
  margin-bottom: 0;
}
.sec--style .style dt {
  position: relative;
  text-align: center;
}
.sec--style .style dt img {
  position: relative;
  display: inline-block;
  margin-top: -20px;
  width: 43px;
}
.sec--style .style dt p {
  margin-top: 5px;
  padding: 5px 0;
  color: #fff352;
  background-color: #00479d;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.sec--style .style dd {
  padding: 15px 5px;
  font-size: 0.95em;
}
.sec--style .style .contact-tel a, .sec--style .style body.price .subsec--contact .subsec__body .contact a, body.price .subsec--contact .subsec__body .sec--style .style .contact a, .sec--style .style .l-footer .contact a, .l-footer .sec--style .style .contact a, .sec--style .style .contact-tel--large a, .sec--style .style body.entry .option-info .option-info__body dd .contact-tel a, body.entry .option-info .option-info__body dd .sec--style .style .contact-tel a, .sec--style .style body.entry .option-info .option-info__body dd .contact-tel--large a, body.entry .option-info .option-info__body dd .sec--style .style .contact-tel--large a, .sec--style .style body.entry .option-info .option-info__body dd .l-footer .contact a, body.entry .option-info .option-info__body dd .l-footer .sec--style .style .contact a, .sec--style .style .l-footer body.entry .option-info .option-info__body dd .contact a, .l-footer body.entry .option-info .option-info__body dd .sec--style .style .contact a {
  margin: 0 -5px;
}
.sec--style .style .map {
  height: 114px;
  margin-top: 15px;
  padding-left: 50%;
  text-align: left;
  background-image: url("../images/common/bg_style_map.png");
  background-size: 111px auto;
  background-repeat: no-repeat;
  background-position: 21% 0;
  background-position: calc(50% - 65px) 0;
}
.sec--style .style .map p {
  padding-top: 25px;
  padding-bottom: 5px;
  font-weight: 700;
  line-height: 1.2;
}
.sec--style .style .map a {
  display: block;
  padding-bottom: 25px;
}
.sec--style .style .map a img {
  width: 110px;
}

/* ---------------------------------------
 menu
--------------------------------------- */
.menus {
  background-color: #fff;
  border: solid 1px #00479d;
  border-width: 1px 0;
}

.menu__item a {
  position: relative;
}
.menu__item a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -8px;
  width: 10px;
  height: 16px;
  background-image: url("../images/common/icon_arrow_right_blue.png");
}
.menu__item a.disable {
  pointer-events: none;
  opacity: 0.7;
}
.menu__item a span.attention {
  color: #c00;
}
.menu__item span {
  font-size: 1em;
}
@media screen and (max-width: 320px) {
  .menu__item span {
    font-size: 0.9em;
  }
}

.menu--content, .nav--menu .nav__content .menu--top {
  border-bottom: solid 1px #c0ccda;
}
.menu--content .menu__item, .nav--menu .nav__content .menu--top .menu__item {
  margin: 6px 0;
  margin-left: 20px;
}
.menu--content .menu__item a, .nav--menu .nav__content .menu--top .menu__item a {
  display: flex;
  align-items: center;
  width: 100%;
  color: #00479d;
}
.menu--content .menu__item img, .nav--menu .nav__content .menu--top .menu__item img {
  width: 70px;
  height: 36px;
}
.menu--content .menu__item span, .nav--menu .nav__content .menu--top .menu__item span {
  flex: 1;
  width: 100%;
  padding: 12px 5px;
  padding-left: 8px;
  border-bottom: solid 1px #c0ccda;
  vertical-align: middle;
}
.menu--content .menu__item:last-child span, .nav--menu .nav__content .menu--top .menu__item:last-child span {
  border: 0;
}

.menu--entry-step .menu__item {
  margin: 6px 0;
}
.menu--entry-step .menu__item:first-child {
  border-bottom: solid 1px #c0ccda;
}
.menu--entry-step .menu__item a {
  display: block;
  position: relative;
  padding: 12px 5px;
  padding-left: 50px;
  color: #00479d;
}
.menu--entry-step .menu__item a::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -12px;
  width: 20px;
  height: 25px;
}
.menu--entry-step .menu__item.entry a::before {
  background-image: url("../images/common/icon_pencil.png");
}
.menu--entry-step .menu__item.step a::before {
  background-image: url("../images/common/icon_light.png");
}

/* ---------------------------------------
 contact tel
--------------------------------------- */
.contact-tel a, body.price .subsec--contact .subsec__body .contact a, .l-footer .contact a, .sec--style .style .l-footer .contact a, .l-footer .sec--style .style .contact a, .contact-tel--large a, body.entry .option-info .option-info__body dd .contact-tel a, body.entry .option-info .option-info__body dd .contact-tel--large a, body.entry .option-info .option-info__body dd .l-footer .contact a, .l-footer body.entry .option-info .option-info__body dd .contact a, .sec--style .style .contact-tel a, .sec--style .style .contact-tel--large a {
  display: block;
  margin: 0 auto;
  padding-bottom: 5px;
  color: #00479d;
  font-size: 2.2em;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
}
.contact-tel a::before, body.price .subsec--contact .subsec__body .contact a::before, .l-footer .contact a::before, .sec--style .style .l-footer .contact a::before, .l-footer .sec--style .style .contact a::before, .contact-tel--large a::before, body.entry .option-info .option-info__body dd .contact-tel a::before, body.entry .option-info .option-info__body dd .contact-tel--large a::before, body.entry .option-info .option-info__body dd .l-footer .contact a::before, .l-footer body.entry .option-info .option-info__body dd .contact a::before, .sec--style .style .contact-tel a::before, .sec--style .style .contact-tel--large a::before {
  display: block;
  top: 50%;
  left: 0;
  margin-top: -11px;
  margin-right: 5px;
  width: 22px;
  height: 22px;
  background-image: url("../images/common/icon_tel.png");
}
.contact-tel span, body.price .subsec--contact .subsec__body .contact span, .l-footer .contact span, .sec--style .style .l-footer .contact span, .l-footer .sec--style .style .contact span, .contact-tel--large span, body.entry .option-info .option-info__body dd .contact-tel span, body.entry .option-info .option-info__body dd .contact-tel--large span, body.entry .option-info .option-info__body dd .l-footer .contact span, .l-footer body.entry .option-info .option-info__body dd .contact span, .sec--style .style .contact-tel span, .sec--style .style .contact-tel--large span {
  display: block;
  padding-bottom: 10px;
}

.contact-tel--large a, body.entry .option-info .option-info__body dd .contact-tel a, body.entry .option-info .option-info__body dd .contact-tel--large a, body.entry .option-info .option-info__body dd .l-footer .contact a, .l-footer body.entry .option-info .option-info__body dd .contact a, body.entry .option-info .option-info__body dd body.price .subsec--contact .subsec__body .contact a, body.price .subsec--contact .subsec__body body.entry .option-info .option-info__body dd .contact a, .sec--style .style .contact-tel a, .sec--style .style body.price .subsec--contact .subsec__body .contact a, body.price .subsec--contact .subsec__body .sec--style .style .contact a, .sec--style .style .l-footer .contact a, .l-footer .sec--style .style .contact a, .sec--style .style .contact-tel--large a {
  font-size: 2.3em;
  font-weight: 700;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 320px) {
  .contact-tel--large a, body.entry .option-info .option-info__body dd .contact-tel a, body.entry .option-info .option-info__body dd .contact-tel--large a, body.entry .option-info .option-info__body dd .l-footer .contact a, .l-footer body.entry .option-info .option-info__body dd .contact a, body.entry .option-info .option-info__body dd body.price .subsec--contact .subsec__body .contact a, body.price .subsec--contact .subsec__body body.entry .option-info .option-info__body dd .contact a, .sec--style .style .contact-tel a, .sec--style .style body.price .subsec--contact .subsec__body .contact a, body.price .subsec--contact .subsec__body .sec--style .style .contact a, .sec--style .style .l-footer .contact a, .l-footer .sec--style .style .contact a, .sec--style .style .contact-tel--large a {
    font-size: 2em;
  }
}
.contact-tel--large a::before, body.entry .option-info .option-info__body dd .contact-tel a::before, body.entry .option-info .option-info__body dd .contact-tel--large a::before, body.entry .option-info .option-info__body dd .l-footer .contact a::before, .l-footer body.entry .option-info .option-info__body dd .contact a::before, body.entry .option-info .option-info__body dd body.price .subsec--contact .subsec__body .contact a::before, body.price .subsec--contact .subsec__body body.entry .option-info .option-info__body dd .contact a::before, .sec--style .style .contact-tel a::before, .sec--style .style body.price .subsec--contact .subsec__body .contact a::before, body.price .subsec--contact .subsec__body .sec--style .style .contact a::before, .sec--style .style .l-footer .contact a::before, .l-footer .sec--style .style .contact a::before, .sec--style .style .contact-tel--large a::before {
  margin-top: -10px;
  margin-right: 5px;
  width: 28px;
  height: 28px;
}
@media screen and (max-width: 320px) {
  .contact-tel--large a::before, body.entry .option-info .option-info__body dd .contact-tel a::before, body.entry .option-info .option-info__body dd .contact-tel--large a::before, body.entry .option-info .option-info__body dd .l-footer .contact a::before, .l-footer body.entry .option-info .option-info__body dd .contact a::before, body.entry .option-info .option-info__body dd body.price .subsec--contact .subsec__body .contact a::before, body.price .subsec--contact .subsec__body body.entry .option-info .option-info__body dd .contact a::before, .sec--style .style .contact-tel a::before, .sec--style .style body.price .subsec--contact .subsec__body .contact a::before, body.price .subsec--contact .subsec__body .sec--style .style .contact a::before, .sec--style .style .l-footer .contact a::before, .l-footer .sec--style .style .contact a::before, .sec--style .style .contact-tel--large a::before {
    margin-top: -12px;
    margin-right: 5px;
    width: 22px;
    height: 22px;
  }
}

/* ---------------------------------------
 goto support button
--------------------------------------- */
.goto-support {
  padding: 20px 0;
}

/* ---------------------------------------
 button
--------------------------------------- */
.btn {
  display: block;
  position: relative;
  padding: 10px;
  color: #fff;
  background-color: #00479d;
  border-radius: 25px;
  font-size: 0.85em;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.25em;
  transition: 0.5s;
}
.btn:hover {
  opacity: 0.8;
}
.btn::after {
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -8px;
  width: 10px;
  height: 16px;
  background-image: url("../images/common/icon_arrow_right_white.png");
}

.btn--support {
  padding: 15px;
}
.btn--support::before {
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -12px;
  width: 35px;
  height: 25px;
  background-image: url("../images/common/icon_talk.png");
}
.btn--support span {
  margin-left: 1em;
}

/* ---------------------------------------
 util
--------------------------------------- */
body.step .sec--content .container--wide::before, body.step .sec--content-3 .container--wide::before, body.step .sec--content-2 .container--wide::before, body.step body.feature .sec--content--01 .container--wide::before, body.feature body.step .sec--content--01 .container--wide::before, body.step .sec--content .menus::before, body.step .sec--content-3 .menus::before, body.step .sec--content-2 .menus::before, body.step body.feature .sec--content--01 .menus::before, body.feature body.step .sec--content--01 .menus::before, body.step .sec--content .menu--content::before, body.step .sec--content-3 .menu--content::before, body.step .sec--content-2 .menu--content::before, body.step body.feature .sec--content--01 .menu--content::before, body.feature body.step .sec--content--01 .menu--content::before, body.step .sec--content .menu--entry-step::before, body.step .sec--content-3 .menu--entry-step::before, body.step .sec--content-2 .menu--entry-step::before, body.step body.feature .sec--content--01 .menu--entry-step::before, body.feature body.step .sec--content--01 .menu--entry-step::before, body.step .sec--content .header::before, body.step .sec--content-3 .header::before, body.step .sec--content-2 .header::before, body.step body.feature .sec--content--01 .header::before, body.feature body.step .sec--content--01 .header::before, body.step .sec--content .nav--btn::before, body.step .sec--content-3 .nav--btn::before, body.step .sec--content-2 .nav--btn::before, body.step body.feature .sec--content--01 .nav--btn::before, body.feature body.step .sec--content--01 .nav--btn::before, body.step .sec--content .nav--menu .nav__content .menu--top::before, body.step .sec--content-3 .nav--menu .nav__content .menu--top::before, body.step .sec--content-2 .nav--menu .nav__content .menu--top::before, .nav--menu .nav__content body.step .sec--content .menu--top::before, .nav--menu .nav__content body.step .sec--content-3 .menu--top::before, .nav--menu .nav__content body.step .sec--content-2 .menu--top::before, body.step body.feature .sec--content--01 .nav--menu .nav__content .menu--top::before, .nav--menu .nav__content body.step body.feature .sec--content--01 .menu--top::before, body.feature body.step .sec--content--01 .nav--menu .nav__content .menu--top::before, .nav--menu .nav__content body.feature body.step .sec--content--01 .menu--top::before, body.step .sec--content body.price .nav-plans::before, body.step .sec--content-3 body.price .nav-plans::before, body.step .sec--content-2 body.price .nav-plans::before, body.price body.step .sec--content .nav-plans::before, body.price body.step .sec--content-3 .nav-plans::before, body.price body.step .sec--content-2 .nav-plans::before, body.step body.feature .sec--content--01 body.price .nav-plans::before, body.price body.step body.feature .sec--content--01 .nav-plans::before, body.feature body.step .sec--content--01 body.price .nav-plans::before, body.price body.feature body.step .sec--content--01 .nav-plans::before, body.faq .sec--content .sec__body::before, body.faq body.step .sec--content-3 .sec__body::before, body.step body.faq .sec--content-3 .sec__body::before, body.faq body.step .sec--content-2 .sec__body::before, body.step body.faq .sec--content-2 .sec__body::before, body.faq body.feature .sec--content--01 .sec__body::before, body.feature body.faq .sec--content--01 .sec__body::before, body.faq .sec--content .sec__title::before, body.faq body.step .sec--content-3 .sec__title::before, body.step body.faq .sec--content-3 .sec__title::before, body.faq body.step .sec--content-2 .sec__title::before, body.step body.faq .sec--content-2 .sec__title::before, body.faq body.feature .sec--content--01 .sec__title::before, body.feature body.faq .sec--content--01 .sec__title::before, body.price .subsec--step .subsec__body li::before, body.price .subsec--plan .subsec__body .price-value-plus::before, body.price .subsec--plan .subsec__body .amp-type::after,
body.price .subsec--plan .subsec__body .price-before::after,
body.price .subsec--plan .subsec__body .price-after::after, body.price .subsec--plan .container--inner::before, body.price .nav-plans .nav-plan.selected::after, body.price .nav-plans .nav-plan span::before, .l-footer .nav-to-top a::before, .sec--title-entry-step .sec__title::before, .menu__item a::after, .menu--entry-step .menu__item a::before, .contact-tel a::before, body.price .subsec--contact .subsec__body .contact a::before, .l-footer .contact a::before, .sec--style .style .l-footer .contact a::before, .l-footer .sec--style .style .contact a::before, .contact-tel--large a::before, body.entry .option-info .option-info__body dd .contact-tel a::before, body.entry .option-info .option-info__body dd .contact-tel--large a::before, body.entry .option-info .option-info__body dd .l-footer .contact a::before, .l-footer body.entry .option-info .option-info__body dd .contact a::before, .sec--style .style .contact-tel a::before, .btn::after, .btn--support::before {
  content: "";
  display: inline-block;
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

/* =======================================
 common
======================================= */
/* ---------------------------------------
 header
--------------------------------------- */
.l-header {
  display: block;
  background-color: #fff;
}

.header {
  position: relative;
  height: 70px;
}

.header__logo a,
.header__logo span {
  position: absolute;
  top: 10px;
  left: 15px;
}
.header__logo img {
  width: 185px;
}

.nav--btn.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 2200;
}

.nav__btn, .nav__btn--close, .nav__btn--open {
  position: absolute;
  top: 0;
  right: 0;
  width: 70px;
  height: 70px;
}
.nav__btn button, .nav__btn--close button, .nav__btn--open button {
  display: block;
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 0;
  width: 54px;
  height: 54px;
  background-color: transparent;
  border: solid 2px #fff;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
}
.nav__btn button img, .nav__btn--close button img, .nav__btn--open button img {
  width: 100%;
}

.nav--menu {
  position: relative;
  display: block;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  background-color: transparent;
  z-index: 2000;
  overflow-y: scroll;
  transition: 1s;
}
@media screen and (min-width: 750px) {
  .nav--menu {
    overflow-y: visible;
  }
}
.nav--menu.fixed {
  position: fixed;
}
.nav--menu.close {
  transition: 0.6s;
  transform: translateY(-500px);
}
.nav--menu.open {
  transition: 0.8s;
  transform: translateY(0);
}
.nav--menu .nav__content {
  height: 700px;
  overflow: visible;
}
.nav--menu .nav__content > .container--wide, .nav--menu body.price .nav__content > .nav-plans, body.price .nav--menu .nav__content > .nav-plans, .nav--menu .nav__content > .menus, .nav--menu .nav__content > .menu--content, .nav--menu .nav__content > .menu--top, .nav--menu .nav__content > .menu--entry-step, .nav--menu .nav__content > .header, .nav--menu .nav__content > .nav--btn {
  padding-top: 70px;
  background-color: #fff;
}
.nav--menu .nav__content .menu--top {
  margin-left: 0;
  padding-left: 20px;
  border-bottom: solid 1px #c0ccda;
}
.nav--menu .nav__content .menu--top .menu__item {
  margin-left: 0;
}
.nav--menu .nav__content .menu--top a {
  border-bottom: 0;
}
.nav--menu .nav__content .menu--close {
  padding: 20px;
  background-color: #fff;
  text-align: center;
}
.nav--menu .nav__content .menu--close button {
  padding: 10px 20px;
  background-color: #fff352;
  border: 0;
  border-radius: 20px;
  outline: none;
  cursor: pointer;
}

html.open-menu-window,
body.open-menu-window {
  overflow: hidden;
  height: 100vh;
}

#opened-menu-window-background {
  position: fixed;
  z-index: 1000;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

/* ---------------------------------------
 main
--------------------------------------- */
.l-main {
  display: block;
}

/* ---------------------------------------
 footer
--------------------------------------- */
.l-footer {
  display: block;
}
.l-footer .contact {
  padding: 20px;
  background-color: #f0f3f6;
  text-align: center;
}
.l-footer .contact img {
  display: block;
  width: 100px;
  margin: 0 auto;
  padding-bottom: 10px;
}
.l-footer .contact p {
  font-size: 0.85em;
}
.l-footer .nav-to-top {
  padding: 15px;
  text-align: center;
}
.l-footer .nav-to-top a {
  display: block;
  position: relative;
  padding-top: 30px;
  color: #00479d;
  font-size: 0.65em;
  font-family: "Montserrat", sans-serif;
}
.l-footer .nav-to-top a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  width: 45px;
  height: 24px;
  background-image: url("../images/common/icon_arrow_up_blue.png");
}
.l-footer .copyright {
  padding: 20px;
  border-top: solid 10px #00479d;
  text-align: center;
}
.l-footer .copyright div {
  padding-bottom: 20px;
}
.l-footer .copyright div span {
  font-size: 0.85em;
}
.l-footer .copyright div a {
  color: #00479d;
  border-bottom: solid 1px #00479d;
}
.l-footer .copyright p {
  font-size: 0.85em;
  font-family: "Montserrat", sans-serif;
}

/* =======================================
 page feature
======================================= */
body.feature .sec--content, body.feature body.step .sec--content-3, body.step body.feature .sec--content-3, body.feature body.step .sec--content-2, body.step body.feature .sec--content-2, body.feature .sec--content--01 {
  padding-bottom: 20px;
}
body.feature .sec--content .sec__title img, body.feature body.step .sec--content-3 .sec__title img, body.step body.feature .sec--content-3 .sec__title img, body.feature body.step .sec--content-2 .sec__title img, body.step body.feature .sec--content-2 .sec__title img, body.feature .sec--content--01 .sec__title img {
  display: inline-block;
  position: relative;
  margin: 0 5px;
  width: 30px;
  height: 35px;
  vertical-align: bottom;
  z-index: 20;
}
body.feature .sec--content .sec__title span, body.feature body.step .sec--content-3 .sec__title span, body.step body.feature .sec--content-3 .sec__title span, body.feature body.step .sec--content-2 .sec__title span, body.step body.feature .sec--content-2 .sec__title span, body.feature .sec--content--01 .sec__title span {
  display: inline-block;
  position: relative;
  font-size: 1.125em;
  font-weight: 700;
  vertical-align: bottom;
  z-index: 20;
}
@media screen and (max-width: 320px) {
  body.feature .sec--content .sec__title span, body.feature body.step .sec--content-3 .sec__title span, body.step body.feature .sec--content-3 .sec__title span, body.feature body.step .sec--content-2 .sec__title span, body.step body.feature .sec--content-2 .sec__title span, body.feature .sec--content--01 .sec__title span {
    font-size: 1em;
  }
}
body.feature .sec--content .sec__title::after, body.feature body.step .sec--content-3 .sec__title::after, body.step body.feature .sec--content-3 .sec__title::after, body.feature body.step .sec--content-2 .sec__title::after, body.step body.feature .sec--content-2 .sec__title::after, body.feature .sec--content--01 .sec__title::after {
  display: block;
  position: relative;
  content: "";
  height: 32px;
  margin-top: -26px;
  background-color: #fff352;
  z-index: 10;
}
body.feature .sec--content .sec__body, body.feature body.step .sec--content-3 .sec__body, body.step body.feature .sec--content-3 .sec__body, body.feature body.step .sec--content-2 .sec__body, body.step body.feature .sec--content-2 .sec__body, body.feature .sec--content--01 .sec__body {
  padding: 25px;
  border: solid 2px #fff352;
}
body.feature .sec--content .sec__body p, body.feature body.step .sec--content-3 .sec__body p, body.step body.feature .sec--content-3 .sec__body p, body.feature body.step .sec--content-2 .sec__body p, body.step body.feature .sec--content-2 .sec__body p, body.feature .sec--content--01 .sec__body p {
  font-size: 1em;
  line-height: 1.6;
  margin-bottom: 1em;
}
body.feature .sec--content .sec__body p:last-child, body.feature body.step .sec--content-3 .sec__body p:last-child, body.step body.feature .sec--content-3 .sec__body p:last-child, body.feature body.step .sec--content-2 .sec__body p:last-child, body.step body.feature .sec--content-2 .sec__body p:last-child, body.feature .sec--content--01 .sec__body p:last-child {
  margin-bottom: 0;
}
body.feature .sec--content--01 .sec__body p:last-child a {
  display: inline-block;
  vertical-align: middle;
}
body.feature .sec--content--01 .sec__body p:last-child a img {
  vertical-align: middle;
}
body.feature .sec--content--01 .sec__body p:last-child a:first-child {
  margin-right: 15px;
}
body.feature .sec--content--01 .sec__body p:last-child a:first-child img {
  width: 120px;
}
@media screen and (max-width: 320px) {
  body.feature .sec--content--01 .sec__body p:last-child a:first-child img {
    width: 110px;
  }
}
body.feature .sec--content--01 .sec__body p:last-child a:last-child img {
  width: 105px;
}
@media screen and (max-width: 320px) {
  body.feature .sec--content--01 .sec__body p:last-child a:last-child img {
    width: 90px;
  }
}
body.feature .option-info {
  padding-bottom: 20px;
}
body.feature .option-info__body {
  margin-left: 1em;
  color: #666;
  font-size: 0.75em;
  line-height: 1.6;
  text-indent: -1em;
}

/* =======================================
 page price
======================================= */
body.price .nav-plans ul {
  display: flex;
  margin: 0 3px;
}
body.price .nav-plans .nav-plan {
  flex: 1;
  margin: 0 3px;
  text-align: center;
}
body.price .nav-plans .nav-plan a {
  display: block;
  padding: 15px 10px;
  color: #00479d;
  background-color: #c0ccda;
  border-radius: 5px 5px 0 0;
  font-size: 0.9em;
  font-weight: 700;
}
body.price .nav-plans .nav-plan span::before {
  top: 50%;
  left: 20px;
  margin-top: -8px;
  margin-right: 5px;
  width: 16px;
  height: 13px;
}
body.price .nav-plans .nav-plan.selected {
  position: relative;
  pointer-events: none;
}
body.price .nav-plans .nav-plan.selected a {
  color: #fff;
  background-color: #00479d;
}
body.price .nav-plans .nav-plan.selected::after {
  position: absolute;
  bottom: -7px;
  left: 50%;
  margin-left: -7px;
  width: 14px;
  height: 7px;
  background-image: url("../images/price/icon_triangle.png");
  z-index: 15;
}
body.price .nav-plans .nav-plan--home span::before {
  background-image: url("../images/price/icon_home_blue.png");
}
body.price .nav-plans .nav-plan--home.selected span::before {
  background-image: url("../images/price/icon_home_white.png");
}
body.price .nav-plans .nav-plan--office span::before {
  background-image: url("../images/price/icon_office_blue.png");
}
body.price .nav-plans .nav-plan--office.selected span::before {
  background-image: url("../images/price/icon_office_white.png");
}
body.price .subsec--hero .sec__title img {
  width: 100%;
}
body.price .subsec--hero .sec__body {
  padding: 30px 10px;
  text-align: center;
  font-size: 0.95em;
  line-height: 1.6;
}
@media screen and (max-width: 320px) {
  body.price .subsec--hero .sec__body {
    padding: 30px 5px;
    font-size: 0.8em;
  }
}
body.price .subsec--plan {
  margin-bottom: 20px;
}
body.price .subsec--plan.last {
  margin-bottom: 0;
}
body.price .subsec--plan .container, body.price .subsec--plan .container--wide, body.price .subsec--plan .menus, body.price .subsec--plan .menu--content, body.price .subsec--plan .menu--entry-step, body.price .subsec--plan .header, body.price .subsec--plan .nav--btn, body.price .subsec--plan .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.price .subsec--plan .menu--top, body.price .subsec--plan .nav--menu .nav__content .menu--close, .nav--menu .nav__content body.price .subsec--plan .menu--close, body.price .subsec--plan .nav-plans {
  padding: 20px;
  background-color: #00479d;
}
body.price .subsec--plan .container--inner {
  position: relative;
  padding: 20px 20px 30px;
  background-color: #fff;
  border-radius: 5px;
}
@media screen and (max-width: 320px) {
  body.price .subsec--plan .container--inner {
    padding: 15px 15px 20px;
  }
}
body.price .subsec--plan .container--inner::before {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -80px;
  width: 151px;
  height: 21px;
  background-image: url("../images/price/img_clip.png");
}
body.price .subsec--plan .subsec__title {
  padding-top: 30px;
  margin: 0 -20px;
  text-align: center;
}
@media screen and (max-width: 320px) {
  body.price .subsec--plan .subsec__title {
    margin: 0 -10px;
  }
}
body.price .subsec--plan .subsec__title img {
  width: 320px;
}
body.price .subsec--plan .subsec__title span {
  display: block;
  width: 320px;
  margin: 0 auto 10px;
  text-align: left;
}
body.price .subsec--plan .subsec__body {
  padding-top: 10px;
  text-align: center;
}
body.price .subsec--plan .subsec__body .amp-type,
body.price .subsec--plan .subsec__body .price-before,
body.price .subsec--plan .subsec__body .price-after {
  position: relative;
  padding-top: 20px;
}
body.price .subsec--plan .subsec__body .amp-type::after,
body.price .subsec--plan .subsec__body .price-before::after,
body.price .subsec--plan .subsec__body .price-after::after {
  position: absolute;
  bottom: 0;
  left: 50%;
}
body.price .subsec--plan .subsec__body .amp-type {
  padding-bottom: 20px;
  font-size: 1em;
  line-height: 1.5;
}
body.price .subsec--plan .subsec__body .amp-type::after {
  margin-left: -142px;
  width: 285px;
  height: 2px;
  background-image: url("../images/price/img_line_top.png");
}
@media screen and (max-width: 320px) {
  body.price .subsec--plan .subsec__body .amp-type::after {
    margin-left: -125px;
    width: 250px;
  }
}
body.price .subsec--plan .subsec__body .price-before,
body.price .subsec--plan .subsec__body .price-after {
  font-size: 1em;
}
@media screen and (max-width: 320px) {
  body.price .subsec--plan .subsec__body .price-before,
  body.price .subsec--plan .subsec__body .price-after {
    font-size: 0.9em;
  }
}
body.price .subsec--plan .subsec__body .price-before::after,
body.price .subsec--plan .subsec__body .price-after::after {
  margin-left: -142px;
  width: 285px;
  height: 2px;
}
body.price .subsec--plan .subsec__body .price-before .price,
body.price .subsec--plan .subsec__body .price-after .price {
  font-size: 1.5em;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  margin: 0 -0.15em;
}
body.price .subsec--plan .subsec__body .price-before .unit,
body.price .subsec--plan .subsec__body .price-after .unit {
  font-size: 1.05em;
  font-weight: 500;
}
body.price .subsec--plan .subsec__body .price-before {
  padding-bottom: 30px;
}
body.price .subsec--plan .subsec__body .price-before::after {
  margin-left: -8px;
  width: 15px;
  height: 8px;
  background-image: url("../images/common/icon_arrow_down.png");
}
body.price .subsec--plan .subsec__body .price-after {
  padding-bottom: 30px;
}
body.price .subsec--plan .subsec__body .price-after::after {
  margin-left: -142px;
  width: 285px;
  height: 9px;
  background-image: url("../images/price/img_line_bottom.png");
}
@media screen and (max-width: 320px) {
  body.price .subsec--plan .subsec__body .price-after::after {
    margin-left: -125px;
    width: 250px;
  }
}
body.price .subsec--plan .subsec__body .price-value {
  padding-top: 20px;
  font-size: 1.25em;
}
@media screen and (max-width: 320px) {
  body.price .subsec--plan .subsec__body .price-value {
    font-size: 1em;
  }
}
body.price .subsec--plan .subsec__body .price-value > span {
  font-weight: 500;
  display: block;
  margin-bottom: 5px;
}
body.price .subsec--plan .subsec__body .price-value > div {
  position: relative;
  display: inline-block;
  width: auto;
  font-size: 1.5em;
  font-weight: 700;
}
body.price .subsec--plan .subsec__body .price-value > div > p {
  position: relative;
  z-index: 15;
}
body.price .subsec--plan .subsec__body .price-value > div .price {
  font-size: 1.5em;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  margin: 0 -0.15em;
}
body.price .subsec--plan .subsec__body .price-value > div .unit {
  font-size: 0.6em;
  z-index: 15;
}
body.price .subsec--plan .subsec__body .price-value > div::before {
  content: "";
  display: inline-block;
  position: absolute;
  padding: 0 10px;
  bottom: -5px;
  left: 0;
  margin-left: -15px;
  width: 105%;
  width: calc(100% + 30px);
  height: 16px;
  background-color: #fff352;
  z-index: 10;
}
body.price .subsec--plan .subsec__body .price-value-plus {
  position: relative;
  padding: 60px 20px 10px;
  text-align: left;
}
@media screen and (max-width: 320px) {
  body.price .subsec--plan .subsec__body .price-value-plus {
    padding: 60px 0 5px;
  }
}
body.price .subsec--plan .subsec__body .price-value-plus::before {
  position: absolute;
  top: 20px;
  left: 50%;
  margin-left: -12px;
  width: 25px;
  height: 25px;
  background-image: url("../images/price/icon_plus.png");
}
body.price .subsec--plan .subsec__body .price-value-plus > div {
  display: flex;
  justify-content: center;
}
body.price .subsec--plan .subsec__body .price-value-plus > div > img {
  width: 42px;
  height: 52px;
}
body.price .subsec--plan .subsec__body .price-value-plus > div > p {
  margin-left: 10px;
  font-size: 0.8em;
  line-height: 1.4;
}
body.price .subsec--plan .subsec__body .price-value-plus > div > p > span {
  font-size: 1.4em;
  font-weight: 500;
}
body.price .subsec--plan--office-a .subsec__title span {
  padding-left: 40px;
}
body.price .subsec--plan--office-b .subsec__title span {
  padding-left: 20px;
}
body.price .subsec--plan--office-c .subsec__title span {
  padding-left: 60px;
}
body.price .subsec--step .container--wide, body.price .subsec--step .menus, body.price .subsec--step .menu--content, body.price .subsec--step .menu--entry-step, body.price .subsec--step .header, body.price .subsec--step .nav--btn, body.price .subsec--step .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.price .subsec--step .menu--top, body.price .subsec--step .nav-plans {
  padding-top: 35px;
  padding-bottom: 40px;
  background-color: #fff352;
}
body.price .subsec--step .subsec__title {
  font-size: 1.125em;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 320px) {
  body.price .subsec--step .subsec__title br {
    font-size: 1em;
    display: none;
  }
}
body.price .subsec--step .subsec__body li {
  position: relative;
  margin: 20px 0 40px;
  padding: 15px 5px;
  color: #fff;
  background-color: #00479d;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 320px) {
  body.price .subsec--step .subsec__body li {
    font-size: 0.85em;
  }
}
body.price .subsec--step .subsec__body li::before {
  position: absolute;
  top: -25px;
  left: 50%;
  margin-left: -12px;
  width: 23px;
  height: 13px;
  background-image: url("../images/common/icon_arrow_down.png");
}
body.price .subsec--step .subsec__body li:first-child::before {
  display: none;
}
body.price .subsec--step .subsec__body li:last-child {
  margin-bottom: 0;
}
body.price .subsec--contact .container--wide, body.price .subsec--contact .menus, body.price .subsec--contact .menu--content, body.price .subsec--contact .menu--entry-step, body.price .subsec--contact .header, body.price .subsec--contact .nav--btn, body.price .subsec--contact .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.price .subsec--contact .menu--top, body.price .subsec--contact .nav-plans {
  padding: 20px 0;
  background-color: #f0f3f6;
  border: solid 1px #00479d;
  border-width: 4px 0;
  text-align: center;
}
body.price .subsec--contact .subsec__title {
  font-size: 0.9em;
  line-height: 1.4;
  margin-bottom: 10px;
}
body.price .subsec--contact .subsec__body > p {
  margin-top: 10px;
  font-size: 0.75em;
  line-height: 1.4;
}
@media screen and (max-width: 320px) {
  body.price .subsec--contact .subsec__body > p br {
    display: none;
  }
}
body.price .option-info {
  padding: 30px 0;
}
body.price .option-info .option-info__body dl {
  padding: 20px;
  border: solid 1px #00479d;
  font-size: 0.9em;
  line-height: 1.5;
}
@media screen and (max-width: 320px) {
  body.price .option-info .option-info__body dl {
    font-size: 0.85em;
  }
}
body.price .option-info .option-info__body dt {
  font-weight: bold;
}
body.price .option-info .option-info__body p {
  text-indent: -1em;
  margin-left: 1em;
}
body.price .option-info .option-info__body > p {
  margin-top: 10px;
  font-size: 0.85em;
  line-height: 1.4;
}

/* =======================================
 page support
======================================= */
body.support .sec--content-01 {
  padding-bottom: 20px;
}
body.support .sec--content-01 .sec__title {
  text-align: center;
}
body.support .sec--content-01 .sec__title p {
  padding-top: 20px;
  padding-bottom: 40px;
  font-size: 0.95em;
  line-height: 1.7;
}
body.support .sec--content-01 .sec__title img {
  padding-bottom: 10px;
  width: 291px;
}
body.support .sec--content-01 .sec__body {
  text-align: center;
}
body.support .sec--content-01 .sec__body img {
  padding-bottom: 20px;
  width: 309px;
}
body.support .sec--content-01 .sec__body p {
  padding: 0 20px;
  text-align: left;
  font-size: 0.95em;
  line-height: 1.7;
}
body.support .sec--style .sec__title {
  padding-bottom: 30px;
  text-align: center;
}
body.support .sec--style .sec__title img {
  padding-bottom: 20px;
  width: 309px;
}
body.support .sec--style .style--1 dd {
  text-align: center;
}
body.support .sec--style .style--1 dd > img {
  width: 252px;
}
body.support .sec--style .style--2 dd {
  text-align: center;
}
body.support .sec--style .style--2 dd > img {
  width: 292px;
}
body.support .sec--style .style--3 dd {
  text-align: center;
}
body.support .sec--style .style--3 dd > p {
  padding-bottom: 10px;
  text-align: center;
  font-size: 0.85em;
}
body.support .sec--style .style--3 dd > img {
  width: 240px;
}
body.support .option-info {
  padding: 30px 0;
}
body.support .option-info .option-info__body {
  text-align: center;
}
body.support .option-info .option-info__body p {
  padding-bottom: 40px;
  font-size: 0.9em;
  line-height: 1.6;
}
@media screen and (max-width: 320px) {
  body.support .option-info .option-info__body p {
    font-size: 0.75em;
  }
}
body.support .option-info .option-info__body p > img {
  display: inline-block;
  width: 296px;
  padding-top: 10px;
}
body.support .option-info .option-info__body > img {
  width: 292px;
}

/* =======================================
 page faq
======================================= */
body.faq .sec--content, body.faq body.step .sec--content-3, body.step body.faq .sec--content-3, body.faq body.step .sec--content-2, body.step body.faq .sec--content-2, body.faq body.feature .sec--content--01, body.feature body.faq .sec--content--01 {
  padding-bottom: 45px;
}
body.faq .sec--content .sec__title, body.faq body.step .sec--content-3 .sec__title, body.step body.faq .sec--content-3 .sec__title, body.faq body.step .sec--content-2 .sec__title, body.step body.faq .sec--content-2 .sec__title, body.faq body.feature .sec--content--01 .sec__title, body.feature body.faq .sec--content--01 .sec__title {
  position: relative;
  height: 50px;
  margin-left: 25px;
  padding: 5px 0;
  padding-left: 40px;
  background-color: #fff352;
}
body.faq .sec--content .sec__title.line--1, body.faq body.step .sec--content-3 .sec__title.line--1, body.step body.faq .sec--content-3 .sec__title.line--1, body.faq body.step .sec--content-2 .sec__title.line--1, body.step body.faq .sec--content-2 .sec__title.line--1, body.faq body.feature .sec--content--01 .sec__title.line--1, body.feature body.faq .sec--content--01 .sec__title.line--1 {
  padding-top: 15px;
}
@media screen and (max-width: 320px) {
  body.faq .sec--content .sec__title.line--1, body.faq body.step .sec--content-3 .sec__title.line--1, body.step body.faq .sec--content-3 .sec__title.line--1, body.faq body.step .sec--content-2 .sec__title.line--1, body.step body.faq .sec--content-2 .sec__title.line--1, body.faq body.feature .sec--content--01 .sec__title.line--1, body.feature body.faq .sec--content--01 .sec__title.line--1 {
    padding-top: 18px;
  }
}
body.faq .sec--content .sec__title.line--2, body.faq body.step .sec--content-3 .sec__title.line--2, body.step body.faq .sec--content-3 .sec__title.line--2, body.faq body.step .sec--content-2 .sec__title.line--2, body.step body.faq .sec--content-2 .sec__title.line--2, body.faq body.feature .sec--content--01 .sec__title.line--2, body.feature body.faq .sec--content--01 .sec__title.line--2 {
  padding-top: 5px;
}
@media screen and (max-width: 320px) {
  body.faq .sec--content .sec__title.line--2, body.faq body.step .sec--content-3 .sec__title.line--2, body.step body.faq .sec--content-3 .sec__title.line--2, body.faq body.step .sec--content-2 .sec__title.line--2, body.step body.faq .sec--content-2 .sec__title.line--2, body.faq body.feature .sec--content--01 .sec__title.line--2, body.feature body.faq .sec--content--01 .sec__title.line--2 {
    padding-top: 8px;
  }
}
body.faq .sec--content .sec__title p, body.faq body.step .sec--content-3 .sec__title p, body.step body.faq .sec--content-3 .sec__title p, body.faq body.step .sec--content-2 .sec__title p, body.step body.faq .sec--content-2 .sec__title p, body.faq body.feature .sec--content--01 .sec__title p, body.feature body.faq .sec--content--01 .sec__title p {
  display: block;
  position: relative;
  font-size: 1.1em;
  font-weight: 700;
  line-height: 1.2;
  z-index: 20;
}
@media screen and (max-width: 320px) {
  body.faq .sec--content .sec__title p, body.faq body.step .sec--content-3 .sec__title p, body.step body.faq .sec--content-3 .sec__title p, body.faq body.step .sec--content-2 .sec__title p, body.step body.faq .sec--content-2 .sec__title p, body.faq body.feature .sec--content--01 .sec__title p, body.feature body.faq .sec--content--01 .sec__title p {
    font-size: 0.95em;
  }
}
body.faq .sec--content .sec__title::before, body.faq body.step .sec--content-3 .sec__title::before, body.step body.faq .sec--content-3 .sec__title::before, body.faq body.step .sec--content-2 .sec__title::before, body.step body.faq .sec--content-2 .sec__title::before, body.faq body.feature .sec--content--01 .sec__title::before, body.feature body.faq .sec--content--01 .sec__title::before {
  display: block;
  position: absolute;
  top: 50%;
  left: -25px;
  margin-top: -25px;
  width: 50px;
  height: 50px;
  background-image: url("../images/faq/icon_q.png");
}
body.faq .sec--content .sec__body, body.faq body.step .sec--content-3 .sec__body, body.step body.faq .sec--content-3 .sec__body, body.faq body.step .sec--content-2 .sec__body, body.step body.faq .sec--content-2 .sec__body, body.faq body.feature .sec--content--01 .sec__body, body.feature body.faq .sec--content--01 .sec__body {
  position: relative;
  margin-left: 65px;
  margin-right: 20px;
  margin-top: 15px;
}
body.faq .sec--content .sec__body p, body.faq body.step .sec--content-3 .sec__body p, body.step body.faq .sec--content-3 .sec__body p, body.faq body.step .sec--content-2 .sec__body p, body.step body.faq .sec--content-2 .sec__body p, body.faq body.feature .sec--content--01 .sec__body p, body.feature body.faq .sec--content--01 .sec__body p {
  padding-bottom: 10px;
  font-size: 0.95em;
  line-height: 1.6;
}
@media screen and (max-width: 320px) {
  body.faq .sec--content .sec__body p, body.faq body.step .sec--content-3 .sec__body p, body.step body.faq .sec--content-3 .sec__body p, body.faq body.step .sec--content-2 .sec__body p, body.step body.faq .sec--content-2 .sec__body p, body.faq body.feature .sec--content--01 .sec__body p, body.feature body.faq .sec--content--01 .sec__body p {
    font-size: 0.9em;
  }
}
body.faq .sec--content .sec__body p:last-child, body.faq body.step .sec--content-3 .sec__body p:last-child, body.step body.faq .sec--content-3 .sec__body p:last-child, body.faq body.step .sec--content-2 .sec__body p:last-child, body.step body.faq .sec--content-2 .sec__body p:last-child, body.faq body.feature .sec--content--01 .sec__body p:last-child, body.feature body.faq .sec--content--01 .sec__body p:last-child {
  padding-bottom: 0;
}
body.faq .sec--content .sec__body p.comments, body.faq body.step .sec--content-3 .sec__body p.comments, body.step body.faq .sec--content-3 .sec__body p.comments, body.faq body.step .sec--content-2 .sec__body p.comments, body.step body.faq .sec--content-2 .sec__body p.comments, body.faq body.feature .sec--content--01 .sec__body p.comments, body.feature body.faq .sec--content--01 .sec__body p.comments {
  font-size: 0.9em;
  text-indent: -1em;
  margin-left: 1em;
}
body.faq .sec--content .sec__body::before, body.faq body.step .sec--content-3 .sec__body::before, body.step body.faq .sec--content-3 .sec__body::before, body.faq body.step .sec--content-2 .sec__body::before, body.step body.faq .sec--content-2 .sec__body::before, body.faq body.feature .sec--content--01 .sec__body::before, body.feature body.faq .sec--content--01 .sec__body::before {
  display: block;
  position: absolute;
  top: 0;
  left: -65px;
  width: 50px;
  height: 50px;
  background-image: url("../images/faq/icon_a.png");
}
body.faq .sec--content .sec__btn, body.faq body.step .sec--content-3 .sec__btn, body.step body.faq .sec--content-3 .sec__btn, body.faq body.step .sec--content-2 .sec__btn, body.step body.faq .sec--content-2 .sec__btn, body.faq body.feature .sec--content--01 .sec__btn, body.feature body.faq .sec--content--01 .sec__btn {
  padding: 10px 30px 0;
}

/* =======================================
 page entry
======================================= */
body.entry .sec--title-entry-step .sec__title::before {
  background-image: url("../images/common/icon_pencil.png");
}
body.entry .sec--style .sec__title {
  padding-bottom: 30px;
  text-align: center;
}
body.entry .sec--style .sec__title img {
  display: block;
  width: 260px;
  margin: 0 auto;
  margin-bottom: 8px;
}
body.entry .sec--style .sec__title p {
  display: inline-block;
  padding: 6px 10px;
  background-color: #fff;
  font-size: 0.9em;
}
@media screen and (max-width: 320px) {
  body.entry .sec--style .sec__title p {
    padding: 6px 5px;
    font-size: 0.8em;
  }
}
body.entry .sec--style .style {
  text-align: center;
}
body.entry .sec--style .style dd p {
  padding-bottom: 5px;
  line-height: 1.4;
}
body.entry .sec--style .style--2 dd p:last-child,
body.entry .sec--style .style--3 dd p:last-child {
  padding: 10px;
  text-align: left;
}
body.entry .sec--style .style--3 dt p {
  letter-spacing: 0;
}
body.entry .option-info {
  padding: 30px 0;
}
body.entry .option-info .option-info__body dl {
  margin-bottom: 10px;
  padding: 20px;
  border: solid 1px #00479d;
}
body.entry .option-info .option-info__body dt {
  padding-bottom: 10px;
  font-size: 0.82em;
  line-height: 1.5;
}
@media screen and (max-width: 320px) {
  body.entry .option-info .option-info__body dt {
    font-size: 0.8em;
  }
}
body.entry .option-info .option-info__body dd div {
  text-align: center;
}
body.entry .option-info .option-info__body dd span {
  font-size: 0.8em;
  text-align: right;
}
body.entry .option-info .option-info__body dd .contact-tel a, body.entry .option-info .option-info__body dd .contact-tel--large a, body.entry .option-info .option-info__body dd .l-footer .contact a, .l-footer body.entry .option-info .option-info__body dd .contact a, body.entry .option-info .option-info__body dd body.price .subsec--contact .subsec__body .contact a, body.price .subsec--contact .subsec__body body.entry .option-info .option-info__body dd .contact a {
  margin: 0 -10px;
}
@media screen and (max-width: 320px) {
  body.entry .option-info .option-info__body dd .contact-tel a, body.entry .option-info .option-info__body dd .contact-tel--large a, body.entry .option-info .option-info__body dd .l-footer .contact a, .l-footer body.entry .option-info .option-info__body dd .contact a, body.entry .option-info .option-info__body dd body.price .subsec--contact .subsec__body .contact a, body.price .subsec--contact .subsec__body body.entry .option-info .option-info__body dd .contact a {
    font-size: 1.9em;
  }
}
body.entry .option-info .option-info__body > p {
  margin-top: 2px;
  font-size: 0.8em;
  line-height: 1.4;
  text-indent: -1em;
  margin-left: 1em;
}

/* =======================================
 page step
======================================= */
body.step .sec--title-entry-step .sec__title::before {
  background-image: url("../images/common/icon_light.png");
}
body.step .sec--content .container--wide, body.step .sec--content-3 .container--wide, body.step .sec--content-2 .container--wide, body.step body.feature .sec--content--01 .container--wide, body.feature body.step .sec--content--01 .container--wide, body.step .sec--content .menus, body.step .sec--content-3 .menus, body.step .sec--content-2 .menus, body.step body.feature .sec--content--01 .menus, body.feature body.step .sec--content--01 .menus, body.step .sec--content .menu--content, body.step .sec--content-3 .menu--content, body.step .sec--content-2 .menu--content, body.step body.feature .sec--content--01 .menu--content, body.feature body.step .sec--content--01 .menu--content, body.step .sec--content .menu--entry-step, body.step .sec--content-3 .menu--entry-step, body.step .sec--content-2 .menu--entry-step, body.step body.feature .sec--content--01 .menu--entry-step, body.feature body.step .sec--content--01 .menu--entry-step, body.step .sec--content .header, body.step .sec--content-3 .header, body.step .sec--content-2 .header, body.step body.feature .sec--content--01 .header, body.feature body.step .sec--content--01 .header, body.step .sec--content .nav--btn, body.step .sec--content-3 .nav--btn, body.step .sec--content-2 .nav--btn, body.step body.feature .sec--content--01 .nav--btn, body.feature body.step .sec--content--01 .nav--btn, body.step .sec--content .nav--menu .nav__content .menu--top, body.step .sec--content-3 .nav--menu .nav__content .menu--top, body.step .sec--content-2 .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.step .sec--content .menu--top, .nav--menu .nav__content body.step .sec--content-3 .menu--top, .nav--menu .nav__content body.step .sec--content-2 .menu--top, body.step body.feature .sec--content--01 .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.step body.feature .sec--content--01 .menu--top, body.feature body.step .sec--content--01 .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.feature body.step .sec--content--01 .menu--top, body.step .sec--content body.price .nav-plans, body.step .sec--content-3 body.price .nav-plans, body.step .sec--content-2 body.price .nav-plans, body.price body.step .sec--content .nav-plans, body.price body.step .sec--content-3 .nav-plans, body.price body.step .sec--content-2 .nav-plans, body.step body.feature .sec--content--01 body.price .nav-plans, body.price body.step body.feature .sec--content--01 .nav-plans, body.feature body.step .sec--content--01 body.price .nav-plans, body.price body.feature body.step .sec--content--01 .nav-plans {
  padding: 35px 5px 50px;
  background-color: #fff352;
}
@media screen and (max-width: 320px) {
  body.step .sec--content .container--wide, body.step .sec--content-3 .container--wide, body.step .sec--content-2 .container--wide, body.step body.feature .sec--content--01 .container--wide, body.feature body.step .sec--content--01 .container--wide, body.step .sec--content .menus, body.step .sec--content-3 .menus, body.step .sec--content-2 .menus, body.step body.feature .sec--content--01 .menus, body.feature body.step .sec--content--01 .menus, body.step .sec--content .menu--content, body.step .sec--content-3 .menu--content, body.step .sec--content-2 .menu--content, body.step body.feature .sec--content--01 .menu--content, body.feature body.step .sec--content--01 .menu--content, body.step .sec--content .menu--entry-step, body.step .sec--content-3 .menu--entry-step, body.step .sec--content-2 .menu--entry-step, body.step body.feature .sec--content--01 .menu--entry-step, body.feature body.step .sec--content--01 .menu--entry-step, body.step .sec--content .header, body.step .sec--content-3 .header, body.step .sec--content-2 .header, body.step body.feature .sec--content--01 .header, body.feature body.step .sec--content--01 .header, body.step .sec--content .nav--btn, body.step .sec--content-3 .nav--btn, body.step .sec--content-2 .nav--btn, body.step body.feature .sec--content--01 .nav--btn, body.feature body.step .sec--content--01 .nav--btn, body.step .sec--content .nav--menu .nav__content .menu--top, body.step .sec--content-3 .nav--menu .nav__content .menu--top, body.step .sec--content-2 .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.step .sec--content .menu--top, .nav--menu .nav__content body.step .sec--content-3 .menu--top, .nav--menu .nav__content body.step .sec--content-2 .menu--top, body.step body.feature .sec--content--01 .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.step body.feature .sec--content--01 .menu--top, body.feature body.step .sec--content--01 .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.feature body.step .sec--content--01 .menu--top, body.step .sec--content body.price .nav-plans, body.step .sec--content-3 body.price .nav-plans, body.step .sec--content-2 body.price .nav-plans, body.price body.step .sec--content .nav-plans, body.price body.step .sec--content-3 .nav-plans, body.price body.step .sec--content-2 .nav-plans, body.step body.feature .sec--content--01 body.price .nav-plans, body.price body.step body.feature .sec--content--01 .nav-plans, body.feature body.step .sec--content--01 body.price .nav-plans, body.price body.feature body.step .sec--content--01 .nav-plans {
    padding: 30px 5px 50px;
  }
}
body.step .sec--content .container--wide::before, body.step .sec--content-3 .container--wide::before, body.step .sec--content-2 .container--wide::before, body.step body.feature .sec--content--01 .container--wide::before, body.feature body.step .sec--content--01 .container--wide::before, body.step .sec--content .menus::before, body.step .sec--content-3 .menus::before, body.step .sec--content-2 .menus::before, body.step body.feature .sec--content--01 .menus::before, body.feature body.step .sec--content--01 .menus::before, body.step .sec--content .menu--content::before, body.step .sec--content-3 .menu--content::before, body.step .sec--content-2 .menu--content::before, body.step body.feature .sec--content--01 .menu--content::before, body.feature body.step .sec--content--01 .menu--content::before, body.step .sec--content .menu--entry-step::before, body.step .sec--content-3 .menu--entry-step::before, body.step .sec--content-2 .menu--entry-step::before, body.step body.feature .sec--content--01 .menu--entry-step::before, body.feature body.step .sec--content--01 .menu--entry-step::before, body.step .sec--content .header::before, body.step .sec--content-3 .header::before, body.step .sec--content-2 .header::before, body.step body.feature .sec--content--01 .header::before, body.feature body.step .sec--content--01 .header::before, body.step .sec--content .nav--btn::before, body.step .sec--content-3 .nav--btn::before, body.step .sec--content-2 .nav--btn::before, body.step body.feature .sec--content--01 .nav--btn::before, body.feature body.step .sec--content--01 .nav--btn::before, body.step .sec--content .nav--menu .nav__content .menu--top::before, body.step .sec--content-3 .nav--menu .nav__content .menu--top::before, body.step .sec--content-2 .nav--menu .nav__content .menu--top::before, .nav--menu .nav__content body.step .sec--content .menu--top::before, .nav--menu .nav__content body.step .sec--content-3 .menu--top::before, .nav--menu .nav__content body.step .sec--content-2 .menu--top::before, body.step body.feature .sec--content--01 .nav--menu .nav__content .menu--top::before, .nav--menu .nav__content body.step body.feature .sec--content--01 .menu--top::before, body.feature body.step .sec--content--01 .nav--menu .nav__content .menu--top::before, .nav--menu .nav__content body.feature body.step .sec--content--01 .menu--top::before, body.step .sec--content body.price .nav-plans::before, body.step .sec--content-3 body.price .nav-plans::before, body.step .sec--content-2 body.price .nav-plans::before, body.price body.step .sec--content .nav-plans::before, body.price body.step .sec--content-3 .nav-plans::before, body.price body.step .sec--content-2 .nav-plans::before, body.step body.feature .sec--content--01 body.price .nav-plans::before, body.price body.step body.feature .sec--content--01 .nav-plans::before, body.feature body.step .sec--content--01 body.price .nav-plans::before, body.price body.feature body.step .sec--content--01 .nav-plans::before {
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  margin-left: -11px;
  width: 23px;
  height: 13px;
  background-image: url("../images/common/icon_arrow_down.png");
}
body.step .sec--content .sec__title, body.step .sec--content-3 .sec__title, body.step .sec--content-2 .sec__title, body.step body.feature .sec--content--01 .sec__title, body.feature body.step .sec--content--01 .sec__title {
  position: relative;
  height: 40px;
  padding: 9px 20px;
  color: #fff;
  background-color: #00479d;
}
@media screen and (max-width: 320px) {
  body.step .sec--content .sec__title, body.step .sec--content-3 .sec__title, body.step .sec--content-2 .sec__title, body.step body.feature .sec--content--01 .sec__title, body.feature body.step .sec--content--01 .sec__title {
    padding: 9px 10px;
  }
}
body.step .sec--content .sec__title span, body.step .sec--content-3 .sec__title span, body.step .sec--content-2 .sec__title span, body.step body.feature .sec--content--01 .sec__title span, body.feature body.step .sec--content--01 .sec__title span {
  display: block;
  position: absolute;
  padding: 3px;
  width: 22px;
  height: 22px;
  background-color: #fff;
  border-radius: 50%;
  text-align: center;
}
body.step .sec--content .sec__title span img, body.step .sec--content-3 .sec__title span img, body.step .sec--content-2 .sec__title span img, body.step body.feature .sec--content--01 .sec__title span img, body.feature body.step .sec--content--01 .sec__title span img {
  height: 100%;
}
body.step .sec--content .sec__title p, body.step .sec--content-3 .sec__title p, body.step .sec--content-2 .sec__title p, body.step body.feature .sec--content--01 .sec__title p, body.feature body.step .sec--content--01 .sec__title p {
  padding-top: 2px;
  padding-left: 30px;
  font-size: 1.125em;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 320px) {
  body.step .sec--content .sec__title p, body.step .sec--content-3 .sec__title p, body.step .sec--content-2 .sec__title p, body.step body.feature .sec--content--01 .sec__title p, body.feature body.step .sec--content--01 .sec__title p {
    font-size: 1em;
  }
}
body.step .sec--content .sec__title p small, body.step .sec--content-3 .sec__title p small, body.step .sec--content-2 .sec__title p small, body.step body.feature .sec--content--01 .sec__title p small, body.feature body.step .sec--content--01 .sec__title p small {
  font-size: 0.6em;
  vertical-align: top;
}
body.step .sec--content .sec__body, body.step .sec--content-3 .sec__body, body.step .sec--content-2 .sec__body, body.step body.feature .sec--content--01 .sec__body, body.feature body.step .sec--content--01 .sec__body {
  padding: 20px;
  background-color: #fff;
}
@media screen and (max-width: 320px) {
  body.step .sec--content .sec__body, body.step .sec--content-3 .sec__body, body.step .sec--content-2 .sec__body, body.step body.feature .sec--content--01 .sec__body, body.feature body.step .sec--content--01 .sec__body {
    padding: 20px;
  }
}
body.step .sec--content .sec__body p, body.step .sec--content-3 .sec__body p, body.step .sec--content-2 .sec__body p, body.step body.feature .sec--content--01 .sec__body p, body.feature body.step .sec--content--01 .sec__body p {
  font-size: 0.95em;
  line-height: 1.6;
  margin-bottom: 10px;
}
body.step .sec--content .sec__body p:last-child, body.step .sec--content-3 .sec__body p:last-child, body.step .sec--content-2 .sec__body p:last-child, body.step body.feature .sec--content--01 .sec__body p:last-child, body.feature body.step .sec--content--01 .sec__body p:last-child {
  margin-bottom: 0;
}
body.step .sec--content .sec__body p em, body.step .sec--content-3 .sec__body p em, body.step .sec--content-2 .sec__body p em, body.step body.feature .sec--content--01 .sec__body p em, body.feature body.step .sec--content--01 .sec__body p em {
  font-weight: 700;
  font-style: normal;
}
body.step .sec--content .sec__body .comment, body.step .sec--content-3 .sec__body .comment, body.step .sec--content-2 .sec__body .comment, body.step body.feature .sec--content--01 .sec__body .comment, body.feature body.step .sec--content--01 .sec__body .comment {
  margin-bottom: 2px;
  font-size: 0.8em;
  line-height: 1.4;
  text-indent: -1em;
  margin-left: 1em;
}
body.step .sec--content-2 .container--wide, body.step .sec--content-2 .menus, body.step .sec--content-2 .menu--content, body.step .sec--content-2 .menu--entry-step, body.step .sec--content-2 .header, body.step .sec--content-2 .nav--btn, body.step .sec--content-2 .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.step .sec--content-2 .menu--top, body.step .sec--content-2 body.price .nav-plans, body.price body.step .sec--content-2 .nav-plans {
  padding-top: 0;
}
body.step .sec--content-2 .sec__title p {
  letter-spacing: 0;
}
body.step .sec--content-2 .sec__body > div {
  margin-bottom: 10px;
  padding: 5px;
  border: solid 1px #00479d;
  text-align: center;
  line-height: 1.4;
}
body.step .sec--content-3 .container--wide, body.step .sec--content-3 .menus, body.step .sec--content-3 .menu--content, body.step .sec--content-3 .menu--entry-step, body.step .sec--content-3 .header, body.step .sec--content-3 .nav--btn, body.step .sec--content-3 .nav--menu .nav__content .menu--top, .nav--menu .nav__content body.step .sec--content-3 .menu--top, body.step .sec--content-3 body.price .nav-plans, body.price body.step .sec--content-3 .nav-plans {
  padding-top: 0;
  padding-bottom: 30px;
}
body.step .sec--content-3 .container--wide::before, body.step .sec--content-3 .menus::before, body.step .sec--content-3 .menu--content::before, body.step .sec--content-3 .menu--entry-step::before, body.step .sec--content-3 .header::before, body.step .sec--content-3 .nav--btn::before, body.step .sec--content-3 .nav--menu .nav__content .menu--top::before, .nav--menu .nav__content body.step .sec--content-3 .menu--top::before, body.step .sec--content-3 body.price .nav-plans::before, body.price body.step .sec--content-3 .nav-plans::before {
  display: none;
}
body.step .sec--content-3 .sec__title p {
  letter-spacing: 0;
}
body.step .sec--content-3 .sec__comment {
  padding-top: 20px;
}
body.step .sec--content-3 .sec__comment p {
  font-size: 0.8em;
  line-height: 1.4;
  text-indent: -1em;
  margin-left: 1em;
}