/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
  color: #222;
  font-size: 62.5%;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, sans-serif, Helvetica, Helvetica Neue, Arial;
  line-height: 1.4;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}
/* ==========================================================================
Author's custom styles
========================================================================== */

body {
  position: relative;
  width: 100%;
  background-color: #E7E7E7;
}
body.fixed {
  position: fixed;
  width: 100%;
}
.pr img {
  width: 100%;
}
h2 {
  color: #FFFFFF;
  background-color: #f6bd26;
  font-size: 16px;
  font-size: 1.6rem;
  width: 98%;
  padding: 10px 0 10px 2%;
  margin: 0;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#products ul li, #plans ul li, #specials ul li, .products-list li {
  border-bottom: solid 1px #AAAAAA;
}
.description {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  background-color: #EAEAEA;
  display: none;
}
.description p {
  width: 96%;
  padding: 16px 2%;
  margin: 0;
}
.wrapper {
  max-width: 767px;
  min-width: 320px;
  margin: 0 auto;
  background-color: #FFFFFF;
  margin-top: 64px;
}
.marker {
  background: linear-gradient(transparent 60%, #ff0 0%);
  background: -webkit-linear-gradient(transparent 60%, #ff0 0%);
}
.red {
  color: #FC6568;
}
.inline-center {
  text-align: center;
}

/* Hamburger-menu */
header {
  display: block;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 1001;
}
header.active {
  height: 100%;
}
header .default {
  border-bottom: 8px solid #f6bd26;
  width: 96%;
  padding: 0 2%;
  height: 56px;
  background-color: #fff;
  vertical-align:bottom;
}
header .default .logo-h1-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 56px;
}
header .default .logo-wrapper {
  width: 95px;
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
}
header .default img.logo {
  width: 100%;
  max-width: 95px;
}
header .default h1 {
  width: 172px;
  display: inline-block;
  vertical-align: middle;
  font-size: 10px;
}
@media (max-width:320px) {
  header .default .logo-wrapper {
    width: 80px;
  }
}
header .default img.open-button {
  position: absolute;
  top: 15px;
  right: 6px;
  width: 30px;
}
header .humburgur-menu {
  display: none;
}
header .humburgur-menu.active {
  z-index: 10000;
  display: block;
  position: fixed;
  top: 0;
  width: 100%;
  height: inherit;
}
header .humburgur-menu h2,
header .humburgur-menu p,
header .humburgur-menu ul li {
  position: relative;
  font-size: 12px;
}
header .humburgur-header {
  z-index: 20000;
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #f6bd26;
}
header .humburgur-header p {
  display: inline-block;
  flex-basis: 50%;
  width: 25%;
  margin: 10px 0 10px 10px;
  padding: 10px 0px 10px 10px;
  border-radius: 5px;
  font-weight: bold;
  background-color: white;
}
header .humburgur-header a {
  display: inline-block;
  text-decoration: none;
  width: 80%;
  color: black;
}
header .humburgur-header img.close-button {
  position: absolute;
  top: 15px;
  right: 10px;
  width: 30px;
}
header .humburgur-body {
  display: block;
  overflow: scroll;
  max-height: calc(100% - 55px);
  padding-top: 55px;
  background-color: #f6bd26;
}
header .humburgur-body #hidden {
  display: none;
}
header .humburgur-body #hidden.open {
  display: block;
}
header .humburgur-body .flex-box {
  display: flex;
}
header .humburgur-body .menu-list {
  border-top: 3px solid #f6bd26;
  border-bottom: 3px solid #f6bd26;
}
header .humburgur-body .select-plan,
header .humburgur-body .guide,
header .humburgur-body .information-request,
header .humburgur-body .login-area {
  border-bottom: 3px solid #f6bd26;
}
header .humburgur-body h2 {
  width: calc(100% - 15px);
  margin: 0;
  padding: 15px 0 15px 15px;
  background-color: #fee49e;
  color: black;
}
header .humburgur-body a {
  display: inline-block;
  text-decoration: none;
  width: 95%;
  color: black;
}
header .humburgur-body ul {
  display: block;
  list-style: none;
  flex-basis: 50%;
  background-color: #fee49e;
}
header .humburgur-body ul.guide {
  background-color: #f6bd26;
}
header .humburgur-body ul.first-column {
  order: 1;
}
header .humburgur-body ul.second-column {
  order: 2;
}
header .humburgur-body ul li {
  padding: 10px;
  font-weight: bold;
  color: black;
  background-color: white;
  border-radius: 5px;
}
header .humburgur-body ul.first-column li {
  margin: 10px 5px 10px 10px;
}
header .humburgur-body ul.second-column li {
  margin: 10px 10px 10px 5px;
}
header .humburgur-body p.link-to-index {
  display: block;
  font-weight: normal;
  background-color: #fee49e;
  text-align: right;
  margin: 0;
  padding: 10px 40px 10px 0;
}
header .humburgur-body span.down-vector:after {
  display: inline-block;
  transform: rotate(135deg);
  content: "";
  position: absolute;
  margin: 4px 0px 0px 0px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #6098ff;
  border-right: 2px solid #6098ff;
}
header .humburgur-body span.up-vector:after {
  display: inline-block;
  transform: rotate(-45deg);
  content: "";
  position: absolute;
  margin: 4px 0px 0px 0px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #6098ff;
  border-right: 2px solid #6098ff;
}
header .humburgur-body span.menu:after {
  right: 20px;
}
header .humburgur-body span.plans:after {
  right: 20px;
}
header .humburgur-body span.guides:after {
  right: 20px;
}
header .humburgur-header .right-vector:after,
header .humburgur-body .right-vector:after {
  display: inline-block;
  transform: rotate(45deg);
  content: "";
  position: absolute;
  margin: 4px 0px 0px 0px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #6098ff;
  border-right: 2px solid #6098ff;
}
header .humburgur-body .link-to-index a.right-vector:after {
  right: 20px;
}
header .humburgur-body .right-vector.login:after {
  right: 20px;
}
.right-vector.login:before {
  content: url("../img/icon_login.png");
  width: 15px;
  height: 17px;
  zoom: 0.25;
  padding-right: 24px;
  position: relative;
  top: 5px;
}
/*toggles*/
.toggle-area h3 {
  font-size: 1.6rem;
  padding-left: 1em;
  margin: 1em 1.5em 0.5em 0;
  background: transparent url("/sp/img/down2.png") right center no-repeat;
}
.toggle-area  h3 {
  background: transparent url("/sp/img/up2.png") right center no-repeat !important;
}
.toggle-area p,
.toggle-h2-area p {
  padding: 0px 1em;
  font-size: 1.4rem;
}
.toggle-area .h3-border,
.toggle-h2-area .h3-border {
  width: 100%;
  height: 8px;
  background-image: url('/sp/img/stripes.png');
  background-repeat: repeat-x;
  margin-bottom: 1em;
}
.toggle-area .toggle-content {
  display: none;
}
.toggle-h2-area .toggle-h2 {
  font-size: 1.6rem;
  padding-right: 1.5em;
  background-color: #f6bd26;
  border-bottom: solid 1px #ffffff;
}
.toggle-h2-area .toggle-h2 h2 {
  background: transparent url("/sp/img/down3.png") right center no-repeat;
}
.toggle-h2-area  h2 {
  background: transparent url("/sp/img/up3.png") right center no-repeat;
}
.toggle-h2-area  h3 {
  font-size: 1.6rem;
  padding-left: 1em;
  margin: 2em 1.5em 0.5em 0;
}
.toggle-h2-area .toggle-h2-content {
  display: none;
}
/*重要なお知らせ*/
.caution-wrap {
  background-color: #f9e7e7;
  text-align: left;
  font-size: 1.3em;
  padding: 5%;
  margin: 5% 0;
}
.caution-wrap h3 {
  color: #C70000;
  margin-bottom: 10px;
}
/*key*/
#mv .key-wrap img {
  width: 100%;
}
#mv .key-wrap a.top-btn {
  background-color: #00a98f;
  color: #fff;
  text-decoration: none;
  display: block;
  font-size: 1.8em;
  border-bottom: solid 3px #007967;
  width: 94%;
  text-align: center;
  padding: 16px 0;
  margin: 20px auto;
  font-weight: bold;
  border-radius: 8px;
}
#mv .key-wrap a.top-btn.blue-btn {
  background-color: #4ec3ff;
  border-bottom: solid 3px #1987bf;
  padding: 12px 0;
}
#mv .key-wrap a span.btn-small-txt {
  font-size: 0.8em;
  display: block;
}
/*products*/
#products a,
.products-list a {
  text-decoration: none;
}
#products ul li .product,
.products-list li .product {
  position: relative;
  min-height: 68px;
  padding: 8px 0 0 2%;
}
#products ul li img,
.products-list li img  {
  display: block;
  width: 20%;
  float: left;
  padding-right: 5%;
  margin-bottom: 10px;
}
#products ul li .product::after,
.products-list li .product::after  {
  box-sizing: border-box;
  content: "詳しく";
  font-size: 1.2rem;
  color: #000;
  width: 60px;
  height: 60px;
  position: absolute;
  right: 0px;
  bottom: 0px;
  padding: 30px 0px 0px 15px;
  border-width: 1px 1px;
  border-style: solid none none solid;
  border-color: rgb(216, 216, 216) rgb(216, 216, 216);
  border-image: initial;
  border-right: none;
  border-bottom: none;
  border-radius: 120px 0px 0px;
}
#products .product_name,
.products-list .product_name,
#product-catalog h3.product_name {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  margin: 4% 0 0 0;
  color: #000;
  border: none;
  padding: 0;
}
#products .price,
.products-list .price {
  font-family: Arial, 'ＭＳ Ｐゴシック', sans-serif;
  font-weight: bold;
  font-style: italic;
  color: #FC6568;
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1;
  padding-bottom: 8px;
}
#products .price span,
.products-list .price span {
  font-size: 16px;
  font-size: 1.6rem;
  font-style: normal;
  margin-left: 0.2rem;
  margin-left: 2px;
}
/*plans*/
#plans a {
  text-decoration: none;
}
#plans ul li .plan {
  position: relative;
  min-height: 68px;
  padding: 16px 0 0 2%;
}
#plans ul li img {
  display: block;
  width: 20%;
  height: auto;
  float: left;
  padding-right: 5%;
  margin-bottom: 10px;
}
#plans ul li .plan::after {
  box-sizing: border-box;
  content: "詳しく";
  font-size: 1.2rem;
  color: #000;
  width: 60px;
  height: 60px;
  position: absolute;
  right: 0px;
  bottom: 0px;
  padding: 30px 0px 0px 15px;
  border-width: 1px 1px;
  border-style: solid none none solid;
  border-color: rgb(216, 216, 216) rgb(216, 216, 216);
  border-image: initial;
  border-right: none;
  border-bottom: none;
  border-radius: 120px 0px 0px;
}
#plans .plan_name {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1;
  height: inherit;
  margin: 5% 0 0 0;
  color: #000;
}
#plans .plan_name span {
  display: inline-block;
  height: inherit;
}
/*specials*/
#specials a {
  text-decoration: none;
}
#specials ul li .special {
  position: relative;
  min-height: 68px;
  padding: 16px 0 0 2%;
}
#specials ul li img {
  display: block;
  width: 20%;
  height: auto;
  float: left;
  padding-right: 5%;
  margin-bottom: 10px;
}
#specials ul li .special::after {
  box-sizing: border-box;
  content: "詳しく";
  font-size: 1.2rem;
  color: #000;
  width: 60px;
  height: 60px;
  position: absolute;
  right: 0px;
  bottom: 0px;
  padding: 30px 0px 0px 15px;
  border-width: 1px 1px;
  border-style: solid none none solid;
  border-color: rgb(216, 216, 216) rgb(216, 216, 216);
  border-image: initial;
  border-right: none;
  border-bottom: none;
  border-radius: 120px 0px 0px;
}
#specials .special_name {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1;
  height: inherit;
  margin: 5% 0 0 0;
  color: #000;
}
#specials .special_name span {
  display: inline-block;
  height: inherit;
}
/*case*/
#cases .cases_each {
  background-image: url('/sp/img/stripes.png');
  width: 100%;
}
#cases .case {
  margin: 3%;
  padding: 5%;
  background: #ffffff;
  border-radius: 7px;
}
#cases .case_image_cell {
  display: table-cell;
  width: 15%;
  vertical-align: middle;
}
#cases .case_image {
  width: 100%;
}
#cases .case_comment {
  display: table-cell;
  vertical-align: middle;
  margin: 0px;
  padding-left: 10%;
  font-size: 1.6rem;
  line-height: 1.7;
}
#cases .case4 {
  margin: 3%;
  padding: 5% 5% 5% 3%;
  background: #ffffff;
  border-radius: 7px;
}
#cases .case4 .case_image_cell {
  width: 20%;
}
#cases .case4 .case_comment {
  padding-left: 7%;
}

#cases .case_guide img {
  margin: 2em 0px;
  width: 92%;
  max-width: 591px;
}
#cases .cases_message {
  float: left;
  width: 60%;
  margin: 0px 2% 1em 4%;
  font-size: 1.6rem;
  line-height: 1.7;
}
#cases .cases_postcard {
  float: right;
  width: 34%;
  margin: 1.6em 0px;
}
#cases .cases_postcard img {
  width: 90%;
  max-width: 195px;
}
/*question*/
#questions .faq {
  border: solid 1px #ababab;
  border-radius: 7px;
  margin: 1em 2%;
  padding: 0.5em 2%;
}
#questions .faq .faq_question {
  cursor: pointer;
  padding-right: 1em;
}
#questions .faq .faq_answer {
  margin-top: 1em;
  display: none;
}
#questions .faq .faq_icon {
  display: table-cell;
  text-align: center;
}
#questions .faq .faq_content {
  display: table-cell;
  width: 100%;
  text-align: left;
  vertical-align: middle;
}
#questions .faq .faq_content p {
  font-size: 1.4rem;
  margin-top: 0px;
  margin-bottom: 0px;
}
#questions .faq .faq_question .faq_content p {
  width: 80%;
}
#questions .faq .faq_content p a {
  text-decoration: underline;
}
#questions .faq .faq_question .faq_icon {
  vertical-align: middle;
}
#questions .faq .faq_answer .faq_icon {
  padding-top: 5px;
  vertical-align: top;
}
#questions .faq .faq_question .faq_content {
  background: transparent url("/sp/img/down.png") right center no-repeat;
  font-weight: bold;
}
#questions .faq  .faq_content {
  background: transparent url("/sp/img/up.png") right center no-repeat !important;
}
#questions .faq .faq_answer .contact {
  padding: 2% 2.7%;
  margin: 6px 1em 0px 0px;
  background-color: #f3f3ec;
  font-size: 1.4rem;
}
/*guide*/
#guide .guide-image,
#guides .guide-image {
  margin: 6% 4%;
}
#guide .guide-image img,
#guides .guide-image img {
  width: 100%;
  max-width: 593px;
}
/*contact*/
#contact h3 {
  margin-left: 2%;
  font-size: 16px;
  font-size: 1.6rem;
}
#contact p,
#contact-tel p {
  font-size: 16px;
  font-size: 1.6rem;
  width: 96%;
  margin: 8px 2%;
}
#contact p a,
#contact-tel p a {
  color: #00a98f;
  text-decoration: none;
}
#contact form {
  width: 96%;
  margin: 0 2%;
}
#contact label {
  display: block;
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 8px;
  margin-top: 16px;
}
#contact input[type=text], #contact input[type=tel], #contact input[type=email] {
  box-sizing: border-box;
  display: block;
  width: 100%;
  background-color: #DADADA;
  border: none;
  border-radius: 8px;
  padding: 10px;
  font-size: 16px;
  font-size: 1.6rem;
}
#contact label.required-label::before {
  content: "必須";
  font-size: .76em;
  background: #fa0300;
  color: white;
  padding: .2em .5em;
  border-radius: 100px;
  margin-right: 4px;
}
#contact label:not(.required-label):not(.checkbox)::before {
  content: "任意";
  font-size: .76em;
  background: #333;
  color: white;
  padding: .2em .5em;
  border-radius: 100px;
  margin-right: 4px;
}
#contact textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 200px;
  background-color: #DADADA;
  border: none;
  border-radius: 8px;
  padding: 8px;
  margin-bottom: 16px;
  font-size: 16px;
  font-size: 1.6rem;
}
#contact .blank-box {
  width: 240px;
  height: 6%;
}
#contact button {
  color: #FFFFFF;
  font-weight: bold;
  font-size: 24px;
  font-size: 2.4rem;
  background-color: #00a98f;
  border: none;
  border-bottom: solid 3px #007967;
  width: 240px;
  height: 48px;
  border-radius: 8px;
  display: block;
  margin: 3% auto 6% auto;
}
#contact button.back {
  color: #625d59;
  font-weight: normal;
  font-size: 20px;
  font-size: 2rem;
  background-color: #fff;
  border: 3px solid #625d59;
  width: 240px;
  height: 48px;
  border-radius: 8px;
  display: block;
  margin: 6% auto 3% auto;
}
#contact .radio-block {
  text-align: center;
}
#contact input[type=radio] {
  visibility: hidden;
}
#contact .checkbox {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  width: 130px;
  margin: 36px 5px;
  padding: 0 0 0 45px;
  vertical-align: middle;
  cursor: pointer;
  text-align: left;
}
#contact .checkbox:after {
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 0px;
  display: block;
  margin-top: -18px;
  width: 32px;
  height: 32px;
  border: 2px solid #DADADA;
  background-color: #DADADA;
  border-radius: 6px;
  content: '';
}
#contact .checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 12px;
  display: block;
  margin-top: -12px;
  width: 10px;
  height: 18px;
  border-right: 3px solid #53b300;
  border-bottom: 3px solid #53b300;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
#contact input[type=radio]:checked + .checkbox:before {
  opacity: 1;
}
#contact .usage-area-radio {
  margin: -10px 0 16px 0;
}
#contact .usage-area-radio .checkbox {
  display: block;
  width: fit-content;
  margin: 0 0 8px 0;
}
#contact .boundary-map-link {
  font-size: 1.6rem;
  text-decoration: none;
  color: #00a98f;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}
#contact .contact_input {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 42px;
  background-color: #DADADA;
  border: none;
  border-radius: 8px;
  margin: 0;
  padding: 10px;
  font-size: 16px;
  font-size: 1.6rem;
  word-break: break-all;
  margin-bottom: 8px;
}
#contact .contact_category {
  margin-right: 0;
  margin-left: 0;
  font-weight: bold;
  margin-top: 8px;
}
#contact .formError .formErrorContent {
  padding: 4px 0;
}
#contact .contact_header {
  margin: 15px 0;
  border-bottom: 2px solid #f6bd26;
}
#contact-tel,
.ban-link-section{
  margin-bottom: 28px;
}
#contact-tel h3, #contact-tel p,
.ban-link-section h3, .ban-link-section p{
  width: 96%;
  margin: 8px 2%;
}
#contact-tel h3,
.ban-link-section h3{
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
}
#contact-tel img,
.ban-link-section img{
  width: 100%;
  height: auto;
}
#contact .info-list {
  box-sizing: border-box;
  font-size: 1.6rem;
  width: 96%;
  margin: 8px 2%;
  padding-left: 1.5em;
  list-style-type: disc;
}
#contact .info-list li {
  margin-bottom: 5px;
}
/*footer*/
footer {
  background-color: #625d59;
  color: #FFFFFF;
  text-align: center;
  padding: 22px 0;
}
footer p {
  margin-top: 35px;
  margin-bottom: 0;
}
footer p.no-pc-move {
  margin-top: 0;
}
footer small {
  font-size: 1.2rem;
  font-weight: bold;
}
footer img.icon-pc {
  width: 15%;
  height: auto;
  display: inline-block;
  vertical-align: middle;
  margin: 0px 15px 0px 0px;
}
footer .pc-link {
  padding: 12px 0;
  display: inline-block;
  text-align: center;
  margin: auto;
  border: 1px solid #fff;
  font-size: 1.4rem;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  width: auto;
}
/*menu*/
#menu {
  bottom: 0;
  width: 100%;
  height: 80px;
  font-size: 16px;
  font-size: 1.6rem;
  background-color: #FFFFFF;
  border-top: solid 2px #D8D8D8;
  overflow: hidden;
  z-index: 1000;
}
#menu a.tel-button {
  display: block;
  width: 50%;
  height: 58px;
  float: left;
  box-sizing: border-box;
  margin: 11px 0 11px 3%;
  background-color: #00a98f;
  border-radius: 3px;
  border: #00a98f solid 1px;
}
#menu a.tel-button .tel-icon {
  display: inline-block;
  width: 16%;
}
#menu a.tel-button .tel-info {
  display: inline-block;
  width: 84%;
  text-align: center;
  padding-left: 15px;
  box-sizing: border-box;
}
#menu a.tel-button .tel-info img {
  width: inherit;
  max-width: 150px;
  height: auto;
}
#menu a.information-request-button {
  display: block;
  width: 16%;
  height: 58px;
  line-height: 58px;
  float: left;
  box-sizing: border-box;
  margin: 11px 0 11px 2%;
  background-color: #3257D1;
  border-radius: 3px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #ffffff;
  text-decoration: none;
  text-align: center;
}
#menu a.contact-button {
  display: block;
  width: 24%;
  background-color: #f6bd26;
  height: 80px;
  position: relative;
  float: right;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  color: #000000;
  box-sizing: border-box;
  padding: 18px 3% 0 0;
}
#menu a.contact-button:before {
  content: "";
  display: block;
  background: #f6bd26;
  border-radius: 50%;
  height: 80px;
  width: 40px;
  position: absolute;
  top : 0;
  left: -16px;
  z-index: -1;
}
.breadcrumbs ul {
  margin: 1% 2%;
  font-size: 0;
}
.breadcrumbs li {
  display: inline-block;
  font-size: 1.2rem;
}
.breadcrumbs li:last-child {
  font-weight: bold;
}
.breadcrumbs li + li::before {
  content: '>';
  padding: 0 5px;
}
.breadcrumbs li a {
  color: #000;
  text-decoration: none;
}
/*company*/
#companies {
  font-size: 16px;
  font-size: 1.6rem;
  width: 96%;
  margin: 8px 2%;
  text-align: center;
}
#companies a {
  color: #00a98f;
}
#companies-content {
  width: 100%;
}
#companies-content section {
  border-top: 1px solid #f6bd26;
  padding: 2%;
}
.n_tbl {
  width: 100%;
  margin: 10px 0px 20px 0px;
}
.n_tbl th {
  width: 45px;
  text-align: left;
  vertical-align: top;
  font-size: 14px;
  line-height: 150%;
  background: #ededed;
  border: 1px solid #cccccc;
  padding: 10px;
}
.n_tbl td {
  text-align: left;
  font-size: 13px;
  line-height: 150%;
  border: 1px solid #cccccc;
  padding: 10px;
}
.n_tbl td p {
  padding: 10px 0px;
}
/*feature_postcards*/
#feature-postcards {
  margin: 10px 1% 10px 1%;
}
#feature-postcards img {
  width: 100%;
}
#feature-postcards-layout img {
  width: 100%;
}
#feature-postcards-layout .dm-list {
  font-size: 0px;
}
#feature-postcards-layout .dm-list ul {
  width: 100%;
  padding-top: 2%;
  list-style-type: none;
}
#feature-postcards-layout .dm-list ul li {
  width: 47%;
  display: inline-block;
  margin-bottom: 2%;
  margin-left: 2%;
}
.service-list {
  font-size: 0px;
}
.service-list ul {
  width: 100%;
  padding-top: 2%;
  list-style-type: none;
}
.service-list ul li {
  width: 47%;
  display: inline-block;
  margin-bottom: 2%;
  margin-left: 2%;
}
.service-list img {
  width: 100%;
}
#feature-postcards-layout .ask-you-a-favor {
  margin: 4.2% 2%;
  border: 3px solid #fd5158;
  padding: 2.7%;
}
#feature-postcards-layout .ask-you-a-favor p {
  margin: 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fd5158;
}
#feature-postcards-layout .content-body {
  margin: 0px 0px 5% 0px;
}
#feature-postcards-layout .content-body h3,
#guides h3,
#beginners h3,
#policies h3,
#terms h3,
#product-list h3,
#product-catalog h3  {
  border-top: 1px solid #f6bd26;
  font-size: 1.6rem;
  padding-top: 10px;
  padding-left: 10px;
}
#feature-postcards-layout .content-body .merit h3 {
  border-top: 1px solid #f6bd26;
  font-size: 1.8rem;
  font-weight: bold;
  padding-left: 45px;
  padding-right: 5px;
  text-indent: -2em;
  margin-top: 20px;
  margin-bottom: 10px;
  display: block;
}
#feature-postcards-layout .content-body h3 {
  margin-top: 5%;
}
#feature-postcards-layout .content-body p {
  font-size: 1.4rem;
  margin: 0px 2% 5% 2%;
}
#feature-postcards-layout .content-body .min-margin-bottom {
  font-size: 1.4rem;
  margin: 0px 2% 2% 2%;
}
#feature-postcards-layout .content-body .option-guide {
  margin: 2%;
}
#feature-postcards-layout .post-card-image {
  float: right;
  width: 25%;
}
#feature-postcards-layout .post-card-spec {
  margin: 3% 2%;
  padding: 2.7%;
  background-color: #e9e9e9;
}
#feature-postcards-layout .post-card-spec::after {
  content: '';
  clear:both;
  display: block;
}
#feature-postcards-layout .post-card-spec dt,
#feature-postcards-layout .post-card-spec dd {
  font-size: 1.2rem;
  padding-top: 2%;
}
#feature-postcards-layout .post-card-spec dt.first,
#feature-postcards-layout .post-card-spec dd.first {
  padding-top: 0px;
}
#feature-postcards-layout .post-card-spec dt {
  float: left;
  width: 5em;
  padding-right: 1em;
  text-align: left;
  font-weight: normal;
  color: #535353;
}

#feature-postcards-layout h4 {
  margin: 0 2% 2%;
  font-size: 14px;
  font-size: 1.4rem;
}
#feature-postcards-layout .disc-marker-list {
  margin: 0 36px;
  margin: 0 3.6rem;
  font-size: 14px;
  font-size: 1.4rem;
  list-style-type: disc;
}

/* ==========================================================================
Products
========================================================================== */
#product-list img {
  width: 100%;
}
.product-message {
  margin: 2%;
}
.product-message img {
  width: 100%;
  max-width: 461px;
}
#product-list  ul {
  width: 100%;
  padding-top: 2%;
  list-style-type: none;
}
#product-list ul li {
  width: 47%;
  display: inline-block;
  margin-bottom: 2%;
  margin-left: 2%;
}
#product-list p,
#product-list dl dt,
#product-list dl dd,
#product-catalog p,
#product-catalog dl dt,
#product-catalog dl dd {
  font-size: 1.4rem;
  margin: 0.5em 2%;
}
#product-list dl dt::before,
#product-catalog dl dt::before {
  content: '・';
  font-weight: bold;
}
#product-characteristic h2 {
  width: 100%;
  padding: 0;
  text-align: center;
}
#product-characteristic h2 img {
  width: 100%;
}
#product-characteristic .ask-you-a-favor {
  margin: 4.2% 2%;
  border: 3px solid #fd5158;
  padding: 2.7%;
}
#product-characteristic .ask-you-a-favor p {
  margin: 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fd5158;
}
#product-characteristic .post-card-spec {
  margin: 2% 3%;
  padding: 2.7%;
  background-color: #e9e9e9;
}
#product-characteristic .service-introduction {
  padding: 2.7%;
  background-color: #e9e9e9;
}
#product-characteristic .service-introduction p {
  line-height: 130%;
  padding-left: 2px;
  text-align: left;
  float: left;
}
#product-characteristic .service-introduction .qanda img{
  display: block;
  float: left;
  clear: left;
  width: 18px;
  margin-top: 3px;
  margin-bottom: 3px;
  padding-left: 5px;
}
#product-characteristic .service-introduction p{
  font-size: 1.4rem;
  margin: 3px 10px;
  float: left;
  width: 75%;
  text-align: left;
}
#product-characteristic .post-card-spec::after {
  content: '';
  clear:both;
  display: block;
}
#product-characteristic .post-card-spec dt,
#product-characteristic .post-card-spec dd {
  font-size: 1.2rem;
  padding-top: 2%;
}
#product-characteristic .post-card-spec dt.first,
#product-characteristic .post-card-spec dd.first {
  padding-top: 0;
}
#product-characteristic .post-card-spec dt {
  float: left;
  width: 5em;
  padding-right: 2em;
  text-align: left;
  font-weight: normal;
  color: #535353;
}
#product-characteristic p,.ntxt1 {
  font-size: 1.4rem;
  margin: 0 2%;
}
#product-characteristic .summary-text p{
  font-weight: bold;
  text-align: center;
  margin: 15px 2%;
}
#product-characteristic .sales-points {
  padding-bottom: 2.5%;
}
.plan-points {
  margin-bottom: 5%;
}
#product-characteristic .sales-points .service-flow img {
  padding-bottom: 50px;
  width: 95%;
  margin-left: 2%;
  margin-right: 2%;
}
img#seisekihyo-top {
  width: 100%;
}
img#seikyusyo-top{
  width: 100%;
}
#product-characteristic .sales-points .service-flow h4 {
  border-top: 1px solid #f6bd26;
  text-align: center;
  margin-bottom: 10px;
  padding: 2%;
}
#product-characteristic .sales-points h3,.plan-points h3 {
  border-top: 1px solid #f6bd26;
  font-size: 1.8rem;
  margin: 5% 0 0 0;
  padding: 2%;
}
#product-characteristic .circulation-and-price {
  width: 96%;
  margin: 0 2% 4%;
  border-collapse: separate;
  border-spacing: 1px;
}
#product-characteristic .lead.print-plan-price {
  margin-bottom: 2%;
}
.gsubtitle {
  font-weight: bold;
  color: #f6a515;
  font-size: 1.6rem;
  margin: 2% 0 0 2%;
}
ul.ntxt1 {
  margin: 2% 2% 2% 2em;
}
ul.ntxt1 li {
  list-style: disc;
  margin: 0.5% 0 1.5% 0;
}
p.diagnosis_con {
  font-size: 1.4rem;
  margin: 2% 2% 0 2%;
}
#product-characteristic .circulation-and-price tr th:first-child {
  width: 40%;
}
#product-characteristic .circulation-and-price th,
#product-characteristic .circulation-and-price td
{
  text-align: left;
  font-size: 1.6rem;
  padding: 2%;
}
#product-characteristic .circulation-and-price th {
  background-color: #ff9191;
  color: #fff;
}
#product-characteristic .circulation-and-price td {
  background-color: #ffd3d3;
}
#product-characteristic .circulation-and-price td strong {
  background-color: #ffd3d3;
  font-size: 1.8rem;
}
#product-characteristic .price-breakdown {
  width: 96%;
  margin: 4% 2%;
  border-spacing: 3px;
}
#product-characteristic .price-breakdown::after {
  content: '';
  clear: both;
  display: block;
}
#product-characteristic .price-breakdown li {
  float: left;
  width: 28.6%;
  margin-bottom: 1%;
  padding: 4% 2%;
  background-color: #e9e9e9;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
}
#product-characteristic .price-breakdown li.left + li.center,
#product-characteristic .price-breakdown li.center + li.right {
  margin-left: 1%;
}
#product-characteristic .last-element-margin {
  margin-bottom: 5%;
}

/*        202002 商品価格統一           */
.en {
  font-family: 'Roboto', sans-serif;
}
.outline {
  text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}
.price {
  font-family: 'メイリオ', Meiryo, sans-serif;
  color: #e90000;
  font-weight: bold;
}
.en .price-decimal-part {
  font-size: 0.9em;
}

.h2-box {
  position: relative;
}
.h2-outline-wrap {
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 112px;
  width: 54%;
  max-width: 300px;
}
.h2-outline-wrap h2 {
  background: none;
  font-family: 'メイリオ', Meiryo, sans-serif;
  font-weight: bold;
  font-size: 30px;
  color: #3F1600;
  position: relative;
  margin-bottom: 20px;
  text-align: center;
  padding: 0;
}
.h2-outline-wrap h2::after {
  position: absolute;
  content: "";
  width: 0;
  height: 5px;
  bottom: -20px;
  right: 0;
  left: 0;
  margin: auto;
  border-style: solid;
  border-color: #FF1010 transparent transparent transparent;
  border-width: 10px 10px 0 10px;
}
.h2-outline-wrap.smallize h2 { /* 長い商品名の時にフォントサイズ下げる */
  font-size: 24px;
}
#product-characteristic .h2-outline-wrap p.price,
.h2-outline-wrap p.price {
  position: relative;
  font-size: 26px;
  text-align: center;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}
#product-characteristic .h2-outline-wrap p .en,
.h2-outline-wrap p .en {
  font-size: 40px;
}
.h2-outline-wrap .postage {
  position: absolute;
  left: calc(50% + 30px);
  top: 0;
  text-shadow: none;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
}
.h2-box figure {
  margin: 0;
  padding: 0;
  width: 100%;
}
.h2-box figure img {
  width: 100%;
}
@media (max-width: 360px) {
  #product-characteristic .h2-outline-wrap p.price,
  .h2-outline-wrap p.price {
    font-size: 22px;
  }
  #product-characteristic .h2-outline-wrap p .en,
  .h2-outline-wrap p .en {
    font-size: 30px;
  }
  .h2-outline-wrap h2 {
    font-size: 25px;
  }
  .h2-outline-wrap .postage {
    top: -6px;
    font-size: 12px;
  }
  .h2-outline-wrap.smallize h2 { /* 長い商品名の時にフォントサイズ下げる */
    font-size: 20px;
  }
}

/* ==========================================================================
Plan
========================================================================== */
#plan-list img {
  width: 100%;
  max-width: 640px;
}
#plan-list p {
  font-size: 1.4rem;
  margin: 0.5em 2%;
}
#plan-list .plan-link {
  display: block;
  margin: 2%;
  border-style: solid;
  border-width: 2px;
  color: #000000;
  text-decoration: none;
}
#plan-list .plan-items {
  padding: 2%;
  border-radius: 7px;
  font-weight: bold;
  font-size: 1.2rem;
}
#plan-list .plan-more {
  margin: 0 2% 2% 2%;
}
#plan-list .plan-more img {
  max-width: 320px !important;
}
#plan-list .plan-h {
  border-color: #cb5d22;
}
#plan-list .plan-h .plan-items {
  border-color: #ffe2d4;
  background-color: #ffe2d4;
  color: #9d3521;
}
#plan-list .plan-i {
  border-color: #7f7f7f;
}
#plan-list .plan-i .plan-items {
  border-color: #ebebeb;
  background-color: #ebebeb;
  color: #003a76;
}
#plan-list .plan-d {
  border-color: #f8c715;
}
#plan-list .plan-d .plan-items {
  border-color: #fff6cb;
  background-color: #fff6cb;
  color: #d58502;
}
#plan-list .plan-o {
  border-color: #67c56d;
}
#plan-list .plan-flow {
  margin: 2%;
}
#plan-list .plan-flow img {
  max-width: 578px !important;
}
/*デザインからプラン*/
#plan-content .design-image {
  background-image: url('/sp/img/plan/ptn-design.png');
}
#plan-content .design-image h2,.print-image h2,.hasso-image h2 {
  width: 100%;
  position: relative;
  top: 0;
  z-index: 2;
  margin: 0;
  padding: 0;
  background-color: transparent;
}
#plan-content .design-image h2 img,.print-image h2 img,.hasso-image h2 img {
  width: 100%;
}
#plan-content .design-image p,.print-image p,.hasso-image p {
  margin: 0;
  padding: 1.5% 2% 3%;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
}
/*印刷からプラン*/
#plan-content .print-image {
  background-image: url('/sp/img/plan/ptn-print.png');
}
/*発送だけプラン*/
#plan-content .hasso-image {
  background-image: url('/sp/img/plan/ptn-hasso.png');
}
/*Plan共有*/
.advice-list {
  margin: 2%;
  font-size: 1.4rem;
  list-style-type: none;
}
.advice-list li {
  margin: 0.5% 0 1.5% 0;
}
.plan-points dl {
  margin: 0 2%;
  font-size: 1.4rem;
}
.plan-points dl .gsubtitle {
  margin: 2% 0 0 0;
  padding-bottom: 1%;
}
.plan-points dl dd {
  display: list-item;
  list-style-type: disc;
  margin: 0.5% 0 1.5% 20px;
}
#plan-content .plan-content-list h3 {
  width: 100%;
  margin: 3% auto;
  text-align: center;
}
#plan-content .plan-content-list h3 img {
  width: 50%;
  min-width: 292px;
}
#plan-content .plan-content-list ol {
  margin: 0 2% 5%;
  padding: 0;
  list-style-type: none;
}
#plan-content .plan-content-list ol li {
  box-shadow: 0px 1px 4px 2px rgba(0,0,0,0.15);
  font-size: 1.6rem;
}
#plan-content .plan-content-list ol li + li {
  margin-top: 3%;
}
#plan-content .plan-content-list ol li img {
  width: 18%;
  max-width: 80px;
  max-height: 70px;
}
#plan-content .plan-content-list ol li .step-name {
  display: inline-block;
  padding-left: 1em;
  font-weight: bold;
  vertical-align: middle;
  word-break: break-all;
}
/* ==========================================================================
Option
========================================================================== */
#option-content .option-image {
  background-image: url('/sp/img/plan/option/ptn-option.png');
}
#option-content .option-image h2 {
  width: 100%;
  position: relative;
  top: 0;
  z-index: 2;
  margin: 0;
  padding: 0;
  background-color: transparent;
}
#option-content .option-image h2 img {
  width: 100%;
}
#option-content .option-image p {
  margin: 0;
  padding: 1.5% 2% 3%;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
}
#option-content .option-services {
  padding-bottom: 5%;
}
#option-content .option-services .option-service-heading {
  margin: 6% 0 2% 0;
  padding-left: 2%;
  white-space: nowrap;
  overflow: hidden;
}
#option-content .option-services .option-service-heading img {
  width: 7%;
  min-width: 34px;
  margin-bottom: 1%;
}
#option-content .option-services .option-service-heading h3 {
  display: inline-block;
  width: 92.2%;
  position: relative;
  top: 50%;
  margin: 0 0 0 2%;
  border-bottom: 2px solid #056100;
  padding-left: 0.2em;
  font-size: 1.8rem;
}
#option-content p {
  font-size: 1.4rem;
  margin: 0 2%;
}
/* ==========================================================================
Services
========================================================================== */
#service-content h2 {
  color: #FFFFFF;
  background-color: #f6bd26;
  font-size: 16px;
  font-size: 1.6rem;
  width: 98%;
  padding: 10px 0 10px 2%;
  margin: 0;
  clear: both;
}
#service-content img {
  max-width: 100%;
  margin-bottom: 3%;
}
#service-content .content-body h3 {
  border-top: 1px solid #f6bd26;
  font-size: 1.8rem;
  padding: 2%;
  -webkit-margin-before: 0px;
  -webkit-margin-after: 0px;
  clear: both;
}
#service-content p {
  font-size: 1.4rem;
  margin: 2% 2% 5% 2%;
}
#service-content .image-icon {
  float: left;
  margin: 3%;
  width: 30%
}
#service-content .content-body ol.board {
  background-color: #f3f3ec;
  box-shadow: 2px 2px 8px -1px #c5beb2;
  padding: 5px 5px;
  line-height: 2;
  margin: 0px 5% 5% 5%;
}
#service-content .content-body ol.board li {
  margin-left: 10%;
  font-size: 1.4rem;
}
#service-content .price-breakdown {
  width: 96%;
  margin: 4% 2% 0;
  border-spacing: 3px;
}
#service-content .price-breakdown::after {
  content: '';
  clear: both;
  display: block;
}
#service-content .price-breakdown li {
  float: left;
  width: 28.6%;
  margin-bottom: 1%;
  padding: 4% 2%;
  background-color: #e9e9e9;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
}
#service-content .price-breakdown li.left + li.center,
#service-content .price-breakdown li.center + li.right {
  margin-left: 1%;
}
#service-content .content-body ul.check {
  margin: 0px 5%;
}
#service-content .content-body ul.check li {
  font-size: 1.4rem;
  list-style-image: url('/sp/img/feature_postcards/list-marker/icon-check.png');
  margin: 3% 0 3% 25px;
}
#service-content .from-print-plan {
  padding: 8px 2%;
  background-color: #595758;
  color: #fff;
  font-weight: bold;
}
#service-content .price-breakdown li {
  color: #fff;
  background-color: #ee5543;
  border-radius: 5px;
}
#service-content .move-list {
  margin: 2%;
  text-align: center;
}
#service-content .move-list li {
  display: inline-block;
  width: 99%;
  margin: 1% 0px;
  border: 2px solid #fe8619;
  border-radius: 8px;
  font-size: 1.4rem;
  background: url('/img/feature_postcards/list-marker/tri-rebase.png') no-repeat;
  background-position: 3% 50%;
}
#service-content .move-list li a {
  display: block;
  border-radius: 8px;
  padding: 1% 0;
  color: #fe8619;
  font-weight: bold;
  text-decoration: none;
}
#service-content .post-card-image {
  float: right;
  width: 25%;
}
#service-content .post-card-spec {
  margin: 3% 2%;
  padding: 2.7%;
  background-color: #e9e9e9;
}
#service-content .post-card-spec::after {
  content: '';
  clear:both;
  display: block;
}
#service-content .post-card-spec dt,
#service-content .post-card-spec dd {
  font-size: 1.2rem;
  padding-top: 2%;
}
#service-content .post-card-spec dt.first,
#service-content .post-card-spec dd.first {
  padding-top: 0px;
}
#service-content .post-card-spec dt {
  float: left;
  width: 5em;
  padding-right: 1em;
  text-align: left;
  font-weight: normal;
  color: #535353;
}
#service-content .circulation-and-price {
  width: 96%;
  margin: 0 2% 2%;
  border-collapse: separate;
  border-spacing: 1px;
}
#service-content .circulation-and-price th,
#service-content .circulation-and-price td
{
  text-align: left;
  font-size: 1.6rem;
  padding: 2%;
}
#service-content .circulation-and-price th {
  background-color: #ff9191;
  color: #fff;
}
#service-content .circulation-and-price td {
  background-color: #ffd3d3;
}
#service-content .circulation-and-price td strong {
  background-color: #ffd3d3;
  font-size: 1.8rem;
}
#service-content .inquiry-link {
  display: block;
  color: #fe8619;
  margin-bottom: 5%;
  width :100%;
  text-align: right;
}
#service-content .inquiry-link img {
  transform: rotate(270deg);
  margin-bottom: 0px;
}
#service-content .inquiry-link-text {
  font-size: 1.2rem;
  text-decoration: underline;
  padding-right: 2%;
}
#service-content .immediately-text {
  font-size: 1.4rem;
}
#service-content .immediately {
  width: 100%;
  text-align: center;
}

/* ==========================================================================
Glossaries
========================================================================== */
#glossaries {
  margin-bottom: 1em;
}
#glossaries .kana_title {
  font-size: 1.6rem;
  margin: 1em 2% 0.5em 2%;
}
#glossaries .glossary_list {
  font-size: 1.2rem;
  margin-left: 4%;
  line-height: 3;
}
#glossaries-description p {
  font-size: 1.4rem;
  margin: 0.5em 2%;
}

/* ==========================================================================
Guidse
========================================================================== */
.text {
  padding: 1%;
}
#guides .advice-list {
  font-size: 11px;
  font-size: 1.1rem;
}
#guides .guide_box_list {
  margin: 1% 36px;
  margin: 1% 3.6rem;
  list-style-type: disc;
  font-size: 14px;
  font-size: 1.4rem;
}
#guides .guide-list {
  font-size: 0px;
}
#guides .guide-list ul {
  width: 100%;
  padding-top: 2%;
  list-style-type: none;
}
#guides .guide-list ul li {
  width: 47%;
  display: inline-block;
  margin-bottom: 2%;
  margin-left: 2%;
  text-align: center;
}
#guides p {
  font-size: 1.4rem;
  margin: 0.5em 2%;
}
#guides .stxt {
  font-size: 1.1rem;
}
#guides .guide_image {
  float: right;
  width: 34%;
  max-width: 150px;
  margin: 1.6em 0px;
  text-align: center;
}
#guides .guide_image img {
  width: 90%;
  max-width: 99px;
}

/* ==========================================================================
Beginners
========================================================================== */
#beginners .sevice-list {
  font-size: 0px;
}
#beginners .sevice-list ul {
  width: 100%;
  padding-top: 2%;
  list-style-type: none;
}
#beginners .sevice-list ul li {
  width: 47%;
  display: inline-block;
  margin-bottom: 2%;
  margin-left: 2%;
  text-align: center;
}
#beginners .sevice-list ul li img {
  width: 100%;
}
#beginners .service-image img {
  width: 96%;
  max-width: 640px;
  position: static;
}
#beginners .service-content {
  margin: 2%;
  border: solid 2px #022693;
  border-radius: 10px;
  background-color: #f0f0f0;
}
#beginners .service-content h3 {
  color: #ffffff;
  background-color: #3257D1;
  border-radius: 8px 8px 0px 0px;
  border: none;
  margin: 0px;
  padding: 5% 2%;
  font-size: 1.6rem;
}
#beginners p {
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 2%;
}
#beginners .stxt {
  font-size: 1.1rem;
}
#beginners .service-image {
  position: relative;
}
#beginners .service-image .service-message {
  position: absolute;
  height: 100%;
  top: 53%;
  left: 4%;
  width: 60%;
  text-align: left;
  font-size: 1.2rem;
  font-weight: bold;
}

/* ==========================================================================
Campaigns
========================================================================== */
#campaigns p {
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 2%;
}
#campaigns .campaign-image img {
  width: 96%;
  max-width: 640px;
  margin: 2%;
}

/* ==========================================================================
Policiess
========================================================================== */
#policies p,
#terms p {
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 2%;
}
#policies ul li {
  font-size: 1.4rem;
  line-height: 1.3;
  list-style-type: disc;
  margin: 0px 5% 3% 10%;
}
#policies dl dt {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 2%;
}
#policies dl dd {
  margin: 4%;
}
#policies h4 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  padding-left: 10px;
}
#policies .table-container {
  margin: 2%;
}
#policies ol li > ul {
  margin-left: 20px;
}
#policies ol.no_style {
  list-style: none;
  padding-inline-start: 0px;
}
#policies ol li,
#terms ol li {
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 2%;
  font-weight: normal;
}
#terms ol li > li {
  margin-left: 2%;
}
#terms p {
  font-weight: normal;
}

/* ==========================================================================
Diagnoses
========================================================================== */
#diagnoses .diagnosis-image img {
  width: 100%;
  max-width: 506px;
}
#diagnoses .case-link {
  clear: both;
  display: block;
  margin: 2%;
  border: solid 2px #afafaf;
  border-radius: 7px;
  background-color: #333333;
  background: linear-gradient(#333333, #cccccc);
  color: #ffffff;
  text-decoration: none;
}
#diagnoses .case-link h3 {
  padding: 0px 2%;
  font-size: 1.6rem;
  text-decoration: underline;
}
#diagnoses .case-link p {
  display: table-cell;
  padding: 2%;
  width: 60%;
  vertical-align: top;
  font-size: 1.2rem;
}
#diagnoses .case-link div {
  display: table-cell;
  padding: 2%;
  width: 40%;
  text-align: right;
  vertical-align: bottom;
}
#diagnoses .case-link div img {
  width: 100%;
  max-width: 357px;
}
#diagnoses .tips-link {
  clear: both;
  display: block;
  margin: 2%;
  border: double 6px #04634f;
  border-radius: 12px;
  text-decoration: none;
}
#diagnoses .tips-link-content {
  padding: 4% 2%;
  border-radius: 6px;
  background-color: #0f846b;
  background: linear-gradient(#0f846b, #04634f);
  color: #ffff66;
  font-size: 1.4rem;
  font-weight: bold;
}
#diagnoses .tips-link-content .tips-arrow {
  color: #ffffff;
}
#diagnoses p {
  font-size: 1.4rem;
  margin: 0.5em 2%;
}
#diagnoses .sub-summary {
  border-top: 1px solid #f6bd26;
  font-size: 1.8rem;
  padding: 2%;
  -webkit-margin-before: 0px;
  -webkit-margin-after: 0px;
}
#diagnoses .guide_image {
  float: right;
  width: 45%;
  max-width: 390px;
  margin: 2%;
  text-align: center;
}
#diagnoses .guide_image img {
  width: 90%;
  max-width: 357px;
  border: solid 1px #eaeaea;
}

/* ==========================================================================
404
========================================================================== */
.not-found {
  padding:  12% 0;
}
.not-found h2 {
  padding: 5px 0 5px 2%;
  font-size: 1.7rem;
  color: #222;
  background-color: transparent;
}
.not-found .message-box {
  margin: 0 2%;
  text-align: left;
}
.not-found p {
  font-size: 14px;
  font-size: 1.4rem;
}
.not-found .message-box p {
  margin: 0;
}
.not-found .message-box .error-type {
  margin: 0 0 6% 0;
}

/* ==========================================================================
Sitemap
========================================================================== */
#sitemap-content p {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-bottom: 2%;
}
#sitemap-content p a {
  display: block;
  color: #333333;
  padding: 2% 4%;
  background: #e7e7e7;
}
#sitemap-content ul {
  list-style: none;
  text-align: left;
}
#sitemap-content ul li {
  font-size: 1.4rem;
  line-height: 1.7;
  background: url(/sp/img/side_nav_ico.gif) no-repeat;
  padding-left: 8%;
  margin: 0px 0px 2% 3%;
}
#sitemap-content a {
  text-decoration: none;
}

/* ==========================================================================
Media Queries
========================================================================== */

@media only screen and (min-width: 35em) {
}

@media print,  (-o-min-device-pixel-ratio: 5/4),  (-webkit-min-device-pixel-ratio: 1.25),  (min-resolution: 120dpi) {
}

/* ==========================================================================
Helper classes
========================================================================== */

.hidden {
  display: none !important;
  visibility: hidden;
}
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}
.invisible {
  visibility: hidden;
}
.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

/* ==========================================================================
Print styles
========================================================================== */

@media print {
  *,  *:before,  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,  a[href^="javascript:"]:after {
    content: "";
  }
  pre,  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,  h2,  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,  h3 {
    page-break-after: avoid;
  }
}

/**************************
* 商品・プラン一覧 *
*************************/
.to-index {
  display: block;
  margin: 10px;
}
.products {
  margin-bottom: 10px;
}
.to-index img {
  width: 100%;
}

/**************************
 * 汎用CSS *
 *************************/
.mb10 {
  margin-bottom: 10px;
}
.w100img {
  width: 100%;
}

/**************************
 * 料金シミュレーション・ご注文 *
 *************************/
#fee-simulation-and-order {
  font-size: 1.6rem;
  margin-bottom: 20px;
}
#fee-simulation-and-order #order-message {
  font-weight: bold;
  color: #fd5158;
  margin: 4.2% 2%;
  padding: 2.7%;
  border: 3px solid #fd5158;
}
#fee-simulation-form {
  margin: 4.2% 2%;
}
#fee-simulation-form .form-group {
  margin-bottom: 16px;
}
#fee-simulation-form label {
  display: block;
  font-weight: bold;
  margin-bottom: 8px;
}
#fee-simulation-form #product-name,
#fee-simulation-form #plan-name,
#fee-simulation-form #delivery-date {
  margin-top: 0;
  margin-bottom: 0;
}
#fee-simulation-form input[type="number"],
#fee-simulation-form select {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
}
#fee-simulation-form input[type="checkbox"] {
  width: 0;
  height: 0;
}
#fee-simulation-form .checkbox-label {
  display: inline;
  font-weight: normal;
  position: relative;
  padding: 5px 30px;
  cursor: pointer;
}
#fee-simulation-form .checkbox-label:before{
  position: absolute;
  content: "";
  top: 50%;
  left: 5px;
  height :16px;
  width: 16px;
  border: 1px solid #ccc;
  border-radius: 3px;
  margin-top: -9px;
}
#fee-simulation-form input[type="checkbox"]:focus + .checkbox-label:before {
  border-color: #0171bd;
}
#fee-simulation-form .checkbox-label:after {
  position: absolute;
  content: "";
  top: 50%;
  left: 10px;
  height: 9px;
  width: 5px;
  border-right: 2px solid #0171bd;
  border-bottom: 3px solid #0171bd;
  margin-top: -8px;
  opacity: 0;
  transform: rotate(45deg);
}
#fee-simulation-form input[type=checkbox]:checked + .checkbox-label:after {
  opacity: 1;
}
#fee-simulation-form input[type="radio"] {
  width: 0;
  height: 0;
}
#fee-simulation-form .radio-label {
  display: inline;
  font-weight: normal;
  position: relative;
  margin-right: 10px;
  padding-left: 30px;
  cursor: pointer;
}
#fee-simulation-form .radio-label:before {
  position: absolute;
  content: "";
  top: -1px;
  left: 0;
  height: 16px;
  width: 16px;
  border: 1px solid #ccc;
  border-radius: 50%;
}
#fee-simulation-form input[type="radio"]:focus + .radio-label:before,
#fee-simulation-form .radio-label:hover:before,
#fee-simulation-form input[type=radio]:checked + .radio-label:before {
  border-color: #0171bd;
}
#fee-simulation-form .radio-label:after {
  position: absolute;
  content: "";
  top: 3px;
  left: 4px;
  height: 10px;
  width: 10px;
  background-color: #0171bd;
  border-radius: 50%;
  opacity: 0;
}
#fee-simulation-form input[type=radio]:checked + .radio-label:after {
  opacity: 1;
}
#fee-simulation-form #quantity-input {
  width: 120px;
}
#fee-simulation-form #quantity-error {
  font-size: 12px;
  color: red;
}
#fee-simulation-form #ads-discount-container {
  margin-top: 10px;
  display: none;
}
#fee-simulation-form #delivery-description {
  margin-top: 5px;
  font-size: 12px;
  color: #636363;
}
#fee-simulation-form .note-list {
  list-style-type: none;
  margin-bottom: 5px;
}
#fee-simulation-form .note-list .note {
  line-height: 1.5;
  font-size: 12px;
  color: #636363;
}
#fee-simulation-form .fee-simulation-form-footer {
  text-align: right;
}
#fee-simulation-form #price-container {
  margin-bottom: 5px;
}
#fee-simulation-form #price-label {
  font-weight: bold;
  color: #797a7a;
  vertical-align: middle;
}
#fee-simulation-form #price-value {
  margin-right: 10px;
  font-size: 24px;
  font-weight: bold;
  color: #db2b39;
  vertical-align: middle;
}
#fee-simulation-form #order-button {
  font-size: 16px;
  font-weight: bold;
  color: white;
  background-color: red;
  border: 2px solid red;
  border-radius: 3px;
  padding: 8px 16px;
  cursor: pointer;
}
#fee-simulation-form #order-button:hover {
  opacity: 0.6;
}
#fee-simulation-form #order-button[disabled] {
  background-color: #dbdcdc;
  border: 2px solid #dbdcdc;
  cursor: not-allowed;
}
#fee-simulation-form #order-button[disabled]:hover {
  opacity: 1.0;
}
#price-list-container {
  margin: 0 2%;
}
#price-list-container h3 {
  margin: 8px 0;
  color: #f6a515;
}
#price-list-container p {
  margin: 8px 0;
}
.price-list {
  width: 100%;
  border: 1px solid #ddd;
  text-align: center;
  font-size: 1.2rem;
}
.price-list tr {
  height: 40px;
}
.price-list th {
  background-color: #e6e6e4;
  border: 1px solid #ddd;
  font-weight: normal;
}
.price-list td {
  border: 1px solid #ddd;
  font-weight: bold;
}
.price-list td:nth-child(1) {
  background-color: #f7f7f5;
}

/**************************
 * 境界マップダイアログ *
 *************************/
#boundary-map-dialog {
  border: none;
  width: 90vw;
  max-width: 500px;
  padding: 0;
  overflow-x: hidden;
}
#boundary-map-dialog::backdrop {
  background: rgba(0, 0, 0, 0.6);
}
#boundary-map-dialog-close {
  position: sticky;
  display: block;
  margin-left: auto;
  top: 5px;
  background: none;
  border: none;
  z-index: 10;
}
#boundary-map-dialog-close:focus {
  outline: none;
}
.boundary-map-dialog-body {
  position: relative;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.boundary-map-dialog-body > img,
.boundary-map-dialog-body a img {
  width: 100%;
  margin-bottom: 15px;
}
.boundary-map-dialog-note {
  margin: 0;
  font-size: 1.6rem;
  text-align: left;
}
