@charset "UTF-8";
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

body {
  margin: 0;
  padding: 0;
  font-family: -apple-system,Segoe UI,Helvetica Neue,Hiragino Kaku Gothic ProN,"メイリオ",meiryo,sans-serif; }

.wrap {
  margin: 0;
  padding: 0; }

.content {
  margin: 0;
  padding: 0; }

@media only screen and (max-width: 767px) {
  .hero {
    padding: 30px 15px; } }
@media only screen and (min-width: 768px) {
  .hero {
    padding: 50px 0; } }

.column3 {
  display: flex; }
  .column3 .hero_item {
    margin: 0 3px; }

@media only screen and (max-width: 767px) {
  .mongon {
    margin-top: -30px !important; } }
@media only screen and (min-width: 768px) {
  .mongon {
    margin-top: -40px !important; } }
.mongon p {
  margin: 0;
  padding: 0;
  fon-tize: 15px;
  line-height: 27px; }
.mongon a {
  text-decoration: none;
  color: #205fa0; }
  .mongon a:hover {
    text-decoration: underline; }

.section {
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .section {
      box-sizing: border-box;
      padding: 30px 15px; } }
  @media only screen and (min-width: 768px) {
    .section {
      max-width: 1180px;
      width: calc(100% - 45px);
      margin: 0 auto;
      padding: 35px 5px 45px; } }
  .section table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
    border: none; }
    .section table th, .section table td {
      border: 2px solid #fff; }
    .section table th {
      padding: 20px auto;
      font-weight: bold;
      color: #000;
      text-align: center;
      background-color: #eee;
      vertical-align: center;
      margin-bottom: 5px; }
      @media only screen and (max-width: 767px) {
        .section table th {
          width: 22%;
          font-size: 13px; } }
      @media only screen and (min-width: 768px) {
        .section table th {
          width: 15%;
          font-size: 16px; } }
    .section table td {
      text-align: left;
      vertical-align: center;
      background: #f8f8f8; }
      @media only screen and (max-width: 767px) {
        .section table td {
          padding: 20px 20px;
          font-size: 14px;
          line-height: 26px;
          width: 78%; } }
      @media only screen and (min-width: 768px) {
        .section table td {
          padding: 20px 30px;
          font-size: 15px;
          line-height: 27px;
          width: 85%; } }
      .section table td ul {
        margin-left: -20px;
        line-height: 26px; }

.rec_area p {
  margin: 20px 0 0;
  padding: 0;
  fon-tize: 15px;
  line-height: 27px; }

.oubohouhou .obo_link {
  background-color: #cc0000;
  position: relative;
  width: 250px;
  padding: 15px 0;
  border-radius: 5px;
  text-align: center;
  box-sizing: border-box;
  cursor: pointer;
  margin: 0 0 20px; }
  .oubohouhou .obo_link::before {
    position: absolute;
    display: inline-block;
    content: "";
    right: 7%;
    border: 2px solid;
    border-color: transparent transparent #fff #fff;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    border-radius: 3px;
    width: 6px;
    height: 6px; }
    @media only screen and (max-width: 767px) {
      .oubohouhou .obo_link::before {
        top: 41%; } }
    @media only screen and (min-width: 768px) {
      .oubohouhou .obo_link::before {
        top: 40%; } }
  .oubohouhou .obo_link:hover {
    opacity: 0.8; }
  .oubohouhou .obo_link a {
    text-decoration: none;
    color: #fff;
    font-size: 0.95rem; }
    .oubohouhou .obo_link a::after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 1;
      pointer-events: auto;
      content: "";
      background-color: transparent; }
.oubohouhou p {
  margin: 20px 0 0;
  fon-tize: 15px;
  line-height: 27px; }

.flow {
  text-align: left;
  background-color: #f8f7f3; }
  @media only screen and (max-width: 767px) {
    .flow {
      margin: 30px 0;
      padding: 25px 20px; } }
  @media only screen and (min-width: 768px) {
    .flow {
      margin: 30px 0;
      padding: 25px 20px; }
      .flow:last-child {
        margin: 30px 0 0; } }
  .flow h3 {
    border-left: #014e6a solid 4px;
    color: #000;
    margin: 0;
    padding-left: 10px;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .flow h3 {
        font-size: 20px; } }
    @media only screen and (min-width: 768px) {
      .flow h3 {
        font-size: 23px; } }
  .flow .flow_block {
    display: flex; }
    @media only screen and (max-width: 767px) {
      .flow .flow_block {
        flex-direction: column;
        margin-top: 20px;
        text-align: center; } }
    @media only screen and (min-width: 768px) {
      .flow .flow_block {
        justify-content: center;
        margin-top: 30px; } }
  .flow .flow_box {
    border: #4e4e4e solid 1px;
    background-color: #fff;
    padding: 20px 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .flow .flow_box {
        width: 100%;
        margin: 0 auto;
        font-size: 14px; } }
    @media only screen and (min-width: 768px) {
      .flow .flow_box {
        width: 25%;
        margin: 0 10px;
        font-size: 16px; } }
  @media only screen and (max-width: 767px) {
    .flow .arrow {
      transform: rotate(90deg);
      margin: 15px 0; } }
  @media only screen and (min-width: 768px) {
    .flow .arrow {
      display: flex;
      align-items: center; } }
  @media only screen and (max-width: 767px) {
    .flow .arrow img {
      width: 24px;
      height: 24px; } }
  @media only screen and (min-width: 768px) {
    .flow .arrow img {
      width: 27px;
      height: 27px; } }
  .flow p {
    margin: 20px 0 0;
    padding: 0;
    fon-tize: 15px;
    line-height: 27px; }

.otoiawase a {
  text-decoration: none;
  color: #205fa0; }
  .otoiawase a:hover {
    text-decoration: underline; }
.otoiawase p {
  margin: 0;
  padding: 0;
  fon-tize: 15px;
  line-height: 27px;
  text-align: left; }
