@charset "UTF-8";
/*==========================================================
 02_base
==========================================================*/
/* 02_base
================================================ */
html {
  overflow: auto; }

body {
  min-width: 320px;
  overflow: hidden;
  color: #000;
  font-size: 1.4rem;
  line-height: 1.79;
  line-height: calc(50/28);
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,  "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; }
  @media all and (min-width: 600px) {
    body {
      min-width: 1000px; } }

img {
  max-width: 100%; }

a {
  transition: all 0.3s ease;
  text-decoration: none; }
  a.opacity:hover {
    opacity: .7; }
  a.underline:hover {
    text-decoration: underline; }
  a:hover {
    color: #41619a; }

strong, em {
  font-weight: bold; }

/* .is_font_sawarabimincho { font-family: "Sawarabi Mincho",sans-serif; } */
/* pc <--> sp切り替え
-------------------------------------- */
#mediaQuery {
  display: none;
  font-family: 'sp'; }
  @media all and (min-width: 600px) {
    #mediaQuery {
      font-family: 'pc'; } }

@media all and (min-width: 600px) {
  .viewSp {
    display: none !important; } }

@media all and (max-width: 599px) {
  .viewPc {
    display: none !important; } }

#overlay {
  display: none;
  position: fixed;
  z-index: 10;
  top: 0;
  bottom: 0;
  right: 0;
  left: 8px;
  background: white; }

/* clearfix
-------------------------------------- */
.cf::after {
  display: block;
  content: '';
  clear: both; }

/*==========================================================
 03_layout
==========================================================*/
/* #gHeader
================================================ */
#mainVisual {
  position: relative; }

/* .pageTop
================================================ */
.pageTop {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 0px;
  z-index: 1001; }
  @media all and (max-width: 599px) {
    .pageTop {
      display: block;
      right: 0px; } }

.pageTop a {
  display: block;
  padding-top: 18px;
  width: 60px;
  height: 60px;
  background: #666;
  box-sizing: border-box; }
  .pageTop a::after {
    position: absolute;
    content: "";
    top: 25px;
    left: 22px;
    transform: rotate(45deg);
    width: 13px;
    height: 13px;
    border-left: 3px solid #fff;
    border-top: 3px solid #fff; }
  .pageTop a:hover {
    color: #000;
    border: 1px solid #000; }
    .pageTop a:hover::after {
      border-color: #000; }
  @media all and (max-width: 599px) {
    .pageTop a {
      padding-top: 10px;
      width: 40px;
      height: 40px; }
      .pageTop a::after {
        top: 16px;
        left: 12px;
        border-left: 2px solid #fff;
        border-top: 2px solid #fff; } }

/* footer
================================================ */
#gFooter {
  padding: 30px 0;
  background: #e6e6e6; }

.futoMin {
  font-family: a-otf-futo-min-a101-pr6n, serif;
  font-weight: 400;
  font-style: normal; }

.KozukaMincho {
  /* L 300, R 400, M 500, B 700 */
  font-family: kozuka-mincho-pr6n, serif; }

.Kozuka Gothic {
  /* L 300, R 400, M 500, B 700 */
  font-family: kozuka-gothic-pro, sans-serif; }

img {
  display: block;
  margin: auto;
  vertical-align: middle; }

header h1 {
  padding: 30px 0 25px;
  font-size: 2rem;
  font-family: kozuka-mincho-pr6n, serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.025em;
  line-height: 1; }
header .name img {
  display: block;
  margin: 0 auto 40px;
  width: 607px; }
@media all and (max-width: 599px) {
  header h1 {
    line-height: 1.5; }
  header .name {
    padding: 0 15px; } }

#mv img {
  width: 100%; }

/* mainV2 */
#jquery-cycle,
#mainV2 {
  width: 100%;
  height: 500px;
  overflow: hidden; }
  @media all and (max-width: 599px) {
    #jquery-cycle,
    #mainV2 {
      height: 200px; } }

#mainV2 img {
  width: 100% !important;
  height: auto !important;
  display: block;
  left: 0 !important; }

#mainV {
  position: relative;
  height: 945px;
  height: 500px;
  overflow: hidden; }
  @media all and (max-width: 599px) {
    #mainV {
      height: 300px; } }

#mainV .mv1 img {
  display: block;
  margin: auto; }

#mainV .mv1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  animation-name: up;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  -webkit-animation-duration: 30s;
  animation-duration: 30s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@keyframes up {
  0% {
    opacity: 1;
    margin-top: 0; }
  98.08% {
    opacity: 1;
    margin-top: -98%; }
  98.09% {
    opacity: 0;
    margin-top: -98%; }
  98.1% {
    opacity: 0;
    margin-top: 0; }
  100% {
    opacity: 0.9;
    margin-top: 0; } }
@media all and (max-width: 599px) {
  #mainV .mv1 {
    -webkit-animation-duration: 13s;
    animation-duration: 13s; }

  @keyframes up {
    0% {
      opacity: 1;
      margin-top: 0; }
    98.08% {
      opacity: 1;
      margin-top: -200px; }
    98.09% {
      opacity: 0;
      margin-top: -200px; }
    98.1% {
      opacity: 0;
      margin-top: 0; }
    100% {
      opacity: 0.9;
      margin-top: 0; } } }
@media (max-width: 374px) {
  #mainV .mv1 {
    -webkit-animation-duration: 9s;
    animation-duration: 9s; }

  @keyframes up {
    0% {
      opacity: 1;
      margin-top: 0; }
    98.08% {
      opacity: 1;
      margin-top: -100px; }
    98.09% {
      opacity: 0;
      margin-top: -100px; }
    98.1% {
      opacity: 0;
      margin-top: 0; }
    100% {
      opacity: 0.9;
      margin-top: 0; } } }
@media (min-width: 376px) and (max-width: 640px) {
  @keyframes up {
    0% {
      opacity: 1;
      margin-top: 0; }
    98.08% {
      opacity: 1;
      margin-top: -250px; }
    98.09% {
      opacity: 0;
      margin-top: -250px; }
    98.1% {
      opacity: 0;
      margin-top: 0; }
    100% {
      opacity: 0.9;
      margin-top: 0; } } }
.catch {
  padding: 35px 0;
  font-size: 2.4rem;
  font-family: kozuka-gothic-pro, sans-serif;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #333333; }
  @media all and (max-width: 599px) {
    .catch {
      padding: 15px 0 13px;
      font-size: 2rem;
      line-height: 1.5; } }

.wrapper {
  margin: auto;
  display: table;
  width: 1000px;
  overflow: hidden; }
  @media all and (max-width: 599px) {
    .wrapper {
      width: 100%;
      display: block;
      box-sizing: border-box; } }

@media all and (min-width: 600px) {
  .wrapper2 {
    width: 1200px; } }
.text {
  display: table-cell;
  padding-left: 100px;
  height: 250px;
  font-size: 1.6rem;
  line-height: calc(30/16);
  vertical-align: middle; }
  .text p, .text ul {
    width: 475px; }
  .text li {
    position: relative;
    padding-left: 1.6rem; }
  .text li:before {
    position: absolute;
    display: block;
    content: "・";
    top: 0;
    left: 0; }
  .text.text2 {
    padding-left: 615px;
    padding-right: 105px; }
  @media all and (max-width: 599px) {
    .text {
      display: block;
      height: auto;
      padding: 10px 15px 190px; }
      .text.text2 {
        padding: 10px 15px 190px; }
      .text p, .text ul {
        width: 100%;
        box-sizing: border-box; } }

#point01 .text {
  background: url(../img/bg_01.png) top right no-repeat; }

#point02 .text {
  background: url(../img/bg_02.png) top left no-repeat; }

#point03 .text {
  background: url(../img/bg_03.png) top right no-repeat; }

#point04 .text {
  background: url(../img/bg_04.png) top left no-repeat; }

#point05 .text {
  background: url(../img/bg_05.png) top right no-repeat; }

#point06 .text {
  background: url(../img/bg_06.png) top left no-repeat; }

#point07 .text {
  background: url(../img/bg_07.png) top right no-repeat; }

@media all and (max-width: 599px) {
  #point01 .text,
  #point03 .text,
  #point05 .text,
  #point07 .text {
    background-position: bottom right;
    background-size: 205%; }

  #point02 .text,
  #point04 .text,
  #point06 .text {
    background-position: bottom left;
    background-size: 205%; } }
#gallery,
#gallery3 {
  background: #e9e9e9; }

#gallery,
#gallery2,
#gallery3 {
  padding: 70px 0;
  overflow: hidden; }
  @media all and (max-width: 599px) {
    #gallery,
    #gallery2,
    #gallery3 {
      padding: 30px 0; } }
  @media all and (min-width: 600px) {
    #gallery .slideWrap,
    #gallery2 .slideWrap,
    #gallery3 .slideWrap {
      position: absolute;
      top: 0;
      left: calc(50% - 770px);
      width: calc(100% + 540px);
      width: 1540px;
      margin-top: 20px; }
      #gallery .slideWrap img,
      #gallery2 .slideWrap img,
      #gallery3 .slideWrap img {
        opacity: 0.5; }
      #gallery .slideWrap .active img,
      #gallery2 .slideWrap .active img,
      #gallery3 .slideWrap .active img {
        opacity: 1 !important; } }
  #gallery .slideWrap,
  #gallery2 .slideWrap,
  #gallery3 .slideWrap {
    position: relative; }
    #gallery .slideWrap .bx-prev,
    #gallery .slideWrap .bx-next,
    #gallery2 .slideWrap .bx-prev,
    #gallery2 .slideWrap .bx-next,
    #gallery3 .slideWrap .bx-prev,
    #gallery3 .slideWrap .bx-next {
      position: absolute;
      top: calc(50% - 28px);
      width: 57px;
      height: 57px;
      text-indent: -9999px;
      background: #333; }
      #gallery .slideWrap .bx-prev::after,
      #gallery .slideWrap .bx-next::after,
      #gallery2 .slideWrap .bx-prev::after,
      #gallery2 .slideWrap .bx-next::after,
      #gallery3 .slideWrap .bx-prev::after,
      #gallery3 .slideWrap .bx-next::after {
        position: absolute;
        display: block;
        content: "";
        border: 23px solid transparent; }
      @media all and (max-width: 599px) {
        #gallery .slideWrap .bx-prev,
        #gallery .slideWrap .bx-next,
        #gallery2 .slideWrap .bx-prev,
        #gallery2 .slideWrap .bx-next,
        #gallery3 .slideWrap .bx-prev,
        #gallery3 .slideWrap .bx-next {
          top: calc(50% - 15px);
          width: 30px;
          height: 30px; }
          #gallery .slideWrap .bx-prev::after,
          #gallery .slideWrap .bx-next::after,
          #gallery2 .slideWrap .bx-prev::after,
          #gallery2 .slideWrap .bx-next::after,
          #gallery3 .slideWrap .bx-prev::after,
          #gallery3 .slideWrap .bx-next::after {
            border: 12px solid transparent; } }
    #gallery .slideWrap .bx-prev,
    #gallery2 .slideWrap .bx-prev,
    #gallery3 .slideWrap .bx-prev {
      left: calc(50% - 310px); }
      #gallery .slideWrap .bx-prev::after,
      #gallery2 .slideWrap .bx-prev::after,
      #gallery3 .slideWrap .bx-prev::after {
        top: 5px;
        right: 13px;
        border-right: 32px solid #fff; }
      @media all and (max-width: 599px) {
        #gallery .slideWrap .bx-prev,
        #gallery2 .slideWrap .bx-prev,
        #gallery3 .slideWrap .bx-prev {
          left: 0px; }
          #gallery .slideWrap .bx-prev::after,
          #gallery2 .slideWrap .bx-prev::after,
          #gallery3 .slideWrap .bx-prev::after {
            top: 3px;
            right: 7px;
            border-right: 16px solid #fff; } }
    #gallery .slideWrap .bx-next,
    #gallery2 .slideWrap .bx-next,
    #gallery3 .slideWrap .bx-next {
      right: calc(50% - 310px); }
      #gallery .slideWrap .bx-next::after,
      #gallery2 .slideWrap .bx-next::after,
      #gallery3 .slideWrap .bx-next::after {
        top: 5px;
        left: 13px;
        border-left: 32px solid #fff; }
      @media all and (max-width: 599px) {
        #gallery .slideWrap .bx-next,
        #gallery2 .slideWrap .bx-next,
        #gallery3 .slideWrap .bx-next {
          right: 0px; }
          #gallery .slideWrap .bx-next::after,
          #gallery2 .slideWrap .bx-next::after,
          #gallery3 .slideWrap .bx-next::after {
            top: 3px;
            left: 7px;
            border-left: 16px solid #fff; } }

#access {
  padding: 70px 0; }
  @media all and (max-width: 599px) {
    #access {
      padding: 30px 0; }
      #access iframe {
        height: 400px; } }
  #access p {
    margin-bottom: 40px;
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.025em; }
    @media all and (max-width: 599px) {
      #access p {
        margin-bottom: 20px; } }

#floor {
  padding: 0 0 70px 0; }
  @media all and (min-width: 600px) {
    #floor .img01 {
      position: relative;
      margin-top: 50px;
      text-align: center; }
      #floor .img01 .ico {
        position: absolute;
        bottom: 50px;
        left: calc(50% + 360px); }
    #floor .img02 {
      width: 1000px;
      display: table;
      margin: 30px auto 20px; }
      #floor .img02 div {
        display: table-cell;
        vertical-align: bottom;
        text-align: left; }
        #floor .img02 div:nth-child(2) {
          text-align: right; } }
  @media all and (max-width: 599px) {
    #floor {
      padding: 0 0 30px 0;
      text-align: center; }
      #floor .img01, #floor .img02 {
        padding: 0 15px; }
      #floor .img01 img,
      #floor .img02 img {
        margin: 0 auto 30px; }
      #floor .ico img {
        width: 50px; } }

#data .tit {
  background: #000; }
#data .tit03 {
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1; }
  #data .tit03::before {
    position: absolute;
    display: block;
    content: "";
    top: 1px;
    left: 0;
    width: 15px;
    height: 15px;
    background: #333; }
@media all and (min-width: 600px) {
  #data .row {
    display: table; }
    #data .row .col {
      display: table-cell;
      padding: 65px 0 0;
      vertical-align: top; }
    #data .row .col01 {
      width: 660px; } }
#data .col01 dl {
  margin: 0 0 80px 25px; }
#data .col01 dt, #data .col01 dd {
  font-size: 1.6rem; }
#data .col01 dt {
  height: 50px; }
#data .col01 dd {
  margin: -50px 0 5px;
  padding-left: 90px; }
#data .col02 li {
  padding: 7px 0;
  font-size: 1.8rem;
  text-align: center;
  border-bottom: 1px solid #d6d6d6; }
@media all and (max-width: 599px) {
  #data .row {
    padding: 20px 15px; }
  #data .col01 dl {
    margin: 0 0 40px 25px; }
  #data .col02 {
    margin-bottom: 40px; } }

footer {
  padding: 8px;
  text-align: center;
  color: #fff;
  background: #333; }

.tit01 {
  position: relative;
  margin: 53px 0 25px;
  font-size: 3.6rem;
  font-faimly: "メイリオ", Meiryo, "Noto Sans JP", -apple-system, BlinkMacSystemFont,  "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial,  sans-serif;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.025em; }
  .tit01 span {
    font-size: 2.4rem; }
    @media all and (max-width: 599px) {
      .tit01 span {
        margin-top: 10px;
        display: block; } }
  .tit01::before {
    position: absolute;
    display: block;
    content: "";
    top: -53px;
    left: calc(50% - 14px);
    width: 28px;
    height: 28px;
    background: #e9e9e9; }
  .tit01.white::before {
    background: #fff; }

/* アニメーション */
.animated {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.js-fadeInUp {
  opacity: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 200px, 0);
    transform: translate3d(0, 200px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 200px, 0);
    transform: translate3d(0, 200px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInUp {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.fadeIn {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }
