@charset "UTF-8";
@font-face {
  font-family: "tsunagi";
  src: url("../font/TsunagiGothic.woff") format("woff"); }
/*****************************************/
@font-face {
  font-family: "tsunagi";
  src: url("../font/TsunagiGothic.woff") format("woff"); }
/*****************************************/
/*****************************************/
.process_flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .process_flex .sticky_area {
    width: 280px; }
    .process_flex .sticky_area h3 {
      position: sticky;
      top: 0;
      font: 2.8rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      color: #79503A; }
      .process_flex .sticky_area h3:before {
        position: absolute;
        content: "";
        left: 0;
        bottom: -15px;
        width: 60px;
        height: 2px;
        background-color: #79503A;
        display: block; }
  .process_flex .flow_box {
    width: calc(100% - 280px);
    counter-reset: hoge;
    max-width: 1000px;
    margin: 0 0 330px; }
  .process_flex .price_box {
    width: calc(100% - 280px);
    counter-reset: hoge;
    max-width: 1000px; }

@media (max-width: 1366px) {
  .process_flex {
    display: block; }
    .process_flex .sticky_area {
      width: 100%;
      margin: 0 auto 40px; }
      .process_flex .sticky_area h3 {
        text-align: center;
        padding: 0 0 15px; }
        .process_flex .sticky_area h3:before {
          left: 50%;
          -webkit-transform: translate(-50%, 0%);
          /* Safari用 */
          transform: translate(-50%, 0%);
          bottom: 0; }
    .process_flex .flow_box {
      width: 100%;
      max-width: 1000px;
      margin: 0 auto 330px; }
    .process_flex .price_box {
      width: 100%;
      max-width: 1000px; } }
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .process_flex .flow_box {
    margin: 0 auto 150px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .process_flex .flow_box {
    margin: 0 auto 130px; } }
/*max-width:480px*/
/*****************************************/
.flow_item {
  border-radius: 20px;
  background-color: #F8E8E0;
  margin: 0 auto 40px;
  padding: 40px 40px 40px 185px;
  position: relative;
  color: #79503A; }
  .flow_item:before {
    font: 7rem/1.0em  Futura, "Century Gothic";
    font-weight: 700;
    position: absolute;
    counter-increment: hoge;
    content: "0" counter(hoge);
    left: 50px;
    top: 30px;
    color: #EA7A60; }
  .flow_item h4 {
    font: 2.6rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    letter-spacing: 0.03em;
    margin: 0 0 10px; }
  .flow_item p {
    font: 1.7rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.03em; }
  .flow_item .kome {
    font: 1.5rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    text-decoration: underline;
    width: fit-content;
    padding: 0 0 0 18px;
    position: relative;
    margin: 10px 0 0 0; }
    .flow_item .kome.center {
      margin: 0 auto;
      display: block; }
    .flow_item .kome:before {
      position: absolute;
      content: "※";
      left: 0; }
  .flow_item .telephone {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 0 0 0; }
    .flow_item .telephone .tel {
      display: block;
      width: fit-content;
      font: 4rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      text-decoration: none;
      letter-spacing: 0.03em;
      color: #79503A;
      padding: 0 35px;
      position: relative; }
      .flow_item .telephone .tel:before {
        position: absolute;
        content: "";
        display: block;
        background: url("../images/common/icon_tel.svg") center center no-repeat;
        background-size: contain;
        width: 24px;
        height: 24px;
        left: 0;
        top: 12px; }
    .flow_item .telephone .contact {
      color: #79503A;
      text-decoration: none;
      margin: 8px 0 0;
      font: 1.5rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      background-color: #fff;
      padding: 5px 25px 5px 10px;
      display: block;
      width: fit-content;
      border: 1px solid #79503A;
      position: relative; }
      .flow_item .telephone .contact:before {
        position: absolute;
        content: "";
        right: 9px;
        top: 9px;
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 7px solid #79503A;
        border-right: 0; }
  .flow_item .list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    counter-reset: list;
    padding: 15px 0 0 0; }
    .flow_item .list ul:nth-of-type(1) {
      margin: 0 30px 0 0; }
    .flow_item .list li {
      position: relative;
      padding: 0 0 0 18px;
      font: 1.5rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
      .flow_item .list li:before {
        position: absolute;
        left: 0;
        counter-increment: list;
        content: counter(list) "."; }
  .flow_item dl {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 20px 0;
    letter-spacing: 0.03em; }
  .flow_item dt {
    width: 230px;
    font: 1.8rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
  .flow_item dd {
    width: calc(100% - 230px); }
  .flow_item ol {
    counter-reset: lol; }
    .flow_item ol li {
      position: relative;
      padding: 0 0 0 18px;
      font: 1.5rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
      .flow_item ol li:before {
        position: absolute;
        left: 0;
        counter-increment: lol;
        content: counter(lol) "."; }

/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .flow_item {
    padding: 50px 30px 40px; }
    .flow_item:before {
      font: 6rem/1.0em  Futura, "Century Gothic";
      font-weight: 700;
      left: 28px;
      top: 31px; }
    .flow_item h4 {
      font: 2.4rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      letter-spacing: 0.03em;
      margin: 0 0 30px;
      padding: 0 0 0 80px; }
    .flow_item p {
      font: 1.6rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.03em; }
    .flow_item .kome {
      font: 1.4rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
    .flow_item .telephone {
      display: block; }
      .flow_item .telephone .tel {
        padding: 0 0 0 35px;
        margin: 0 auto 10px; }
      .flow_item .telephone .contact {
        margin: 0 auto;
        font: 1.4rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        padding: 5px 25px 5px 10px; }
    .flow_item .list li {
      font: 1.5rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
    .flow_item dl {
      display: block;
      padding: 20px 0; }
    .flow_item dt {
      width: 100%;
      margin: 0 0 0 -10px;
      font: 1.8rem/2em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
    .flow_item dd {
      width: 100%; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .flow_item {
    padding: 40px 20px 30px; }
    .flow_item:before {
      font: 5rem / 1.0em Futura, "Century Gothic";
      font-weight: 700;
      left: 18px;
      top: 25px; }
    .flow_item h4 {
      margin: 0 0 25px;
      padding: 0 0 0 65px; }
    .flow_item .telephone .tel {
      padding: 0 0 0 30px;
      margin: 0 auto 10px;
      font-size: 3.6rem; }
      .flow_item .telephone .tel:before {
        top: 10px; } }
/*max-width:480px*/
@media (hover: hover) {
  .flow_item .telephone .contact:hover {
    color: #FFA200; }
    .flow_item .telephone .contact:hover:before {
      border-left: 7px solid #FFA200; } }
/*****************************************/
.price_box {
  color: #79503A; }
  .price_box .top {
    display: block;
    width: fit-content;
    margin: 0 auto 40px;
    padding: 0 0 10px;
    border-bottom: 8px solid #F8C559;
    font: 3.2rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700; }
    .price_box .top strong {
      font: 13.2rem/1.0em Futura, "Century Gothic";
      color: #A40000;
      font-weight: 700;
      padding: 0 10px 0 20px; }
  .price_box .graph_item {
    pointer-events: none;
    position: relative;
    z-index: -1;
    font: 6rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    text-align: center;
    padding: 15px 0 25px; }
    .price_box .graph_item.equal {
      transform: rotate(90deg); }

.price_item > small {
  display: block;
  text-align: right;
  font: 1.4rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 15px 5px 15px 0; }

.price_graph {
  border: 5px solid #79503A;
  border-radius: 30px;
  overflow: hidden; }
  .price_graph span {
    color: #A40000; }
  .price_graph > p.graph_top {
    padding: 50px 0;
    border-bottom: none;
    background-color: inherit; }
    .price_graph > p.graph_top strong {
      font: 5rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700;
      color: #A40000;
      display: block; }
  .price_graph > p {
    letter-spacing: 0.06em;
    padding: 10px 0;
    font: 2.2rem/1.8em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    border-bottom: 2px dotted #79503A;
    background-color: #FEFEE5;
    text-align: center; }
    .price_graph > p.b_top {
      border-top: 2px solid #79503A; }
  .price_graph ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start;
    width: calc(100% - 50px);
    max-width: 850px;
    margin: 0 auto 20px;
    counter-reset: hoge; }
    .price_graph ul li {
      font: 1.4rem/1.8em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      padding: 0 0 0 25px;
      position: relative;
      margin: 0 0 5px;
      width: calc((100% - 30px)/2); }
      .price_graph ul li:before {
        position: absolute;
        counter-increment: hoge;
        content: "※" counter(hoge);
        left: 0;
        color: #A40000; }
      .price_graph ul li:nth-of-type(1) {
        order: 1; }
      .price_graph ul li:nth-of-type(2) {
        order: 3; }
      .price_graph ul li:nth-of-type(3) {
        order: 2; }
      .price_graph ul li:nth-of-type(4) {
        order: 4; }
  .price_graph table {
    color: #79503A;
    font: 1.8rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.06em;
    width: 100%; }
    .price_graph table tr:last-of-type {
      border-bottom: 0; }
  .price_graph tr {
    border-bottom: 2px dotted #79503A; }
  .price_graph th {
    padding: 10px 0;
    height: 75px;
    border-right: 2px dotted #79503A;
    width: 300px;
    background-color: #F9F9F9; }
    .price_graph th small {
      padding: 8px 0 0;
      font: 1.4rem/1 "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      display: block; }
  .price_graph td {
    text-align: center; }
    .price_graph td br {
      display: none; }
  .price_graph .table02 th {
    border: none; }
  .price_graph .table02 td {
    border-left: 2px dotted #79503A; }
  .price_graph .table02 tr:nth-of-type(1) {
    background-color: #FEF3FB; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .price_graph ul {
    display: block;
    width: calc(100% - 50px);
    max-width: 640px; }
    .price_graph ul li {
      width: 100%; }
  .price_graph table {
    font: 1.7rem/1.3em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
  .price_graph .table02 td br {
    display: block; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .price_box .top {
    font: 2.6rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700; }
    .price_box .top strong {
      font: 8.5rem/1.0em Futura, "Century Gothic";
      font-weight: 700;
      padding: 0 10px 0 20px; }
  .price_box .graph_item {
    font: 5rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    padding: 15px 0 25px; }

  .price_graph > p.graph_top {
    padding: 40px 0;
    font: 1.8rem/1.8em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
    .price_graph > p.graph_top strong {
      font: 4rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 700; }
  .price_graph > p {
    font: 1.8rem/1.8em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
  .price_graph ul li {
    font: 1.4rem/1.8em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
  .price_graph table {
    color: #79503A;
    font: 1.6rem/1.3em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.06em;
    width: 100%; }
    .price_graph table tr:last-of-type {
      border-bottom: 0; }
  .price_graph tr {
    border-bottom: 2px dotted #79503A; }
  .price_graph th {
    font: 1.5rem/1.3em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    padding: 10px 5px;
    height: 75px;
    border-right: 2px dotted #79503A;
    width: 180px;
    background-color: #F9F9F9; }
    .price_graph th small {
      padding: 8px 0 0;
      font: 1.3rem/1.3em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      display: block; }
  .price_graph td {
    padding: 0 0;
    text-align: center; }
  .price_graph .table02 th {
    border: none;
    width: 100px; }
  .price_graph .table02 td {
    border-left: 2px dotted #79503A; }
    .price_graph .table02 td br {
      display: block; }
  .price_graph .table02 tr:nth-of-type(1) {
    background-color: #FEF3FB; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .price_box .top {
    font: 2.2rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700; }
    .price_box .top strong {
      font: 7rem/1.0em Futura, "Century Gothic";
      font-weight: 700;
      padding: 0 5px 0 10px; }
  .price_box .graph_item {
    font: 4.5rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700; }

  .price_item > small {
    font: 1.3rem/1em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }

  .price_graph > p {
    font: 1.7rem/1.8em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
  .price_graph > p.graph_top {
    padding: 35px 0 40px; }
  .price_graph table {
    font: 1.6rem/1.4em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; }
  .price_graph th {
    font: 1.5rem/1.3em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    padding: 10px 5px;
    height: 75px; }
    .price_graph th small {
      font: 1.3rem/1.3em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
  .price_graph .table02 th {
    border: none;
    width: 75px; }
  .price_graph .table02 td {
    padding: 10px 0;
    border-left: 2px dotted #79503A; }
    .price_graph .table02 td br {
      display: block; }
  .price_graph .table02 tr:nth-of-type(1) {
    font: 1.5rem/1.3em "Zen Kaku Gothic New", "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500; } }
/*max-width:480px*/
