@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,700&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1.1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

main {
  display: block; }

/*mediaquery*/
/*set*/
/*margin*/
.mauto {
  margin: 0 auto; }

.mt0 {
  margin-top: 0; }

.mt05 {
  margin-top: 0.5em; }

.mt1 {
  margin-top: 1em; }

.mt2 {
  margin-top: 2em; }

.mb0 {
  margin-bottom: 0; }

.mb05 {
  margin-bottom: 0.5em; }

.mb1 {
  margin-bottom: 1em; }

.mb2 {
  margin-bottom: 2em; }

.mr0 {
  margin-right: 0; }

.mr05 {
  margin-right: 0.5em; }

.mr1 {
  margin-right: 1em; }

.mr2 {
  margin-right: 2em; }

.ml0 {
  margin-left: 0; }

.ml05 {
  margin-left: 0.5em; }

.ml1 {
  margin-left: 1em; }

.ml2 {
  margin-left: 2em; }

/*width*/
.w100 {
  width: 100%; }

.w90 {
  width: 90%; }

.w80 {
  width: 80%; }

.w70 {
  width: 70%; }

.w60 {
  width: 60%; }

.w55 {
  width: 55%; }

.w50 {
  width: 50%; }

.w45 {
  width: 45%; }

.w40 {
  width: 40%; }

.w35 {
  width: 35%; }

.w30 {
  width: 30%; }

.w20 {
  width: 20%; }

.w10 {
  width: 10%; }

@media screen and (max-width: 640px) {
  .w100, .w90, .w80, .w70, .w60, .w55, .w50, .w45, .w40, .w35, .w30, .w20, .w10 {
    width: 100%; } }

/*img*/
img {
  display: block; }

/*text*/
.txtc {
  text-align: center; }

.txtr {
  text-align: right; }

.txtl {
  text-align: left; }

/*font-size*/
.fs15 {
  font-size: 1.5em; }

.fs13 {
  font-size: 1.3em; }

.fs09 {
  font-size: 0.9em; }

.fs08 {
  font-size: 0.8em; }

/*float*/
.fl {
  float: left; }
  @media screen and (max-width: 640px) {
    .fl {
      float: none; } }

.fr {
  float: right; }
  @media screen and (max-width: 640px) {
    .fr {
      float: none; } }

/*mediaquery*/
/* -------------------------------- 
Primary style
-------------------------------- */
*, *::after, *::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

a {
  color: #444;
  text-decoration: none; }

/* -------------------------------- 
Main components 
-------------------------------- */
html {
  min-height: 100%;
  position: relative; }

body {
  color: #111;
  font-family: 'Noto Serif JP', serif;
  font-size: 16px;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

header {
  position: fixed;
  padding: 36px 3%;
  width: 100%;
  /*height:88px;*/
  z-index: 3;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
  display: flex; }
  @media screen and (max-width: 640px) {
    header {
      padding: 22px 3%; } }
  @media screen and (max-width: 320px) {
    header {
      padding: 15px 3%;
      height: 74px; } }
  header h1 {
    float: left;
    margin: 0;
    padding: 2px 0;
    /*width:240px;*/
    /*height: 53px;*/
    height: 60px;
    transition: 0.2s; }
    @media screen and (max-width: 640px) {
      header h1 {
        /*height:44px;*/
        /*padding:10px 0;*/ } }
    @media screen and (max-width: 320px) {
      header h1 {
        padding: 12px 0; } }
    header h1 img {
      display: block;
      margin: 0 auto;
      /*width:100%;*/
      height: 100%; }
    header h1 a {
      transition-duration: 0.3s;
      transition-timing-function: ease-out; }
      header h1 a:hover {
        opacity: 0.85; }
    header h1 span {
      /*display: flex;
      height: 100%;
      justify-content: flex-start;*/ }
      header h1 span a {
        max-width: 190px;
        /*max-width: 350px;*/ }
        @media screen and (max-width: 640px) {
          header h1 span a {
            max-width: 182px; } }
        @media screen and (max-width: 320px) {
          header h1 span a {
            max-width: 151px; } }
      header h1 span img.bisyoku {
        margin-left: 20px;
        margin-top: -7px;
        height: 50px; }
        @media screen and (max-width: 640px) {
          header h1 span img.bisyoku {
            margin-left: 10px;
            height: 38px; } }
        @media screen and (max-width: 320px) {
          header h1 span img.bisyoku {
            height: 34px; } }
  header h1.kuro {
    display: none; }
  header.fixed h1 {
    height: 40px; }
    @media screen and (max-width: 640px) {
      header.fixed h1 {
        height: 44px; }
        header.fixed h1 img {
          height: 100%;
          width: auto;
          max-width: none; } }
  header.fixed h1.shiro {
    display: none; }
  header.fixed h1.kuro {
    display: block; }
  header div.language-wrap {
    position: absolute;
    top: 1.8rem;
    right: calc(3% + 95px);
    margin-right: 1.0rem; }
    header div.language-wrap::after {
      content: "";
      position: absolute;
      top: 11px;
      right: 16px;
      width: 6px;
      height: 6px;
      border-right: 1px solid #666;
      border-bottom: 1px solid #666;
      transform: rotate(45deg); }
    header div.language-wrap div.gtranslate_wrapper a {
      font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
      background: #fff;
      border: 1px solid #000;
      border-radius: 3.0rem;
      padding: .25rem 0;
      min-width: 4.0rem;
      display: inline-block;
      text-align: center; }
    header div.language-wrap div.gtranslate_wrapper a.notranslate {
      background: #fff;
      color: #000; }
    header div.language-wrap div.gtranslate_wrapper a.gt-current-lang {
      background: #000;
      color: #fff; }
    header div.language-wrap select {
      -webkit-appearance: none;
      appearance: none;
      outline: none; }
      header div.language-wrap select option {
        font-family: 'Noto Serif JP', serif;
        font-weight: normal; }
    header div.language-wrap select.gt_selector {
      padding: .35rem 2.0rem .35rem 1.0rem;
      background: #fff;
      border: 1px solid #DBD3D3;
      border-radius: 1.5rem;
      color: #333;
      font-size: .9em;
      font-family: 'Noto Serif JP', serif; }
  header div.headermail {
    position: absolute;
    display: block;
    top: 22px;
    right: calc(3% + 52px);
    width: 44px;
    height: 44px;
    border-radius: 22px;
    background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 60%) no-repeat;
    background: linear-gradient(135deg, #427eff 0%, #f13f79 60%) no-repeat;
    overflow: hidden;
    z-index: 10; }
    @media screen and (max-width: 320px) {
      header div.headermail {
        top: 15px; } }
    header div.headermail i {
      color: #fff;
      font-size: 22px;
      line-height: 44px; }
    header div.headermail:before {
      content: '';
      position: absolute;
      top: 23px;
      left: -18px;
      width: 60px;
      height: 60px;
      background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
      background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%); }
    header div.headermail:hover {
      background: #ff5860; }
      header div.headermail:hover ul {
        display: block;
        margin-top: 54px;
        transition-duration: 0.4s;
        transition-timing-function: ease-out; }

.fixed {
  background: #fff7cc;
  padding: 22px 3%; }

/*nav-trigger*/
.nav-trigger {
  position: fixed;
  display: inline-block;
  top: 22px;
  right: 3%;
  height: 44px;
  width: 44px;
  z-index: 10;
  /* image replacement */
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }
  @media screen and (max-width: 320px) {
    .nav-trigger {
      top: 15px; } }
  .nav-trigger .icon {
    /* icon created in CSS */
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    display: inline-block;
    width: 18px;
    height: 3px;
    background: #5939d8;
    background: linear-gradient(96deg, #5939d8 0%, #a90d79 100%);
    z-index: 11; }
    .nav-trigger .icon::before, .nav-trigger .icon:after {
      /* upper and lower lines of the menu icon */
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%;
      background: #5939d8;
      background: linear-gradient(96deg, #5939d8 0%, #a90d79 100%);
      /* Force Hardware Acceleration in WebKit */
      -webkit-transform: translateZ(0);
      -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
      -o-transform: translateZ(0);
      transform: translateZ(0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      /* apply transition to transform property */
      -webkit-transition: -webkit-transform .3s;
      -moz-transition: -moz-transform .3s;
      transition: transform .3s; }
    .nav-trigger .icon::before {
      -webkit-transform: translateY(-6px) rotate(0deg);
      -moz-transform: translateY(-6px) rotate(0deg);
      -ms-transform: translateY(-6px) rotate(0deg);
      -o-transform: translateY(-6px) rotate(0deg);
      transform: translateY(-6px) rotate(0deg);
      content: ''; }
    .nav-trigger .icon::after {
      -webkit-transform: translateY(6px) rotate(0deg);
      -moz-transform: translateY(6px) rotate(0deg);
      -ms-transform: translateY(6px) rotate(0deg);
      -o-transform: translateY(6px) rotate(0deg);
      transform: translateY(6px) rotate(0deg);
      content: ''; }
  .nav-trigger::before, .nav-trigger::after {
    /* 2 rounded colored backgrounds for the menu icon */
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    height: 100%;
    width: 100%;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    transition-property: transform; }
  .nav-trigger::before {
    background-color: #fff;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-delay: 0.4s;
    -moz-transition-delay: 0.4s;
    transition-delay: 0.4s;
    content: ''; }
  .nav-trigger:hover::before {
    background-color: #efefef; }
  .nav-trigger::after {
    background-color: #eee;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    transition-duration: 0s;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    transition-delay: 0s;
    content: ''; }
  .nav-trigger:hover::after {
    background-color: #ddd; }
  .nav-trigger.close-nav::before {
    /* user clicks on the .nav-trigger element - 1st rounded background disappears */
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    content: ''; }
  .nav-trigger.close-nav::after {
    /* user clicks on the .nav-trigger element - 2nd rounded background appears */
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-delay: 0.4s;
    -moz-transition-delay: 0.4s;
    transition-delay: 0.4s;
    content: ''; }
  .nav-trigger.close-nav .icon {
    /* user clicks on the .nav-trigger element - transform the icon */
    background: rgba(255, 255, 255, 0); }
    .nav-trigger.close-nav .icon::before, .nav-trigger.close-nav .icon::after {
      background: #5939d8;
      background: linear-gradient(96deg, #5939d8 0%, #a90d79 100%); }
    .nav-trigger.close-nav .icon::before {
      -webkit-transform: translateY(0) rotate(45deg);
      -moz-transform: translateY(0) rotate(45deg);
      -ms-transform: translateY(0) rotate(45deg);
      -o-transform: translateY(0) rotate(45deg);
      transform: translateY(0) rotate(45deg);
      content: ''; }
    .nav-trigger.close-nav .icon::after {
      -webkit-transform: translateY(0) rotate(-45deg);
      -moz-transform: translateY(0) rotate(-45deg);
      -ms-transform: translateY(0) rotate(-45deg);
      -o-transform: translateY(0) rotate(-45deg);
      transform: translateY(0) rotate(-45deg);
      content: ''; }

/*.nav-trigger*/
.primary-nav {
  /* by default it's hidden */
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  padding: 80px 5%;
  z-index: 9;
  background-color: #fff7cc;
  overflow: auto;
  /* this fixes the buggy scrolling on webkit browsers - mobile devices only - when overflow property is applied */
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 0s, opacity 0.3s;
  -moz-transition: visibility 0s, opacity 0.3s;
  transition: visibility 0s, opacity 0.3s;
  font-family: Arial, Helvetica, sans-serif; }
  .primary-nav p {
    padding-top: 2em;
    /*color: #DEF2F8;*/
    color: #000;
    text-align: center;
    font-size: 0.9em; }
  .primary-nav li {
    margin: 0.8em 0;
    text-align: center;
    text-transform: capitalize;
    color: #fff;
    display: flex;
    justify-content: center; }
    .primary-nav li div.language-wrap {
      position: absolute; }
      .primary-nav li div.language-wrap::after {
        content: "";
        position: absolute;
        top: 11px;
        right: 16px;
        width: 6px;
        height: 6px;
        border-right: 1px solid #666;
        border-bottom: 1px solid #666;
        transform: rotate(45deg); }
      .primary-nav li div.language-wrap div.gtranslate_wrapper a {
        font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
        background: #fff;
        border: 1px solid #000;
        border-radius: 3.0rem;
        padding: .25rem 0;
        min-width: 4.0rem;
        display: inline-block;
        text-align: center;
        font-size: 1.0rem; }
      .primary-nav li div.language-wrap div.gtranslate_wrapper a.notranslate {
        background: #fff;
        color: #000; }
      .primary-nav li div.language-wrap div.gtranslate_wrapper a.gt-current-lang {
        background: #000;
        color: #fff; }
      .primary-nav li div.language-wrap select {
        -webkit-appearance: none;
        appearance: none;
        outline: none; }
        .primary-nav li div.language-wrap select option {
          font-family: 'Noto Serif JP', serif;
          font-weight: normal; }
      .primary-nav li div.language-wrap select.gt_selector {
        padding: .35rem 2.0rem .35rem 1.0rem;
        background: #fff;
        border: 1px solid #DBD3D3;
        border-radius: 1.5rem;
        color: #333;
        font-size: .9em;
        font-family: 'Noto Serif JP', serif; }
  .primary-nav a {
    color: #000;
    font-size: 18px;
    font-size: 1.3em;
    line-height: 1.1em;
    background: #fff;
    display: inline-block;
    padding: 5px 8px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: color 0.2s;
    -moz-transition: color 0.2s;
    transition: color 0.2s;
    font-weight: bold; }
    .primary-nav a:hover {
      color: #999;
      text-decoration: none; }
    .primary-nav a img {
      display: inline;
      max-width: 200px;
      vertical-align: bottom; }
  .no-touch .primary-nav a:hover {
    color: #f2f597; }
  .primary-nav.fade-in {
    /* navigation visible at the end of the circle animation */
    visibility: visible;
    opacity: 1; }
  @media screen and (max-width: 1350px) {
    .primary-nav {
      padding: 50px 5%; } }
  @media screen and (max-width: 640px) {
    .primary-nav {
      top: -16px; }
      .primary-nav p {
        padding-top: 0.5em;
        font-size: 0.75em; }
      .primary-nav li {
        margin: 0.5em 0;
        line-height: 1.6; }
      .primary-nav a {
        font-size: 1em; } }

.overlay-nav, .overlay-content {
  /* containers of the 2 main rounded backgrounds - these containers are used to position the rounded bgs behind the menu icon */
  z-index: 6;
  position: fixed;
  top: 18px;
  right: 5%;
  height: 4px;
  width: 4px;
  -webkit-transform: translateX(-20px) translateY(20px);
  -moz-transform: translateX(-20px) translateY(20px);
  -ms-transform: translateX(-20px) translateY(20px);
  -o-transform: translateX(-20px) translateY(20px);
  transform: translateX(-20px) translateY(20px); }
  .overlay-nav span, .overlay-content span {
    background-color: #fff7cc;
    display: inline-block;
    position: absolute;
    border-radius: 50%;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0); }
  .overlay-nav.is-hidden, .is-hidden.overlay-content {
    /* background fades out at the end of the animation */
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .3s 0s, visibility 0s .3s;
    -moz-transition: opacity .3s 0s, visibility 0s .3s;
    transition: opacity .3s 0s, visibility 0s .3s; }

.overlay-content {
  z-index: 9; }
  .overlay-content span {
    background-color: #fff; }

footer {
  /*background-image: url(../img/bg_img.png);*/
  background-size: auto auto;
  background-repeat: repeat;
  background-position: center center;
  background-color: #fff;
  width: 100%;
  clear: both;
  padding: 70px 0 0;
  text-align: center; }
  @media screen and (max-width: 640px) {
    footer {
      background-size: 150% auto; } }
  footer p {
    font-size: .85em;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    color: #000;
    height: 84px;
    line-height: 84px;
    /*background:#0059CA;*/
    letter-spacing: 0; }
  footer .bnrwrap {
    padding-bottom: 65px;
    display: flex;
    align-items: center;
    justify-content: center; }
    footer .bnrwrap img {
      margin: 0 15px;
      max-width: 256px;
      border: 1px solid #999; }
    footer .bnrwrap a:hover {
      opacity: .85; }
  @media screen and (max-width: 640px) {
    footer {
      padding: 40px 0 0; }
      footer .bnrwrap {
        padding-bottom: 20px;
        flex-wrap: wrap; }
        footer .bnrwrap img {
          display: inline-block; }
          footer .bnrwrap img:first-child {
            margin-right: 0;
            margin-left: 0;
            margin-bottom: 16px; }
      footer p {
        height: 60px;
        line-height: 60px;
        font-size: 11px;
        letter-spacing: 0; } }

.page__top {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 70px;
  height: 70px;
  font-size: 23px;
  line-height: 70px;
  text-align: center;
  z-index: 3;
  border-radius: 35px;
  overflow: hidden; }
  .page__top a {
    display: block;
    /*color: #0059CA;
    background: #DEF2F8;*/
    color: #603813;
    background: #fff7cc; }
    .page__top a:hover {
      background: #603813;
      color: #fff;
      text-decoration: none; }
  @media screen and (max-width: 640px) {
    .page__top {
      width: 50px;
      height: 50px;
      line-height: 50px; } }

.mdblock {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .mdblock {
      display: block !important; } }

@media screen and (max-width: 768px) {
  .mdnone {
    display: none; } }

.spblock {
  display: none !important; }
  @media screen and (max-width: 640px) {
    .spblock {
      display: block !important; } }

@media screen and (max-width: 640px) {
  .spnone {
    display: none; } }

br.spbr {
  display: none; }
  @media screen and (max-width: 640px) {
    br.spbr {
      display: block; } }

/* -------------------------------- 
pages style
-------------------------------- */
/*all pages*/
.content {
  width: 100%;
  margin: 0 auto;
  z-index: 1;
  display: block; }

/* -------------------------------- 
index
-------------------------------- */
body.index .swiper-container, body.index .swiper-container-sp {
  position: relative;
  text-align: center; }
  body.index .swiper-container .swiper-wrapper img, body.index .swiper-container-sp .swiper-wrapper img {
    width: 100%; }
body.index .slideover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 528px;
  height: auto;
  margin: auto;
  z-index: 2;
  mix-blend-mode: normal; }
body.index .slideover2 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 528px;
  height: auto;
  margin: auto;
  z-index: 2;
  mix-blend-mode: normal; }
@media screen and (max-width: 1024px) {
  body.index .slideover, body.index .slideover2 {
    width: 400px; } }
@media screen and (max-width: 640px) {
  body.index .slideover, body.index .slideover2 {
    width: 320px; } }

/*access title*/
body.index .titlewrap {
  background-image: url(../img/bg_img.png);
  background-size: auto auto;
  background-repeat: repeat;
  background-position: center center;
  background-color: #fff; }
  @media screen and (max-width: 640px) {
    body.index .titlewrap {
      background-size: 150% auto; } }
  body.index .titlewrap .inner {
    position: relative;
    padding: 100px 0 60px;
    margin: 0 auto;
    width: 100%;
    max-width: 1224px;
    min-height: 400px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 1260px) {
      body.index .titlewrap .inner {
        flex-wrap: wrap;
        justify-content: center;
        padding: 80px 0 60px; } }
    @media screen and (max-width: 640px) {
      body.index .titlewrap .inner {
        padding: 40px 0; } }
    body.index .titlewrap .inner .title_img {
      padding-bottom: 3.5%; }
      @media screen and (max-width: 1260px) {
        body.index .titlewrap .inner .title_img {
          width: 100%;
          padding-bottom: 40px; }
          body.index .titlewrap .inner .title_img img {
            margin: 0 auto; } }
      @media screen and (max-width: 1024px) {
        body.index .titlewrap .inner .title_img img {
          width: 500px;
          max-width: 100%; } }
      @media screen and (max-width: 640px) {
        body.index .titlewrap .inner .title_img img {
          max-width: 80%; } }
    body.index .titlewrap .inner .title_center {
      letter-spacing: 0.02em;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      font-size: 18px;
      line-height: 2.2em;
      font-weight: bold;
      font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "メイリオ", Meiryo, serif;
      margin: 0;
      width: 610px; }
      @media screen and (max-width: 1260px) {
        body.index .titlewrap .inner .title_center {
          width: auto; } }
      body.index .titlewrap .inner .title_center span {
        display: inline;
        background: linear-gradient(transparent 0%, #fff 0%);
        padding: 9px 2px 0; }
        body.index .titlewrap .inner .title_center span.bottom_space {
          padding: 9px 2px 0.5em; }
      body.index .titlewrap .inner .title_center h3 {
        font-size: 34px;
        /*color: $theme_cha;*/
        font-weight: 600;
        margin-left: 1em;
        line-height: 1.7; }
        body.index .titlewrap .inner .title_center h3 span {
          display: inline;
          background: linear-gradient(transparent 0%, #fff 0%);
          padding: 9px 0 0; }
      @media screen and (max-width: 1024px) {
        body.index .titlewrap .inner .title_center {
          font-size: 16px; }
          body.index .titlewrap .inner .title_center h3 {
            font-size: 30px; } }
      @media screen and (max-width: 640px) {
        body.index .titlewrap .inner .title_center {
          float: none;
          margin: 0 auto;
          width: 100%;
          max-width: 540px;
          -webkit-writing-mode: horizontal-tb;
          -ms-writing-mode: horizontal-tb;
          writing-mode: horizontal-tb;
          font-size: 14px;
          line-height: 1.6;
          font-weight: normal;
          text-align: center; }
          body.index .titlewrap .inner .title_center span {
            line-height: 2.5em;
            padding: 4px 6px; }
            body.index .titlewrap .inner .title_center span.bottom_space {
              padding: 4px 6px; }
          body.index .titlewrap .inner .title_center h3 {
            font-size: 32px;
            margin-left: 0;
            margin-bottom: 14px;
            font-weight: bold;
            line-height: 2em; }
            body.index .titlewrap .inner .title_center h3 span {
              padding: 4px 6px;
              line-height: 2em; } }

/*main*/
body.index main.content {
  padding: 60px 0 30px 0;
  overflow: hidden; }
  body.index main.content img.title {
    width: 382px;
    margin: 0 auto 68px; }
    @media screen and (max-width: 640px) {
      body.index main.content img.title {
        width: 267px;
        margin: 50px auto 20px; } }
  body.index main.content .special_wrap {
    width: 100%;
    max-width: 1365px;
    margin: 0 auto;
    padding: 0;
    margin: 40px auto 30px; }
    @media screen and (max-width: 1500px) {
      body.index main.content .special_wrap {
        max-width: 1100px; } }
    @media screen and (max-width: 1260px) {
      body.index main.content .special_wrap {
        max-width: 80%; } }
    body.index main.content .special_wrap ul li {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 0 0 90px; }
      @media screen and (max-width: 640px) {
        body.index main.content .special_wrap ul li {
          flex-wrap: wrap; } }
      body.index main.content .special_wrap ul li .img {
        width: 684px;
        position: relative;
        padding-bottom: 55px; }
        @media screen and (max-width: 1500px) {
          body.index main.content .special_wrap ul li .img {
            width: 547px;
            padding-bottom: 44px; } }
        @media screen and (max-width: 1260px) {
          body.index main.content .special_wrap ul li .img {
            width: 49.727%;
            padding-bottom: 35px; } }
        @media screen and (max-width: 640px) {
          body.index main.content .special_wrap ul li .img {
            width: 100%;
            padding-bottom: 15px; } }
        body.index main.content .special_wrap ul li .img img {
          width: 100%;
          height: auto; }
        body.index main.content .special_wrap ul li .img::before {
          content: '';
          background: #000;
          opacity: 0.3;
          position: absolute;
          top: 55px;
          left: -80px;
          display: block;
          width: 100%;
          height: calc(100% - 55px);
          z-index: -1; }
          @media screen and (max-width: 1500px) {
            body.index main.content .special_wrap ul li .img::before {
              top: 44px;
              left: -64px;
              height: calc(100% - 44px); } }
          @media screen and (max-width: 1260px) {
            body.index main.content .special_wrap ul li .img::before {
              top: 35px;
              left: -11.7%;
              height: calc(100% - 35px); } }
          @media screen and (max-width: 640px) {
            body.index main.content .special_wrap ul li .img::before {
              top: 15px;
              left: -7%;
              height: calc(100% - 15px); } }
      body.index main.content .special_wrap ul li .text {
        width: calc(100% - 684px);
        padding: 0 0 0 70px;
        position: relative; }
        @media screen and (max-width: 1500px) {
          body.index main.content .special_wrap ul li .text {
            padding: 0 0 0 56px;
            width: calc(100% - 547px); } }
        @media screen and (max-width: 1260px) {
          body.index main.content .special_wrap ul li .text {
            width: calc(100% - 49.727%);
            padding: 0 0 0 5%; } }
        @media screen and (max-width: 640px) {
          body.index main.content .special_wrap ul li .text {
            width: 100%;
            padding-top: 30px; } }
        body.index main.content .special_wrap ul li .text .bg_img {
          position: absolute;
          z-index: -1;
          top: 0;
          left: 0; }
        body.index main.content .special_wrap ul li .text p.title_en {
          max-width: 407px;
          margin: 0 0 30px; }
          @media screen and (max-width: 1500px) {
            body.index main.content .special_wrap ul li .text p.title_en {
              max-width: 326px; } }
          body.index main.content .special_wrap ul li .text p.title_en img {
            width: 100%;
            height: auto; }
        body.index main.content .special_wrap ul li .text p.txt {
          font-size: 21px;
          line-height: 1.952em;
          letter-spacing: 0.14em;
          margin: 0 0 1.4em 0; }
          @media screen and (max-width: 1500px) {
            body.index main.content .special_wrap ul li .text p.txt {
              font-size: 17px; } }
          @media screen and (max-width: 1260px) {
            body.index main.content .special_wrap ul li .text p.txt {
              font-size: 14px; } }
        body.index main.content .special_wrap ul li .text p.title_jp {
          font-weight: 800;
          font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
          font-size: 32px;
          display: inline-block;
          position: relative; }
          @media screen and (max-width: 1500px) {
            body.index main.content .special_wrap ul li .text p.title_jp {
              font-size: 26px; } }
          @media screen and (max-width: 1260px) {
            body.index main.content .special_wrap ul li .text p.title_jp {
              font-size: 21px; } }
          body.index main.content .special_wrap ul li .text p.title_jp::before {
            content: '';
            width: 100%;
            position: absolute;
            background: #FFFF97;
            height: 21px;
            bottom: -8px;
            left: 0;
            z-index: -1; }
            @media screen and (max-width: 1500px) {
              body.index main.content .special_wrap ul li .text p.title_jp::before {
                height: 17px; } }
            @media screen and (max-width: 1260px) {
              body.index main.content .special_wrap ul li .text p.title_jp::before {
                height: 14px; } }
        body.index main.content .special_wrap ul li .text p.link {
          margin: 35px 0 0 0; }
          body.index main.content .special_wrap ul li .text p.link a {
            display: inline-block;
            height: 60px;
            line-height: 56px;
            width: 240px;
            text-align: center;
            font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
            background: #000;
            color: #fff;
            border-radius: 30px;
            font-weight: bold;
            border: 2px solid #000;
            transition: .2s; }
            @media screen and (max-width: 1500px) {
              body.index main.content .special_wrap ul li .text p.link a {
                height: 48px;
                line-height: 44px;
                font-size: 0.8em;
                width: 192px; } }
            @media screen and (max-width: 1260px) {
              body.index main.content .special_wrap ul li .text p.link a {
                height: 39px;
                line-height: 35px;
                font-size: 0.8em;
                width: 154px; } }
            body.index main.content .special_wrap ul li .text p.link a::after {
              font-family: FontAwesome;
              content: "\f0da";
              margin-left: 0.2em; }
      body.index main.content .special_wrap ul li.snow .img::before {
        background: #0080FF; }
      body.index main.content .special_wrap ul li.snow .text .bg_img {
        top: 15%;
        left: 57%;
        width: 51.248%; }
      body.index main.content .special_wrap ul li.snow .text p.title_jp {
        color: #0080FF; }
      body.index main.content .special_wrap ul li.snow .text p.link a {
        background: #0080FF;
        border-color: #0080FF; }
        body.index main.content .special_wrap ul li.snow .text p.link a:hover {
          background: none;
          color: #0080FF; }
      body.index main.content .special_wrap ul li.hotspring .img::before {
        left: auto;
        right: -80px;
        background: #22A173; }
        @media screen and (max-width: 1500px) {
          body.index main.content .special_wrap ul li.hotspring .img::before {
            right: -64px; } }
        @media screen and (max-width: 1260px) {
          body.index main.content .special_wrap ul li.hotspring .img::before {
            right: -11.7%; } }
        @media screen and (max-width: 640px) {
          body.index main.content .special_wrap ul li.hotspring .img::before {
            right: -7%; } }
      @media screen and (max-width: 640px) {
        body.index main.content .special_wrap ul li.hotspring .img {
          order: 1; } }
      @media screen and (max-width: 640px) {
        body.index main.content .special_wrap ul li.hotspring .text {
          order: 2; } }
      body.index main.content .special_wrap ul li.hotspring .text .bg_img {
        top: -6%;
        left: 58.5%;
        width: 53.744%; }
      body.index main.content .special_wrap ul li.hotspring .text p.title_jp {
        color: #22A173; }
      body.index main.content .special_wrap ul li.hotspring .text p.link a {
        background: #22A173;
        border-color: #22A173; }
        body.index main.content .special_wrap ul li.hotspring .text p.link a:hover {
          background: none;
          color: #22A173; }
      body.index main.content .special_wrap ul li.taste .img::before {
        background: #FF6848; }
      body.index main.content .special_wrap ul li.taste .text .bg_img {
        left: 54%;
        width: 44.2%; }
      body.index main.content .special_wrap ul li.taste .text p.title_jp {
        color: #FF6848; }
      body.index main.content .special_wrap ul li.taste .text p.link a {
        background: #FF6848;
        border-color: #FF6848; }
        body.index main.content .special_wrap ul li.taste .text p.link a:hover {
          background: none;
          color: #FF6848; }
      body.index main.content .special_wrap ul li.ski .img::before {
        left: auto;
        right: -80px;
        background: #3985FF; }
        @media screen and (max-width: 1500px) {
          body.index main.content .special_wrap ul li.ski .img::before {
            right: -64px; } }
        @media screen and (max-width: 1260px) {
          body.index main.content .special_wrap ul li.ski .img::before {
            right: -11.7%; } }
        @media screen and (max-width: 640px) {
          body.index main.content .special_wrap ul li.ski .img::before {
            right: -7%; } }
      @media screen and (max-width: 640px) {
        body.index main.content .special_wrap ul li.ski .img {
          order: 1; } }
      @media screen and (max-width: 640px) {
        body.index main.content .special_wrap ul li.ski .text {
          order: 2; } }
      body.index main.content .special_wrap ul li.ski .text .bg_img {
        left: 54%;
        top: -25%;
        width: 56.975%; }
      body.index main.content .special_wrap ul li.ski .text p.title_jp {
        color: #3985FF; }
      body.index main.content .special_wrap ul li.ski .text p.link a {
        background: #3985FF;
        border-color: #3985FF; }
        body.index main.content .special_wrap ul li.ski .text p.link a:hover {
          background: none;
          color: #3985FF; }

/*information*/
body.index .infowrap {
  padding: 70px 0 60px;
  margin: 0 auto;
  background: rgba(234, 233, 230, 0.5); }
  body.index .infowrap img {
    margin: 0 auto 40px;
    text-align: center;
    width: 278px; }
    @media screen and (max-width: 640px) {
      body.index .infowrap img {
        width: 195px; } }
  body.index .infowrap .inner {
    max-width: 1120px;
    margin: 30px auto 0; }
    @media screen and (max-width: 1260px) {
      body.index .infowrap .inner {
        max-width: 896px; } }
@media screen and (max-width: 1024px) {
  body.index div.infolist {
    width: 80%;
    margin: 0 auto; } }
body.index div.infolist ul {
  margin-top: 1em; }
  body.index div.infolist ul li {
    display: flex;
    align-items: top;
    line-height: 1.5;
    padding: 1.4em 20px;
    border-bottom: 1px dotted #111; }
    body.index div.infolist ul li:first-child {
      border-top: 1px dotted #111; }
    @media screen and (max-width: 640px) {
      body.index div.infolist ul li {
        display: block;
        text-align: left; } }
    body.index div.infolist ul li p {
      margin: 0;
      line-height: 1.7; }
      body.index div.infolist ul li p.date {
        margin-right: 40px;
        width: 140px; }
        @media screen and (max-width: 640px) {
          body.index div.infolist ul li p.date {
            display: inline-block;
            margin-right: 8px;
            width: auto; } }
      body.index div.infolist ul li p.com {
        width: calc(100% - 160px);
        overflow: hidden;
        text-align: left; }
        @media screen and (max-width: 640px) {
          body.index div.infolist ul li p.com {
            overflow: visible;
            text-overflow: clip;
            white-space: normal;
            margin-top: .5em;
            width: 100%; } }
        body.index div.infolist ul li p.com a {
          text-decoration: underline; }
          body.index div.infolist ul li p.com a:hover {
            text-decoration: none; }

/*other_wrap*/
body.index .other_wrap {
  width: 100%;
  max-width: 1420px;
  padding: 70px 30px 0 30px;
  margin: 0 auto 0; }
  body.index .other_wrap ul {
    display: flex;
    margin: 0 auto;
    justify-content: space-between; }
    @media screen and (max-width: 640px) {
      body.index .other_wrap ul {
        display: block; } }
    body.index .other_wrap ul li {
      width: calc(33.33333% - 13px);
      height: auto;
      background-repeat: no-repeat;
      background-size: 110% auto;
      background-position: center;
      transition: .4s; }
      @media screen and (max-width: 640px) {
        body.index .other_wrap ul li {
          width: 100%;
          /**/ } }
      body.index .other_wrap ul li:hover {
        background-size: 120% auto;
        transition: .8s; }
      body.index .other_wrap ul li:nth-child(1) {
        background-image: url("../img/other01_img.png"); }
      body.index .other_wrap ul li:nth-child(2) {
        background-image: url("../img/other02_img.png"); }
      body.index .other_wrap ul li:nth-child(3) {
        background-image: url("../img/other03_img.png"); }
    body.index .other_wrap ul li a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.25);
      transition: 0.8s; }
      body.index .other_wrap ul li a span {
        display: inline-block;
        color: #fff;
        font-size: 1.4em;
        font-weight: bold;
        transition: .4s;
        text-align: center; }
        body.index .other_wrap ul li a span img {
          width: 100%;
          margin: 0 auto; }
      body.index .other_wrap ul li a:hover {
        background: rgba(0, 0, 0, 0);
        opacity: 1;
        transition: 0.8s; }

/*access btn*/
body.index .accessbtnwrap {
  padding: 80px 0;
  background-image: url(../img/bg_accessbtn.jpg); }
  @media screen and (max-width: 640px) {
    body.index .accessbtnwrap {
      padding: 50px 0; } }
  body.index .accessbtnwrap a {
    display: block;
    margin: 0 auto;
    width: 250px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background: #fff7cc; }
    body.index .accessbtnwrap a:hover {
      opacity: .85; }
  body.index .accessbtnwrap .inner {
    width: 100%;
    max-width: 730px;
    margin: 0 auto;
    position: relative; }
    body.index .accessbtnwrap .inner img.access_k1 {
      position: absolute;
      top: 0;
      left: 0;
      width: 150px; }
    body.index .accessbtnwrap .inner img.access_k2 {
      position: absolute;
      top: 0;
      right: 0;
      width: 150px; }

/*instagram*/
body.index .instawrap {
  padding: 50px 0;
  /*background-image: url(../img/bg_insta.jpg);*/
  background-position: center;
  background-size: cover;
  text-align: center; }
  @media screen and (max-width: 640px) {
    body.index .instawrap {
      padding: 50px 0; } }
  body.index .instawrap a {
    display: inline-block;
    margin: 0 auto;
    width: 316px;
    padding: 0 .5em;
    box-sizing: content-box; }
    @media screen and (max-width: 640px) {
      body.index .instawrap a {
        width: 250px;
        margin: .5em 0; } }
    body.index .instawrap a img {
      width: 100%; }
    body.index .instawrap a:hover {
      opacity: .85; }

/*app*/
body.index .appwrap {
  background: #EFEFEF; }
  body.index .appwrap .inner {
    padding: 60px 0;
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
    overflow: hidden; }
    body.index .appwrap .inner .fl img {
      width: 100%; }
    body.index .appwrap .inner .fl h4 {
      font-size: 1.2em;
      color: #fff7cc;
      margin: 15px 0 10px;
      font-weight: bold; }
    body.index .appwrap .inner .fl p {
      font-size: 14px;
      line-height: 1.5; }
    body.index .appwrap .inner .fr .chabold {
      color: #fff7cc;
      margin-bottom: 10px;
      font-weight: bold; }
    body.index .appwrap .inner .fr .bnr_wrap {
      margin-bottom: 10px; }
      body.index .appwrap .inner .fr .bnr_wrap img {
        display: inline-block; }
        body.index .appwrap .inner .fr .bnr_wrap img:first-child {
          margin-right: 8px; }
      body.index .appwrap .inner .fr .bnr_wrap a:hover {
        opacity: .85; }
    body.index .appwrap .inner .fr p.kometxt {
      font-size: 14px;
      line-height: 1.5; }
  @media screen and (max-width: 768px) {
    body.index .appwrap .fl, body.index .appwrap .fr {
      float: none;
      width: 100%; }
    body.index .appwrap .fr {
      margin-top: 30px; }
      body.index .appwrap .fr .bnr_wrap {
        margin-bottom: 10px; }
        body.index .appwrap .fr .bnr_wrap img {
          display: inline-block;
          width: 45%;
          max-width: 150px; }
          body.index .appwrap .fr .bnr_wrap img:first-child {
            margin-right: 8px; }
      body.index .appwrap .fr p.kometxt {
        font-size: 12px;
        line-height: 1.5; } }
  @media screen and (max-width: 640px) {
    body.index .appwrap .inner {
      padding: 50px 0; } }

/*backtohome*/
.homebtnwrap {
  padding: 50px 0;
  background: url(../img/bg_btt.png); }
  @media screen and (max-width: 640px) {
    .homebtnwrap {
      padding: 30px 0; } }
  .homebtnwrap a {
    display: block;
    margin: 0 auto;
    width: 250px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background: #caa178; }
    .homebtnwrap a:hover {
      background: #ded0c2; }

/*backtohome*/
.access2btnwrap {
  padding: 50px 0;
  background: url(../img/bg_a2b.jpg); }
  @media screen and (max-width: 640px) {
    .access2btnwrap {
      padding: 30px 0; } }
  .access2btnwrap a {
    display: block;
    margin: 0 auto;
    width: 250px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    color: #7fca82;
    font-weight: bold;
    background: #fff; }
    .access2btnwrap a:hover {
      background: #f3ffe5; }

/* -------------------------------- 
Sub components 
-------------------------------- */
body.sub span.cancel {
  font-weight: normal;
  font-size: .85em;
  color: #f00;
  padding-left: .5em; }

/*movie*/
body.sub main.movie_main {
  text-align: center; }
  body.sub main.movie_main .sub_head {
    background-image: url("../img/sub/movie/movie_header.png");
    background-position: center;
    justify-content: center;
    margin-bottom: 50px;
    height: 356px; }
    body.sub main.movie_main .sub_head h2 {
      text-align: center;
      margin: 0 auto;
      padding: 0;
      height: calc(100% + 10px); }
      body.sub main.movie_main .sub_head h2 img {
        display: inline-block;
        width: auto;
        height: 100%; }
  body.sub main.movie_main h3 {
    display: inline-block;
    position: relative;
    height: 50px;
    line-height: 50px;
    vertical-align: middle;
    text-align: center;
    padding: 0 30px;
    font-size: 18px;
    /*background: $theme_cha;*/
    background: #61380E;
    color: #fff7cc;
    font-weight: bold;
    box-sizing: border-box; }
    body.sub main.movie_main h3:before, body.sub main.movie_main h3:after {
      position: absolute;
      content: '';
      width: 0px;
      height: 0px;
      z-index: 1; }
    body.sub main.movie_main h3:before {
      top: 0;
      left: 0;
      border-width: 25px 0px 25px 15px;
      border-color: transparent transparent transparent #fff;
      border-style: solid; }
    body.sub main.movie_main h3:after {
      top: 0;
      right: 0;
      border-width: 25px 15px 25px 0px;
      border-color: transparent #fff transparent transparent;
      border-style: solid; }
    @media screen and (max-width: 640px) {
      body.sub main.movie_main h3 {
        display: block;
        height: auto;
        width: 90%;
        margin: 0 auto;
        line-height: 1.4;
        font-size: 14px;
        padding: 8px 16px; }
        body.sub main.movie_main h3:before {
          border: none; }
        body.sub main.movie_main h3:after {
          border: none; } }
  body.sub main.movie_main .youtube_wrap {
    width: 90%;
    max-width: 560px;
    margin: 16px auto 80px; }
  body.sub main.movie_main .youtube_wrap_ul {
    width: 90%;
    max-width: 1140px;
    margin: 16px auto 80px;
    overflow: hidden; }
    body.sub main.movie_main .youtube_wrap_ul li {
      float: left;
      width: calc(50% - 10px);
      margin-top: 24px;
      margin-right: 20px; }
      body.sub main.movie_main .youtube_wrap_ul li:nth-child(2n) {
        margin-right: 0px; }
      body.sub main.movie_main .youtube_wrap_ul li p {
        margin-bottom: 6px; }
    @media screen and (max-width: 768px) {
      body.sub main.movie_main .youtube_wrap_ul {
        max-width: 560px; }
        body.sub main.movie_main .youtube_wrap_ul li {
          float: none;
          display: block;
          width: 100%; }
        body.sub main.movie_main .youtube_wrap_ul p {
          text-align: center; } }
    @media screen and (max-width: 640px) {
      body.sub main.movie_main .youtube_wrap_ul {
        margin: 0 auto 80px; } }
  body.sub main.movie_main .youtube {
    position: relative;
    padding-bottom: 56.25%; }
  body.sub main.movie_main .youtube iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }

/*access*/
body.sub main.access_main {
  /*padding:130px 20px 50px;*/ }
  body.sub main.access_main .spnone {
    margin: 0 auto;
    width: 100%;
    max-width: 1100px; }
    body.sub main.access_main .spnone img {
      display: block;
      margin-bottom: 30px;
      width: 100%; }
      body.sub main.access_main .spnone img:last-child {
        margin-bottom: 50px; }
  body.sub main.access_main .spblock {
    margin: 0 auto 40px;
    width: 100%; }
    body.sub main.access_main .spblock img {
      display: block;
      margin-bottom: 10px;
      width: 100%; }
      body.sub main.access_main .spblock img:last-child {
        margin-bottom: 0; }
      body.sub main.access_main .spblock img.sptitle {
        margin: 0 auto 20px;
        max-width: 150px; }

/*event*/
body.sub main.event_main .txt {
  margin: 30px;
  text-align: center; }
body.sub main.event_main .event_wrap {
  margin: 50px auto;
  width: 90%;
  max-width: 728px; }
  body.sub main.event_main .event_wrap h3 {
    display: block;
    width: 160px;
    margin: 0 auto;
    padding: 10px 0;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background: #38A1DB; }
    body.sub main.event_main .event_wrap h3.month1 {
      background: #3176BC; }
    body.sub main.event_main .event_wrap h3.month2 {
      background: #9079B6; }
    body.sub main.event_main .event_wrap h3.month3 {
      background: #CC6875; }
  body.sub main.event_main .event_wrap table.event_tbl {
    margin: 12px auto 60px;
    width: 100%;
    text-align: left; }
    body.sub main.event_main .event_wrap table.event_tbl td {
      padding: .5em 0.7em;
      vertical-align: top;
      line-height: 1.5;
      font-size: 15px; }
      body.sub main.event_main .event_wrap table.event_tbl td:first-child {
        width: 12.5em; }
      body.sub main.event_main .event_wrap table.event_tbl td:nth-last-child(2) {
        color: #38A1DB;
        font-weight: bold;
        text-indent: -1em;
        padding-left: 1em;
        padding-right: 0.8em; }
        body.sub main.event_main .event_wrap table.event_tbl td:nth-last-child(2) a {
          text-decoration: underline;
          color: #38A1DB; }
          body.sub main.event_main .event_wrap table.event_tbl td:nth-last-child(2) a:hover {
            opacity: .85; }
        body.sub main.event_main .event_wrap table.event_tbl td:nth-last-child(2) span {
          font-weight: normal;
          font-size: .85em;
          color: #000; }
        @media screen and (max-width: 640px) {
          body.sub main.event_main .event_wrap table.event_tbl td:nth-last-child(2) {
            padding-left: 2em; }
            body.sub main.event_main .event_wrap table.event_tbl td:nth-last-child(2) span {
              text-indent: -0.4em; } }
      body.sub main.event_main .event_wrap table.event_tbl td:last-child {
        width: 14.5em;
        font-size: 0.75em;
        padding: 0.8em 0.5em 0.8em 1em;
        letter-spacing: 0;
        line-height: 1.2;
        position: relative;
                        /*span.cancel {
							font-weight: normal;
							font-size: .85em;
							color: #f00;
							padding-left: .5em;
						}*/ }
        body.sub main.event_main .event_wrap table.event_tbl td:last-child span.cancel {
          font-weight: normal;
          padding: 0;
          font-size: 1em;
          color: #f00; }
        body.sub main.event_main .event_wrap table.event_tbl td:last-child::before {
          content: '';
          position: absolute;
          left: 0;
          top: 0.8em;
          height: calc(100% - 1.6em);
          width: 1px;
          background: #38A1DB; }
        @media screen and (max-width: 640px) {
          body.sub main.event_main .event_wrap table.event_tbl td:last-child {
            padding: 0 1.25em 1.25em 2.5em;
            width: 100%; }
            body.sub main.event_main .event_wrap table.event_tbl td:last-child::before {
              display: none; } }
        body.sub main.event_main .event_wrap table.event_tbl td:last-child dl {
          overflow: hidden;
          line-height: 1.2em; }
          body.sub main.event_main .event_wrap table.event_tbl td:last-child dl dt {
            float: left;
            padding-bottom: 0.4em;
            width: 3em; }
          body.sub main.event_main .event_wrap table.event_tbl td:last-child dl dd {
            width: calc(100% - 3em);
            margin-left: 3em;
            padding-bottom: 0.4em; }
      @media screen and (max-width: 640px) {
        body.sub main.event_main .event_wrap table.event_tbl td {
          display: block;
          font-size: 14px; }
          body.sub main.event_main .event_wrap table.event_tbl td:first-child {
            padding: .5em 1em 0;
            width: 100%; }
          body.sub main.event_main .event_wrap table.event_tbl td span {
            display: block; } }
    body.sub main.event_main .event_wrap table.event_tbl tr:nth-child(odd) {
      background: #e9f5fd; }
  body.sub main.event_main .event_wrap table.month1_tbl td:nth-last-child(2) {
    color: #3176BC;
    						/*span.biko {
                                
                                border: 2px solid #3176BC;
                                color: #3176BC;
                            }*/ }
    body.sub main.event_main .event_wrap table.month1_tbl td:nth-last-child(2) a {
      color: #3176BC; }
  body.sub main.event_main .event_wrap table.month1_tbl td:last-child::before {
    background: #3176BC; }
  body.sub main.event_main .event_wrap table.month1_tbl tr:nth-child(odd) {
    background: #DCE2F3; }
  body.sub main.event_main .event_wrap table.month2_tbl td:nth-last-child(2) {
    color: #9079B6;
    						/*span.biko {
                                border: 2px solid #9079B6;
                                color: #9079B6;
                            }*/ }
    body.sub main.event_main .event_wrap table.month2_tbl td:nth-last-child(2) a {
      color: #9079B6; }
  body.sub main.event_main .event_wrap table.month2_tbl td:last-child::before {
    background: #9079B6; }
  body.sub main.event_main .event_wrap table.month2_tbl tr:nth-child(odd) {
    background: #E9E5F2; }
  body.sub main.event_main .event_wrap table.month3_tbl td:nth-last-child(2) {
    color: #CC6875;
    						/*span.biko {
                                border: 2px solid #CC6875;
                                color: #CC6875;
                            }*/ }
    body.sub main.event_main .event_wrap table.month3_tbl td:nth-last-child(2) a {
      color: #CC6875; }
  body.sub main.event_main .event_wrap table.month3_tbl td:last-child::before {
    background: #CC6875; }
  body.sub main.event_main .event_wrap table.month3_tbl tr:nth-child(odd) {
    background: #F5E4E3; }

/*feature*/
body.sub {
  /*h3.murayama {
  	background-image: url("../img/sub/feature/title_back_murayama.png");
  }*/ }
  body.sub main.feature_main .sub_head {
    background-image: url("../img/sub/feature/ski_header.png");
    background-position: center;
    justify-content: center;
    margin-bottom: 42px;
    height: 356px; }
    body.sub main.feature_main .sub_head h2 {
      text-align: center;
      margin: 0 auto;
      padding: 0;
      height: 100%; }
      body.sub main.feature_main .sub_head h2 img {
        display: inline-block;
        width: auto;
        height: 100%; }
  body.sub main.feature_main .btn_next_prev {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    width: 90%;
    margin: 0 auto 30px;
    padding: 0 12px 12px;
    font-weight: bold; }
    body.sub main.feature_main .btn_next_prev a:first-child {
      margin-right: 8px; }
    body.sub main.feature_main .btn_next_prev a.btn_prev {
      position: relative;
      display: inline-block;
      padding: 0 16px 0 8px;
      background: #666;
      border-top-right-radius: 3px;
      border-bottom-right-radius: 3px;
      font-size: 14px;
      color: #fff;
      line-height: 36px; }
      body.sub main.feature_main .btn_next_prev a.btn_prev::before {
        content: "";
        position: absolute;
        top: 0;
        left: -18px;
        border-right: 18px solid #666;
        border-top: 18px solid transparent;
        border-bottom: 18px solid transparent;
        transform-origin: right top;
        transform: scaleX(0.9); }
      body.sub main.feature_main .btn_next_prev a.btn_prev:hover {
        background: #222; }
        body.sub main.feature_main .btn_next_prev a.btn_prev:hover::before {
          border-right: 18px solid #222; }
    body.sub main.feature_main .btn_next_prev a.btn_next {
      position: relative;
      display: inline-block;
      padding: 0 8px 0 16px;
      background: #666;
      border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
      font-size: 14px;
      color: #fff;
      line-height: 36px; }
      body.sub main.feature_main .btn_next_prev a.btn_next::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        border-right: 18px solid #666;
        border-top: 18px solid transparent;
        border-bottom: 18px solid transparent;
        transform-origin: right top;
        transform: scaleX(-1); }
      body.sub main.feature_main .btn_next_prev a.btn_next:hover {
        background: #222; }
        body.sub main.feature_main .btn_next_prev a.btn_next:hover::after {
          border-right: 18px solid #222; }
  body.sub h3.feature {
    display: grid;
    justify-content: center;
    align-items: center;
    /*display: inline-block;*/
    text-align: center;
    margin: 0 auto;
    max-width: 180px;
    min-height: 53px; }
    body.sub h3.feature span {
      color: #fff;
      font-size: 1.1rem; }
      body.sub h3.feature span small {
        font-size: .9rem; }
    body.sub h3.feature img {
      display: inline-block;
      width: 180px; }
    body.sub h3.feature.murayama {
      background-image: url("../img/sub/feature/title_back_murayama.png"); }
    body.sub h3.feature.mogami {
      background-image: url("../img/sub/feature/title_back_mogami.png"); }
    body.sub h3.feature.okitama {
      background-image: url("../img/sub/feature/title_back_okitama.png"); }
    body.sub h3.feature.shonai {
      background-image: url("../img/sub/feature/title_back_shonai.png"); }
  body.sub .onsen_area_list {
    justify-content: center; }
    body.sub .onsen_area_list li:last-child {
      margin-right: 0; }

body.feature01 .matsuri_area_list {
  /*justify-content: center;*/ }
  body.feature01 .matsuri_area_list li div.title {
    color: #38A1DB !important;
    border-bottom: 1px solid #38A1DB !important; }
  body.feature01 .matsuri_area_list li div.link a {
    background: #38A1DB !important; }
    body.feature01 .matsuri_area_list li div.link a:hover {
      background: #2C82B1 !important; }
body.feature01 .onsen_area_list li div.title {
  color: #DF6E23 !important;
  border-bottom: 1px solid #DF6E23 !important; }
body.feature01 .onsen_area_list li div.link a {
  background: #DF6E23 !important; }
  body.feature01 .onsen_area_list li div.link a:hover {
    background: #c14e02 !important; }

body.feature02 .matsuri_area_list li div.title {
  color: #259991 !important;
  border-bottom: 1px solid #259991 !important; }
body.feature02 .matsuri_area_list li div.link a {
  background: #259991 !important; }
  body.feature02 .matsuri_area_list li div.link a:hover {
    background: #22837C !important; }
body.feature02 .onsen_area_list li div.title {
  color: #DE7188 !important;
  border-bottom: 1px solid #DE7188 !important; }
body.feature02 .onsen_area_list li div.link a {
  background: #DE7188 !important; }
  body.feature02 .onsen_area_list li div.link a:hover {
    background: #BF6376 !important; }

body.feature03 .matsuri_area_list {
  /*justify-content: center;*/ }
  body.feature03 .matsuri_area_list li div.title {
    color: #757CBB !important;
    border-bottom: 1px solid #757CBB !important; }
  body.feature03 .matsuri_area_list li div.link a {
    background: #757CBB !important; }
    body.feature03 .matsuri_area_list li div.link a:hover {
      background: #61679C !important; }
body.feature03 .onsen_area_list li div.title {
  color: #C05466 !important;
  border-bottom: 1px solid #C05466 !important; }
body.feature03 .onsen_area_list li div.link a {
  background: #C05466 !important; }
  body.feature03 .onsen_area_list li div.link a:hover {
    background: #A44858 !important; }

body.feature04 .matsuri_area_list {
  /*ustify-content: center;*/ }
  body.feature04 .matsuri_area_list li div.title {
    color: #257BB5 !important;
    border-bottom: 1px solid #257BB5 !important; }
  body.feature04 .matsuri_area_list li div.link a {
    background: #257BB5 !important; }
    body.feature04 .matsuri_area_list li div.link a:hover {
      background: #1F6798 !important; }
body.feature04 .onsen_area_list li div.title {
  color: #C9A749 !important;
  border-bottom: 1px solid #C9A749 !important; }
body.feature04 .onsen_area_list li div.link a {
  background: #C9A749 !important; }
  body.feature04 .onsen_area_list li div.link a:hover {
    background: #AA8D3D !important; }

/*gourmet*/
body.gourmet main.gourmet_main .sub_head {
  background-image: url("../img/sub/gourmet/gourmet_header.png");
  background-position: center;
  justify-content: center;
  margin-bottom: 100px;
  height: 356px; }
  body.gourmet main.gourmet_main .sub_head h2 {
    text-align: center;
    margin: 0 auto;
    padding: 0;
    height: 100%; }
    body.gourmet main.gourmet_main .sub_head h2 img {
      display: inline-block;
      width: auto;
      height: 100%; }

/*ski*/
body.ski main.ski_main .sub_head {
  background-image: url("../img/sub/ski/ski_header.png");
  background-position: center;
  justify-content: center;
  margin-bottom: 100px;
  height: 356px; }
  @media screen and (max-width: 640px) {
    body.ski main.ski_main .sub_head {
      margin-bottom: 130px; } }
  body.ski main.ski_main .sub_head h2 {
    text-align: center;
    margin: 0 auto;
    padding: 0;
    height: 100%; }
    body.ski main.ski_main .sub_head h2 img {
      display: inline-block;
      width: auto;
      height: 100%; }

/*onsenmap*/
body.onsenmap main.onsen_main .sub_head {
  background-image: url("../img/sub/onsenmap/onsen_header.png");
  background-position: center;
  justify-content: center;
  margin-bottom: 50px;
  height: 356px; }
  body.onsenmap main.onsen_main .sub_head h2 {
    text-align: center;
    margin: 0 auto;
    padding: 0;
    height: calc(100% + 40px); }
    body.onsenmap main.onsen_main .sub_head h2 img {
      display: inline-block;
      width: auto;
      height: 100%; }

/*event*/
body.event main.event_main .sub_head {
  background-image: url("../img/sub/event/event_header.png");
  background-position: center;
  justify-content: center;
  margin-bottom: 50px;
  height: 356px; }
  body.event main.event_main .sub_head h2 {
    text-align: center;
    margin: 0 auto;
    padding: 0;
    height: calc(100% + 20px); }
    body.event main.event_main .sub_head h2 img {
      display: inline-block;
      width: auto;
      height: 100%; }

/*access*/
body.access main.access_main .sub_head {
  background-image: url("../img/sub/access/access_header.png");
  background-position: center;
  justify-content: center;
  margin-bottom: 50px;
  height: 356px; }
  @media screen and (max-width: 640px) {
    body.access main.access_main .sub_head {
      background-image: url("../img/sub/access/access_header_sp.png"); } }
  body.access main.access_main .sub_head h2 {
    text-align: center;
    margin: 0 auto;
    padding: 0;
    height: calc(100% + 40px); }
    body.access main.access_main .sub_head h2 img {
      display: inline-block;
      width: auto;
      height: 100%; }

/*access2*/
body.access2 main.access2_main .sub_head {
  background-image: url("../img/sub/access2/access2_header_bg.png");
  background-position: center;
  justify-content: center;
  margin-bottom: 50px;
  height: 356px; }
  body.access2 main.access2_main .sub_head h2 {
    text-align: center;
    margin: 0 auto;
    padding: 0;
    height: calc(100% + 20px); }
    body.access2 main.access2_main .sub_head h2 img {
      display: inline-block;
      width: auto;
      height: 100%; }

/*スノーツーリズム＆温泉 一覧ここから*/
body.snow-spa div#feature01 .matsuri_area_list {
  justify-content: center; }
  body.snow-spa div#feature01 .matsuri_area_list li div.title {
    color: #38A1DB !important;
    border-bottom: 1px solid #38A1DB !important; }
  body.snow-spa div#feature01 .matsuri_area_list li div.link a {
    background: #38A1DB !important; }
    body.snow-spa div#feature01 .matsuri_area_list li div.link a:hover {
      background: #2C82B1 !important; }
body.snow-spa div#feature01 .onsen_area_list {
  justify-content: center; }
  body.snow-spa div#feature01 .onsen_area_list li div.title {
    color: #DF6E23 !important;
    border-bottom: 1px solid #DF6E23 !important; }
  body.snow-spa div#feature01 .onsen_area_list li div.link a {
    background: #DF6E23 !important; }
    body.snow-spa div#feature01 .onsen_area_list li div.link a:hover {
      background: #c14e02 !important; }
body.snow-spa div#feature02 .matsuri_area_list li div.title {
  color: #259991 !important;
  border-bottom: 1px solid #259991 !important; }
body.snow-spa div#feature02 .matsuri_area_list li div.link a {
  background: #259991 !important; }
  body.snow-spa div#feature02 .matsuri_area_list li div.link a:hover {
    background: #22837C !important; }
body.snow-spa div#feature02 .onsen_area_list li div.title {
  color: #DE7188 !important;
  border-bottom: 1px solid #DE7188 !important; }
body.snow-spa div#feature02 .onsen_area_list li div.link a {
  background: #DE7188 !important; }
  body.snow-spa div#feature02 .onsen_area_list li div.link a:hover {
    background: #BF6376 !important; }
body.snow-spa div#feature03 .matsuri_area_list li div.title {
  color: #757CBB !important;
  border-bottom: 1px solid #757CBB !important; }
body.snow-spa div#feature03 .matsuri_area_list li div.link a {
  background: #757CBB !important; }
  body.snow-spa div#feature03 .matsuri_area_list li div.link a:hover {
    background: #61679C !important; }
body.snow-spa div#feature03 .onsen_area_list li div.title {
  color: #C05466 !important;
  border-bottom: 1px solid #C05466 !important; }
body.snow-spa div#feature03 .onsen_area_list li div.link a {
  background: #C05466 !important; }
  body.snow-spa div#feature03 .onsen_area_list li div.link a:hover {
    background: #A44858 !important; }
body.snow-spa div#feature04 .matsuri_area_list {
  justify-content: center; }
  body.snow-spa div#feature04 .matsuri_area_list li div.title {
    color: #257BB5 !important;
    border-bottom: 1px solid #257BB5 !important; }
  body.snow-spa div#feature04 .matsuri_area_list li div.link a {
    background: #257BB5 !important; }
    body.snow-spa div#feature04 .matsuri_area_list li div.link a:hover {
      background: #1F6798 !important; }
body.snow-spa div#feature04 .onsen_area_list li div.title {
  color: #C9A749 !important;
  border-bottom: 1px solid #C9A749 !important; }
body.snow-spa div#feature04 .onsen_area_list li div.link a {
  background: #C9A749 !important; }
  body.snow-spa div#feature04 .onsen_area_list li div.link a:hover {
    background: #AA8D3D !important; }
body.snow-spa div.onsenmap_img {
  width: 90%;
  max-width: 1200px;
  margin: 40px auto 100px auto; }
  body.snow-spa div.onsenmap_img img {
    width: 100%; }

/*スノーツーリズム＆温泉 一覧ここまで*/
body.sub main.access2_main .txt {
  margin: 30px;
  text-align: center; }
body.sub main.access2_main div.access2_wrap {
  margin: 0 auto 30px;
  width: 100%;
  max-width: 1200px;
  /*
  @include mq(md) {
      max-width: 700px;
  }
  */ }
  @media screen and (max-width: 1024px) {
    body.sub main.access2_main div.access2_wrap {
      width: 90%;
      max-width: 720px; } }
  body.sub main.access2_main div.access2_wrap ul.ul_access2 {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: space-between; }
    body.sub main.access2_main div.access2_wrap ul.ul_access2::after {
      content: '';
      width: 32%;
      height: 0; }
      @media screen and (max-width: 1024px) {
        body.sub main.access2_main div.access2_wrap ul.ul_access2::after {
          width: 48%; } }
      @media screen and (max-width: 640px) {
        body.sub main.access2_main div.access2_wrap ul.ul_access2::after {
          display: none; } }
    body.sub main.access2_main div.access2_wrap ul.ul_access2 li {
      width: 32%;
      border: 2px solid #000;
      padding: 16px;
      margin-bottom: 20px;
      background: #fff;
      margin-bottom: 20px;
      box-shadow: 4px 4px 4px #ccc;
      border-radius: 10px; }
      @media screen and (max-width: 1024px) {
        body.sub main.access2_main div.access2_wrap ul.ul_access2 li {
          width: 48%; } }
      @media screen and (max-width: 640px) {
        body.sub main.access2_main div.access2_wrap ul.ul_access2 li {
          width: 100%; } }
      body.sub main.access2_main div.access2_wrap ul.ul_access2 li a.link01 {
        display: block; }
        body.sub main.access2_main div.access2_wrap ul.ul_access2 li a.link01:hover {
          color: #568057; }
          body.sub main.access2_main div.access2_wrap ul.ul_access2 li a.link01:hover p.kikan span {
            background: #568057; }
      body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.junbi {
        background: #999;
        color: #fff;
        text-align: center;
        font-size: .9em;
        font-weight: bold;
        padding: 10px;
        border-radius: 10px;
        margin-bottom: 10px; }
      body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.basho {
        font-size: 1.2em;
        font-weight: bold;
        text-align: center;
        padding: .5em 0; }
        body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.basho.basho_flex {
          display: flex; }
          body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.basho.basho_flex span {
            width: calc(50% - 1em); }
            body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.basho.basho_flex span span {
              font-size: .8em; }
              @media screen and (max-width: 640px) {
                body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.basho.basho_flex span span {
                  font-size: .9em; } }
          body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.basho.basho_flex span.arrow {
            width: 2em; }
        @media screen and (max-width: 1024px) {
          body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.basho {
            font-size: 1em; } }
      body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.title {
        margin: .5em 0;
        border-top: 1px solid;
        border-bottom: 1px solid;
        padding: .5em 0;
        text-align: center;
        font-weight: bold;
        line-height: 1.4; }
        @media screen and (max-width: 1024px) {
          body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.title {
            font-size: .9em; } }
      body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.tall_title {
        line-height: 44px; }
        @media screen and (max-width: 1024px) {
          body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.tall_title {
            line-height: 1.4; } }
      body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.kikan {
        margin-top: 1em;
        font-size: 14px;
        text-align: center;
        line-height: 16px;
        font-weight: bold; }
        body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.kikan span {
          display: inline-block;
          margin-right: .5em;
          padding: 0 0.5em;
          /*
          line-height: 16px;
          height: 16px;
          */
          font-size: 10px;
          color: #fff;
          background: #000;
          border-radius: 6px; }
        @media all and (-ms-high-contrast: none) {
          body.sub main.access2_main div.access2_wrap ul.ul_access2 li p.kikan span {
            padding-top: .3em; } }
      body.sub main.access2_main div.access2_wrap ul.ul_access2 li div.tel {
        margin: 1em 0 0; }
        body.sub main.access2_main div.access2_wrap ul.ul_access2 li div.tel p.p_tel {
          line-height: 1.5;
          font-size: 13px;
          font-weight: bold;
          text-align: center; }
      body.sub main.access2_main div.access2_wrap ul.ul_access2 li div.link02 {
        text-align: center;
        margin: 1em 0 0; }
        body.sub main.access2_main div.access2_wrap ul.ul_access2 li div.link02 a {
          display: inline-block;
          margin-right: .5em;
          padding: 4px 6px;
          text-decoration: underline;
          font-weight: bold; }
          body.sub main.access2_main div.access2_wrap ul.ul_access2 li div.link02 a:hover {
            color: #568057; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 25px;
  left: 0;
  width: 100%;
  text-align: left;
  padding: 0 35px; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  width: 60px;
  height: 14px;
  border-radius: 0;
  background: #fff;
  opacity: 0.3; }
  .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1; }

/* 画像切り替えボタン */
p.btn_txt {
  color: #603813;
  font-size: .85rem;
  margin-bottom: .75rem;
  text-align: center; }

div.btnWrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2.0rem; }

div.btnWrapper button.btn {
  border: 1px solid #999;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.2);
  background: #fff9e1;
  color: #000;
  margin: 0 .5rem;
  padding: .5rem .5rem;
  font-size: 1.2rem;
  width: 100px; }

div.btnWrapper button.btn.show {
  background: #ccc;
  color: #fff; }
