@charset "UTF-8";
/*//////////////////////  PC  ////////////////////// */
@media print, screen and (min-width: 768px) {
  /* =======================================

   Main style

  ======================================= */
  /* Common
  --------------------------------------- */
  html {
    overflow-x: hidden;
  }

  main {
    min-width: 1260px;
  }

  .sp {
    display: none;
  }

  p {
    font-size: 1em;
  }

  a img:hover {
    opacity: 0.6;
    -webkit-transition-duration: 0.1s;
            transition-duration: 0.1s;
  }

  .mbt {
    margin-bottom: 1em;
  }

  .mtb {
    margin: 50px auto;
  }

  .dashed {
    height: 3px;
    position: relative;
    width: 1100px;
    margin: 0 auto 85px;
  }
  .dashed::before {
    content: "";
    background-image: linear-gradient(to right, #000, #000 12px, transparent 12px, transparent 12px);
    background-size: 24px 3px;
    background-repeat: repeat-x;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .art p {
    line-height: 2.125;
    padding-bottom: 1.5em;
  }

  .img.ctr-l .img {
    text-align: center;
    padding-bottom: 10px;
  }
  .img.ctr-l img {
    width: 100%;
    height: auto;
    border-radius: 20px;
  }
  .img.ctr-l.ctop {
    padding: 40px 0;
  }

  .art-set {
    padding: 45px 0 30px;
  }
  .art-set.no-date {
    padding-top: 0;
  }
  .art-set h3 {
    font-size: 26px;
    line-height: 1.5;
    font-weight: 700;
    padding: 30px 0;
  }

  .art h2 {
    font-size: 33px;
    letter-spacing: 1px;
    font-weight: 700;
    text-align: center;
    padding: 30px 0;
    color: #c00000;
    line-height: 1.5;
  }

  .art h3 {
    font-size: 26px;
    line-height: 1.5;
    font-weight: 700;
    padding: 30px 0;
  }

  .art img {
    width: 100%;
    height: auto;
    border-radius: 20px;
  }

  .art-set h4, .art h4 {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    padding: 30px 0;
    color: #c00000;
    letter-spacing: 2px;
  }

  .art-set h3 + h4 {
    padding-top: 10px;
  }
  .art-set em {
    color: #c00000;
    font-size: 1.2em;
  }
  .art-set strong {
    font-weight: 700;
  }
  .art-set b {
    font-weight: 700;
  }
  .art-set table tr td:nth-of-type(1){
    text-align:center;
  }
  .art-set u {
    display: inline-block;
    padding-bottom: 0;
    border-bottom: solid 1px #000;
    text-decoration: none;
  }
  .u {
    text-decoration: underline;
  }

  .art-box {
    padding: 25px;
    background: #fff;
    border-radius: 20px;
    margin-bottom: 30px;
    border: solid 4px #fff;
  }
  .art-box.hr {
    padding-bottom: 10px;
    margin-bottom: 40px;
  }
  .art-box.hr a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .art-box .date-cat {
    width: 96%;
    margin: 20px auto 40px;
  }
  .art-box.hr .date-cat {
    margin: 0 0 22px 12px;
    width: 92%;
  }
  .art-box .date-cat li {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  .art-box .img {
    padding-bottom: 0;
  }
  .art-box .img img {
    width: 100%;
    height: auto;
    border-radius: 20px;
  }
  .art-box.hr .img {
    width: 28%;
  }
  .art-box.hr .txt-set {
    width: 68%;
  }
  .art-box .sub-bk-s {
    text-align: left;
    padding: 20px 0;
  }
  .art-box.hr .sub-bk-s {
    padding: 0 0 10px;
    font-size: 22px;
    line-height: 1.5;
  }
  .art-box a {
    display: block;
  }
  .art-box:hover {
    border: solid 4px #c00000;
  }
  .art-box:hover * {
    text-decoration: none;
    opacity: 1;
  }

  .cat-top {
    margin-top: 60px;
  }

  .crubms {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    position: relative;
    z-index: 2;
    margin-right: 25%;
  }
  .crubms li.home img {
    position: relative;
    top: -2px;
  }
  .crubms li:not(:nth-last-of-type(1)):after {
    content: "＞";
    font-size: 10px;
    position: relative;
    top: -1px;
    margin: 0 7px;
  }
  .crubms li a:hover {
    text-decoration: underline;
  }

  /* -- pagination -- */
  .pagination_wrapper {
    position: relative;
    clear: both;
    overflow: hidden;
    margin: 70px auto 100px;
  }
  .pagination_wrapper ul {
    position: relative;
    left: 50%;
    float: left;
    list-style: none;
  }
  .pagination_wrapper li {
    position: relative;
    left: -50%;
    margin: 8px;
    float: left;
  }
  .pagination_wrapper li .current {
    display: block;
    color: #fff;
    padding: 12px 16px 14px;
    background-color: #131313;
    border: 1px solid #131313;
    text-decoration: none;
  }
  .pagination_wrapper li .dots {
    line-height: 40px;
  }
  .pagination_wrapper li a {
    display: block;
    color: #262626;
    padding: 12px 14px 14px;
    background-color: #fff;
    border: 1px solid #131313;
  }
  .pagination_wrapper li a:hover {
    text-decoration: none;
    opacity: 0.7;
  }
  .pagination_wrapper li a.prev, .pagination_wrapper li a.next {
    background-color: transparent;
    border: none;
    font-weight: 700;
  }

  .sns-round {
    margin-top: -10px;
    margin-bottom: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sns-round li {
    margin: 0 20px;
  }

  .prev-next-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .prev-next-box li {
    background: #e8e2dd;
    width: 326px;
    height: 155px;
  }
  .prev-next-box li:nth-of-type(1) {
    border-radius: 20px 0 0 20px;
    margin-right: 2px;
  }
  .prev-next-box li:nth-of-type(2) {
    border-radius: 0 20px 20px 0;
    margin-left: 2px;
  }
  .prev-next-box li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.9;
    padding-left: 60px;
    padding-right: 60px;
    height: 100%;
    background: url(/images/base/arw-lt.png) no-repeat left 20px center;
  }
  .prev-next-box li:nth-of-type(2) a {
    background: url(/images/base/arw-rt.png) no-repeat right 20px center;
  }
  .prev-next-box li a:hover {
    text-decoration: none;
    opacity: 0.6;
  }

  .btm-link-list {
    margin: 100px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .btm-link-list .new-arts {
    width: 465px;
  }
  .btm-link-list .arcs {
    width: 272px;
  }
  .btm-link-list .cats {
    width: 295px;
  }
  .btm-link-list .date {
    color: #c00000;
  }
  .btm-link-list .cat {
    display: inline-block;
    color: #fff;
    height: 22px;
    line-height: 20px;
    background: #999;
    border-radius: 11px;
    padding: 0 15px;
    font-size: 12px;
    margin-left: 25px;
  }
  .btm-link-list .tit {
    padding-bottom: 3px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(95%, transparent), color-stop(95%, #000));
    background: linear-gradient(transparent 95%, #000 95%);
    line-height: 2;
    position: relative;
    margin-left: 30px;
  }
  .btm-link-list .tit:before {
    content: url(/images/base/arw-rt.png);
    position: absolute;
    left: -28px;
    top: 0;
  }
  .btm-link-list li {
    margin-bottom: 18px;
  }

  .new-arts div {
    margin-bottom: 2px;
  }

  .btm-link-list .new-arts li {
    margin-bottom: 30px;
  }
  .btm-link-list li:hover * {
    text-decoration: none;
  }

  /* Layouts
  --------------------------------------- */
  .wrap {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }

  .wrap9 {
    width: 900px;
    margin-left: auto;
    margin-right: auto;
  }

  .wrap10 {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  .wrap12 {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  .txt-left {
    font-size: 18px;
    line-height: 1.9;
  }

  .wave-btm {
    position: absolute;
    bottom: -20px;
    width: 100%;
  }

  .btm-btn {
    padding-bottom: 30px;
  }

  .art-btm {
    padding-bottom: 90px;
  }

  .art-btn-btm {
    padding-bottom: 30px;
  }

  .bg-wave-intro {
    min-height: 340px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .list-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
  }
  .list-box li:hover * {
    text-decoration: none;
    opacity: 0.8;
  }
  .list-box li:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
  }
  .list-box.navy li {
    border-radius: 12px;
  }
  .list-box.navy > li:nth-of-type(3n-1) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }
  .list-box li img {
    border-radius: 12px;
    width: 100%;
    height: 214px;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
  }
  .list-box.navy li img {
    border-radius: 12px 12px 0 0;
    width: 100%;
    height: 214px;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
  }
  .list-box li .img {
    margin-bottom: 20px;
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
  }
  .list-box.navy li .img {
    margin-bottom: 10px;
    border-radius: 12px 12px 0 0;
  }
  .list-box.pct li .img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 200px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 0;
  }
  .list-box.pct li .img img {
    width: auto;
    height: auto;
  }
  .list-box li .img-txt {
    padding: 25px 0 0;
    text-align: center;
  }
  .list-box li .img-txt img {
    width: auto;
    height: auto;
    border-radius: 0;
  }
  .list-box li:hover .img-txt img {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .list-box li .tit {
    display: inline-block;
    width: 100%;
    margin-top: 15px;
    line-height: 1.8;
    text-align: left;
  }
  .list-box.navy li {
    background: url(/images/base/arw-next.svg) no-repeat right 20px bottom 20px #fff !important;
  }
  .list-box.navy li .tit {
    display: inline-block;
    width: calc(100% - 40px);
    height: 35px;
    line-height: 33px;
    border-radius: 16px;
    background: #002965;
    font-size: 18px;
    text-align: center;
    color: #fff;
    font-weight: 500;
    margin-right: 20px;
    margin-left: 20px;
  }
  .list-box.navy li a {
    display: block;
    height: 100%;
  }
  .list-box.pct li .tit {
    margin-top: 0;
  }
  .list-box .txt-set {
    padding: 0 15px 20px;
  }
  .list-box li .txt {
    padding: 15px 20px 35px;
    line-height: 1.75;
  }


  .list-box2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .list-box2 li:hover * {
    text-decoration: none;
    opacity: 0.8;
  }
  .list-box2 li:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
  }
  .list-box2.navy li {
    border-radius: 12px;
  }
  .list-box2 li img {
    border-radius: 12px;
    width: 100%;
    height: 214px;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
  }
  .list-box2.navy li img {
    border-radius: 12px 12px 0 0;
    width: 100%;
    height: 214px;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
  }
  .list-box2 li .img {
    margin-bottom: 20px;
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
  }
  .list-box2.navy li .img {
    margin-bottom: 10px;
    border-radius: 12px 12px 0 0;
  }
  .list-box2.pct li .img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 200px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 0;
  }
  .list-box2.pct li .img img {
    width: auto;
    height: auto;
  }
  .list-box2 li .img-txt {
    padding: 25px 0 0;
    text-align: center;
  }
  .list-box2 li .img-txt img {
    width: auto;
    height: auto;
    border-radius: 0;
  }
  .list-box2 li:hover .img-txt img {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .list-box2 li .tit {
    display: inline-block;
    width: 100%;
    margin-top: 15px;
    line-height: 1.8;
    text-align: left;
  }
  .list-box2.navy li {
    background: url(/images/base/arw-next.svg) no-repeat right 20px bottom 20px #fff !important;
  }
  .list-box2.navy li .tit {
    display: inline-block;
    width: calc(100% - 40px);
    height: 35px;
    line-height: 33px;
    border-radius: 16px;
    background: #002965;
    font-size: 18px;
    text-align: center;
    color: #fff;
    font-weight: 500;
    margin-right: 20px;
    margin-left: 20px;
  }
  .list-box2.navy li a {
    display: block;
    height: 100%;
  }
  .list-box2.pct li .tit {
    margin-top: 0;
  }
  .list-box2 .txt-set {
    padding: 0 15px 20px;
  }
  .list-box2 li .txt {
    padding: 15px 20px 35px;
    line-height: 1.75;
  }


  .date-cat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }

  .art ul.date-cat li:before, .art ul.date-cat-vr li:before {
    content: "";
  }

  .date-cat.c {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .date-cat.c .cat span {
    display: inline-block;
    margin: 8px 15px 0 0;
  }
  .date-cat .date {
    font-weight: 500;
    color: #c00000;
    display: inline-block;
    font-size: 17px;
  }
  .date-cat.c .date {
    margin-bottom: 10px;
  }
  .date-cat .cat span {
    font-size: 12px;
    font-weight: 500;
    background: #002965;
    color: #fff;
    padding: 3px 15px 5px;
    text-align: center;
    line-height: 20px;
    border-radius: 11px;
    position: relative;
    right: 0;
    margin-left: 15px;
    text-decoration: none;
  }

  .date-cat-vr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 30px;
  }
  .date-cat-vr .date {
    font-weight: 700;
    font-size: 18px;
    color: #000;
    display: inline-block;
    padding-bottom: 25px;
  }
  .date-cat-vr .cat span, .date-cat-vr .cat a {
    font-size: 14px;
    font-weight: 500;
    background: #002965;
    color: #fff;
    padding: 3px 30px 5px;
    text-align: center;
    line-height: 28px;
    border-radius: 15px;
    margin-right: 10px;
    margin-left: 10px;
    text-decoration: none;
  }

  #page-main {
    overflow: hidden;
    padding-bottom: 5px;
  }
  #page-main .sub-rd {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  .main-vs-mask {
    width: 100%;
    margin: 0 auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
  }
  .main-vs-mask .mask {
    width: 101%;
    height: auto;
    margin-left: -0.5%;
    margin-bottom: -2px;
    margin-top: -2px;
  }

  .main-vs-lead {
    position: absolute;
    height: 100%;
    left: 5%;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-bottom: 10%;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.7;
    color: #fff;
    text-shadow: #000 1px 0 10px, #222 1px 0 15px;
    letter-spacing: 2px;
  }

  .art {
    margin-bottom: 60px;
  }
  .art table {
    font-size: 16px;
    line-height: 2.125;
    width: 100%;
  }
  .art tr {
    border-bottom: solid 1px #000;
  }
  .art th, .art td {
    padding: 20px 0 20px;
  }
  .art.tbl-pds th, .art.tbl-pds td {
    padding: 12px 0;
  }
  .art.line-top table {
    border-top: solid 1px #000;
    margin-top: 20px;
  }
  .art .text-wrap table + p {
    margin-top: 40px;
  }
  .art th {
    width: 20%;
    text-align: left;
    vertical-align: top;
  }
  .art#com-data th {
    width: 40%;
  }
  .art th:before {
    content: "●";
    margin-right: 10px;
    color: #002965;
  }
  /** テーブル */
  .blog-content table tr td:nth-of-type(1){
    width: 20%;
    text-align: left;
    vertical-align: top;
  }
  .blog-content table tr td:nth-of-type(1):before{
    margin-right: 10px;
    color: #002965;
  }
  .art table.inr {
    border-top: solid 1px #000;
    border-left: solid 1px #000;
    margin: 0 0 30px 0;
  }
  .art table.inr tr {
    border: none;
  }
  .art table.inr th, .art table.inr td {
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
  }
  .art table.inr th {
    text-align: center;
    background: #f5f5f5;
    padding: 10px;
  }
  .art table.inr.lft th {
    text-align: left;
  }
  .art table.inr th:before {
    content: "";
  }
  .art table.inr td {
    padding-left: 20px;
    padding-right: 20px;
  }
  .art .text-wrap img {
      width: 100%;
  }
  .art .text-wrap ul {
    margin-bottom: 30px;
  }
  .art .text-wrap ul li {
    padding-left: 20px;
    text-indent: -20px;
    line-height: 2;
    margin-bottom: 10px;
  }
  .art .text-wrap ul li:before {
    content: "●";
    margin-right: 5px;
    color: #002965;
  }
  :root .tbl-s tr {
    border-bottom: dotted 1px #666;
  }
  :root .tbl-s th,
  :root .tbl-s td {
    padding: 5px 10px;
    font-size: 16px;
    border-right: solid 1px #666;
    text-align: center;
  }
  :root .tbl-s {
    border: solid 1px #666;
    border-right: none;
  }
  tr.gy {
    background: #f5f5f5;
  }
  #tax-table {
    margin: 0 0 30px 0;
  }
  #tax-table tr.gy td:nth-of-type(1):before {
    content: '';
  }
  #tax-table td:nth-of-type(1) {
    text-align: left;
    width: 50%;
  }

  .blog-content table tbody tr td:first-child:before {
    content: "●";
    margin-right: 10px;
    color: #002965;
  }

  .nami-frame {
    position: relative;
  }
  .nami-frame .img img {
    width: 100%;
    height: auto;
  }

  .nami-mask {
    position: absolute;
    z-index: 100;
    width: 100%;
    max-width: 2000px;
  }

  .mask-top {
    background: url(/images/base/mask-nami-top.svg) repeat-x top center;
    top: 0;
    height: 70px;
  }

  .mask-btm {
    background: url(/images/base/mask-nami-btm.svg) repeat-x top center;
    bottom: 0;
    height: 50px;
  }

  .bg-wave-gry {
    background: url(/images/base/bg-wave-gry.png) no-repeat center top;
  }
  .bg-wave-gry.pdt {
    margin-top: -30px;
    padding-top: 30px;
  }

  .testi-set {
    background: url(/images/testi/bg-testi-text.svg) no-repeat left -30px top 60px;
    padding-top: 30px;
  }

  .pgm-set {
    background: url(/images/pgm/bg-pgm-text.svg) no-repeat right -100px top 60px;
    padding-top: 30px;
  }

  .src-form-box {
    margin: 0 auto 60px;
  }
  .src-form-box .sub-rd-rnd {
    margin-left: 32px;
    margin-right: 32px;
  }
  .src-form-box form {
    border: solid 4px #c00000;
    border-radius: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 20px;
    background: url(/images/base/pt-src-l.png) no-repeat right 30px bottom 10px #ffff;
    background-size: 240px auto;
    padding: 45px;
  }
  .src-form-box dl {
    width: 42%;
    margin: 20px 0;
    font-size: 18px;
  }
  .src-form-box dt {
    padding: 12px 0 14px;
    font-size: 20px;
    letter-spacing: 2px;
  }
  .src-form-box .submit-btn {
    width: 100%;
    text-align: center;
  }
  .src-form-box select {
    padding: 14px 12px;
    width: 100%;
    border: solid 2px #c00000;
    background: #f5f5f5;
    border-radius: 8px;
  }
  .src-form-box input[type=submit] {
    width: 200px;
    background: #002965;
    color: #fff;
    font-size: 18px;
    text-align: center;
    height: 44px;
    line-height: 42px;
    border-radius: 22px;
    letter-spacing: 10px;
    text-indent: 10px;
    margin-top: 40px;
  }
  .src-form-box input[type=submit]:hover {
    opacity: 0.8;
  }
  .src-form-box .long {
    width: 92%;
  }

  .tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .tags a {
    display: inline-block;
    border-radius: 6px;
    background: #f0f0f0;
    padding: 7px 10px 9px;
    margin-bottom: 12px;
    margin-right: 12px;
    font-size: 16px;
  }
  .tags a:hover {
    text-decoration: none;
    background: #f5f5f5;
  }
  .tags a:before {
    content: "#";
  }

  /* Flex
  --------------------------------------- */
  .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .sub-rd-m + .l-r-set {
    margin-top: 30px;
  }
  .sub-rd-m + .list-box {
    margin-top: 25px;
  }

  .l-r-set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 60px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .r .l-r-set:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }

  .l-r-set .img {
    padding-top: 5px;
    width: 565px;
    padding-bottom: 0;
  }
  .l-r-set .img p {
    padding-bottom: 2em;
  }
  .l-r-set .half-box .img {
    width: 100%;
  }
  .l-r-set .img .cap {
    display: block;
    padding: 15px 0 0;
    line-height: 1.8;
  }
  .l-r-set .img .cap.bltxt {
    color: #094393;
  }
  .l-r-set .img .cap .ftl-name {
    font-size: 1.5em;
    color: inherit;
  }
  .l-r-set .img.cover300 img {
    object-fit: cover;
    height: 300px;
  }
  .l-r-set .txt {
    width: 475px;
  }
  .l-r-set .txt.full {
    width: 100%;
  }
  .l-r-set .img img {
    width: 100%;
    height: auto;
    border-radius: 20px;
  }
  .l-r-set .img.auto img {
    width: auto;
    height: auto;
    border-radius: 0;
  }
  .l-r-set .half-box {
    width: 48%;
  }
  .l-r-set .six-box {
    width: 58%;
  }
  .l-r-set .four-box {
    width: 39%;
  }
  .l-r-set .three-box {
    width: 32%;
  }
  .l-r-set .three-box.last {
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2;
    margin-left: 2%;
  }

  .half-box.wt {
    background: #fff;
    border-radius: 20px;
  }

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

  /* Subtitles
  --------------------------------------- */
  .tit-en {
    text-align: center;
    font-size: 40px;
    color: #c00000;
    letter-spacing: 4px;
    text-indent: 2px;
    font-family: "Raleway", sans-serif;
    font-weight: 700;
    padding: 30px 0;
  }

  .sub-bk-nml {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 2px;
    text-indent: 1px;
    text-align: center;
    padding: 60px 0 30px;
  }

  .sub-red-squ {
    display: block;
    width: 257px;
    height: 43px;
    background: #c00000;
    color: #f4ece5;
    letter-spacing: 3px;
    text-indent: 1px;
    line-height: 41px;
    font-size: 22px;
    font-weight: 700;
    margin: 40px auto;
    text-align: center;
  }
  .sub-red-squ.no-lead {
    margin-bottom: 70px;
  }

  .hui-lead {
    text-align: center;
    padding-bottom: 50px;
  }

  .sub-rd-m + .hui-lead {
    padding: 15px 0 80px;
  }

  .sub-nvy-s {
    padding: 60px 0 15px;
    color: #002965;
    font-weight: 700;
    font-size: 1.2em;
  }
  .sub-nvy-s:nth-of-type(1) {
    padding-top: 0;
  }

  #form-tbl .sub-nvy-s {
    padding-bottom: 30px;
  }
  #form-tbl .sub-nvy-s:nth-of-type(1) {
    padding-top: 40px;
  }

  .sub-nvy-s.ptp:nth-of-type(1) {
    padding-top: 20px;
  }

  .txt-lead {
    font-size: 18px;
    line-height: 1.9;
    text-align: center;
    padding-bottom: 50px;
  }
  .txt-lead.pbs {
    padding-bottom: 15px;
  }
  .txt-lead.no-sub {
    padding-top: 50px;
  }

  .intro-lead {
    text-align: center;
    padding: 40px 0 60px;
  }
  .intro-lead.nopdt {
    padding-top: 0;
  }

  .flex-lead-lft {
    min-height: 300px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.92;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 40px;
  }

  .sub-rd {
    font-size: 43px;
    line-height: 1.16;
    color: #c00000;
    letter-spacing: 2px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
  }
  .sub-rd .en {
    display: block;
    color: inherit;
    font-size: 35px;
    text-align: center;
    padding-bottom: 5px;
  }
  .sub-rd .paging {
    font-size: 30px;
    font-weight: 400;
    color: inherit;
    letter-spacing: 0;
  }

  .sub-rd-m {
    font-size: 33px;
    letter-spacing: 1px;
    font-weight: 700;
    text-align: center;
    padding: 30px 0;
    color: #c00000;
    line-height: 1.5;
  }
  .sub-rd-m.pdt {
    padding-top: 120px;
  }
  .sub-rd-m.pds {
    padding-bottom: 15px;
  }

  .art-set .sub-rd-m {
    padding: 40px 0;
  }
  .art-set .sub-rd-m + .img.ctr-l {
    padding-top: 10px;
  }

  .sub-rd-rnd {
    background: #c00000;
    color: #fff;
    height: 46px;
    line-height: 44px;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    border-radius: 20px;
    width: 100%;
    margin-bottom: 10px;
  }

  .sub-bk-s {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    padding: 80px 0 60px;
    letter-spacing: 1px;
    text-align: center;
  }
  .sub-bk-s.pds {
    padding: 0 0 15px;
  }
  .sub-bk-s.lft {
    text-align: left;
  }

  .sub-bk-m {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
    padding: 70px 0 50px;
    letter-spacing: 2px;
    text-align: center;
  }

  .txt-lead + .sub-bk-m {
    padding: 10px 0 40px;
  }

  .sub-nvy-squ {
    background: #002965;
    height: 40px;
    line-height: 38px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 4px;
    text-indent: -4px;
    color: #fff;
    text-align: center;
    margin-bottom: 25px;
  }

  .sub-bg-bk {
    padding-bottom: 3px;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0%, #000));
    background: linear-gradient(transparent 0%, #000 0%);
    line-height: 2;
    position: relative;
    color: #fff;
    font-size: 22px;
    display: inline;
  }

  .rd-nami {
    font-size: 23px;
    line-height: 1.6;
    font-weight: 700;
    display: inline-block;
    padding: 12px 0 18px;
    margin-bottom: 25px;
    background: url(/images/base/rd-nami.png) repeat-x left bottom;
    letter-spacing: 1px;
  }
  .rd-nami:after {
    content: "";
    display: block;
  }

  .slash {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 2px;
    text-align: center;
    margin-bottom: 40px;
  }
  .slash:before {
    content: url(/images/base/slash-lft.png);
    margin-right: 12px;
    position: relative;
    top: 5px;
  }
  .slash:after {
    content: url(/images/base/slash-rgt.png);
    margin-left: 12px;
    position: relative;
    top: 5px;
  }

  .code {
    display: inline-block;
    background: #c00000;
    border-radius: 10px;
    width: 60px;
    height: 31px;
    line-height: 29px;
    font-weight: 700;
    font-size: 19px;
    text-align: center;
    margin-left: 20px;
    color: #fff;
  }

  /* Buttons
  --------------------------------------- */
  .btn-box {
    padding: 50px 0 85px;
    text-align: center;
  }

  .art + .btn-box {
    padding-top: 30px;
  }

  .bl-btn {
    display: inline-block;
    background: #002965;
    padding: 0 65px 0 55px;
    text-align: center;
    color: #fff;
    margin: 0;
    border-radius: 23px;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    font-size: 17px;
    height: 46px;
    line-height: 43px;
    min-width: 220px;
    letter-spacing: 1px;
  }
  .bl-btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
    width: 15px;
    height: 1px;
    background: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .bl-btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .bl-btn:hover {
    text-decoration: none;
    opacity: 0.8;
  }
  .bl-btn:hover::before {
    right: 20px;
    width: 25px;
  }
  .bl-btn:hover::after {
    right: 20px;
  }
  .bl-btn.l {
    padding: 0 65px 0 55px;
    border-radius: 23px;
    font-size: 20px;
    height: 55px;
    line-height: 52px;
    min-width: 415px;
    letter-spacing: 2px;
  }
  .bl-btn.l::before, .bl-btn.l::after {
    right: 40px;
  }
  .bl-btn.l:hover::before, .bl-btn.l:hover::after {
    right: 30px;
  }

  .rt .bl-btn {
    margin-right: 30px;
  }

  .pg-cat-btn {
    min-width: 200px;
    height: 35px;
    border-radius: 10px;
    background: #c00000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    position: absolute;
    right: 0;
    bottom: -5px;
    margin-top: 5px;
    font-size: 14px;
    line-height: 33px;
    letter-spacing: 1px;
    padding-right: 25px;
    padding-left: 25px;
    z-index: 100;
  }
  .pg-cat-btn:hover {
    text-decoration: none;
    opacity: 0.6;
  }

  .rt-arw {
    display: inline-block;
    border-bottom: solid 1px #000;
    position: relative;
    margin-right: 25px;
  }
  .rt-arw:hover {
    text-decoration: none;
    opacity: 0.6;
  }
  .rt-arw:after {
    content: url(/images/base/arw-rt.png);
    position: absolute;
    right: -25px;
    top: 3px;
  }

  .btn-gry {
    display: inline-block;
    background: #999;
    color: #fff;
    padding: 0 20px;
    height: 42px;
    line-height: 40px;
    position: relative;
    border-radius: 8px;
  }
  .btn-gry:hover {
    text-decoration: none;
    background: #ccc;
  }
  .btn-gry:after {
    display: inline-block;
    content: "";
    width: 11px;
    height: 6px;
    background: url(/images/base/arw-wt.svg) no-repeat center;
    background-size: 100% auto;
    margin-left: 8px;
    position: relative;
    top: -2px;
  }
  .btn-gry.rtbtm {
    position: absolute;
    right: 0;
    bottom: 0;
  }

  /* Pages
  --------------------------------------- */
  /* News */
  .news-list {
    font-size: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 40px;
  }
  .news-list dt {
    color: #c00000;
    font-weight: 700;
    width: 20%;
  }
  .news-list dd {
    width: 80%;
    text-align: left;
  }
  .news-list dt, .news-list dd {
    margin: 18px 0;
  }

  .bg-wt {
    background-image: url(/images/base/bg-wt.svg), url(/images/base/bg-wt.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: center top, center bottom;
  }

  #top-news {
    margin: 50px auto;
    padding: 40px 80px 60px 90px;
    width: 1019px;
    min-height: 504px;
    text-align: center;
  }

  /* Company */
  #top-company {
    margin-top: 40px;
    padding-bottom: 400px;
    background: url(/images/com/agt-member.jpg) no-repeat bottom center;
    position: relative;
  }
  #top-company .txt-left {
    width: 920px;
    margin: 10px auto 25px;
  }
  #top-company .btn-box {
    padding: 15px 0 0;
  }

  #com-time {
    margin: 0 auto 50px;
    position: relative;
  }
  #com-time:before {
    content: "";
    display: block;
    position: absolute;
    left: 58px;
    top: 100px;
    margin: 0 0 0 -1px;
    width: 8px;
    height: 100%;
    background: #000;
  }
  #com-time article {
    width: 100%;
    margin: 0 0 40px 0;
    position: relative;
    max-width: 900px;
  }
  #com-time article:nth-of-type(1) {
    margin-top: 50px;
  }
  #com-time article:after {
    content: "";
    display: block;
    clear: both;
  }
  #com-time article .inner {
    width: 100%;
    float: left;
    margin: 5px 0 0 120px;
    border-radius: 6px;
  }
  #com-time article .inner span.date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    /*-webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;*/
    width: 80px;
    height: 80px;
    padding: 19px 0 0;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 0 0 20px;
    border-radius: 100%;
    font-size: 26px;
    font-weight: 700;
    background: #000;
    color: #fff;
  }
  #com-time article .inner span.date span {
    display: block;
    text-align: center;
  }
  #com-time article .inner span.date:after {
    content: "年";
    font-size: 14px;
    font-weight: normal;
    margin-left: 3px;
    position: absolute;
    bottom: 16px;
  }
  #com-time article .inner h3 {
    padding: 15px 20px 13px;
    margin: 0;
    color: #fff;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: -1px;
    border-radius: 12px 12px 0 0;
    position: relative;
  }
  #com-time article .inner h3:after {
    content: "";
    position: absolute;
    top: 20px;
    left: -5px;
    width: 10px;
    height: 10px;
    -webkit-transform: rotate(-45deg);
  }
  #com-time article .inner p {
    font-size: 16px;
    line-height: 1.9;
  }
  #com-time article .inner div.txt-box {
    padding: 15px 15px 25px 20px;
    border-radius: 0 0 12px 12px;
    background: #fff;
    position: relative;
    min-height: 200px;
  }
  #com-time article .inner div.txt-box .txt {
    display: inline-block;
    width: 520px;
  }
  #com-time article .inner div.txt-box .img {
    position: absolute;
    right: 30px;
    top: -20px;
    border-radius: 12px;
    width: 300px;
    height: 200px;
  }
  #com-time article .inner div.txt-box .img img {
    width: 300px;
    height: 200px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 12px;
  }
  #com-time article .inner h3 {
    background: #c00000;
  }
  #com-time article .inner h3:after {
    background: #c00000;
  }

  /* Reasons */
  #top-reason {
    margin-top: 50px;
  }

  .rsn-box, .rsn-box-l li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
  }

  .rsn-box li {
    width: 33.3%;
  }
  .rsn-box .fuwa {
    margin-left: auto;
    margin-right: auto;
  }
  .rsn-box .img {
    position: relative;
    top: -254px;
    width: 284px;
    height: 254px;
    margin: 0 auto -254px;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .rsn-box .img img {
    position: relative;
  }
  .rsn-box .tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 90px;
  }
  .rsn-box li:not(:nth-last-of-type(1)) .tit img {
    margin-top: 16px;
  }
  .rsn-box .txt {
    display: block;
    margin: 0 auto 20px;
    font-size: 14px;
    line-height: 1.9;
    width: 285px;
  }

  .rsn-box-l {
    margin-bottom: 100px;
  }
  .rsn-box-l li {
    margin-bottom: 60px;
  }
  .rsn-box-l li:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .rsn-box-l li .img {
    width: 435px;
    position: relative;
  }
  .rsn-box-l li .txt-box {
    width: 560px;
  }
  .rsn-box-l li .lead {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75;
    padding-top: 30px;
  }
  .rsn-box-l li .txt {
    font-size: 16px;
    line-height: 2.123;
    padding-top: 35px;
  }
  .rsn-box-l li .tit {
    font-size: 32px;
    font-weight: 700;
    color: #c00000;
    line-height: 1.25;
    text-indent: -82px;
    margin-left: 80px;
  }
  .rsn-box-l li .tit:before {
    content: url(/images/rsn/num01.png);
    margin-right: 20px;
    margin-left: -10px;
    position: relative;
    top: 8px;
  }
  .rsn-box-l li:nth-of-type(2) .tit:before {
    content: url(/images/rsn/num02.png);
  }
  .rsn-box-l li:nth-of-type(3) .tit:before {
    content: url(/images/rsn/num03.png);
  }
  .rsn-box-l li:nth-of-type(4) .tit:before {
    content: url(/images/rsn/num04.png);
  }
  .rsn-box-l li:nth-of-type(5) .tit:before {
    content: url(/images/rsn/num05.png);
  }
  .rsn-box-l li:nth-of-type(6) .tit:before {
    content: url(/images/rsn/num06.png);
  }
  .rsn-box-l li .pct {
    position: absolute;
    left: 180px;
    top: 80px;
    z-index: 100;
  }
  .rsn-box-l li:nth-of-type(2) .pct {
    left: 40px;
    top: 80px;
  }
  .rsn-box-l li:nth-of-type(3) .pct {
    left: 120px;
    top: 90px;
  }
  .rsn-box-l li:nth-of-type(4) .pct {
    left: 100px;
    top: 90px;
  }
  .rsn-box-l li:nth-of-type(5) .pct {
    left: 180px;
    top: 80px;
  }
  .rsn-box-l li:nth-of-type(6) .pct {
    left: 80px;
    top: 50px;
  }

  .fuwafuwa {
    -webkit-animation: fuwafuwa 4s infinite ease-in-out 0.8s alternate;
            animation: fuwafuwa 4s infinite ease-in-out 0.8s alternate;
    background: url(/images/base/fuwafuwa.svg) no-repeat center center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: 1.5s ease-in-out;
    transition: 1.5s ease-in-out;
    width: 284px;
    height: 254px;
    margin-top: 15px;
    -webkit-transform: translate(0, 0) rotate(-7deg);
            transform: translate(0, 0) rotate(-7deg);
  }

  .fuwafuwa-2 {
    -webkit-animation: fuwafuwa-2 5s infinite ease-in-out 1.5s alternate;
            animation: fuwafuwa-2 5s infinite ease-in-out 1.5s alternate;
    background: url(/images/base/fuwafuwa.svg) no-repeat center center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: 1.5s ease-in-out;
    transition: 1.5s ease-in-out;
    width: 284px;
    height: 254px;
    margin-top: 15px;
    -webkit-transform: translate(0, 7px) rotate(180deg);
            transform: translate(0, 7px) rotate(180deg);
  }

  .fuwafuwa-3 {
    -webkit-animation: fuwafuwa-3 3.5s infinite ease-in-out 1.2s alternate;
            animation: fuwafuwa-3 3.5s infinite ease-in-out 1.2s alternate;
    background: url(/images/base/fuwafuwa.svg) no-repeat center center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: 1.5s ease-in-out;
    transition: 1.5s ease-in-out;
    width: 284px;
    height: 254px;
    margin-top: 15px;
    -webkit-transform: translate(0, 7px) rotate(25deg);
            transform: translate(0, 7px) rotate(25deg);
  }

  @-webkit-keyframes fuwafuwa {
    0% {
      -webkit-transform: translate(0, 0) rotate(-7deg);
              transform: translate(0, 0) rotate(-7deg);
    }
    50% {
      -webkit-transform: translate(0, -7px) rotate(0deg);
              transform: translate(0, -7px) rotate(0deg);
    }
    100% {
      -webkit-transform: translate(0, 0) rotate(7deg) scale(1.03);
              transform: translate(0, 0) rotate(7deg) scale(1.03);
    }
  }

  @keyframes fuwafuwa {
    0% {
      -webkit-transform: translate(0, 0) rotate(-7deg);
              transform: translate(0, 0) rotate(-7deg);
    }
    50% {
      -webkit-transform: translate(0, -7px) rotate(0deg);
              transform: translate(0, -7px) rotate(0deg);
    }
    100% {
      -webkit-transform: translate(0, 0) rotate(7deg) scale(1.03);
              transform: translate(0, 0) rotate(7deg) scale(1.03);
    }
  }
  @-webkit-keyframes fuwafuwa-2 {
    0% {
      -webkit-transform: translate(0, 7px) rotate(180deg);
              transform: translate(0, 7px) rotate(180deg);
    }
    40% {
      -webkit-transform: translate(0, 0) rotate(173deg);
              transform: translate(0, 0) rotate(173deg);
    }
    100% {
      -webkit-transform: translate(0, 7px) rotate(180deg) scale(1.03);
              transform: translate(0, 7px) rotate(180deg) scale(1.03);
    }
  }
  @keyframes fuwafuwa-2 {
    0% {
      -webkit-transform: translate(0, 7px) rotate(180deg);
              transform: translate(0, 7px) rotate(180deg);
    }
    40% {
      -webkit-transform: translate(0, 0) rotate(173deg);
              transform: translate(0, 0) rotate(173deg);
    }
    100% {
      -webkit-transform: translate(0, 7px) rotate(180deg) scale(1.03);
              transform: translate(0, 7px) rotate(180deg) scale(1.03);
    }
  }
  @-webkit-keyframes fuwafuwa-3 {
    0% {
      -webkit-transform: translate(0, 7px) rotate(25deg);
              transform: translate(0, 7px) rotate(25deg);
    }
    40% {
      -webkit-transform: translate(0, -7px) rotate(32deg);
              transform: translate(0, -7px) rotate(32deg);
    }
    100% {
      -webkit-transform: translate(0, 7px) rotate(25deg) scale(1.03);
              transform: translate(0, 7px) rotate(25deg) scale(1.03);
    }
  }
  @keyframes fuwafuwa-3 {
    0% {
      -webkit-transform: translate(0, 7px) rotate(25deg);
              transform: translate(0, 7px) rotate(25deg);
    }
    40% {
      -webkit-transform: translate(0, -7px) rotate(32deg);
              transform: translate(0, -7px) rotate(32deg);
    }
    100% {
      -webkit-transform: translate(0, 7px) rotate(25deg) scale(1.03);
              transform: translate(0, 7px) rotate(25deg) scale(1.03);
    }
  }
  @-webkit-keyframes fuwa-g {
    0% {
      -webkit-transform: translate(0, 0) rotate(-7deg);
              transform: translate(0, 0) rotate(-7deg);
    }
    50% {
      -webkit-transform: translate(0, -7px) rotate(0deg);
              transform: translate(0, -7px) rotate(0deg);
    }
    100% {
      -webkit-transform: translate(0, 0) rotate(7deg) scale(1.02);
              transform: translate(0, 0) rotate(7deg) scale(1.02);
    }
  }
  @keyframes fuwa-g {
    0% {
      -webkit-transform: translate(0, 0) rotate(-7deg);
              transform: translate(0, 0) rotate(-7deg);
    }
    50% {
      -webkit-transform: translate(0, -7px) rotate(0deg);
              transform: translate(0, -7px) rotate(0deg);
    }
    100% {
      -webkit-transform: translate(0, 0) rotate(7deg) scale(1.02);
              transform: translate(0, 0) rotate(7deg) scale(1.02);
    }
  }
  @-webkit-keyframes fuwa-g2 {
    0% {
      -webkit-transform: translate(0, 7px) rotate(7deg);
              transform: translate(0, 7px) rotate(7deg);
    }
    50% {
      -webkit-transform: translate(0, 0px) rotate(0deg);
              transform: translate(0, 0px) rotate(0deg);
    }
    100% {
      -webkit-transform: translate(0, 7px) rotate(-7deg) scale(1.02);
              transform: translate(0, 7px) rotate(-7deg) scale(1.02);
    }
  }
  @keyframes fuwa-g2 {
    0% {
      -webkit-transform: translate(0, 7px) rotate(7deg);
              transform: translate(0, 7px) rotate(7deg);
    }
    50% {
      -webkit-transform: translate(0, 0px) rotate(0deg);
              transform: translate(0, 0px) rotate(0deg);
    }
    100% {
      -webkit-transform: translate(0, 7px) rotate(-7deg) scale(1.02);
              transform: translate(0, 7px) rotate(-7deg) scale(1.02);
    }
  }
  .fuwa-g {
    -webkit-animation: fuwa-g 3.5s infinite 1.2s alternate;
            animation: fuwa-g 3.5s infinite 1.2s alternate;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: translate(0, 0) rotate(-7deg);
            transform: translate(0, 0) rotate(-7deg);
  }

  .fuwa-g2 {
    -webkit-animation: fuwa-g2 3s infinite 1.2s alternate;
            animation: fuwa-g2 3s infinite 1.2s alternate;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: translate(0, 7px) rotate(7deg);
            transform: translate(0, 7px) rotate(7deg);
  }

  .fuwa01 {
    background: url(/images/rsn/fuwa01.png) no-repeat center center;
    width: 421px;
    height: 327px;
  }

  .fuwa02 {
    background: url(/images/rsn/fuwa02.png) no-repeat center center;
    width: 421px;
    height: 351px;
  }

  .fuwa03 {
    background: url(/images/rsn/fuwa03.png) no-repeat center center;
    width: 413px;
    height: 341px;
  }

  .fuwa04 {
    background: url(/images/rsn/fuwa04.png) no-repeat center center;
    width: 397px;
    height: 375px;
  }

  .fuwa05 {
    background: url(/images/rsn/fuwa05.png) no-repeat center center;
    width: 434px;
    height: 368px;
  }

  .fuwa06 {
    background: url(/images/rsn/fuwa06.png) no-repeat center center;
    width: 403px;
    height: 310px;
  }

  /* Performance */
  #top-pfc {
    width: 1260px;
    margin-right: auto;
    margin-left: auto;
  }

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

  .display_selectedItem {
    display: none;
  }

  .pfc-wrap .tab-wrap {
    width: 30%;
    min-width: 300px;
  }
  .pfc-wrap .tab-group {
    padding: 50px 0 0;
    margin: 0 auto;
  }
  .pfc-wrap .tab-group li {
    width: calc(100% - 18px);
    height: 60px;
    background: #fff;
    border-radius: 0 12px 12px 0;
    margin-bottom: 6px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 60px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 400;
    padding-left: 60px;
    padding-right: 10px;
    position: relative;
  }
  .pfc-wrap .tab-group li:before {
    content: "";
    display: inline-block;
    background: url(/images/base/arw-rd.svg) no-repeat center;
    background-size: cover;
    position: absolute;
    left: 30px;
    top: 25px;
    width: 13px;
    height: 13px;
  }
  .pfc-wrap .tab {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    height: 92px;
  }
  .pfc-wrap .tab.is-active {
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    background: #002965;
    font-size: 20px;
    color: #fff;
    border-radius: 0;
  }
  .pfc-wrap .tab-group li.tab.is-active:before {
    content: none;
  }
  .pfc-wrap .tab.is-active:after {
    position: absolute;
    right: -53px;
    top: 0;
    content: url(/images/pfc/tab-on.svg);
  }
  .pfc-wrap .panel-group {
    width: 70%;
    background-image: url(/images/pfc/bg-pfc-btm.svg), url(/images/pfc/bg-pfc-top.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: left bottom -1px, left top;
    background-size: calc(100% - 20px) auto;
    min-height: 150px;
    padding-top: 10px;
    padding-bottom: 60px;
  }

  .tab {
    text-align: center;
    cursor: pointer;
  }

  .panel {
    display: none;
  }
  .panel.is-show {
    display: block;
    position: relative;
  }

  .pfc-wrap .panel .img {
    text-align: center;
    padding: 0 75px 30px;
  }
  .pfc-wrap .panel .img img {
    width: 100%;
    height: auto;
    max-width: 722px;
  }
  .pfc-wrap .panel .txt {
    text-align: center;
    padding-left: 75px;
    padding-right: 75px;
    line-height: 1.8;
  }

  /* Testimonials */
  #top-testi {
    margin-top: 100px;
  }

  .testi-box > li {
    width: 31%;
    border-radius: 12px;
    background: #fff;
  }
  .testi-box > li:nth-of-type(3n-1) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }
  .testi-box > li.first-box {
    width: 100%;
    margin-bottom: 48px;
  }
  .testi-box > li.first-box a {
    display: table;
    position: relative;
  }
  .testi-box > li.first-box a:after {
    content: url(/images/base/arw-next.svg);
    position: absolute;
    bottom: 30px;
    right: 22px;
  }
  .testi-box > li.first-box .tit {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 20px;
  }
  .testi-box > li.first-box .txt {
    font-size: 18px;
    line-height: 1.9;
  }
  .testi-box > li.first-box .img {
    display: table-cell;
    width: 42%;
    height: 100%;
    margin-bottom: 0;
    vertical-align: top;
    overflow: hidden;
    border-radius: 12px 0 0 12px !important;
    background: #cc0000;
  }
  .testi-box > li.first-box .img img {
    width: 110%;
    height: auto;
    border-radius: 12px 0 0 12px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .testi-box > li.first-box .txt-set {
    display: table-cell;
    width: 58%;
    padding: 40px 38px 0 40px;
  }

  .list-box.testi-box li .img {
    border-radius: 12px 12px 0 0;
  }

  .testi-box .img img {
    border-radius: 12px 12px 0 0;
  }
  .testi-box > li:nth-of-type(n+4) {
    margin-top: 40px;
  }

  #top-testi .testi-box > li:nth-of-type(n+4) {
    margin-top: 0;
  }

  .testi-box2 > li {
    width: 31%;
    border-radius: 12px;
    background: #fff;
  }
  .testi-box2 > li:nth-of-type(4n-1) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }
  .testi-box2 > li.first-box {
    width: 100%;
    margin-bottom: 48px;
  }
  .testi-box2 > li.first-box a {
    display: table;
    position: relative;
  }
  .testi-box2 > li.first-box a:after {
    content: url(/images/base/arw-next.svg);
    position: absolute;
    bottom: 30px;
    right: 22px;
  }
  .testi-box2 > li.first-box .tit {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 20px;
  }
  .testi-box2 > li.first-box .txt {
    font-size: 18px;
    line-height: 1.9;
  }
  .testi-box2 > li.first-box .img {
    display: table-cell;
    width: 42%;
    height: 100%;
    margin-bottom: 0;
    vertical-align: top;
    overflow: hidden;
    border-radius: 12px 0 0 12px !important;
    background: #cc0000;
  }
  .testi-box2 > li.first-box .img img {
    width: 110%;
    height: auto;
    border-radius: 12px 0 0 12px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .testi-box2 > li.first-box .txt-set {
    display: table-cell;
    width: 58%;
    padding: 40px 38px 0 40px;
  }

  .list-box.testi-box2 li .img {
    border-radius: 12px 12px 0 0;
  }

  .testi-box2 .img img {
    border-radius: 12px 12px 0 0;
  }
  .testi-box2 > li:nth-of-type(n+4) {
    margin-top: 40px;
  }

  #top-testi .testi-box2 > li:nth-of-type(n+4) {
    margin-top: 0;
  }

  .testi-two {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .testi-two > li {
    margin-right: 40px;
    margin-left: 40px;
  }

  /* Story */
  .bg-bk-inbk {
    display: inline-block;
    background: #000;
    color: #fff;
    font-weight: 500;
    font-size: 28px;
    line-height: 55px;
    padding-right: 20px !important;
    padding-left: 16px;
    margin-bottom: 8px;
    position: relative;
  }
  .bg-bk-inbk.hash {
    margin-top: 30px;
    padding-left: 60px;
    padding-right: 0;
  }
  .bg-bk-inbk span {
    color: inherit;
  }

  #story-hash {
    font-size: 50px;
    font-weight: 400;
    display: inline-block;
    padding-right: 8px;
    line-height: 1;
    position: absolute;
    left: 16px;
    top: 0;
  }

  #top-story .bg-bk-inbk {
    margin-left: 40px;
  }

  .bg-nami {
    background-image: url(/images/base/mask-nami-top.svg), url(/images/base/mask-nami-btm.svg);
    background-repeat: no-repeat, no-repeat;
    background-size: 100% auto, 100% auto;
    background-position: top center, bottom -1px center;
    background-color: #fff;
  }

  .pages.bg-nami {
    padding-bottom: 70px;
    margin-bottom: 60px;
  }

  #top-story .bg-nami {
    padding: 100px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 15px;
  }

  .story-mov {
    position: relative;
    width: 55%;
  }

  .story-txt {
    width: calc(45% - 40px);
    background: url(/images/story/shp-hash.svg) no-repeat right 20px top;
  }

  .story-bg-hash {
    background: url(/images/story/shp-hash.svg) no-repeat right 0 top 80px;
  }
  .story-bg-hash .bg-bk-inbk.hash {
    margin-top: 10px;
  }
  .story-bg-hash .bg-bk-inbk:nth-last-of-type(1) {
    margin-bottom: 30px;
  }

  .kakushin {
    display: inline-block;
    padding: 0 8px;
  }
  .kakushin img {
    height: 29px;
    width: auto;
    margin-top: 2px;
  }

  .story-txt p {
    font-size: 18px;
    line-height: 1.9;
    padding: 30px 45px 20px 40px;
  }

  #story-mask {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 999;
  }
  #story-mask img {
    width: 100.5%;
  }

  #top-story .swiper-container {
    margin: 0 20px;
    padding: 25px 0;
  }
  #top-story .swiper-slide img {
    width: 100%;
    position: relative;
    left: -1px;
  }
  #top-story .swiper-button-prev:after, #top-story .swiper-button-next:after {
    display: none;
  }
  #top-story .swiper-button-prev, #top-story .swiper-button-next {
    width: 36px;
    height: 36px;
    background-size: 36px 36px;
    z-index: 1001;
    top: 95%;
  }
  #top-story .swiper-button-prev {
    left: 10px;
  }
  #top-story .swiper-button-next {
    right: 30px;
    background-image: url(/images/base/arw-next.svg);
    margin-right: 30px;
  }
  #top-story .swiper-button-prev {
    background-image: url(/images/base/arw-prev.svg);
    margin-left: 30px;
  }
  #top-story .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 100%;
    background: #fff;
    opacity: 1;
    border: solid 2px #000;
  }
  #top-story .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #000;
  }

  .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 9px !important;
  }

  #top-story .swiper-pagination {
    z-index: 1000;
  }

  /* Information */
  #top-info {
    background: url(/images/info/bg-canada.svg) no-repeat top 110px left 10px;
    background-size: 670px auto;
    padding: 100px 0;
  }
  #top-info .sub-red-squ {
    letter-spacing: 3px;
  }

  .info-box-two {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .info-box-two .tit {
    text-align: center;
    padding: 0 0 35px;
  }
  .info-box-two .txt {
    text-align: center;
    color: #c00000;
    font-size: 14px;
    line-height: 1.9;
    padding-bottom: 35px;
  }
  .info-box-two .img img {
    width: 450px;
    height: auto;
    border-radius: 225px;
  }
  .info-box-two a {
    position: relative;
  }
  .info-box-two a:after {
    content: url(/images/base/arw-next.svg);
    position: absolute;
    top: 38px;
    right: 58px;
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
  }
  .info-box-two a:hover:after {
    content: url(/images/base/arw-next.svg);
    position: absolute;
    top: 38px;
    right: 38px;
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
  }

  #info-map {
    position: relative;
    min-height: 100px;
  }
  #info-map h2 {
    position: absolute;
    top: 120px;
    left: 20px;
  }
  #info-map .txt-set {
    width: 375px;
    position: absolute;
    top: 150px;
    right: 20px;
  }
  #info-map .img {
    padding: 170px 0 120px;
    text-align: center;
  }
  #info-map .img img {
    width: 1057px;
  }

  #info-states .sub-bk-s {
    letter-spacing: 0;
    padding: 40px 0;
  }
  #info-states .list-box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  #info-states .list-box li {
    width: 31%;
    background: #fff;
    border-radius: 12px;
    margin-bottom: 45px;
  }
  #info-states .list-box li:nth-of-type(3n-1) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }
  #info-states .list-box img {
    border-radius: 12px 12px 0 0;
  }
  #info-states .list-box .img {
    border-radius: 12px 12px 0 0;
    margin-bottom: 10px;
  }
  #info-states .list-box .tit {
    margin-top: 0;
    padding: 0 15px 15px;
    font-weight: 700;
  }

  #map-layer {
    position: relative;
  }

  .cities-list {
    display: none;
  }
  .cities-list.is-show {
    display: block;
  }

  #page-info {
    background-image: url(/images/info/bg-canada.svg);
    background-repeat: no-repeat;
    background-position: calc(50% - 250px) calc(0% - 180px);
    background-size: 530px auto;
  }

  .info-data {
    background: #fff;
    border-radius: 20px;
    padding: 30px 36px;
  }
  .info-data .l-r-set:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  .info-data th, .info-data td {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .info-data tr:nth-last-of-type(1) {
    border-bottom: 0;
  }
  .info-data th {
    width: 32%;
  }
  .info-data .img {
    width: 440px;
  }
  .info-data .txt-box {
    width: 535px;
  }
  .info-data td {
    width: auto !important;
  }
  .info-data td:nth-of-type(1):before {
    content: '' !important;
  }

  #kwl03 {
    position: absolute;
    left: 12px;
    top: -150px;
    z-index: 200;
  }

  #kwl04 {
    position: absolute;
    left: 318px;
    top: 0;
    z-index: 200;
  }

  /* Programs */
  .swiper-container.program-slider {
    padding-bottom: 40px;
    width: 1200px;
  }

  .program-slider .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .pgm-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: #fff;
    border-radius: 20px;
  }

  .program-slider .swiper-slide {
    height: auto;
  }
  .program-slider.no-slider .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .program-slider.no-slider .swiper-slide {
    width: 31%;
    margin-bottom: 30px;
  }
  .program-slider.no-slider .swiper-slide:nth-of-type(3n-1) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }

  .pgm-box a {
    padding-bottom: 10px;
    display: block;
    width: 100%;
    height: 100%;
  }
  .pgm-box.long a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 0;
  }
  .pgm-box a * {
    font-weight: 500;
  }
  .pgm-box:hover * {
    text-decoration: none;
    opacity: 0.8;
  }
  .pgm-box .tit {
    display: block;
    font-size: 24px;
    line-height: 60px;
    height: 60px;
    background: #002965;
    color: #fff;
    border-radius: 20px 20px 0 0;
    text-align: center;
    letter-spacing: 3px;
  }
  .pgm-box .tit.legend {
    background: #8d6837;
  }

  .program-slider.s .pgm-box .tit {
    font-size: 22px;
    letter-spacing: 1px;
  }
  .program-slider .pgm-box.current .tit {
    background: #999;
  }

  .pgm-box.long .tit {
    height: 46px;
    line-height: 44px;
    border-radius: 20px;
    text-align: left;
    padding-left: 30px;
  }
  .pgm-box .target {
    display: block;
    height: 43px;
    line-height: 43px;
    font-size: 18px;
    letter-spacing: 4px;
    text-indent: 2px;
    text-align: center;
    position: relative;
  }
  .pgm-box .target:before {
    content: url(/images/base/mrk-target.png);
    position: absolute;
    top: 5px;
    left: 20px;
  }
  .pgm-box .img {
    display: block;
    height: 230px;
    overflow: hidden;
  }
  .pgm-box.long .img {
    width: 300px;
    height: 225px;
    border-radius: 20px;
  }
  .pgm-box .img img {
    width: 100%;
    min-height: 160px;
    max-height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .pgm-box.long .img img {
    width: 300px;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
  .pgm-box .txt {
    line-height: 1.75;
    padding: 16px 14px;
  }
  .pgm-box.long .txt {
    line-height: 1.75;
    padding: 0;
  }
  .pgm-box .txt .pos {
    display: block;
    padding-bottom: 5px;
    margin-bottom: 7px;
    font-weight: 700;
   /* border-bottom: dotted 1px #ccc; */
  }

  /* Blog */
  .blogs-container.blogs-slider {
    padding-bottom: 40px;
    width: 1200px;
  }

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

  .blogs-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: #fff;
    border-radius: 20px;
  }

  .blogs-slider .blogs-slide {
    height: auto;
    width: 31%;
    margin-bottom: 30px;
  }

  .blogs-slider .blogs-slide:nth-of-type(3n-1) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }

  .blogs-slider.no-slider .blogs-area {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .blogs-slider.no-slider .blogs-slide {
    width: 31%;
    margin-bottom: 30px;
  }
  .blogs-slider.no-slider .blogs-slide:nth-of-type(3n-1) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }

  .blogs-box a {
    padding-bottom: 10px;
    display: block;
    width: 100%;
    height: 100%;
  }
  .blogs-box.long a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 0;
  }
  .blogs-box a * {
    font-weight: 500;
  }
  .blogs-box:hover * {
    text-decoration: none;
    opacity: 0.8;
  }
  .blogs-box .tit {
    display: block;
    font-size: 24px;
    line-height: 60px;
    height: 60px;
    background: #002965;
    color: #fff;
    border-radius: 20px 20px 0 0;
    text-align: center;
    letter-spacing: 3px;
  }
  .blogs-box .tit.legend {
    background: #8d6837;
  }

  .blogs-slider.s .blogs-box .tit {
    font-size: 22px;
    letter-spacing: 1px;
  }
  .blogs-slider .blogs-box.current .tit {
    background: #999;
  }

  .blogs-box.long .tit {
    height: 46px;
    line-height: 44px;
    border-radius: 20px;
    text-align: left;
    padding-left: 30px;
  }
  .blogs-box .target {
    display: block;
    height: 43px;
    line-height: 43px;
    font-size: 18px;
    letter-spacing: 4px;
    text-indent: 2px;
    text-align: center;
    position: relative;
  }
  .blogs-box .target:before {
    content: url(/images/base/mrk-target.png);
    position: absolute;
    top: 5px;
    left: 20px;
  }
  .blogs-box .img {
    display: block;
    height: 230px;
    overflow: hidden;
  }
  .blogs-box.long .img {
    width: 300px;
    height: 225px;
    border-radius: 20px;
  }
  .blogs-box .img img {
    width: 100%;
    min-height: 160px;
    max-height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .blogs-box.long .img img {
    width: 300px;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
  .blogs-box .txt {
    line-height: 1.75;
    padding: 16px 14px;
  }
  .blogs-box.long .txt {
    line-height: 1.75;
    padding: 0;
  }
  .blogs-box .txt .pos {
    display: block;
    padding-bottom: 5px;
    margin-bottom: 7px;
    font-weight: 700;
    border-bottom: dotted 1px #ccc;
  }

  #top-program {
    position: relative;
  }
  #top-program .swiper-button-prev:after, #top-program .swiper-button-next:after {
    display: none;
  }

  .swiper-button-prev.sp:after, .swiper-button-next.sp:after {
    display: none;
  }

  #top-program .swiper-button-prev, #top-program .swiper-button-next {
    width: 40px;
    height: 40px;
    background-size: 40px 40px;
    z-index: 1000;
  }
  #top-program .swiper-button-prev {
    top: calc(50% + 70px);
    left: calc(50% - 670px);
  }
  #top-program .swiper-button-next {
    top: calc(50% + 70px);
    right: calc(50% - 670px);
    background-image: url(/images/base/arw-next-wt.svg);
  }
  #top-program .swiper-button-prev {
    background-image: url(/images/base/arw-prev-wt.svg);
    margin-left: 20px;
  }

  .program-slider .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    display: inline-block;
    border-radius: 100%;
    background: #f4ece5;
    opacity: 1;
    border: solid 2px #999;
  }
  .program-slider .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #999;
  }

  .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 9px !important;
  }

  .program-slider .swiper-pagination {
    z-index: 1000;
    bottom: 0 !important;
  }

  .pgm-box-vrt {
    width: 100%;
  }
  .pgm-box-vrt li {
    margin-bottom: 45px;
    padding: 20px;
  }
  .pgm-box-vrt .txt-set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 725px;
    background: url(/images/base/arw-next.svg) no-repeat right bottom;
  }

  .pgm-box.long .tit {
    width: 100%;
  }
  .pgm-box.long .target {
    width: 40%;
    height: auto;
    line-height: 32px;
  }
  .pgm-box.long .txt {
    width: 60%;
  }
  .pgm-box.long .txt:before {
    content: "：";
  }
  .pgm-box.long .cap {
    display: block;
    padding: 0 1em 0 0.5em;
    line-height: 2;
    min-height: 80px;
  }

  #pgm-list li {
    width: 31%;
    margin-bottom: 30px;
  }
  #pgm-list li:nth-last-child(-n+3) {
    margin-bottom: 0;
  }

  .osm-box {
    width: 890px;
    margin: 70px auto 30px;
  }

  .osm-wt-box {
    width: 100%;
    background: #fff;
    border-radius: 20px;
    position: relative;
    padding: 50px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 300px;
  }
  .osm-wt-box .illu {
    position: absolute;
    top: -35px;
    left: 15px;
  }

  .chk-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .chk-list li {
    font-size: 22px;
    margin-bottom: 32px;
    position: relative;
    padding-top: 8px;
  }
  .chk-list li:nth-last-of-type(1) {
    margin-bottom: 0;
  }
  .chk-list li:before {
    content: url(/images/base/mrk-check.png);
    margin-right: 10px;
    position: absolute;
    left: 0;
    top: -15px;
  }
  .chk-list li p {
    margin-left: 70px;
    padding-bottom: 10px;
    display: inline-block;
    border-bottom: solid 2px #000;
  }

  /* Flow */
  #dpt-flow {
    background: url(/images/dpt/shp-airplain.svg) no-repeat;
    background-position: calc(50% - 280px) 330px;
    padding-bottom: 85px;
  }
  #dpt-flow .btn-box {
    text-align: center;
    padding: 150px 0 0;
  }

  #page-dpt-flow {
    background-image: url(/images/dpt/shp-airplain.svg);
    background-repeat: no-repeat;
    background-position: -30px 60px;
    background-size: 530px auto;
  }
  #page-dpt-flow #dpt-flow {
    background: none;
  }

  .timeline {
    padding: 50px 0;
  }
  .timeline ul {
    padding: 0;
  }
  .timeline .default-line {
    content: "";
    position: absolute;
    left: 50%;
    width: 9px;
    background: #bbb;
    height: 1220px;
  }
  .timeline .draw-line {
    width: 11px;
    height: 0;
    position: absolute;
    left: calc(50% - 1px);
    background: #c00000;
  }
  .timeline ul li {
    list-style-type: none;
    position: relative;
    width: 2px;
    margin: 0 auto;
    height: auto;
    background: transparent;
  }
  .timeline ul li div {
    width: 493px;
    position: relative;
    top: 48px;
    margin-left: 60px;
    border-radius: 10px;
    background: #fff;
    padding-bottom: 5px;
  }
  .timeline ul li:nth-of-type(2n) div {
    left: -553px;
    margin-left: 0;
  }
  .timeline ul li.in-view {
    -webkit-transition: 0.125s ease-in-out, background-color 0.2s ease-out, color 0.1s ease-out, border 0.1s ease-out;
    transition: 0.125s ease-in-out, background-color 0.2s ease-out, color 0.1s ease-out, border 0.1s ease-out;
  }
  .timeline ul li.in-view::before {
    content: "";
    position: absolute;
    left: calc(50% + 3px);
    top: 60px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background-color: #fff;
    border-color: #c00000;
    -webkit-transition: 0.125s ease-in-out, background-color 0.2s ease-out, color 0.1s ease-out, border 0.1s ease-out;
    transition: 0.125s ease-in-out, background-color 0.2s ease-out, color 0.1s ease-out, border 0.1s ease-out;
  }
  .timeline ul li::before {
    content: "";
    position: absolute;
    left: calc(50% + 3px);
    top: 60px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: inherit;
    background: #fff;
    border: solid 7px #bbb;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
  }
  .timeline ul li:nth-of-type(1) {
    margin-top: 0;
  }
  .timeline ul li:nth-last-of-type(1)::before {
    display: none;
  }
  .timeline ul li:nth-of-type(1) div::after {
    content: url(/images/dpt/step1.svg);
    position: absolute;
    top: -45px;
  }
  .timeline ul li:nth-of-type(3) div::after {
    content: url(/images/dpt/step3.svg);
    position: absolute;
    top: -45px;
  }
  .timeline ul li:nth-of-type(5) div::after {
    content: url(/images/dpt/step5.svg);
    position: absolute;
    top: -45px;
  }
  .timeline ul li:nth-of-type(2) div::after {
    content: url(/images/dpt/step2.svg);
    position: absolute;
    top: -45px;
    right: 0;
  }
  .timeline ul li:nth-of-type(4) div::after {
    content: url(/images/dpt/step4.svg);
    position: absolute;
    top: -45px;
    right: 0;
  }
  .timeline ul li:nth-of-type(6) div::after {
    content: url(/images/dpt/step6.svg);
    position: absolute;
    top: -45px;
    right: 0;
  }
  .timeline ul li:nth-of-type(2) div::before {
    content: "";
    position: absolute;
    top: -100px;
    left: calc(50% - 80px);
    background: url(/images/dpt/pct-memo.svg) no-repeat;
    background-size: cover;
    width: 72px;
    height: 81px;
  }
  .timeline ul li:nth-of-type(3) div::before {
    content: "";
    position: absolute;
    top: -100px;
    left: calc(100% - 180px);
    background: url(/images/dpt/pct-calendar.svg) no-repeat;
    background-size: cover;
    width: 88px;
    height: 84px;
  }
  .timeline ul li:nth-of-type(4) div::before {
    content: "";
    position: absolute;
    top: -95px;
    left: calc(50% - 80px);
    background: url(/images/dpt/pct-school.svg) no-repeat;
    background-size: cover;
    width: 98px;
    height: 72px;
  }
  .timeline ul li:nth-of-type(5) div::before {
    content: "";
    position: absolute;
    top: -100px;
    left: calc(100% - 180px);
    background: url(/images/dpt/pct-ticket.svg) no-repeat;
    background-size: cover;
    width: 100px;
    height: 78px;
  }
  .timeline ul li:nth-of-type(6) div::before {
    content: "";
    position: absolute;
    top: -90px;
    left: calc(50% - 80px);
    background: url(/images/dpt/pct-board.svg) no-repeat;
    background-size: cover;
    width: 100px;
    height: 70px;
  }

  .sub-bln {
    position: relative;
    display: block;
    margin: 0;
    padding: 0 10px 0 22px;
    width: 493px;
    height: 58px;
    line-height: 58px;
    border-radius: 10px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    background: #e9bb05;
  }
  .sub-bln:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -15px;
    margin-top: -5px;
    border: 5px solid transparent;
    border-right: 10px solid #e9bb05;
  }

  .timeline ul li:nth-of-type(2n) div .sub-bln:before {
    left: auto;
    right: -10px;
    border-right: 0;
    border-left: 10px solid #e9bb05;
  }
  .timeline ul li div p {
    padding: 20px;
    line-height: 1.65;
    padding-bottom: 15px;
    font-size: 16px;
  }
  .timeline ul li div p:nth-of-type(n+2) {
    padding-top: 0;
  }

  /* Blog */
  #top-blog {
    text-align: center;
    margin-bottom: 85px;
  }

  .blog-box {
    margin: 0 0 50px;
  }
  .blog-box > li {
    width: 31%;
  }

  .blog-box > li:nth-of-type(3n-1) {
    margin-right: 3.5%;
    margin-left: 3.5%;
  }

  /* SNS */
  .ft-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 990px;
    margin: 80px auto 100px;
  }

  .fb-box {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
  }
  .fb-box iframe {
    width: 500px !important;
  }

  .youtube-box {
    width: 390px;
  }
  .youtube-box li {
    margin: 24px 0;
  }
  .youtube-box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    border-radius: 10px;
    padding: 20px;
  }
  .youtube-box a:hover {
    opacity: 0.6;
  }
  .youtube-box:hover * {
    text-decoration: none;
  }

  .ytb-logo {
    padding: 10px 18px 10px 0;
    border-right: solid 1px #ccc;
    margin-right: 22px;
    width: 40%;
  }

  .youtube-box .tits .sub {
    display: block;
    margin: 10px auto;
    text-align: center;
  }
  .youtube-box .sub-tit01 {
    font-size: 17px;
  }
  .youtube-box .sub-tit01 .lt-no {
    font-size: 0.7em;
  }
  .youtube-box .sub-tit02 {
    font-size: 21px;
    font-weight: 700;
    color: #c00000;
  }
  .youtube-box .sub-tit03 {
    font-size: 16px;
    font-weight: 500;
  }

  /* Instagram */
  #top-insta-sub {
    text-align: center;
  }

  .hash-lead {
    display: inline-block;
    padding-top: 5px;
  }

  .hash-hajimari {
    display: inline-block;
    padding: 0 8px;
  }
  .hash-hajimari img {
    margin-top: -2px;
  }

  .rd-line-lead {
    border: solid 4px #c00000;
    border-radius: 10px;
    padding: 36px 100px;
    margin: 50px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
  }
  .rd-line-lead p {
    color: #c00000;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.9;
  }

  #top-insta .rd-line-lead:before {
    content: url(/images/top/pure-circle.png);
    margin-right: 52px;
  }

  .gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .gallery li {
    width: 246px;
    margin-bottom: 30px;
  }
  .gallery li img {
    width: 100%;
    height: auto;
    border-radius: 12px;
  }

  #gallery {
    margin-bottom: 30px;
  }

  /* City */
  #bg-city-gry {
    background: url(/images/base/bg-wave-gry.png) no-repeat top 450px center;
    margin-bottom: 50px;
  }

  .city-data {
    background: #fff;
    border-radius: 20px;
    padding: 40px 60px 60px;
  }
  .city-data.wt-pdt {
    padding-top: 60px;
  }

  .city-map {
    width: 100%;
    height: 760px;
    overflow: hidden;
    position: relative;
    max-width: 2000px;
    margin: -25px auto 15px;
  }
  .city-map iframe {
    width: 100%;
    height: 1000px;
    position: relative;
    top: -120px;
  }

  #city-tab .tab-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  #city-tab .tab {
    font-size: 16px;
    letter-spacing: 3px;
    text-indent: 1px;
    height: 50px;
    background: #999;
    color: #fff;
    text-align: center;
    width: 214px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 20px 20px 0 0;
    margin-right: 8px;
  }
  #city-tab .tab.is-active {
    background: #002965;
    height: 60px;
  }

  .panel canvas {
    margin-top: 10px;
    max-width: 1060px;
    max-height: 500px;
  }

  .blu-rd-box {
    background: #fff;
    border: solid 4px #002965;
    border-radius: 0 20px 20px 20px;
    padding: 20px;
  }
  .blu-rd-box .panel {
    height: 500px;
  }

  #acs-map {
    margin: 50px auto 80px;
    width: 100%;
    background: url(/images/city/canada-map.png) repeat-x center top;
    position: relative;
    overflow-x: hidden;
  }

  #pin-map {
    position: absolute;
    top: 0;
    left: calc(50% - 500px);
    z-index: 10;
    width: 1000px;
    min-height: 500px;
    margin: 0 auto;
  }

  .pin-dest {
    position: absolute;
    z-index: 1000;
    padding-left: 40px;
    height: 44px;
    background: url(/images/city/pin-dest.png) no-repeat left center;
    line-height: 40px;
    color: #fff;
    font-size: 18px;
  }

  .pin {
    position: absolute;
    z-index: 1000;
    width: 26px;
    height: 36px;
    display: block;
  }

  .pin-a {
    background: url(/images/city/pin-via-a.png) no-repeat;
  }
  .pin-a.direct {
    background: url(/images/city/pin-via-a-jp.png) no-repeat;
  }

  .pin-b {
    background: url(/images/city/pin-via-b.png) no-repeat;
  }

  .pin-c {
    background: url(/images/city/pin-via-c.png) no-repeat;
  }

  .pin-d {
    background: url(/images/city/pin-via-d.png) no-repeat;
  }

  .pin-e {
    background: url(/images/city/pin-via-e.png) no-repeat;
  }

  .pin-f {
    background: url(/images/city/pin-via-f.png) no-repeat;
  }

  .pin-g {
    background: url(/images/city/pin-via-g.png) no-repeat;
  }

  .acs-route {
    position: relative;
    z-index: 100;
    top: -350px;
    margin-bottom: -350px;
  }

  .acs-route-list {
    width: 900px;
    margin: 10px auto 20px;
    font-size: 18px;
    line-height: 1.88;
  }
  .acs-route-list dt {
    font-weight: 700;
    color: #c00000;
    padding: 17px 0 5px 120px;
    position: relative;
  }
  .acs-route-list dt:before {
    content: url(/images/city/pt-a.png);
    position: absolute;
    left: 80px;
    top: 27px;
  }
  .acs-route-list dt:nth-of-type(2):before {
    content: url(/images/city/pt-b.png);
  }
  .acs-route-list dt:nth-of-type(3):before {
    content: url(/images/city/pt-c.png);
  }
  .acs-route-list dt:nth-of-type(4):before {
    content: url(/images/city/pt-d.png);
  }
  .acs-route-list dt:nth-of-type(5):before {
    content: url(/images/city/pt-e.png);
  }
  .acs-route-list dt:nth-of-type(6):before {
    content: url(/images/city/pt-f.png);
  }
  .acs-route-list dt:nth-of-type(7):before {
    content: url(/images/city/pt-g.png);
  }
  .acs-route-list dd {
    padding-left: 120px;
  }
  .acs-route-list dd:not(:nth-last-of-type(1)) {
    border-bottom: solid 1px #000;
    padding-bottom: 15px;
  }

  #animation_container {
    height: 874px !important;
  }
  #animation_container #canvas {
    height: 874px !important;
    position: relative;
    left: calc(50vw - 1018px);
  }

  /* Comapany */
  #access-map {
    padding-right: 3%;
    padding-left: 3%;
    min-width: 1100px;
  }
  #access-map iframe {
    width: 100%;
    border-radius: 20px;
    margin-top: -150px;
  }
  #access-map .img {
    overflow: hidden;
    height: 300px;
    border-radius: 20px;
    margin-bottom: 15px;
  }
  #access-map iframe + p {
    padding-top: 15px;
  }

  /* Inquiry */
  #line-inq {
    width: 900px;
    border-radius: 20px;
    background-color: #00b900;
    background-image: url(/images/inq/line-logo.png), url(/images/inq/line-qr.png);
    background-repeat: no-repeat, no-repeat;
    background-position: top 5px left 5px, top 45px right 35px;
    position: relative;
    margin: 80px auto 50px;
  }
  #line-inq a, #line-inq div.a-set {
    display: block;
    min-height: 520px;
    color: #fff;
    text-decoration: none;
    padding: 45px 35px;
  }
  #line-inq a:hover * {
    text-decoration: none;
    opacity: 1;
  }
  #line-inq h2 {
    padding: 0 0 0 65px;
  }
  #line-inq .time {
    text-align: right;
    padding: 25px 0 0 0;
    color: #fff;
    font-size: 18px;
  }
  #line-inq .time span {
    color: inherit;
  }

  .star-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 45px;
  }
  .star-list li {
    background: #000;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    height: 44px;
    line-height: 42px;
    width: 30%;
    text-align: center;
  }
  .star-list li:before {
    content: url(/images/inq/pct-star.png);
    margin-right: 15px;
    position: relative;
    top: 4px;
  }

  .line-fuki01 {
    position: absolute;
    right: 178px;
    top: -84px;
  }

  .line-fuki02 {
    position: absolute;
    left: -95px;
    top: 200px;
  }

  #forms-inq .list-box li {
    width: 31%;
    background: #fff;
  }

  #telmail-inq .list-box2 li {
    width: 48%;
    background: #fff;
  }

  #forms-inq {
    margin-bottom: 70px;
  }

  #telmail-inq {
    margin-bottom: 100px;
  }

  /* Sitemap */
  #sitemap .three-box:not(:nth-last-of-type(-n + 3)) {
    margin-bottom: 50px;
  }

  ul.lnklist.snd {
    margin-top: 87px;
  }

  /* Siteinfo */
  #site-info .flex-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #site-info .flex-box p {
    padding-bottom: 0;
  }
  #site-info .flex-box p.img {
    padding: 0 40px 0 30px;
  }

  /* School */
  .youtube-if {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin: 30px auto;
  }
  .youtube-if iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
  #idx_container {
    border: solid 5px #ccc;
    border-radius: 3px;
    -webkit-border-radius: 3px;  
    -moz-border-radius: 3px;
    padding: 32px 80px 24px;
    margin: 20px auto 60px;
    width: 700px;
  }
  .idx_title {
    font-weight: bold;
    font-size: 1.3em;
    margin-bottom: 22px;
    color: #c00000;
    text-align: center;
  }
  .idx_list li a {
    display: inline-block;
    font-size: 16px;
    line-height: 1.2;
    padding-bottom: 12px;
  }
  .idx_list > li > a {
    padding-left: 30px;
    background: url(../images/base/arw-dwn.png) no-repeat 0 2px;
    background-size: 20px auto;
    text-decoration: underline;
  }
  .idx_list > li {
    margin-top: 20px;
  }
  .idx_list > li ul li a {
    padding-left: 20px;
    background: url(../images/base/dot.png) no-repeat 2px 4px;
    background-size: 12px auto;
    text-decoration: underline;
  }
  .idx_list > li > ul li > ul li a {
    padding-left: 16px;
    background: url(../images/base/dot.png) no-repeat 0 2px;
    background-size: 12px auto;
    text-decoration: underline;
  }
  .idx_list > li ul {
    margin-left: 22px;
  }

  /* Forms
  --------------------------------------- */
  #reqbook {
    padding: 40px 50px;
    width: 900px;
    margin: 10px auto 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: solid 3px #c00000;
  }
  #reqbook .img {
    margin-right: 40px;
  }
  #reqbook .img img {
    border: solid 1px #999;
  }
  #reqbook .lead {
    font-size: 2em;
    line-height: 1.7;
    font-weight: normal;
    color: #222;
  }

  .txt-lead + .line-grn-box {
    margin-top: -60px;
  }

  .ftl.rd-tel {
    color: #c00000;
    font-weight: 500;
  }

  .form-step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 120px;
    margin: 20px auto;
    width: 80%;
  }
  .form-step li {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 12px;
    background: #f5f5f5;
    border: solid 3px #ccc;
    position: relative;
  }
  .form-step li.current {
    border-color: #c00000;
    background: #fff;
    font-weight: 500;
  }
  .form-step li:not(:nth-last-of-type(1)) {
    margin-right: 30px;
  }
  .form-step li:not(:nth-last-of-type(1)):after {
    content: "";
    position: absolute;
    right: -22px;
    top: calc(50% - 4px);
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 8px solid #000;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
  }
  .form-step + p {
    margin-top: 50px;
  }

  #form-tbl p {
    line-height: 1.6;
  }
  #form-tbl p + input, #form-tbl p + select {
    margin-top: 15px;
  }
  #form-tbl select + p {
    margin-top: 15px;
  }
  #form-tbl .note {
    padding-bottom: 0;
  }
  #form-tbl th {
    width: 30%;
  }
  #form-tbl td {
    padding: 20px;
  }
  #form-tbl select {
    padding: 10px;
    border: solid 1px #ccc;
    border-radius: 3px;
  }
  #form-tbl h4 {
    font-weight: 700;
    padding: 40px 0 20px;
  }
  #form-tbl h3 + h4, #form-tbl td h4 {
    padding-top: 0;
  }

  form td .s1 {
    width: 270px;
  }
  form td input[type=text], form td input[type=number], form td input[type=tel], form td input[type=email] {
    padding: 10px;
    font-size: 1.1em;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 5px;
  }
  form td input[type=file] {
    padding: 10px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 5px;
    width: 400px !important;
  }
  form td select {
    padding: 6px 10px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
    display: block;
  }
  form td select option {
    padding: 3px 0;
  }
  form td select.au {
    display: inline;
    margin-right: 4px !important;
  }
  form td select.s2 {
    width: 140px;
    font-size: 0.9em;
  }
  form td.slength select {
    width: 390px;
  }
  form td textarea {
    margin-top: 10px;
    padding: 6px;
    font-size: 1.2em;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 530px;
    height: 180px;
  }
  form td input.s2 {
    width: 120px;
  }
  form td input.s3 {
    width: 550px;
  }
  form td input.s4 {
    width: 60px;
    margin-right: 4px;
  }
  form td input[type=radio], form td input[type=checkbox] {
    width: 23px;
    height: 23px;
    border: none;
    margin: 0 5px 3px 0;
  }
  form td label {
    padding-right: 20px;
  }

  .attention {
    color: #ff0000;
    font-size: 1em;
    display: block;
    clear: both;
  }

  select + .attention {
    padding-top: 8px;
  }

  label + .attention {
    padding-top: 5px;
  }

  form td span {
    display: block;
    padding: 5px 0;
  }
  form td span.inline {
    display: inline-block;
  }
  form td span.th {
    margin-top: 8px;
    padding: 3px 0;
    font-size: 0.9em;
    line-height: 1.5;
  }
  form td span.th:before {
    content: "●";
    color: #950316;
  }
  form span.req:after {
    margin-left: 10px;
    vertical-align: sub;
  }
  form td span.th:nth-of-type(1) {
    margin-top: 0;
  }
  form td .inbtn {
    line-height: 24px;
    width: 130px;
    font-weight: normal;
    font-size: 1em;
    margin: 0 0 0 20px;
    letter-spacing: 0 !important;
  }
  form td .ctr .inbtn {
    margin-left: 0;
  }
  form td .img img {
    width: 100%;
    height: auto;
    max-width: 360px;
  }

  .formbtn {
    padding: 20px 0;
    text-align: center;
  }

  #form-tbl button {
    cursor: pointer;
    background: #c00000;
    color: #fff;
    border: none;
    margin-left: 20px;
    margin-right: 20px;
  }
  #form-tbl .cnf button[type=button] {
    background: #999;
    margin-bottom: 0;
  }
  #form-tbl span button {
    background: #999;
    border-radius: 6px;
    font-size: 14px;
    padding: 4px;
  }
  #form-tbl button:hover {
    opacity: 0.6;
  }
  #form-tbl .flex-box {
    margin-top: 10px;
  }
  #form-tbl .flex-box select {
    margin-right: 30px;
  }
  #form-tbl .line-grn-box a {
    margin-bottom: 30px;
  }

  /* Frames
  --------------------------------------- */
  /* Header */
  #main-navbar .navbar-container {
    width: 100%;
    padding: 3px 30px 3px 43px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-width: 1100px;
  }

  #hd-logo-sp {
    display: none;
  }

  .hd-rt-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 75px;
    padding-top: 5px;
  }

  .hd-tel {
    color: #c00000;
    font-size: 27px;
    font-weight: 700;
    margin-left: 28px;
  }
  .hd-tel span, .hd-tel a {
    color: inherit;
  }

  .hd-nav * {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
  }
  .hd-nav li {
    display: inline-block;
    list-style: outside none none;
    margin: 0 1.5em;
    overflow: hidden;
  }
  .hd-nav li:nth-last-of-type(1) {
    margin-right: 0;
  }
  .hd-nav a {
    padding: 0.3em 0;
    color: black;
    position: relative;
    display: inline-block;
    letter-spacing: 1px;
    margin: 0;
    text-decoration: none;
    font-weight: 500;
    line-height: 2;
  }
  .hd-nav a:before, .hd-nav a:after {
    position: absolute;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
  }
  .hd-nav a:before {
    bottom: 100%;
    left: calc(50% - 15px);
    display: block;
    height: 3px;
    width: 30px;
    content: "";
    background: #c00000;
    border-radius: 1.5px;
  }
  .hd-nav a:after {
    padding: 0.3em 0;
    position: absolute;
    bottom: 100%;
    left: 0;
    content: attr(data-hover);
    white-space: nowrap;
  }
  .hd-nav li:hover a, .hd-nav .current a {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }

  /* Line */
  #stick-line {
    position: fixed;
    top: 335px;
    right: -147px;
    z-index: 999;
    cursor: pointer;
  }
  #stick-line.line-is-active {
    position: fixed;
    top: 335px;
    right: 0;
    -webkit-transition-duration: 0.5s;
            transition-duration: 0.5s;
  }

  /* Google search */
  input.gsc-input-box[type=text] {
    border: solid 2px #c00000;
    border-radius: 17px;
    height: 36px;
    width: 238px;
    font-size: 15px;
    outline: none;
    padding-bottom: 10px;
    padding-left: 32px;
    font-weight: 400;
    background: url(/images/base/pt-src.svg) no-repeat left 9px top 5px #fff;
    background-size: 21px auto;
  }

  ::-webkit-input-placeholder {
    color: #aaa;
    font-size: 14px;
    letter-spacing: 1px;
  }

  ::-moz-placeholder {
    color: #aaa;
    font-size: 14px;
    letter-spacing: 1px;
  }

  :-ms-input-placeholder {
    color: #aaa;
    font-size: 14px;
    letter-spacing: 1px;
  }

  ::-ms-input-placeholder {
    color: #aaa;
    font-size: 14px;
    letter-spacing: 1px;
  }

  ::placeholder {
    color: #aaa;
    font-size: 14px;
    letter-spacing: 1px;
  }

  .hd-rt-top input[type=submit] {
    -webkit-appearance: none;
    border-radius: 0;
  }

  /* Main Visuals */
  .masked-element {
    -webkit-clip-path: url(#svgPath);
    clip-path: url(#svgPath);
  }

  #svgPath {
    width: 100%;
  }

  #svg-animation .st0 {
    fill: none;
    stroke: #fff;
    stroke-width: 30;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    stroke-dasharray: 1500;
    /* この行を追加 */
    stroke-dashoffset: 1500;
    /* この行を追加 */
  }

  #purecanada-write {
    max-width: 759px;
    width: 60%;
    height: auto;
    position: absolute;
    bottom: 70px;
    right: 5%;
    z-index: 100;
    opacity: 0.9;
  }

  .swiper-container-mv {
    position: relative;
    overflow: hidden;
  }

  .main-visual__item {
    position: relative;
    overflow: hidden;
  }
  .main-visual__item img {
    width: 100%;
  }

  .swiper-container-mv .slide-img img {
    display: block;
  }
  .swiper-container-mv .swiper-slide-active .slide-img, .swiper-container-mv .swiper-slide-duplicate-active .slide-img, .swiper-container-mv .swiper-slide-prev .slide-img {
    -webkit-animation: fadezoom 10s 0s forwards;
            animation: fadezoom 10s 0s forwards;
  }

  @-webkit-keyframes fadezoom {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
    100% {
      -webkit-transform: scale(1.05);
              transform: scale(1.05);
    }
  }

  @keyframes fadezoom {
    0% {
      -webkit-transform: scale(1);
              transform: scale(1);
    }
    100% {
      -webkit-transform: scale(1.05);
              transform: scale(1.05);
    }
  }
  .m-lead {
    -webkit-filter: drop-shadow(0 0 8px #666);
            filter: drop-shadow(0 0 8px #666);
  }

  span.ml01 {
    position: absolute;
    top: 50%;
    right: 20%;
  }
  span.ml01 img {
    width: 690px;
    height: 128px;
  }
  span.ml02 {
    position: absolute;
    top: 50%;
    right: 15%;
  }
  span.ml02 img {
    width: 802px;
    height: 128px;
  }
  span.ml03 {
    position: absolute;
    top: 50%;
    left: 10%;
  }
  span.ml03 img {
    width: 693px;
    height: 129px;
  }

  #top-main {
    position: relative;
    top: -5px;
    min-width: 1260px;
    width: calc(100% - 100px);
    margin-left: auto;
    margin-right: auto;
  }

  .mask-ov {
    position: absolute;
    left: -10px;
    top: -1px;
    z-index: 200;
    width: 110%;
    height: 101%;
    overflow: hidden;
  }

  .mask-lr {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 500;
  }

  .mask-ov img {
    width: 100%;
    height: 101%;
  }

  /* Line */
  .line-grn-box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 733px;
    height: 236px;
    border-radius: 20px;
    background: url(/images/base/line-logo.png) no-repeat 10px 12px #00b900;
    padding: 0 40px 0 100px;
    margin: 90px auto 85px;
  }
  .line-grn-box .qr-code {
    margin-left: 35px;
  }
  .line-grn-box a:hover img {
    opacity: 1;
  }

  /* Page Top */
  #pgtop {
    position: fixed;
    right: 100px;
    bottom: 100px;
    width: 70px;
    height: 70px;
    z-index: 1000;
  }
  #pgtop img {
    width: 100%;
    height: auto;
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha( opacity=80 )";
    width: 70px;
  }

  /* Footer */
  footer {
    position: relative;
    /*  background: url(/images/base/bg-ft.svg) no-repeat center bottom;
      background-size: 150% 77px;*/
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-width: 1200px;
  }

  #ft-name {
    text-align: center;
    line-height: 2.5;
    letter-spacing: 1px;
  }
  #ft-name .st {
    font-size: 1.1em;
    font-weight: 700;
  }

  .rd-inq {
    margin: 40px auto;
  }
  .rd-inq li {
    margin: 0 32px;
  }
  .rd-inq li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: solid 2px #c00000;
    background: url(/images/base/pt-mail.svg) no-repeat left 40px center #fff;
    background-size: 30px auto;
    width: 238px;
    height: 51px;
    border-radius: 27px;
    color: #c00000;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 3px;
    padding-left: 25px;
    padding-bottom: 3px;
  }
  .rd-inq li a.cat {
    background: url(/images/base/pt-cat.svg) no-repeat left 42px center #fff;
    background-size: 30px auto;
  }
  .rd-inq li a:hover {
    text-decoration: none;
    background-color: #ffffdd;
  }

  .sns-box {
    margin: 0 auto 50px;
  }
  .sns-box img {
    height: 36px;
    width: auto;
  }
  .sns-box li {
    margin: 0 14px;
  }

  .ft-nav {
    width: 700px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 15px;
    margin-bottom: 0;
  }
  .ft-nav li {
    margin: 10px 25px;
  }
  .ft-nav li a {
    font-weight: 500;
  }

  #c {
    position: absolute;
    bottom: 25px;
    font-size: 12px;
    color: #fff;
    letter-spacing: 0.5px;
  }
}
/*# sourceMappingURL=style_pc.css.map */

.form-select {
    padding: 10px;
    border: solid 1px #ccc;
    border-radius: 3px;
    font-size: 1em;
    display: block;
    width: 100%;
}
