@charset "UTF-8";
/* =====================
  VIVITEK
 ======================= */
/**
 * .p-contact fix
 */
body footer {
  padding-bottom: 60px; }

/**
 * Common Style
 */
.fc_contents {
  color: #1a1a1a;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center; }
  .fc_contents img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom; }
  .fc_contents .u-only-sp {
    display: none; }
  .fc_contents * {
    box-sizing: border-box; }

.c-ttl-title, .c-ttl-title--blue {
  font-size: 307.6923076923%;
  line-height: 1.3;
  letter-spacing: 0.1em; }
  .c-ttl-title--blue {
    color: #063f98; }
.c-ttl-boxtitle {
  font-size: 138.5%;
  font-weight: bold;
  color: #003f98; }

.c-txt-b {
  background-color: #d3ff71;
  font-weight: bold; }

.c-nav-in {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 20px 10%;
  border-radius: 4px;
  border: solid 2px #0a469c;
  color: #003f98;
  font-size: 123.1%;
  font-weight: bold;
  letter-spacing: 0.02em;
  transition: all 0.5s 0s ease-out; }
  .c-nav-in:link, .c-nav-in:visited, .c-nav-in:hover, .c-nav-in:active {
    color: #003f98;
    transition: all 0.5s 0s ease-out; }
  .c-nav-in:hover {
    opacity: 0.5; }
  .c-nav-in::after {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 6.8%;
    width: 3.2px;
    height: 3.2px;
    background: transparent;
    border-style: solid;
    border-width: 0 2px 2px 0;
    border-color: #003f98;
    transform: translate(0, 0) rotate(45deg);
    backface-visibility: hidden; }

.c-ico-tag {
  padding: 3px 8px;
  display: inline-block;
  margin: 0 8px 4px 0;
  background-color: #d3ff71;
  font-size: 108%;
  font-weight: bold;
  letter-spacing: 0; }

.c-btn-contact, .c-btn-estimate {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 20px 10%;
  border-radius: 4px;
  font-size: 123.1%;
  color: #fff;
  font-weight: bold;
  transition: all 0.5s 0s ease-out; }
  .c-btn-contact:link, .c-btn-contact:visited, .c-btn-contact:hover, .c-btn-contact:active, .c-btn-estimate:link, .c-btn-estimate:visited, .c-btn-estimate:hover, .c-btn-estimate:active {
    color: #fff;
    transition: all 0.5s 0s ease-out; }
  .c-btn-contact:hover, .c-btn-estimate:hover {
    opacity: 0.5; }
  .c-btn-contact::after, .c-btn-estimate::after {
    content: "";
    display: inline-block;
    margin-left: 1.4em;
    width: 3.2px;
    height: 3.2px;
    background: transparent;
    border-style: solid;
    border-width: 0 2px 2px 0;
    border-color: #fff;
    transform: translate(0, 0) rotate(-45deg);
    backface-visibility: hidden; }
.c-btn-contact {
  background-color: #003f98; }
.c-btn-estimate {
  background-color: #197ac0; }

/**
 * Footer Link
 */
.p-contact {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
  background-color: #004098;
  padding: 15px; }
  .p-contact-in {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 123.1%;
    font-weight: 700; }
  .p-contact-link {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    color: #1a1a1a;
    padding: 17px 0;
    width: 25vw;
    max-width: 340px;
    border-radius: 5px;
    background-image: linear-gradient(to right, #fd0 0%, #ff0 100%);
    text-align: center;
    line-height: 1;
    margin-left: 32px;
    transition: all 0.5s 0s ease-out; }
    .p-contact-link:link, .p-contact-link:visited, .p-contact-link:hover, .p-contact-link:active {
      color: #1a1a1a;
      transition: all 0.5s 0s ease-out; }
    .p-contact-link:hover {
      opacity: 0.5; }
    .p-contact-link:before {
      content: "";
      position: absolute;
      left: 1.5em;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 7px 0 7px 10px;
      border-color: transparent transparent transparent currentColor;
      display: inline-block;
      vertical-align: middle; }

/**
 * First Visual
 */
.p-fv {
  background: url(../img/bg_fv_01_pc.jpg) no-repeat center/cover; }
  .p-fv__inner {
    position: relative;
    height: 560px;
    max-width: 1100px;
    width: calc(100% - 20px);
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    text-align: left; }
  .p-fv__txtbox {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    margin: auto; }
  .p-fv__subttl {
    z-index: 2;
    position: relative; }
  .p-fv__subttltxt {
    padding: 9.5px 0 5.5px;
    display: inline-flex;
    align-items: center;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.05em;
    font-size: 415.3846153846%;
    background-color: #d3ff71;
    color: #231815; }
  .p-fv__ttl {
    z-index: 2;
    position: relative;
    margin-top: 1.48em;
    font-size: 227%;
    font-weight: bold;
    color: #fff;
    text-shadow: 0px 0px 8px #000000; }
  .p-fv__img01 {
    z-index: 1;
    position: absolute;
    right: -205px;
    top: 50%;
    transform: translate(0, -50%);
    margin: auto; }

/**
 * Sections
 */
.p-innav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1118px;
  width: 100%;
  margin: 40px auto 50px; }
  .p-innav__list {
    width: calc(33.3% - 18px);
    margin: 0 9px 18px; }

.p-intro__title {
  width: calc(100% - 20px);
  margin: 0 auto 40px;
  font-size: 246.1538461538%;
  font-weight: bold;
  line-height: 1.5; }
.p-intro__inner {
  background: url("../img/bg_intro_01_pc.jpg") no-repeat center center/cover;
  padding: 85px 0 142px; }
.p-intro__box {
  max-width: 1040px;
  width: calc(100% - 20px);
  padding: 10px 20px 30px;
  margin: auto;
  border-radius: 5px;
  backdrop-filter: blur(6.2px);
  background: rgba(255, 255, 255, 0.65);
  text-align: left; }
.p-intro__txt {
  margin-top: 1.65em;
  font-size: 123.1%;
  line-height: 1.62; }

.p-about {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1360px;
  width: calc(100% - 20px);
  margin: 80px auto 88px; }
  .p-about__img01 {
    width: 48.6764705882%; }
  .p-about__box {
    width: 48.0882352941%;
    text-align: left; }
  .p-about__txt, .p-about__txt--sp {
    margin-top: 1.65em;
    font-size: 123.1%;
    line-height: 1.62; }
    .p-about__txt:first-child, .p-about__txt--sp:first-child {
      margin-top: 0.6em; }
    .p-about__txt--sp {
      margin-top: 0; }

.p-point {
  overflow: hidden;
  padding: 80px 10px 0;
  background-color: #e1e8ef;
  /* Point FV */
  /* Point nav*/
  /* Point section --------*/
  /* 2column */
  /* 3column */
  /* 1line */ }
  .p-point__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 40px;
    border-radius: 5px;
    background-color: #fff; }
  .p-point-fv {
    overflow: hidden; }
    .p-point-fv__ttl {
      text-align: left;
      float: left;
      width: 48.2352941176%; }
    .p-point-fv__img01 {
      float: right;
      width: 48.75%; }
    .p-point-fv__box {
      text-align: left;
      float: left;
      width: 48.2352941176%; }
    .p-point-fv__txt {
      margin-top: 1.65em;
      font-size: 123.1%;
      line-height: 1.62; }
  .p-point-nav {
    display: flex;
    flex-wrap: wrap;
    max-width: 1208px;
    width: 100%;
    margin: 80px auto 60px; }
    .p-point-nav__list {
      width: calc(33.3% - 16px);
      margin: 0 8px 18px; }
      .p-point-nav__list a {
        display: flex;
        align-items: stretch;
        border: solid 2px #0a469c;
        border-radius: 5px;
        background-color: #fff;
        transition: all 0.5s 0s ease-out; }
        .p-point-nav__list a:link, .p-point-nav__list a:visited, .p-point-nav__list a:hover, .p-point-nav__list a:active {
          transition: all 0.5s 0s ease-out; }
        .p-point-nav__list a:hover {
          opacity: 0.5; }
    .p-point-nav__box {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 64px;
      padding: 9px 0 5px;
      background-image: linear-gradient(to right, #197ac0, #003f98);
      text-align: center;
      font-family: "Avenir Next", Verdana, sans-serif;
      font-weight: 700;
      line-height: 1;
      color: #fff; }
      .p-point-nav__box:link, .p-point-nav__box:visited, .p-point-nav__box:hover, .p-point-nav__box:active {
        color: #fff; }
    .p-point-nav__point {
      display: block;
      font-size: 77%;
      margin-bottom: 2px; }
    .p-point-nav__num {
      display: block;
      font-size: 292.3076923077%; }
    .p-point-nav__txt {
      position: relative;
      display: flex;
      align-items: center;
      width: calc(100% - 64px);
      padding: 0 1.5em 0 1em;
      font-size: 123.1%;
      font-weight: bold;
      line-height: 1.25;
      text-align: left;
      letter-spacing: 0.06em;
      color: #003f98; }
      .p-point-nav__txt:link, .p-point-nav__txt:visited, .p-point-nav__txt:hover, .p-point-nav__txt:active {
        color: #003f98; }
      .p-point-nav__txt::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1em;
        width: 3.2px;
        height: 3.2px;
        margin: auto;
        background: transparent;
        border-style: solid;
        border-width: 0 2px 2px 0;
        border-color: #003f98;
        transform: translate(0, 0) rotate(45deg);
        backface-visibility: hidden; }
  .p-point-sec {
    margin-bottom: 80px;
    /* title */ }
    .p-point-sec__inner {
      max-width: 1100px;
      width: 100%;
      margin-right: auto;
      margin-left: auto; }
    .p-point-sec__txtbox {
      max-width: 1100px;
      width: 100%;
      margin-right: auto;
      margin-left: auto;
      text-align: justify; }
    .p-point-sec__txt, .p-point-sec__txt--block {
      display: inline;
      font-size: 123.1%;
      line-height: 1.63; }
      .p-point-sec__txt--block {
        display: block; }
    .p-point-sec__txtnote {
      display: inline;
      font-size: 93%; }
    .p-point-sec-ttl {
      display: flex;
      align-items: center;
      margin: 0 0 40px;
      padding: 32px 10.9%;
      border-radius: 5px;
      background-image: linear-gradient(to right, #197ac0 0%, #003f98 100%);
      color: #fff; }
      .p-point-sec-ttl__box {
        display: flex;
        align-items: baseline;
        font-family: "Avenir Next", Verdana, sans-serif;
        font-weight: 700;
        line-height: 1;
        color: #fff; }
      .p-point-sec-ttl__point {
        font-size: 182%;
        margin-right: 4px; }
      .p-point-sec-ttl__num {
        display: block;
        width: 74px;
        text-align: left;
        font-size: 569.2307692308%; }
      .p-point-sec-ttl__txtbox {
        padding-left: 1.4em; }
      .p-point-sec-ttl__txt {
        display: block;
        font-size: 246.1538461538%;
        font-weight: bold;
        text-align: left;
        line-height: 1.5;
        color: #fff; }
      .p-point-sec-ttl__subtxt {
        display: block;
        font-size: 123.1%;
        font-weight: normal;
        text-align: left;
        line-height: 1.3; }
  .p-point-2clm {
    display: flex;
    flex-wrap: wrap; }
    .p-point-2clm__box {
      display: flex;
      flex-direction: column;
      width: 43.6363636364%;
      margin-right: 11.2727272727%;
      margin-top: 65px;
      text-align: left; }
      .p-point-2clm__box:nth-of-type(-n + 2) {
        margin-top: 0; }
      .p-point-2clm__box:nth-of-type(2n) {
        margin-right: 0; }
    .p-point-2clm__subttl {
      margin-top: 1em;
      font-size: 123.1%;
      font-weight: bold;
      line-height: 1.63;
      text-align: left; }
    .p-point-2clm__txt {
      font-size: 123.1%;
      margin-bottom: 1.6em;
      line-height: 1.63; }
    .p-point-2clm__tagbox {
      display: flex;
      flex-wrap: wrap;
      margin: -0.7em 0 0.82em; }
    .p-point-2clm__img01 {
      margin-top: auto; }
  .p-point-3clm {
    display: flex;
    flex-wrap: wrap; }
    .p-point-3clm__box {
      display: flex;
      flex-direction: column;
      width: 30.9090909091%;
      margin-right: 3.6363636364%;
      margin-top: 40px;
      text-align: justify; }
      .p-point-3clm__box:nth-of-type(3n) {
        margin-right: 0; }
    .p-point-3clm__img01 {
      margin-top: auto; }
  .p-point-1line, .p-point-1line--rev {
    display: flex;
    justify-content: space-around;
    align-items: center; }
    .p-point-1line--rev {
      flex-direction: row-reverse; }
    .p-point-1line__box {
      width: 46.8181818182%;
      text-align: left; }
    .p-point-1line__txt {
      margin-top: 1em;
      font-size: 123.1%; }
    .p-point-1line__img01 {
      width: 46.8181818182%;
      text-align: center; }

.p-ex {
  padding-top: 80px;
  /*ec section*/ }
  .p-ex__txt {
    max-width: 1100px;
    width: calc(100% - 20px);
    margin-right: auto;
    margin-left: auto;
    margin-top: 1.65em;
    font-size: 123.1%;
    line-height: 1.62;
    text-align: left; }
  .p-ex-innav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1118px;
    width: 100%;
    margin: 40px auto 50px; }
    .p-ex-innav__list {
      width: calc(33.3% - 18px);
      margin: 0 9px 18px; }
  .p-ex-sec {
    overflow: hidden;
    padding-top: 80px;
    background-color: #fff; }
    .p-ex-sec .p-ex-sec-2clm,
    .p-ex-sec .p-ex-sec-schema-index__list {
      background-color: #f8f8f8; }
    .p-ex-sec:nth-of-type(2n-1) {
      background-color: #f8f8f8; }
      .p-ex-sec:nth-of-type(2n-1) .p-ex-sec-2clm,
      .p-ex-sec:nth-of-type(2n-1) .p-ex-sec-schema-index__list {
        background-color: #fff; }
    .p-ex-sec__inner {
      max-width: 1100px;
      width: calc(100% - 20px);
      margin-right: auto;
      margin-left: auto; }
    .p-ex-sec-ttl {
      display: flex;
      align-items: center;
      margin-bottom: 24px; }
      .p-ex-sec-ttl__box {
        width: 151px;
        display: flex;
        align-items: center;
        margin-right: 24px;
        padding: 8.5px 0px 8.5px 18px;
        border-radius: 5px;
        background-image: linear-gradient(89deg, #197ac0 0%, #003f98 100%);
        line-height: 1;
        color: #fff; }
      .p-ex-sec-ttl__ex {
        margin-top: 4px;
        margin-right: 5px;
        font-weight: bold;
        font-size: 123.1%; }
      .p-ex-sec-ttl__num {
        display: block;
        font-family: "Avenir Next", Verdana, sans-serif;
        font-size: 276.9230769231%;
        font-weight: 700; }
      .p-ex-sec-ttl__txt {
        display: block;
        font-size: 246.1538461538%;
        font-weight: bold;
        line-height: 1.5;
        text-align: left; }
    .p-ex-sec__headline {
      font-size: 123.1%;
      line-height: 1.63;
      text-align: left; }
    .p-ex-sec-schema {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 40px auto 80px; }
      .p-ex-sec-schema__img01 {
        width: calc(100% - 416px); }
      .p-ex-sec-schema-index {
        width: 380px; }
        .p-ex-sec-schema-index__list {
          overflow: hidden;
          border-radius: 5px;
          margin-bottom: 18.6px; }
          .p-ex-sec-schema-index__list:last-child {
            margin-bottom: 0; }
        .p-ex-sec-schema-index__ttlbox {
          display: flex;
          align-items: center;
          background-color: #e1e8ef; }
        .p-ex-sec-schema-index__num {
          display: block;
          width: 48px;
          padding: 13px 0;
          background-color: #003f98;
          font-family: "Avenir Next", Verdana, sans-serif;
          font-size: 215.3846153846%;
          font-weight: 700;
          text-align: center;
          color: #fff; }
        .p-ex-sec-schema-index__ttl {
          padding-left: 15px;
          font-size: 138.5%;
          line-height: 1.45;
          text-align: left;
          font-weight: bold;
          color: #003f98; }
        .p-ex-sec-schema-index__txt {
          padding: 14px 16px 16px;
          font-size: 108%;
          line-height: 1.7;
          text-align: left; }
    .p-ex-sec-2clm {
      display: flex;
      flex-wrap: wrap;
      max-width: 1100px;
      width: 100%;
      margin: 0 auto 80px;
      padding: 40px; }
      .p-ex-sec-2clm__box {
        display: flex;
        flex-direction: column;
        width: 47.0588235294%;
        margin-right: 4.9019607843%;
        margin-top: 65px;
        text-align: justify; }
        .p-ex-sec-2clm__box:nth-of-type(-n + 2) {
          margin-top: 0; }
        .p-ex-sec-2clm__box:nth-of-type(2n) {
          margin-right: 0; }
      .p-ex-sec-2clm__txt {
        font-size: 123.1%;
        margin-top: 1em;
        margin-bottom: 1.5em;
        line-height: 1.63; }
      .p-ex-sec-2clm__img01 {
        margin-top: auto; }
      .p-ex-sec-2clm__catch {
        margin-top: 18px;
        text-align: center; }
      .p-ex-sec-2clm__catchtxt {
        display: inline-block;
        padding: 2px 1.2em;
        font-size: 138.5%;
        font-weight: bold;
        line-height: 1.56;
        background-color: #d3ff71; }
    .p-ex-sec-link {
      display: block;
      max-width: 692px;
      width: 100%;
      margin: -16px auto 80px; }
      .p-ex-sec-link__btn {
        width: 100%;
        margin: 16px 0 0; }

.p-item {
  padding: 80px 0 74px;
  /*Item*/ }
  .p-item__txt {
    max-width: 1100px;
    width: calc(100% - 20px);
    margin-right: auto;
    margin-left: auto;
    margin-top: 1.65em;
    font-size: 123.1%;
    line-height: 1.62;
    text-align: left; }
  .p-item__subtitle {
    margin-top: 84px;
    font-size: 246.1538461538%;
    font-weight: bold;
    line-height: 1.5; }
  .p-item-2clm {
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px;
    width: calc(100% - 20px);
    margin: 0 auto; }
    .p-item-2clm__box {
      display: flex;
      flex-direction: column;
      width: 48%;
      margin-right: 4%;
      margin-top: 40px;
      text-align: justify; }
      .p-item-2clm__box:nth-of-type(2n) {
        margin-right: 0; }
    .p-item-2clm__ttlnote {
      font-size: 93%;
      font-weight: normal;
      color: #003f98; }
    .p-item-2clm__txt {
      font-size: 123.1%;
      margin-top: 1em;
      margin-bottom: 1.5em;
      line-height: 1.63; }
    .p-item-2clm__img01 {
      margin: 24px auto; }
    .p-item-2clm-list__list {
      position: relative;
      font-size: 123.1%;
      line-height: 1.63;
      padding-left: 1.2em; }
      .p-item-2clm-list__list:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "■"; }
    .p-item-2clm__tagbox {
      display: flex;
      flex-wrap: wrap;
      margin-top: 20px; }
    .p-item-2clm__tag {
      margin-bottom: 8px; }

.p-inquiry {
  padding: 80px 0;
  margin-bottom: -50px;
  background-color: #e1e8ef; }
  .p-inquiry__headline {
    max-width: 1100px;
    width: calc(100% - 20px);
    font-size: 123.1%;
    margin: 34px auto 1.5em;
    line-height: 1.63; }
  .p-inquiry-picup {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 897px;
    width: calc(100% - 20px);
    margin: 24px auto 12px; }
    .p-inquiry-picup__list {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 49.0523968785%;
      padding: 16px 13px 13px;
      margin-bottom: 17px;
      border-radius: 5px;
      background-color: #fff;
      font-size: 123.1%; }
  .p-inquiry__txtbox {
    max-width: 1100px;
    width: calc(100% - 20px);
    margin-right: auto;
    margin-left: auto;
    text-align: justify; }
  .p-inquiry__txt, .p-inquiry__txt--block {
    display: inline;
    font-size: 123.1%;
    line-height: 1.63; }
    .p-inquiry__txt--block {
      display: block;
      margin-bottom: 1.65em; }
  .p-inquiry-link {
    display: block;
    max-width: 692px;
    width: calc(100% - 20px);
    margin: 64px auto 0; }
    .p-inquiry-link__btn {
      width: 100%; }

/* Narrow PC
  ------------------------ */
@media (max-width: 1450px) {
  .p-fv__subttltxt {
    font-size: 353.8461538462%; }
  .p-fv__ttl {
    font-size: 197%; }
  .p-fv__img01 {
    width: 30.9vw;
    min-width: 400px;
    right: 0; } }
/* Tablet
  ------------------------ */
@media (max-width: 1279px) {
  /**
	 * Common Style
	 */
  /**
	 * First Visual
	 */
  .p-fv__inner {
    height: 408px;
    padding: 41.4px 0 0; }
  .p-fv__txtbox {
    position: static;
    transform: none; }
  .p-fv__img01 {
    width: 308px;
    min-width: auto;
    top: auto;
    right: 0;
    bottom: 8px;
    transform: none; }

  /**
	 * Sections
	 */
  .p-innav {
    max-width: 843px;
    justify-content: space-between; }
    .p-innav__list {
      width: calc(50% - 18px); }

  .p-point {
    /* Point nav*/
    /* Point section --------*/ }
    .p-point-nav__list {
      width: calc(50% - 16px); }
    .p-point-sec {
      /* title */ }
      .p-point-sec-ttl {
        padding: 32px 6%; }
        .p-point-sec-ttl__txtbox {
          padding-left: 3%; }

  .p-ex-innav {
    max-width: 843px;
    justify-content: space-between; }
    .p-ex-innav__list {
      width: calc(50% - 18px); } }
/* Mobile
  ------------------------ */
@media (max-width: 767px) {
 /**
* .p-contact fix
*/
  body footer {
    padding-bottom: 90px; }

  /**
	 * Common Style
	 */
  .fc_contents .u-only-sp {
    display: block; }
  .fc_contents .u-only-pc {
    display: none; }

  .c-ttl-title, .c-ttl-title--blue {
    font-size: 182%;
    font-weight: 700;
    letter-spacing: 0.05em; }
    .c-ttl-title-boxtitle {
      font-size: 153.9%; }

  .c-nav-in::after {
    right: 5.8%; }

  .c-ico-tag {
    padding: 2px 6px;
    margin-right: 4px;
    letter-spacing: 0.01em; }

  /**
	 * Header Menu
	 */
  /**
	 * Footer Link
	 */
  .p-contact {
    padding: 11px 0 13px; }
    .p-contact-in {
      display: block;
      text-align: center;
      font-size: 93%; }
    .p-contact-link {
      max-width: 266px;
      width: 100%;
      margin: 7px auto 0;
      padding: 9.6px 0;
      font-size: 108%; }
      .p-contact-link:before {
        border-width: 6.1px 0 6.1px 10px; }

  /**
	 * First Visual
	 */
  .p-fv {
    background: url(../img/bg_fv_01_sp.jpg) no-repeat center/cover; }
    .p-fv__subttl {
      width: 310px; }
    .p-fv__subttltxt {
      padding: 3px 0;
      font-size: 276.9230769231%;
      font-weight: 700; }
      .p-fv__subttltxt:last-child {
        margin-top: 11px; }
    .p-fv__ttl {
      margin-top: 1.18em;
      font-size: 153.9%;
      font-weight: normal;
      line-height: 1.5; }
    .p-fv__img01 {
      align-items: flex-end;
      justify-content: flex-end;
      width: 251px;
      right: -5px;
      bottom: -12px;
      text-align: right; }

  /**
	 * Sections
	 */
  .p-innav {
    margin: 20px 0 32px; }
    .p-innav__list {
      width: 100%;
      margin: 4px 10px; }

  .p-intro__title {
    text-align: left;
    font-size: 153.9%; }
  .p-intro__inner {
    background: url("../img/bg_intro_01_sp.jpg") no-repeat top center/contain;
    padding: 67.1vw 0 80px; }
  .p-intro__box {
    padding: 0 20px 24px 20px;
    border: solid 1px #e1e8ef; }

  .p-about {
    display: block;
    margin: 0 auto 40px;
    text-align: left; }
    .p-about__img01 {
      width: 100%;
      margin-top: 20px; }
    .p-about__box {
      width: 100%; }
    .p-about__txt:first-child, .p-about__txt--sp:first-child {
      margin-top: 0.6em; }
    .p-about__txt--sp {
      margin-top: 1.65em; }

  .p-point {
    padding-top: 24px;
    /* Point FV */
    /* Point nav*/
    /* Point section --------*/
    /* 2column */
    /* 3column */
    /* 1line */ }
    .p-point__inner {
      overflow: hidden;
      padding: 26px 20px 24px;
      border-radius: 5px; }
    .p-point-fv__ttl {
      text-align: center;
      float: none;
      width: 100%; }
    .p-point-fv__img01 {
      float: none;
      width: 100%;
      margin-top: 24px; }
    .p-point-fv__box {
      text-align: left;
      float: none;
      width: 100%; }
    .p-point-nav {
      margin: 40px auto 68px; }
      .p-point-nav__list {
        width: 100%;
        margin-bottom: 10px; }
      .p-point-nav__box {
        width: 56px;
        padding: 7px 0 2px; }
      .p-point-nav__num {
        font-size: 246.1538461538%; }
      .p-point-nav__txt {
        padding-right: 7.5%;
        width: calc(100% - 56px);
        font-size: 108%;
        line-height: 1.43;
        letter-spacing: 0; }
        .p-point-nav__txt::after {
          right: 4.6%; }
    .p-point-sec {
      margin-bottom: 40px;
      /* title */ }
      .p-point-sec__txt, .p-point-sec__txt--block {
        margin-top: 1.65em;
        display: block; }
      .p-point-sec__txtnote {
        display: block; }
      .p-point-sec-ttl {
        display: block;
        padding: 20px;
        margin: -26px -20px 0;
        border-radius: 0; }
        .p-point-sec-ttl__box {
          justify-content: center;
          margin-bottom: 16px; }
        .p-point-sec-ttl__point {
          font-size: 108%; }
        .p-point-sec-ttl__num {
          width: auto;
          font-size: 261.5384615385%; }
        .p-point-sec-ttl__txtbox {
          padding-left: 0; }
        .p-point-sec-ttl__txt {
          padding-left: 0;
          font-size: 153.9%;
          line-height: 1.3;
          text-align: center; }
        .p-point-sec-ttl__subtxt {
          margin-top: 7px;
          font-size: 108%;
          text-align: center; }
    .p-point-2clm__box {
      width: 100%;
      margin-right: 0;
      margin-top: 40px;
      text-align: justify; }
      .p-point-2clm__box:nth-of-type(-n + 2) {
        margin-top: 40px; }
      .p-point-2clm__box:first-child {
        margin-top: 24px; }
    .p-point-2clm__subttl {
      margin-top: 0.7em; }
    .p-point-2clm__tagbox {
      margin: -1.2em 0 1em; }
    .p-point-3clm {
      display: block; }
      .p-point-3clm__box {
        width: 100%;
        margin-right: 0; }
    .p-point-1line, .p-point-1line--rev {
      margin-top: 24px;
      display: block; }
      .p-point-1line__box {
        width: 100%; }
      .p-point-1line__txt {
        margin-top: 0.7em; }
      .p-point-1line__img01 {
        margin-top: 20px;
        width: 100%; }

  .p-ex {
    padding-top: 40px;
    /*ec section*/ }
    .p-ex__txt {
      margin-top: 1.2em; }
    .p-ex-innav {
      margin: 20px 0 32px; }
      .p-ex-innav__list {
        width: 100%;
        margin: 4px 10px; }
    .p-ex-sec {
      padding-top: 40px; }
      .p-ex-sec-ttl {
        display: block; }
        .p-ex-sec-ttl__box {
          margin-bottom: 18px;
          width: 133px;
          display: flex;
          align-items: center;
          padding-top: 8px;
          padding-bottom: 5px; }
        .p-ex-sec-ttl__ex {
          font-size: 108%;
          margin-top: 4px; }
        .p-ex-sec-ttl__num {
          font-size: 227%; }
        .p-ex-sec-ttl__txt {
          font-size: 153.9%; }
      .p-ex-sec-schema {
        display: block;
        margin-bottom: 40px; }
        .p-ex-sec-schema__img01 {
          width: 100%; }
        .p-ex-sec-schema-index {
          width: 100%;
          margin-top: 40px; }
          .p-ex-sec-schema-index__list {
            overflow: hidden;
            border-radius: 5px;
            margin-bottom: 18.6px; }
            .p-ex-sec-schema-index__list:last-child {
              margin-bottom: 0; }
          .p-ex-sec-schema-index__num {
            padding: 5.5px 0 2.5px;
            font-size: 215.3846153846%; }
          .p-ex-sec-schema-index__ttl {
            font-size: 123.1%; }
          .p-ex-sec-schema-index__txt {
            padding-top: 16px;
            font-size: 123.1%;
            line-height: 1.5; }
      .p-ex-sec-2clm {
        display: block;
        padding: 24px 20px;
        margin: 0 auto 40px; }
        .p-ex-sec-2clm__box {
          display: block;
          width: 100%;
          margin-right: 100%;
          margin-top: 40px;
          text-align: justify; }
          .p-ex-sec-2clm__box:nth-of-type(-n + 2) {
            margin-top: 40px; }
          .p-ex-sec-2clm__box:first-child {
            margin-top: 0; }
        .p-ex-sec-2clm__txt {
          margin-top: 0.6em;
          margin-bottom: 1em; }
        .p-ex-sec-2clm__img01 {
          margin-top: auto; }
        .p-ex-sec-2clm__catch {
          margin-top: 16px; }
        .p-ex-sec-2clm__catchtxt {
          padding: 5px;
          line-height: 1.14;
          letter-spacing: 0.02em; }
      .p-ex-sec-link {
        margin: -8px auto 40px; }
        .p-ex-sec-link__btn {
          margin: 8px 0 0; }

  .p-item {
    padding: 40px 0 36px;
    /*Item*/ }
    .p-item__subtitle {
      margin-top: 36px;
      font-size: 153.9%; }
    .p-item-2clm {
      display: block; }
      .p-item-2clm__box {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-top: 64px;
        text-align: justify; }
        .p-item-2clm__box:first-child {
          margin-top: 28px; }
      .p-item-2clm__img01 {
        margin: 24px auto; }
      .p-item-2clm__tagbox {
        display: flex;
        flex-wrap: wrap;
        margin-top: 20px; }
      .p-item-2clm__tag {
        margin-bottom: 4px; }

  .p-inquiry {
    padding: 40px 0; }
    .p-inquiry__headline {
      margin: 22px auto 20px;
      text-align: left; }
    .p-inquiry-picup {
      display: block;
      margin-bottom: 24px; }
      .p-inquiry-picup__list {
        margin-bottom: 8px;
        width: 100%;
        font-size: 108%;
        line-height: 1.43;
        letter-spacing: 0; }
    .p-inquiry__txtbox {
      max-width: 1100px;
      width: calc(100% - 20px);
      margin-right: auto;
      margin-left: auto;
      text-align: justify; }
    .p-inquiry__txt, .p-inquiry__txt--block {
      display: block;
      margin-bottom: 1.65em; }
    .p-inquiry-link {
      margin: 0 auto; } }
