@charset "UTF-8";
/******************************************************************************
 * RESET
*******************************************************************************/
h1, h2, h3, h4, h5, h6,
a, abbr, acronym, address, applet, article, aside, audio,
b, big, blockquote, body, caption, canvas, center, cite, code,
dd, del, details, dfn, dialog, div, dl, dt, em, embed,
fieldset, figcaption, figure, form, footer,
header, hgroup, h1, h2, h3, h4, h5, h6, html,
i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav,
object, ol, output, p, pre, q, ruby,
s, samp, section, main, small, span, strike, strong, sub, summary, sup,
tt, table, tbody, textarea, tfoot, thead, time, tr, th, td,
u, ul, var, video {
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  white-space: normal;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1;
  color: #333;
  background: transparent;
  font-family: "UD Shin Go Regular", sans-serif; }

article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section, main {
  display: block; }

img {
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
  height: auto;
  border: none; }

a {
  color: #000;
  text-decoration: none; }

.sp-only {
  display: none; }

a:hover {
  text-decoration: none; }

li {
  list-style: none; }

.wrap-box {
  -ms-flex-pack: justify;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex; }

.anchor-txt {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 103; }

.inner {
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  box-sizing: border-box;
  z-index: 102;
  justify-content: space-between; }

.fadeInUp {
  filter: alpha(opacity=0);
  -ms-filter: "alpha(opacity=0)";
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
  zoom: 1;
  transform: translate(0, 5rem);
  -webkit-transform: translate(0, 5rem);
  transition: .6s ease-out; }

.fadeInUp.scrollin {
  filter: alpha(opacity=1);
  -ms-filter: "alpha(opacity=100)";
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  z-index: 1;
  position: relative; }

.box-head h2 {
  position: relative;
  align-items: center;
  justify-content: flex-start;
  font-size: 36px;}
  .box-head h2, .box-head h2 .text, .box-head h2 .en_txt {
    display: inline-block;
    color: #064f64; }
  .box-head h2 .text {
    font-weight: bold;
    font-size: 36px;
    letter-spacing: 3px;
  }
  .box-head h2 .en_txt {
    font-size: 22px;
    position: relative;
    padding-left: 30px; }
    .box-head h2 .en_txt:after {
      content: '';
      position: absolute;
      width: 172px;
      height: 1px;
      background: #064f64;
      transform: translate(0, -50%) rotate(130deg);
      top: 50%;
      right: 30px; }

.borderhead {
  text-align: center; }
  .borderhead h3 {
    display: inline;
    font-size: 26px;
    font-weight: bold;
    color: #064f64;
    padding: 0 150px;
    position: relative; }
    .borderhead h3:before, .borderhead h3:after {
      content: '';
      position: absolute;
      width: 110px;
      height: 2px;
      background: #064f64;
      top: 50%; }
    .borderhead h3:before {
      left: 0; }
    .borderhead h3:after {
      right: 0; }

/*============================================================
	header
============================================================*/
body {
   font-family: "UD Shin Go Regular", sans-serif;
}
body.active #header {
  background: rgba(255, 255, 255, 0.9); }


#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  z-index: 1000;
  background: white;
  transition: .5s; }
  #header .inner {
    justify-content: space-between;
    align-items: center;
    height: 100%;
    max-width: 1320px; }
  #header #head-logo {
    width: 200px; }
  #header #gnavi {
    /*max-width: 900px;*/
    width: 100%;
    justify-content: flex-end;
    align-items: center; }
  #header .nav li {
    position: relative;
    padding: 0 15px;
    font-family: "UD Shin Go Regular", sans-serif;
  }
    #header .nav li:hover .txt,
    #header .nav li:hover .en_txt {
      color: #064f64; }
    #header .nav li:not(:last-child) {
      border-right: 1px solid #999999; }
    #header .nav li .txt,
    #header .nav li .en_txt {
      display: block;
      text-align: center;
      transition: .5s; }
    #header .nav li .txt {
      color: #4d4d4d;
      /*font-weight: bold;*/
      font-size: 16px;
      margin-bottom: 10px;
    font-family: "UD Shin Go Medium", sans-serif;
    font-weight: bold;}
    #header .nav li .en_txt {
      font-size: 10px;
      color: #999999;
    font-family: "UD Shin Go Medium", sans-serif; }
  #header .contact {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
 }
  #header .wrap-box {
  flex-wrap: nowrap;}

.contact-btn,
.trial-btn,
.inq-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 40px;
  border-radius: 20px;
  color: white;
  font-family: "UD Shin Go DemiBold", sans-serif;
  font-size: 14px;
  font-weight: bold;
  line-height: 40px;
  text-align: center;
  transition: .5s;
  letter-spacing: 0.04rem;
}
.contact-btn {
  background: #FF8C00;
  border: 1px solid #FF8C00;
}
.trial-btn {
  background: #43b610;
  border: 1px solid #43b610;
}
.inq-btn{
  background: #02bbff;
  border: 1px solid #02bbff;
}
.contact-btn > span,
.trial-btn > span,
.inq-btn > span {
  color: white;
  font-family: "UD Shin Go DemiBold", sans-serif;
  font-size: 14px;
  font-weight: bold;
  transition: .5s;
}
.contact-btn:hover {
  color: #FF8C00;
  background: white; }
.trial-btn:hover {
  color: #43b610;
  background: white; }
.inq-btn:hover {
  color: #02bbff;
  background: white; }
  .contact-btn:hover span {
    color: #FF8C00; }
  .trial-btn:hover span {
    color: #43b610; }
  .inq-btn:hover span {
    color: #02bbff; }


@media screen and (max-width: 1160px) {
  #header .inner {
    flex-wrap: nowrap;
  }
  #header #gnavi {
    max-width: inherit;
    flex-wrap: nowrap;
  }
  #header .contact {
    flex: 1;
    min-width: 260px;
  }
}
@media screen and (max-width: 1000px) {
  #header .nav ul {
    flex-wrap: nowrap;
  }
  #header .nav li {
    padding: 0 10px;
  }
}

main {
  padding-top: 120px; }

.topbanner {
  position: relative;
  padding-top: 350px; }
  .topbanner:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/topbanner-bg.jpg) no-repeat center center;
    background-size: cover; }
  .topbanner .inner {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .topbanner h1 {
    font-size: 40px;
    color: white;
    line-height: 1.4;
    margin-bottom: 30px; }
  .topbanner .lead {
    color: white;
    font-size: 20px;
    line-height: 1.8; }
  .topbanner .contact {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 720px; }
/*============================================================
  NEWS
============================================================*/
.news-box{
  padding: 60px 0;
}
.news-ttl{
  padding: 0 0 8px;
  border-bottom: 1px solid #064f64;
  font-size: 12px;
}
.news-box .scroll{
  margin: 10px 0;
  overflow-y: scroll;
  height: 135px;
  width: 1013px;
}
.news-box ul li{
  line-height: 22px;
  color: #244e62;
}
.news-box ul li a{
  color: #db0110;
  text-decoration: underline;
}
.news-box ul li a:hover{
  opacity: .7;
  text-decoration: none;
}
.news-box ul li span{
  display: block;
  font-size: 12px;
  padding: 18px 0 7px;;
}

/*============================================================
	footer
============================================================*/
#footer .copy {
  display: block;
  text-align: center;
  font-size: 12px;
  padding: 15px 0 ;
  line-height: 20px;}

#footer .inbox {
  background: url(../images/common/footer-bg.jpg) no-repeat center center;
  background-size: cover;
  padding-bottom: 60px;
  padding-top: 70px; }
  #footer .inbox h3 {
    text-align: center;
    color: white;
    font-size: 34px;
    margin-bottom: 20px; }
  #footer .inbox .lead {
    text-align: center;
    color: white;
    font-size: 21px;
    margin-bottom: 25px; }

#footer .contact {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  width: 720px;
  margin: auto;}

/*============================================================
	.reasonbox
============================================================*/
.reasonbox {
  position: relative;
  padding: 110px 0 122px; }
  .reasonbox:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    height: 100%;
    background: url(../images/reason-bg.jpg) no-repeat center center;
    background-size: cover; }
  .reasonbox header {
    position: relative;
    text-align: center;
    z-index: 2;
    margin-bottom: 50px; }
    .reasonbox header h2 {
      color: white;
      font-size: 30px;
      letter-spacing: 3px;
     }
      .reasonbox header h2 .item {
        font-weight: bold;
        color: white;
        font-size: 30px; }
  .reasonbox .box {
    position: relative;
    z-index: 2;
    justify-content: space-between;
    align-items: center;
    width: 900px;
    margin: 0 auto;}
    .reasonbox .box li {
      position: relative;
      padding-bottom: 20px;
    width: 300px;}
      .reasonbox .box li:before {
        content: '';
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translate(-50%, 0);
        width: 130px;
        height: 3px;
        background: white; }
      .reasonbox .box li dt {
        width: 73px;
        display: block;
        margin: 0 auto 27px; }
      .reasonbox .box li dd {
        color: white;
        text-align: center;
        font-size: 20px;
        line-height: 1.6; }

/*============================================================
scenebox
============================================================*/
.scenebox {
  background: #f6f6f6;
  padding: 133px 0; }
  .scenebox .box-head {
    margin-bottom: 106px; }
  .scenebox .bottombox .logobox {
    background: white;
    max-width: 1120px;
    width: 100%;
    margin: auto;
    padding: 60px 100px 60px 90px;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    -moz-box-shadow: 1px 21px 16px -13px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 1px 21px 16px -13px rgba(0, 0, 0, 0.4);
    -ms-box-shadow: 1px 21px 16px -13px rgba(0, 0, 0, 0.4);
    box-shadow: 1px 21px 16px -13px rgba(0, 0, 0, 0.4); }
    .scenebox .bottombox .logobox li {
      width: 20%;
      box-sizing: border-box;
      padding: 12px 25px;
      display: flex;
      align-items: center; }
      .scenebox .bottombox .logobox li:nth-child(-n+4) {
        width: 25%; }
      .scenebox .bottombox .logobox li:nth-child(10) {
        margin-left: -7%; }
      .scenebox .bottombox .logobox li:nth-child(13){
        margin:0 -3%;
      }
      .scenebox .bottombox .logobox li:nth-child(15) {
        margin-right: -10%; }
  .scenebox .bottombox .borderhead {
    margin-bottom: 45px; }
    .scenebox .bottombox .borderhead .lead {
      color: #666666;
      line-height: 1.8;
      font-size: 15px;
      margin-top: 45px; }
  .scenebox .topbox {
    margin-bottom: 93px; }
    .scenebox .topbox h3 {
      text-align: center;
      color: #a19387;
      font-weight: bold;
      font-size: 23px;
      margin-bottom: 50px;
      letter-spacing: 2px;}
    .scenebox .topbox ul {
      justify-content: space-between;
      align-items: flex-start; }
      .scenebox .topbox ul li .lead {
        text-align: center;
        line-height: 1.6;
        color: #333333;
        font-weight: bold;
      font-size: 0.9rem;
    }
      .scenebox .topbox ul li:nth-child(1) dl:before {
        background: #f15a24; }
      .scenebox .topbox ul li:nth-child(1) dd {
        color: #f15a24; }
      .scenebox .topbox ul li:nth-child(2) dl:before {
        background: #662d91; }
      .scenebox .topbox ul li:nth-child(2) dd {
        color: #662d91; }
      .scenebox .topbox ul li:nth-child(3) dl:before {
        background: #736357; }
      .scenebox .topbox ul li:nth-child(3) dd {
        color: #736357; }
      .scenebox .topbox ul li:nth-child(4) dl:before {
        background: #00a99d; }
      .scenebox .topbox ul li:nth-child(4) dd {
        color: #00a99d; }
      .scenebox .topbox ul li:nth-child(5) dl:before {
          background: #0068a6; }
      .scenebox .topbox ul li:nth-child(5) dd {
          color: #0068a6; }
      .scenebox .topbox ul li dl {
        margin-bottom: 23px;
        padding-bottom: 23px;
        position: relative; }
        .scenebox .topbox ul li dl:before {
          content: '';
          position: absolute;
          left: 50%;
          bottom: 0;
          width: 60px;
          height: 4px;
          transform: translate(-50%, 0); }
      .scenebox .topbox ul li dt {
        width: 91px;
        margin: 0 auto 17px; }
      .scenebox .topbox ul li dd {
        text-align: center;
        font-weight: bold;
        font-size: 20px; }


/*============================================================
.aboutbox
============================================================*/
.aboutbox {
  padding: 25px 0 120px; }
  .aboutbox .box-head {
    margin-bottom: 80px; }
    .aboutbox .box-head h2 .en_txt:after {
      right: 90px; }
  .aboutbox .bottombox h3 {
    text-align: center;
    font-size: 26px;
    line-height: 1.8;
    color: #064f64;
    position: relative;
    padding-bottom: 47px;
    margin-bottom: 47px;
    font-weight: bold;
  }
    .aboutbox .bottombox h3:after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: 0;
      width: 130px;
      height: 5px;
      transform: translate(-50%, 0);
      background: #064f64; }
  .aboutbox .bottombox ul {
    justify-content: space-between;
    align-items: flex-start; }
    .aboutbox .bottombox ul li {
      position: relative; }
      .aboutbox .bottombox ul li:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 117px;
        height: 162px; }
      .aboutbox .bottombox ul li:nth-child(1):before {
        background: url(../images/about-bg01.png) no-repeat center top;
        background-size: cover; }
      .aboutbox .bottombox ul li:nth-child(2):before {
        background: url(../images/about-bg02.png) no-repeat center top;
        background-size: cover; }
      .aboutbox .bottombox ul li:nth-child(3):before {
        background: url(../images/about-bg03.png) no-repeat center top;
        background-size: cover; }
      .aboutbox .bottombox ul li:nth-child(4):before {
        background: url(../images/about-bg04.png) no-repeat center top;
        background-size: cover; }
      .aboutbox .bottombox ul li:nth-child(5):before {
        background: url(../images/about-bg05.png) no-repeat center top;
        background-size: cover; }
      .aboutbox .bottombox ul li:nth-child(6):before {
        background: url(../images/about-bg06.png) no-repeat center top;
        background-size: cover; }
      .aboutbox .bottombox ul li .text {
        color: #064f64;
        font-size: 15px;
        line-height: 1.6;
        position: relative;
        z-index: 2;
        padding-top: 90px;
        padding-left: 60px; }
  .aboutbox .topbox {
    justify-content: space-between;
    margin-bottom: 90px; }
    .aboutbox .topbox .text {
      color: #666666;
      line-height: 2.0;
      font-size: 15px;
      padding-right:20px; }
    .aboutbox .topbox .story-box {
      max-width: 565px;
      width: 100%; }
      .aboutbox .topbox .story-box li {
        width: 100%;
        display: table;
        table-layout: fixed; }
        .aboutbox .topbox .story-box li:not(:last-child) {
          margin-bottom: 12px; }
        .aboutbox .topbox .story-box li .timebox, .aboutbox .topbox .story-box li .txt {
          display: table-cell;
          vertical-align: middle;
          color: #064f64;
          line-height: 1.6; }
        .aboutbox .topbox .story-box li .timebox {
          font-size: 14px;
          font-weight: bold;
          width: 62px; }
        .aboutbox .topbox .story-box li .txt {
          font-size: 14px; }

/*============================================================
.colorbox
============================================================*/
.colorbox {
  background: #064f64;
  padding-top: 55px;
  padding-bottom: 90px; }
  .colorbox .borderhead {
    margin-bottom: 35px; }
    .colorbox .borderhead h3 {
      color: white;
    font-size: 24px;
  }
      .colorbox .borderhead h3:before, .colorbox .borderhead h3:after {
        background: white; }
    .colorbox .borderhead .lead {
      color: white;
      margin-top: 23px;
      line-height: 1.8;
      font-size: 15px; }
  .colorbox .box {
    background: white;
    margin: auto;
    width: 100%;
    box-sizing: border-box;
    border-radius: 6px; }
  .colorbox .topbox {
    margin-bottom: 60px; }
    .colorbox .topbox .box {
      max-width: 700px;
      padding: 27px 77px; }
      .colorbox .topbox .box h4 {
        color: #064f64;
        font-size: 17px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 20px; }
  .colorbox .bottombox .tabs {
    justify-content: space-between; }
    .colorbox .bottombox .tabs li {
      width: 200px;
      height: 40px;
      border: 1px solid;
      text-align: center;
      line-height: 38px;
      border-radius: 20px;
      position: relative; }
      .colorbox .bottombox .tabs li b {
        font-weight: bold; }
      .colorbox .bottombox .tabs li:nth-child(1) {
        border-color: #f15a24;
        color: #f15a24; }
        .colorbox .bottombox .tabs li:nth-child(1) b {
          color: #f15a24; }
      .colorbox .bottombox .tabs li:nth-child(2) {
        border-color: #662d91;
        color: #662d91; }
        .colorbox .bottombox .tabs li:nth-child(2) b {
          color: #662d91; }
      .colorbox .bottombox .tabs li:nth-child(3) {
        border-color: #736357;
        color: #736357; }
        .colorbox .bottombox .tabs li:nth-child(3) b {
          color: #736357; }
      .colorbox .bottombox .tabs li:nth-child(4) {
        border-color: #00a99d;
        background: #00a99d;
        color: white; }
        .colorbox .bottombox .tabs li:nth-child(4):after {
          content: '';
          position: absolute;
          left: 50%;
          bottom: -25px;
          transform: translate(-50%, 0);
          width: 38px;
          height: 18px;
          background: url(../images/icon-arrow.png) no-repeat center center;
          background-size: cover; }
        .colorbox .bottombox .tabs li:nth-child(4) b {
          color: white; }
  .colorbox .bottombox .box {
    padding: 35px 50px 40px; }

.icon-box-head {
  align-items: flex-start; }
  .icon-box-head .lead {
    font-size: 15px;
    line-height: 1.8;
    color: #666666;
    width: 540px;
  }
  .icon-box-head h2 {
    display: table;
    table-layout: fixed;
    margin-right: 50px; }
    .icon-box-head h2 .icon, .icon-box-head h2 .txt {
      display: table-cell;
      vertical-align: middle; }
    .icon-box-head h2 .icon {
      padding-right: 45px; }
    .icon-box-head h2 .txt {
      font-size: 20px;
      font-weight: bold;
      color: #064f64;
      line-height: 1.4;
      position: relative;
    letter-spacing: 2px;
  }
      .icon-box-head h2 .txt:after {
        content: '';
        position: absolute;
        width: 172px;
        height: 2px;
        background: #064f64;
        transform: translate(0, -50%) rotate(130deg);
        top: 55%;
        left: -107px; }

/*============================================================
.otherbox
============================================================*/
.otherbox {
  padding-top: 140px;
  padding-bottom: 120px; }
  .otherbox .systembox {
    padding-bottom: 100px; }
    .otherbox .systembox .itembox {
      background: #064f64;
      max-width: 900px;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      border-radius: 6px;
      position: relative;
      z-index: 1;
      padding-top: 70px;
      padding-bottom: 20px;
      transform: translateY(-50px); }
      .otherbox .systembox .itembox p {
        color: white;
        text-align: center;
        font-size: 15px;
        line-height: 1.8;
        font-weight: bold;
      }
    .otherbox .systembox .icon-box-head {
      margin-bottom: 40px; }
      .otherbox .systembox .icon-box-head h2 .icon {
        width: 45px; }
    .otherbox .systembox .typesbox {
      justify-content: space-between;
      position: relative;
      z-index: 2;
      -moz-box-shadow: 1px 21px 16px -13px rgba(0, 0, 0, 0.4);
      -webkit-box-shadow: 1px 21px 16px -13px rgba(0, 0, 0, 0.4);
      -ms-box-shadow: 1px 21px 16px -13px rgba(0, 0, 0, 0.4);
      box-shadow: 1px 21px 16px -13px rgba(0, 0, 0, 0.4); }
      .otherbox .systembox .typesbox li {
        width: 330px;
        background: #f7f7f7;
        box-sizing: border-box;
        padding: 30px 14px 45px 20px; }
        .otherbox .systembox .typesbox li .lead {
          text-align: center;
          color: #333333;
          font-weight: bold;
          line-height: 1.8; }
        .otherbox .systembox .typesbox li h3 {
          text-align: center;
          margin-bottom: 40px; }
          .otherbox .systembox .typesbox li h3 .title {
            display: inline;
            position: relative;
            color: #064f64;
            font-weight: bold;
            font-size: 20px;
            padding-bottom: 17px; }
            .otherbox .systembox .typesbox li h3 .title:after {
              content: '';
              position: absolute;
              left: 50%;
              bottom: 0;
              width: 130px;
              height: 4px;
              background: #064f64;
              transform: translate(-50%, 0); }
        .otherbox .systembox .typesbox li figure {
          position: relative;
          margin-bottom: 15px; }
          .otherbox .systembox .typesbox li figure .text {
            position: absolute;
            top: 0;
            left: 0; }
            .otherbox .systembox .typesbox li figure .text p {
              font-size: 13px;
              line-height: 1.8;
              color: #064f64;
              padding-top: 10px;
              font-weight: bold;
            }
  .otherbox .meritbox .icon-box-head {
    margin-bottom: 60px; }
    .otherbox .meritbox .icon-box-head h2 .icon {
      width: 62px; }
  .otherbox .meritbox .itembox .text {
    color: #666666;
    font-size: 15px;
    margin-bottom: 15px; }
  .otherbox .meritbox .itembox table {
    width: 100%;
    border: 2px solid #064f64;
    border-radius: 6px; }
    .otherbox .meritbox .itembox table thead th {
      width: 200px;
      vertical-align: middle;
      background: #f2f2f2;
      font-weight: bold;
      font-size: 20px;
      color: #064f64;
      padding: 12px 0;
      border-bottom: 1px solid #064f64; }
      .otherbox .meritbox .itembox table thead th .logo {
        width: 105px; }
      .otherbox .meritbox .itembox table thead th:not(:last-child) {
        border-right: 1px solid #064f64; }
    .otherbox .meritbox .itembox table tbody tr td {
      text-align: center;
      vertical-align: middle;
      padding: 12px 0;
      color: #064f64;
      font-weight: bold; }
      .otherbox .meritbox .itembox table tbody tr td:not(:last-child) {
        border-right: 1px solid #064f64; }
    .otherbox .meritbox .itembox table tbody tr .item {
      color: #00bdff;
      font-size: 20px; }
      .otherbox .meritbox .itembox table tbody tr .item small {
        color: #00bdff;
        font-size: 14px; }
    .otherbox .meritbox .itembox table tbody tr:not(:last-child) td {
      border-bottom: 1px solid #064f64; }

    .plan_img{
      width: 710px;
      text-align: center;
      margin: 0 auto;
    }

/*============================================================
.enginebox
============================================================*/
.enginebox {
  padding-top: 130px;
  padding-bottom: 120px; }
  .enginebox .typebox ul {
    justify-content: space-between;
    align-items: flex-start; }
    .enginebox .typebox ul li {
      width: 160px;
      margin-bottom: 18px; }
      .enginebox .typebox ul li .text {
        margin-bottom: 10px; }
      .enginebox .typebox ul li h4 .en_txt {
        display: block; }
      .enginebox .typebox ul li h4 .txt_b {
        color: #064f64;
        font-size: 14px;
        margin-bottom: 8px;
      font-weight: bold;
    }
      .enginebox .typebox ul li h4 .txt {
        color: #064f64;
        font-size: 14px;
        margin-bottom: 8px;
        display: inline;}
      .enginebox .typebox ul li h4 .en_txt {
        font-size: 14px;
        color: #b3b3b3;
        padding-top: 5px;}
  .enginebox .icon-box-head {
    margin-bottom: 100px; }
    .enginebox .icon-box-head h2 .icon {
      width: 50px; }
  .enginebox .topbox header {
    margin-bottom: 70px; }
    .enginebox .topbox header h3 {
      font-size: 42px;
      color: #a19387;
      font-weight: bold;
      position: relative;
      padding-bottom: 33px;
      letter-spacing: 2px;
    }
      .enginebox .topbox header h3:before {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 130px;
        height: 6px;
        background: #064f64; }
  .enginebox .topbox .textbox {
    flex-direction: row-reverse;
    align-items: flex-end;
    justify-content: space-between;
    transform: translateY(-40px);
    }
    .enginebox .topbox .textbox .cap {
      width: 462px; }
    .enginebox .topbox .textbox dd {
      font-size: 20px;
      color: #064f64;
      line-height: 2.0; }
  .enginebox .topbox .itembox {
    position: relative;
    margin-bottom: 40px; }
    .enginebox .topbox .itembox:before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, 0);
      width: 272px;
      margin-left: -180px;
      height: 269px;
      background: url(../images/function-cap02.png) no-repeat center center;
      background-size: cover; }
    .enginebox .topbox .itembox h4 {
      text-align: right;
      font-size: 23px;
      font-weight: bold;
      line-height: 1.8;
      color: #a19387;
      margin-bottom: 25px;
      letter-spacing: 2px;}
    .enginebox .topbox .itembox p {
      text-align: right;
      font-size: 16px;
      line-height: 1.8;
      color: #666666; }
  .enginebox .lastbox {
    margin-bottom: 110px;
  margin-bottom: 80px;}
    .enginebox .lastbox h3 {
      font-size: 23px;
      color: #a19387;
      font-weight: bold;
      line-height: 1.8;
      margin-bottom: 20px;
     letter-spacing: 2px;
   }
    .enginebox .lastbox .text-box {
      margin-bottom: 60px; }
      .enginebox .lastbox .text-box p {
        color: #666666;
        line-height: 1.8; }
        .enginebox .lastbox .text-box p .item {
          color: #064f64;
          font-weight: bold; }
        .enginebox .lastbox .text-box p:not(:last-of-type) {
          margin-bottom: 40px; }
    .enginebox .lastbox .text-box-center{
      text-align: center;
      font-size: 14px;
      padding-top: 20px;
    }
  .enginebox .bottombox .text {
    text-align: center;
    font-size: 22px;
    color: #064f64;
    line-height: 1.8;
    margin-bottom: 10px;
  　letter-spacing: 2px;
}
    .enginebox .bottombox .text .item {
      font-weight: bold;
      color: #a19387; }
  .enginebox .bottombox ol {
    justify-content: space-between; }
    .enginebox .bottombox ol .txt {
      color: #064f64;
      line-height: 1.8;
      font-size: 15px;
      padding-top: 50px;
      position: relative;
      z-index: 2;
      padding-left: 20px; }
    .enginebox .bottombox ol li {
      position: relative;
      padding-left: 20px; }
      .enginebox .bottombox ol li:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 81px;
        height: 115px; }
      .enginebox .bottombox ol li:nth-child(1):before {
        background: url(../images/function-number1.png) no-repeat center center;
        background-size: cover; }
      .enginebox .bottombox ol li:nth-child(2):before {
        background: url(../images/function-number2.png) no-repeat center center;
        background-size: cover; }
      .enginebox .bottombox ol li:nth-child(3):before {
        background: url(../images/function-number3.png) no-repeat center center;
        background-size: cover; }
      .enginebox .bottombox ol li:nth-child(4):before {
        background: url(../images/function-number4.png) no-repeat center center;
        background-size: cover; }
      .enginebox .bottombox ol li:nth-child(5):before {
        background: url(../images/function-number5.png) no-repeat center center;
        background-size: cover; }

/*============================================================
.functionbox
============================================================*/
.functionbox {
  padding: 100px 0;
  max-width: 1120px; }
  .functionbox .box-head {
    margin-bottom: 80px; }
    .functionbox .box-head h2 .en_txt:after {
      right: 10px; }
  .functionbox ul {
    justify-content: space-between; }
  .functionbox li {
    width: 48%;
  padding-bottom: 30px;
}
    .functionbox li .cap {
      /*width: 150px;*/
      margin: 0 auto 25px !important;
     }
    .functionbox li h3 {
      text-align: center;
      color: #064f64;
      font-size: 22px;
      position: relative;
      padding-bottom: 25px;
      margin-bottom: 35px; }
      .functionbox li h3:after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 60px;
        height: 4px;
        background: #064f64;
        transform: translate(-50%, 0); }
    .functionbox li .text {
      font-size: 14px;
      color: #333333;
      line-height: 1.8; }

/*============================================================
.openbox
============================================================*/
.openbox {
  padding: 25px 0; }
  .openbox h3 {
    text-align: right;
    border-bottom: 1px solid #064f64;
    padding-bottom: 10px; }
    .openbox h3 .title {
      display: inline;
      cursor: pointer;
      font-size: 13px;
      color: #064f64;
      position: relative;
      padding-right: 25px; }
      .openbox h3 .title:after {
        content: '';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translate(0, -50%);
        width: 15px;
        height: 8px;
        background: url(../images/arrow.png) no-repeat center center;
        background-size: cover; }
  .openbox .itembox {
    padding: 30px 0 0;
    display: none; }
  .openbox .btn {
    text-align: center;
    margin-top: 50px;
    position: relative; }
    .openbox .btn:before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      width: 100%;
      height: 2px;
      background: #064f64;
      transform: translate(0, -50%); }
    .openbox .btn .icon {
      width: 30px;
      display: block;
      margin: auto;
      cursor: pointer;
      position: relative;
      z-index: 2; }

.languagebox .itembox ul {
  justify-content: flex-start;
  align-items: flex-start;
  padding-left: 70px;
  padding-right: 70px; }
  .languagebox .itembox ul li {
    width: auto;
    font-size: 14px;
    color: #064f64; }
    .languagebox .itembox ul li:not(:nth-child(5n)) {
      width: 194px; }

.languagebox h4 {
  color: #064f64;
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 25px;
　padding-left: 70px;}

.ff_bold{
  font-family: "UD Shin Go Bold", sans-serif;
}
.ff_db{
  font-family: "UD Shin Go DemiBold", sans-serif;
}
.ff_m{
  font-family: "UD Shin Go Medium", sans-serif;
}

.t-header{
  position: relative;
  padding-top: 0;
  background: url(../images/topbanner-bg.jpg) no-repeat center center;
  background-size: cover;
  height: 80px;
}



.thanks{
  margin: 0 auto;
  text-align: center;
  padding: 60px 0
}
.thanks .txt1{
  font-size: 30px;
  line-height: 150%;
  padding-bottom: 80px;
  letter-spacing: 3px;
}
.thanks .txt1:after{
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -45px;
    margin-top: 20px;
    width: 90px;
    height: 1px;
    content: "";
    background-color: #eee;
  }
.thanks .txt2{
  font-size: 26px;
  padding-bottom: 35px;
}
.thanks .txt3{
  font-size: 16px;
  line-height: 28px;
}

/*price*/
.price-box .lead{
  font-size: 18px;
  padding:10px 30px 20px;
}
.price-box table {
  width: 95%;
  border: 2px solid #064f64;
  border-radius: 6px;
  margin: 0 auto;
}
.price-box table .text_blue{
  color: #00bdff;
  font-weight: bold;
}
.price-box table span{
  font-size: 14px;
  padding-top: 10px;
  display: block;
}
.price-box table span.ant{
  font-size: 11px;
}
.price-box table span.ant02{
  display: inline;
  margin-top: -10px;
}
.price-box table thead th {
  width: 200px;
  vertical-align: middle;
  background: #f2f2f2;
  font-weight: bold;
  font-size: 18px;
  color: #064f64;
  padding: 12px 0;
  border-bottom: 1px solid #064f64; }

.price-box table thead th:not(:last-child) {
  border-right: 1px solid #064f64; }

.price-box table thead th img{
  width:95px;
}

.price-box table tbody tr td {
  text-align: center;
  vertical-align: middle;
  padding: 12px 0;
  color: #064f64;
  font-weight: bold; }
  .price-box table tbody tr td:not(:last-child) {
    border-right: 1px solid #064f64; }
.price-box table tbody tr .red {
  color: #f12224; }
  .price-box table tbody tr .item small {
    color: #00bdff;
    font-size: 14px; }
.price-box table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #064f64; }
.price-box table tbody tr td:first-child {
  width: 34%;
  position: relative;
}
.price-box table tbody tr td.right-line{
  border-right: 1px solid #064f64;
}
.price-box table tbody tr td.sys_text{
  font-size: 20px;
  font-weight: 700;
}
.price-box table tbody tr td.at_text{
  font-size: 20px;
}
.cyusyaku{
  font-size: 12px;
  line-height: 20px;
  padding:10px 0 0 30px;
}

.price-box table tbody tr td {
  position: relative;
}
.price-box table tbody tr td label {
  display: inline-block;
  width: 15px;
  height: 15px;
  background-color: #064f64;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 1;
  cursor: pointer;
}
.price-box table tbody tr td label::before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 7px;
  background-color: #fff;
  position: absolute;
  top: 2px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.price-box table tbody tr td label::after {
  content: '';
  display: inline-block;
  width: 3px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  margin: auto;
  z-index: 1;
}
.price-box table tbody tr td label.on::before,
.price-box table tbody tr td label.on::after {
  width: 3px;
  height: 11px;
  top: 0;
  bottom: 0;
}
.price-box table tbody tr td label.on::before {
  transform: rotate(-45deg);
}
.price-box table tbody tr td label.on::after {
  transform: rotate(45deg);
}
.price-box table tbody tr td .dialog {
  display: none;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 4px 4px 6px 0px rgb(0 0 0 / 15%);
  font-size: 11px;
  line-height: 1.2;
  text-align: left;
  position: absolute;
  top: -22px;
  right: 4px;
  z-index: 10;
  transform: translateX(100%);
}
.price-box table tbody tr td .dialog a {
  text-decoration: underline;
  transition: .3s;
}
.price-box .table-cyusyaku{
  padding: 10px 30px;
  font-size: 14px;
  line-height: 23px;
}
.price-box .table-cyusyaku a{
  text-decoration: underline !important;
}
.price-box .table-cyusyaku a:hover{
  text-decoration: none !important;
}
@media (hover: hover) {
  .price-box table tbody tr td .dialog a:hover {
    opacity: .7;
    text-decoration: none;
  }
}
.price-box table tbody tr td .dialog.w100 {
  width: 100%;
}
.price-box table tbody tr td .dialog.w120 {
  width: 120%;
}
.price-box table tbody tr td .dialog.w200 {
  width: 200%;
}
.price-box table tbody tr td .dialog.t82 {
  top: -82px;
}
.price-box table tbody tr td .dialog.t180 {
  top: -180px;
}
.price-box table tbody tr td .dialog.t280 {
  top: -280px;
}

/*---追加コンテンツ　（高評価を獲得）--*/
@charset "UTF-8";


.bwnBox{
	background: #A19387;
	padding: 0 0 80px;
}
.bwnBox .head{
	text-align: center;
	padding: 50px 0 35px 0;
}
.bwnBox .head h2{
}
.bwnBox .head h2 .ss{
	display: inline-block;
	font-size: 28px;
	color: #fff;
}
.bwnBox .head h2 .ttl{
	display: inline-block;
	font-size: 42px;
	color: #fff;
	margin-top: 10px;
	position: relative;
	padding: 0 20px;
}
.bwnBox .head h2 .ttl:before,
.bwnBox .head h2 .ttl:after {
	position: absolute;
	top: 50%;
	width: 123px;
	height: 1px;
	content: '';
	background: #fff;
}

.bwnBox .head h2 .ttl:before {
  left: 100%;
}

.bwnBox .head h2 .ttl:after {
  right: 100%;
}
.bwnBox .head p{
	margin-top: 1em;
	font-size: 15px;
	color: #fff;
	line-height: 1.9;
}
.bwnBox .graph .img02{
	margin-top: 20px;
}
/*セキュリティーページリンクボタン*/
.seclink a{
  border: 1px solid #064f64;
  border-radius: 25px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  padding: 15px 50px;
  transition: .5s;
  width: 560px;
  margin:50px auto 0;
  font-family: "UD Shin Go DemiBold", sans-serif;
  display: block;
  color: #064f64;
}
.seclink a:hover{
  background: #064f64;
  color: #fff;
}

/* 高いセキュリティレベルのシステム提供 相互リンクバナー*/
.bnr_area{
  background: #f1f1f1;
  border-radius: 10px;
  padding: 30px 30px 40px;
  margin-top:70px;
}
.bnr_area p{
  text-align: center;
  color: #064f64;
  font-size: 18px;
  line-height: 1.7;
  padding-bottom: 15px;
}
.bnr_area a:hover{
  opacity: .7;
}



/*securityページ用*/
.security .topbanner{
  height: 250px;
  padding-top: 0;
}

.security .topbanner .lead{
  font-size: 27px;
  margin-bottom: 0;
  padding: 8px 0 0 6px;
}

.security .topbanner h1 {
  margin-bottom: 0;
  font-size: 50px;
  letter-spacing: -1px;
}
.security .leadbox{
}
.security .leadbox h2{
  color: #064f64;
  font-size: 38px;
  line-height: 1.7;
  padding:68px 0 35px;
}
.security .leadbox p{
  line-height: 2;
  letter-spacing: 0.05rem;
  font-weight: bold;
  color: #666666;
}
.security .leadbox .riskbox{
  background: #f7f7f7;
  padding:77px 55px 17px;
  margin: 94px 0 50px;
}
.security .leadbox .riskbox .attention{
  width: 109px;
  margin: -126px auto 0;
}
.security .leadbox .riskbox h3{
  font-size: 33px;
  text-align: center;
  margin-top: 28px;
}
.security .leadbox .riskbox h3 span{
  color: #c1272d;
  font-weight: bold;
}
.security .leadbox .riskbox p{
  text-align: center;
  padding: 22px 0 25px;
}

.security .leadbox .riskbox figure{
  max-width: 880px;
  margin: 0 auto;
}
.security .leadbox .riskbox .parallel{
  display: flex;
  margin: 30px 0;
  align-items: center;
}
.security .leadbox .riskbox .parallel li{
  font-size: 20px;
}
.security .leadbox .riskbox .parallel li.arrow{
  padding-right: 16px;
  position: relative;
  font-size: 22px;
  font-weight: bold;
  width: 370px;
  letter-spacing: 2.8px;
  line-height: 1.6;
}
.security .leadbox .riskbox .parallel li.arrow::after{
  content: url(../images/security/arrow.svg);
  display: block;
  width: 45px;
  position: absolute;
  top: -25px;
  right:25px;
  height: 100%;
  z-index: 1;
  line-height: 1.6;
}
.security .leadbox .riskbox .parallel li ul{
  padding-top: 15px;
}
.security .leadbox .riskbox .parallel li ul li{
  color: #c1272d;
  padding-bottom:14px;
  font-size: 18px;
  font-weight: bold;
}


.security .plan p{
  font-size: 30px;
  color: #064f64;
  line-height: 1.6;
  padding-bottom: 79px;
  text-align: center;
}
.security .plan p span{
  color: #00bdff;
}
.security .plan .p-wrap {
  margin-top: -28px;
  padding-top: 28px;
}
.security .plan .p-box{
  border: #064f64 2px solid;
  border-radius: 10px;
  padding: 70px 30px 57px;
  margin-bottom: 90px;
}
.security .plan .p-box h3{
  margin: -100px auto 30px;
  background: #064f64;
  border-radius: 30px;
  color: #fff;
  font-size: 38px;
  font-weight: bold;
  padding: 10px 0;
  text-align: center;
  width: 382px;
}
.security .plan .p-box p{
  font-size: 24px;
  padding-bottom: 30px;
}
.security .plan .p-box p::before{
  content: "＜";
}
.security .plan .p-box p::after{
  content: "＞";
}
.security .plan .p-box figure{
  max-width: 780px;
  margin: 0 auto;
}
.security .plan .p-box figure .notice{
  display: block;
  margin-top: 10px;
  font-size: 12px;
  text-align: right;
}
.security .plan .last-txt{
  font-size: 24px;
  color: #064f64;
  line-height: 1.6;
  font-weight: bold;
  margin: -24px 0 -13px;
}


.introduction-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 0;
  margin-bottom: 150px;
  padding: 30px 59px 58px 34px;
  background-color: #f7f7f7;
  border-radius: 10px;
  position: relative;
}
.introduction-box .introduction-images {
  width: 306px;
  height: 186px;
  position: relative;
}
.introduction-box .introduction-images .introduction-image img {
  max-width: 100%;
  width: auto;
}
.introduction-box .introduction-images .introduction-image.image-1 {
  max-width: 230px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.introduction-box .introduction-images .introduction-image.image-2 {
  max-width: 154px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
}
.introduction-box .introduction-data {
  width: 597px;
  height: 186px;
}
.introduction-box .introduction-data > dt {
  margin-top: 5px;
  font-size: 17px;
  letter-spacing: 0.025em;
}
.introduction-box .introduction-data > dd .introduction-text_bold {
  display: block;
  margin-top: 20px;
  padding-top: 10px;
  padding-bottom: 6px;
  border-top: 2px solid #064f64;
  border-bottom: 2px solid #064f64;
  color: #064f64;
  font-size: 20px;
  letter-spacing: 0.025em;
  line-height: calc(30 / 20);
}
.introduction-box .introduction-data > dd .introduction-text_bold a{
  text-decoration: underline;
  color: #02bbff;
}
.introduction-box .introduction-data > dd .introduction-text_bold a:hover{
  text-decoration: none;
  color: #db0110;
}
.introduction-box .introduction-data > dd .introduction-text_mid {
  margin-top: 20px;
  color: #064f64;
  font-size: 17px;
  letter-spacing: 0.016em;
  line-height: calc(30 / 17);
}
.introduction-box .introduction-data > dd .introduction-text_mid em {
  color: inherit;
  font-style: inherit;
  font-weight: bolder;
}
.introduction-box .introduction-data > dd .introduction-text_mid .brackets {
  display: inline-block;
  margin-left: -0.5em;
  margin-right: -0.5em;
  color: inherit;
  font-style: inherit;
}
.introduction-box .movie{
  width: 100%;
  padding: 10px 0 30px;
  text-align: center;
}

.introduction-box .introduction-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 325px;
  height: 40px;
  background-color: #064f64;
  border: 1px solid #064f64;
  border-radius: 20px;
  box-sizing: border-box;
  color: #fff;
  font-size: 17px;
  letter-spacing: 0.025em;
  transition: .5s;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -63px;
  margin: auto;
  z-index: 1;
}
.introduction-box .introduction-link:hover {
  background-color: #fff;
  color: #064f64;
}

.introduction-box .jirei-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 40px;
  background-color: #064f64;
  border: 1px solid #064f64;
  border-radius: 20px;
  box-sizing: border-box;
  color: #fff;
  font-size: 17px;
  letter-spacing: 0.025em;
  transition: .5s;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 27px;
  margin: auto;
  z-index: 1;
}
.introduction-box .jirei-link:hover {
  background-color: #fff;
  color: #064f64;
}


/* フッターアイコン */
#footer .container{
  display: flex;
  align-items: center;
  justify-content:end ;
  max-width: 1120px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

#footer .container small.copy{
  text-align: center;
}
#footer .icon{
  padding-left: 40px;
}
#footer .icon ul.flex{
  display: flex;
}

#footer .icon ul.flex li.pr-7{
  padding-right: 1.75rem;
}

#footer .icon ul.flex li.inline-block{
  display: inline-block;
}

#footer .icon ul.flex li a{
  transition: all .3s;
}

#footer .icon ul.flex li a:hover{
  opacity: 0.7;
}

#footer .icon ul.flex li a img.icon-24{
  width: 1.5rem;
  height: 1.5rem;
}
