@charset "UTF-8";
/*===== base style =====*/
/* font */
/* color */
/* border */
/* breakpoint */
/* form */
/*===== form settings =====*/
input, textarea, select, button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", YuGothic, Verdana, Roboto, "Droid Sans", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  position: relative;
  color: #333; }

::-webkit-input-placeholder {
  color: #afafaf;
  font-size: 16px;
  font-weight: 400; }

::-moz-placeholder {
  color: #afafaf;
  opacity: 1;
  font-size: 16px;
  font-weight: 400; }

:-ms-input-placeholder {
  color: #afafaf;
  font-size: 16px;
  font-weight: 400; }

input[type="text"] {
  width: 100%;
  height: 60px;
  padding: 20px;
  background: #fff;
  border: 1px solid #333;
  border-radius: 10px; }

textarea {
  width: 100%;
  height: 260px !important;
  padding: 20px;
  background: #fff;
  border: 1px solid #333;
  border-radius: 10px; }

input[type="text"]:hover, textarea:hover, input[type="text"]:focus, textarea:focus {
  outline: none;
  background: white; }

input[type="text"]:focus {
  background-image: none; }

.va-top {
  vertical-align: top !important;
  padding-top: 20px !important; }

#submit {
  max-width: 520px;
  width: 100%;
  margin: 40px auto 0; }
  #submit input[type="submit"] {
    display: block;
    width: 100%;
    padding: 25px 10px;
    background: #333;
    border: none;
    border-radius: 4px;
    outline: none;
    cursor: pointer;
    color: #fff;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    transition: opacity .4s linear;
    line-height: 1;
    letter-spacing: .05em; }
    #submit input[type="submit"]:hover {
      opacity: .7; }

label {
  cursor: pointer;
  position: relative;
  display: block;
  word-break: break-all; }

.checkbox-input {
  display: none; }

.checkbox-parts {
  position: relative;
  display: block;
  font-size: 16px;
  font-weight: 500;
  background: #fff;
  border-radius: 10px;
  padding: 16px 20px;
  text-align: center;
  transition: .4s; }

.checkbox-input:checked + .checkbox-parts {
  background: #80d7ed;
  color: #fff; }

.checkbox-parts::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 20px;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background: #fff;
  border: 1px solid #80d7ed;
  border-radius: 3px; }

.checkbox-input:checked + .checkbox-parts::before {
  background: #80d7ed;
  border: 1px solid #fff; }

.checkbox-input:checked + .checkbox-parts::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../img/case/icon_check.png") no-repeat left center/contain;
  width: 12px;
  height: 12px;
  top: 50%;
  left: 20px;
  margin-top: -6px;
  margin-left: 4px; }

input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  border: 1px solid #bebebe;
  border-radius: 50%;
  outline: none;
  margin-right: 10px;
  vertical-align: middle;
  cursor: pointer;
  background: #fff;
  width: 18px;
  height: 18px; }

input[type="radio"]:checked {
  background: #fff; }

input[type="radio"]:checked:before {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  margin: -5px 0 0 -5px;
  content: "";
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background: #f49c21; }

@media screen and (max-width: 768px) {
  input, textarea, select, button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 3.25vw; }

  ::-webkit-input-placeholder {
    font-size: 3.25vw; }

  ::-moz-placeholder {
    font-size: 3.25vw; }

  :-ms-input-placeholder {
    font-size: 3.25vw; }

  input[type="text"] {
    width: 100%;
    height: 12vw;
    padding: 2vw;
    border-radius: 1vw; }

  textarea {
    height: 35vw !important;
    padding: 2vw;
    border-radius: 1vw; }

  .va-top {
    padding-top: 0 !important; }

  #submit {
    max-width: 100%;
    margin: 5% auto 0; }
    #submit input[type="submit"] {
      padding: 5% 1vw 10%;
      font-size: 3.25vw; }
      #submit input[type="submit"]:hover {
        opacity: 1; }

  .checkbox-parts {
    font-size: 2.75vw;
    border-radius: 1vw;
    padding: 6.66% 4%; }

  .checkbox-parts::before {
    left: 2vw;
    width: 3vw;
    height: 3vw;
    margin-top: -1.5vw; }

  .checkbox-input:checked + .checkbox-parts::after {
    width: 2vw;
    height: 2vw;
    left: 2vw;
    margin-top: -1vw;
    margin-left: .6vw; }

  input[type="radio"] {
    margin-right: 2.5vw;
    width: 4vw;
    height: 4vw; }

  input[type="radio"]:checked:before {
    margin: -1vw 0 0 -1vw;
    width: 2vw;
    height: 2vw; } }
@media screen and (max-width: 425px) {
  input, textarea, select, button {
    font-size: 4.25vw; }

  ::-webkit-input-placeholder {
    font-size: 4.25vw; }

  ::-moz-placeholder {
    font-size: 4.25vw; }

  :-ms-input-placeholder {
    font-size: 4.25vw; }

  #submit input[type="submit"] {
    font-size: 4.25vw; }

  .checkbox-parts {
    font-size: 3.35vw;
    padding: 6.66% 2%; }

  .checkbox-parts::before {
    width: 4vw;
    height: 4vw;
    margin-top: -2vw;
    left: 1.5vw; }

  .checkbox-input:checked + .checkbox-parts::after {
    width: 2.6vw;
    height: 2.6vw;
    margin-top: -1.3vw; }

  input[type="radio"] {
    width: 5vw;
    height: 5vw; }

  input[type="radio"]:checked:before {
    width: 3vw;
    height: 3vw;
    margin: -1.5vw 0 0 -1.5vw; } }
/* form checkbox */
.form-list_check {
  margin-bottom: 50px; }

.form-list_check > span {
  display: inline-block;
  margin-right: 40px; }

.form-list_check label {
  cursor: pointer;
  position: relative;
  display: block;
  word-break: break-all; }

.form-list_check input[type="checkbox"],
.form-list_check input[type="radio"] {
  position: relative;
  cursor: pointer;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.form-list_check input[type="checkbox"],
.form-list_check input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0; }

.form-list_check label input[type="checkbox"] + span,
.form-list_check label input[type="radio"] + span {
  position: relative;
  top: 0; }

.form-list_check label input[type="checkbox"] + span::before, .form-list_check label input[type="checkbox"] + span::after,
.form-list_check label input[type="radio"] + span::before, .form-list_check label input[type="radio"] + span::after {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: '';
  box-sizing: border-box; }

.form-list_check label input[type="checkbox"] + span::before,
.form-list_check label input[type="radio"] + span::before {
  z-index: 0;
  background-color: transparent;
  width: 30px;
  height: 30px;
  border: 1px #333 solid;
  border-radius: 4px; }

.form-list_check label input[type="checkbox"] + span::after,
.form-list_check label input[type="radio"] + span::after {
  z-index: 1; }

.form-list_check label input[type="checkbox"]:checked + span::after,
.form-list_check label input[type="radio"]:checked + span::after {
  display: block;
  background: url("../img/common/icon_form-check.png") no-repeat left top/contain;
  width: 20px;
  height: 14px;
  top: 50%;
  margin-top: -4px;
  margin-left: 4px; }

.form-list_check label span:nth-of-type(2) {
  margin-left: 40px;
  line-height: 1;
  font-weight: 500 !important;
  font-size: 18px !important;
  position: relative;
  top: 3px; }

@media screen and (max-width: 768px) {
  .form-list_check {
    margin-bottom: 6.66%; }

  .form-list_check > span {
    margin-right: 5%; }

  .form-list_check label input[type="checkbox"] + span::before,
  .form-list_check label input[type="radio"] + span::before {
    width: 4.25vw;
    height: 4.25vw;
    top: .65vw; }

  .form-list_check label input[type="checkbox"]:checked + span::after,
  .form-list_check label input[type="radio"]:checked + span::after {
    width: 3vw;
    height: 2.1vw;
    margin-top: -.5vw;
    margin-left: .5vw; }

  .form-list_check label span:nth-of-type(2) {
    margin-left: 5.5vw;
    font-size: 2.65vw !important; } }
@media screen and (max-width: 425px) {
  .form-list_check > span {
    display: block;
    margin-right: 0;
    margin-bottom: 3%; }

  .form-list_check label input[type="checkbox"] + span::before,
  .form-list_check label input[type="radio"] + span::before {
    width: 5.25vw;
    height: 5.25vw;
    top: .85vw; }

  .form-list_check label input[type="checkbox"]:checked + span::after,
  .form-list_check label input[type="radio"]:checked + span::after {
    width: 4.5vw;
    height: 2.8vw;
    margin-top: -1vw;
    margin-left: 1vw; }

  .form-list_check label span:nth-of-type(2) {
    margin-left: 6.5vw;
    font-size: 4vw !important; } }
/* file upload */
.photo-upload input[type="file"] {
  display: none !important;
  font-size: 15px; }

.form-comment {
  display: block;
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.4;
  color: #787878; }

.photo-upload li:not(:last-child) {
  margin-bottom: 20px; }

.photo-upload label {
  display: inline-block;
  width: 100%;
  max-width: 200px;
  cursor: pointer;
  padding: 16px 10px;
  background: #f2f2f2;
  border-radius: 6px;
  margin-right: 10px;
  text-align: center; }

.photo-upload label + span {
  margin-right: 10px; }

.mwform-file-delete {
  display: none !important; }

.fileclear {
  display: none;
  padding: 10px 17px;
  background: #F8F8F8;
  color: #3A6590;
  font-weight: 600;
  border: 1px solid #3A6590;
  cursor: pointer;
  margin-left: 16px; }

@media screen and (max-width: 768px) {
  .photo-upload input[type="file"] {
    font-size: 2.5vw; }

  .form-comment {
    margin-top: 3%;
    font-size: 2.35vw; }

  .photo-upload li:not(:last-child) {
    margin-bottom: 3%; }

  .photo-upload label {
    width: 35%;
    max-width: 100%;
    padding: 3% 1vw;
    margin-right: 2%;
    font-size: 2.5vw; }

  .photo-upload label + span {
    margin-right: 2%;
    font-size: 2.35vw; } }
@media screen and (max-width: 425px) {
  .photo-upload input[type="file"] {
    font-size: 3.5vw; }

  .form-comment {
    font-size: 3.25vw; }

  .photo-upload label {
    width: 42%;
    padding: 3.5% 1vw;
    font-size: 3.75vw; }

  .photo-upload label + span {
    font-size: 3.5vw;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    position: relative;
    top: 1.45vw; } }
/*===== mwform style =====*/
.input100 input {
  width: 100% !important; }

.check-box {
  flex-wrap: wrap; }
  .check-box > span {
    margin-right: 40px;
    font-size: 20px; }
    .check-box > span:last-child {
      margin-right: 0; }
    .check-box > span.error {
      width: 100%;
      margin-top: 0 !important; }

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important; }

#contact-form.confirm-form .va-top {
  vertical-align: middle !important;
  padding-top: 20px !important; }

#contact-form.confirm-form th {
  vertical-align: middle; }

#contact-form.confirm-form th span {
  display: none; }

.thanks-btn {
  width: 40%;
  margin: 30px auto 0; }

/* 送信確認ボタン */
#submit {
  width: 520px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px auto 0; }
  #submit li {
    width: 100%; }
    #submit li:last-child {
      display: none; }

#contact-form.confirm-form #submit li {
  width: 49%;
  margin-right: 2%; }
  #contact-form.confirm-form #submit li:last-child {
    display: block;
    margin-right: 0; }
  #contact-form.confirm-form #submit li input.submit {
    background: #333; }
  #contact-form.confirm-form #submit li input.back {
    background: #e7e7e7;
    color: #666 !important; }

.mw_wp_form .error {
  color: #ff0000 !important;
  margin-top: 10px !important;
  font-size: 16px !important; }

.mw-wp-form_file a {
  color: #333 !important; }

#thanks-txt {
  font-size: 19px;
  text-align: center; }

#contact-form.confirm-form #submit {
  max-width: 640px;
  width: 100%; }

#contact-form.confirm-form .check-box {
  font-size: 16px;
  margin-bottom: 0; }

#contact-form.confirm-form .confirm-none {
  display: none; }

@media screen and (max-width: 768px) {
  .check-box > span {
    width: 32%;
    margin-right: 2%;
    font-size: 3.5vw; }
    .check-box > span:last-child {
      margin-right: 0; }

  #contact-form.confirm-form .va-top {
    padding-top: 4% !important; }

  .thanks-btn {
    width: 65%;
    margin: 5% auto 0; }

  .thanks-btn a {
    padding: 5% 0; }

  #submit {
    width: 100%;
    margin: 5% auto 0; }
    #submit input {
      font-size: 3vw;
      padding: 4.5% 1vw;
      transition: none; }

  #contact-form.confirm-form #submit input {
    padding: 7% 1vw;
    font-size: 3vw; }

  .mw_wp_form .error {
    margin-top: 2% !important;
    font-size: 3vw !important; }

  #thanks-txt,
  #contact-form.confirm-form .check-box,
  .mw-wp-form_file a {
    font-size: 3vw; }

  #thanks-txt {
    text-align: left; } }
@media screen and (max-width: 425px) {
  .check-box > span {
    font-size: 4.25vw; }

  #submit input {
    font-size: 4.5vw;
    padding: 5% 1vw; }

  #contact-form.confirm-form #submit input {
    padding: 8.5% 1vw;
    font-size: 4.5vw; }

  .mw_wp_form .error, .mw-wp-form_file a {
    font-size: 4vw !important; }

  #thanks-txt,
  #contact-form.confirm-form .check-box {
    font-size: 4.25vw; } }
/*===== base style =====*/
/* font */
/* color */
/* border */
/* breakpoint */
/* form */
/*===== column =====*/
#column-mv {
  position: relative;
  background: #fff5c9;
  height: 400px;
  margin-bottom: 30px; }
  #column-mv .section-inner {
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center; }
    #column-mv .section-inner::before, #column-mv .section-inner::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0; }
    #column-mv .section-inner::before {
      background: url("../img/column/bg_mv01.png") no-repeat left bottom/contain;
      left: 0;
      width: 133px;
      height: 361px; }
    #column-mv .section-inner::after {
      background: url("../img/column/bg_mv02.png") no-repeat right bottom/contain;
      right: -100px;
      width: 256px;
      height: 361px; }
    #column-mv .section-inner h1 {
      width: 100%;
      max-width: 682px;
      margin: 0 auto 30px; }
    #column-mv .section-inner p {
      text-align: center;
      font-size: 16px;
      line-height: 2; }

@media screen and (max-width: 768px) {
  #column-mv {
    height: 75vw;
    padding-top: 5%;
    margin-bottom: 5%;
    overflow: hidden; }
    #column-mv .section-inner {
      justify-content: flex-start; }
      #column-mv .section-inner::before {
        left: 2%;
        width: 13.3vw;
        height: 36.1vw; }
      #column-mv .section-inner::after {
        right: -2%;
        width: 25.6vw;
        height: 36.1vw; }
      #column-mv .section-inner h1 {
        max-width: 90%;
        margin: 0 auto 6.66%; }
      #column-mv .section-inner p {
        font-size: 3vw; } }
@media screen and (max-width: 425px) {
  #column-mv {
    height: 90vw; }
    #column-mv .section-inner {
      justify-content: flex-start; }
      #column-mv .section-inner h1 {
        max-width: 95%; }
      #column-mv .section-inner p {
        font-size: 3.75vw; } }
.page-nav {
  margin-bottom: 80px; }
  .page-nav li {
    width: 23.5%;
    margin-right: 2%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px; }
    .page-nav li:nth-child(4n) {
      margin-right: 0; }
    .page-nav li a {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      text-align: center;
      font-size: 16px;
      line-height: 1.5;
      border: 1px solid #bebebe;
      padding: 10px;
      transition: .3s; }
      .page-nav li a::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 9px 8px 0 8px;
        border-color: #fff transparent transparent transparent;
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -8px;
        margin-top: 1px;
        transition: .4s; }
      .page-nav li a:hover {
        color: #f49c21;
        border: 1px solid #f49c21; }
        .page-nav li a:hover::after {
          border-color: #f49c21 transparent transparent transparent; }

@media screen and (max-width: 768px) {
  .page-nav {
    margin-bottom: 10%;
    flex-wrap: wrap; }
    .page-nav li {
      width: 49%;
      height: 12vw;
      margin-bottom: 2%; }
      .page-nav li:nth-child(2n) {
        margin-right: 0; }
      .page-nav li a {
        font-size: 2.5vw;
        padding: 3% 1%;
        transition: none; }
        .page-nav li a::after {
          transition: none; } }
@media screen and (max-width: 425px) {
  .page-nav li {
    height: 16vw; }
    .page-nav li a {
      font-size: 3.65vw; } }
.column-box {
  margin-bottom: 80px; }

.ttl-column {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px; }
  .ttl-column span {
    position: relative; }
    .ttl-column span::before, .ttl-column span::after {
      content: "";
      display: block;
      background: url("../img/column/bg_accent.png") no-repeat left top/contain;
      width: 44px;
      height: 68px;
      position: absolute;
      right: -80px;
      top: 0; }
    .ttl-column span::after {
      right: inherit;
      left: -80px;
      transform: scale(-1, 1); }
  .ttl-column + p {
    text-align: center;
    margin-bottom: 50px; }

.column-guide_slider .slide-box {
  max-width: 330px;
  margin-right: 45px; }
  .column-guide_slider .slide-box a {
    display: block; }
  .column-guide_slider .slide-box figure img {
    display: block;
    border-radius: 20px;
    margin-bottom: 30px; }
  .column-guide_slider .slide-box dl dt {
    color: #fff;
    background: #333;
    width: 130px;
    text-align: center;
    font-size: 14px;
    padding: 5px 10px; }
  .column-guide_slider .slide-box dl dd {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 25px; }

/* slick setting */
.slider2 .slick-prev,
.slider2 .slick-next {
  width: 17px !important;
  height: 30px !important;
  top: 0 !important;
  margin-top: 140px; }

.slider2 .slick-prev.slick-disabled:before,
.slider2 .slick-next.slick-disabled:before {
  opacity: 1; }

.slider2 .slick-prev {
  left: -40px !important; }

.slider2 .slick-next {
  right: -50px !important; }

.slider2 .slick-arrow::before {
  content: "" !important;
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  width: 17px !important;
  height: 30px !important;
  opacity: 1 !important; }

.slider2 .slick-next::before {
  background: url("../img/common/arrow-slider.png") no-repeat left center/contain !important; }

.slider2 .slick-prev::before {
  background: url("../img/common/arrow-slider.png") no-repeat left center/contain !important;
  transform: scale(-1, 1); }

@media screen and (max-width: 768px) {
  .column-box {
    margin-bottom: 10%; }

  .ttl-column {
    font-size: 4.5vw;
    margin-bottom: 8%; }
    .ttl-column span {
      position: relative; }
      .ttl-column span::before, .ttl-column span::after {
        width: 6.4vw;
        height: 9.9vw;
        right: -12vw;
        top: 0; }
      .ttl-column span::after {
        left: -12vw; }
    .ttl-column + p {
      margin-bottom: 6.66%; }

  .column-guide_slider .slide-box {
    max-width: inherit;
    width: 45vw;
    margin-right: 2.5vw; }
    .column-guide_slider .slide-box figure img {
      border-radius: 2vw;
      margin-bottom: 5%;
      object-fit: cover;
      height: 33vw; }
    .column-guide_slider .slide-box dl dt {
      width: 65%;
      font-size: 2.5vw;
      padding: 2% 1vw; }
    .column-guide_slider .slide-box dl dd {
      font-size: 2.75vw;
      margin-top: 3.5%; }

  /* slick setting */
  .slider2 .slick-prev,
  .slider2 .slick-next {
    margin-top: 18%;
    z-index: 10; }

  .slider2 .slick-prev {
    left: -3.5% !important; }

  .slider2 .slick-next {
    right: -3.5% !important; } }
@media screen and (max-width: 425px) {
  .ttl-column {
    font-size: 5.25vw; }

  .column-guide_slider .slide-box dl dt {
    width: 75%;
    font-size: 3.25vw; }
  .column-guide_slider .slide-box dl dd {
    font-size: 3.25vw; }

  /* slick setting */
  .slider2 .slick-prev,
  .slider2 .slick-next {
    display: none !important; } }
/* #column-model */
#column-model .ttl-column {
  margin-bottom: 80px; }
#column-model .model-box a {
  position: relative;
  width: 47%;
  display: block;
  border: 2px solid #333;
  border-radius: 20px;
  min-height: 540px;
  transition: .4s; }
  #column-model .model-box a:hover {
    border: 2px solid #f49c21; }
    #column-model .model-box a:hover span {
      background: #f49c21; }
      #column-model .model-box a:hover span::after {
        width: 40px; }
  #column-model .model-box a .inner {
    padding: 40px 20px 20px; }
  #column-model .model-box a h3 {
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    padding-bottom: 30px;
    border-bottom: 1px dashed #333; }
    #column-model .model-box a h3 em {
      font-size: 40px;
      font-weight: 500;
      font-family: "Roboto", sans-serif; }
  #column-model .model-box a figure {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 190px; }
    #column-model .model-box a figure img {
      display: block;
      width: 380px;
      margin: 0 auto; }
  #column-model .model-box a p {
    text-align: center;
    font-size: 16px;
    line-height: 2; }
  #column-model .model-box a .estimate-box {
    align-items: center;
    padding: 0 10px; }
    #column-model .model-box a .estimate-box ul {
      width: calc(100% - 176px); }
      #column-model .model-box a .estimate-box ul li {
        font-size: 18px;
        color: #fff;
        background: #f49c21;
        text-align: center;
        padding: 10px;
        margin-bottom: 10px; }
        #column-model .model-box a .estimate-box ul li:last-child {
          margin-bottom: 0; }
    #column-model .model-box a .estimate-box p {
      line-height: 1;
      width: 151px; }
  #column-model .model-box a .bottom-part {
    position: absolute;
    display: block;
    width: 100%;
    background: #333;
    text-align: center;
    color: #fff;
    font-size: 18px;
    border-radius: 0 0 18px 18px;
    padding: 30px;
    line-height: 1;
    bottom: 0;
    transition: .4s; }
    #column-model .model-box a .bottom-part::after, #column-model .model-box a .bottom-part::before {
      content: "";
      display: block;
      background: #fff;
      position: absolute;
      top: 50%;
      right: 50px;
      transition: .3s linear; }
    #column-model .model-box a .bottom-part::after {
      width: 20px;
      height: 2px; }
    #column-model .model-box a .bottom-part::before {
      width: 2px;
      height: 6px;
      margin-top: -6px;
      margin-right: 3px;
      transform: skewX(40deg); }
  #column-model .model-box a:nth-child(1) p {
    margin-top: 30px; }
  #column-model .model-box a:nth-child(2) figure img {
    width: 360px; }

@media screen and (max-width: 768px) {
  #column-model .ttl-column {
    margin-bottom: 10%; }
  #column-model .model-box {
    flex-direction: column; }
    #column-model .model-box a {
      width: 100%;
      border-radius: 2vw;
      min-height: inherit;
      transition: none;
      display: block; }
      #column-model .model-box a:hover {
        border: 2px solid #333; }
        #column-model .model-box a:hover span {
          background: inherit; }
          #column-model .model-box a:hover span::after {
            width: inherit; }
      #column-model .model-box a .inner {
        padding: 5% 4%; }
      #column-model .model-box a h3 {
        font-size: 4vw;
        padding-bottom: 4%;
        margin-bottom: 5%; }
        #column-model .model-box a h3 em {
          font-size: 4.5vw; }
      #column-model .model-box a figure {
        height: inherit; }
        #column-model .model-box a figure img {
          width: 60%; }
      #column-model .model-box a p {
        font-size: 2.75vw; }
      #column-model .model-box a .estimate-box {
        padding: 0;
        margin-top: 5%; }
        #column-model .model-box a .estimate-box ul {
          width: 70%; }
          #column-model .model-box a .estimate-box ul li {
            font-size: 3vw;
            padding: 2% 1vw;
            margin-bottom: 2.5%; }
            #column-model .model-box a .estimate-box ul li:last-child {
              margin-bottom: 0; }
        #column-model .model-box a .estimate-box p {
          width: 27.5%; }
      #column-model .model-box a .bottom-part {
        position: relative;
        font-size: 3vw;
        border-radius: 0 0 1.9vw 1.9vw;
        padding: 4%;
        transition: none; }
        #column-model .model-box a .bottom-part::after, #column-model .model-box a .bottom-part::before {
          right: 5vw;
          transition: none; }
        #column-model .model-box a .bottom-part::after {
          width: 8vw;
          height: 2px; }
        #column-model .model-box a .bottom-part::before {
          width: 2px;
          height: 1.6vw;
          margin-top: -1.6vw;
          margin-right: .6vw; }
      #column-model .model-box a:nth-child(1) {
        margin-bottom: 10%; }
        #column-model .model-box a:nth-child(1) p {
          margin-top: 4%; }
      #column-model .model-box a:nth-child(2) figure img {
        width: 65%; } }
@media screen and (max-width: 425px) {
  #column-model .model-box a h3 {
    font-size: 5vw; }
    #column-model .model-box a h3 em {
      font-size: 5.5vw; }
  #column-model .model-box a figure img {
    width: 70%; }
  #column-model .model-box a p {
    font-size: 3.5vw;
    text-align: left;
    padding: 0 2%; }
    #column-model .model-box a p br {
      display: none; }
  #column-model .model-box a .estimate-box ul {
    width: 65%; }
    #column-model .model-box a .estimate-box ul li {
      font-size: 3.5vw; }
  #column-model .model-box a .estimate-box p {
    width: 32.5%; }
  #column-model .model-box a .bottom-part {
    font-size: 4vw; }
  #column-model .model-box a:nth-child(2) figure img {
    width: 75%; } }
/* #column-category */
#column-category {
  background: #dbf1ff;
  padding: 80px 0; }

#cate-select_box {
  position: relative;
  z-index: 1; }
  #cate-select_box::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0;
    background-image: linear-gradient(to right, #333, #333 3px, transparent 3px, transparent 5px);
    background-size: 5px 1px;
    background-repeat: repeat-x; }
  #cate-select_box .inner {
    position: relative;
    background: #fff;
    border: 1px solid #333;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    max-width: 500px;
    height: 60px;
    margin-bottom: 60px;
    align-items: center;
    z-index: 2; }
  #cate-select_box p {
    font-size: 16px;
    color: #afafaf;
    text-align: center;
    border-right: 1px solid #333;
    width: 38%;
    height: 40px;
    line-height: 40px;
    align-self: center; }
  #cate-select_box .select-box {
    width: 62%;
    position: relative;
    overflow: hidden;
    display: inline-block;
    vertical-align: middle;
    text-align: center; }
    #cate-select_box .select-box select {
      width: 100%;
      cursor: pointer;
      text-indent: 0.01px;
      text-overflow: ellipsis;
      border: none;
      outline: none;
      background: transparent;
      background-image: none;
      box-shadow: none;
      -webkit-appearance: none;
      appearance: none;
      padding: 10px 30px;
      height: 100%;
      font-size: 16px; }
      #cate-select_box .select-box select::-ms-expand {
        display: none; }
    #cate-select_box .select-box::before {
      content: "";
      display: block;
      background: url("../img/common/arrow_bottom.png") no-repeat left center/contain;
      width: 13px;
      height: 7px;
      position: absolute;
      top: 50%;
      margin-top: -3px;
      right: 20px;
      pointer-events: none; }

.cate-change:nth-child(n+2) {
  display: none; }

.cate-rank_box {
  padding-bottom: 30px;
  border-bottom: 1px dashed #333;
  margin-bottom: 30px; }
  .cate-rank_box:last-of-type {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0; }
  .cate-rank_box .cate-rank_icon {
    width: 62px;
    margin-right: 2.5%;
    align-self: center; }
    .cate-rank_box .cate-rank_icon img {
      display: none; }
  .cate-rank_box .cate-rank_img {
    width: 30.5%;
    height: 250px;
    margin-right: 3.5%; }
    .cate-rank_box .cate-rank_img img {
      display: block;
      border-radius: 20px; }
  .cate-rank_box .cate-rank_entry {
    width: calc(100% - 36.5% - 62px);
    padding-right: 20px; }
    .cate-rank_box .cate-rank_entry h3 {
      font-size: 18px;
      font-weight: bold;
      line-height: 1.3;
      margin-bottom: 15px; }
    .cate-rank_box .cate-rank_entry .cate-entry_txt {
      margin-bottom: 30px; }
      .cate-rank_box .cate-rank_entry .cate-entry_txt p {
        font-size: 16px;
        line-height: 1.8; }
    .cate-rank_box .cate-rank_entry .cate-type {
      display: inline-block;
      width: 150px;
      text-align: center;
      padding: 5px 10px;
      color: #fff;
      background: #333;
      font-size: 14px; }
  .cate-rank_box:nth-child(1) .cate-rank_icon img:nth-child(1) {
    display: block; }
  .cate-rank_box:nth-child(2) .cate-rank_icon img:nth-child(2) {
    display: block; }
  .cate-rank_box:nth-child(3) .cate-rank_icon img:nth-child(3) {
    display: block; }

#cate-rank_wrap .btn-wh {
  margin: 80px auto 0; }

@media screen and (max-width: 768px) {
  #column-category {
    padding: 10% 0; }

  #cate-select_box::after {
    display: none; }
  #cate-select_box .inner {
    border-radius: 1vw;
    padding: 1vw;
    max-width: 100%;
    height: 10vw;
    margin-bottom: 8%; }
  #cate-select_box p {
    font-size: 2.65vw;
    width: 38%;
    height: 8vw;
    line-height: 8vw; }
  #cate-select_box .select-box {
    width: 62%; }
    #cate-select_box .select-box select {
      padding: 1vw 4%;
      font-size: 2.65vw; }
    #cate-select_box .select-box::before {
      width: 2.6vw;
      height: 1.4vw;
      margin-top: -.7vw;
      right: 4%; }

  .cate-rank_box {
    flex-direction: column;
    padding-bottom: 5%;
    margin-bottom: 6.66%; }
    .cate-rank_box:last-of-type {
      padding-bottom: 0;
      margin-bottom: 0; }
    .cate-rank_box .cate-rank_icon {
      width: 9vw;
      margin-right: 0;
      margin-bottom: 4%; }
    .cate-rank_box .cate-rank_img {
      width: 65%;
      height: inherit;
      margin: 0 auto; }
      .cate-rank_box .cate-rank_img img {
        border-radius: 2vw; }
    .cate-rank_box .cate-rank_entry {
      width: 100%;
      padding-right: 0;
      margin-top: 5%; }
      .cate-rank_box .cate-rank_entry h3 {
        font-size: 2.75vw;
        margin-bottom: 3%; }
      .cate-rank_box .cate-rank_entry .cate-entry_txt {
        margin-bottom: 4%; }
        .cate-rank_box .cate-rank_entry .cate-entry_txt p {
          font-size: 2.75vw; }
      .cate-rank_box .cate-rank_entry .cate-type {
        width: 50%;
        padding: 2% 1vw;
        font-size: 2.35vw; }

  #cate-rank_wrap .btn-wh {
    margin: 10% auto 0; } }
@media screen and (max-width: 425px) {
  #column-category h2 + p {
    text-align: left; }
    #column-category h2 + p br {
      display: none; }

  #cate-select_box .inner {
    height: 12vw; }
  #cate-select_box p {
    font-size: 3.35vw; }
  #cate-select_box .select-box select {
    font-size: 3.5vw; }

  .cate-rank_box .cate-rank_icon {
    width: 10vw; }
  .cate-rank_box .cate-rank_img {
    width: 75%; }
  .cate-rank_box .cate-rank_entry h3 {
    font-size: 3.75vw; }
  .cate-rank_box .cate-rank_entry .cate-entry_txt p {
    font-size: 3.75vw; }
  .cate-rank_box .cate-rank_entry .cate-type {
    width: 70%;
    font-size: 3.5vw; }

  #cate-rank_wrap .btn-wh {
    margin: 10% auto 0;
    width: 100%; } }
/* #column-useful */
#column-useful {
  padding: 80px 0; }
  #column-useful ul {
    flex-wrap: wrap;
    margin-bottom: -4.25%; }
    #column-useful ul li {
      width: 30.5%;
      margin-right: 4.25%;
      margin-bottom: 4.25%; }
      #column-useful ul li:nth-child(3n) {
        margin-right: 0; }
      #column-useful ul li a {
        display: block;
        border-bottom: 1px solid #bebebe;
        border-right: 1px solid #bebebe;
        padding: 0 10px 10px 0;
        transition: .4s border; }
        #column-useful ul li a:hover {
          border-bottom: 1px solid #f49c21;
          border-right: 1px solid #f49c21; }
          #column-useful ul li a:hover p {
            color: #f49c21; }
        #column-useful ul li a figure {
          width: 42.4%;
          max-width: 140px;
          margin-right: 7.5%; }
          #column-useful ul li a figure img {
            height: 140px; }
        #column-useful ul li a p {
          font-size: 16px;
          line-height: 2;
          width: 50.1%;
          padding-top: 20px;
          transition: .3s color; }
          #column-useful ul li a p.useful-txt {
            line-height: 1.6;
            align-self: center;
            padding-top: 0; }

@media screen and (max-width: 768px) {
  #column-useful {
    padding: 10% 4%; }
    #column-useful ul {
      flex-wrap: wrap;
      margin-bottom: -4%; }
      #column-useful ul li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 4%; }
        #column-useful ul li:nth-child(3n) {
          margin-right: 4%; }
        #column-useful ul li:nth-child(2n) {
          margin-right: 0; }
        #column-useful ul li a {
          padding: 0 1vw 1vw 0;
          transition: none; }
          #column-useful ul li a:hover {
            border-bottom: 1px solid #bebebe;
            border-right: 1px solid #bebebe; }
            #column-useful ul li a:hover p {
              color: inherit; }
          #column-useful ul li a div {
            align-items: center; }
          #column-useful ul li a figure {
            width: 42.4%;
            max-width: inherit;
            margin-right: 7.5%; }
            #column-useful ul li a figure img {
              height: 18vw; }
          #column-useful ul li a p {
            font-size: 2.35vw;
            width: 50.1%;
            padding-top: 0;
            transition: none; } }
@media screen and (max-width: 425px) {
  #column-useful h2 + p {
    text-align: left; }
    #column-useful h2 + p br {
      display: none !important; }
  #column-useful ul {
    margin-bottom: -5%; }
    #column-useful ul li {
      width: 100%;
      margin-right: 0;
      margin-bottom: 5%; }
      #column-useful ul li:nth-child(3n) {
        margin-right: 0; }
      #column-useful ul li a {
        padding: 0 1vw 1vw 0; }
        #column-useful ul li a figure {
          width: 30%;
          margin-right: 5%; }
          #column-useful ul li a figure img {
            height: inherit; }
        #column-useful ul li a p {
          font-size: 3.75vw;
          width: 65%; }
          #column-useful ul li a p br {
            display: none; }
      #column-useful ul li:nth-child(5) img {
        height: 28vw; } }
/* column-cate_list */
#column-cate_list {
  background: #dbf1ff;
  padding: 80px 0; }
  #column-cate_list ul {
    margin-bottom: -1.85%;
    flex-wrap: wrap; }
    #column-cate_list ul li {
      width: 23.5%;
      max-width: 255px;
      margin-right: 1.85%;
      margin-bottom: 1.85%; }
      #column-cate_list ul li:nth-child(4n) {
        margin-right: 0; }
      #column-cate_list ul li a {
        display: block;
        background: #fff;
        border-radius: 3px;
        height: 70px;
        transition: .4s; }
        #column-cate_list ul li a:hover {
          background: #f49c21; }
          #column-cate_list ul li a:hover span {
            color: #fff; }
          #column-cate_list ul li a:hover img {
            display: none; }
            #column-cate_list ul li a:hover img + img {
              display: block; }
        #column-cate_list ul li a div {
          height: 100%;
          align-items: center;
          padding: 5px 10px; }
          #column-cate_list ul li a div i {
            width: 70px; }
            #column-cate_list ul li a div i img {
              display: block;
              margin: 0 auto; }
              #column-cate_list ul li a div i img + img {
                display: none; }
          #column-cate_list ul li a div span {
            width: calc(100% - 70px);
            font-size: 16px;
            font-weight: 500;
            display: block;
            text-align: center;
            transition: .2s; }
      #column-cate_list ul li:nth-child(1) img {
        width: 60px; }
      #column-cate_list ul li:nth-child(2) img {
        width: 67px; }
      #column-cate_list ul li:nth-child(3) img {
        width: 58px; }
      #column-cate_list ul li:nth-child(4) img {
        width: 50px; }
      #column-cate_list ul li:nth-child(5) img {
        width: 54px; }
      #column-cate_list ul li:nth-child(6) img {
        width: 47px; }
      #column-cate_list ul li:nth-child(7) img {
        width: 65px; }
      #column-cate_list ul li:nth-child(8) img {
        width: 45px; }
  #column-cate_list form {
    position: relative;
    max-width: 840px;
    width: 100%;
    height: 60px;
    margin: 80px auto 0; }
    #column-cate_list form input {
      position: absolute;
      top: 0;
      left: 0;
      background: #fff;
      border: 1px solid #333;
      border-radius: 10px;
      padding: 20px;
      height: 100%;
      width: 100%;
      color: #333;
      font-size: 16px; }
    #column-cate_list form button {
      position: absolute;
      top: 50%;
      right: 30px;
      margin-top: -12px;
      cursor: pointer;
      background: none;
      border: none; }
      #column-cate_list form button:hover {
        opacity: .7; }
      #column-cate_list form button img {
        display: block;
        width: 24px;
        height: auto; }
    #column-cate_list form ::-webkit-input-placeholder {
      color: #afafaf;
      font-size: 16px; }
    #column-cate_list form ::-moz-placeholder {
      color: #afafaf;
      font-size: 16px; }
    #column-cate_list form :-ms-input-placeholder {
      color: #afafaf;
      font-size: 16px; }

@media screen and (max-width: 768px) {
  #column-cate_list {
    padding: 10% 0; }
    #column-cate_list ul {
      margin-bottom: -2%; }
      #column-cate_list ul li {
        width: 48%;
        max-width: inherit;
        margin-right: 2%;
        margin-bottom: 2%; }
        #column-cate_list ul li:nth-child(4n) {
          margin-right: 2%; }
        #column-cate_list ul li:nth-child(2n) {
          margin-right: 0; }
        #column-cate_list ul li a {
          height: 14vw; }
          #column-cate_list ul li a div {
            padding: 2% 1vw; }
            #column-cate_list ul li a div i {
              width: 12vw; }
            #column-cate_list ul li a div span {
              width: calc(100% - 12vw);
              font-size: 2.5vw; }
        #column-cate_list ul li:nth-child(1) img {
          width: 8vw; }
        #column-cate_list ul li:nth-child(2) img {
          width: 8.7vw; }
        #column-cate_list ul li:nth-child(3) img {
          width: 7.8vw; }
        #column-cate_list ul li:nth-child(4) img {
          width: 7vw; }
        #column-cate_list ul li:nth-child(5) img {
          width: 7.4vw; }
        #column-cate_list ul li:nth-child(6) img {
          width: 6.7vw; }
        #column-cate_list ul li:nth-child(7) img {
          width: 8.5vw; }
        #column-cate_list ul li:nth-child(8) img {
          width: 6.5vw; }
    #column-cate_list form {
      height: 10vw;
      margin: 8% auto 0; }
      #column-cate_list form input {
        border-radius: 1vw;
        padding: 4%;
        font-size: 2.75vw; }
      #column-cate_list form button {
        right: 4vw;
        margin-top: -1.6vw; }
        #column-cate_list form button img {
          width: 3.2vw; }
      #column-cate_list form ::-webkit-input-placeholder {
        font-size: 2.75vw; }
      #column-cate_list form ::-moz-placeholder {
        font-size: 2.75vw; }
      #column-cate_list form :-ms-input-placeholder {
        font-size: 2.75vw; } }
@media screen and (max-width: 425px) {
  #column-cate_list h2 + p {
    text-align: left; }
  #column-cate_list ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 5%; }
    #column-cate_list ul li:nth-child(4n) {
      margin-right: 0; }
    #column-cate_list ul li a {
      height: 16vw; }
      #column-cate_list ul li a div {
        padding: 2%; }
        #column-cate_list ul li a div i {
          width: 20vw; }
        #column-cate_list ul li a div span {
          width: calc(100% - 20vw);
          font-size: 4vw; }
    #column-cate_list ul li:nth-child(1) img {
      width: 10vw; }
    #column-cate_list ul li:nth-child(2) img {
      width: 10.7vw; }
    #column-cate_list ul li:nth-child(3) img {
      width: 9.8vw; }
    #column-cate_list ul li:nth-child(4) img {
      width: 9vw; }
    #column-cate_list ul li:nth-child(5) img {
      width: 9.4vw; }
    #column-cate_list ul li:nth-child(6) img {
      width: 8.7vw; }
    #column-cate_list ul li:nth-child(7) img {
      width: 10.5vw; }
    #column-cate_list ul li:nth-child(8) img {
      width: 8.5vw; }
  #column-cate_list form {
    height: 12vw; }
    #column-cate_list form input {
      font-size: 3.75vw; }
    #column-cate_list form button {
      margin-top: -2.1vw; }
      #column-cate_list form button img {
        width: 4.2vw; }
    #column-cate_list form ::-webkit-input-placeholder {
      font-size: 3.75vw; }
    #column-cate_list form ::-moz-placeholder {
      font-size: 3.75vw; }
    #column-cate_list form :-ms-input-placeholder {
      font-size: 3.75vw; } }
/* #column-news_list */
#column-news_list .ttl-column {
  margin-bottom: 80px; }
#column-news_list #news-list {
  margin-bottom: 80px; }
  #column-news_list #news-list a {
    display: block;
    border-bottom: 1px dashed #333;
    padding: 25px 0 25px 30px; }
    #column-news_list #news-list a:first-of-type {
      border-top: 1px dashed #333; }
    #column-news_list #news-list a dl {
      display: flex;
      width: 100%;
      align-items: center;
      justify-content: space-between; }
      #column-news_list #news-list a dl dt {
        order: 2;
        font-size: 14px;
        width: 15%;
        text-align: right; }
      #column-news_list #news-list a dl dd {
        order: 1;
        font-size: 16px;
        line-height: 1.6;
        width: 80%; }
  #column-news_list #news-list + .btn-wh {
    max-width: 400px;
    margin: 0 auto; }

@media screen and (max-width: 768px) {
  #column-news_list .ttl-column {
    margin-bottom: 10%; }
  #column-news_list #news-list {
    margin-bottom: 10%; }
    #column-news_list #news-list a {
      padding: 4% 0 5%; }
      #column-news_list #news-list a dl {
        flex-direction: column; }
        #column-news_list #news-list a dl dt {
          order: 1;
          font-size: 2.5vw;
          width: 100%;
          text-align: left;
          margin-bottom: 3%; }
        #column-news_list #news-list a dl dd {
          order: 2;
          font-size: 2.65vw;
          width: 100%; }
    #column-news_list #news-list + .btn-wh {
      max-width: 100%;
      width: 65%;
      margin: 0 auto; } }
@media screen and (max-width: 425px) {
  #column-news_list #news-list a dl dt {
    font-size: 3.5vw; }
  #column-news_list #news-list a dl dd {
    font-size: 3.65vw; }
  #column-news_list #news-list + .btn-wh {
    width: 85%; } }
/* category */
.category-intro {
  background: #dbf1ff;
  border-radius: 30px;
  align-items: center;
  padding: 50px;
  margin-bottom: 30px; }
  .category-intro figure {
    width: 21%;
    max-width: 207px; }
  .category-intro dl {
    width: 70%;
    margin-left: 5%; }
    .category-intro dl dt {
      font-size: 30px;
      font-weight: 400;
      padding-bottom: 30px;
      margin-bottom: 30px;
      border-bottom: 1px dashed #333; }
    .category-intro dl dd {
      font-size: 16px;
      line-height: 2; }

@media screen and (max-width: 768px) {
  .category-intro {
    border-radius: 3vw;
    padding: 5% 4%;
    margin-bottom: 5%; }
    .category-intro > figure {
      display: none; }
    .category-intro dl {
      width: 100%;
      margin-left: 0; }
      .category-intro dl dt {
        font-size: 4vw;
        padding-bottom: 4%;
        margin-bottom: 5%; }
      .category-intro dl dd {
        overflow: hidden;
        font-size: 2.5vw; }
        .category-intro dl dd figure {
          width: 25%;
          margin-right: 5%;
          float: left; } }
@media screen and (max-width: 425px) {
  .category-intro dl dt {
    font-size: 4.75vw; }
  .category-intro dl dd {
    font-size: 3.65vw; }
    .category-intro dl dd figure {
      width: 30%; } }
#cate-entry_list {
  width: 70%;
  padding-top: 50px; }
  #cate-entry_list .cate-entry_box {
    margin-bottom: 60px; }
    #cate-entry_list .cate-entry_box a figure {
      position: relative;
      width: 33.3%;
      max-width: 250px; }
      #cate-entry_list .cate-entry_box a figure figcaption {
        background: #333;
        color: #fff;
        text-align: center;
        font-size: 14px;
        width: 52%;
        display: inline-block;
        padding: 5px 10px;
        position: absolute;
        right: 0;
        bottom: 0; }
      #cate-entry_list .cate-entry_box a figure img {
        display: block;
        border-radius: 20px; }
    #cate-entry_list .cate-entry_box a > div {
      width: 62%; }
      #cate-entry_list .cate-entry_box a > div .cate-date {
        font-size: 14px;
        line-height: 1;
        margin-bottom: 20px; }
      #cate-entry_list .cate-entry_box a > div h2 {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 20px; }
      #cate-entry_list .cate-entry_box a > div .cate-entry_txt {
        font-size: 16px;
        line-height: 2;
        letter-spacing: .05em; }
  #cate-entry_list.column-search_list {
    width: 100%; }
    #cate-entry_list.column-search_list figure {
      max-width: inherit !important; }

.search-results_txt {
  padding-top: 40px;
  font-size: 18px; }

@media screen and (max-width: 768px) {
  .search-results_txt {
    font-size: 2.75vw;
    padding-top: 0; } }
@media screen and (max-width: 425px) {
  .search-results_txt {
    font-size: 3.75vw; } }
#cate-side {
  width: 25%; }
  #cate-side h2 {
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    border-top: 2px solid #333;
    border-bottom: 1px solid #333;
    padding: 20px 10px; }
  #cate-side .cate-list li a {
    position: relative;
    display: block;
    font-size: 15px;
    padding: 20px 0;
    transition: .4s; }
    #cate-side .cate-list li a::after {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      right: 10px;
      width: 7px;
      height: 7px;
      margin-top: -3.5px;
      border-top: solid 2px #333;
      border-right: solid 2px #333;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      transition: .4s; }
    #cate-side .cate-list li a:hover {
      color: #f49c21; }
      #cate-side .cate-list li a:hover::after {
        border-top: solid 2px #f49c21;
        border-right: solid 2px #f49c21; }
  #cate-side .new-entry {
    margin: 30px 0; }
    #cate-side .new-entry h2 {
      color: #fff;
      background: #333;
      font-size: 16px;
      font-weight: 500;
      padding: 20px 10px; }
    #cate-side .new-entry .entry-box a {
      padding: 20px 0; }
      #cate-side .new-entry .entry-box a figure {
        width: 40%; }
      #cate-side .new-entry .entry-box a p {
        width: 52%;
        font-size: 15px; }

@media screen and (max-width: 768px) {
  #category-box {
    flex-direction: column; }

  #cate-entry_list {
    width: 100%;
    padding-top: 0; }
    #cate-entry_list .cate-entry_box {
      margin-bottom: 8%; }
      #cate-entry_list .cate-entry_box a figure {
        position: relative;
        max-width: inherit; }
        #cate-entry_list .cate-entry_box a figure figcaption {
          font-size: 2.35vw;
          width: 65%;
          padding: 2%; }
        #cate-entry_list .cate-entry_box a figure img {
          border-radius: 2vw; }
      #cate-entry_list .cate-entry_box a > div .cate-date {
        font-size: 2.35vw;
        margin-bottom: 3%; }
      #cate-entry_list .cate-entry_box a > div h2 {
        font-size: 2.85vw;
        margin-bottom: 4%; }
      #cate-entry_list .cate-entry_box a > div .cate-entry_txt {
        font-size: 2.65vw;
        line-height: 1.4; }
    #cate-entry_list.column-search_list {
      padding-top: 4%; }

  #cate-side {
    width: 100%;
    margin-top: 10%; }
    #cate-side h2 {
      font-size: 3vw;
      padding: 4% 2%; }
    #cate-side .cate-list {
      margin-bottom: 10%; }
      #cate-side .cate-list li a {
        font-size: 2.65vw;
        padding: 4% 0; }
        #cate-side .cate-list li a::after {
          right: 2%;
          width: 1.2vw;
          height: 1.2vw;
          margin-top: -.6vw; }
    #cate-side .new-entry {
      margin: 5% 0; }
      #cate-side .new-entry h2 {
        font-size: 3vw;
        padding: 3% 1vw; }
      #cate-side .new-entry .entry-box a {
        padding: 4% 0; }
        #cate-side .new-entry .entry-box a figure {
          width: 40%; }
        #cate-side .new-entry .entry-box a p {
          width: 52%;
          font-size: 2.65vw; } }
@media screen and (max-width: 425px) {
  #cate-entry_list {
    margin-top: 8%; }
    #cate-entry_list.column-search_list {
      margin-top: 0; }
    #cate-entry_list .cate-entry_box {
      padding-bottom: 8%;
      border-bottom: 1px solid #ccc;
      margin-bottom: 10%; }
      #cate-entry_list .cate-entry_box a {
        flex-direction: column; }
        #cate-entry_list .cate-entry_box a figure {
          width: 65%;
          order: 2;
          margin: 0 auto; }
          #cate-entry_list .cate-entry_box a figure figcaption {
            font-size: 3.25vw;
            width: 85%;
            padding: 2%; }
          #cate-entry_list .cate-entry_box a figure img {
            border-radius: 2vw; }
        #cate-entry_list .cate-entry_box a > div {
          order: 1;
          width: 100%;
          margin-bottom: 5%; }
          #cate-entry_list .cate-entry_box a > div .cate-date {
            font-size: 3.25vw; }
          #cate-entry_list .cate-entry_box a > div h2 {
            font-size: 4vw; }
          #cate-entry_list .cate-entry_box a > div .cate-entry_txt {
            font-size: 3.5vw; }

  #cate-side h2 {
    font-size: 4vw; }
  #cate-side .cate-list li a {
    font-size: 3.75vw; }
    #cate-side .cate-list li a::after {
      width: 1.4vw;
      height: 1.4vw;
      margin-top: -.7vw; }
  #cate-side .new-entry h2 {
    font-size: 4vw; }
  #cate-side .new-entry .entry-box a p {
    font-size: 3.75vw; } }
/* category Banner */
.side-bnr ul {
  margin-bottom: -20px; }
  .side-bnr ul li {
    margin-bottom: 20px; }
    .side-bnr ul li a {
      display: block;
      border: 1px solid #ccc; }
      .side-bnr ul li a div {
        padding: 10px; }
        .side-bnr ul li a div > span {
          position: relative;
          display: block;
          border: 1px solid #ccc;
          border-radius: 30px;
          padding: 10px;
          text-align: center;
          font-size: 13px; }
          .side-bnr ul li a div > span em {
            position: relative;
            display: block;
            font-size: 17px;
            font-weight: bold;
            margin-bottom: 7px; }
            .side-bnr ul li a div > span em.accent span {
              position: relative; }
              .side-bnr ul li a div > span em.accent span::before, .side-bnr ul li a div > span em.accent span::after {
                content: "";
                display: inline-block;
                position: absolute;
                width: 1px;
                height: 90%;
                background: #ccc;
                top: 0; }
              .side-bnr ul li a div > span em.accent span::before {
                left: -15px;
                transform: rotate(-30deg); }
              .side-bnr ul li a div > span em.accent span::after {
                right: -15px;
                transform: rotate(30deg); }
          .side-bnr ul li a div > span::after {
            content: "";
            display: block;
            background: url("../img/column/category/arrow-link.png") no-repeat left center/contain;
            width: 23px;
            height: 9px;
            position: absolute;
            top: 50%;
            margin-top: -6px;
            right: 8px; }
    .side-bnr ul li:nth-child(2) em, .side-bnr ul li:nth-child(3) em {
      display: inline-block; }

@media screen and (max-width: 768px) {
  .side-bnr {
    width: 65%;
    margin: 0 auto; }
    .side-bnr ul {
      margin-bottom: -8%; }
      .side-bnr ul li {
        margin-bottom: 8%; }
        .side-bnr ul li a div {
          padding: 2% 4%; }
          .side-bnr ul li a div > span {
            border-radius: 5vw;
            padding: 2.5% 4%;
            font-size: 2.35vw; }
            .side-bnr ul li a div > span em {
              font-size: 3vw;
              margin-bottom: 1.5%; }
              .side-bnr ul li a div > span em.accent span::before {
                left: -3vw; }
              .side-bnr ul li a div > span em.accent span::after {
                right: -3vw; }
            .side-bnr ul li a div > span::after {
              width: 3.6vw;
              height: 1.3vw;
              margin-top: -.7vw;
              right: 4%; } }
@media screen and (max-width: 425px) {
  .side-bnr {
    width: 85%; }
    .side-bnr ul li a div > span {
      border-radius: 6vw;
      font-size: 3.5vw; }
      .side-bnr ul li a div > span em {
        font-size: 4vw; }
        .side-bnr ul li a div > span em.accent span::before {
          left: -3.5vw; }
        .side-bnr ul li a div > span em.accent span::after {
          right: -3.5vw; }
      .side-bnr ul li a div > span::after {
        width: 4.6vw;
        height: 1.6vw;
        margin-top: -.9vw; } }
/*===== FAQ =====*/
.faq-box {
  margin-top: 50px; }
  .faq-box#qa01 {
    margin-top: -20px; }
  .faq-box h2 {
    font-size: 24px;
    font-weight: 500;
    background: #f6f2ef;
    padding: 15px 30px;
    letter-spacing: .1em; }
  .faq-box .qa {
    padding: 40px 0; }
    .faq-box .qa dt {
      padding-right: 40px; }
      .faq-box .qa dt em {
        font-size: 30px;
        font-weight: bold;
        color: #f49c21;
        font-family: "Roboto", sans-serif; }
      .faq-box .qa dt span {
        font-size: 16px;
        margin-left: 1em;
        line-height: 1.3; }
      .faq-box .qa dt.toggle-active span {
        color: #f49c21; }
    .faq-box .qa dd {
      display: none;
      padding: 30px 50px 0; }
      .faq-box .qa dd em {
        color: #b9b9b9;
        font-family: "Roboto", sans-serif;
        font-size: 24px;
        position: relative;
        top: .25em; }
      .faq-box .qa dd span {
        font-size: 16px;
        line-height: 2;
        margin-left: .5em; }
  .faq-box .faq-top {
    text-align: right;
    margin-top: 40px; }
    .faq-box .faq-top a {
      position: relative;
      font-size: 14px;
      font-weight: 500;
      padding-right: 30px; }
      .faq-box .faq-top a::after {
        content: "";
        display: inline-block;
        background: url("../img/faq/arrow_faq.png") no-repeat right top/contain;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 50%;
        margin-top: -10px;
        right: 0; }
      .faq-box .faq-top a:hover {
        text-decoration: underline; }

#page-faq .booking-box {
  margin-top: 40px !important; }

#page-faq .page-nav {
  margin-bottom: 40px !important; }

@media screen and (max-width: 768px) {
  .faq-box {
    margin-top: 6.66%; }
    .faq-box#qa01 {
      margin-top: 0; }
    .faq-box h2 {
      font-size: 3.25vw;
      padding: 3% 4%; }
    .faq-box .qa {
      padding: 5% 0; }
      .faq-box .qa dt {
        padding-right: 5vw; }
        .faq-box .qa dt em {
          font-size: 4vw; }
        .faq-box .qa dt span {
          font-size: 2.5vw; }
      .faq-box .qa dd {
        padding: 4% 4% 0; }
        .faq-box .qa dd em {
          font-size: 4vw; }
        .faq-box .qa dd span {
          font-size: 2.5vw; }
    .faq-box .faq-top {
      margin-top: 5%; }
      .faq-box .faq-top a {
        font-size: 2.5vw;
        padding-right: 5vw; }
        .faq-box .faq-top a::after {
          width: 3vw;
          height: 3vw;
          margin-top: -1.5vw; }

  #page-faq .booking-box {
    margin-top: 5% !important; }

  #page-faq .page-nav {
    margin-bottom: 5% !important; } }
@media screen and (max-width: 425px) {
  .faq-box:last-child {
    padding-bottom: 8%; }
  .faq-box h2 {
    font-size: 4.25vw; }
  .faq-box .qa dt {
    padding-right: 6vw; }
    .faq-box .qa dt em {
      font-size: 5vw; }
    .faq-box .qa dt span {
      font-size: 3.5vw; }
  .faq-box .qa dd {
    padding: 4% 4% 0 0; }
    .faq-box .qa dd em {
      font-size: 5vw; }
    .faq-box .qa dd span {
      font-size: 3.5vw; }
  .faq-box .faq-top a {
    font-size: 3.5vw;
    padding-right: 6vw; }
    .faq-box .faq-top a::after {
      width: 4vw;
      height: 4vw;
      margin-top: -2vw; } }
/*===== CASE =====*/
/* search */
#case-search_wrap {
  margin-top: 60px; }
  #case-search_wrap h2 {
    position: relative;
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 50px;
    letter-spacing: .1em; }
    #case-search_wrap h2::before {
      content: "";
      display: block;
      width: 100px;
      height: 4px;
      background: #80d7ed;
      position: absolute;
      left: 0;
      top: -20px; }
  #case-search_wrap #case-search_box {
    background: #dbf1ff;
    padding: 30px;
    padding-bottom: 80px;
    border-radius: 30px; }
    #case-search_wrap #case-search_box .case-result_txt {
      font-size: 24px;
      font-weight: 500;
      padding-bottom: 20px;
      margin-bottom: 40px; }
      #case-search_wrap #case-search_box .case-result_txt em {
        font-size: 30px;
        margin-left: 1em; }
    #case-search_wrap #case-search_box dl {
      margin-bottom: 50px; }
      #case-search_wrap #case-search_box dl:last-child {
        margin-bottom: 0; }
      #case-search_wrap #case-search_box dl dt {
        font-size: 18px;
        font-weight: 500;
        margin-bottom: 20px; }
      #case-search_wrap #case-search_box dl dd ul {
        flex-wrap: wrap;
        margin-bottom: -20px; }
        #case-search_wrap #case-search_box dl dd ul li {
          width: 22%;
          margin-right: 4%;
          margin-bottom: 20px; }
          #case-search_wrap #case-search_box dl dd ul li:nth-child(4n) {
            margin-right: 0; }
      #case-search_wrap #case-search_box dl dd .input-txt_search {
        position: relative;
        max-width: 840px;
        margin-bottom: 80px; }
        #case-search_wrap #case-search_box dl dd .input-txt_search input {
          width: 100%;
          position: relative;
          border: 1px solid #80d7ed; }
        #case-search_wrap #case-search_box dl dd .input-txt_search img {
          display: block;
          position: absolute;
          width: 24px;
          height: 30px;
          top: 15px;
          right: 30px; }
      #case-search_wrap #case-search_box dl dd button {
        cursor: pointer;
        display: block;
        font-size: 18px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        padding: 20px 10px;
        color: #fff;
        text-align: center;
        background: #80d7ed;
        border-radius: 10px;
        box-shadow: 0 5px 0px 0 #54b3cb;
        transition: .4s; }
        #case-search_wrap #case-search_box dl dd button:hover {
          box-shadow: 0 0px 0px 0 #54b3cb;
          transform: translateY(5px); }

@media screen and (max-width: 768px) {
  #case-search_wrap {
    margin-top: 8%; }
    #case-search_wrap h2 {
      font-size: 4vw;
      margin-bottom: 6.66%; }
      #case-search_wrap h2::before {
        width: 15vw;
        top: -4vw; }
    #case-search_wrap #case-search_box {
      padding: 4%;
      padding-bottom: 10%;
      border-radius: 3vw; }
      #case-search_wrap #case-search_box .case-result_txt {
        font-size: 3vw;
        padding-bottom: 3%;
        margin-bottom: 5%; }
        #case-search_wrap #case-search_box .case-result_txt em {
          font-size: 4.75vw; }
      #case-search_wrap #case-search_box dl {
        margin-bottom: 8%; }
        #case-search_wrap #case-search_box dl:last-child {
          margin-bottom: 0; }
        #case-search_wrap #case-search_box dl dt {
          font-size: 3vw;
          margin-bottom: 4%; }
        #case-search_wrap #case-search_box dl dd ul {
          margin-bottom: -4%; }
          #case-search_wrap #case-search_box dl dd ul li {
            width: 48%;
            margin-bottom: 4%; }
            #case-search_wrap #case-search_box dl dd ul li:nth-child(4n) {
              margin-right: 4%; }
            #case-search_wrap #case-search_box dl dd ul li:nth-child(2n) {
              margin-right: 0; }
        #case-search_wrap #case-search_box dl dd .input-txt_search {
          max-width: 100%;
          margin-bottom: 10%; }
          #case-search_wrap #case-search_box dl dd .input-txt_search img {
            width: 3.7vw;
            height: 4.6vw;
            top: 50%;
            margin-top: -2.3vw;
            right: 3vw; }
        #case-search_wrap #case-search_box dl dd button {
          font-size: 3vw;
          max-width: 100%;
          padding: 4% 2%;
          border-radius: 1vw;
          box-shadow: 0 .5vw 0px 0 #54b3cb; } }
@media screen and (max-width: 425px) {
  #case-search_wrap h2 {
    font-size: 5vw; }
    #case-search_wrap h2::before {
      top: -5vw;
      width: 20vw; }
  #case-search_wrap #case-search_box .case-result_txt {
    font-size: 4vw; }
    #case-search_wrap #case-search_box .case-result_txt em {
      font-size: 6vw; }
  #case-search_wrap #case-search_box dl dt {
    font-size: 4vw; }
  #case-search_wrap #case-search_box dl dd button {
    font-size: 4.25vw;
    box-shadow: 0 .85vw 0px 0 #54b3cb; } }
/* result */
#case-search_result {
  margin-top: 80px;
  flex-wrap: wrap;
  margin-bottom: -70px; }
  #case-search_result .result-box {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 70px; }
    #case-search_result .result-box:nth-child(3n) {
      margin-right: 0; }
    #case-search_result .result-box a {
      display: block; }
      #case-search_result .result-box a figure img {
        display: block;
        height: 250px;
        border-radius: 20px; }
      #case-search_result .result-box a p {
        font-size: 16px;
        line-height: 1;
        margin: 20px 0; }
    #case-search_result .result-box ul {
      flex-wrap: wrap;
      margin-bottom: -10px; }
      #case-search_result .result-box ul li {
        margin-right: 10px;
        margin-bottom: 10px; }
        #case-search_result .result-box ul li a {
          display: block;
          min-width: 90px;
          background: #333;
          text-align: center;
          color: #fff;
          font-size: 14px;
          padding: 5px 10px; }

@media screen and (max-width: 768px) {
  #case-search_result {
    margin-top: 10%;
    margin-bottom: -8%; }
    #case-search_result .result-box {
      width: 48%;
      margin-right: 4%;
      margin-bottom: 8%; }
      #case-search_result .result-box:nth-child(3n) {
        margin-right: 4%; }
      #case-search_result .result-box:nth-child(2n) {
        margin-right: 0; }
      #case-search_result .result-box a figure img {
        height: 35vw;
        border-radius: 2vw; }
      #case-search_result .result-box a p {
        font-size: 2.5vw;
        margin: 4% 0 5%; }
      #case-search_result .result-box ul {
        margin-bottom: -3%; }
        #case-search_result .result-box ul li {
          margin-right: 2%;
          margin-bottom: 3%;
          width: 49%; }
          #case-search_result .result-box ul li:nth-child(2n) {
            margin-right: 0; }
          #case-search_result .result-box ul li a {
            min-width: inherit;
            width: 100%;
            font-size: 2.25vw;
            padding: 4% 1vw; } }
@media screen and (max-width: 425px) {
  #case-search_result .result-box a p {
    font-size: 3.5vw;
    line-height: 1.6; }
  #case-search_result .result-box ul {
    margin-bottom: -3%; }
    #case-search_result .result-box ul li {
      display: flex;
      align-items: center;
      justify-content: center; }
      #case-search_result .result-box ul li a {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 3.25vw;
        padding: 5% 1vw;
        height: 100%; } }
/*===== CASE Detail =====*/
#case-detail_wrap {
  margin-top: 50px; }
  #case-detail_wrap .case-detail_slider {
    margin-bottom: 100px; }
    #case-detail_wrap .case-detail_slider figcaption {
      margin-top: 30px;
      font-size: 16px; }
  #case-detail_wrap .layout_page-column2 {
    flex-wrap: wrap;
    margin-bottom: -40px; }
    #case-detail_wrap .layout_page-column2 > div {
      width: 47%;
      max-width: 510px;
      margin-right: 6%;
      margin-bottom: 40px; }
      #case-detail_wrap .layout_page-column2 > div:nth-child(2n) {
        margin-right: 0; }

.slider3 .slick-prev,
.slider3 .slick-next {
  width: 70px !important;
  height: 70px !important;
  top: 50% !important;
  margin-top: -70px !important;
  z-index: 10; }

.slider3 .slick-prev.slick-disabled:before,
.slider3 .slick-next.slick-disabled:before {
  opacity: 1; }

.slider3 .slick-prev {
  left: -20px !important; }

.slider3 .slick-next {
  right: -20px !important; }

.slider3 .slick-arrow::before {
  content: "" !important;
  position: absolute;
  top: 50% !important;
  left: 0 !important;
  width: 70px !important;
  height: 70px !important;
  opacity: 1 !important; }

.slider3 .slick-next::before {
  background: url("../img/case/icon_slider.png") no-repeat left center/contain !important; }

.slider3 .slick-prev::before {
  background: url("../img/case/icon_slider.png") no-repeat left center/contain !important;
  transform: scale(-1, 1); }

.slick-dotted.slick-slider {
  margin-bottom: 40px; }

.slider3 .slick-dots {
  bottom: -40px; }

.slick-dots li {
  height: 10px;
  width: 10px;
  margin: 0 5px; }

.slick-dots li button {
  height: 10px;
  width: 10px; }

.slick-dots li button:before {
  width: 10px;
  height: 10px;
  line-height: 10px;
  color: #bfbfbf;
  opacity: 1; }

.slick-dots li.slick-active button:before {
  color: #9a9a9a;
  opacity: 1; }

.case-detail_box {
  margin-bottom: 80px; }
  .case-detail_box .case-comment {
    margin-bottom: 50px; }
    .case-detail_box .case-comment dl dt {
      position: relative;
      width: 30%;
      max-width: 320px;
      font-size: 18px;
      font-weight: 500;
      padding-bottom: 15px;
      align-self: flex-start;
      margin-top: 10px; }
    .case-detail_box .case-comment dl dd {
      width: 64%; }
      .case-detail_box .case-comment dl dd p {
        font-size: 16px;
        line-height: 2; }
        .case-detail_box .case-comment dl dd p img {
          display: block;
          width: auto;
          margin: 0 auto; }
  .case-detail_box .case-staff_txt {
    font-size: 18px;
    font-weight: 500;
    text-align: center; }

@media screen and (max-width: 768px) {
  #case-detail_wrap {
    margin-top: 0; }
    #case-detail_wrap .case-detail_slider {
      margin-bottom: 20%; }
      #case-detail_wrap .case-detail_slider figcaption {
        margin-top: 2.5%;
        font-size: 2.75vw; }
      #case-detail_wrap .case-detail_slider img {
        object-fit: cover;
        height: 70vw; }
    #case-detail_wrap .layout_page-column2 {
      margin-bottom: -5%; }
      #case-detail_wrap .layout_page-column2 > div {
        margin-bottom: 5%; }

  .slider3 .slick-prev,
  .slider3 .slick-next {
    width: 9vw !important;
    height: 9vw !important;
    margin-top: -9vw !important; }

  .slider3 .slick-prev {
    left: -2vw !important; }

  .slider3 .slick-next {
    right: -2vw !important; }

  .slider3 .slick-arrow::before {
    width: 9vw !important;
    height: 9vw !important; }

  .slick-dotted.slick-slider {
    margin-bottom: 4%; }

  .slider3 .slick-dots {
    bottom: -7vw; }

  .slick-dots li {
    height: 1vw;
    width: 1vw;
    margin: 0 2vw; }

  .slick-dots li button {
    height: 1vw;
    width: 1vw; }

  .slick-dots li button:before {
    width: 1vw;
    height: 1vw;
    line-height: 1vw; }

  .case-detail_box {
    margin-bottom: 10%; }
    .case-detail_box .case-comment {
      margin-bottom: 8%; }
      .case-detail_box .case-comment dl {
        flex-direction: column; }
        .case-detail_box .case-comment dl dt {
          width: 100%;
          max-width: inherit;
          font-size: 3vw;
          padding-bottom: 3%;
          margin-top: 0; }
        .case-detail_box .case-comment dl dd {
          margin-top: 3%;
          width: 100%; }
          .case-detail_box .case-comment dl dd p {
            font-size: 2.65vw; }
            .case-detail_box .case-comment dl dd p img {
              width: 65%; }
    .case-detail_box .case-staff_txt {
      font-size: 3vw; } }
@media screen and (max-width: 425px) {
  #case-detail_wrap .case-detail_slider figcaption {
    font-size: 3.5vw; }

  .case-detail_box .case-comment dl dt {
    font-size: 4vw; }
  .case-detail_box .case-comment dl dd p {
    font-size: 3.75vw; }
    .case-detail_box .case-comment dl dd p img {
      width: 80%; }
  .case-detail_box .case-staff_txt {
    font-size: 4vw; } }
/*===== ESTIMATE =====*/
#estimate-simulation {
  margin-top: 30px; }
  #estimate-simulation .estimate-flow01_box .flow01-box {
    border: 1px solid #bebebe;
    border-radius: 20px;
    width: 44.4%;
    max-width: 480px;
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center; }
    #estimate-simulation .estimate-flow01_box .flow01-box dl {
      width: 100%;
      max-width: 350px;
      margin: 0 auto; }
      #estimate-simulation .estimate-flow01_box .flow01-box dl dt {
        position: relative;
        font-size: 21px;
        margin-bottom: 30px; }
        #estimate-simulation .estimate-flow01_box .flow01-box dl dt::after {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 0;
          width: 100%;
          height: 2px;
          background: #333; }
        #estimate-simulation .estimate-flow01_box .flow01-box dl dt span {
          background: #fff;
          display: block;
          padding: 0 1em;
          position: relative;
          z-index: 10;
          width: 45%;
          text-align: center;
          margin: 0 auto; }
      #estimate-simulation .estimate-flow01_box .flow01-box dl dd {
        position: relative; }
        #estimate-simulation .estimate-flow01_box .flow01-box dl dd .estimate-select_unit {
          position: absolute;
          right: 0;
          top: 50%;
          margin-top: -10px;
          font-size: 21px;
          font-weight: 500; }
    #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box {
      position: relative;
      overflow: hidden;
      background: #f4f4f2;
      padding: 20px 0;
      width: 100%;
      max-width: 310px;
      height: 70px;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      margin-right: 10px;
      border-radius: 3px;
      cursor: pointer; }
      #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box select {
        width: 100%;
        cursor: pointer;
        text-indent: -2em;
        text-overflow: ellipsis;
        border: none;
        outline: none;
        background: transparent;
        background-image: none;
        box-shadow: none;
        -webkit-appearance: none;
        appearance: none;
        padding: 10px;
        font-size: 21px;
        position: relative;
        z-index: 2;
        opacity: 0; }
        #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box select::-ms-expand {
          display: none; }
      #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box::before {
        content: "";
        background: url("../img/estimate/arrow-select.png") no-repeat left center/contain;
        width: 17px;
        height: 10px;
        display: block;
        position: absolute;
        top: 50%;
        right: 10px;
        pointer-events: none;
        margin-top: -5px; }
      #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box .select-label {
        position: absolute;
        font-size: 21px !important;
        font-weight: normal !important;
        line-height: 1 !important;
        width: 100%;
        z-index: 1; }
  #estimate-simulation .estimate-flow01_box .flow01-box_txt {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 21px;
    font-weight: 500;
    background: #f6f2ef;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    margin: 0 15px; }
  #estimate-simulation #estimate-flow01 ul {
    margin-top: 40px; }
    #estimate-simulation #estimate-flow01 ul li {
      font-size: 16px;
      line-height: 1.6;
      margin-bottom: 10px; }
      #estimate-simulation #estimate-flow01 ul li:last-child {
        margin-bottom: 0; }
      #estimate-simulation #estimate-flow01 ul li a {
        display: block;
        color: #25a0bf;
        text-decoration: underline; }
        #estimate-simulation #estimate-flow01 ul li a:hover {
          text-decoration: none; }
  #estimate-simulation #estimate-flow02 .estimate-radio, #estimate-simulation #estimate-flow03 .estimate-radio {
    justify-content: center; }
    #estimate-simulation #estimate-flow02 .estimate-radio li, #estimate-simulation #estimate-flow03 .estimate-radio li {
      margin-right: 200px; }
      #estimate-simulation #estimate-flow02 .estimate-radio li:last-child, #estimate-simulation #estimate-flow03 .estimate-radio li:last-child {
        margin-right: 0; }
      #estimate-simulation #estimate-flow02 .estimate-radio li label, #estimate-simulation #estimate-flow03 .estimate-radio li label {
        font-size: 21px; }
        #estimate-simulation #estimate-flow02 .estimate-radio li label span, #estimate-simulation #estimate-flow03 .estimate-radio li label span {
          position: relative;
          top: 1px; }
  #estimate-simulation #estimate-flow02 .estimate-flow_contents, #estimate-simulation #estimate-flow03 .estimate-flow_contents {
    margin-top: 60px; }
    #estimate-simulation #estimate-flow02 .estimate-flow_contents dt, #estimate-simulation #estimate-flow03 .estimate-flow_contents dt {
      border-top: 1px solid #bebebe;
      border-bottom: 1px solid #bebebe;
      font-size: 18px;
      padding: 20px 10px; }
    #estimate-simulation #estimate-flow02 .estimate-flow_contents dd, #estimate-simulation #estimate-flow03 .estimate-flow_contents dd {
      display: none;
      padding: 30px 80px;
      border-bottom: 1px solid #bebebe; }
      #estimate-simulation #estimate-flow02 .estimate-flow_contents dd figure, #estimate-simulation #estimate-flow03 .estimate-flow_contents dd figure {
        width: 35%; }
      #estimate-simulation #estimate-flow02 .estimate-flow_contents dd p, #estimate-simulation #estimate-flow03 .estimate-flow_contents dd p {
        width: 55%;
        font-size: 16px;
        line-height: 2; }

#estimate-count_box {
  background: #ebe5e1;
  padding: 80px 0; }
  #estimate-count_box button {
    display: block;
    width: 100%;
    max-width: 540px;
    margin: 0 auto 80px;
    background: #d23927;
    border-radius: 70px;
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    letter-spacing: .1em;
    padding: 45px 10px;
    box-shadow: 0 5px 0px 0 #9d2112;
    cursor: pointer; }
  #estimate-count_box #estimate-count_result {
    background: #fff;
    border: 10px solid #e4dcd5;
    padding: 60px 10px;
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 30px; }
    #estimate-count_box #estimate-count_result span {
      font-family: "Roboto", sans-serif;
      color: #d23927;
      font-size: 72px;
      margin: 0 .5em;
      letter-spacing: .1em; }
  #estimate-count_box dl {
    margin-bottom: 15px; }
    #estimate-count_box dl dt {
      font-size: 16px;
      font-weight: 500;
      margin-right: 1em;
      width: 22%;
      letter-spacing: .1em; }
  #estimate-count_box ul {
    justify-content: center; }
    #estimate-count_box ul li {
      margin-right: 60px;
      width: 31.5%; }
      #estimate-count_box ul li:last-child {
        margin-right: 0; }
      #estimate-count_box ul li .btn-estimate {
        position: relative;
        display: block;
        font-size: 16px;
        font-weight: 500;
        text-align: center;
        background: #fff;
        border: 1px solid #333;
        border-radius: 3px;
        padding: 15px 10px;
        margin-top: 70px; }
        #estimate-count_box ul li .btn-estimate::after {
          content: "";
          background: url("../img/estimate/icon_arrow.png") no-repeat left center/contain;
          width: 14px;
          height: 14px;
          display: block;
          position: absolute;
          top: 50%;
          margin-top: -7px;
          right: 15px; }

@media screen and (max-width: 768px) {
  #estimate-simulation {
    margin-top: 0; }
    #estimate-simulation .estimate-flow01_box {
      flex-direction: column; }
      #estimate-simulation .estimate-flow01_box .flow01-box {
        border-radius: 2vw;
        width: 100%;
        max-width: inherit;
        height: inherit;
        padding: 5% 4%; }
        #estimate-simulation .estimate-flow01_box .flow01-box dl {
          max-width: inherit; }
          #estimate-simulation .estimate-flow01_box .flow01-box dl dt {
            font-size: 3.25vw;
            margin-bottom: 4%; }
          #estimate-simulation .estimate-flow01_box .flow01-box dl dd .estimate-select_unit {
            margin-top: -1vw;
            font-size: 3.25vw; }
        #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box {
          padding: 4% 0;
          width: 92.5%;
          max-width: inherit;
          height: 10vw;
          margin-right: 5%; }
          #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box select {
            padding: 2%;
            font-size: 3.25vw; }
          #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box::before {
            width: 3.4vw;
            height: 2vw;
            right: 4%;
            margin-top: -1vw; }
          #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box .select-label {
            font-size: 3.25vw !important; }
      #estimate-simulation .estimate-flow01_box .flow01-box_txt {
        font-size: 3.5vw;
        width: 18vw;
        height: 18vw;
        margin: 4% auto; }
    #estimate-simulation #estimate-flow01 ul {
      margin-top: 5%; }
      #estimate-simulation #estimate-flow01 ul li {
        font-size: 2.5vw;
        margin-bottom: 2%;
        text-indent: -1em;
        margin-left: 1em; }
        #estimate-simulation #estimate-flow01 ul li:last-child {
          margin-bottom: 0; }
    #estimate-simulation #estimate-flow02 .estimate-radio li, #estimate-simulation #estimate-flow03 .estimate-radio li {
      margin-right: 15vw; }
      #estimate-simulation #estimate-flow02 .estimate-radio li:last-child, #estimate-simulation #estimate-flow03 .estimate-radio li:last-child {
        margin-right: 0; }
      #estimate-simulation #estimate-flow02 .estimate-radio li label, #estimate-simulation #estimate-flow03 .estimate-radio li label {
        font-size: 3.25vw;
        white-space: nowrap; }
        #estimate-simulation #estimate-flow02 .estimate-radio li label span, #estimate-simulation #estimate-flow03 .estimate-radio li label span {
          top: inherit; }
    #estimate-simulation #estimate-flow02 .estimate-flow_contents, #estimate-simulation #estimate-flow03 .estimate-flow_contents {
      margin-top: 8%; }
      #estimate-simulation #estimate-flow02 .estimate-flow_contents dt, #estimate-simulation #estimate-flow03 .estimate-flow_contents dt {
        font-size: 3.25vw;
        padding: 4% 1vw; }
      #estimate-simulation #estimate-flow02 .estimate-flow_contents dd, #estimate-simulation #estimate-flow03 .estimate-flow_contents dd {
        padding: 4% 2%; }
        #estimate-simulation #estimate-flow02 .estimate-flow_contents dd figure, #estimate-simulation #estimate-flow03 .estimate-flow_contents dd figure {
          width: 35%; }
        #estimate-simulation #estimate-flow02 .estimate-flow_contents dd p, #estimate-simulation #estimate-flow03 .estimate-flow_contents dd p {
          width: 60%;
          font-size: 2.75vw; }

  #estimate-count_box {
    padding: 10% 0; }
    #estimate-count_box button {
      width: 85%;
      max-width: inherit;
      margin: 0 auto 10%;
      border-radius: 9vw;
      font-size: 5vw;
      padding: 6% 1vw;
      box-shadow: 0 1vw 0px 0 #9d2112; }
    #estimate-count_box #estimate-count_result {
      border: 1.2vw solid #e4dcd5;
      padding: 8% 4%;
      font-size: 5vw;
      margin-bottom: 4%; }
      #estimate-count_box #estimate-count_result span {
        font-size: 10vw; }
    #estimate-count_box dl {
      margin-bottom: 5%;
      flex-direction: column; }
      #estimate-count_box dl dt, #estimate-count_box dl dd {
        font-size: 2.65vw;
        width: 100%;
        margin-bottom: 2.5%; }
      #estimate-count_box dl dd {
        margin-bottom: 0; }
    #estimate-count_box ul {
      margin-bottom: 8%; }
      #estimate-count_box ul li {
        margin-right: 5%;
        width: 47.5%; }
        #estimate-count_box ul li:last-child {
          margin-right: 0; }
        #estimate-count_box ul li .btn-estimate {
          font-size: 2.65vw;
          padding: 6.66% 2%;
          margin-top: 10%; }
          #estimate-count_box ul li .btn-estimate::after {
            width: 2.8vw;
            height: 2.8vw;
            margin-top: -1.4vw;
            right: 4%; } }
@media screen and (max-width: 425px) {
  #estimate-simulation .estimate-flow01_box .flow01-box dl dt {
    font-size: 4vw; }
  #estimate-simulation .estimate-flow01_box .flow01-box dl dd .estimate-select_unit {
    font-size: 4vw; }
  #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box {
    height: 12vw; }
    #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box select {
      font-size: 4.25vw; }
    #estimate-simulation .estimate-flow01_box .flow01-box .estimate-select_box .select-label {
      font-size: 4.25vw !important; }
  #estimate-simulation .estimate-flow01_box .flow01-box_txt {
    font-size: 4.5vw;
    width: 24vw;
    height: 24vw; }
  #estimate-simulation #estimate-flow01 ul li {
    font-size: 3.25vw; }
  #estimate-simulation #estimate-flow02 .estimate-radio li label, #estimate-simulation #estimate-flow03 .estimate-radio li label {
    font-size: 4.25vw; }
  #estimate-simulation #estimate-flow02 .estimate-flow_contents dt, #estimate-simulation #estimate-flow03 .estimate-flow_contents dt {
    font-size: 4.25vw; }
  #estimate-simulation #estimate-flow02 .estimate-flow_contents dd, #estimate-simulation #estimate-flow03 .estimate-flow_contents dd {
    padding: 4% 0; }
    #estimate-simulation #estimate-flow02 .estimate-flow_contents dd p, #estimate-simulation #estimate-flow03 .estimate-flow_contents dd p {
      font-size: 3.75vw; }

  #estimate-count_box button {
    width: 100%;
    border-radius: 10vw;
    font-size: 6vw; }
  #estimate-count_box #estimate-count_result {
    padding: 8% 2%; }
  #estimate-count_box dl dt, #estimate-count_box dl dd {
    font-size: 3.5vw; }
  #estimate-count_box ul {
    flex-direction: column;
    margin-top: 8%; }
    #estimate-count_box ul li {
      margin-right: 0;
      width: 100%; }
      #estimate-count_box ul li:last-child {
        margin-right: 0; }
      #estimate-count_box ul li .btn-estimate {
        font-size: 4vw;
        padding: 6.66% 2%;
        margin-top: 5%; }
        #estimate-count_box ul li .btn-estimate::after {
          width: 4.2vw;
          height: 4.2vw;
          margin-top: -2.1vw; } }
/*===== ABOUT =====*/
#about-ideology {
  margin-top: 30px;
  margin-bottom: 80px; }
  #about-ideology .movie {
    text-align: center;
    margin-bottom: 60px; }
  #about-ideology #ideology-box {
    margin-bottom: 50px; }
    #about-ideology #ideology-box dl {
      margin-bottom: 35px; }
      #about-ideology #ideology-box dl dt {
        font-family: "Roboto", sans-serif;
        font-size: 24px;
        font-weight: 700;
        color: #f49c21;
        text-align: center;
        margin-bottom: 20px; }
      #about-ideology #ideology-box dl dd {
        text-align: center;
        font-size: 18px;
        line-height: 1.4; }
  #about-ideology #about-staff ul {
    justify-content: center; }
    #about-ideology #about-staff ul li {
      width: 26%;
      max-width: 280px;
      margin-right: 4.6%; }
      #about-ideology #about-staff ul li:last-child {
        margin-right: 0; }
      #about-ideology #about-staff ul li dl {
        margin-top: 30px; }
        #about-ideology #about-staff ul li dl dt {
          text-align: center;
          font-size: 16px;
          padding-bottom: 20px;
          margin-bottom: 20px;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          height: 60px; }
          #about-ideology #about-staff ul li dl dt::before {
            width: 70%;
            left: 15%; }
          #about-ideology #about-staff ul li dl dt span {
            display: block;
            margin-bottom: 10px;
            font-size: 18px;
            font-weight: 700; }
        #about-ideology #about-staff ul li dl dd p {
          text-align: center;
          font-size: 16px;
          line-height: 2;
          letter-spacing: .05em; }

#about-greeting {
  background: #f6f2ef;
  padding: 80px 0;
  margin-bottom: 80px; }
  #about-greeting .d-flex > div:first-child {
    width: 50%; }
    #about-greeting .d-flex > div:first-child p {
      font-size: 16px;
      line-height: 2;
      letter-spacing: .1em;
      margin-bottom: 40px; }
      #about-greeting .d-flex > div:first-child p:last-of-type {
        margin-bottom: 0; }
      #about-greeting .d-flex > div:first-child p:first-child strong {
        font-size: 24px;
        font-weight: bold;
        letter-spacing: .2em; }
  #about-greeting .d-flex > div:last-child {
    width: 43.5%;
    max-width: 470px; }
    #about-greeting .d-flex > div:last-child figcaption {
      display: block;
      margin-top: 25px;
      text-align: right;
      font-size: 18px; }

.txt-accent {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
  letter-spacing: .1em;
  line-height: 2; }
  .txt-accent span {
    position: relative; }
    .txt-accent span::before, .txt-accent span::after {
      content: "";
      display: block;
      background: url("../img/about/bg_accent.png") no-repeat left top/contain;
      width: 34px;
      height: 58px;
      position: absolute;
      right: -70px;
      top: 20px; }
    .txt-accent span::after {
      right: inherit;
      left: -90px;
      transform: scale(-1, 1); }

#profile-box02 .table-page td {
  padding: 20px 10px 20px 50px; }
#profile-box02 .table-page ul {
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: -10px; }
  #profile-box02 .table-page ul li {
    margin-right: 30px;
    margin-bottom: 10px; }
    #profile-box02 .table-page ul li:first-child {
      margin-left: 10px; }
    #profile-box02 .table-page ul li:nth-child(n+7) {
      margin-right: 0; }
    #profile-box02 .table-page ul li:last-child {
      margin-left: 10px; }
#profile-box02 .txt-accent {
  margin-top: 60px;
  font-size: 18px; }
  #profile-box02 .txt-accent span::before, #profile-box02 .txt-accent span::after {
    right: -120px;
    top: 10px; }
  #profile-box02 .txt-accent span::after {
    right: inherit;
    left: -70px; }
  #profile-box02 .txt-accent + .btn-wh {
    margin: 0 auto; }

.contact-box {
  position: relative;
  border: 2px solid #c0b4ac;
  padding: 0 20px 40px;
  border-radius: 30px;
  margin-top: 60px; }
  .contact-box > p:first-of-type {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    display: inline-block;
    background: #fff;
    width: auto;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    margin: 0 auto 20px;
    top: -1em;
    padding: 0 1em; }
  .contact-box ul {
    justify-content: center; }
    .contact-box ul li dl dt {
      font-size: 15px;
      margin-bottom: 10px; }
    .contact-box ul li dl dd a {
      font-family: "Roboto", sans-serif;
      font-size: 48px;
      font-weight: bold; }
    .contact-box ul li dl dd span {
      display: block;
      font-size: 15px;
      text-align: center;
      margin-top: 10px; }
    .contact-box ul li:first-child {
      border-right: 1px solid #333;
      padding-right: 50px; }
    .contact-box ul li:last-child {
      padding-left: 50px; }
      .contact-box ul li:last-child dd a {
        font-size: 36px; }

#profile-box03 .d-flex > div:first-child {
  width: 41.666%; }
  #profile-box03 .d-flex > div:first-child p {
    font-size: 16px;
    line-height: 2;
    letter-spacing: .1em;
    margin-bottom: 30px; }
    #profile-box03 .d-flex > div:first-child p:first-of-type strong {
      font-size: 18px;
      font-weight: 500; }
#profile-box03 .d-flex > div:last-child {
  width: 53%;
  max-width: 570px; }

@media screen and (max-width: 768px) {
  #page-about .ttl_page-h3 {
    margin-bottom: 8%; }

  #about-ideology {
    margin-top: 0;
    margin-bottom: 10%; }
    #about-ideology .movie {
      margin-bottom: 8%; }
    #about-ideology #ideology-box {
      margin-bottom: 6.66%; }
      #about-ideology #ideology-box dl {
        margin-bottom: 5%; }
        #about-ideology #ideology-box dl dt {
          font-size: 3.25vw;
          margin-bottom: 4%; }
        #about-ideology #ideology-box dl dd {
          font-size: 2.75vw; }
    #about-ideology #about-staff ul {
      flex-direction: column;
      margin-bottom: -10%; }
      #about-ideology #about-staff ul li {
        width: 65%;
        max-width: inherit;
        margin: 0 auto 10% !important; }
        #about-ideology #about-staff ul li figure {
          width: 65%;
          margin: 0 auto 5%; }
          #about-ideology #about-staff ul li figure img {
            width: 100%; }
        #about-ideology #about-staff ul li dl {
          margin-top: 4%; }
          #about-ideology #about-staff ul li dl dt {
            font-size: 2.75vw;
            padding-bottom: 4%;
            margin-bottom: 4%;
            height: inherit; }
            #about-ideology #about-staff ul li dl dt::before {
              width: 100%;
              left: 0; }
            #about-ideology #about-staff ul li dl dt span {
              margin-bottom: 2%;
              font-size: 2.85vw; }
          #about-ideology #about-staff ul li dl dd p {
            font-size: 2.65vw; }

  #about-greeting {
    padding: 10% 0;
    margin-bottom: 10%; }
    #about-greeting .d-flex {
      flex-direction: column; }
      #about-greeting .d-flex > div:first-child {
        order: 2;
        margin-top: 6.66%;
        width: 100%; }
        #about-greeting .d-flex > div:first-child p {
          font-size: 2.65vw;
          margin-bottom: 5%; }
          #about-greeting .d-flex > div:first-child p br {
            display: none; }
          #about-greeting .d-flex > div:first-child p:last-of-type {
            margin-bottom: 0; }
          #about-greeting .d-flex > div:first-child p:first-child strong {
            font-size: 3.75vw; }
      #about-greeting .d-flex > div:last-child {
        width: 60%;
        max-width: inherit;
        margin: 0 auto; }
        #about-greeting .d-flex > div:last-child figcaption {
          margin-top: 3%;
          font-size: 2.75vw; }

  .txt-accent {
    font-size: 3.25vw;
    margin-bottom: 7%; }
    .txt-accent span::before, .txt-accent span::after {
      width: 6.8vw;
      height: 11.6vw;
      right: -10vw;
      top: 2vw; }
    .txt-accent span::after {
      left: -12vw; }

  #profile-box02 .table-page th, #profile-box02 .table-page td {
    display: block;
    font-size: 2.75vw; }
  #profile-box02 .table-page th {
    width: 100%; }
  #profile-box02 .table-page td {
    padding: 4%; }
  #profile-box02 .table-page ul {
    margin-bottom: -2%; }
    #profile-box02 .table-page ul li {
      margin-right: 4%;
      margin-bottom: 2%; }
      #profile-box02 .table-page ul li:first-child {
        margin-left: 2%; }
      #profile-box02 .table-page ul li:nth-child(n+7) {
        margin-right: 0; }
      #profile-box02 .table-page ul li:last-child {
        margin-left: 2%; }
  #profile-box02 .txt-accent {
    margin-top: 8%;
    font-size: 2.75vw; }
    #profile-box02 .txt-accent span::before, #profile-box02 .txt-accent span::after {
      right: -16vw;
      top: 1vw; }
    #profile-box02 .txt-accent span::after {
      left: -8vw; }
    #profile-box02 .txt-accent + .btn-wh {
      width: 85%; }

  .contact-box {
    padding: 0 4% 5%;
    border-radius: 3vw;
    margin-top: 10%; }
    .contact-box > p:first-of-type {
      font-size: 2.75vw;
      font-weight: 500;
      margin: 0 auto 2.5%; }
    .contact-box ul {
      flex-direction: column;
      align-items: center; }
      .contact-box ul li {
        width: 65%;
        margin: 0 auto; }
        .contact-box ul li dl dt {
          font-size: 2.5vw;
          margin-bottom: 2%; }
        .contact-box ul li dl dd a {
          font-size: 5.75vw; }
        .contact-box ul li dl dd span {
          text-align: left;
          font-size: 2.5vw;
          margin-top: 3%; }
        .contact-box ul li:first-child {
          border-right: none;
          padding-right: 0;
          margin-bottom: 6.66%; }
        .contact-box ul li:last-child {
          padding-left: 0; }
          .contact-box ul li:last-child dd a {
            font-size: 4.75vw; }

  #profile-box03 .d-flex {
    flex-direction: column; }
    #profile-box03 .d-flex > div:first-child {
      order: 1;
      width: 100%; }
      #profile-box03 .d-flex > div:first-child p {
        font-size: 2.65vw;
        margin-bottom: 3%; }
        #profile-box03 .d-flex > div:first-child p:first-of-type strong {
          font-size: 3vw; }
    #profile-box03 .d-flex > div:last-child {
      width: 65%;
      max-width: inherit;
      margin: 0 auto 5%; } }
@media screen and (max-width: 425px) {
  #about-ideology #ideology-box dl dt {
    font-size: 4.5vw; }
  #about-ideology #ideology-box dl dd {
    font-size: 3.75vw;
    text-align: left;
    line-height: 1.6; }
  #about-ideology #about-staff ul li {
    width: 85%; }
    #about-ideology #about-staff ul li dl dt {
      font-size: 4vw; }
      #about-ideology #about-staff ul li dl dt span {
        margin-bottom: 3%;
        font-size: 3.75vw; }
    #about-ideology #about-staff ul li dl dd p {
      font-size: 3.75vw; }

  #about-greeting .d-flex > div:first-child p {
    font-size: 3.75vw; }
    #about-greeting .d-flex > div:first-child p:first-child strong {
      font-size: 4.75vw; }
  #about-greeting .d-flex > div:last-child {
    width: 70%; }
    #about-greeting .d-flex > div:last-child figcaption {
      font-size: 3.75vw; }

  .txt-accent {
    font-size: 4vw; }

  #profile-box02 .table-page th, #profile-box02 .table-page td {
    font-size: 3.75vw; }
  #profile-box02 .table-page ul {
    flex-direction: column;
    margin-bottom: -2.5%; }
    #profile-box02 .table-page ul li {
      margin-right: 0;
      margin-bottom: 2.5%; }
      #profile-box02 .table-page ul li:first-child {
        margin-left: 0; }
      #profile-box02 .table-page ul li:nth-child(n+7) {
        margin-right: 0; }
      #profile-box02 .table-page ul li:last-child {
        margin-left: 0; }
  #profile-box02 .txt-accent {
    font-size: 3.75vw; }
    #profile-box02 .txt-accent span::before, #profile-box02 .txt-accent span::after {
      display: none; }
    #profile-box02 .txt-accent + .btn-wh {
      width: 100%; }

  .contact-box {
    padding: 4%; }
    .contact-box > p:first-of-type {
      font-size: 3.75vw;
      margin: 0 auto 4%;
      top: inherit; }
    .contact-box ul li {
      width: 90%; }
      .contact-box ul li dl dt {
        font-size: 3.5vw; }
      .contact-box ul li dl dd a {
        font-size: 6.75vw; }
      .contact-box ul li dl dd span {
        font-size: 3.5vw; }
      .contact-box ul li:last-child dd a {
        font-size: 5.75vw; }

  #profile-box03 .d-flex > div:first-child p {
    font-size: 3.75vw; }
    #profile-box03 .d-flex > div:first-child p:first-of-type strong {
      font-size: 4vw; }
  #profile-box03 .d-flex > div:last-child {
    width: 100%; } }
/*===== PLAN =====*/
#plan-intro {
  margin: 40px 0 50px; }
  #plan-intro p {
    font-size: 16px;
    line-height: 2; }

#plan-target {
  margin: 80px 0 60px; }
  #plan-target .d-flex {
    margin-bottom: 60px; }
    #plan-target .d-flex dl {
      position: relative;
      width: 47.2%;
      max-width: 510px;
      border: 1px solid #bebebe;
      border-radius: 30px;
      padding: 0 10px 40px; }
      #plan-target .d-flex dl dt {
        position: relative;
        width: 75%;
        font-size: 20px;
        font-weight: 500;
        color: #fff;
        background: #333;
        border-radius: 5px;
        text-align: center;
        margin: 0 auto 20px;
        top: -20px;
        padding: 15px 10px; }
      #plan-target .d-flex dl dd {
        max-width: 370px;
        width: 75%;
        margin: 0 auto; }
    #plan-target .d-flex + p {
      text-align: center;
      font-size: 18px;
      line-height: 1;
      letter-spacing: .1em; }
      #plan-target .d-flex + p span {
        position: relative; }
        #plan-target .d-flex + p span::before, #plan-target .d-flex + p span::after {
          content: "";
          display: inline-block;
          position: absolute;
          background: #333;
          height: 1px;
          top: 50%;
          width: 45px; }
        #plan-target .d-flex + p span::before {
          left: -90px; }
        #plan-target .d-flex + p span::after {
          right: -90px; }

#plan-contens .booking-box dt {
  line-height: 1.3;
  white-space: nowrap; }
#plan-contens .booking-box dd .chat-box {
  margin-top: 40px; }
  #plan-contens .booking-box dd .chat-box li {
    position: relative;
    background: #f49c21;
    border-radius: 15px;
    padding: 15px 10px;
    color: #fff;
    font-size: 15px;
    line-height: 1.6;
    width: 45%;
    margin-right: 10%; }
    #plan-contens .booking-box dd .chat-box li:last-child {
      margin-right: 0; }
    #plan-contens .booking-box dd .chat-box li::before {
      content: '';
      position: absolute;
      display: block;
      width: 0;
      height: 0;
      border-radius: 50%;
      transform: rotate(45deg);
      left: 20px;
      top: -15px;
      border-left: 20px solid #f49c21;
      border-top: 20px solid #f49c21;
      border-right: 20px solid transparent;
      border-bottom: 20px solid transparent; }
    #plan-contens .booking-box dd .chat-box li::after {
      content: '';
      position: absolute;
      display: block;
      width: 0;
      height: 0;
      border-radius: 50%;
      transform: rotate(45deg);
      left: 35px;
      top: -20px;
      border-left: 20px solid #fff;
      border-top: 20px solid #fff;
      border-right: 20px solid transparent;
      border-bottom: 20px solid transparent; }

@media screen and (max-width: 768px) {
  #plan-intro {
    margin: 0 0 6.66%; }
    #plan-intro p {
      font-size: 2.65vw; }

  #plan-target {
    margin: 10% 0; }
    #plan-target .d-flex {
      margin-bottom: 8%;
      flex-direction: column; }
      #plan-target .d-flex dl {
        width: 75%;
        max-width: inherit;
        border-radius: 3vw;
        padding: 0 2% 5%;
        margin: 0 auto 10%; }
        #plan-target .d-flex dl:last-child {
          margin-bottom: 0; }
        #plan-target .d-flex dl dt {
          width: 85%;
          font-size: 3vw;
          margin: 0 auto 4%;
          top: -3vw;
          padding: 3% 2%; }
        #plan-target .d-flex dl dd {
          max-width: inherit;
          width: 85%; }
      #plan-target .d-flex + p {
        font-size: 2.85vw; }
        #plan-target .d-flex + p span::before, #plan-target .d-flex + p span::after {
          width: 5vw; }
        #plan-target .d-flex + p span::before {
          left: -10vw; }
        #plan-target .d-flex + p span::after {
          right: -10vw; }

  #plan-contens .booking-box dt {
    white-space: inherit; }
  #plan-contens .booking-box dd .chat-box {
    margin-top: 6%; }
    #plan-contens .booking-box dd .chat-box li {
      border-radius: 2vw;
      padding: 4% 2%;
      font-size: 2.5vw;
      width: 49%;
      margin-right: 2%; }
      #plan-contens .booking-box dd .chat-box li br {
        display: none; }
      #plan-contens .booking-box dd .chat-box li:last-child {
        margin-right: 0; } }
@media screen and (max-width: 425px) {
  #plan-intro p {
    font-size: 3.75vw; }

  #plan-target .d-flex dl {
    width: 100%; }
    #plan-target .d-flex dl dt {
      width: 90%;
      font-size: 3.75vw;
      top: -4vw; }
    #plan-target .d-flex dl dd {
      max-width: inherit;
      width: 85%; }
  #plan-target .d-flex + p {
    font-size: 3.5vw; }

  #plan-contens .booking-box dd .chat-box li {
    font-size: 3.5vw; } }
#plan-price {
  margin-bottom: 80px; }
  #plan-price h3 + p {
    line-height: 2;
    font-size: 16px;
    margin-bottom: 50px; }
  #plan-price dl {
    position: relative;
    background: #f4f4f2;
    border-radius: 30px;
    padding: 50px; }
    #plan-price dl dt {
      font-size: 18px;
      font-weight: 500;
      margin-bottom: 30px; }
    #plan-price dl dd ul li {
      width: 23%;
      max-width: 225px;
      margin-right: 2%; }
      #plan-price dl dd ul li:nth-child(4n) {
        margin-right: 0; }
      #plan-price dl dd ul li figcaption {
        display: block;
        width: 100px;
        margin: 20px auto 0;
        font-size: 18px;
        background: #333;
        color: #fff;
        text-align: center;
        border-radius: 15px;
        padding: 5px; }
    #plan-price dl dd ul + p {
      line-height: 1;
      margin-top: 30px; }
    #plan-price dl:first-of-type {
      margin-bottom: 110px; }
      #plan-price dl:first-of-type::after {
        content: "";
        display: block;
        background: url("../img/plan/icon_plus.png") no-repeat left top/contain;
        width: 68px;
        height: 68px;
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -34px;
        margin-top: 20px; }
    #plan-price dl:last-of-type {
      margin-bottom: 100px; }
      #plan-price dl:last-of-type::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 30px 30px 0 30px;
        border-color: #333 transparent transparent transparent;
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -30px;
        margin-top: 30px; }
  #plan-price .price-ex p {
    font-size: 18px;
    font-weight: 500;
    width: 30%;
    margin-right: 6.5%; }
    #plan-price .price-ex p span {
      display: block;
      padding-bottom: 15px; }
  #plan-price .price-ex > div {
    width: 63.5%; }
    #plan-price .price-ex > div ul {
      margin-bottom: -15px; }
      #plan-price .price-ex > div ul li {
        font-size: 16px;
        margin-bottom: 15px; }

@media screen and (max-width: 768px) {
  #plan-price {
    margin-bottom: 10%; }
    #plan-price h3 + p {
      font-size: 2.65vw;
      margin-bottom: 6.66%; }
    #plan-price dl {
      border-radius: 3vw;
      padding: 4%; }
      #plan-price dl dt {
        font-size: 2.75vw;
        margin-bottom: 4%; }
      #plan-price dl dd ul {
        flex-wrap: wrap;
        margin-bottom: -4%; }
        #plan-price dl dd ul li {
          width: 48%;
          max-width: inherit;
          margin-right: 4%;
          margin-bottom: 4%; }
          #plan-price dl dd ul li:nth-child(4n) {
            margin-right: 4%; }
          #plan-price dl dd ul li:nth-child(2n) {
            margin-right: 0; }
          #plan-price dl dd ul li figcaption {
            margin: 5% auto 0;
            font-size: 2.75vw;
            border-radius: 3vw;
            padding: 2% 1vw; }
        #plan-price dl dd ul + p {
          margin-top: 4%;
          font-size: 2.65vw; }
      #plan-price dl:first-of-type {
        margin-bottom: 20vw; }
        #plan-price dl:first-of-type::after {
          width: 10vw;
          height: 10vw;
          margin-left: -5vw;
          margin-top: 5vw; }
      #plan-price dl:last-of-type {
        margin-bottom: 15vw; }
        #plan-price dl:last-of-type::after {
          border-width: 5vw 5vw 0 5vw;
          margin-left: -5vw;
          margin-top: 5vw; }
    #plan-price .price-ex {
      flex-direction: column; }
      #plan-price .price-ex p {
        font-size: 2.75vw;
        width: 100%;
        margin-right: 0;
        margin-bottom: 4%; }
        #plan-price .price-ex p span {
          padding-bottom: 3%; }
      #plan-price .price-ex > div {
        width: 100%; }
        #plan-price .price-ex > div ul {
          margin-bottom: -2.5%; }
          #plan-price .price-ex > div ul li {
            font-size: 2.65vw;
            margin-bottom: 2.5%; } }
@media screen and (max-width: 425px) {
  #plan-price h3 + p {
    font-size: 3.75vw; }
  #plan-price dl dt {
    font-size: 4vw; }
  #plan-price dl dd ul li figcaption {
    font-size: 3.75vw; }
  #plan-price dl dd ul + p {
    font-size: 3.75vw; }
  #plan-price .price-ex p {
    font-size: 4vw; }
  #plan-price .price-ex > div ul li {
    font-size: 3.75vw;
    line-height: 1.4; } }
#plan-type {
  margin-bottom: 80px; }
  #plan-type h3 + p {
    line-height: 2;
    margin-bottom: 40px; }
  #plan-type .type-img {
    align-items: center;
    margin-bottom: 50px; }
    #plan-type .type-img p {
      font-size: 18px;
      background: #f4f4f2;
      width: 28%;
      max-width: 300px;
      text-align: center;
      line-height: 1;
      padding: 30px 10px; }
    #plan-type .type-img figure {
      width: 36%;
      max-width: 392px;
      margin-left: 4.6%; }
  #plan-type .type-box {
    margin-bottom: 50px; }
    #plan-type .type-box dd .d-flex > div p {
      font-size: 16px;
      line-height: 2.2;
      letter-spacing: .1em;
      margin-bottom: 30px; }
      #plan-type .type-box dd .d-flex > div p:last-of-type {
        margin-bottom: 0; }
      #plan-type .type-box dd .d-flex > div p span {
        display: inline-block;
        background: #f4f4f2;
        padding: 10px;
        width: 105px;
        text-align: center;
        line-height: 1;
        margin: 5px 1em 5px 0; }
    #plan-type .type-box dd .d-flex figure {
      width: 150px;
      margin-right: 10%; }
    #plan-type .type-box dd .d-flex.reverse {
      margin-top: 30px; }
      #plan-type .type-box dd .d-flex.reverse figure {
        width: 170px;
        margin-left: inherit;
        margin-right: 30px; }
      #plan-type .type-box dd .d-flex.reverse > div {
        width: calc(100% - 200px); }

@media screen and (max-width: 768px) {
  #plan-type {
    margin-bottom: 10%; }
    #plan-type h3 + p {
      margin-bottom: 5%; }
    #plan-type .type-img {
      margin-bottom: 6.66%;
      flex-direction: column; }
      #plan-type .type-img p {
        font-size: 2.75vw;
        width: 100%;
        max-width: inherit;
        padding: 4% 2%;
        margin-bottom: 5%; }
      #plan-type .type-img figure {
        width: 70%;
        max-width: inherit;
        margin-left: 0; }
    #plan-type .type-box {
      margin-bottom: 8%; }
      #plan-type .type-box dd .d-flex > div p {
        font-size: 2.65vw;
        margin-bottom: 4%; }
        #plan-type .type-box dd .d-flex > div p:last-of-type {
          margin-bottom: 0; }
        #plan-type .type-box dd .d-flex > div p span {
          padding: 2% 4%;
          width: auto;
          margin: 5px 1em 5px 0; }
      #plan-type .type-box dd .d-flex figure {
        width: 25%;
        margin-right: 0;
        margin-left: 10%; }
      #plan-type .type-box dd .d-flex.reverse {
        margin-top: 4%; }
        #plan-type .type-box dd .d-flex.reverse figure {
          width: 30%;
          margin-right: 5%; }
        #plan-type .type-box dd .d-flex.reverse > div {
          width: 65%; } }
@media screen and (max-width: 425px) {
  #plan-type .type-img {
    margin-bottom: 14%; }
    #plan-type .type-img p {
      font-size: 3.75vw; }
    #plan-type .type-img figure {
      width: 85%; }
  #plan-type .type-box {
    margin-bottom: 10%; }
    #plan-type .type-box dd .d-flex {
      flex-direction: column; }
      #plan-type .type-box dd .d-flex > div {
        margin-top: 5%;
        order: 2; }
        #plan-type .type-box dd .d-flex > div p {
          font-size: 3.75vw; }
      #plan-type .type-box dd .d-flex figure {
        order: 1;
        width: 35%;
        margin: 0 auto !important; }
      #plan-type .type-box dd .d-flex.reverse {
        margin-top: 5%;
        flex-direction: column; }
        #plan-type .type-box dd .d-flex.reverse figure {
          width: 35%;
          margin: 0 auto !important; }
        #plan-type .type-box dd .d-flex.reverse > div {
          width: 100%;
          margin-top: 5%; } }
#plan-color {
  margin-bottom: 80px; }
  #plan-color h3 + p {
    line-height: 2;
    margin-bottom: 40px; }
  #plan-color .color-list {
    flex-wrap: wrap;
    margin-bottom: -2%; }
    #plan-color .color-list + p {
      margin: 40px 0 60px;
      font-size: 15px; }
    #plan-color .color-list li {
      width: 23%;
      margin-right: 2%;
      margin-bottom: 2%; }
      #plan-color .color-list li:nth-child(4n) {
        margin-right: 0; }
      #plan-color .color-list li a {
        display: block; }
      #plan-color .color-list li em {
        display: block;
        text-align: center;
        margin-top: 20px;
        font-size: 18px; }
      #plan-color .color-list li span {
        display: block;
        width: 100%;
        height: 180px;
        border-radius: 20px; }

.modal-box {
  max-width: 500px !important;
  min-height: 500px;
  width: 100%; }
  .modal-box span {
    display: block;
    width: 500px;
    height: 500px;
    border-radius: 30px; }
  .modal-box em {
    display: block;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    margin-top: 15px;
    text-align: center; }

.kp111 span {
  background: #f3e9d4; }

.kp110 span {
  background: #fbf5e4; }

.kp112 span {
  background: #f8f2de; }

.kp223 span {
  background: #e2e4d7; }

.kp310 span {
  background: #f9efd2; }

.kp121 span {
  background: #f0ebdd; }

.kp133 span {
  background: #d5d5c4; }

.kp221 span {
  background: #e8e6df; }

.kp120 span {
  background: #e0d6c1; }

.kp127 span {
  background: #eaddcb; }

.kp131 span {
  background: #d7d0ba; }

.kp80 span {
  background: #d1d4d2; }

.kp337 span {
  background: #e9d3b2; }

.kp336 span {
  background: #e3ceb5; }

.kp141 span {
  background: #c1bdaa; }

.kp247 span {
  background: #c9c5c1; }

.kp330 span {
  background: #e2cb92; }

.kp147 span {
  background: #cdc2b1; }

.kp350 span {
  background: #b8ac8e; }

.kp75 span {
  background: #bbbfbd; }

.kp347 span {
  background: #e2bc7d; }

.kp150 span {
  background: #bfbdb0; }

.kp352 span {
  background: #b9b792; }

.kp70 span {
  background: #acb1b0; }

.kp356 span {
  background: #d5a980; }

.kp357 span {
  background: #ceb999; }

.kp368 span {
  background: #769079; }

.kp50 span {
  background: #707876; }

.kp367 span {
  background: #bb955f; }

.kp167 span {
  background: #a69784; }

.kp376 span {
  background: #775f53; }

.kp379 span {
  background: #627781; }

.kp170 span {
  background: #71695d; }

.kp385 span {
  background: #542a1b; }

.kp185 span {
  background: #020000; }

.yane01 span {
  background: #7a3c27; }

.yane02 span {
  background: #491a14; }

.yane03 span {
  background: #312320; }

.yane04 span {
  background: #39352c; }

.yane05 span {
  background: #262825; }

.yane06 span {
  background: #25211e; }

.yane07 span {
  background: #21201c; }

.yane08 span {
  background: #232321; }

.yane09 span {
  background: #1d2621; }

.yane10 span {
  background: #505958; }

.yane11 span {
  background: #1b3617; }

.yane12 span {
  background: #27342a; }

.yane13 span {
  background: #2e3639; }

.yane14 span {
  background: #1b3a66; }

.yane15 span {
  background: #152032; }

.yane16 span {
  background: #262c2c; }

.yane17 span {
  background: #3d4a53; }

.yane18 span {
  background: #141517; }

.lity {
  background: rgba(0, 0, 0, 0.65) !important; }

.lity-content:after {
  -webkit-box-shadow: none !important;
  box-shadow: none !important; }

@media screen and (max-width: 768px) {
  #plan-color {
    margin-bottom: 10%; }
    #plan-color h3 + p {
      margin-bottom: 5%; }
    #plan-color .color-list {
      margin-bottom: -5%; }
      #plan-color .color-list + p {
        margin: 5% 0 10%;
        font-size: 2.65vw; }
      #plan-color .color-list li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 5%; }
        #plan-color .color-list li:nth-child(4n) {
          margin-right: 4%; }
        #plan-color .color-list li:nth-child(2n) {
          margin-right: 0; }
        #plan-color .color-list li em {
          margin-top: 3%;
          font-size: 2.75vw; }
        #plan-color .color-list li span {
          height: 30vw;
          border-radius: 2vw; }

  .modal-box {
    max-width: 100% !important;
    min-height: inherit;
    width: 90%;
    margin: 0 auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch; }
    .modal-box span {
      width: 65vw;
      height: 65vw;
      border-radius: 4vw;
      margin-left: -2.5%; }
    .modal-box em {
      font-size: 2.75vw;
      margin-top: 4%; } }
@media screen and (max-width: 425px) {
  #plan-color .color-list + p {
    font-size: 3.5vw; }
  #plan-color .color-list li em {
    font-size: 3.75vw; }

  .modal-box span {
    width: 80vw;
    height: 80vw;
    margin-left: -5.5%; }
  .modal-box em {
    font-size: 4vw; } }
#plan-appurtenant {
  margin-bottom: 80px; }
  #plan-appurtenant h3 + p {
    line-height: 2;
    margin-bottom: 40px; }
  #plan-appurtenant .appurtenant-list {
    flex-wrap: wrap;
    margin-bottom: -30px; }
    #plan-appurtenant .appurtenant-list li {
      width: 30.5%;
      max-width: 330px;
      margin-right: 4.25%;
      margin-bottom: 30px; }
      #plan-appurtenant .appurtenant-list li:nth-child(3n) {
        margin-right: 0; }
      #plan-appurtenant .appurtenant-list li span {
        display: block;
        font-size: 18px;
        background: #333;
        color: #fff;
        border-radius: 15px;
        margin: 20px auto 0;
        width: 100px;
        text-align: center;
        padding: 5px 10px; }
  #plan-appurtenant .note {
    margin-top: 50px; }
    #plan-appurtenant .note li {
      font-size: 16px;
      text-indent: -1em;
      margin-left: 1em;
      line-height: 1.8;
      margin-bottom: 10px; }
      #plan-appurtenant .note li:last-child {
        margin-bottom: 0; }

.caulking-box {
  margin-top: 60px; }
  .caulking-box > div {
    width: 65%; }
    .caulking-box > div p {
      font-size: 16px;
      line-height: 2; }
  .caulking-box figure {
    width: 30.5%;
    max-width: 330px; }

@media screen and (max-width: 768px) {
  #plan-appurtenant {
    margin-bottom: 10%; }
    #plan-appurtenant h3 + p {
      margin-bottom: 5%; }
    #plan-appurtenant .appurtenant-list {
      margin-bottom: -5%; }
      #plan-appurtenant .appurtenant-list li {
        width: 48%;
        max-width: inherit;
        margin-right: 4%;
        margin-bottom: 5%; }
        #plan-appurtenant .appurtenant-list li:nth-child(3n) {
          margin-right: 4%; }
        #plan-appurtenant .appurtenant-list li:nth-child(2n) {
          margin-right: 0; }
        #plan-appurtenant .appurtenant-list li span {
          font-size: 2.75vw;
          border-radius: 3vw;
          margin: 3.5% auto 0;
          width: 20vw;
          padding: 2.5% 2%; }
    #plan-appurtenant .note {
      margin-top: 6.66%; }
      #plan-appurtenant .note li {
        font-size: 2.65vw;
        margin-bottom: 2.5%; }
        #plan-appurtenant .note li br {
          display: none; }
        #plan-appurtenant .note li:last-child {
          margin-bottom: 0; }

  .caulking-box {
    margin-top: 10%;
    flex-direction: column; }
    .caulking-box > div {
      width: 100%;
      margin-bottom: 5%; }
      .caulking-box > div p {
        font-size: 2.65vw; }
    .caulking-box figure {
      width: 65%;
      max-width: inherit;
      margin: 0 auto; } }
@media screen and (max-width: 425px) {
  #plan-appurtenant .appurtenant-list li span {
    font-size: 3.75vw;
    width: 30vw; }
  #plan-appurtenant .note li {
    font-size: 3.5vw; }

  .caulking-box > div p {
    font-size: 3.75vw; }
  .caulking-box figure {
    width: 80%; } }
#plan-option .d-flex dl {
  width: 65%; }
  #plan-option .d-flex dl dd p {
    font-size: 16px;
    line-height: 2; }
    #plan-option .d-flex dl dd p span {
      display: inline-block;
      background: #f4f4f2;
      padding: 10px;
      width: 105px;
      text-align: center;
      line-height: 1;
      margin: 0 1em 25px 0; }
#plan-option .d-flex figure {
  width: 30.5%;
  max-width: 330px; }

@media screen and (max-width: 768px) {
  #plan-option .d-flex {
    flex-direction: column; }
    #plan-option .d-flex dl {
      width: 100%;
      margin-bottom: 6.66%; }
      #plan-option .d-flex dl dd p {
        font-size: 2.65vw; }
        #plan-option .d-flex dl dd p span {
          padding: 2% 2%;
          width: 20vw;
          margin: 0 1em 3.5% 0; }
    #plan-option .d-flex figure {
      width: 65%;
      max-width: inherit;
      margin: 0 auto; } }
@media screen and (max-width: 425px) {
  #plan-option .d-flex dl dd p {
    font-size: 3.75vw; }
    #plan-option .d-flex dl dd p span {
      width: 30vw; }
  #plan-option .d-flex figure {
    width: 80%; } }
/*===== SERVICE FLOW =====*/
.service-flow_intro {
  margin: 20px 0 50px; }
  .service-flow_intro p {
    font-size: 16px;
    line-height: 2; }

.service-flow_box {
  margin-bottom: 50px; }

.accordion-header {
  position: relative;
  font-size: 30px;
  cursor: pointer;
  padding-right: 60px;
  margin-bottom: 0; }
  .accordion-header::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 40px;
    width: 16px;
    height: 16px;
    margin-top: -13px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transition: .3s; }
  .accordion-header.open::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: -8px; }

.accordion-inner {
  display: none;
  padding-top: 30px; }

.service-flow_column figure {
  width: 30.5%; }
.service-flow_column > div {
  width: 65%; }
  .service-flow_column > div p {
    line-height: 2;
    margin-bottom: 30px; }
    .service-flow_column > div p:last-of-type {
      margin-bottom: 0; }

.service-flow_comment {
  background: #f4f4f2;
  border-radius: 15px;
  padding: 40px 30px;
  margin-top: 30px; }
  .service-flow_comment p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 25px; }
    .service-flow_comment p:last-child {
      margin-bottom: 0; }

.service-flow_photo {
  flex-wrap: wrap;
  margin-bottom: -30px; }
  .service-flow_photo li {
    width: 30.5%;
    max-width: 330px;
    margin-right: 4.25%;
    margin-bottom: 30px; }
    .service-flow_photo li:nth-child(3n) {
      margin-right: 0; }
  .service-flow_photo + .youtube {
    margin-top: 40px; }

.service-flow_txt {
  margin-top: 30px; }
  .service-flow_txt p {
    font-size: 16px;
    line-height: 2; }

@media screen and (max-width: 768px) {
  .service-flow_intro {
    margin: 0 0 6.66%; }
    .service-flow_intro p {
      font-size: 2.65vw; }

  .service-flow_box {
    margin-bottom: 6.66%; }

  .accordion-header {
    font-size: 4vw;
    padding-right: 10%; }
    .accordion-header::after {
      right: 5%;
      width: 2.4vw;
      height: 2.4vw;
      margin-top: -1.6vw; }
    .accordion-header.open::after {
      margin-top: -.8vw; }

  .accordion-inner {
    padding-top: 4%; }

  .service-flow_column {
    flex-direction: column; }
    .service-flow_column figure {
      width: 65%;
      margin: 0 auto 5%; }
    .service-flow_column > div {
      width: 100%; }
      .service-flow_column > div p {
        font-size: 2.65vw;
        margin-bottom: 4%; }
        .service-flow_column > div p:last-of-type {
          margin-bottom: 0; }

  .service-flow_comment {
    border-radius: 2vw;
    padding: 4%;
    margin-top: 4%; }
    .service-flow_comment p {
      font-size: 2.5vw;
      margin-bottom: 4%; }
      .service-flow_comment p:last-child {
        margin-bottom: 0; }

  .service-flow_photo {
    margin-bottom: -4%; }
    .service-flow_photo li {
      max-width: inherit;
      margin-bottom: 4%; }
      .service-flow_photo li:nth-child(3n) {
        margin-right: 0; }
    .service-flow_photo + .youtube {
      margin-top: 5%; }

  .service-flow_txt {
    margin-top: 4%; }
    .service-flow_txt p {
      font-size: 2.65vw; } }
@media screen and (max-width: 425px) {
  .service-flow_intro p {
    font-size: 3.75vw; }

  .accordion-header {
    font-size: 5vw; }

  .service-flow_column figure {
    width: 80%; }
  .service-flow_column > div p {
    font-size: 3.75vw; }

  .service-flow_comment p {
    font-size: 3.5vw; }

  .service-flow_txt p {
    font-size: 3.75vw; } }
/*===== AFTER SERVICE =====*/
#after-service_check h2 + p {
  font-size: 16px;
  margin-bottom: 40px;
  line-height: 2; }
#after-service_check .dl_page {
  margin-bottom: 50px; }
  #after-service_check .dl_page dd p {
    font-size: 16px;
    line-height: 2; }
    #after-service_check .dl_page dd p span {
      display: inline-block;
      background: #f4f4f2;
      padding: 10px;
      width: 105px;
      text-align: center;
      line-height: 1;
      margin: 0 1em 25px 0; }
  #after-service_check .dl_page dd figure {
    width: 47.222%;
    margin: 0 auto; }
#after-service_check .check-box {
  margin-bottom: 70px; }
  #after-service_check .check-box p {
    line-height: 2;
    margin-bottom: 40px; }
    #after-service_check .check-box p:last-child {
      margin-bottom: 0; }
#after-service_check #regular-check {
  margin-top: 80px;
  padding: 80px 0;
  background: #f6f2ef; }
  #after-service_check #regular-check .ttl_page-h4 {
    background: #fff; }
  #after-service_check #regular-check p {
    margin-bottom: 40px;
    line-height: 2; }
    #after-service_check #regular-check p:last-of-type {
      margin-bottom: 0; }

.other-service {
  width: 100%;
  max-width: 400px; }
  .other-service li {
    width: 25%; }
    .other-service li figure {
      display: flex;
      align-items: center;
      margin: 0 auto 20px;
      height: 60px; }
    .other-service li span {
      display: block;
      font-size: 18px;
      text-align: center; }
    .other-service li:nth-child(1) figure {
      width: 40px; }
    .other-service li:nth-child(2) figure {
      width: 76px; }
    .other-service li:nth-child(3) figure {
      width: 59px; }

#after-service_support {
  margin-top: 80px; }
  #after-service_support h2 + p {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 50px; }
  #after-service_support .support-img {
    width: 100%;
    max-width: 657px;
    margin: 0 auto 80px; }
  #after-service_support .support-box p {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 30px; }
    #after-service_support .support-box p:last-of-type {
      margin-bottom: 0; }
    #after-service_support .support-box p a {
      color: #25a0bf;
      text-decoration: underline; }
      #after-service_support .support-box p a:hover {
        text-decoration: none; }

@media screen and (max-width: 768px) {
  #after-service_check h2 + p {
    font-size: 2.65vw;
    margin-bottom: 5%; }
  #after-service_check .dl_page {
    margin-bottom: 8%; }
    #after-service_check .dl_page dd p {
      font-size: 2.65vw; }
      #after-service_check .dl_page dd p span {
        padding: 2.5% 2%;
        width: 20vw;
        margin: 0 1em 3.5% 0; }
    #after-service_check .dl_page dd figure {
      width: 65%;
      margin: 0 auto; }
  #after-service_check .check-box {
    margin-bottom: 10%; }
    #after-service_check .check-box p {
      margin-bottom: 5%; }
      #after-service_check .check-box p:last-child {
        margin-bottom: 0; }
  #after-service_check #regular-check {
    margin-top: 10%;
    padding: 10% 0; }
    #after-service_check #regular-check p {
      margin-bottom: 10%; }

  .other-service {
    max-width: inherit; }
    .other-service li {
      width: 25%; }
      .other-service li figure {
        margin: 0 auto 4%;
        height: 15vw; }
      .other-service li span {
        font-size: 2.75vw; }
      .other-service li:nth-child(1) figure {
        width: 6vw; }
      .other-service li:nth-child(2) figure {
        width: 9.6vw; }
      .other-service li:nth-child(3) figure {
        width: 7.9vw; }

  #after-service_support {
    margin-top: 10%; }
    #after-service_support h2 + p {
      font-size: 2.65vw;
      margin-bottom: 6.66%; }
    #after-service_support .support-img {
      width: 65%;
      max-width: inherit;
      margin: 0 auto 10%; }
    #after-service_support .support-box p {
      font-size: 2.65vw;
      margin-bottom: 4%; }
      #after-service_support .support-box p:last-of-type {
        margin-bottom: 0; } }
@media screen and (max-width: 425px) {
  #after-service_check h2 + p {
    font-size: 3.75vw; }
  #after-service_check .dl_page dd p {
    font-size: 3.75vw; }
    #after-service_check .dl_page dd p span {
      width: 30vw; }
  #after-service_check .dl_page dd figure {
    width: 80%; }

  .other-service li figure {
    height: 20vw; }
  .other-service li span {
    font-size: 3.75vw; }
  .other-service li:nth-child(1) figure {
    width: 8vw; }
  .other-service li:nth-child(2) figure {
    width: 11.6vw; }
  .other-service li:nth-child(3) figure {
    width: 9.9vw; }

  #after-service_support h2 + p {
    font-size: 3.75vw; }
  #after-service_support .support-img {
    width: 80%; }
  #after-service_support .support-box p {
    font-size: 3.75vw; } }
/*===== RECRUIT =====*/
#recruit-outline_contents {
  margin-top: 30px; }
  #recruit-outline_contents > .ttl_page-h2 {
    letter-spacing: .1em; }
  #recruit-outline_contents .recruit-outline_intro {
    margin-bottom: 60px; }
    #recruit-outline_contents .recruit-outline_intro p {
      font-size: 16px;
      line-height: 2;
      margin-bottom: 30px; }
      #recruit-outline_contents .recruit-outline_intro p:last-of-type {
        margin-bottom: 0; }
    #recruit-outline_contents .recruit-outline_intro figure {
      text-align: center;
      margin-bottom: 40px; }
  #recruit-outline_contents #recruit-target h4 {
    margin-bottom: 25px; }
  #recruit-outline_contents #recruit-target p {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 50px; }

/* tab */
.tab_item {
  position: relative;
  width: 47.5%;
  height: 70px;
  border: 1px solid #bebebe;
  line-height: 70px;
  font-size: 18px;
  display: block;
  float: left;
  text-align: center;
  font-weight: 700;
  transition: all 0.2s ease;
  margin-right: 5%;
  border-radius: 3px; }
  .tab_item:nth-of-type(2) {
    margin-right: 0; }

input[name="tab_item"] {
  display: none; }

.tab_content {
  display: none;
  padding: 40px 10px 0;
  clear: both;
  overflow: hidden; }

#job1:checked ~ #job1_content,
#job2:checked ~ #job2_content {
  display: block; }

.tabs input:checked + .tab_item {
  background-color: #f49c21;
  color: #fff;
  border: 1px solid #f49c21; }
  .tabs input:checked + .tab_item::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 8px 0 8px;
    border-color: #f49c21 transparent transparent transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -8px;
    margin-top: 1px;
    transition: .4s; }

.tab_content table caption {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 25px; }
.tab_content table p {
  position: relative;
  top: -3px;
  line-height: 1.8;
  margin-bottom: 25px; }
  .tab_content table p span {
    font-weight: 700; }
  .tab_content table p:last-of-type {
    margin-bottom: 0; }

.tabs + .btn-wh {
  margin: 40px auto 80px; }

@media screen and (max-width: 768px) {
  #recruit-outline_contents {
    margin-top: 0; }
    #recruit-outline_contents > .ttl_page-h2 br {
      display: none; }
    #recruit-outline_contents .recruit-outline_intro {
      margin-bottom: 8%; }
      #recruit-outline_contents .recruit-outline_intro p {
        font-size: 2.65vw;
        margin-bottom: 4%; }
        #recruit-outline_contents .recruit-outline_intro p:last-of-type {
          margin-bottom: 0; }
      #recruit-outline_contents .recruit-outline_intro figure {
        margin-bottom: 5%; }
    #recruit-outline_contents #recruit-target h4 {
      margin-bottom: 4%; }
    #recruit-outline_contents #recruit-target p {
      font-size: 2.65vw;
      margin-bottom: 6.66%; }

  /* tab */
  .tab_item {
    height: 10vw;
    line-height: 10vw;
    font-size: 3vw; }

  .tab_content {
    padding: 5% 0 0; }

  .tabs input:checked + .tab_item::after {
    border-width: 2vw 2vw 0 2vw;
    margin-left: -2vw; }

  .tab_content table caption {
    font-size: 2.75vw;
    margin-bottom: 4%; }
  .tab_content table th, .tab_content table td {
    display: block; }
  .tab_content table th {
    width: 100%;
    font-size: 2.75vw; }
  .tab_content table p {
    top: inherit;
    margin-bottom: 4%; }
    .tab_content table p:last-of-type {
      margin-bottom: 0; }

  .tabs + .btn-wh {
    width: 85%;
    margin: 5% auto 10%; } }
@media screen and (max-width: 425px) {
  #recruit-outline_contents .recruit-outline_intro p {
    font-size: 3.75vw; }
  #recruit-outline_contents #recruit-target p {
    font-size: 3.75vw; }

  /* tab */
  .tab_item {
    height: 12vw;
    line-height: 12vw;
    font-size: 4vw; }

  .tab_content table caption {
    font-size: 3.75vw; }
  .tab_content table th {
    font-size: 3.75vw; }

  .tabs + .btn-wh {
    width: 100%; } }
#recruit-form th {
  text-align: left;
  vertical-align: middle;
  padding: 20px; }
#recruit-form .required {
  background: #d23927;
  padding: 2px 10px;
  margin-right: 10px;
  font-size: 11px;
  border-radius: 15px;
  color: #fff; }
#recruit-form select {
  border: 1px solid #333;
  border-radius: 10px;
  padding: 10px;
  width: 200px;
  height: 50px; }
#recruit-form .input70 input {
  width: 70%; }
#recruit-form .note {
  display: block;
  font-size: 14px;
  margin-top: 15px; }
#recruit-form .form-year .input20 {
  width: 20%; }
#recruit-form .form-year li:nth-child(2n) {
  margin: 0 10px; }
#recruit-form .form-address input:first-of-type {
  width: 20%; }
#recruit-form .form-address .note {
  display: inline;
  margin-left: 1em; }
#recruit-form .form-address input:last-of-type {
  margin-top: 20px; }
#recruit-form .policy-check {
  margin-bottom: 50px; }
  #recruit-form .policy-check > p:first-of-type {
    margin-bottom: 25px;
    line-height: 1.8; }
  #recruit-form .policy-check .policy-box {
    position: relative;
    border: 1px solid #ccc;
    padding: 30px 20px;
    height: 300px;
    background: #fff;
    margin-bottom: 25px; }
    #recruit-form .policy-check .policy-box .ttl_page-h3 {
      font-size: 21px;
      margin-bottom: 40px; }
    #recruit-form .policy-check .policy-box .ttl_page-h4 {
      font-size: 19px;
      margin-bottom: 20px; }
    #recruit-form .policy-check .policy-box .policy-sec {
      margin-bottom: 40px; }
      #recruit-form .policy-check .policy-box .policy-sec p {
        padding: 0 1em;
        line-height: 1.8; }
    #recruit-form .policy-check .policy-box a {
      color: #25a0bf; }
  #recruit-form .policy-check .simplebar-scrollbar:before {
    background: #f49c21 !important; }
  #recruit-form .policy-check .simplebar-scrollbar.simplebar-visible:before {
    opacity: 1 !important; }
  #recruit-form .policy-check .simplebar-track.simplebar-horizontal {
    display: none; }
  #recruit-form .policy-check #contact-agreement {
    text-align: center; }
    #recruit-form .policy-check #contact-agreement .policy-checkbox {
      font-size: 18px;
      margin-top: 5px; }
      #recruit-form .policy-check #contact-agreement .policy-checkbox .mwform-checkbox-field-text {
        margin-left: .5em; }
      #recruit-form .policy-check #contact-agreement .policy-checkbox input[type="checkbox"] {
        width: 1.8em;
        height: 1.8em;
        border-radius: 4px;
        position: relative;
        top: .5em; }

@media screen and (max-width: 768px) {
  #recruit-form th, #recruit-form td {
    display: block;
    padding: 4%; }
  #recruit-form th {
    width: 100%;
    font-size: 3vw; }
  #recruit-form input {
    height: 10vw; }
  #recruit-form .required {
    padding: 2px 2%;
    margin-right: 1em;
    font-size: 2.35vw;
    border-radius: 2vw; }
  #recruit-form select {
    border-radius: 1.2vw;
    padding: 3% 4%;
    width: 40%;
    height: 10vw; }
  #recruit-form .note {
    font-size: 2.5vw;
    margin-top: 2.5%;
    line-height: 1.4; }
  #recruit-form .form-year .input20 {
    width: 25%; }
  #recruit-form .form-year li:nth-child(2n) {
    margin: 0 4%;
    font-size: 2.65vw; }
  #recruit-form .form-address input:first-of-type {
    width: 35%; }
  #recruit-form .form-address .note {
    display: block;
    margin-left: 0;
    margin-top: 1em; }
  #recruit-form .form-address input:last-of-type {
    margin-top: 4%; }
  #recruit-form .policy-check {
    margin-bottom: 8%; }
    #recruit-form .policy-check > p:first-of-type {
      margin-bottom: 4%;
      font-size: 2.65vw; }
    #recruit-form .policy-check .policy-box {
      padding: 4%;
      height: 30vw;
      margin-bottom: 4%; }
      #recruit-form .policy-check .policy-box .ttl_page-h3 {
        font-size: 3vw;
        line-height: 1.4;
        margin-bottom: 4%; }
      #recruit-form .policy-check .policy-box .ttl_page-h4 {
        font-size: 2.85vw;
        margin-bottom: 3%;
        line-height: 1.4; }
      #recruit-form .policy-check .policy-box .policy-sec {
        margin-bottom: 6.66%; }
        #recruit-form .policy-check .policy-box .policy-sec p {
          font-size: 2.65vw;
          padding: 0; }
      #recruit-form .policy-check .policy-box th, #recruit-form .policy-check .policy-box td {
        font-size: 2.65vw; }
    #recruit-form .policy-check #contact-agreement .policy-checkbox {
      font-size: 2.75vw;
      margin-top: 2.5%; }
      #recruit-form .policy-check #contact-agreement .policy-checkbox input[type="checkbox"] {
        position: relative;
        border: 2px solid #333;
        outline: none;
        margin-right: 1vw;
        vertical-align: middle;
        background: #fff;
        padding: 1vw;
        top: -2px; }
      #recruit-form .policy-check #contact-agreement .policy-checkbox input[type="checkbox"]:checked {
        background: #fff; }
      #recruit-form .policy-check #contact-agreement .policy-checkbox input[type="checkbox"]:checked:before {
        position: absolute;
        left: 50%;
        top: 50%;
        display: block;
        margin: -1vw 0 0 -1vw;
        content: "";
        border-radius: 50%;
        width: 2vw;
        height: 2vw;
        background: -webkit-gradient(linear, left top, left bottom, from(#f49c21), to(#f49c21)); } }
@media screen and (max-width: 425px) {
  #recruit-form th {
    font-size: 4vw; }
  #recruit-form input {
    height: 12vw; }
  #recruit-form .required {
    padding: 2px 4%;
    font-size: 3.35vw; }
  #recruit-form select {
    width: 45%; }
  #recruit-form .note {
    font-size: 3.5vw; }
  #recruit-form .form-year li:nth-child(2n) {
    font-size: 3.5vw; }
  #recruit-form .policy-check > p:first-of-type {
    font-size: 3.65vw; }
  #recruit-form .policy-check .policy-box {
    height: 40vw; }
    #recruit-form .policy-check .policy-box .ttl_page-h3 {
      font-size: 4vw; }
    #recruit-form .policy-check .policy-box .ttl_page-h4 {
      font-size: 3.85vw; }
    #recruit-form .policy-check .policy-box .policy-sec p {
      font-size: 3.65vw; }
    #recruit-form .policy-check .policy-box th, #recruit-form .policy-check .policy-box td {
      font-size: 3.65vw; }
  #recruit-form .policy-check #contact-agreement .policy-checkbox {
    font-size: 3.75vw; }
    #recruit-form .policy-check #contact-agreement .policy-checkbox input[type="checkbox"]:checked:before {
      margin: -1.5vw 0 0 -1.5vw;
      width: 3vw;
      height: 3vw; } }
/*===== GUIDE =====*/
.page_intro-ttl {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  letter-spacing: .1em;
  margin-bottom: 40px;
  margin-top: 40px; }
  .page_intro-ttl em {
    position: relative;
    display: block;
    font-size: 25px;
    margin-bottom: 30px;
    letter-spacing: .05em; }
    .page_intro-ttl em span {
      position: relative; }
      .page_intro-ttl em span::before, .page_intro-ttl em span::after {
        content: "";
        display: block;
        background: url("../img/about/bg_accent.png") no-repeat left top/contain;
        width: 34px;
        height: 58px;
        position: absolute;
        right: -70px;
        top: -10px; }
      .page_intro-ttl em span::after {
        right: inherit;
        left: -80px;
        transform: scale(-1, 1); }

#guide-point_nav {
  background: #dbf1ff;
  padding: 60px 0; }
  #guide-point_nav ul {
    width: 100%;
    max-width: 960px;
    margin: 0 auto -40px;
    flex-wrap: wrap; }
    #guide-point_nav ul li {
      width: 29%;
      margin-right: 6.5%;
      margin-bottom: 40px; }
      #guide-point_nav ul li:nth-child(3n) {
        margin-right: 0; }
      #guide-point_nav ul li a {
        position: relative;
        display: block;
        background: #fff;
        border-radius: 50%;
        max-width: 280px;
        height: 280px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
        transition: .3s; }
        #guide-point_nav ul li a em {
          position: relative;
          color: #80d7ed;
          font-size: 40px;
          font-weight: bold;
          margin-bottom: 15px; }
        #guide-point_nav ul li a span {
          font-size: 28px;
          line-height: 1.3;
          margin-bottom: 5px; }
        #guide-point_nav ul li a::after {
          display: block;
          content: "";
          position: absolute;
          top: 100%;
          left: 50%;
          margin-left: -5px;
          margin-top: -30px;
          width: 10px;
          height: 10px;
          border-top: solid 2px #80d7ed;
          border-right: solid 2px #80d7ed;
          -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
          transition: .3s; }
        #guide-point_nav ul li a:hover {
          color: #80d7ed; }
          #guide-point_nav ul li a:hover::after {
            margin-top: -25px; }

@media screen and (max-width: 768px) {
  .page_intro-ttl {
    font-size: 4.5vw;
    margin-bottom: 6.66%;
    margin-top: 4%; }
    .page_intro-ttl em {
      font-size: 3.75vw;
      margin-bottom: 4%; }
      .page_intro-ttl em span {
        position: relative; }
        .page_intro-ttl em span::before, .page_intro-ttl em span::after {
          width: 4.6vw;
          height: 7.8vw;
          right: -9vw;
          top: -1vw; }
        .page_intro-ttl em span::after {
          left: -9vw; }

  #guide-point_nav {
    padding: 8% 0; }
    #guide-point_nav ul {
      margin: 0 auto -5%;
      justify-content: center; }
      #guide-point_nav ul li {
        width: 27.5vw;
        margin-right: 5%;
        margin-bottom: 5%; }
        #guide-point_nav ul li:nth-child(3n) {
          margin-right: 0; }
        #guide-point_nav ul li a {
          max-width: inherit;
          height: 27.5vw;
          font-size: 2.5vw;
          transition: none; }
          #guide-point_nav ul li a em {
            font-size: 5vw;
            margin-bottom: 2%; }
          #guide-point_nav ul li a span {
            font-size: 3vw;
            margin-bottom: 2%; }
          #guide-point_nav ul li a::after {
            margin-left: -.7vw;
            margin-top: -5vw;
            width: 1.4vw;
            height: 1.4vw;
            transition: none; }
          #guide-point_nav ul li a:hover::after {
            margin-top: -5vw; } }
@media screen and (max-width: 425px) {
  .page_intro-ttl {
    font-size: 5.75vw; }
    .page_intro-ttl em {
      font-size: 4.75vw; }

  #guide-point_nav ul {
    margin: 0 auto -5%;
    justify-content: center; }
    #guide-point_nav ul li {
      width: 40vw; }
      #guide-point_nav ul li:nth-child(3n) {
        margin-right: 5%; }
      #guide-point_nav ul li:nth-child(2n) {
        margin-right: 0; }
      #guide-point_nav ul li a {
        height: 40vw;
        font-size: 3.5vw; }
        #guide-point_nav ul li a em {
          font-size: 6.5vw; }
        #guide-point_nav ul li a span {
          font-size: 4vw; }
        #guide-point_nav ul li a::after {
          margin-left: -1vw;
          width: 2vw;
          height: 2vw; } }
.guide-point_box {
  margin-bottom: 100px; }
  .guide-point_box .ttl_page-h2 + p {
    font-size: 20px;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 50px; }

/* guide-point01 */
#point-flow {
  margin-bottom: 60px; }
  #point-flow li {
    position: relative;
    width: 22%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border: 3px solid #000;
    border-radius: 15px;
    padding: 20px 10px;
    text-align: center;
    height: 200px; }
    #point-flow li em {
      font-size: 30px;
      font-weight: bold;
      margin-bottom: 10px;
      color: #f49c21; }
    #point-flow li span {
      font-size: 20px;
      font-weight: 500;
      line-height: 1.4; }
    #point-flow li::after {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      margin-top: -10px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px 0 20px 20px;
      border-color: transparent transparent transparent #d9cdc2;
      right: -35px; }
    #point-flow li:last-child::after {
      display: none; }

#point01-sec1 {
  align-items: center; }
  #point01-sec1 figure {
    width: 30%;
    margin-right: 5%; }
    #point01-sec1 figure figcaption {
      font-size: 16px;
      font-weight: bold;
      text-align: center;
      margin-bottom: 10px; }
  #point01-sec1 > div {
    width: 65%; }
    #point01-sec1 > div p {
      font-size: 18px;
      line-height: 1.8;
      margin-bottom: 30px; }
      #point01-sec1 > div p span {
        font-weight: bold; }

@media screen and (max-width: 768px) {
  .guide-point_box {
    margin-bottom: 12%; }
    .guide-point_box .ttl_page-h2 + p {
      font-size: 3vw;
      margin-bottom: 6.66%; }

  #point-flow {
    margin-bottom: 8%;
    flex-direction: column; }
    #point-flow li {
      width: 100%;
      border-radius: 2vw;
      padding: 3% 2%;
      height: auto;
      margin-bottom: 15%; }
      #point-flow li em {
        font-size: 4.5vw;
        margin-bottom: 2%; }
      #point-flow li span {
        font-size: 3.25vw; }
      #point-flow li::after {
        top: 100%;
        margin-top: 5%;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5vw 14vw 0 14vw;
        border-color: #d9cdc2 transparent transparent transparent;
        right: inherit;
        left: 50%;
        margin-left: -14vw; }
      #point-flow li:last-child {
        margin-bottom: 0; }
      #point-flow li:last-child::after {
        display: none; }

  #point01-sec1 {
    flex-direction: column; }
    #point01-sec1 figure {
      width: 65%;
      margin: 0 auto 5%; }
      #point01-sec1 figure figcaption {
        font-size: 3vw;
        margin-bottom: 2%; }
    #point01-sec1 > div {
      width: 100%; }
      #point01-sec1 > div p {
        font-size: 2.65vw;
        margin-bottom: 4%; } }
@media screen and (max-width: 425px) {
  .guide-point_box .ttl_page-h2 + p {
    font-size: 3.75vw;
    text-align: left; }
    .guide-point_box .ttl_page-h2 + p br {
      display: none; }

  #point-flow li em {
    font-size: 6vw; }
  #point-flow li span {
    font-size: 4.75vw; }

  #point01-sec1 figure {
    width: 80%; }
    #point01-sec1 figure figcaption {
      font-size: 4vw; }
  #point01-sec1 > div p {
    font-size: 3.75vw; } }
/* guide-point02 */
.price-ex {
  padding: 0 60px 0 40px;
  transition-delay: 1s; }
  .price-ex > div:first-child {
    width: 57%;
    max-width: 560px; }
    .price-ex > div:first-child h3 {
      position: relative;
      display: inline-block;
      font-size: 36px;
      font-weight: bold;
      letter-spacing: .2em;
      margin-bottom: 40px; }
      .price-ex > div:first-child h3::before, .price-ex > div:first-child h3::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: 100%;
        background: #333;
        z-index: 10; }
      .price-ex > div:first-child h3::before {
        width: 270px;
        height: 2px;
        margin-left: 30px; }
      .price-ex > div:first-child h3::after {
        border-radius: 50%;
        width: 14px;
        height: 14px;
        margin-top: -7px;
        margin-left: 300px; }
    .price-ex > div:first-child dl dt {
      background: #333;
      width: 100px;
      text-align: center;
      color: #fff;
      font-size: 16px;
      padding: 5px;
      margin-bottom: 20px; }
    .price-ex > div:first-child dl dd ul {
      border-bottom: 1px dotted #333;
      padding: 15px 0;
      align-items: center; }
      .price-ex > div:first-child dl dd ul:first-child {
        border-top: 1px dotted #333; }
      .price-ex > div:first-child dl dd ul li {
        font-size: 16px;
        line-height: 1.25; }
        .price-ex > div:first-child dl dd ul li:first-child {
          position: relative;
          width: 100px;
          margin-right: 30px; }
          .price-ex > div:first-child dl dd ul li:first-child::after {
            content: "";
            display: block;
            background: #333;
            width: 10px;
            height: 2px;
            position: absolute;
            top: 50%;
            margin-top: -1px;
            right: -10px; }
        .price-ex > div:first-child dl dd ul li:last-child {
          width: calc(100% - 130px); }
        .price-ex > div:first-child dl dd ul li em {
          color: #d23927;
          font-size: 20px; }
  .price-ex > div:last-child {
    width: 30%;
    max-width: 290px; }

#point02-sec2_1 {
  width: 80%;
  border: 2px solid #333;
  border-radius: 10px;
  padding: 20px 10px;
  text-align: center;
  margin: 40px auto 80px; }
  #point02-sec2_1 p {
    font-size: 20px;
    font-weight: bold; }
  #point02-sec2_1 span {
    color: #d23927;
    font-size: 30px;
    margin-left: 1em; }

.point02-secret_box {
  margin-bottom: 60px; }
  .point02-secret_box h4 {
    margin-bottom: 20px; }
  .point02-secret_box p {
    font-size: 18px;
    line-height: 2;
    padding: 0 1em; }

@media screen and (max-width: 768px) {
  .price-ex {
    padding: 0; }
    .price-ex > div:first-child {
      width: 52%;
      max-width: inherit; }
      .price-ex > div:first-child h3 {
        font-size: 4.5vw;
        margin-bottom: 6.66%; }
        .price-ex > div:first-child h3::before {
          width: 16vw;
          margin-left: 2vw; }
        .price-ex > div:first-child h3::after {
          width: 2vw;
          height: 2vw;
          margin-top: -1vw;
          margin-left: 18vw; }
      .price-ex > div:first-child dl dt {
        width: 25vw;
        font-size: 2.75vw;
        margin-bottom: 4%; }
      .price-ex > div:first-child dl dd ul {
        padding: 4% 0;
        flex-direction: column; }
        .price-ex > div:first-child dl dd ul li {
          font-size: 2.75vw; }
          .price-ex > div:first-child dl dd ul li:first-child {
            width: 100%;
            margin-right: 0;
            margin-bottom: 2.5%; }
            .price-ex > div:first-child dl dd ul li:first-child::after {
              display: none; }
          .price-ex > div:first-child dl dd ul li:last-child {
            width: 100%;
            line-height: 1.4; }
          .price-ex > div:first-child dl dd ul li em {
            font-size: 3.5vw; }
    .price-ex > div:last-child {
      width: 48%; }

  #point02-sec2_1 {
    width: 100%;
    border-radius: 2vw;
    padding: 3% 2%;
    margin: 6.66% auto 10%; }
    #point02-sec2_1 p {
      font-size: 3.25vw; }
    #point02-sec2_1 span {
      font-size: 4.5vw; }

  .point02-secret_box {
    margin-bottom: 8%; }
    .point02-secret_box h4 {
      margin-bottom: 3.5%; }
    .point02-secret_box p {
      font-size: 2.65vw;
      padding: 0; } }
@media screen and (max-width: 425px) {
  .price-ex {
    flex-direction: column; }
    .price-ex > div:first-child {
      width: 100%; }
      .price-ex > div:first-child h3 {
        display: block;
        text-align: center;
        font-size: 5.5vw;
        margin-bottom: 20%; }
        .price-ex > div:first-child h3::before, .price-ex > div:first-child h3::after {
          top: 100%;
          left: 50%; }
        .price-ex > div:first-child h3::before {
          width: 2px;
          height: 10vw;
          margin-left: -1px;
          margin-top: 3vw; }
        .price-ex > div:first-child h3::after {
          width: 3vw;
          height: 3vw;
          margin-top: 13vw;
          margin-left: -1.5vw; }
        .price-ex > div:first-child h3 + figure {
          width: 60%;
          margin: 0 auto 8%; }
      .price-ex > div:first-child dl dt {
        width: 100%;
        font-size: 4.5vw; }
      .price-ex > div:first-child dl dd ul {
        padding: 5% 0;
        flex-direction: column; }
        .price-ex > div:first-child dl dd ul li {
          font-size: 3.75vw; }
          .price-ex > div:first-child dl dd ul li em {
            font-size: 4.5vw; }
    .price-ex > div:last-child {
      display: none; }

  #point02-sec2_1 p {
    font-size: 4.5vw; }
  #point02-sec2_1 span {
    display: block;
    margin-left: 0;
    margin-top: 1.5%;
    font-size: 5.75vw; }

  .point02-secret_box p {
    font-size: 3.75vw; }
    .point02-secret_box p br {
      display: none; } }
/* guide-point03 */
#guide-point03 ul, #guide-point04 ul {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 40px; }
  #guide-point03 ul li, #guide-point04 ul li {
    width: 47.5%; }
#guide-point03 p, #guide-point04 p {
  font-size: 18px;
  text-align: center;
  line-height: 1.8;
  margin-bottom: 30px; }

@media screen and (max-width: 768px) {
  #guide-point03 ul, #guide-point04 ul {
    margin: 0 auto 5%; }
  #guide-point03 p, #guide-point04 p {
    font-size: 2.65vw;
    margin-bottom: 4%; }
    #guide-point03 p br, #guide-point04 p br {
      display: none; } }
@media screen and (max-width: 425px) {
  #guide-point03 p, #guide-point04 p {
    font-size: 3.75vw;
    text-align: left; } }
/* guide-point04 */
#guide-point04 .btn-wh, #guide-point05 .btn-wh {
  width: 480px;
  margin: 60px auto 0; }

@media screen and (max-width: 768px) {
  #guide-point04 .btn-wh, #guide-point05 .btn-wh {
    width: 80%;
    margin: 8% auto 0; } }
@media screen and (max-width: 425px) {
  #guide-point04 .btn-wh, #guide-point05 .btn-wh {
    width: 100%; }
    #guide-point04 .btn-wh a::after, #guide-point04 .btn-wh a::before, #guide-point05 .btn-wh a::after, #guide-point05 .btn-wh a::before {
      display: none; } }
/* guide-point05 */
#guide-point05 ul {
  width: 100%;
  max-width: 940px;
  margin: 0 auto 60px; }
  #guide-point05 ul li {
    width: 30%;
    max-width: 280px; }
    #guide-point05 ul li figcaption {
      font-size: 16px;
      text-align: center;
      margin-bottom: 15px; }
  #guide-point05 ul + p {
    font-size: 18px;
    line-height: 1.8; }

@media screen and (max-width: 768px) {
  #guide-point05 ul {
    margin: 0 auto 6.66%; }
    #guide-point05 ul li figcaption {
      font-size: 2.5vw;
      margin-bottom: 0;
      letter-spacing: -.025em;
      height: 10vw;
      line-height: 1.4; }
    #guide-point05 ul + p {
      font-size: 2.65vw; } }
@media screen and (max-width: 425px) {
  #guide-point05 ul li figcaption {
    font-size: 3.25vw;
    height: 12vw; }
  #guide-point05 ul + p {
    font-size: 3.75vw; } }
/* #guide-point06 */
#guide-point06 #pay-image {
  justify-content: center;
  align-items: center;
  margin-bottom: 40px; }
  #guide-point06 #pay-image li {
    margin-right: 100px; }
    #guide-point06 #pay-image li:last-child {
      margin-right: 0; }
    #guide-point06 #pay-image li img {
      display: block;
      height: 75px; }
    #guide-point06 #pay-image li:last-child img {
      height: 50px; }
#guide-point06 dl {
  margin-bottom: 40px; }
  #guide-point06 dl:last-of-type {
    margin-bottom: 0; }
  #guide-point06 dl dd p span {
    display: inline-block;
    background: #f8f8f8;
    padding: 5px 20px;
    margin-bottom: 10px; }
  #guide-point06 dl dd .card {
    width: 306px;
    margin-top: 20px; }

@media screen and (max-width: 768px) {
  #guide-point06 #pay-image {
    margin-bottom: 8%; }
    #guide-point06 #pay-image li {
      margin-right: 10vw; }
      #guide-point06 #pay-image li:last-child {
        margin-right: 0; }
      #guide-point06 #pay-image li img {
        height: 9vw; }
      #guide-point06 #pay-image li:last-child img {
        height: 7vw; }
  #guide-point06 dl {
    margin-bottom: 10%; }
    #guide-point06 dl:last-of-type {
      margin-bottom: 0; }
    #guide-point06 dl dd p {
      font-size: 2.65vw; }
      #guide-point06 dl dd p span {
        padding: 5px 3%;
        margin-bottom: 2.5%; }
    #guide-point06 dl dd .card {
      width: 65%;
      margin-top: 4%; } }
@media screen and (max-width: 425px) {
  #guide-point06 #pay-image li img {
    height: 11vw; }
  #guide-point06 #pay-image li:last-child img {
    height: 9vw; }
  #guide-point06 dl dd p {
    font-size: 3.65vw; }
    #guide-point06 dl dd p span {
      display: block;
      text-align: center; }
    #guide-point06 dl dd p br {
      display: none; }
  #guide-point06 dl dd .card {
    width: 70%; } }
.booking-box {
  border: 2px solid #c0b4ac;
  border-radius: 30px;
  padding: 50px;
  margin-top: 80px;
  margin-bottom: 70px; }
  .booking-box > div:first-child {
    width: 50%; }
    .booking-box > div:first-child dl dt {
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 20px;
      letter-spacing: .1em; }
      .booking-box > div:first-child dl dt i {
        width: 36px;
        margin-right: 20px; }
      .booking-box > div:first-child dl dt span {
        width: calc(100% - 56px); }
    .booking-box > div:first-child dl dd {
      padding-left: 60px; }
      .booking-box > div:first-child dl dd p {
        font-size: 16px;
        line-height: 2;
        letter-spacing: .1em;
        margin-bottom: 25px; }
        .booking-box > div:first-child dl dd p:last-child {
          margin-bottom: 0; }
        .booking-box > div:first-child dl dd p .check-txt {
          display: block;
          position: relative;
          font-weight: bold;
          text-decoration: underline; }
          .booking-box > div:first-child dl dd p .check-txt::before {
            content: "";
            display: inline-block;
            position: relative;
            background: url("../img/online-consultation/icon_check.png") no-repeat left top/contain;
            width: 17px;
            height: 17px;
            top: 3px;
            margin-right: .5em; }
          .booking-box > div:first-child dl dd p .check-txt:first-of-type {
            margin-top: 10px; }
          .booking-box > div:first-child dl dd p .check-txt:last-of-type {
            margin-bottom: 10px; }
  .booking-box > div:last-child {
    width: 40%;
    max-width: 400px;
    margin-right: 2.5%; }
    .booking-box > div:last-child p {
      margin-top: 30px;
      font-size: 18px;
      text-align: center; }
    .booking-box > div:last-child .booking-txt_btntop {
      font-size: 15px;
      margin: 0;
      margin-bottom: 20px;
      text-align: left; }

@media screen and (max-width: 768px) {
  .booking-box {
    width: 95%;
    border-radius: 3vw;
    padding: 4%;

    margin: 10% auto;
    flex-direction: column; }
    .booking-box > div:first-child {
      width: 100%; }
      .booking-box > div:first-child dl dt {
        font-size: 3.5vw;
        margin-bottom: 4%; }
        .booking-box > div:first-child dl dt i {
          width: 8vw;
          margin-right: 4vw; }
        .booking-box > div:first-child dl dt span {
          width: calc(100% - 12vw); }
      .booking-box > div:first-child dl dd {
        padding-left: 0; }
        .booking-box > div:first-child dl dd p {
          font-size: 2.65vw;
          margin-bottom: 3.5%; }
          .booking-box > div:first-child dl dd p:last-child {
            margin-bottom: 0; }
          .booking-box > div:first-child dl dd p .check-txt::before {
            width: 2.5vw;
            height: 2.5vw;
            top: .5vw; }
          .booking-box > div:first-child dl dd p .check-txt:first-of-type {
            margin-top: 2%; }
          .booking-box > div:first-child dl dd p .check-txt:last-of-type {
            margin-bottom: 2%; }
          .booking-box > div:first-child dl dd p br {
            display: none; }
    .booking-box > div:last-child {
      margin-top: 6.66%;
      width: 100%;
      max-width: inherit;
      margin-right: 0; }
      .booking-box > div:last-child .btn-wh {
        width: 85%; }
      .booking-box > div:last-child p {
        margin-top: 4%;
        font-size: 2.75vw; }
      .booking-box > div:last-child .booking-txt_btntop {
        font-size: 2.65vw;
        margin-bottom: 4%; } }
@media screen and (max-width: 425px) {
  .booking-box > div:first-child dl dt {
    font-size: 4.25vw;
    line-height: 1.3; }
  .booking-box > div:first-child dl dd p {
    font-size: 3.75vw; }
    .booking-box > div:first-child dl dd p .check-txt::before {
      width: 3.5vw;
      height: 3.5vw; }
  .booking-box > div:last-child .btn-wh {
    width: 100%; }
    .booking-box > div:last-child .btn-wh a {
      font-size: 4.35vw; }
  .booking-box > div:last-child p, .booking-box > div:last-child .booking-txt_btntop {
    font-size: 3.75vw; } }
.guide-flow_box {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto 40px; }
  .guide-flow_box .flow-num {
    position: relative;
    width: 50px;
    margin-right: 60px; }
    .guide-flow_box .flow-num::before, .guide-flow_box .flow-num::after {
      content: "";
      display: block; }
    .guide-flow_box .flow-num::before {
      position: absolute;
      width: 4px;
      height: calc(100% - 60px);
      border-left: 5px dotted #bebebe;
      left: 50%;
      margin-left: -2px;
      top: 60px; }
    .guide-flow_box .flow-num::after {
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -6px;
      width: 12px;
      height: 12px;
      border-top: solid 3px #bebebe;
      border-right: solid 3px #bebebe;
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg); }
    .guide-flow_box .flow-num em {
      display: block;
      width: 50px;
      height: 50px;
      line-height: 50px;
      text-align: center;
      color: #fff;
      background: #f49c21;
      border-radius: 50%;
      font-size: 36px;
      font-weight: 500;
      font-family: "Roboto", sans-serif; }
  .guide-flow_box .flow-box {
    width: 100%;
    max-width: 850px;
    border-bottom: 1px solid #bebebe;
    padding-bottom: 40px;
    padding-top: 10px; }
    .guide-flow_box .flow-box dl dt {
      font-size: 24px;
      font-weight: bold; }
      .guide-flow_box .flow-box dl dt img {
        display: block;
        margin-top: 40px; }
        .guide-flow_box .flow-box dl dt img.guide-dt_img {
          max-width: 330px; }
    .guide-flow_box .flow-box dl .plan-check {
      justify-content: center;
      margin-top: 60px;
      padding-bottom: 60px; }
      .guide-flow_box .flow-box dl .plan-check p {
        text-align: center;
        font-size: 24px;
        font-weight: 500;
        line-height: 1;
        margin-right: 60px; }
        .guide-flow_box .flow-box dl .plan-check p:last-child {
          margin-right: 0; }
        .guide-flow_box .flow-box dl .plan-check p span {
          display: inline-block;
          background: #333;
          color: #fff;
          font-size: 16px;
          font-weight: 500;
          padding: 2px 10px;
          margin-right: 1em;
          border-radius: 12px;
          width: 100px;
          text-align: center; }
          .guide-flow_box .flow-box dl .plan-check p span em {
            font-family: "Roboto", sans-serif;
            font-size: 21px; }
        .guide-flow_box .flow-box dl .plan-check p strong {
          display: block;
          text-align: center;
          color: #d23927;
          font-size: 36px;
          font-weight: bold;
          margin-top: 20px;
          letter-spacing: .05em; }
    .guide-flow_box .flow-box.d-flex dl {
      width: 54%;
      margin-right: 7%; }
      .guide-flow_box .flow-box.d-flex dl dt {
        letter-spacing: .1em;
        margin-bottom: 40px; }
        .guide-flow_box .flow-box.d-flex dl dt.line-height-16 {
          line-height: 1.6; }
      .guide-flow_box .flow-box.d-flex dl .flow-txt {
        font-size: 16px;
        line-height: 2;
        margin-bottom: 30px; }
        .guide-flow_box .flow-box.d-flex dl .flow-txt:last-child {
          margin-bottom: 0; }
      .guide-flow_box .flow-box.d-flex dl dd figure {
        width: 40%;
        margin-right: 5%; }
        .guide-flow_box .flow-box.d-flex dl dd figure:last-child {
          margin-right: 0; }
    .guide-flow_box .flow-box.d-flex figure {
      width: 39%;
      max-width: 330px; }
      .guide-flow_box .flow-box.d-flex figure img {
        display: block;
        margin-bottom: 20px; }
        .guide-flow_box .flow-box.d-flex figure img:last-child {
          margin-bottom: 0; }
    .guide-flow_box .flow-box.d-flex.col-1 dl {
      width: 100%;
      margin-right: 0; }
  .guide-flow_box:last-of-type .flow-num::before, .guide-flow_box:last-of-type .flow-num::after {
    display: none; }
  .guide-flow_box:last-of-type .flow-box {
    border-bottom: none; }
  .guide-flow_box + .note {
    width: 88.5%;
    max-width: 850px;
    margin-left: auto;
    margin-right: 60px;
    margin-top: -40px;
    margin-bottom: 80px;
    padding-top: 30px;
    font-size: 16px;
    line-height: 2;
    border-top: 1px solid #bebebe; }

#page-guide .ttl_page-h4.d-flex span:last-child {
  font-size: 16px; }

.guide-flow_box02 {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto 40px; }
  .guide-flow_box02 > div {
    width: 56.25%; }
    .guide-flow_box02 > div p {
      font-size: 16px;
      line-height: 2;
      margin-bottom: 30px; }
      .guide-flow_box02 > div p:last-of-type {
        margin-bottom: 0; }
  .guide-flow_box02 figure {
    width: 39%;
    max-width: 330px; }

#guide02 {
  margin-top: 80px;
  background: #f6f2ef;
  padding: 80px 0 40px; }
  #guide02 .ttl_page-h4 {
    background: #fff; }

#guide03 {
  padding: 80px 0; }
  #guide03 h3 + p {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 30px; }
  #guide03 dl {
    margin-bottom: 40px; }
    #guide03 dl:last-of-type {
      margin-bottom: 0; }
    #guide03 dl dd p span {
      display: inline-block;
      background: #f8f8f8;
      padding: 5px 20px;
      margin-bottom: 10px; }
    #guide03 dl dd .card {
      width: 306px;
      margin-top: 20px; }

#guide04 h3 + p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 30px; }

@media screen and (max-width: 768px) {
  .guide-flow_box {
    max-width: 100%;
    margin: 0 auto 5%; }
    .guide-flow_box .flow-num {
      width: 8vw;
      margin-right: 5%; }
      .guide-flow_box .flow-num::before {
        height: calc(100% - 10vw);
        top: 10vw; }
      .guide-flow_box .flow-num::after {
        margin-left: -1.2vw;
        width: 2vw;
        height: 2vw; }
      .guide-flow_box .flow-num em {
        width: 8vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 5vw; }
    .guide-flow_box .flow-box {
      max-width: inherit;
      padding-bottom: 5%;
      padding-top: 2vw; }
      .guide-flow_box .flow-box dl dt {
        font-size: 3.25vw; }
        .guide-flow_box .flow-box dl dt img {
          margin-top: 5%; }
          .guide-flow_box .flow-box dl dt img.guide-dt_img {
            max-width: inherit;
            width: 65%;
            margin: 5% auto 0; }
      .guide-flow_box .flow-box dl .plan-check {
        margin-top: 8%;
        padding-bottom: 4%;
        justify-content: space-between; }
        .guide-flow_box .flow-box dl .plan-check p {
          font-size: 3.25vw;
          margin-right: 8%;
          width: 45%; }
          .guide-flow_box .flow-box dl .plan-check p:last-child {
            margin-right: 0; }
          .guide-flow_box .flow-box dl .plan-check p span {
            font-size: 2.75vw;
            padding: 5px 2%;
            border-radius: 2vw;
            width: 85%;
            display: block;
            margin: 0 auto;
            margin-bottom: 4%; }
            .guide-flow_box .flow-box dl .plan-check p span em {
              font-size: 3vw; }
          .guide-flow_box .flow-box dl .plan-check p strong {
            font-size: 5vw;
            margin-top: 5%; }
      .guide-flow_box .flow-box.d-flex {
        flex-direction: column; }
        .guide-flow_box .flow-box.d-flex dl {
          width: 100%;
          margin-right: 0;
          margin-bottom: 5%; }
          .guide-flow_box .flow-box.d-flex dl dt {
            margin-bottom: 5%; }
          .guide-flow_box .flow-box.d-flex dl .flow-txt {
            font-size: 2.65vw;
            margin-bottom: 4%; }
            .guide-flow_box .flow-box.d-flex dl .flow-txt:last-child {
              margin-bottom: 0; }
          .guide-flow_box .flow-box.d-flex dl dd figure {
            margin: inherit; }
        .guide-flow_box .flow-box.d-flex figure {
          width: 65%;
          max-width: inherit;
          margin: 0 auto; }
          .guide-flow_box .flow-box.d-flex figure img {
            margin-bottom: 3%; }
            .guide-flow_box .flow-box.d-flex figure img:last-child {
              margin-bottom: 0; }
    .guide-flow_box + .note {
      width: 100%;
      max-width: 100%;
      margin-right: 0;
      margin-top: -4%;
      margin-bottom: 10%;
      padding-top: 4%;
      font-size: 2.65vw; }

  #page-guide .ttl_page-h4.d-flex {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start; }
    #page-guide .ttl_page-h4.d-flex span:last-child {
      font-size: 2.65vw;
      display: block;
      margin-top: 2.5%; }

  .guide-flow_box02 {
    max-width: 100%;
    margin: 0 auto 5%;
    flex-direction: column; }
    .guide-flow_box02 > div {
      width: 100%;
      margin-bottom: 5%; }
      .guide-flow_box02 > div p {
        font-size: 2.65vw;
        margin-bottom: 4%; }
        .guide-flow_box02 > div p br {
          display: none; }
        .guide-flow_box02 > div p:last-of-type {
          margin-bottom: 0; }
    .guide-flow_box02 figure {
      width: 60%;
      max-width: inherit;
      margin: 0 auto; }

  #guide02 {
    margin-top: 12%;
    padding: 10% 0 5%; }

  #guide03 {
    padding: 10% 4%; }
    #guide03 h3 + p {
      font-size: 2.65vw;
      margin-bottom: 5%; }
    #guide03 dl {
      margin-bottom: 10%; }
      #guide03 dl:last-of-type {
        margin-bottom: 0; }
      #guide03 dl dd p {
        font-size: 2.65vw; }
        #guide03 dl dd p span {
          padding: 5px 3%;
          margin-bottom: 2.5%; }
      #guide03 dl dd .card {
        width: 65%;
        margin-top: 4%; }

  #guide04 h3 + p {
    font-size: 2.65vw;
    margin-bottom: 5%; }
  #guide04 .btn-wh {
    width: 85%; } }
@media screen and (max-width: 425px) {
  .guide-flow_box .flow-box {
    padding-top: 2vw; }
    .guide-flow_box .flow-box dl dt {
      font-size: 4.25vw; }
      .guide-flow_box .flow-box dl dt img.guide-dt_img {
        width: 85%; }
    .guide-flow_box .flow-box dl .plan-check p {
      font-size: 4.25vw;
      margin-right: 4%;
      width: 48%; }
      .guide-flow_box .flow-box dl .plan-check p:last-child {
        margin-right: 0; }
      .guide-flow_box .flow-box dl .plan-check p span {
        font-size: 3.75vw;
        border-radius: 3vw;
        width: 85%; }
        .guide-flow_box .flow-box dl .plan-check p span em {
          font-size: 4vw; }
      .guide-flow_box .flow-box dl .plan-check p strong {
        font-size: 6.25vw; }
    .guide-flow_box .flow-box.d-flex dl dt.line-height-16 {
      position: relative;
      top: -.75vw;
      line-height: 1.4; }
      .guide-flow_box .flow-box.d-flex dl dt.line-height-16 br {
        display: none; }
    .guide-flow_box .flow-box.d-flex dl .flow-txt {
      font-size: 3.75vw; }
      .guide-flow_box .flow-box.d-flex dl .flow-txt br {
        display: none; }
    .guide-flow_box .flow-box.d-flex dl dd figure {
      width: 45%;
      margin-right: 5%; }
      .guide-flow_box .flow-box.d-flex dl dd figure:last-child {
        margin-right: 0; }
    .guide-flow_box .flow-box.d-flex figure {
      width: 85%; }
  .guide-flow_box + .note {
    font-size: 3.5vw; }

  #page-guide .ttl_page-h4.d-flex span:last-child {
    font-size: 3.5vw;
    line-height: 1.4; }

  .guide-flow_box02 > div p {
    font-size: 3.65vw; }
  .guide-flow_box02 figure {
    width: 80%; }

  #guide03 h3 + p {
    font-size: 3.65vw; }
    #guide03 h3 + p br {
      display: none; }
  #guide03 dl dd p {
    font-size: 3.65vw; }
    #guide03 dl dd p span {
      display: block;
      text-align: center; }
    #guide03 dl dd p br {
      display: none; }
  #guide03 dl dd .card {
    width: 70%; }

  #guide04 h3 + p {
    font-size: 3.65vw; }
  #guide04 .btn-wh {
    width: 100%; } }
/*===== PRIVACY POLICY =====*/
.privacy-intro {
  font-size: 16px;
  margin: 40px 0 50px;
  line-height: 2; }

.privacy-box {
  margin-bottom: 60px;
  border-bottom: 1px solid #bfbfbf;
  padding-bottom: 40px; }
  .privacy-box:last-of-type {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0; }
  .privacy-box h2 {
    margin-bottom: 40px; }
  .privacy-box p {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 30px; }
    .privacy-box p:last-of-type {
      margin-bottom: 0; }
    .privacy-box p + ul {
      margin-top: 30px; }
      .privacy-box p + ul + p {
        margin-top: 50px; }
    .privacy-box p + table {
      margin-top: 30px; }

@media screen and (max-width: 768px) {
  .privacy-intro {
    font-size: 2.65vw;
    margin: 0 0 8%; }

  .privacy-box {
    margin-bottom: 8%;
    padding-bottom: 6.66%; }
    .privacy-box:last-of-type {
      padding-bottom: 0;
      margin-bottom: 0; }
    .privacy-box h2 {
      margin-bottom: 5%; }
    .privacy-box p {
      font-size: 2.65vw;
      margin-bottom: 4%; }
      .privacy-box p:last-of-type {
        margin-bottom: 0; }
      .privacy-box p + ul {
        margin-top: 4%; }
        .privacy-box p + ul + p {
          margin-top: 6.66%; }
      .privacy-box p + table {
        margin-top: 4%; } }
@media screen and (max-width: 425px) {
  .privacy-intro {
    font-size: 3.75vw; }

  .privacy-box p {
    font-size: 3.75vw; } }
/*===== ONLINE CONSULTATION =====*/
#online-consultation_intro {
  padding-top: 60px; }
  #online-consultation_intro .inner p:first-child {
    position: relative;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    margin-bottom: 25px;
    letter-spacing: .1em; }
    #online-consultation_intro .inner p:first-child > span {
      position: relative; }
      #online-consultation_intro .inner p:first-child > span em {
        font-family: "Roboto", sans-serif;
        font-size: 60px;
        color: #f49c21; }
      #online-consultation_intro .inner p:first-child > span span {
        color: #f49c21; }
      #online-consultation_intro .inner p:first-child > span::before, #online-consultation_intro .inner p:first-child > span::after {
        content: "";
        display: block;
        background: url("../img/online-consultation/bg_accent.png") no-repeat left top/contain;
        width: 44px;
        height: 68px;
        position: absolute;
        top: 50%;
        margin-top: -34px;
        right: -60px; }
      #online-consultation_intro .inner p:first-child > span::before {
        transform: scale(-1, 1);
        right: inherit;
        left: -70px; }
  #online-consultation_intro .inner p:last-child {
    text-align: center;
    font-size: 21px;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1; }
  #online-consultation_intro .inner2 {
    position: relative;
    background: #dbf1ff;
    padding: 80px 0 70px;
    margin: 70px 0; }
    #online-consultation_intro .inner2::after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 40px 30px 0 30px;
      border-color: #fff transparent transparent transparent;
      position: absolute;
      left: 50%;
      margin-left: -30px;
      top: 0; }
    #online-consultation_intro .inner2 p {
      font-size: 24px;
      font-weight: bold;
      text-align: center;
      line-height: 2; }
      #online-consultation_intro .inner2 p strong {
        display: inline-block;
        color: #fff;
        background: #80d7ed;
        padding: 10px;
        margin-right: 10px;
        font-size: 30px;
        font-weight: bold;
        line-height: 1; }

@media screen and (max-width: 768px) {
  #online-consultation_intro {
    padding-top: 0; }
    #online-consultation_intro .inner p:first-child {
      font-size: 5vw;
      margin-bottom: 4%; }
      #online-consultation_intro .inner p:first-child > span em {
        font-size: 8.5vw; }
      #online-consultation_intro .inner p:first-child > span::before, #online-consultation_intro .inner p:first-child > span::after {
        width: 5.7vw;
        height: 8.8vw;
        margin-top: -4.4vw;
        right: -8vw; }
      #online-consultation_intro .inner p:first-child > span::before {
        left: -9vw; }
    #online-consultation_intro .inner p:last-child {
      font-size: 3vw; }
    #online-consultation_intro .inner2 {
      padding: 10% 0 8%;
      margin: 10% 0; }
      #online-consultation_intro .inner2::after {
        border-width: 6vw 4.5vw 0 4.5vw;
        margin-left: -4.5vw; }
      #online-consultation_intro .inner2 p {
        font-size: 3.25vw; }
        #online-consultation_intro .inner2 p strong {
          padding: 1vw;
          margin-right: 0;
          font-size: 4vw; } }
@media screen and (max-width: 425px) {
  #online-consultation_intro .inner p:first-child {
    font-size: 5.75vw; }
    #online-consultation_intro .inner p:first-child > span em {
      font-size: 10vw; }
    #online-consultation_intro .inner p:first-child > span::before, #online-consultation_intro .inner p:first-child > span::after {
      width: 6.3vw;
      height: 9.8vw;
      margin-top: -4.9vw;
      right: -8vw; }
    #online-consultation_intro .inner p:first-child > span::before {
      left: -9vw; }
  #online-consultation_intro .inner p:last-child {
    font-size: 3.75vw; }
  #online-consultation_intro .inner2 p {
    font-size: 4vw; }
    #online-consultation_intro .inner2 p strong {
      font-size: 5vw; } }
.online-consultation_box {
  position: relative;
  margin-bottom: 70px; }
  .online-consultation_box h2 + p {
    margin-bottom: 30px;
    line-height: 2; }

.online-consultation_image {
  position: relative;
  width: 100%;
  max-width: 915px;
  margin: 0 auto; }
  .online-consultation_image dt {
    color: #fff;
    text-align: center;
    background: #333;
    border-radius: 30px;
    padding: 15px 10px;
    width: 300px;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 30px; }
  .online-consultation_image dd img {
    display: block;
    width: auto;
    margin: 0 auto; }

#online-consultation_image-sp {
  position: relative;
  max-width: 540px;
  margin: 0;
  margin-left: auto;
  margin-right: 40px;
  margin-top: -140px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end; }

#online-consultation_image-sp dt {
  position: relative;
  top: -20px;
  margin-right: 40px; }

#online-consultation_image-sp dd {
  max-width: 200px; }

#online-consultation_sec03 {
  margin: 70px auto; }
  #online-consultation_sec03 ul {
    margin-bottom: 40px; }
    #online-consultation_sec03 ul li {
      padding-top: 40px;
      position: relative;
      width: 30.5%;
      max-width: 330px;
      text-align: center;
      border-bottom: 1px dotted #333;
      font-size: 17px;
      padding-bottom: 20px; }
      #online-consultation_sec03 ul li::before {
        content: "";
        display: block;
        background: url("../img/online-consultation/icon_check.png") no-repeat left top/contain;
        width: 18px;
        height: 18px;
        position: absolute;
        left: 50%;
        top: 0;
        margin-left: -9px; }
    #online-consultation_sec03 ul + p {
      font-size: 16px;
      line-height: 2; }

@media screen and (max-width: 768px) {
  .online-consultation_box {
    margin-bottom: 10%; }
    .online-consultation_box h2 + p {
      font-size: 2.65vw;
      margin-bottom: 4%; }

  .online-consultation_image {
    max-width: 100%; }
    .online-consultation_image dt {
      border-radius: 4vw;
      padding: 2.5% 1vw;
      width: 50%;
      font-size: 2.75vw;
      margin-bottom: 4%; }
    .online-consultation_image dd img {
      width: 100%; }

  #online-consultation_image-sp {
    max-width: inherit;
    width: 70%;
    margin-left: inherit;
    margin-right: 0;
    margin-top: 0;
    margin: 8% auto 0;
    flex-direction: column;
    align-items: center;
    justify-content: center; }

  #online-consultation_image-sp dt {
    top: inherit;
    margin-right: 0;
    margin-bottom: 4%;
    width: 70%;
    padding: 4% 1vw; }

  #online-consultation_image-sp dd {
    max-width: inherit;
    width: 50%;
    margin: 0 auto; }

  #online-consultation_sec03 {
    margin: 10% auto; }
    #online-consultation_sec03 ul {
      margin-bottom: 0;
      flex-direction: column; }
      #online-consultation_sec03 ul li {
        padding-top: 6%;
        width: 100%;
        max-width: inherit;
        font-size: 2.75vw;
        padding-bottom: 4%;
        margin-bottom: 6%; }
        #online-consultation_sec03 ul li::before {
          width: 3.2vw;
          height: 3.2vw;
          margin-left: -1.6vw; }
      #online-consultation_sec03 ul + p {
        font-size: 2.65vw; } }
@media screen and (max-width: 425px) {
  .online-consultation_box h2 + p {
    font-size: 3.75vw;
    margin-bottom: 6.66%; }

  .online-consultation_image dt {
    width: 65%;
    font-size: 3.75vw; }

  #online-consultation_image-sp {
    width: 100%; }

  #online-consultation_image-sp dt {
    border-radius: 5vw;
    padding: 3% 1vw; }

  #online-consultation_sec03 ul li {
    padding-top: 7.5%;
    font-size: 3.75vw; }
    #online-consultation_sec03 ul li::before {
      width: 4vw;
      height: 4vw;
      margin-left: -2vw; }
  #online-consultation_sec03 ul + p {
    font-size: 3.65vw; } }
#online-consultation_sec04 .sec04-1 {
  margin-bottom: 70px; }
  #online-consultation_sec04 .sec04-1 dl {
    width: 30.5%;
    max-width: 330px; }
    #online-consultation_sec04 .sec04-1 dl dt {
      color: #fff;
      font-size: 20px;
      font-weight: 500;
      background: #f49c21;
      border-radius: 5px;
      padding: 10px;
      margin-bottom: 20px;
      text-align: center; }
    #online-consultation_sec04 .sec04-1 dl dd figure {
      height: 100px;
      margin-bottom: 20px;
      display: flex;
      align-items: center; }
      #online-consultation_sec04 .sec04-1 dl dd figure img {
        display: block;
        width: 106px;
        margin: 0 auto; }
    #online-consultation_sec04 .sec04-1 dl dd p {
      font-size: 16px;
      line-height: 2; }
    #online-consultation_sec04 .sec04-1 dl:nth-child(2) img {
      width: 234px; }
    #online-consultation_sec04 .sec04-1 dl:nth-child(3) img {
      width: 110px; }
#online-consultation_sec04 .sec04-2 p {
  width: 100%;
  max-width: 840px;
  position: relative;
  font-size: 18px;
  text-align: center;
  border: 1px solid #bebebe;
  border-radius: 20px;
  padding: 40px 10px;
  margin: 0 auto 70px; }
  #online-consultation_sec04 .sec04-2 p::before, #online-consultation_sec04 .sec04-2 p::after {
    content: "";
    display: block; }
  #online-consultation_sec04 .sec04-2 p::before {
    position: absolute;
    width: 4px;
    height: calc(100% - 70px);
    border-left: 5px dotted #bebebe;
    left: 50%;
    margin-left: -2px;
    top: 100%;
    margin-top: 10px; }
  #online-consultation_sec04 .sec04-2 p::after {
    position: absolute;
    top: 100%;
    margin-top: 45px;
    left: 50%;
    margin-left: -6px;
    width: 12px;
    height: 12px;
    border-top: solid 3px #bebebe;
    border-right: solid 3px #bebebe;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg); }
  #online-consultation_sec04 .sec04-2 p:last-child::before, #online-consultation_sec04 .sec04-2 p:last-child::after {
    display: none; }
#online-consultation_sec04 .sec04-3 {
  background: #f6f2ef;
  padding: 80px 0;
  margin-bottom: 70px; }
  #online-consultation_sec04 .sec04-3 dl {
    width: 30.5%;
    max-width: 330px;
    background: #fff;
    border-radius: 50%;
    height: 330px;
    display: flex;
    flex-direction: column;
    padding-top: 90px; }
    #online-consultation_sec04 .sec04-3 dl dt {
      color: #fff;
      background: #333;
      border-radius: 30px;
      font-size: 18px;
      font-weight: 500;
      text-align: center;
      padding: 15px 10px;
      width: 70%;
      margin: 0 auto 25px; }
    #online-consultation_sec04 .sec04-3 dl dd p {
      font-size: 21px;
      font-weight: 500;
      text-align: center;
      line-height: 2; }
      #online-consultation_sec04 .sec04-3 dl dd p em {
        font-family: "Roboto", sans-serif;
        font-size: 36px;
        font-weight: bold; }
      #online-consultation_sec04 .sec04-3 dl dd p span {
        display: block;
        font-size: 16px;
        font-weight: normal;
        margin-top: 15px;
        line-height: 1.4; }
    #online-consultation_sec04 .sec04-3 dl:nth-child(2) p, #online-consultation_sec04 .sec04-3 dl:nth-child(3) p {
      line-height: 1.6; }
  #online-consultation_sec04 .sec04-3 .btn-wh {
    max-width: 480px;
    margin: 70px auto 0; }
    #online-consultation_sec04 .sec04-3 .btn-wh a {
      font-size: 20px;
      padding: 30px 10px;
      border-radius: 40px;
      box-shadow: 0 5px 0px 0 #bd740f; }
      #online-consultation_sec04 .sec04-3 .btn-wh a:hover {
        background: #f49c21;
        color: #fff !important;
        opacity: .7; }
    #online-consultation_sec04 .sec04-3 .btn-wh a::before, #online-consultation_sec04 .sec04-3 .btn-wh a::after {
      display: none; }

@media screen and (max-width: 768px) {
  #online-consultation_sec04 .sec04-1 {
    margin-bottom: 10%;
    flex-direction: column; }
    #online-consultation_sec04 .sec04-1 dl {
      width: 100%;
      max-width: inherit;
      margin-bottom: 8%; }
      #online-consultation_sec04 .sec04-1 dl dt {
        font-size: 3vw;
        padding: 2.5% 1vw;
        margin-bottom: 4%; }
      #online-consultation_sec04 .sec04-1 dl dd figure {
        height: inherit;
        margin-bottom: 4%; }
        #online-consultation_sec04 .sec04-1 dl dd figure img {
          width: 12.6vw; }
      #online-consultation_sec04 .sec04-1 dl dd p {
        font-size: 2.65vw; }
      #online-consultation_sec04 .sec04-1 dl:nth-child(2) img {
        width: 32.4vw; }
      #online-consultation_sec04 .sec04-1 dl:nth-child(3) {
        margin-bottom: 0; }
      #online-consultation_sec04 .sec04-1 dl:nth-child(3) img {
        width: 13vw; }
  #online-consultation_sec04 .sec04-2 p {
    max-width: 100%;
    font-size: 2.75vw;
    border-radius: 3vw;
    padding: 5% 4%;
    margin: 0 auto 15%; }
    #online-consultation_sec04 .sec04-2 p::before {
      height: 65%;
      margin-top: 2%; }
    #online-consultation_sec04 .sec04-2 p::after {
      margin-top: 11%; }
    #online-consultation_sec04 .sec04-2 p:nth-child(2) {
      margin-bottom: 20%; }
      #online-consultation_sec04 .sec04-2 p:nth-child(2)::before {
        height: 70%; }
      #online-consultation_sec04 .sec04-2 p:nth-child(2)::after {
        margin-top: 15%; }
  #online-consultation_sec04 .sec04-3 {
    padding: 10% 0;
    margin-bottom: 10%; }
    #online-consultation_sec04 .sec04-3 > div {
      flex-direction: column; }
    #online-consultation_sec04 .sec04-3 dl {
      width: 50vw;
      max-width: inherit;
      height: 50vw;
      padding-top: 0;
      margin: 0 auto 8%;
      justify-content: center; }
      #online-consultation_sec04 .sec04-3 dl:last-child {
        margin-bottom: 0; }
      #online-consultation_sec04 .sec04-3 dl dt {
        border-radius: 3vw;
        font-size: 2.75vw;
        padding: 3% 1vw;
        width: 80%;
        margin: 0 auto 3.5%; }
      #online-consultation_sec04 .sec04-3 dl dd p {
        font-size: 3.25vw; }
        #online-consultation_sec04 .sec04-3 dl dd p em {
          font-size: 5vw; }
        #online-consultation_sec04 .sec04-3 dl dd p span {
          font-size: 3vw;
          margin-top: 2.5%; }
    #online-consultation_sec04 .sec04-3 .btn-wh {
      max-width: inherit;
      width: 80%;
      margin: 10% auto 0; }
      #online-consultation_sec04 .sec04-3 .btn-wh a {
        font-size: 3.25vw;
        padding: 5% 2%;
        border-radius: 6vw;
        box-shadow: 0 .85vw 0px 0 #bd740f; }
        #online-consultation_sec04 .sec04-3 .btn-wh a:hover {
          opacity: 1; } }
@media screen and (max-width: 425px) {
  #online-consultation_sec04 .sec04-1 dl dt {
    font-size: 4vw; }
  #online-consultation_sec04 .sec04-1 dl dd figure img {
    width: 18.6vw; }
  #online-consultation_sec04 .sec04-1 dl dd p {
    font-size: 3.75vw; }
  #online-consultation_sec04 .sec04-1 dl:nth-child(2) img {
    width: 40.4vw; }
  #online-consultation_sec04 .sec04-1 dl:nth-child(3) img {
    width: 19vw; }
  #online-consultation_sec04 .sec04-2 p {
    font-size: 3.75vw;
    text-align: left;
    margin: 0 auto 20%; }
    #online-consultation_sec04 .sec04-2 p::before {
      margin-top: 3%; }
    #online-consultation_sec04 .sec04-2 p::after {
      margin-top: 12%; }
    #online-consultation_sec04 .sec04-2 p:nth-child(2) {
      margin-bottom: 25%; }
      #online-consultation_sec04 .sec04-2 p:nth-child(2)::before {
        height: 75%; }
      #online-consultation_sec04 .sec04-2 p:nth-child(2)::after {
        margin-top: 18%; }
    #online-consultation_sec04 .sec04-2 p:nth-child(3) {
      margin-bottom: 10%; }
  #online-consultation_sec04 .sec04-3 dl {
    width: 65vw;
    height: 65vw; }
    #online-consultation_sec04 .sec04-3 dl dt {
      border-radius: 4vw;
      font-size: 4vw; }
    #online-consultation_sec04 .sec04-3 dl dd p {
      font-size: 4.25vw; }
      #online-consultation_sec04 .sec04-3 dl dd p em {
        font-size: 7vw; }
      #online-consultation_sec04 .sec04-3 dl dd p span {
        font-size: 4vw; }
  #online-consultation_sec04 .sec04-3 .btn-wh {
    width: 90%; }
    #online-consultation_sec04 .sec04-3 .btn-wh a {
      font-size: 4vw;
      padding: 5% 2%;
      border-radius: 7vw; } }
#online-consultation_sec05 h2 + p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 30px; }
#online-consultation_sec05 h3 {
  font-size: 18px;
  font-weight: 500;
  padding-bottom: 20px;
  border-bottom: 1px dotted #333;
  margin-bottom: 25px; }
  #online-consultation_sec05 h3:nth-of-type(2) {
    margin-top: 50px; }
#online-consultation_sec05 dl {
  align-items: center;
  margin-bottom: 30px; }
  #online-consultation_sec05 dl:last-of-type {
    margin-bottom: 0; }
  #online-consultation_sec05 dl dt {
    background: #f4f4f2;
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 30px;
    height: 90px; }
  #online-consultation_sec05 dl dd ul {
    margin-bottom: -15px; }
    #online-consultation_sec05 dl dd ul li {
      display: flex;
      align-items: center;
      margin-bottom: 15px; }
      #online-consultation_sec05 dl dd ul li em {
        font-size: 20px;
        font-weight: 500;
        margin-right: 1em; }
      #online-consultation_sec05 dl dd ul li span {
        font-size: 16px; }
  #online-consultation_sec05 dl dd p {
    font-size: 16px;
    line-height: 2; }

@media screen and (max-width: 768px) {
  #online-consultation_sec05 h2 + p {
    font-size: 2.65vw;
    margin-bottom: 4%; }
  #online-consultation_sec05 h3 {
    font-size: 3vw;
    padding-bottom: 4%;
    margin-bottom: 5%; }
    #online-consultation_sec05 h3:nth-of-type(2) {
      margin-top: 7%; }
  #online-consultation_sec05 dl {
    flex-direction: column;
    margin-bottom: 10%; }
    #online-consultation_sec05 dl:last-of-type {
      margin-bottom: 0; }
    #online-consultation_sec05 dl dt {
      width: 100%;
      margin-right: 0;
      height: inherit;
      padding: 5% 4%;
      margin-bottom: 4%;
      font-size: 3vw; }
    #online-consultation_sec05 dl dd ul {
      margin-bottom: -3%; }
      #online-consultation_sec05 dl dd ul li {
        line-height: 1.3;
        margin-bottom: 3%; }
        #online-consultation_sec05 dl dd ul li em {
          font-size: 3.25vw; }
        #online-consultation_sec05 dl dd ul li span {
          font-size: 2.65vw; }
    #online-consultation_sec05 dl dd p {
      font-size: 2.65vw; } }
@media screen and (max-width: 425px) {
  #online-consultation_sec05 h2 + p {
    font-size: 3.75vw; }
  #online-consultation_sec05 h3 {
    font-size: 4vw; }
  #online-consultation_sec05 dl dt {
    font-size: 4vw; }
  #online-consultation_sec05 dl dd ul li em {
    font-size: 4.55vw; }
  #online-consultation_sec05 dl dd ul li span {
    font-size: 3.75vw; }
  #online-consultation_sec05 dl dd p {
    font-size: 3.75vw; }
    #online-consultation_sec05 dl dd p br {
      display: none; } }
#page_online-consultation .booking-box dt, #lp_online-consultation .booking-box dt {
  line-height: 1.6; }

/*===== APPLY FORM =====*/
#page-apply #page-contents {
  padding: 0 10px; }

.apply-check_box {
  border: 2px solid #ccc;
  padding: 40px; }
  .apply-check_box > p {
    font-size: 18px;
    text-align: center;
    margin-bottom: 30px; }
  .apply-check_box label {
    display: inline-block; }
  .apply-check_box .checkbox-parts::before {
    left: -20px;
    border: 1px solid #f49c21; }
  .apply-check_box .checkbox-input:checked + .checkbox-parts {
    background-color: transparent;
    color: inherit; }
  .apply-check_box .checkbox-input:checked + .checkbox-parts::before {
    background: #f49c21;
    border: 1px solid #f49c21; }
  .apply-check_box .checkbox-input:checked + .checkbox-parts::after {
    left: -20px; }
  .apply-check_box #apply-next_form button {
    display: block;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    border-radius: 30px;
    padding: 20px;
    position: relative;
    font-size: 16px;
    background: #f49c21;
    color: #fff;
    text-align: center;
    transition: all .5s ease-out;
    cursor: pointer; }
  .apply-check_box #apply-next_form button[disabled] {
    background: #eee;
    color: #999;
    cursor: default; }

@media screen and (max-width: 768px) {
  #page-apply #page-contents {
    padding: 0 4%; }

  .apply-check_box {
    padding: 4%; }
    .apply-check_box > p {
      font-size: 2.65vw;
      margin-bottom: 4%;
      white-space: nowrap; }
    .apply-check_box .checkbox-parts::before {
      left: -1.5em; }
    .apply-check_box .checkbox-input:checked + .checkbox-parts::after {
      left: -1.5em; }
    .apply-check_box #apply-next_form button {
      width: 80%;
      max-width: inherit;
      border-radius: 6vw;
      padding: 4%;
      font-size: 2.75vw; }

  .apply-box {
    margin-bottom: 8%; } }
@media screen and (max-width: 425px) {
  .apply-check_box > p {
    font-size: 3.75vw; }
  .apply-check_box #apply-next_form button {
    width: 100%;
    font-size: 4vw; } }
/*===== LP_online-consultation =====*/
#lp_online-consultation #headline {
  height: inherit;
  padding: 60px 0 80px; }
  #lp_online-consultation #headline .d-flex {
    align-items: flex-end; }
    #lp_online-consultation #headline .d-flex > div {
      width: 46%; }
      #lp_online-consultation #headline .d-flex > div p {
        font-weight: bold; }
        #lp_online-consultation #headline .d-flex > div p:first-child {
          font-size: 30px;
          margin-bottom: 40px;
          letter-spacing: .025em; }
          #lp_online-consultation #headline .d-flex > div p:first-child em {
            font-family: "Roboto", sans-serif;
            font-size: 72px;
            color: #f49c21; }
        #lp_online-consultation #headline .d-flex > div p:last-child {
          font-size: 60px;
          letter-spacing: .075em; }
          #lp_online-consultation #headline .d-flex > div p:last-child strong {
            font-weight: bold; }
    #lp_online-consultation #headline .d-flex figure {
      width: 46.85%;
      max-width: 506px; }

@media screen and (max-width: 768px) {
  #lp_online-consultation #headline {
    padding: 3% 0 4%; }
    #lp_online-consultation #headline .d-flex {
      flex-direction: column; }
      #lp_online-consultation #headline .d-flex > div {
        width: 100%;
        margin-bottom: 5%; }
        #lp_online-consultation #headline .d-flex > div p:first-child {
          font-size: 4vw;
          margin-bottom: 5%;
          text-align: center; }
          #lp_online-consultation #headline .d-flex > div p:first-child em {
            font-size: 8vw; }
        #lp_online-consultation #headline .d-flex > div p:last-child {
          font-size: 7.5vw;
          text-align: center; }
      #lp_online-consultation #headline .d-flex figure {
        width: 60%;
        max-width: inherit;
        margin: 0 auto; } }
@media screen and (max-width: 425px) {
  #lp_online-consultation #headline .d-flex > div p:first-child {
    font-size: 5.5vw; }
    #lp_online-consultation #headline .d-flex > div p:first-child em {
      font-size: 10vw; }
  #lp_online-consultation #headline .d-flex > div p:last-child {
    font-size: 9vw; }
  #lp_online-consultation #headline .d-flex figure {
    width: 75%; } }
.lp_online-consultation_box .sec01-intro-txt {
  line-height: 2;
  margin-bottom: 200px; }
.lp_online-consultation_box h2 {
  position: relative;
  font-size: 36px;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  margin-bottom: 60px;
  letter-spacing: .1em; }
  .lp_online-consultation_box h2::before {
    content: "";
    display: block;
    background: url("../img/lp/online-consultation/icon_mark.png") no-repeat left top/contain;
    position: absolute;
    top: -130px;
    left: 50%;
    width: 110px;
    height: 110px;
    margin-left: -55px; }

#lp_online-consultation_sec01 {
  padding-top: 70px; }
  #lp_online-consultation_sec01 dl dt {
    position: relative;
    background: #f49c21;
    border-radius: 20px;
    color: #fff;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    display: block;
    width: 100%;
    max-width: 840px;
    margin: 0 auto 90px;
    padding: 40px 10px; }
    #lp_online-consultation_sec01 dl dt br {
      display: none; }
    #lp_online-consultation_sec01 dl dt::before, #lp_online-consultation_sec01 dl dt::after {
      content: "";
      display: block; }
    #lp_online-consultation_sec01 dl dt::before {
      position: absolute;
      width: 4px;
      height: 40px;
      border-left: 5px dotted #333;
      left: 50%;
      margin-left: -2px;
      top: 100%;
      margin-top: 15px; }
    #lp_online-consultation_sec01 dl dt::after {
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -7px;
      width: 12px;
      height: 12px;
      border-top: solid 3px #333;
      border-right: solid 3px #333;
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
      margin-top: 50px; }
  #lp_online-consultation_sec01 dl dd .paint-box {
    margin-bottom: 80px; }
    #lp_online-consultation_sec01 dl dd .paint-box:last-child {
      margin-bottom: 0; }
    #lp_online-consultation_sec01 dl dd .paint-box h3 {
      font-size: 24px;
      font-weight: 500;
      text-align: center;
      background: #333;
      color: #fff;
      border-radius: 30px 30px 0 0;
      padding: 30px 10px; }
    #lp_online-consultation_sec01 dl dd .paint-box .inner {
      border: 4px solid #333;
      border-top: none;
      border-radius: 0 0 30px 30px;
      padding: 60px 50px; }
      #lp_online-consultation_sec01 dl dd .paint-box .inner ul {
        flex-wrap: wrap;
        margin-bottom: -6.25%; }
        #lp_online-consultation_sec01 dl dd .paint-box .inner ul li {
          width: 46.875%;
          margin-right: 6.25%;
          margin-bottom: 6.25%; }
          #lp_online-consultation_sec01 dl dd .paint-box .inner ul li:nth-child(2n) {
            margin-right: 0; }
      #lp_online-consultation_sec01 dl dd .paint-box .inner .comment {
        line-height: 2;
        margin-top: 30px; }
        #lp_online-consultation_sec01 dl dd .paint-box .inner .comment span {
          display: block;
          font-size: 18px;
          font-weight: 500;
          text-align: center;
          width: 300px;
          border: 1px solid #333;
          border-radius: 25px;
          line-height: 1;
          margin-bottom: 20px;
          padding: 15px 10px; }

@media screen and (max-width: 768px) {
  .lp_online-consultation_box .sec01-intro-txt {
    font-size: 2.65vw;
    margin-bottom: 30%; }
  .lp_online-consultation_box h2 {
    font-size: 4.25vw;
    margin-bottom: 8%; }
    .lp_online-consultation_box h2::before {
      top: -16vw;
      width: 13vw;
      height: 13vw;
      margin-left: -6.5vw; }

  #lp_online-consultation_sec01 {
    padding-top: 10%; }
    #lp_online-consultation_sec01 dl dt {
      border-radius: 3vw;
      font-size: 3.5vw;
      margin: 0 auto 12%;
      padding: 4% 2%; }
      #lp_online-consultation_sec01 dl dt::before {
        height: 5.5vw;
        margin-top: 2.5%; }
      #lp_online-consultation_sec01 dl dt::after {
        margin-left: -1vw;
        width: 2vw;
        height: 2vw;
        margin-top: 6.5vw; }
    #lp_online-consultation_sec01 dl dd .paint-box {
      margin-bottom: 10%; }
      #lp_online-consultation_sec01 dl dd .paint-box:last-child {
        margin-bottom: 0; }
      #lp_online-consultation_sec01 dl dd .paint-box h3 {
        font-size: 3.5vw;
        border-radius: 4vw 4vw 0 0;
        padding: 4% 2%; }
      #lp_online-consultation_sec01 dl dd .paint-box .inner {
        border-radius: 0 0 4vw 4vw;
        padding: 5% 4%; }
        #lp_online-consultation_sec01 dl dd .paint-box .inner .comment {
          font-size: 2.65vw;
          margin-top: 4%; }
          #lp_online-consultation_sec01 dl dd .paint-box .inner .comment span {
            font-size: 3vw;
            width: 50%;
            border-radius: 5vw;
            margin-bottom: 3.5%;
            padding: 3% 1vw; } }
@media screen and (max-width: 425px) {
  .lp_online-consultation_box .sec01-intro-txt {
    font-size: 3.65vw; }
  .lp_online-consultation_box h2 {
    font-size: 5.25vw;
    text-align: left; }
    .lp_online-consultation_box h2::before {
      top: -18vw;
      width: 15vw;
      height: 15vw;
      margin-left: -7.5vw; }
    .lp_online-consultation_box h2 br {
      display: none; }

  #lp_online-consultation_sec01 dl dt {
    border-radius: 4vw;
    font-size: 5vw;
    line-height: 1.5;
    margin-bottom: 18%; }
    #lp_online-consultation_sec01 dl dt br {
      display: block; }
    #lp_online-consultation_sec01 dl dt::before {
      height: 7.5vw; }
    #lp_online-consultation_sec01 dl dt::after {
      margin-left: -1.65vw;
      width: 3vw;
      height: 3vw;
      margin-top: 8.5vw; }
  #lp_online-consultation_sec01 dl dd .paint-box h3 {
    font-size: 4.5vw;
    padding: 5% 2%; }
  #lp_online-consultation_sec01 dl dd .paint-box .inner .comment {
    font-size: 3.65vw; }
    #lp_online-consultation_sec01 dl dd .paint-box .inner .comment span {
      font-size: 4vw;
      width: 65%; } }
#lp_online-consultation_sec02 {
  background: #f6f2ef;
  margin-top: 80px;
  padding: 200px 0 80px; }
  #lp_online-consultation_sec02 .repair-box ul {
    margin-bottom: 70px; }
    #lp_online-consultation_sec02 .repair-box ul li {
      width: 47.222%;
      max-width: 510px; }
      #lp_online-consultation_sec02 .repair-box ul li figcaption {
        display: block;
        font-size: 18px;
        font-weight: 500;
        text-align: center;
        width: 300px;
        margin: 0 auto;
        border: 1px solid #333;
        border-radius: 30px;
        padding: 15px 10px;
        margin-top: 30px; }
    #lp_online-consultation_sec02 .repair-box ul + p {
      font-size: 24px;
      font-weight: 500;
      line-height: 2.2;
      text-align: center;
      margin-bottom: 80px; }
  #lp_online-consultation_sec02 .price-box {
    background: #fff;
    border-radius: 30px;
    padding: 60px 50px; }
    #lp_online-consultation_sec02 .price-box dl dt {
      color: #fff;
      font-size: 18px;
      font-weight: 500;
      text-align: center;
      background: #333;
      width: 200px;
      padding: 15px 10px; }
    #lp_online-consultation_sec02 .price-box dl dd ul {
      border-bottom: 1px solid #ccc;
      padding: 0 50px;
      align-items: flex-end; }
      #lp_online-consultation_sec02 .price-box dl dd ul li {
        position: relative;
        width: 45%;
        color: #fff;
        font-size: 20px;
        font-weight: 500;
        background: #f59c00;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        text-align: center;
        height: 120px; }
        #lp_online-consultation_sec02 .price-box dl dd ul li:nth-child(2) {
          background: #d23927;
          height: 240px; }
        #lp_online-consultation_sec02 .price-box dl dd ul li span {
          display: block;
          line-height: 1.4; }
        #lp_online-consultation_sec02 .price-box dl dd ul li em {
          display: block;
          font-size: 28px;
          font-weight: bold;
          margin-top: 10px; }
        #lp_online-consultation_sec02 .price-box dl dd ul li i {
          display: flex;
          position: absolute;
          top: -60px;
          right: -20px;
          background: #fff;
          border: 3px solid #d23927;
          border-radius: 50%;
          width: 120px;
          height: 120px;
          justify-content: center;
          align-items: center;
          font-size: 30px;
          font-weight: bold;
          font-style: normal;
          color: #d23927; }
          #lp_online-consultation_sec02 .price-box dl dd ul li i em {
            display: inline;
            margin-top: inherit;
            font-size: 60px;
            font-family: "Roboto", sans-serif; }
      #lp_online-consultation_sec02 .price-box dl dd ul + p {
        margin-top: 50px;
        text-align: center; }
  #lp_online-consultation_sec02 .sec02-txt {
    position: relative;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    letter-spacing: .1em;
    padding: 70px 10px 0; }
    #lp_online-consultation_sec02 .sec02-txt::before, #lp_online-consultation_sec02 .sec02-txt::after {
      content: "";
      display: block; }
    #lp_online-consultation_sec02 .sec02-txt::before {
      position: absolute;
      width: 4px;
      height: 100px;
      border-left: 5px dotted #333;
      left: 50%;
      margin-left: -2px;
      top: 100%;
      margin-top: 15px; }
    #lp_online-consultation_sec02 .sec02-txt::after {
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -7px;
      width: 12px;
      height: 12px;
      border-top: solid 3px #333;
      border-right: solid 3px #333;
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
      margin-top: 110px; }

@media screen and (max-width: 768px) {
  #lp_online-consultation_sec02 {
    margin-top: 10%;
    padding: 25% 0 10%; }
    #lp_online-consultation_sec02 .repair-box ul {
      margin-bottom: 10%; }
      #lp_online-consultation_sec02 .repair-box ul li {
        max-width: inherit; }
        #lp_online-consultation_sec02 .repair-box ul li figcaption {
          font-size: 2.75vw;
          width: 100%;
          border-radius: 3vw;
          padding: 4% 1vw;
          margin-top: 7%; }
      #lp_online-consultation_sec02 .repair-box ul + p {
        font-size: 3vw;
        margin-bottom: 10%; }
    #lp_online-consultation_sec02 .price-box {
      border-radius: 4vw;
      padding: 5% 4%; }
      #lp_online-consultation_sec02 .price-box dl dt {
        font-size: 3vw;
        width: 40%;
        padding: 3% 2%; }
      #lp_online-consultation_sec02 .price-box dl dd ul {
        padding: 0; }
        #lp_online-consultation_sec02 .price-box dl dd ul li {
          width: 48%;
          font-size: 3vw;
          height: 17vw; }
          #lp_online-consultation_sec02 .price-box dl dd ul li:nth-child(2) {
            height: 35vw; }
          #lp_online-consultation_sec02 .price-box dl dd ul li em {
            font-size: 4.5vw;
            margin-top: 2%; }
          #lp_online-consultation_sec02 .price-box dl dd ul li i {
            top: -8vw;
            right: -2vw;
            width: 15vw;
            height: 15vw;
            font-size: 3.5vw; }
            #lp_online-consultation_sec02 .price-box dl dd ul li i em {
              font-size: 7vw; }
        #lp_online-consultation_sec02 .price-box dl dd ul + p {
          margin-top: 6.66%;
          font-size: 2.65vw;
          text-align: left; }
    #lp_online-consultation_sec02 .sec02-txt {
      font-size: 4vw;
      padding: 10% 4% 0; }
      #lp_online-consultation_sec02 .sec02-txt::before {
        height: 12vw;
        margin-top: 2.5%; }
      #lp_online-consultation_sec02 .sec02-txt::after {
        margin-left: -1vw;
        width: 2vw;
        height: 2vw;
        margin-top: 13.5vw; }
    #lp_online-consultation_sec02 + #online-consultation_intro {
      padding-top: 8%; } }
@media screen and (max-width: 425px) {
  #lp_online-consultation_sec02 .repair-box ul li figcaption {
    font-size: 3.5vw;
    border-radius: 4vw; }
  #lp_online-consultation_sec02 .repair-box ul + p {
    font-size: 3.75vw; }
  #lp_online-consultation_sec02 .price-box dl dt {
    font-size: 4vw;
    width: 45%; }
  #lp_online-consultation_sec02 .price-box dl dd ul li {
    width: 49%;
    font-size: 3.35vw; }
    #lp_online-consultation_sec02 .price-box dl dd ul li em {
      font-size: 5vw; }
    #lp_online-consultation_sec02 .price-box dl dd ul li i {
      top: -10vw;
      right: -3vw;
      width: 17vw;
      height: 17vw;
      font-size: 3.5vw; }
      #lp_online-consultation_sec02 .price-box dl dd ul li i em {
        font-size: 8vw; }
  #lp_online-consultation_sec02 .price-box dl dd ul + p {
    font-size: 3.65vw; }
  #lp_online-consultation_sec02 .sec02-txt {
    font-size: 5vw; }
    #lp_online-consultation_sec02 .sec02-txt::before {
      height: 12vw; }
    #lp_online-consultation_sec02 .sec02-txt::after {
      margin-left: -1.65vw;
      width: 3vw;
      height: 3vw;
      margin-top: 13.5vw; } }
/*===== photo-estimate =====*/
#sec01-photo_estimate {
  margin-top: 40px;
  margin-bottom: 120px; }

.photo-estimate_steps {
  margin-bottom: 60px; }
  .photo-estimate_steps li {
    width: 30%;
    margin-right: 5%;
    counter-increment: number; }
    .photo-estimate_steps li:nth-child(3n) {
      margin-right: 0; }
    .photo-estimate_steps li dt {
      position: relative;
      text-align: center;
      font-size: 36px;
      font-weight: bold;
      letter-spacing: .2em;
      margin-bottom: 40px; }
      .photo-estimate_steps li dt::before, .photo-estimate_steps li dt::after {
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        top: 100%;
        background: #333;
        z-index: 10; }
      .photo-estimate_steps li dt::before {
        width: 2px;
        height: 45px;
        margin-left: -1px;
        margin-top: 20px; }
      .photo-estimate_steps li dt::after {
        border-radius: 50%;
        width: 14px;
        height: 14px;
        margin-left: -7px;
        margin-top: 65px; }
    .photo-estimate_steps li dd figure {
      position: relative;
      border: 1px solid #ddd;
      border-radius: 50%; }
      .photo-estimate_steps li dd figure::before {
        content: counter(number,decimal-leading-zero);
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: "Roboto", sans-serif;
        color: #fff;
        font-size: 30px;
        font-weight: bold;
        background: #f49c21;
        border-radius: 50%;
        width: 70px;
        height: 70px;
        position: absolute;
        top: 10px;
        left: -10px;
        z-index: 10; }

@media screen and (max-width: 768px) {
  #sec01-photo_estimate {
    margin-top: 0;
    margin-bottom: 12%; }

  .photo-estimate_steps {
    margin-bottom: 10%; }
    .photo-estimate_steps li dt {
      font-size: 4.75vw;
      margin-bottom: 25%; }
      .photo-estimate_steps li dt::before {
        height: 6vw;
        margin-top: 3vw; }
      .photo-estimate_steps li dt::after {
        width: 2vw;
        height: 2vw;
        margin-left: -1vw;
        margin-top: 9vw; }
    .photo-estimate_steps li dd figure::before {
      font-size: 4.5vw;
      width: 8vw;
      height: 8vw;
      top: 1vw;
      left: -1vw; } }
@media screen and (max-width: 425px) {
  .photo-estimate_steps li dt {
    font-size: 5.35vw; }
  .photo-estimate_steps li dd figure::before {
    font-size: 5vw;
    width: 9vw;
    height: 9vw; } }
.photo-estimate_service {
  width: 85%;
  margin: 0 auto; }
  .photo-estimate_service > div {
    max-width: 280px;
    width: 30%; }
  .photo-estimate_service dl {
    width: 65%;
    margin-left: 5%; }
    .photo-estimate_service dl dt {
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 20px; }
    .photo-estimate_service dl dd p {
      font-size: 16px;
      line-height: 2; }
    .photo-estimate_service dl dd .btn-wh {
      margin-top: 40px; }

@media screen and (max-width: 768px) {
  .photo-estimate_service {
    width: 100%;
    flex-direction: column; }
    .photo-estimate_service > div {
      max-width: inherit;
      width: 35%;
      margin: 0 auto; }
    .photo-estimate_service dl {
      width: 100%;
      margin-left: 0;
      margin-top: 8%; }
      .photo-estimate_service dl dt {
        font-size: 3.75vw;
        margin-bottom: 4%; }
      .photo-estimate_service dl dd p {
        font-size: 2.65vw; }
      .photo-estimate_service dl dd .btn-wh {
        margin-top: 5%;
        width: 100%; } }
@media screen and (max-width: 425px) {
  .photo-estimate_service > div {
    width: 65%; }
  .photo-estimate_service dl dt {
    font-size: 4.75vw; }
  .photo-estimate_service dl dd p {
    font-size: 3.75vw; }
    .photo-estimate_service dl dd p br {
      display: none; }
  .photo-estimate_service dl dd .btn-wh a::before, .photo-estimate_service dl dd .btn-wh a::after {
    display: none; } }
/* sec02-photo_estimate */
#ps-howto01 {
  margin-bottom: 100px; }
  #ps-howto01 dl {
    position: relative;
    background: #f4f4f2;
    border-radius: 30px;
    padding: 50px; }
    #ps-howto01 dl dt {
      font-size: 18px;
      font-weight: 500;
      margin-bottom: 30px; }
    #ps-howto01 dl dd ul li {
      width: 23%;
      max-width: 225px;
      margin-right: 2%; }
      #ps-howto01 dl dd ul li:nth-child(4n) {
        margin-right: 0; }
      #ps-howto01 dl dd ul li figcaption {
        display: block;
        width: 150px;
        margin: 20px auto 0;
        font-size: 18px;
        background: #333;
        color: #fff;
        text-align: center;
        border-radius: 15px;
        padding: 2px 5px 5px; }
    #ps-howto01 dl dd ul + p {
      line-height: 1;
      margin-top: 30px; }
    #ps-howto01 dl:first-of-type {
      margin-bottom: 110px; }
      #ps-howto01 dl:first-of-type::after {
        content: "";
        display: block;
        background: url("../img/plan/icon_plus.png") no-repeat left top/contain;
        width: 68px;
        height: 68px;
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -34px;
        margin-top: 20px; }

@media screen and (max-width: 768px) {
  #ps-howto01 {
    margin-bottom: 12%; }
    #ps-howto01 dl {
      border-radius: 3vw;
      padding: 4%; }
      #ps-howto01 dl dt {
        font-size: 2.75vw;
        margin-bottom: 4%; }
      #ps-howto01 dl dd ul {
        flex-wrap: wrap;
        margin-bottom: -4%; }
        #ps-howto01 dl dd ul li {
          width: 48%;
          max-width: inherit;
          margin-right: 4%;
          margin-bottom: 4%; }
          #ps-howto01 dl dd ul li:nth-child(4n) {
            margin-right: 4%; }
          #ps-howto01 dl dd ul li:nth-child(2n) {
            margin-right: 0; }
          #ps-howto01 dl dd ul li figcaption {
            width: 30vw;
            margin: 5% auto 0;
            font-size: 2.75vw;
            border-radius: 3vw;
            padding: 2% 1vw; }
        #ps-howto01 dl dd ul + p {
          margin-top: 4%;
          font-size: 2.65vw;
          line-height: 1.4; }
      #ps-howto01 dl:first-of-type {
        margin-bottom: 20vw; }
        #ps-howto01 dl:first-of-type::after {
          width: 10vw;
          height: 10vw;
          margin-left: -5vw;
          margin-top: 5vw; } }
@media screen and (max-width: 425px) {
  #ps-howto01 dl dt {
    font-size: 4vw; }
  #ps-howto01 dl dd ul li figcaption {
    font-size: 3.75vw; }
  #ps-howto01 dl dd ul + p {
    font-size: 3.75vw; } }
/* ps-howto02 */
#ps-howto02 {
  margin-bottom: 100px; }
  #ps-howto02 p {
    line-height: 2; }
  #ps-howto02 h3 + p {
    margin-bottom: 40px; }
  #ps-howto02 .ps-bg {
    background: #f9f9f9;
    border-radius: 30px;
    padding: 40px; }
    #ps-howto02 .ps-bg figure {
      width: 70%;
      margin: 0 auto 40px; }
      #ps-howto02 .ps-bg figure img {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden; }
      #ps-howto02 .ps-bg figure + p {
        margin-top: 40px;
        text-align: center; }
  #ps-howto02 .ps-comment {
    margin-top: 60px; }
    #ps-howto02 .ps-comment p span {
      font-weight: bold; }

@media screen and (max-width: 768px) {
  #ps-howto02 {
    margin-bottom: 12%; }
    #ps-howto02 h3 + p {
      margin-bottom: 5%; }
    #ps-howto02 .ps-bg {
      border-radius: 3vw;
      padding: 4%; }
      #ps-howto02 .ps-bg figure {
        width: 85%;
        margin: 0 auto 5%; }
        #ps-howto02 .ps-bg figure + p {
          margin-top: 5%;
          text-align: left; }
    #ps-howto02 .ps-comment {
      margin-top: 8%; }
      #ps-howto02 .ps-comment p {
        font-size: 2.65vw; }
        #ps-howto02 .ps-comment p br {
          display: none; } }
@media screen and (max-width: 425px) {
  #ps-howto02 .ps-bg figure {
    width: 100%; }
    #ps-howto02 .ps-bg figure + p {
      line-height: 1.6; }
  #ps-howto02 .ps-comment p {
    font-size: 3.75vw; } }
/* ps-howto03 */
#ps-howto03 p {
  line-height: 2; }
#ps-howto03 h3 + p {
  margin-bottom: 40px; }
#ps-howto03 .ps-bg {
  background: #f9f9f9;
  border-radius: 30px;
  padding: 40px; }
  #ps-howto03 .ps-bg > figure {
    width: 35%;
    margin-right: 5%; }
  #ps-howto03 .ps-bg > div {
    width: 60%; }
    #ps-howto03 .ps-bg > div .txt-accent {
      margin: 30px 0 20px; }
      #ps-howto03 .ps-bg > div .txt-accent span::before, #ps-howto03 .ps-bg > div .txt-accent span::after {
        top: 0;
        right: -60px; }
      #ps-howto03 .ps-bg > div .txt-accent span::after {
        left: -70px; }
    #ps-howto03 .ps-bg > div figure {
      width: 100%;
      max-width: 250px;
      margin: 0 auto; }
    #ps-howto03 .ps-bg > div .btn-wh {
      margin: 30px auto 0; }
  #ps-howto03 .ps-bg + p {
    margin-top: 40px; }
    #ps-howto03 .ps-bg + p a {
      color: #25a0bf;
      text-decoration: underline; }
      #ps-howto03 .ps-bg + p a:hover {
        text-decoration: none; }

@media screen and (max-width: 768px) {
  #ps-howto03 h3 + p {
    margin-bottom: 5%; }
  #ps-howto03 .ps-bg {
    border-radius: 3vw;
    padding: 4%;
    flex-direction: column; }
    #ps-howto03 .ps-bg > figure {
      width: 50%;
      margin: 0 auto 5%; }
    #ps-howto03 .ps-bg > div {
      width: 100%; }
      #ps-howto03 .ps-bg > div .txt-accent {
        font-size: 3.5vw;
        margin: 6% 0 4%; }
        #ps-howto03 .ps-bg > div .txt-accent span::before, #ps-howto03 .ps-bg > div .txt-accent span::after {
          right: -10vw;
          top: -2vw; }
        #ps-howto03 .ps-bg > div .txt-accent span::after {
          left: -11vw; }
      #ps-howto03 .ps-bg > div figure {
        width: 40%;
        max-width: inherit; }
      #ps-howto03 .ps-bg > div .btn-wh {
        width: 100%;
        margin: 4% auto 0; }
    #ps-howto03 .ps-bg + p {
      margin-top: 5%;
      font-size: 2.65vw; } }
@media screen and (max-width: 425px) {
  #ps-howto03 .ps-bg > figure {
    width: 70%; }
  #ps-howto03 .ps-bg > div .txt-accent {
    font-size: 4.5vw; }
  #ps-howto03 .ps-bg > div .btn-wh a::before, #ps-howto03 .ps-bg > div .btn-wh a::after {
    display: none; }
  #ps-howto03 .ps-bg + p {
    font-size: 3.75vw; } }
/* campaign */
#campaign {
  margin-top: 30px; }
  #campaign p {
    line-height: 2; }
  #campaign .lead-txt {
    font-size: 18px;
    margin-bottom: 50px; }
  #campaign h3 + p {
    font-size: 21px;
    margin-bottom: 30px; }
  #campaign .campaign-gift {
    justify-content: center;
    margin-bottom: 30px; }
    #campaign .campaign-gift figure {
      width: 30%;
      margin-right: 2.5%; }
    #campaign .campaign-gift p {
      font-size: 32px;
      font-weight: bold;
      text-align: center;
      color: #d23927; }
  #campaign .btn-wh {
    margin: 60px auto 0; }

@media screen and (max-width: 768px) {
  #campaign {
    margin-top: 0; }
    #campaign .lead-txt {
      font-size: 3vw;
      margin-bottom: 6.66%; }
    #campaign h3 + p {
      font-size: 3.25vw;
      margin-bottom: 4%;
      margin-top: -2%; }
    #campaign .campaign-gift {
      flex-direction: column;
      margin-bottom: 5%; }
      #campaign .campaign-gift figure {
        width: 50%;
        margin: 0 auto 3%; }
      #campaign .campaign-gift p {
        font-size: 4.5vw; }
    #campaign .btn-wh {
      width: 100%;
      margin: 8% auto 0; }
      #campaign .btn-wh a::after, #campaign .btn-wh a::before {
        display: none; } }
@media screen and (max-width: 425px) {
  #campaign .lead-txt {
    font-size: 3.75vw; }
  #campaign h3 + p {
    font-size: 4vw; }
  #campaign .campaign-gift figure {
    width: 60%; }
  #campaign .campaign-gift p {
    font-size: 5.25vw; } }
