@charset "UTF-8";

/* --------------------------------
  outline
------------------------------------- */
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 1;
  color: #fff;
  background: #53AEBE;
  animation: fadeIn ease .5s;
}

.inner {
  width: 100%;
  max-width: 498px;
  margin: 0 auto;
}
.inner_w800 {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .inner,
  .inner_w800 {
    max-width: 92%;
  }
}

/* -----------------------------------------
- animation
----------------------------------------- */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* --------------------------------
  only
------------------------------------- */
.pc-only {
  display: block;
}
.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}
/* --------------------------------
  common
------------------------------------- */
p {
  font-size: 16px;
  line-height: 1.6875;
}

.relative {
  position: relative;
}

/* --------------------------------
  reset - .form
------------------------------------- */
.form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  cursor: pointer;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  box-shadow: none;
  color: #000;
}
.form select::-ms-expand {
  display: none;
}

.form input[type="number"]::-webkit-outer-spin-button,
.form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.form input[type="number"] {
  -moz-appearance:textfield;
}

/* --------------------------------
  header
------------------------------------- */
.header .logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 9;
  max-width: 449px;
  transition: .25s;
}
@media screen and (max-width: 1374px) {
  .header .logo {
    width: 58.9333%;
  }
}

/* --------------------------------
  .header_bg
------------------------------------- */
.header_bg {
  position: relative;
  height: 338px;
  background: url(../img/header_bg.jpg) no-repeat bottom center;
  background-size: cover;
}
  @media screen and (max-width: 480px) {
  .header_bg {
    height: 132px;
    background: url(../img/header_bg_sp.jpg) no-repeat bottom center;
    background-size: cover;
  }
}

/* --------------------------------
  .main
------------------------------------- */
.main {
  padding: 72px 0 100px;
  transition: .25s;
}
.main .read_box {
  max-width: 400px;
  margin: 0 auto 60px;
  transition: .25s;
}
@media screen and (max-width: 768px) {
  .main {
    margin: 0 auto;
    padding: 25px 0 50px;
  }
  .main .read_box {
    width: 83.4666%;
    max-width: 313px;
    margin: 0 auto 30px;
  }
}

/* .heading_02_top */
.heading_02_top {
  position: relative;
  width: 280px;
  margin: 0 auto 30px;
  font-weight: 500;
  white-space: nowrap;
}
.heading_02_top .txt_01 {
  display: block;
  margin-left: 54px;
  margin-bottom: 9px;
  font-size: 25px;
}
.heading_02_top .txt_02 {
  display: block;
  margin-left: 48px;
  font-size: 35px;
}
.heading_02_top .txt_03 {
  display: inline-block;
  margin-top: -21px;
  font-size: 83px;
  font-weight: 700;
}
.heading_02_top .txt_04 {
  font-size: 53px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .heading_02_top {
    margin: 58px auto 30px;
  }
}

/* --------------------------------
  .link_btn
------------------------------------- */
.link_btn {
  position: relative;
  width: 313px;
  height: 71px;
  margin: 10px auto;
  border-radius: 23px;
  font-size: 18px;
  font-weight: 500;
  transition: .25s;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .link_btn {
    width: 90.7246%;
    max-width: 313px;
  }
}

.link_btn:hover {
  opacity: .7;
}
.link_btn::after {
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translate(0,-50%);
  z-index: 9;
  content: "";
  display: flex;
  width: 28px;
  height: 20px;
  background: url(../img/ico_arrow.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 480px) {
  .link_btn::after {
    right: 10%;
  }
}
@media screen and (max-width: 320px) {
  .link_btn::after {
    right: 5%;
  }
}

.link_btn .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #E95B2E;
  color: #fff;
}

/* --------------------------------
  .form_box
------------------------------------- */
.form {
  margin: 0 auto;
  color: #3C3C3C;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .form {
    width: 91%;
  }
}

.form .box {
  margin-bottom: 1em;
}
.form .box_relative {
  position: relative;
  margin-bottom: 1em;
}
.form .unit_txt {
  position: absolute;
  top: 50%;
  transform: translate(0,-50%);
  right: 1.5em;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .form .unit_txt {
    right: 1em;
  }
}

.form .label,
.form .title {
  width: 100%;
  margin-bottom: .25em;
  padding: .25em .5em;
  color: #fff;
}
.form .label .small {
  display: inline-block;
  margin-left: .25em;
  font-size: 14px;
}

.form .input_txt {
  width: 100%;
  padding: .4em 1.5em;
  background: #fff;
  border-radius: 19px;
}
.form .input_number {
  padding-right: 4.5em;
}
@media screen and (max-width: 480px) {
  .form .input_number {
    padding-right: 3.5em;
  }
}

/* .form .link_btn */
.form .link_btn {
  margin: 1em auto;
}

.form .select {
  width: 100%;
  height: 38px;
  padding: 0 1.5em;
  border-radius: 50px;
  background: #fff;
}

/* .select_box */
.select_box {
  position: relative;
}
.select_box .arrow_tri::before {
  content: '';
  position: absolute;
  top: 14px;
  right: 1.5em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 7px 0 7px;
  border-color: #3c3c3c transparent transparent transparent;
  pointer-events: none;
}
.select_box .unit_txt {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0,-50%);
  right: 2.5em;
  font-size: 18px;
  font-weight: 700;
}

/* .form_address */
.form_address select {
  color: #000;
  font-size: 18px;
  font-weight: bold;
}

/* .form_residual_years */
.form_residual_years .select_box {
  display: flex;
  width: 100%;
  gap: 0 5%;
}
.form_residual_years .select_box >div {
  width: 50%;
}

/* --------------------------------
  .result_box
------------------------------------- */
.result {
  margin: 0 auto 58px;
  text-align: center;
}
.result .title {
  display: block;
  font-size: 16px;
  font-weight: 500;
}
.result .lowest_price,
.result .reference_price_box,
.result .reference_price {
  display: inline-block;
  font-size: 41px;
  font-weight: 700;
  letter-spacing: 4.5px;
}

