@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700");
/*********************************
 Reset
 *********************************/
/*
 html5doctor.com Reset Stylesheet
 v1.6.1
 Last Updated: 2010-09-17
 Author: Richard Clark - http://richclarkdesign.com
 Twitter: @rich_clark
 */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  min-width: 300px;
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px; }

/*********************************
 common
 *********************************/
* {
  font-weight: 400;
  box-sizing: border-box; }
  *:before, *:after {
    box-sizing: border-box; }

html {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 10px; }

body {
  font-size: 1.6rem;
  letter-spacing: 0.025em; }
  @media screen and (max-width: 767px) {
    body#top {
      padding-bottom: 21vw; } }
  body#contact {
    border-top: solid 4px #4abce6; }

article {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden; }

img {
  max-width: 100%;
  vertical-align: bottom; }

.inner {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto; }

.pcNone {
  display: none; }
  @media screen and (max-width: 767px) {
    .pcNone {
      display: inline; } }

@media screen and (max-width: 960px) {
  .tabNone {
    display: none; } }

@media screen and (max-width: 960px) {
  .tabOnlyNone {
    display: none; } }
@media screen and (max-width: 767px) {
  .tabOnlyNone {
    display: inline; } }

@media screen and (max-width: 767px) {
  .spNone {
    display: none; } }

.sp_scroll-box {
  margin-bottom: 15px; }
  @media screen and (max-width: 960px) {
    .sp_scroll-box {
      width: 100%;
      padding-bottom: 10px;
      overflow-x: scroll;
      -webkit-overflow-scrolling: touch; }
      .sp_scroll-box::-webkit-scrollbar {
        height: 4px; }
      .sp_scroll-box::-webkit-scrollbar-track {
        background-color: #cccccc;
        border-radius: 2px; }
      .sp_scroll-box::-webkit-scrollbar-thumb {
        background-color: #666666; } }

.tab_area .tab_head {
  display: flex; }
  .tab_area .tab_head > div {
    cursor: pointer; }
    .tab_area .tab_head > div.current {
      cursor: default; }
.tab_area .tab_body > div {
  display: none; }
  .tab_area .tab_body > div.current {
    display: block; }

/*TOP*/
.sec_mv {
  width: 100%;
  height: 40.3125vw;
  max-height: 774px;
  background-image: url("../img/mv.jpg");
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .sec_mv {
      background-image: url("../img/mv_sp.jpg");
      height: 131.46vw;
      max-height: none; } }
  .sec_mv h1 {
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden; }
  .sec_mv p {
    width: 75.375%;
    position: absolute;
    top: 75%;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 767px) {
      .sec_mv p {
        width: 100%;
        top: 86%;
        left: 0;
        transform: none; } }
    .sec_mv p img {
      width: 100%; }

.sec01 {
  padding: 80px 0; }
  .sec01 h2 {
    margin-bottom: 50px;
    text-align: center; }
  .sec01 .sec1_content {
    margin-bottom: 40px; }
    .sec01 .sec1_content:after {
      content: " ";
      display: block;
      clear: both; }
    @media screen and (max-width: 767px) {
      .sec01 .sec1_content {
        margin-bottom: 60px; } }
    .sec01 .sec1_content .txt {
      width: 50%;
      float: left; }
      @media screen and (max-width: 767px) {
        .sec01 .sec1_content .txt {
          width: 100%;
          margin-bottom: 30px;
          float: none; } }
      .sec01 .sec1_content .txt h3 {
        margin-bottom: 20px; }
        @media screen and (max-width: 767px) {
          .sec01 .sec1_content .txt h3 {
            text-align: center; } }
        .sec01 .sec1_content .txt h3 span {
          padding: 10px 15px;
          font-size: 3.0rem;
          font-weight: 700;
          color: #ffffff;
          background-color: #53b54d;
          display: inline-block; }
      .sec01 .sec1_content .txt p {
        line-height: 200%; }
      .sec01 .sec1_content .txt ul {
        list-style: none; }
        .sec01 .sec1_content .txt ul li {
          padding-left: 15px;
          line-height: 200%; }
          .sec01 .sec1_content .txt ul li:before {
            width: 11px;
            height: 8px;
            margin: 0 4px 0 -15px;
            content: '';
            background-image: url("../img/icon_shikaku02.png");
            display: inline-block;
            vertical-align: middle; }
    .sec01 .sec1_content .img {
      width: 50%;
      padding-left: 40px;
      float: right; }
      @media screen and (max-width: 767px) {
        .sec01 .sec1_content .img {
          width: 100%;
          padding: 0 !important;
          float: none;
          text-align: center; } }
      .sec01 .sec1_content .img img {
        box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.1); }
    .sec01 .sec1_content:nth-of-type(even) .txt {
      float: right; }
    .sec01 .sec1_content:nth-of-type(even) .img {
      padding-left: 0;
      padding-right: 40px;
      float: left; }
    .sec01 .sec1_content:last-of-type {
      margin-bottom: 0; }

.sec02 {
  padding: 80px 0;
  text-align: center; }

.sec03 {
  padding: 80px 0;
  background-color: #46bbe6; }
  .sec03 h2 {
    margin-bottom: 50px;
    text-align: center; }
  .sec03 ul {
    list-style: none; }
    .sec03 ul li {
      margin-bottom: 15px;
      padding: 30px 30px 30px 75px;
      font-size: 2.2rem;
      font-weight: 700;
      line-height: 200%;
      background-color: #ffffff;
      border-left: solid 5px #53b54d; }
      @media screen and (max-width: 767px) {
        .sec03 ul li {
          padding: 20px 20px 20px 50px;
          font-size: 1.8rem; } }
      .sec03 ul li:before {
        width: 34px;
        height: 28px;
        margin: 0 10px 0 -44px;
        content: '';
        background-image: url("../img/icon_check01.png");
        -webkit-background-size: cover;
        background-size: cover;
        display: inline-block;
        vertical-align: -0.25em; }
        @media screen and (max-width: 767px) {
          .sec03 ul li:before {
            width: 25px;
            height: 21px;
            margin: 0 10px 0 -35px; } }

.sec04 {
  padding: 80px 0;
  background-color: #f6f6f6;
  background-image: url("../img/sec04_bg.jpg");
  background-repeat: no-repeat;
  background-position: center 0;
  position: relative; }
  @media screen and (min-width: 1600px) {
    .sec04 {
      -webkit-background-size: 100%;
      background-size: 100%; } }
  .sec04:after {
    width: 0;
    height: 0;
    margin-left: -80px;
    content: '';
    border-style: solid;
    border-width: 50px 80px 0 80px;
    border-color: #f6f6f6 transparent transparent transparent;
    position: absolute;
    top: 100%;
    left: 50%; }
  .sec04 h2 {
    margin-bottom: 50px;
    text-align: center; }
  .sec04 p {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 200%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec04 p {
        font-size: 1.6rem; } }
    .sec04 p strong {
      font-size: 1.45em;
      font-weight: 700;
      color: #c74e2b;
      background: linear-gradient(transparent 80%, #fad641 80%); }
    .sec04 p em {
      font-size: 1.45em;
      font-weight: 700;
      font-style: normal; }

.sec05 {
  padding: 100px 0 80px 0; }
  .sec05 h2 {
    margin-bottom: 50px;
    text-align: center; }
  .sec05 .box {
    padding: 10px;
    background-image: url("../img/bg01.jpg");
    border: solid 4px #000000;
    position: relative; }
    .sec05 .box .img {
      width: 35%;
      position: absolute;
      right: 0;
      bottom: 0; }
      @media screen and (max-width: 767px) {
        .sec05 .box .img {
          width: 100%;
          position: static;
          text-align: center; } }
    .sec05 .box .textarea {
      width: 65%;
      padding: 32px;
      background: url("../img/icon_ten01.png") no-repeat left top, url("../img/icon_ten01.png") no-repeat right bottom; }
      @media screen and (max-width: 767px) {
        .sec05 .box .textarea {
          width: 100%;
          margin-bottom: 20px;
          padding: 40px 10px; } }
      .sec05 .box .textarea h3 {
        margin-bottom: 15px;
        font-size: 2.8rem;
        font-weight: 700; }
      .sec05 .box .textarea h4 {
        margin-bottom: 15px;
        font-size: 2.0rem;
        font-weight: 700; }
      .sec05 .box .textarea p {
        line-height: 200%; }

.sec06 {
  padding: 0 0 80px 0;
  background-color: #ebdf54; }
  .sec06 h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center;
    transform: translateY(-20px); }
    @media screen and (max-width: 767px) {
      .sec06 h2 {
        font-size: 3.2rem; } }
  .sec06 h3 {
    margin-bottom: 20px;
    padding-left: 37px;
    font-size: 2.8rem;
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      .sec06 h3 {
        font-size: 2.4rem; } }
    .sec06 h3:before {
      width: 27px;
      height: 18px;
      margin: 0 10px 0 -37px;
      content: '';
      background-image: url("../img/icon_shikaku01.png");
      -webkit-background-size: cover;
      background-size: cover;
      display: inline-block; }
  .sec06 .tab_area {
    margin-bottom: 50px; }
    .sec06 .tab_area .tab_head {
      margin-bottom: 30px;
      border-bottom: solid 2px #000000; }
      .sec06 .tab_area .tab_head > div {
        width: 32%;
        height: 87px;
        margin-right: 2%;
        margin-bottom: -2px;
        padding: 20px;
        font-size: 2.2rem;
        font-weight: 700;
        background-color: #f8f4c2;
        border: solid 2px #000000;
        display: table; }
        @media screen and (max-width: 960px) {
          .sec06 .tab_area .tab_head > div {
            width: calc((100% + 4px) / 3);
            height: 80px;
            margin-right: -2px;
            padding: 10px;
            font-size: 1.8rem; } }
        .sec06 .tab_area .tab_head > div:last-child {
          margin-right: 0; }
        .sec06 .tab_area .tab_head > div.current {
          background-color: #ebdf54;
          border-bottom-color: #ebdf54; }
        .sec06 .tab_area .tab_head > div p {
          display: table-cell;
          text-align: center;
          vertical-align: middle; }
        .sec06 .tab_area .tab_head > div span {
          margin-top: 5px;
          font-size: 1.6rem;
          display: block; }
          @media screen and (max-width: 960px) {
            .sec06 .tab_area .tab_head > div span {
              font-size: 1.2rem; } }
  .sec06 .table_title {
    margin-bottom: 20px; }
    .sec06 .table_title:after {
      content: " ";
      display: block;
      clear: both; }
    .sec06 .table_title h4 {
      padding-left: 20px;
      font-size: 2.4rem;
      font-weight: 700;
      line-height: 150%;
      float: left;
      border-left: solid 4px #000000; }
      @media screen and (max-width: 960px) {
        .sec06 .table_title h4 {
          margin-bottom: 20px;
          font-size: 2rem;
          float: none; } }
    .sec06 .table_title p {
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 150%;
      text-align: right;
      float: right; }
      @media screen and (max-width: 960px) {
        .sec06 .table_title p {
          text-align: left;
          float: none; } }
  .sec06 .tablearea01 table {
    width: 100%;
    font-size: 1.6rem;
    table-layout: fixed;
    border: solid 4px #000000; }
    @media screen and (max-width: 960px) {
      .sec06 .tablearea01 table {
        width: 864px;
        font-size: 1.4rem; } }
    .sec06 .tablearea01 table thead tr th {
      padding: 10px 5px;
      font-weight: 700;
      font-size: 1.5rem;
      text-align: center;
      vertical-align: middle;
      overflow-wrap: break-word;
      background-color: #fcd2a0;
      border: solid 1px #000000; }
      .sec06 .tablearea01 table thead tr th:first-child {
        width: 180px; }
      @media screen and (max-width: 960px) {
        .sec06 .tablearea01 table thead tr th {
          font-size: 1.3rem; } }
    .sec06 .tablearea01 table tbody tr th {
      width: 180px;
      padding: 10px;
      vertical-align: middle;
      background-color: #ffffff;
      border: solid 1px #000000; }
      @media screen and (max-width: 960px) {
        .sec06 .tablearea01 table tbody tr th {
          padding: 10px 5px; } }
      .sec06 .tablearea01 table tbody tr th p {
        display: flex;
        justify-content: space-between; }
        .sec06 .tablearea01 table tbody tr th p.small {
          font-size: 1.2rem; }
        .sec06 .tablearea01 table tbody tr th p span {
          font-weight: 700; }
      .sec06 .tablearea01 table tbody tr th small {
        margin-top: 0.5em;
        font-size: 0.875em;
        display: block; }
    .sec06 .tablearea01 table tbody tr td {
      padding: 10px;
      text-align: right;
      vertical-align: middle;
      background-color: #ffffff;
      border: solid 1px #000000; }
    .sec06 .tablearea01 table tbody tr:nth-child(even) th {
      background-color: #ebebeb; }
    .sec06 .tablearea01 table tbody tr:nth-child(even) td {
      background-color: #ebebeb; }
    .sec06 .tablearea01 table tbody tr:last-child {
      border: solid 4px #c82229; }
      .sec06 .tablearea01 table tbody tr:last-child th {
        background-color: #ffefaf; }
      .sec06 .tablearea01 table tbody tr:last-child td {
        font-weight: 700;
        background-color: #ffefaf; }
    @media screen and (max-width: 960px) {
      .sec06 .tablearea01 table tbody tr {
        padding: 10px 5px; } }
  .sec06 .tablearea01 .annotation {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .sec06 .tablearea01 .annotation {
        display: block; }
        .sec06 .tablearea01 .annotation span {
          margin-top: 1em;
          text-align: right;
          display: block; } }
  .sec06 .tablearea02 {
    margin-bottom: 50px; }
    .sec06 .tablearea02 table {
      width: 100%;
      font-size: 1.6rem;
      table-layout: fixed;
      border: solid 4px #000000; }
      @media screen and (max-width: 960px) {
        .sec06 .tablearea02 table {
          width: 864px;
          font-size: 1.4rem; } }
      .sec06 .tablearea02 table thead tr th {
        padding: 10px 5px;
        font-weight: 700;
        overflow-wrap: break-word;
        text-align: center;
        vertical-align: middle;
        background-color: #fcd2a0;
        border: solid 1px #000000; }
        .sec06 .tablearea02 table thead tr th:nth-child(2) {
          background-color: #fabf7a;
          border-top: solid 4px #c82229;
          border-left: solid 4px #c82229;
          border-right: solid 4px #c82229; }
      .sec06 .tablearea02 table tbody tr th {
        padding: 10px;
        vertical-align: middle;
        background-color: #ffffff;
        border: solid 1px #000000; }
        @media screen and (max-width: 960px) {
          .sec06 .tablearea02 table tbody tr th {
            padding: 10px 5px; } }
        .sec06 .tablearea02 table tbody tr th p {
          display: flex;
          justify-content: space-between; }
          .sec06 .tablearea02 table tbody tr th p span {
            font-weight: 700; }
        .sec06 .tablearea02 table tbody tr th small {
          margin-top: 0.5em;
          font-size: 0.875em;
          display: block; }
      .sec06 .tablearea02 table tbody tr td {
        padding: 10px;
        text-align: center;
        vertical-align: middle;
        background-color: #ffffff;
        border: solid 1px #000000; }
        .sec06 .tablearea02 table tbody tr td:nth-child(2) {
          font-weight: 700;
          background-color: #fff2be !important;
          border-left: solid 4px #c82229;
          border-right: solid 4px #c82229; }
        @media screen and (max-width: 960px) {
          .sec06 .tablearea02 table tbody tr td {
            padding: 10px 5px; } }
      .sec06 .tablearea02 table tbody tr:nth-child(even) th {
        background-color: #ebebeb; }
      .sec06 .tablearea02 table tbody tr:nth-child(even) td {
        background-color: #ebebeb; }
      .sec06 .tablearea02 table tbody tr:last-child td:nth-child(2) {
        border-bottom: solid 4px #c82229;
        border-left: solid 4px #c82229;
        border-right: solid 4px #c82229; }
    .sec06 .tablearea02 .annotation {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 767px) {
        .sec06 .tablearea02 .annotation {
          display: block; }
          .sec06 .tablearea02 .annotation span {
            margin-top: 1em;
            text-align: right;
            display: block; } }
  .sec06 .textarea .box {
    padding: 30px;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 200%;
    text-align: center;
    background-color: #ffffff;
    border: solid 4px #000000; }
    @media screen and (max-width: 767px) {
      .sec06 .textarea .box {
        padding: 20px;
        font-size: 2.2rem; } }
  .sec06 .textarea .arrow {
    margin: 20px 0;
    text-align: center; }
  .sec06 .textarea p {
    font-size: 3.6rem;
    font-weight: 700;
    text-align: center;
    line-height: 200%; }
    @media screen and (max-width: 767px) {
      .sec06 .textarea p {
        font-size: 2.2rem; } }
    .sec06 .textarea p strong {
      font-size: 1.33em;
      font-weight: 700;
      background: linear-gradient(transparent 80%, #ffffff 80%); }
    .sec06 .textarea p small {
      font-size: 0.66em;
      font-weight: 700; }

.sec07 {
  padding: 80px 0;
  background-image: url("../img/bg_sky_stripes.jpg"); }
  .sec07 h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec07 h2 {
        font-size: 3.2rem; } }
  .sec07 ol {
    list-style: none; }
    .sec07 ol li {
      margin-bottom: 60px;
      padding: 30px;
      background-color: #ffffff; }
      .sec07 ol li:after {
        content: " ";
        display: block;
        clear: both; }
      .sec07 ol li h3 {
        width: 90%;
        margin: -60px auto 20px auto;
        padding: 20px 20px 20px 140px;
        font-size: 3.0rem;
        font-weight: 700;
        line-height: 150%;
        color: #53b54d;
        position: relative;
        z-index: 10; }
        @media screen and (max-width: 767px) {
          .sec07 ol li h3 {
            padding: 15px 15px 15px 90px;
            font-size: 1.8rem; } }
        .sec07 ol li h3:before {
          width: 125px;
          height: 90px;
          content: '';
          -webkit-background-size: cover;
          background-size: cover;
          position: absolute;
          top: -10px;
          left: 10px; }
          @media screen and (max-width: 767px) {
            .sec07 ol li h3:before {
              width: 80px;
              height: 58px; } }
        .sec07 ol li h3:after {
          width: 100%;
          height: 100%;
          content: '';
          background-color: #ffffff;
          border: solid 4px #53b54d;
          transform: skew(-10deg);
          position: absolute;
          top: 0;
          left: 0;
          z-index: -1; }
      .sec07 ol li p {
        width: 60%;
        float: left;
        line-height: 200%; }
        @media screen and (max-width: 767px) {
          .sec07 ol li p {
            width: 100%;
            margin-bottom: 20px;
            float: none; } }
      .sec07 ol li .img {
        width: 38%;
        float: right;
        text-align: right; }
        @media screen and (max-width: 767px) {
          .sec07 ol li .img {
            width: 100%;
            float: none;
            text-align: center; } }
      .sec07 ol li:nth-child(1) h3:before {
        background-image: url("../img/sec07_point1.png"); }
      .sec07 ol li:nth-child(2) h3:before {
        background-image: url("../img/sec07_point2.png"); }
      .sec07 ol li:nth-child(3) h3:before {
        background-image: url("../img/sec07_point3.png"); }
      .sec07 ol li:nth-child(4) h3:before {
        background-image: url("../img/sec07_point4.png"); }
      .sec07 ol li:nth-child(5) h3:before {
        background-image: url("../img/sec07_point5.png"); }
      .sec07 ol li:nth-child(6) h3:before {
        background-image: url("../img/sec07_point6.png"); }
  .sec07 .cv {
    padding: 0;
    background-image: none; }

.sec08 {
  padding: 80px 0;
  background-color: #f6f6f6; }
  .sec08 h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec08 h2 {
        font-size: 3.2rem; } }
  .sec08 .movie {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden; }
    .sec08 .movie iframe {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      border: solid 6px #4abce6; }

.sec09 {
  padding: 80px 0; }
  .sec09 h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec09 h2 {
        font-size: 3.2rem; } }
  .sec09 p {
    text-align: center; }

.sec10 {
  padding: 80px 0;
  background-color: #f6f6f6;
  position: relative; }
  .sec10:after {
    width: 0;
    height: 0;
    margin-left: -80px;
    content: '';
    border-style: solid;
    border-width: 50px 80px 0 80px;
    border-color: #f6f6f6 transparent transparent transparent;
    position: absolute;
    top: 100%;
    left: 50%; }
  .sec10 .inner {
    position: relative;
    z-index: 10; }
    @media screen and (max-width: 767px) {
      .sec10 .inner {
        padding-bottom: 40px; } }
    .sec10 .inner .img {
      width: 65%;
      max-width: 621px;
      position: absolute;
      bottom: -80px;
      right: -15%;
      z-index: -1; }
      @media screen and (max-width: 767px) {
        .sec10 .inner .img {
          overflow: hidden;
          right: -20%; }
          .sec10 .inner .img img {
            transform: translateY(30%); } }
  .sec10 h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec10 h2 {
        font-size: 3.2rem; } }
  .sec10 ol {
    list-style: none; }
    .sec10 ol li {
      margin-bottom: 30px; }
      .sec10 ol li h3 {
        margin-bottom: 15px;
        padding: 15px 15px 15px 100px;
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 150%;
        color: #b14e31;
        background-color: #ffffff;
        box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.1);
        display: inline-block;
        position: relative; }
        @media screen and (max-width: 767px) {
          .sec10 ol li h3 {
            font-size: 2.0rem; } }
        .sec10 ol li h3:before {
          width: 85px;
          height: 100%;
          content: '';
          background-color: #b14e31;
          background-repeat: no-repeat;
          background-position: center center;
          position: absolute;
          top: 0;
          left: 0; }
      .sec10 ol li p {
        padding-left: 39px;
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 150%;
        text-shadow: 0 0 4px #ffffff; }
        @media screen and (max-width: 767px) {
          .sec10 ol li p {
            font-size: 2.0rem; } }
        .sec10 ol li p:before {
          width: 29px;
          height: 21px;
          margin: 0 10px 0 -39px;
          content: '';
          background-image: url("../img/icon_arrow02.png");
          -webkit-background-size: cover;
          background-size: cover;
          display: inline-block;
          vertical-align: -2px; }
      .sec10 ol li:nth-child(1) h3:before {
        background-image: url("../img/sec10_risk1.png"); }
      .sec10 ol li:nth-child(2) h3:before {
        background-image: url("../img/sec10_risk2.png"); }
      .sec10 ol li:nth-child(3) h3:before {
        background-image: url("../img/sec10_risk3.png"); }
      .sec10 ol li:nth-child(4) {
        margin-bottom: 0; }
        .sec10 ol li:nth-child(4) h3:before {
          background-image: url("../img/sec10_risk4.png"); }

.sec11 {
  padding: 80px 0;
  background-image: url("../img/bg_sky_stripes.jpg"); }
  .sec11 h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec11 h2 {
        font-size: 3.2rem; } }
  .sec11 .box {
    background-color: #ffffff;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.1); }
    .sec11 .box .img {
      margin-bottom: 40px; }
    .sec11 .box h3 {
      margin-bottom: 20px;
      padding: 0 1em;
      font-size: 4.0rem;
      font-weight: 700;
      line-height: 150%;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .sec11 .box h3 {
          font-size: 2.8rem; } }
    .sec11 .box p {
      margin-bottom: 40px;
      padding: 0 1em;
      line-height: 200%;
      text-align: center; }
      .sec11 .box p b {
        font-weight: 700; }
    .sec11 .box h4 {
      margin-bottom: 40px;
      padding: 15px;
      font-size: 3.0rem;
      font-weight: 700;
      text-align: center;
      color: #ffffff;
      background-color: #53b54d; }
      @media screen and (max-width: 767px) {
        .sec11 .box h4 {
          font-size: 2.2rem; } }
    .sec11 .box ol {
      padding: 0 30px 30px 30px;
      list-style: none; }
      .sec11 .box ol li {
        margin-bottom: 20px;
        padding-left: 43px;
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 150%; }
        @media screen and (max-width: 767px) {
          .sec11 .box ol li {
            padding-left: 36px;
            font-size: 1.8rem; } }
        .sec11 .box ol li:before {
          width: 33px;
          height: 33px;
          margin: 0 10px 0 -43px;
          content: '';
          -webkit-background-size: cover;
          background-size: cover;
          display: inline-block;
          vertical-align: -5px; }
          @media screen and (max-width: 767px) {
            .sec11 .box ol li:before {
              width: 26px;
              height: 26px;
              margin: 0 10px 0 -36px; } }
        .sec11 .box ol li:nth-child(1):before {
          background-image: url("../img/sec11_no1.png"); }
        .sec11 .box ol li:nth-child(2):before {
          background-image: url("../img/sec11_no2.png"); }
        .sec11 .box ol li:nth-child(3):before {
          background-image: url("../img/sec11_no3.png"); }
        .sec11 .box ol li:nth-child(4):before {
          background-image: url("../img/sec11_no4.png"); }
        .sec11 .box ol li:nth-child(5):before {
          background-image: url("../img/sec11_no5.png"); }
        .sec11 .box ol li:nth-child(6):before {
          background-image: url("../img/sec11_no6.png"); }
        .sec11 .box ol li:nth-child(7):before {
          background-image: url("../img/sec11_no7.png"); }
        .sec11 .box ol li:nth-child(8):before {
          background-image: url("../img/sec11_no8.png"); }

.sec12 {
  padding: 80px 0 40px 0;
  background-color: #fad641; }
  .sec12 h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec12 h2 {
        font-size: 3.2rem; } }
  .sec12 .box {
    padding: 10px;
    background-color: #ffffff;
    border: solid 4px #000000; }
    .sec12 .box dl {
      padding: 32px;
      background: url("../img/icon_ten01.png") no-repeat left top, url("../img/icon_ten01.png") no-repeat right bottom; }
      .sec12 .box dl dt {
        margin-bottom: 20px;
        padding-bottom: 20px;
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 150%;
        border-bottom: solid 2px #000000; }
      .sec12 .box dl dd {
        margin-bottom: 10px;
        padding-left: 35px;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 200%; }
        .sec12 .box dl dd:before {
          width: 25px;
          height: 21px;
          margin: 0 10px 0 -35px;
          content: '';
          background-image: url("../img/icon_fukidashi.png");
          display: inline-block;
          vertical-align: -5px; }

.sec13 {
  padding: 40px 0 80px 0;
  background-color: #fad641; }
  .sec13 h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .sec13 h2 {
        font-size: 3.2rem; } }
  .sec13 ul {
    list-style: none; }
    .sec13 ul li {
      margin-bottom: 60px; }
      .sec13 ul li:after {
        content: " ";
        display: block;
        clear: both; }
      .sec13 ul li .img {
        width: 35%;
        padding: 25px 15px;
        float: left;
        text-align: center; }
        @media screen and (max-width: 767px) {
          .sec13 ul li .img {
            width: 100%;
            margin-bottom: 30px;
            padding: 0;
            float: none !important; } }
      .sec13 ul li .box {
        width: 65%;
        float: right;
        padding: 10px;
        background-color: #ffffff;
        border: solid 4px #000000;
        position: relative; }
        @media screen and (max-width: 767px) {
          .sec13 ul li .box {
            width: 100%;
            float: none !important; } }
        .sec13 ul li .box:after {
          width: 0;
          height: 0;
          content: " ";
          border: solid transparent;
          border-width: 15px;
          border-color: rgba(0, 0, 0, 0);
          border-right-color: #000000;
          position: absolute;
          right: 100%;
          top: 30%;
          pointer-events: none; }
          @media screen and (max-width: 767px) {
            .sec13 ul li .box:after {
              margin-left: -15px;
              border-color: rgba(0, 0, 0, 0) !important;
              border-bottom-color: #000000 !important;
              left: 50% !important;
              right: auto !important;
              top: auto;
              bottom: 100%; } }
        .sec13 ul li .box .textarea {
          padding: 32px;
          background: url("../img/icon_ten01.png") no-repeat left top, url("../img/icon_ten01.png") no-repeat right bottom; }
          .sec13 ul li .box .textarea p {
            line-height: 200%; }
      .sec13 ul li:nth-child(even) .img {
        float: right; }
      .sec13 ul li:nth-child(even) .box {
        float: left; }
        .sec13 ul li:nth-child(even) .box:after {
          border-right-color: transparent;
          border-left-color: #000000;
          left: 100%;
          right: auto; }

.sec14 {
  padding: 80px 0;
  background-color: #f6f6f6; }
  .sec14 .inner {
    display: flex; }
    @media screen and (max-width: 767px) {
      .sec14 .inner {
        display: block; } }
    .sec14 .inner .company {
      width: 35%;
      padding: 30px;
      background-color: #ffffff; }
      @media screen and (max-width: 767px) {
        .sec14 .inner .company {
          width: 100%;
          margin-bottom: 20px; } }
      .sec14 .inner .company dl dt {
        margin-bottom: 20px;
        font-size: 2.4rem;
        font-weight: 700;
        color: #4abce6; }
        .sec14 .inner .company dl dt span {
          font-size: 0.66em;
          color: #000000;
          display: inline-block; }
      .sec14 .inner .company dl dd.logo {
        margin-bottom: 20px;
        text-align: center; }
      .sec14 .inner .company dl dd.detail table {
        width: 100%;
        font-size: 1.5rem;
        line-height: 125%; }
        .sec14 .inner .company dl dd.detail table tbody tr th {
          width: 100px;
          padding: 10px 0;
          text-align: left;
          border-bottom: solid 1px #cccccc; }
        .sec14 .inner .company dl dd.detail table tbody tr td {
          padding: 10px 0;
          border-bottom: solid 1px #cccccc; }
        @media screen and (min-width: 768px) and (max-width: 960px) {
          .sec14 .inner .company dl dd.detail table {
            display: block; }
            .sec14 .inner .company dl dd.detail table tbody {
              display: block; }
              .sec14 .inner .company dl dd.detail table tbody tr {
                display: block; }
                .sec14 .inner .company dl dd.detail table tbody tr th {
                  width: 100%;
                  padding-bottom: 0;
                  display: block;
                  border-bottom: none; }
                .sec14 .inner .company dl dd.detail table tbody tr td {
                  display: block; } }
    .sec14 .inner .map {
      width: 63%;
      margin-left: 2%; }
      @media screen and (max-width: 767px) {
        .sec14 .inner .map {
          width: 100%;
          height: 480px;
          margin: 0; } }
      .sec14 .inner .map iframe {
        width: 100%;
        height: calc(50% - 10px);
        border: none; }
        @media screen and (max-width: 767px) {
          .sec14 .inner .map iframe {
            height: 230px; } }
        .sec14 .inner .map iframe:nth-child(1) {
          margin-bottom: 20px; }

.sec_copyright {
  padding: 20px 0;
  text-align: center;
  background-color: #ececec; }

.cv {
  padding: 40px 0;
  background-image: url("../img/bg_sky_stripes.jpg");
  background-position: center center; }
  @media screen and (max-width: 767px) {
    .cv {
      padding: 20px 0; } }
  .cv p {
    margin-bottom: 20px;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 150%;
    text-align: center;
    color: #ffffff; }
    @media screen and (max-width: 767px) {
      .cv p {
        font-size: 2.0rem; } }
  .cv .btn {
    display: flex;
    justify-content: space-between; }
    .cv .btn a:hover {
      opacity: 0.5; }

.side_form {
  width: 270px;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 90;
  transition: bottom 0.5s; }
  .side_form.close {
    bottom: -632px; }
    .side_form.close dl dt span {
      background-image: url("../img/form_open.png"); }
  .side_form dl {
    background-color: #ffffff;
    border: solid 2px #4abce6; }
    .side_form dl dt {
      padding: 10px;
      font-size: 2.0rem;
      font-weight: 700;
      text-align: center;
      color: #ffffff;
      background-color: #4abce6;
      position: relative; }
      .side_form dl dt span {
        width: 21px;
        height: 21px;
        cursor: pointer;
        background-image: url("../img/form_close.png");
        display: block;
        position: absolute;
        top: 10px;
        right: 10px; }
    .side_form dl dd {
      padding: 5px 15px;
      font-size: 1.3rem; }
      .side_form dl dd:first-of-type {
        padding-top: 15px; }
      .side_form dl dd:last-of-type {
        padding-bottom: 15px; }
      .side_form dl dd label {
        font-weight: 700;
        line-height: 200%;
        display: block; }
        .side_form dl dd label.required {
          position: relative; }
          .side_form dl dd label.required:after {
            width: 36px;
            height: 20px;
            content: '';
            background-image: url("../img/icon_hissu.png");
            -webkit-background-size: cover;
            background-size: cover;
            position: absolute;
            top: 3px;
            right: 0; }
      .side_form dl dd input[type="text"], .side_form dl dd input[type="tel"], .side_form dl dd input[type="email"], .side_form dl dd select {
        width: 100%;
        padding: 5px;
        border: solid 1px #e4dcc8; }
      .side_form dl dd input[name="郵便番号"] {
        width: 50%; }
        .side_form dl dd input[name="郵便番号"] + a {
          margin-left: 10px;
          color: #000000;
          text-decoration: underline;
          display: inline-block; }
          .side_form dl dd input[name="郵便番号"] + a:before {
            width: 10px;
            height: 17px;
            margin-right: 5px;
            content: '';
            background-image: url("../img/icon_arrow01.png");
            display: inline-block;
            vertical-align: middle;
            transform: rotate(180deg); }
      .side_form dl dd .annotation {
        font-size: 1.1rem;
        color: #777777; }
      .side_form dl dd.checkbox {
        text-align: center; }
        .side_form dl dd.checkbox a {
          font-size: 1.1rem;
          color: #000000; }
          .side_form dl dd.checkbox a + label {
            margin-top: 10px; }
        .side_form dl dd.checkbox label {
          font-weight: 400; }
      .side_form dl dd.submit input[type="submit"] {
        width: 100%;
        height: 37px;
        font-size: 1.8rem;
        font-weight: 700;
        text-align: center;
        color: #ffffff;
        background-color: #52c14b;
        border: none;
        border-radius: 5px; }

@media screen and (max-width: 767px) {
  .bottom_bnr {
    width: 100%;
    padding: 10px;
    display: flex;
    background-image: url("../img/bottom_bnr_bg.jpg");
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90; }
    .bottom_bnr a {
      width: 48%;
      margin: 0 1%; }
      .bottom_bnr a img {
        width: 100%; } }

.contact_logo {
  width: 220px;
  height: 86px;
  margin: 50px auto;
  background-image: url("../img/logo.jpg");
  -webkit-background-size: cover;
  background-size: cover;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden; }

.contact_bigining {
  margin-bottom: 40px; }
  .contact_bigining h2 {
    margin-bottom: 50px;
    font-size: 4.5rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .contact_bigining h2 {
        font-size: 3.2rem; } }
  .contact_bigining h3 {
    margin-bottom: 30px;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 150%; }
  .contact_bigining p {
    line-height: 200%; }

.contact_form {
  margin-bottom: 40px; }
  .contact_form table {
    width: 100%;
    margin-top: -10px;
    border-collapse: separate;
    border-spacing: 0 10px; }
    .contact_form table tbody tr th {
      width: 310px;
      padding: 15px 65px 15px 15px;
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 125%;
      text-align: left;
      vertical-align: middle;
      color: #ffffff;
      background-color: #4abce6; }
      .contact_form table tbody tr th.required {
        position: relative; }
        .contact_form table tbody tr th.required:after {
          width: 45px;
          height: 25px;
          margin-top: -13px;
          content: '';
          background-image: url("../img/icon_hissu.png");
          -webkit-background-size: cover;
          background-size: cover;
          position: absolute;
          top: 50%;
          right: 10px; }
    .contact_form table tbody tr td {
      padding: 15px;
      font-size: 1.5rem;
      line-height: 150%;
      vertical-align: middle;
      background-color: #eeeeee; }
      .contact_form table tbody tr td input[type="text"], .contact_form table tbody tr td input[type="tel"], .contact_form table tbody tr td input[type="email"], .contact_form table tbody tr td select {
        width: 400px;
        padding: 10px;
        border: solid 1px #e4dcc8; }
      .contact_form table tbody tr td input[name="郵便番号"] {
        width: 25%; }
        .contact_form table tbody tr td input[name="郵便番号"] + a {
          margin-left: 10px;
          color: #000000;
          text-decoration: underline;
          display: inline-block; }
          .contact_form table tbody tr td input[name="郵便番号"] + a:before {
            width: 10px;
            height: 17px;
            margin-right: 5px;
            content: '';
            background-image: url("../img/icon_arrow01.png");
            display: inline-block;
            vertical-align: middle;
            transform: rotate(180deg); }
      .contact_form table tbody tr td textarea {
        width: 100%;
        height: 100px;
        padding: 10px;
        border: solid 1px #e4dcc8; }
      .contact_form table tbody tr td.checkbox input {
        display: inline-block;
        vertical-align: 0.01em; }
      .contact_form table tbody tr td.checkbox a {
        color: #000000;
        text-decoration: underline; }
      .contact_form table tbody tr td .annotation {
        display: block; }
      .contact_form table tbody tr td .annotation2 {
        display: block;
        color: #f54546; }
  @media screen and (max-width: 960px) {
    .contact_form table {
      margin-top: 0;
      display: block; }
      .contact_form table tbody {
        display: block; }
        .contact_form table tbody tr {
          margin-bottom: 10px;
          display: block; }
          .contact_form table tbody tr th {
            width: 100%;
            padding: 15px 66px 15px 15px;
            display: block; }
            .contact_form table tbody tr th.required:after {
              width: 36px;
              height: 20px;
              margin-top: -10px; }
          .contact_form table tbody tr td {
            display: block; }
            .contact_form table tbody tr td input[type="text"], .contact_form table tbody tr td input[type="tel"], .contact_form table tbody tr td input[type="email"], .contact_form table tbody tr td select {
              width: 100%; }
            .contact_form table tbody tr td input[name="郵便番号"] {
              width: 45%; } }
  .contact_form .submit {
    margin-top: 40px;
    text-align: center; }
    .contact_form .submit input[type="submit"] {
      width: 300px;
      max-width: 80%;
      height: 60px;
      font-size: 2.0rem;
      font-weight: 700;
      text-align: center;
      color: #ffffff;
      background-color: #52c14b;
      border: none;
      border-radius: 5px; }

.page_back {
  margin-bottom: 80px; }
  .page_back a {
    color: #000000;
    display: inline-block;
    text-align: center; }
    .page_back a:before {
      width: 10px;
      height: 17px;
      margin: 0 10px 0 0;
      content: '';
      background-image: url("../img/icon_arrow01.png");
      display: inline-block;
      vertical-align: -2px; }

.mb05em {
  margin-bottom: 0.5em; }

.mb1em {
  margin-bottom: 1em; }
