#wrapper {
  opacity:0;
  transition:all .1s ease-in; }

/*////////////////////////////////*/
#header .header_inner {
  transition:all .4s ease-in;
  top:0; }
  #header .header_inner.hide {
    top:-100%; }

.sankaku {
  z-index:100;
  position:absolute;
  width:0;
  height:0;
  bottom:-1px;
  left:0;
  border:500px solid transparent;
  border-bottom:150px solid #fff !important; }
  @media screen and (max-width: 639px) {
    .sankaku {
      border-bottom-width:50px !important; } }

#main {
  position:relative;
  z-index:100;
  height:1000px;
  background:url(../img/index/main_bg_01.jpg) 0 0 repeat; }
  #main .bar {
    position:absolute;
    background:url(../img/index/main_img_01.png) 0 0 no-repeat;
    width:199px;
    height:750px;
    top:0;
    left:50%;
    -moz-transform:translate(-50%, 0);
    -ms-transform:translate(-50%, 0);
    -webkit-transform:translate(-50%, 0);
    border-image:translate(-50%, 0);
    z-index:10;
    text-align:center;
    display:flex;
    display:-webkit-flex;
    -webkit-flex-direction:column;
    flex-direction:column;
    -webkit-flex-wrap:nowrap;
    flex-wrap:nowrap;
    -webkit-align-items:center;
    align-items:center; }
  #main h1 {
    margin:14px 0 20px;
    order:2; }
  #main .logo {
    order:1;
    padding-top:30px; }
  #main .copy {
    order:3; }
  #main .cats {
    z-index:110;
    width:216px;
    height:153px;
    position:absolute;
    top:595px;
    left:50%;
    -moz-transform:translate(-50%, 0);
    -ms-transform:translate(-50%, 0);
    -webkit-transform:translate(-50%, 0);
    border-image:translate(-50%, 0); }
    #main .cats div {
      position:absolute;
      left:0;
      top:0;
      width:100%;
      height:100%;
      background:url(../img/index/main_cats_01_pc.png) 0 0 no-repeat; }
      #main .cats div.cat02 {
        background-image:url(../img/index/main_cats_02_pc.png); }
      #main .cats div.cat03 {
        background-image:url(../img/index/main_cats_03_pc.png); }
  #main .text {
    background:#fff;
    text-align:center;
    position:absolute;
    width:100%;
    top:750px;
    height:250px;
    padding:20px 0;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    line-height:1; }
    #main .text p {
      margin-bottom:20px; }
  #main .sankaku {
    bottom:250px; }
  #main .kumo01, #main .kumo02 {
    width:100%;
    height:600px;
    position:absolute;
    top:0;
    left:0; }
  #main .kumo01 {
    background:url(../img/index/bg_kumo_01.png);
    animation:kumo01 25s linear infinite;
    -webkit-animation:kumo01 25s linear infinite; }
  #main .kumo02 {
    background:url(../img/index/bg_kumo_02.png);
    animation:kumo02 35s linear infinite;
    -webkit-animation:kumo02 35s linear infinite; }
@keyframes kumo01 {
  0% {
    background-position:0 0; }
  100% {
    background-position:2000px 0; } }
@keyframes kumo02 {
  0% {
    background-position:0 0; }
  100% {
    background-position:2000px 0; } }
  @media screen and (max-width: 639px) {
    #main {
      height:0;
      padding-top:153.125%;
      background-size:700px auto; }
      #main .bar {
        width:31.09375%;
        height:66.32653%; }
        #main .bar .logo {
          width:82.91457%;
          padding-top:18.18182%; }
        #main .bar h1 {
          width:79.8995%;
          margin:10px 0; }
        #main .bar .copy {
          width:18.59296%; }
      #main .sankaku {
        bottom:31.63265%; }
      #main .text {
        top:68.36735%;
        height:31.63265%;
        padding:10px 0; }
        #main .text p {
          margin-bottom:10px; }
        #main .text .text01 {
          width:41.5625%; }
        #main .text .text02 {
          width:82.65625%;
          margin-top:10px; }
        #main .text .en {
          width:62.65625%; }
        #main .text .arrow {
          margin-top:18px; }
          #main .text .arrow img {
            width:14.0625%; }
      #main .cats {
        top:59.18367%;
        width:51.71875%; }
        #main .cats div {
          width:100%;
          background-image:url(../img/index/main_cats_01_sp.png);
          background-size:100% auto; }
          #main .cats div.cat02 {
            background-image:url(../img/index/main_cats_02_sp.png); }
          #main .cats div.cat03 {
            background-image:url(../img/index/main_cats_03_sp.png); }
      #main .kumo01, #main .kumo02 {
        background-size:1000px auto; }
    @keyframes kumo01 {
      0% {
        background-position:0 0; }
      100% {
        background-position:1000px 0; } }
    @-webkit-keyframes kumo01 {
      0% {
        background-position:0 0; }
      100% {
        background-position:1000px 0; } }
    @keyframes kumo02 {
      0% {
        background-position:0 0; }
      100% {
        background-position:1000px 0; } }
    @-webkit-keyframes kumo02 {
      0% {
        background-position:0 0; }
      100% {
        background-position:1000px 0; } } }

.jp {
  margin-bottom:1.5em;
  font-size:13px; }
  @media screen and (max-width: 639px) {
    .jp {
      margin-bottom:0.7em; } }

.en {
  font-size:12px;
  color:#999; }

.title {
  position:relative;
  -moz-box-sizing:border-box;
  box-sizing:border-box; }
  .title img {
    position:relative;
    display:block;
    z-index:2; }
  .title img.num {
    position:absolute;
    z-index:1;
    top:0;
    left:50%;
    -moz-transform:translate(-75%, 0);
    -ms-transform:translate(-75%, 0);
    -webkit-transform:translate(-75%, 0);
    border-image:translate(-75%, 0); }
  .title .en {
    margin-top:10px; }
  @media screen and (max-width: 639px) {
    .title {
      margin:0 auto 15px; }
      .title img.num {
        -moz-transform:translate(-50%, 0);
        -ms-transform:translate(-50%, 0);
        -webkit-transform:translate(-50%, 0);
        border-image:translate(-50%, 0); }
      .title .en {
        margin:5px auto 0; } }
  @media screen and (min-width: 640px) {
    .title {
      width:387px;
      height:145px;
      padding-top:43px;
      margin-bottom:10px; }
      .title.center {
        text-align:center;
        width:100%;
        margin-bottom:20px; }
        .title.center .num {
          -moz-transform:translate(-50%, 0);
          -ms-transform:translate(-50%, 0);
          -webkit-transform:translate(-50%, 0);
          border-image:translate(-50%, 0); }
        .title.center img {
          margin-left:auto;
          margin-right:auto; } }

#c01 {
  position:relative;
  z-index:110;
  background:#DCF4F8 url(../img/index/c01_bg_01.jpg) center top no-repeat; }
  @media screen and (max-width: 639px) {
    #c01 {
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:column-reverse;
      flex-direction:column-reverse;
      -webkit-flex-wrap:nowrap;
      flex-wrap:nowrap;
      background-size:700px auto;
      padding:29.6875% 3.125% 30px; }
      #c01 .image {
        position:relative;
        margin-bottom:30px; }
        #c01 .image .cat {
          position:absolute;
          width:21.09375%;
          bottom:0;
          left:50%;
          -moz-transform:translate(-50%, 0);
          -ms-transform:translate(-50%, 0);
          -webkit-transform:translate(-50%, 0);
          border-image:translate(-50%, 0); }
      #c01 .title {
        width:77.5%;
        max-width:465px;
        padding:6.45161% 0 4.30108%; }
        #c01 .title .num {
          width:15.26882%; }
        #c01 .title .en {
          width:46.88172%; } }
  @media screen and (min-width: 640px) {
    #c01 {
      background-size:100% auto;
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:row-reverse;
      flex-direction:row-reverse;
      -webkit-flex-wrap:wrap;
      flex-wrap:wrap;
      -webkit-justify-content:center;
      justify-content:center;
      -webkit-align-items:stretch;
      align-items:stretch;
      padding:250px 20px 60px; }
      #c01 .text {
        width:525px;
        margin-left:40px; }
      #c01 .image {
        position:relative;
        overflow:hiddenh;
        height:383px;
        width:calc(100% - 580px);
        max-width:773px; }
        #c01 .image img {
          position:absolute; }
        #c01 .image .photo {
          top:0;
          right:0; }
        #c01 .image .cat {
          position:absolute;
          right:20px;
          bottom:0; } }

#c02 {
  position:relative;
  z-index:120;
  padding-top:80px;
  padding-bottom:140px;
  background-image:url(../img/index/c02_bg_01.png), url(../img/index/c02_bg_02.gif);
  background-repeat:no-repeat, repeat-x;
  background-position:0 0, 0 0; }
  #c02 .image {
    position:relative;
    -moz-box-sizing:border-box;
    box-sizing:border-box; }
    #c02 .image img {
      position:absolute; }
  #c02 .photo01 {
    top:153px;
    left:0; }
  #c02 .photo02 {
    top:0;
    left:153px; }
  #c02 .photo03 {
    left:305px;
    top:0; }
  #c02 .cats {
    top:380px;
    left:210px; }
  @media screen and (max-width: 639px) {
    #c02 {
      background-size:120% auto , auto auto;
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:column-reverse;
      flex-direction:column-reverse;
      -webkit-flex-wrap:nowrap;
      flex-wrap:nowrap;
      -webkit-justify-content:center;
      justify-content:center;
      padding:0 3.125% 30px; }
      #c02 .title {
        width:95.83333%;
        max-width:575px;
        padding:5.21739% 0 4.86957%; }
        #c02 .title .num {
          width:16.34783%; }
        #c02 .title .en {
          width:95.65217%; }
      #c02 .image {
        padding-top:68.5%;
        margin-bottom:40px; }
      #c02 .photo01 {
        width:33.33333%;
        top:25.06083%;
        left:0; }
      #c02 .photo02 {
        width:33.33333%;
        top:0;
        left:17.16667%; }
      #c02 .photo03 {
        width:66.66667%;
        left:34.33333%;
        top:0; }
      #c02 .cats {
        width:30.66667%;
        top:64.9635%;
        left:19.16667%; } }
  @media screen and (min-width: 640px) {
    #c02 {
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:row;
      flex-direction:row;
      -webkit-flex-wrap:nowrap;
      flex-wrap:nowrap;
      -webkit-justify-content:center;
      justify-content:center; }
      #c02 .title {
        width:479px; }
      #c02 .text {
        width:44.28571%;
        min-width:620px;
        margin-top:160px;
        padding:0 40px;
        -moz-box-sizing:border-box;
        box-sizing:border-box; }
      #c02 .image {
        width:55.71429%;
        max-width:780px;
        height:605px; } }

#c03 {
  position:relative;
  z-index:130;
  background:url(../img/index/c03_bg_01.jpg) 0 0 repeat;
  padding-bottom:190px; }
  #c03 .photo {
    position:relative;
    z-index:10; }
  #c03 .cats {
    position:absolute;
    top:0;
    width:384px;
    height:123px;
    z-index:1;
    left:50%;
    -moz-transform:translate(-50%, -93.49593%);
    -ms-transform:translate(-50%, -93.49593%);
    -webkit-transform:translate(-50%, -93.49593%);
    border-image:translate(-50%, -93.49593%); }
    #c03 .cats img {
      display:block;
      position:absolute;
      top:0;
      left:0; }
  #c03 .photo {
    overflow:hidden;
    max-height:260px;
    margin-bottom:90px;
    padding:5px 0 0 5px; }
    #c03 .photo div {
      float:left;
      width:calc(33.3333% - 5px);
      margin-right:5px; }
    #c03 .photo img {
      width:100%;
      height:auto; }
  @media screen and (max-width: 639px) {
    #c03 {
      margin-top:21.875%;
      padding:3.125% 3.125% 70px; }
      #c03 .title {
        width:96.16667%;
        max-width:577px;
        padding:5.19931% 0 3.81282%; }
        #c03 .title .num {
          width:15.94454%; }
        #c03 .title .en {
          width:91.5078%; }
      #c03 .photo {
        padding:2px 0 0 2px;
        margin-bottom:15px; }
        #c03 .photo div {
          width:calc(33.3333% - 2px);
          margin-right:2px; }
      #c03 .cats {
        height:0;
        width:60%;
        padding-top:20.5%; } }
  @media screen and (min-width: 640px) {
    #c03 .text {
      width:520px;
      margin:0 auto; } }

#c04 {
  position:relative;
  z-index:140;
  padding:110px 0 55px;
  background:#fff; }
  #c04 .cats {
    position:absolute;
    top:0;
    width:250px;
    height:157px;
    z-index:110;
    left:50%;
    -moz-transform:translate(-50%, -70%);
    -ms-transform:translate(-50%, -70%);
    -webkit-transform:translate(-50%, -70%);
    border-image:translate(-50%, -70%); }
    #c04 .cats img {
      position:absolute;
      top:0;
      left:0; }
  @media screen and (max-width: 639px) {
    #c04 {
      padding:28.125% 3.125% 15px;
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:column-reverse;
      flex-direction:column-reverse;
      -webkit-flex-wrap:nowrap;
      flex-wrap:nowrap; }
      #c04 .image {
        margin-bottom:15px; }
      #c04 .title {
        width:95%;
        max-width:570px;
        padding:6.14035% 0 5.26316%; }
        #c04 .title .num {
          width:18.94737%; }
        #c04 .title .en {
          width:88.59649%; }
      #c04 .cats {
        top:0;
        height:1px;
        -moz-transform:translate(-50%, -10%);
        -ms-transform:translate(-50%, -10%);
        -webkit-transform:translate(-50%, -10%);
        border-image:translate(-50%, -10%);
        width:39.0625%;
        padding-top:24.53125%; } }
  @media screen and (min-width: 640px) {
    #c04 {
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:row;
      flex-direction:row;
      -webkit-flex-wrap:nowrap;
      flex-wrap:nowrap;
      -webkit-align-items:stretch;
      align-items:stretch; }
      #c04 .text {
        width:50%;
        padding:0 5.71429%;
        -moz-box-sizing:border-box;
        box-sizing:border-box; }
      #c04 .title {
        width:475px; }
      #c04 .image {
        width:50%; } }

#c05 {
  position:relative;
  z-index:150; }
  #c05 .inner {
    z-index:10; }
  #c05 .text {
    background:url(../img/index/c05_bg_01.jpg), url(../img/index/c05_bg_02.jpg);
    background-repeat:no-repeat, repeat;
    -moz-box-sizing:border-box;
    box-sizing:border-box; }
  #c05 .jp {
    color:#fff; }
  #c05 .en {
    color:#879193; }
  #c05 .image {
    background:url(../img/index/c05_bg_03.gif) center bottom no-repeat; }
  #c05 .bgtop, #c05 .bgbottom {
    position:absolute;
    width:0;
    height:0;
    border:1100px solid transparent;
    z-index:100; }
  #c05 .bgtop {
    top:-1px;
    border-top:120px solid #fff !important; }
  #c05 .bgbottom {
    bottom:-1px;
    border-bottom:120px solid #fff !important; }
  @media screen and (max-width: 639px) {
    #c05 .title {
      width:99.5%;
      max-width:597px;
      padding:5.36013% 0 5.02513%; }
      #c05 .title .num {
        width:15.41039%; }
      #c05 .title .en {
        width:57.78894%; }
    #c05 .text {
      padding:50px 3.125% 14.0625%;
      background-size:100% auto, 95px auto;
      position:relative;
      z-index:10; }
    #c05 .image {
      z-index:20;
      position:relative;
      margin-top:-12.5%;
      padding-top:57.03125%;
      background:url(../img/index/c05_bg_03_sp.png) center top no-repeat;
      background-size:cover; }
    #c05 .bgtop {
      border-top-width:40px !important; }
    #c05 .bgbottom {
      border-bottom-width:40px !important; } }
  @media screen and (min-width: 640px) {
    #c05 .inner {
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:row-reverse;
      flex-direction:row-reverse;
      -webkit-flex-wrap:wrap;
      flex-wrap:wrap;
      -webkit-align-items:stretch;
      align-items:stretch; }
    #c05 .title {
      width:524px; }
    #c05 .text {
      padding:90px 80px 130px;
      width:50%; }
    #c05 .image {
      background-size:cover;
      width:50%; } }

#c06 {
  position:relative;
  z-index:160;
  margin-top:-60px;
  padding:100px 0 45px;
  background:url(../img/index/c06_bg_01.gif) center top repeat; }
  #c06 .cats {
    position:relative;
    width:608px;
    height:141px; }
    #c06 .cats div {
      display:block;
      position:absolute;
      top:0;
      left:0;
      z-index:2;
      width:100%;
      height:100%;
      background:url(../img/index/c06_cats_01_pc.png) 0 0 no-repeat; }
      #c06 .cats div:last-child {
        z-index:1; }
      #c06 .cats div.cat02 {
        background-image:url(../img/index/c06_cats_02_pc.png); }
      #c06 .cats div.cat03 {
        background-image:url(../img/index/c06_cats_03_pc.png); }
      #c06 .cats div.cat04 {
        background-image:url(../img/index/c06_cats_04_pc.png); }
      #c06 .cats div.cat05 {
        background-image:url(../img/index/c06_cats_05_pc.png); }
      #c06 .cats div.cat06 {
        background-image:url(../img/index/c06_cats_06_pc.png); }
  @media screen and (max-width: 639px) {
    #c06 {
      background-size:700px auto;
      margin-top:-30px;
      padding:0 0 30px; }
      #c06 .title {
        width:99.5%;
        max-width:597px;
        padding:5.52764% 0 5.02513%; }
        #c06 .title .num {
          width:15.9129%; }
        #c06 .title .en {
          width:58.62647%; }
      #c06 .text {
        padding:45px 3.125% 25px; }
      #c06 .cats {
        width:88.75%;
        margin-left:3.125%;
        padding-top:22.03125%;
        height:1px; }
        #c06 .cats div {
          background-size:100% auto; }
          #c06 .cats div.cat01 {
            background-image:url(../img/index/c06_cats_01_sp.png); }
          #c06 .cats div.cat02 {
            background-image:url(../img/index/c06_cats_02_sp.png); }
          #c06 .cats div.cat03 {
            background-image:url(../img/index/c06_cats_03_sp.png); }
          #c06 .cats div.cat04 {
            background-image:url(../img/index/c06_cats_04_sp.png); }
          #c06 .cats div.cat05 {
            background-image:url(../img/index/c06_cats_05_sp.png); }
          #c06 .cats div.cat06 {
            background-image:url(../img/index/c06_cats_06_sp.png); } }
  @media screen and (min-width: 640px) {
    #c06 {
      background-size:100% auto; }
      #c06 .text {
        width:520px;
        margin:0 auto 80px; }
      #c06 .cats {
        padding-right:40px;
        margin:0 auto;
        height:141px; } }

#c07 {
  position:relative;
  z-index:170;
  padding:80px 0;
  background:url(../img/index/main_bg_01.jpg) center top repeat-x;
  text-align:center; }
  #c07 .jp, #c07 .en {
    color:#fff;
    margin:0; }
  #c07 .btnDetail {
    margin-top:30px; }
  @media screen and (max-width: 639px) {
    #c07 {
      padding:30px 3.125%;
      background-size:700px auto; }
      #c07 h2 {
        margin-bottom:10px; }
        #c07 h2 img {
          width:55%; }
      #c07 .btnDetail {
        width:77.8125%;
        margin:22px auto 0; } }

#c08 {
  position:relative;
  z-index:180; }
  #c08 h2 {
    margin-bottom:24px;
    text-align:center; }
  #c08 a {
    color:#fff;
    transition:all .3s; }
    #c08 a:hover {
      color:rgba(255, 255, 255, 0.8); }
  @media screen and (max-width: 639px) {
    #c08 h2 {
      margin-bottom:15px; }
    #c08 .btnDetail {
      width:77.8125%;
      margin:15px auto 5px; } }
  @media screen and (min-width: 640px) {
    #c08 {
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:row;
      flex-direction:row;
      -webkit-flex-wrap:wrap;
      flex-wrap:wrap;
      -webkit-align-items:stretch;
      align-items:stretch; }
      #c08 .btnDetail {
        position:absolute;
        bottom:30px;
        left:0;
        text-align:center;
        width:100%; } }

@media screen and (max-width: 639px) {
  #info, #contract {
    padding:25px 3.125%; } }
@media screen and (min-width: 640px) {
  #info, #contract {
    position:relative;
    width:50%;
    padding:25px 50px 105px;
    -moz-box-sizing:border-box;
    box-sizing:border-box; } }

#info {
  background:url(../img/index/info_bg_01.jpg) center top repeat; }
  #info ul {
    border-top:1px dotted #fff; }
  #info li a {
    padding:20px 0;
    border-bottom:1px dotted #fff; }
  #info .date {
    width:97px;
    color:#656565; }
  #info .icon {
    background:#fff;
    color:#1b77a7;
    width:100px;
    text-align:center;
    margin-right:13px;
    border-radius:50px;
    font-size:0.875rem; }
  #info .entryTitle {
    width:calc(100% - 205px); }
  @media screen and (max-width: 639px) {
    #info h2 img {
      width:65.16667%; }
    #info li a {
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:row;
      flex-direction:row;
      -webkit-flex-wrap:wrap;
      flex-wrap:wrap;
      -webkit-align-items:flex-start;
      align-items:flex-start;
      padding:10px 0; }
    #info .entryTitle {
      display:block;
      width:100%;
      margin-top:5px; } }
  @media screen and (min-width: 640px) {
    #info li a {
      display:flex;
      display:-webkit-flex;
      -webkit-flex-direction:row;
      flex-direction:row;
      -webkit-flex-wrap:now-wrap;
      flex-wrap:now-wrap;
      -webkit-align-items:flex-start;
      align-items:flex-start; } }

#contract {
  background:url(../img/index/contract_bg_01.jpg) center top no-repeat;
  background-size:cover; }
  #contract ul {
    border-top:1px dotted #fff; }
  #contract li {
    font-size:0.813rem;
    border-bottom:1px dotted #fff;
    padding:20px 0;
    overflow:hidden;
    border-bottom:1px dotted #fff;
    color:#fff; }
  #contract .image {
    display:block;
    float:left;
    width:110px; }
    #contract .image img {
      width:100%;
      height:auto; }
  #contract .text {
    float:right;
    width:calc(100% - 140px); }
  @media screen and (max-width: 639px) {
    #contract h2 img {
      width:70.66667%; }
    #contract .image {
      width:18.33333%;
      margin-right:10px; }
    #contract li {
      padding:15px 0; }
    #contract .text {
      width:76.66667%; } }

/*# sourceMappingURL=index.css.map */
