@charset "UTF-8";
.gra-top {
  background: -moz-linear-gradient(top, #5DAB69, #5DAB92);
  background: -webkit-linear-gradient(top, #5DAB69, #5DAB92);
  background: linear-gradient(to bottom, #5DAB69, #5DAB92); }

.gra-left {
  background: -moz-linear-gradient(left, #5DAB69, #5DAB92);
  background: -webkit-linear-gradient(left, #5DAB69, #5DAB92);
  background: linear-gradient(to right, #5DAB69, #5DAB92); }

#head-wrap {
  box-shadow: 0 1px 4px 0 rgba(32, 33, 36, 0.1);
  z-index: 9999;
  position: relative; }

#head-item {
  box-sizing: border-box;
  padding: 10px 20px;
  font-weight: bold;
  text-align: center; }
  #head-item .logo h1 {
    font-size: 2.0rem;
    margin: 0;
    padding: 0;
    font-weight: bold;
    font-family: 'M PLUS 1p', sans-serif;
    letter-spacing: .1em; }
    #head-item .logo h1 a {
      color: #333;
      text-decoration: none; }
    #head-item .logo h1 span {
      font-weight: normal; }
  #head-item .clinic-name {
    font-size: 1.4rem;
    letter-spacing: .1em; }

.main-top-img {
  position: relative;
  box-sizing: border-box;
  padding: 5px; }
  .main-top-img:before {
    content: "";
    position: absolute;
    bottom: -35px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 20px solid #5DAB92; }

#main-visual {
  position: relative;
  background: url(../../img/mainVisual.jpg) no-repeat;
  background-position: right 25% top 0;
  background-size: cover;
  margin: 0 0 20px 20%;
  height: 100vh;
  max-height: 350px; }
  #main-visual .copy {
    position: absolute;
    left: -25%;
    bottom: 10%; }
    #main-visual .copy p {
      font-size: 1.7rem;
      font-weight: bold;
      box-sizing: border-box; }
      #main-visual .copy p span {
        background: #333;
        color: #fff;
        padding: 0.2em 0 0.2em 0.4em;
        line-height: 2.0;
        display: inline-block; }
      #main-visual .copy p:last-child {
        margin: 0.5em 0 0; }

section {
  padding: 40px 0; }

#essentials-block,
#recommend-block {
  padding: 40px 0 0; }

.section-img01 {
  margin: 50px 0 0;
  background: url(../img/bg_section01.png) no-repeat bottom center;
  background-size: cover;
  min-height: 100px; }

.section-img02 {
  margin: 50px 0 0;
  background: url(../img/bg_section02.png) no-repeat bottom center;
  background-size: cover;
  min-height: 100px; }

.bg01 {
  background: #EEEEF1; }

.bg02 {
  background: #fcfcfc; }

.inner {
  margin: 0 10px; }

.reg-title {
  position: relative; }
  .reg-title:before {
    content: "";
    position: absolute;
    bottom: -10px;
    left: calc(50% - 25px);
    display: block;
    width: 50px;
    height: 2px;
    background: #5DAB92;
    z-index: 10; }

.line-title {
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
  padding: 0.25em 0 0.35em; }

.op-list {
  letter-spacing: -.5em;
  font-size: 0; }
  .op-list li {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
    width: 49%;
    margin: 0 2% 2% 0;
    text-align: center; }
    .op-list li:nth-child(2n) {
      margin: 0 0 2% 0; }
    .op-list li .graph {
      display: block; }
    .op-list li .op-list-inner {
      box-sizing: border-box;
      padding: 10px;
      border-left: 1px solid #E5E5E5;
      border-right: 1px solid #E5E5E5;
      border-bottom: 1px solid #E5E5E5;
      min-height: 202px; }
    .op-list li h3 {
      font-size: 1.4rem;
      font-weight: bold;
      background: #333;
      color: #fff;
      padding: 0.25em 0;
      letter-spacing: .1em; }
    .op-list li p {
      font-size: 1.4rem;
      font-weight: bold;
      letter-spacing: .05em; }
      .op-list li p.num-txt {
        font-size: 2.4rem;
        margin: 0 0 5px; }
        .op-list li p.num-txt span {
          font-size: 1.4rem; }
      .op-list li p.name {
        font-size: 1.2rem;
        background: #E6F3EF;
        border-radius: 20px;
        line-height: 1.3;
        padding: 0.25em 0 0.4em; }
      .op-list li p.result {
        font-size: 1.8rem; }
        .op-list li p.result span {
          font-size: 1.2rem; }
    .op-list li .icon {
      display: block;
      margin: 0 auto 5px;
      max-width: 60px; }

.common-box {
  box-sizing: border-box;
  padding: 10px;
  background: #fff; }

.sumally-box {
  box-sizing: border-box;
  padding: 15px;
  background: #EEEEF1; }

.essentials-table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 2px solid #333;
  letter-spacing: .05em; }
  .essentials-table th,
  .essentials-table td {
    box-sizing: border-box;
    font-weight: normal;
    text-align: left;
    display: block;
    padding: 1.0em; }
  .essentials-table th {
    background: #333;
    color: #fff;
    padding: 0.5em 1.5em;
    font-weight: bold; }
  .essentials-table td {
    padding: 1.0em 1.5em 1.5em; }
    .essentials-table td p {
      margin: 0 0 1.0em; }
      .essentials-table td p:last-child {
        margin: 0; }
    .essentials-table td .co-at-txt {
      font-size: 1.2rem;
      font-weight: bold;
      color: #808080;
      text-align: right; }
    .essentials-table td .numb {
      font-weight: bold;
      font-size: 2.0rem; }
    .essentials-table td .numb-list {
      box-sizing: border-box;
      padding: 1.0em;
      border: 1px solid #EEEEF1;
      margin: 0 0 2.0em; }
      .essentials-table td .numb-list li {
        font-size: 1.6rem;
        margin: 0 0 0.5em; }
        .essentials-table td .numb-list li:last-child {
          margin: 0; }
        .essentials-table td .numb-list li .year {
          background: #EEEEF1;
          display: inline-block;
          padding: 0 0.25em 0 0.4em;
          margin: 0 0.5em 0 0;
          letter-spacing: .1em;
          box-sizing: border-box;
          min-width: 54px;
          text-align: center; }
        .essentials-table td .numb-list li .yen {
          font-size: 1.2rem; }
  .essentials-table .time-list {
    margin: 0 0 2.0em; }
    .essentials-table .time-list li {
      font-size: 1.6rem; }
      .essentials-table .time-list li:last-child {
        margin: 0.5em 0 0; }
      .essentials-table .time-list li span {
        background: #EEEEF1;
        display: inline-block;
        padding: 0 0.25em 0.25em 0.4em;
        margin: 0 0.5em 0 0;
        letter-spacing: .1em;
        box-sizing: border-box;
        font-size: 1.4rem; }
  .essentials-table .time-pattern-list li {
    margin: 0 0 2.0em;
    letter-spacing: -.5em;
    font-size: 1.2rem;
    display: inline-block;
    vertical-align: top; }
    .essentials-table .time-pattern-list li:first-child {
      margin: 0 30px 0 0; }
    .essentials-table .time-pattern-list li:last-child {
      margin: 0;
      display: block; }
    .essentials-table .time-pattern-list li p {
      letter-spacing: .05em;
      margin: 0; }
      .essentials-table .time-pattern-list li p.lead {
        margin: 0 0 0.25em; }
        .essentials-table .time-pattern-list li p.lead span {
          background: #333;
          color: #fff;
          display: inline-block;
          padding: 0 0.5em 0.25em; }
  .essentials-table .land-list {
    margin: 0 0 1.5em; }
    .essentials-table .land-list li {
      margin: 0 0 2.5em;
      overflow: hidden; }
      .essentials-table .land-list li .box-l {
        display: block;
        border: 1px solid #333;
        text-align: center;
        padding: 4px 6px 6px;
        margin: 0 0 0.5em;
        font-weight: bold;
        box-sizing: border-box; }
      .essentials-table .land-list li .box-r {
        box-sizing: border-box; }
        .essentials-table .land-list li .box-r .mini {
          display: block;
          font-size: 1.2rem; }
      .essentials-table .land-list li:last-child {
        margin: 0; }
        .essentials-table .land-list li:last-child .mini {
          margin: 0.5em 0 0; }
  .essentials-table .mid-txt {
    font-size: 1.2rem; }
  .essentials-table .mb-mid {
    margin: 0 0 3.0em; }
  .essentials-table .land-ex-list {
    box-sizing: border-box;
    padding: 1.5em 1.0em 1.5em 2.75em;
    border: 1px solid #CBCBCB;
    position: relative; }
    .essentials-table .land-ex-list:before {
      content: "(例)";
      position: absolute;
      left: 12.5px;
      top: 18px;
      text-align: center;
      font-size: 1.2rem; }
    .essentials-table .land-ex-list li {
      font-size: 1.2rem;
      margin: 0 0 0.5em;
      line-height: 1.4;
      padding: 0 0 0 1.0em;
      text-indent: -1.0em; }
      .essentials-table .land-ex-list li:last-child {
        margin: 0; }

.arrow-txt {
  position: relative;
  padding: 0 0 0 28px; }
  .arrow-txt:before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 20px;
    height: 8px;
    background: url(../img/arrow01.svg) no-repeat;
    background-size: contain; }

.benefits-box {
  margin: 50px 0 0;
  position: relative; }
  .benefits-box:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -30px;
    width: 50px;
    height: 15px;
    background: url(../img/arrow02.svg) no-repeat;
    background-size: contain;
    margin: 0 auto; }
  .benefits-box h3 {
    text-align: center;
    font-weight: bold;
    font-size: 2.0rem;
    background: #333;
    color: #fff;
    padding: 0.5em 0;
    letter-spacing: .1em; }
  .benefits-box .benefits-box-inner {
    box-sizing: border-box;
    padding: 15px 10px;
    border-left: 2px solid #333;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333; }
    .benefits-box .benefits-box-inner ul {
      letter-spacing: -.5em; }
      .benefits-box .benefits-box-inner ul li {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top;
        width: 49%;
        margin: 0 2% 2% 0;
        text-align: center;
        border: 1px solid #E5E5E5;
        box-sizing: border-box;
        padding: 1.0em;
        font-weight: bold;
        min-height: 140px; }
        .benefits-box .benefits-box-inner ul li:nth-child(2n) {
          margin: 0 0 2% 0; }
        .benefits-box .benefits-box-inner ul li:nth-child(7) {
          margin: 0 2% 0 0; }
        .benefits-box .benefits-box-inner ul li:nth-child(8) {
          margin: 0; }
        .benefits-box .benefits-box-inner ul li span {
          display: block;
          width: 60px;
          margin: 0 auto 5px; }
        .benefits-box .benefits-box-inner ul li p {
          letter-spacing: .05em; }

.gra-title {
  font-size: 2.0rem;
  color: #fff;
  padding: 0.5em 0;
  margin: 0;
  line-height: 1.4; }

.introduction-wrap {
  box-sizing: border-box;
  padding: 15px 10px;
  border-left: 2px solid #333;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333; }

.introduction-box {
  background: #EEEEF1;
  padding: 10px;
  box-sizing: border-box; }

.introduction-content {
  box-sizing: border-box;
  background: #fff;
  padding: 20px;
  box-shadow: 0px 0px 3px -2px #777777;
  margin: 0 0 10px; }
  .introduction-content:last-child {
    margin: 0; }
  .introduction-content:nth-child(2) .item-txt .num:before {
    content: "2"; }
  .introduction-content:nth-child(3) .item-txt .num:before {
    content: "3"; }
  .introduction-content:nth-child(4) .item-txt .num:before {
    content: "4"; }
  .introduction-content:nth-child(5) .item-txt .num:before {
    content: "5"; }
  .introduction-content:nth-child(6) .item-txt .num:before {
    content: "6"; }
  .introduction-content:nth-child(7) .item-txt .num:before {
    content: "7"; }
  .introduction-content:nth-child(8) .item-txt .num:before {
    content: "8"; }
  .introduction-content:nth-child(9) .item-txt .num:before {
    content: "9"; }
  .introduction-content:nth-child(10) .item-txt .num:before {
    content: "10"; }
  .introduction-content:nth-child(11) .item-txt .num:before {
    content: "11"; }
  .introduction-content:nth-child(12) .item-txt .num:before {
    content: "12"; }
  .introduction-content:nth-child(13) .item-txt .num:before {
    content: "13"; }
  .introduction-content:nth-child(14) .item-txt .num:before {
    content: "14"; }
  .introduction-content:nth-child(15) .item-txt .num:before {
    content: "15"; }
  .introduction-content:nth-child(16) .item-txt .num:before {
    content: "16"; }
  .introduction-content:nth-child(17) .item-txt .num:before {
    content: "17"; }
  .introduction-content:nth-child(18) .item-txt .num:before {
    content: "18"; }
  .introduction-content:nth-child(19) .item-txt .num:before {
    content: "19"; }
  .introduction-content:nth-child(20) .item-txt .num:before {
    content: "20"; }
  .introduction-content .arrow-txt {
    font-size: 1.2rem;
    letter-spacing: .05em;
    margin: 0 0 0 0.25em; }
    .introduction-content .arrow-txt:before {
      top: 5px; }
  .introduction-content .item-img {
    margin: 0 0 10px; }
  .introduction-content .item-txt .num {
    font-weight: bold;
    position: relative;
    padding: 0 0 0 32px;
    margin: 0 0 0.5em; }
    .introduction-content .item-txt .num:before {
      content: "1";
      position: absolute;
      left: 0;
      top: 0;
      width: 25px;
      height: 25px;
      line-height: 25px;
      font-weight: bold;
      text-align: center;
      color: #fff;
      background: -moz-linear-gradient(left, #5DAB69, #5DAB92);
      background: -webkit-linear-gradient(left, #5DAB69, #5DAB92);
      background: linear-gradient(to right, #5DAB69, #5DAB92);
      border-radius: 50%;
      letter-spacing: normal; }

.recommend-title .gl {
  font-size: 2.6rem;
  color: #5DAB92; }
.recommend-title .mini {
  font-size: 1.8rem; }
.recommend-title .line {
  position: relative;
  display: inline-block; }
  .recommend-title .line:before, .recommend-title .line:after {
    content: "";
    position: absolute;
    bottom: 5px;
    width: 19px;
    height: 33px; }
  .recommend-title .line:before {
    background: url(../img/title_decoA01.svg) no-repeat;
    background-size: contain;
    left: -30px; }
  .recommend-title .line:after {
    background: url(../img/title_decoA02.svg) no-repeat;
    background-size: contain;
    right: -28px; }

.recommend-content {
  margin: 0 0 50px; }
  .recommend-content:nth-child(2) .item-txt p.lead:before {
    content: "2"; }
  .recommend-content:nth-child(3) .item-txt p.lead:before {
    content: "3"; }
  .recommend-content:last-child {
    margin: 0; }
  .recommend-content .item-txt {
    box-sizing: border-box;
    background: #fff;
    padding: 1.5em;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
    min-height: 240px; }
    .recommend-content .item-txt p {
      font-size: 1.2rem;
      line-height: 2.0; }
      .recommend-content .item-txt p.lead {
        font-size: 1.8rem;
        font-weight: bold;
        position: relative;
        padding: 0 0 0 35px;
        margin: 0 0 1.0em;
        line-height: 1.6; }
        .recommend-content .item-txt p.lead:before {
          content: "1";
          position: absolute;
          left: 0;
          top: 2px;
          width: 25px;
          height: 25px;
          line-height: 25px;
          font-weight: bold;
          text-align: center;
          color: #fff;
          background: -moz-linear-gradient(left, #5DAB69, #5DAB92);
          background: -webkit-linear-gradient(left, #5DAB69, #5DAB92);
          background: linear-gradient(to right, #5DAB69, #5DAB92);
          border-radius: 50%;
          letter-spacing: 0.25em;
          font-size: 1.4rem;
          font-style: italic; }

.message-box {
  background: #fff;
  padding: 20px;
  box-sizing: border-box;
  box-shadow: 0px 0px 3px -2px #777777; }
  .message-box .item .item-img {
    margin: 0 0 20px; }
  .message-box .item .item-txt p {
    margin: 0 0 2.0em;
    line-height: 1.8; }
    .message-box .item .item-txt p:last-child {
      margin: 0; }

.merit-check {
  margin: 50px 0 0;
  position: relative; }
  .merit-check:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -30px;
    width: 50px;
    height: 15px;
    background: url(../img/arrow03.png) no-repeat;
    background-size: contain;
    margin: 0 auto; }
  .merit-check .lead {
    text-align: center;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 0.5em 0;
    color: #fff; }
    .merit-check .lead .big {
      font-size: 2.0rem; }
    .merit-check .lead .deco {
      position: relative;
      display: inline-block; }
      .merit-check .lead .deco:before, .merit-check .lead .deco:after {
        content: "";
        position: absolute;
        bottom: 5px;
        width: 13px;
        height: 24px; }
      .merit-check .lead .deco:before {
        background: url(../img/title_decoB01.svg) no-repeat;
        background-size: contain;
        left: -20px; }
      .merit-check .lead .deco:after {
        background: url(../img/title_decoB02.svg) no-repeat;
        background-size: contain;
        right: -18px; }
  .merit-check .merit-check-inner {
    box-sizing: border-box;
    background: #fff;
    padding: 15px;
    border-left: 2px solid #5DAB92;
    border-right: 2px solid #5DAB92;
    border-bottom: 2px solid #5DAB92; }
  .merit-check ul li {
    position: relative;
    margin: 0 0 1.0em;
    padding: 0 0 0 19px;
    line-height: 1.4;
    font-weight: bold; }
    .merit-check ul li:before {
      content: "";
      position: absolute;
      left: 0;
      top: 4px;
      width: 14px;
      height: 14px;
      background: url(../img/check01.svg) no-repeat;
      background-size: auto; }
    .merit-check ul li:last-child {
      margin: 0; }

.map {
  box-sizing: border-box;
  margin: 0 10px; }
  .map iframe {
    width: 100%;
    min-height: 450px;
    border: 0; }

.qa-box {
  background: #fff;
  box-sizing: border-box;
  padding: 25px 15px;
  box-shadow: 0px 0px 3px -2px #777777; }
  .qa-box dl {
    margin: 0;
    padding: 0;
    letter-spacing: .05em; }
    .qa-box dl dt,
    .qa-box dl dd {
      position: relative;
      margin: 0;
      padding: 0;
      line-height: 1.8; }
      .qa-box dl dt:before,
      .qa-box dl dd:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 25px;
        height: 25px;
        font-weight: bold;
        font-size: 1.6rem;
        text-align: center;
        box-sizing: border-box;
        line-height: 1.4; }
    .qa-box dl dt {
      padding: 0 0 0 35px;
      margin: 0 0 1.0em;
      font-weight: bold; }
      .qa-box dl dt:before {
        content: "Q";
        text-align: center;
        color: #fff;
        background: -moz-linear-gradient(left, #5DAB69, #5DAB92);
        background: -webkit-linear-gradient(left, #5DAB69, #5DAB92);
        background: linear-gradient(to right, #5DAB69, #5DAB92); }
    .qa-box dl dd {
      padding: 0 0 30px 35px;
      margin: 0 0 30px;
      border-bottom: 2px solid #f2f2f2;
      font-size: 1.2rem; }
      .qa-box dl dd:last-child {
        margin: 0;
        padding: 0 0 0 35px;
        border-bottom: 0; }
      .qa-box dl dd:before {
        content: "A";
        text-align: center;
        color: #333;
        border: 1px solid #333; }
      .qa-box dl dd span {
        font-size: 1.4rem;
        margin: 0 0 0.5em;
        display: block;
        font-weight: bold; }

/*media Queries PCサイズ（1000px以上）
----------------------------------------------------*/
@media only screen and (min-width: 1000px) {
  #head-wrap-pc {
    margin: 0 auto;
    padding: 20px 0;
    width: 1000px; }

  #head-item {
    padding: 0;
    display: flex;
    align-items: flex-end; }
    #head-item .logo,
    #head-item .clinic-name {
      display: flex;
      align-items: center; }
    #head-item .logo h1 {
      font-size: 3.0rem; }
    #head-item .clinic-name {
      margin-left: auto;
      font-size: 2.4rem;
      padding: 0 0 4px; }

  #main-visual {
    max-height: 600px;
    background-position: right 0 top 0;
    background-size: contain;
    margin: 0 0 30px 20%; }
    #main-visual .copy {
      top: 30%;
      left: -15%; }
      #main-visual .copy p {
        font-size: 4.0rem; }
        #main-visual .copy p span {
          padding: 0 0 0.2em 0.4em; }

  .main-top-img {
    padding: 25px 0; }
    .main-top-img:before {
      margin-left: -30px;
      border: 30px solid transparent;
      border-top: 40px solid #5DAB92;
      bottom: -70px; }
    .main-top-img span {
      display: block;
      width: 1000px;
      margin: 0 auto; }

  section {
    padding: 80px 0; }
    section:last-child {
      padding: 80px 0 150px; }

  .section-img01,
  .section-img02 {
    margin: 90px 0 0;
    min-height: 300px; }

  .inner {
    margin: 0 auto; }

  .reg-title:before {
    content: "";
    width: 100px;
    left: calc(50% - 50px);
    bottom: -10px; }

  .op-list {
    width: 900px;
    margin: 0 auto; }
    .op-list li {
      width: 216px;
      margin: 0 12px 12px 0; }
      .op-list li:nth-child(2n) {
        margin: 0 12px 0 0; }
      .op-list li:nth-child(4n) {
        margin: 0 0 12px; }
      .op-list li .op-list-inner {
        padding: 20px 10px;
        min-height: 230px; }
      .op-list li h3 {
        font-size: 2.0rem; }
      .op-list li .icon {
        width: 80px; }
      .op-list li .graph {
        display: block;
        padding: 0 13px;
        box-sizing: border-box; }
      .op-list li p.num-txt {
        font-size: 4.0rem; }
        .op-list li p.num-txt span {
          font-size: 2.0rem; }
      .op-list li p.result {
        font-size: 2.0rem; }
        .op-list li p.result span {
          font-size: 1.2rem; }

  #essentials-block {
    padding: 80px 0 0; }
    #essentials-block .common-box {
      padding: 30px; }

  .sumally-box {
    padding: 25px; }

  #recommend-block {
    padding: 80px 0 0; }

  .essentials-table tr {
    border-bottom: 2px dotted #CBCBCB; }
    .essentials-table tr:last-child {
      border-bottom: 0; }
  .essentials-table th,
  .essentials-table td {
    display: table-cell;
    font-size: 1.8rem; }
  .essentials-table th {
    width: 200px;
    text-align: center;
    padding: 40px 0; }
  .essentials-table td {
    width: 740px;
    padding: 40px;
    text-align: center; }
    .essentials-table td.pc-l {
      text-align: left; }
    .essentials-table td p {
      text-align: left; }
      .essentials-table td p.arrow-txt {
        font-size: 1.6rem; }
        .essentials-table td p.arrow-txt:before {
          top: 8px; }
    .essentials-table td .co-at-txt {
      font-size: 1.4rem; }
    .essentials-table td .f-mid {
      font-size: 1.6rem; }
    .essentials-table td ul {
      text-align: left; }
    .essentials-table td .numb-list {
      margin: 0 -1.0em 30px 0;
      padding: 20px; }
      .essentials-table td .numb-list li {
        display: inline-block;
        font-size: 1.8rem;
        margin: 0 1.0em 0.5em 0;
        width: 180px; }
        .essentials-table td .numb-list li:nth-child(4), .essentials-table td .numb-list li:nth-child(5) {
          margin: 0 1.0em 0 0; }
        .essentials-table td .numb-list li .yen {
          font-size: 1.6rem; }
    .essentials-table td .time-list {
      margin: 0 0 2.5em; }
      .essentials-table td .time-list li {
        display: inline-block;
        font-size: 2.0rem; }
        .essentials-table td .time-list li span {
          font-size: 1.8rem; }
        .essentials-table td .time-list li:last-child {
          margin: 0 0 0 2.0em; }
    .essentials-table td .time-pattern-list li {
      display: inline-block;
      vertical-align: top;
      margin: 0 100px 0 0; }
      .essentials-table td .time-pattern-list li:first-child {
        margin: 0 100px 0 0; }
      .essentials-table td .time-pattern-list li:last-child {
        margin: 0;
        display: inline-block; }
      .essentials-table td .time-pattern-list li p {
        font-size: 1.6rem; }
        .essentials-table td .time-pattern-list li p.lead {
          margin: 0 0 5px; }
    .essentials-table td .land-list li:last-child .mini {
      font-size: 1.4rem;
      margin: 0.25em 0 0; }
    .essentials-table td .land-list li .box-l {
      font-size: 1.6rem;
      width: 176px;
      display: block;
      border: 1px solid #333;
      text-align: center;
      padding: 4px 6px;
      box-sizing: border-box;
      float: left;
      clear: left;
      font-weight: bold; }
    .essentials-table td .land-list li .box-r {
      padding: 0 0 0 20px;
      width: 400px;
      float: left;
      box-sizing: border-box; }
    .essentials-table td .land-ex-list {
      padding: 30px 40px;
      margin: 0 0 0 -1.0em; }
      .essentials-table td .land-ex-list:before {
        left: 25px;
        top: 35px; }
      .essentials-table td .land-ex-list li {
        display: inline-block;
        margin: 0 0 0 1.0em; }
        .essentials-table td .land-ex-list li:last-child {
          margin: 0 0 0 1.0em; }
    .essentials-table td .mid-txt {
      font-size: 1.4rem; }

  .arrow-txt:before {
    top: 10px; }

  .benefits-box {
    margin: 100px 0 0; }
    .benefits-box:before {
      width: 100px;
      height: 30px;
      top: -62px; }
    .benefits-box h3 {
      font-size: 3.0rem; }
    .benefits-box .benefits-box-inner {
      padding: 18px; }
      .benefits-box .benefits-box-inner ul li {
        width: 216px;
        margin: 0 12px 15px 0;
        padding: 30px 0; }
        .benefits-box .benefits-box-inner ul li:nth-child(2n) {
          margin: 0 12px 15px 0; }
        .benefits-box .benefits-box-inner ul li:nth-child(4n) {
          margin: 0 0 15px; }
        .benefits-box .benefits-box-inner ul li:nth-child(5), .benefits-box .benefits-box-inner ul li:nth-child(6), .benefits-box .benefits-box-inner ul li:nth-child(7) {
          margin: 0 12px 0 0; }
        .benefits-box .benefits-box-inner ul li:nth-child(8) {
          margin: 0; }
        .benefits-box .benefits-box-inner ul li span {
          width: 100px;
          margin: 0 auto 10px; }
        .benefits-box .benefits-box-inner ul li p {
          font-size: 1.8rem; }

  .gra-title {
    font-size: 4.0rem; }

  .introduction-wrap {
    padding: 20px; }

  .introduction-box {
    padding: 13px; }

  .introduction-content {
    padding: 25px 30px; }
    .introduction-content .item-img {
      width: 400px; }
    .introduction-content .item-txt .num {
      font-size: 2.8rem;
      padding: 0 0 0 45px; }
      .introduction-content .item-txt .num:before {
        width: 38px;
        height: 38px;
        line-height: 38px;
        font-size: 2.0rem;
        top: 5px; }
    .introduction-content .item-txt .pc-line-one {
      padding: 70px 0 0; }
    .introduction-content .item-txt .pc-line-two {
      padding: 50px 0 0; }
    .introduction-content .item-txt .pc-line-three {
      padding: 20px 0 0; }
    .introduction-content .arrow-txt {
      font-size: 1.8rem;
      margin: 0 0 0 0.5em; }
      .introduction-content .arrow-txt:before {
        top: 10px; }
    .introduction-content .item-left {
      overflow: hidden; }
      .introduction-content .item-left .item-img {
        float: left;
        margin: 0; }
      .introduction-content .item-left .item-txt {
        float: left;
        padding: 0 0 0 40px;
        width: 430px; }
    .introduction-content .item-right {
      overflow: hidden; }
      .introduction-content .item-right .item-img {
        float: right;
        margin: 0; }
      .introduction-content .item-right .item-txt {
        float: left;
        padding: 0 40px 0 0;
        width: 430px; }

  .harf-box,
  .harf-box-end {
    width: 460px;
    min-height: 462px;
    display: inline-block;
    vertical-align: top; }

  .harf-box-end {
    margin: 0 0 0 5px; }

  .recommend-title .gl {
    font-size: 5.0rem; }
  .recommend-title .mini {
    font-size: 3.4rem; }
  .recommend-title .line:before, .recommend-title .line:after {
    width: 38px;
    height: 66px;
    bottom: 15px; }
  .recommend-title .line:before {
    left: -50px; }
  .recommend-title .line:after {
    right: -48px; }

  .recommend-content {
    margin: 0 0 30px; }
    .recommend-content:nth-child(2) .item .item-img {
      float: right; }
    .recommend-content:nth-child(2) .item .item-txt {
      float: left;
      right: auto;
      left: 0; }
    .recommend-content .item {
      position: relative;
      overflow: hidden; }
      .recommend-content .item .item-img {
        width: 500px; }
      .recommend-content .item .item-txt {
        width: 600px;
        position: absolute;
        right: 0;
        top: 110px;
        padding: 30px; }
        .recommend-content .item .item-txt p {
          font-size: 1.4rem; }
          .recommend-content .item .item-txt p.lead {
            font-size: 2.4rem;
            padding: 0 0 0 50px; }
            .recommend-content .item .item-txt p.lead:before {
              font-size: 2.4rem;
              width: 40px;
              height: 40px;
              line-height: 40px;
              top: 0; }

  .message-box {
    padding: 50px; }
    .message-box .item {
      letter-spacing: -.5em; }
      .message-box .item .item-img,
      .message-box .item .item-txt {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top; }
      .message-box .item .item-img {
        width: 280px;
        margin: 0 30px 0 0; }
      .message-box .item .item-txt {
        width: 530px;
        padding: 2.0em 0 0; }
        .message-box .item .item-txt p {
          font-size: 1.6rem;
          letter-spacing: .025em; }

  .merit-check {
    margin: 90px 0 0; }
    .merit-check .lead {
      font-size: 2.8rem;
      letter-spacing: .1em; }
      .merit-check .lead .deco:before, .merit-check .lead .deco:after {
        width: 26px;
        height: 48px; }
      .merit-check .lead .deco:before {
        left: -40px; }
      .merit-check .lead .deco:after {
        right: -38px; }
      .merit-check .lead .big {
        font-size: 3.6rem; }
    .merit-check:before {
      width: 100px;
      height: 30px;
      top: -62px; }
    .merit-check .merit-check-inner {
      padding: 45px 65px; }
    .merit-check ul li {
      font-size: 2.2rem;
      padding: 0 0 0 40px;
      width: 365px;
      display: inline-block;
      vertical-align: top; }
      .merit-check ul li:before {
        width: 28px;
        height: 28px; }

  .qa-box {
    padding: 50px; }
    .qa-box dl {
      letter-spacing: .025em; }
      .qa-box dl dt:before, .qa-box dl dd:before {
        width: 50px;
        height: 50px;
        font-size: 3.0rem;
        line-height: 1.5; }
      .qa-box dl dt {
        font-size: 2.0rem;
        padding: 0 0 0 70px;
        margin: 0 0 1.5em; }
        .qa-box dl dt:before {
          top: -4px; }
      .qa-box dl dd {
        font-size: 1.8rem;
        padding: 0 0 50px 70px;
        margin: 0 0 50px; }
        .qa-box dl dd:last-child {
          padding: 0 0 0 70px; }
        .qa-box dl dd span {
          font-size: 2.0rem;
          margin: 0; } }
