@charset "UTF-8";

/* 遺留分の計算を簡単にシミュレーション */
.Body__Simulation { margin: 0 auto; padding: 0; width: 730px; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
.Body__Simulation a { color: #dd772a; text-decoration: underline; }
.Body__Simulation a:hover { opacity: 0.7; text-decoration: none; }
.Body__SimulationTitle { margin: 0 0 30px; padding: 10px 15px; color: #fff; font-size: 2.0rem; font-weight: bold; background: #4c311e; }
.SimulationPrimary { padding: 15px; border: 10px solid #ff9c00; }
.SimulationPrimary__Intro { margin: 0 auto !important; padding: 10px 0 15px; font-size: 1.2rem; line-height: 1.8; text-align: center; }
.SimulationPrimary__Heading { margin: 0 0 15px !important; padding: 15px 0 !important; color: #333 !important; font-size: 1.4rem !important; font-weight: bold; text-align: center; background: #f7ebd8 !important; border-radius: 5px !important; border-bottom: none !important; }
.SimulationPrimary__Text { margin: 0 auto !important; padding: 0 0 20px; font-size: 1.1rem; line-height: 1.8; text-align: center; }
.SimulationPrimary__Tab { display: flex; justify-content: center; margin: 0 auto; padding: 0 0 30px; list-style: none; }
.SimulationPrimary__Tab input[type="radio"] { display: none; }
.SimulationPrimary__Tab input[type="radio"] + em { position: relative; z-index: 1; display: flex; justify-content: center; align-items: center; padding: 18px 0; min-width: 100px; color: #999; font-size: 1.3rem; font-weight: bold; font-style: normal; background: #f8f8f8; border: 1px solid #d0d0d0; cursor: pointer; }
.SimulationPrimary__Tab li:first-child input[type="radio"] + em { border-radius: 5px 0 0 5px; }
.SimulationPrimary__Tab li:last-child input[type="radio"] + em { margin-left: -1px; border-radius: 0 5px 5px 0; }
.SimulationPrimary__Tab input[type="radio"]:checked + em { color: #fff; background: #ff9c00; }
.SimulationPrimary__Amount { padding: 10px 0 35px; display: flex; justify-content: center; align-items: center; }
.SimulationPrimary__Amount dt input[type="number"] { padding: 10px; font-size: 1.2rem; text-align: center; border: 1px solid #d0d0d0; }
.SimulationPrimary__Amount dt small { padding: 0 5px; font-size: 1.1rem; }
.SimulationPrimary__Amount dd span { padding-left: 20px; color: #ff9c00; font-size: 1.1rem; text-decoration: underline; cursor: pointer; }
.SimulationPrimary__Spouse { display: flex; justify-content: center; padding: 10px 0 30px; width: 100%; font-size: 1.1rem; }
.SimulationPrimary__Spouse label,
.SimulationPrimary__Spouse span { display: flex; align-items: center; }
.SimulationPrimary__Spouse label:hover { cursor: pointer; }
.SimulationPrimary__Spouse span { padding: 0 15px; }
.SimulationPrimary__Spouse label:nth-of-type(1) { padding-right: 30px; }
.SimulationPrimary__Spouse input[type="radio"] { display: none; }
.SimulationPrimary__Spouse input[type="radio"] + label:before { display: inline-block; margin-right: 1rem; content: '\f111'; color: #d0d0d0; font-size: 2.7rem; font-family: "Font Awesome 5 Free"; font-weight: 400; }
.SimulationPrimary__Spouse input[type="radio"]:checked + label:before { content: '\f111'; color: #888888; font-weight: 700; }
.SimulationPrimary__Spouse select { padding: 10px 10px; font-size: 1.2rem; text-align: right; border: 1px solid #d0d0d0; }
.SimulationPrimary__Submit { margin: 0 auto !important; padding: 0 0 20px; width: 80%; }
.SimulationPrimary__SubmitButton { border: none; outline: none; padding: 20px 0; width: 100%; color: #fff; font-size: 1.4rem; font-weight: bold; background: #ff6633; border-radius: 5px; }
.SimulationPrimary__SubmitButton:hover { opacity: 0.7; cursor: pointer; }
.--Disabled { opacity: 0.3; pointer-events: none; }
.SimulationPrimary__SubmitButton.--Disabled:hover { opacity: 0.3; cursor: default; }

.SimulationSecondary { margin-top: -15px; padding: 15px; border: 10px solid #ff9c00; }
.SimulationSecondary__Heading { margin: 0 auto 25px !important; padding: 25px 0 15px !important; color: #ff0000 !important; font-size: 1.8rem !important; font-weight: bold; text-align: center; background: none !important; border-bottom: 1px solid #d5d5d5; }
.SimulationSecondary dl { display: flex; flex-direction: column; }
.SimulationSecondary dl dt,
.SimulationSecondary dl dd { display: flex; justify-content: center; align-items: center; padding: 0 0 20px; }
.SimulationSecondary dl dt strong,
.SimulationSecondary dl dd strong { display: flex; justify-content: flex-end; padding: 0 22px 0 0; width: 8rem; font-size: 1.3rem; font-weight: bold; }
.SimulationSecondary dl dt input[type="text"],
.SimulationSecondary dl dd input[type="text"] { padding: 15px 10px; width: 165px; font-size: 1.7rem; font-weight: bold; text-align: right; border: 2px solid #4c311e; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
.SimulationSecondary dl dt small,
.SimulationSecondary dl dd small { display: flex; padding: 0 0 0 10px; font-size: 1.2rem; font-weight: bold; }
.SimulationSecondary dl dd em { display: flex; font-size: 1.2rem; font-style: normal; }
.Simulation__Annotation { margin: 0 auto !important; padding: 15px 0 5px; width: 100%; font-size: 1.0rem; text-align: center; }

.Disclaimer { margin: 0 auto; padding: 50px 20px 120px; }
.Disclaimer__Heading { margin: 0 0 15px !important; padding: 15px 0 !important; color: #333 !important; font-size: 1.4rem !important; font-weight: bold; text-align: center; background: #f7ebd8 !important; border-radius: 5px !important; border-bottom: none !important; }
.Disclaimer__Text { padding: 0 10px 2rem; color: #333; font-size: 1.2rem; line-height: 1.5; }
.Disclaimer__SubHeading { margin: 0 10px 5px !important; padding: 0 0 0 10px !important; color: #333 !important; font-size: 1.2rem !important; font-weight: bold; line-height: 1.5 !important; border-left: 5px solid #ff9c00; border-bottom: none !important; }

/* ツールチップ */
.tippy-box { background-color: #93603d !important; padding: 20px 10px; left: -230px; top: -20px; }
.tippy-arrow { color: #93603d; }

@media (max-width: 768px) {
  .--PC { display: none; }
  .--SP { display: block; }
  body.page-template-page-simulation #contents { margin: 85px auto 1px; }
  .Body__Simulation { width: 100%; }
  .SimulationPrimary { padding: 3vw; border: 8px solid #ff9c00; }
  .SimulationPrimary__Intro { padding: 3vw 0 5vw; font-size: 0.9rem; }
  .SimulationPrimary__Heading { margin: 0 0 4vw !important; padding: 3vw 0 !important; font-size: 1.2rem !important; }
  .SimulationPrimary__Text { padding: 0 2% 5vw; font-size: 0.85rem; line-height: 1.5; text-align: left; }
  .SimulationPrimary__Tab { padding: 0 0 8vw; }
  .SimulationPrimary__Tab input[type="radio"] + em { padding: 2.5vw 0; min-width: 20vw; font-size: 1.0rem; }
  .SimulationPrimary__Amount { margin: 0 auto; padding: 1vw 0 8vw; width: 96%; }
  .SimulationPrimary__Amount dt { width: 60%; }
  .SimulationPrimary__Amount dt input[type="number"] { padding: 2vw; width: 65%; font-size: 1.2rem; }
  .SimulationPrimary__Amount dt small { padding: 0 2vw; font-size: 0.9rem; }
  .SimulationPrimary__Amount dd { width: 40%; white-space: nowrap; }
  .SimulationPrimary__Amount dd span { padding-left: 4vw; font-size: 0.9rem; }
  .SimulationPrimary__Spouse { margin: 0 auto !important; padding: 0 0 7vw; font-size: 1.0rem; line-height: 1; }
  .SimulationPrimary__Spouse input[type="radio"] + label:before { font-size: 2.5rem; }
  .SimulationPrimary__Spouse label:nth-of-type(1) { padding-right: 7vw; }
  .SimulationPrimary__Spouse select { padding: 2vw 2vw; font-size: 1.2rem; }
  .SimulationPrimary__Submit { padding: 0 0 7vw; width: 86%; }
  .SimulationPrimary__SubmitButton { padding: 3vw 0; font-size: 1.1rem; }
  .SimulationSecondary { margin-top: -3vw; padding: 3vw; border: 8px solid #ff9c00; }
  .SimulationSecondary__Heading { margin: 0 auto 5vw !important; padding: 7vw 0 3vw !important; font-size: 1.4rem !important; border-radius: 0 !important; }
  .SimulationSecondary dl dt,
  .SimulationSecondary dl dd { padding: 0 0 4vw; }
  .SimulationSecondary dl dt { margin: ; }
  .SimulationSecondary dl dt strong,
  .SimulationSecondary dl dd strong { padding: 0 4vw 0 0; width: 20%; font-size: 1.1rem; }
  .SimulationSecondary dl dt input[type="text"],
  .SimulationSecondary dl dd input[type="text"] { padding: 2.5vw 2vw; width: 38%; font-size: 1.2rem; border: 1px solid #4c311e; }
  .SimulationSecondary dl dt small,
  .SimulationSecondary dl dd small { padding: 0 0 0 3vw; font-size: 1.1rem; }
  .SimulationSecondary dl dd em { font-size: 1.1rem; }
  .Simulation__Annotation { padding: 3vw 0 1vw; font-size: 0.8rem; }
  .Disclaimer { padding: 10vw 3% 20vw; }
  .Disclaimer__Heading { margin: 0 0 4vw !important; padding: 3vw 0 !important; font-size: 1.1rem !important; }
  .Disclaimer__Text { padding: 0 2vw 1rem; font-size: 0.9rem; }
  .Disclaimer__SubHeading { margin: 0 2vw 1vw !important; padding: 0 0 0 2vw !important; font-size: 1.0rem !important; }

  .tippy-box { padding: 2vw 1vw; width: 84vw !important; left: -6vw; top: -3vw; }
  .tippy-arrow:before { left: -40vw !important; }
}