/*
@import url("https://fonts.googleapis.com/css?family=Crimson+Text:400,400i,600,600i,700,700i");
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP|Sawarabi+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css?family=GFS+Didot|Baskervville&display=swap');
*/
@import url("base.css");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, menu, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background-color: transparent
}
html {
/*    scroll-behavior: smooth;*/
}
body {
  line-height: 1
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block
}

ul {
  list-style: none
}

blockquote, q {
  quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}

.mgnB0 {
  margin-bottom: 0px !important
}

.mgnB5 {
  margin-bottom: 5px
}

.mgnB10 {
  margin-bottom: 10px
}

.mgnB11 {
  margin-bottom: 11px
}

.mgnB14 {
  margin-bottom: 14px
}

.mgnB15 {
  margin-bottom: 15px
}

.mgnB20 {
  margin-bottom: 20px
}

.mgnB25 {
  margin-bottom: 25px
}

.mgnB30 {
  margin-bottom: 30px
}

.mgnB35 {
  margin-bottom: 35px
}

.mgnB40 {
  margin-bottom: 40px
}

.mgnB45 {
  margin-bottom: 45px
}

.mgnB50 {
  margin-bottom: 50px
}

.mgnB55 {
  margin-bottom: 55px
}

.mgnB60 {
  margin-bottom: 60px
}

.mgnB65 {
  margin-bottom: 65px
}

.mgnB70 {
  margin-bottom: 70px
}

.mgnB75 {
  margin-bottom: 75px
}

.mgnB80 {
  margin-bottom: 80px
}

.mgnB85 {
  margin-bottom: 85px
}

.mgnB90 {
  margin-bottom: 90px
}

.mgnB95 {
  margin-bottom: 95px
}

.mgnB100 {
  margin-bottom: 100px
}

.mgnR5 {
  margin-right: 5px
}

.mgnR9 {
  margin-right: 9px
}

.mgnR10 {
  margin-right: 10px
}

.mgnR15 {
  margin-right: 15px
}

.mgnR20 {
  margin-right: 20px
}

.mgnR25 {
  margin-right: 25px
}

.mgnR30 {
  margin-right: 30px
}

.mgnR35 {
  margin-right: 35px
}

.mgnR40 {
  margin-right: 40px
}

.mgnR45 {
  margin-right: 45px
}

.mgnR50 {
  margin-right: 50px
}

.mgnL5 {
  margin-left: 5px
}

.mgnL10 {
  margin-left: 10px
}

.mgnL15 {
  margin-left: 15px
}

.mgnL20 {
  margin-left: 20px
}

.mgnL25 {
  margin-left: 25px
}

.mgnL30 {
  margin-left: 30px
}

.mgnL35 {
  margin-left: 35px
}

.mgnL40 {
  margin-left: 40px
}

.mgnL45 {
  margin-left: 45px
}

.mgnL50 {
  margin-left: 50px
}

.pdnT5 {
  padding-top: 5px
}

.pdnT10 {
  padding-top: 10px
}

.pdnT15 {
  padding-top: 15px
}

.pdnT20 {
  padding-top: 20px
}

.pdnT25 {
  padding-top: 25px
}

.pdnT30 {
  padding-top: 30px
}

.pdnT35 {
  padding-top: 35px
}

.pdnT80 {
  padding-top: 80px
}

.op a img, .op2 {
  transition: opacity .5s;
  -moz-transition: opacity .5s;
  -webkit-transition: opacity .5s;
  -o-transition: opacity .5s
}

.op a img:hover, .op2:hover {
  opacity: 0.7;
  -moz-opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.txtR {
  text-align: right
}

.txtC {
  text-align: center
}

.txtL {
    text-align: left
}

.flL {
  float: left
}

.flR {
  float: right
}

.clearfix:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
  font-size: 0;
  line-height: 0;
  overflow: hidden
}

.clearfix {
  _height: 1px;
  min-height: 1px
}

.visible-pc {
  display: block
}

@media only screen and (max-width: 1080px) {
  .visible-pc {
    display: none
  }
}

@media only screen and (max-width: 680px) {
  .visible-pc {
    display: none
  }
}

.visible-pctb {
  display: block
}

@media only screen and (max-width: 1080px) {
  .visible-pctb {
    display: block
  }
}

@media only screen and (max-width: 680px) {
  .visible-pctb {
    display: none
  }
}

.visible-tbsp {
  display: none
}

@media only screen and (max-width: 1080px) {
  .visible-tbsp {
    display: block
  }
}

@media only screen and (max-width: 680px) {
  .visible-tbsp {
    display: block
  }
}

.visible-tb {
  display: none
}

@media only screen and (max-width: 1080px) {
  .visible-tb {
    display: block
  }
}

@media only screen and (max-width: 680px) {
  .visible-tb {
    display: none
  }
}

.visible-sp {
  display: none
}

@media only screen and (max-width: 1080px) {
  .visible-sp {
    display: none
  }
}

@media only screen and (max-width: 680px) {
  .visible-sp {
    display: block
  }
}

.post-author .row .gr1, .post-author .row .gr2, .post-author .row .gr3, .post-author .row .gr4, .post-author .row .gr5, .post-author .row .gr6, .post-author .row .gr7, .post-author .row .gr8, .post-author .row .gr9, .post-author .row .gr10, .post-author .row .gr11, .post-author .row .gr12 {
  padding-left: 10px;
  padding-right: 10px;
}
#footer .row .gr1,
#footer .row .gr2,
#footer .row .gr3,
#footer .row .gr4,
#footer .row .gr5,
#footer .row .gr6,
#footer .row .gr7,
#footer .row .gr8,
#footer .row .gr9,
#footer .row .gr10,
#footer .row .gr11,
#footer .row .gr12 {
  padding-left: 15px;
  padding-right: 15px;
}
/* box-half */
.gr6:nth-child(1) .box-half{
	margin:0 20px 0 0;
}

.gr6:nth-child(2) .box-half{
	margin:0 0 0 20px;
}


html, body {
  width: 100%;
  height: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  font-size: 15px
}

@media only screen and (max-width: 1080px) {
  html, body {
    font-size: 14px
  }
}

@media only screen and (max-width: 680px) {
  html, body {
    font-size: 13px
  }
}

@media only screen and (max-width: 360px) {
  html, body {
    font-size: 12px
  }
}

body {
  background-image: url(/wp/wp-content/themes/cultia2019/assets/img/phase2/bg.png);
  background-repeat: repeat;
  background-position: 0 0
}

input, textarea, button {
  border-radius: 0 !important;
/*  -webkit-appearance: none !important;*/
  outline: 0 !important
}

* {
  -webkit-tap-highlight-color: rgba(246, 246, 246, 0) !important;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1
}

::selection {
  color: #333333;
  background: #eeeeee
}

::-moz-selection {
  color: #333333;
  background: #eeeeee
}

img {
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

span {
  -ms-transform: rotate(0.001deg)
}

body, th, td, h1, h2, h3, h4, h5, h6, pre, input, textarea, option, div, p, dt, dd, li, address {
  color: #2d2d2d;
  font-weight: normal;
  font-style: normal;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", serif
}

.mnc-b {
    margin-bottom: 6%;
    font-size: 1.65em;
    letter-spacing: 5px;
    font-weight: bold;
    line-height: 1.5;
}
.mnc-b span {
    display: inline-block;
}
a {
  color: #2d2d2d;
  text-decoration: none
}

a.text_tel_link {
  color: #2d2d2d !important;
  cursor: default !important;
  display: inline !important;
  text-decoration: none !important
}

a:visited {
/*  color: #2d2d2d;*/
  text-decoration: none
}

a:hover {
  color: #2d2d2d;
  text-decoration: none
}

img {
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

div.sa_pic {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden
}

p {
    font-size: 1.1em;
}

div.sa_pic.full:before {
  padding-top: 36%
}

@media only screen and (max-width: 1080px) {
  div.sa_pic.full:before {
    padding-top: 40%
  }
}

@media only screen and (max-width: 680px) {
  div.sa_pic.full:before {
    padding-top: 46%
  }
}

.spinner {
  width: 40px;
  height: 40px;
  margin: 100px auto;

    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.spinner img {
    width: 100%;
}

@keyframes ld-spin {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes ld-spin {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.ld.ld-spin {
  -webkit-animation: ld-spin 1s infinite;
  animation: ld-spin 1s infinite;
}
#header {
    background-color: #fff;
/*
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/nav_bg.jpg);
    background-size: cover;
*/
    padding: 0;
    overflow: visible;
/*    overflow: hidden;*/
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 999;
    color: #fff;
    height: 80px;
}
body .wrap {
/*
    width: auto;
    margin: 0 36px;
*/
}

#header #logo {
    float: left;
    /* font-size: 24px; */
    padding: 12px 0 0;
    width: 152px;
}
.header-tel {
    float: right;
    padding: 32px 12px;
    font-size: 13px;
    line-height: 28px;
}
#header-fnav-area, #header-gnav-area {
    float: right;
}
#gnav {
    margin: 0 0 0 auto;
    float: right;
    text-align: right;
}
@media screen and (max-width:1118px) and (min-width:992px) {
    #gnav ul li:nth-child(9) {
/*        padding-left: 0 !important;*/
        padding-right: 0 !important;
    }
    #gnav ul li:nth-child(8) {
/*        padding-right: 10px !important;*/
    }
    #gnav ul li a {
        padding: 0 8px !important;
    }
}
/*@media screen and (max-width: 1200px) {*/
@media screen and (max-width: 991px) {
    #header {
        height: 70px !important;
    }
    #header #logo {
        width: 130px !important;
    }
    #header .wrap {
        width: auto;
        margin: 0 24px;
    }
    #header-fnav-area, .header-tel, #gnav-ul {
        display: none;
    }
    #gnav-sp {
        display: none;
        background: #F9F9F9;
        display: block;
        color: #241913;
/*        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
        z-index: 9999;
        position: absolute;
        right: 0;
        left: 0;
        width: 100%;
    }
    #header-nav-btn {
        display: block;
/*
        width: 40px;
        line-height: 70px;
*/
        float: right;
    }
    #header-nav-btn a {
        display: block;
        text-align: center;
        display: block;
        font-size: 32px;
        color: #999;
        /* background: #3B4552; */
    }
    div.accordion {
        width: 100%;
    }
    ul.accordion-menu {
        padding: 20px 0 !important;
        margin: 0 !important;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    div.accordion > ul > li {
      text-align: center;
    }
    div.accordion > ul > li > a {
        display: inline-block;
        width: 95%;
        color: #241913;
        font-size: 13px;
        line-height: 1;
        text-decoration: none;
        background-color: #f5f5f5;
        border: 1px solid #dbdbdb;
        cursor: pointer;
        padding: 16px;
        position: relative;
        text-align: center;
    }
    .tel-sp a {
        text-decoration: none;
        padding: 20px 15px;
        display: block;
        color: #241913;
        font-size: 13px;
        background-color: #f5f5f5;
    }
    #top_concept .con_fc_inner {
        width: 90%;
    }
    
    #top_point .con_fc_inner p {
        width: 90% !important;
    }
    .top_point h3 img {
        width: 100%;
    }
    .top_point h3 {font-size: 1.1em !important;}
    
    
  #header-nav-btn {
    display: block;
    width: 116px;
    line-height: 83px;
    position: absolute;
    top: -12px;
    right: 0;
    background-color: #000;
  }
    #gnav-container .hidden-xs {
        display: none;
    }
}

#header ul, #header ol, #side ul, #side ol, #footer ul, #footer ol {
    list-style: none;
    margin: 0;
    padding: 0;
}
#gnav #gnav-container > ul > li {
    display: inline-block;
    position: relative;
/*    font-size: 13px;*/
    padding: 24px 0;
}
#gnav #gnav-container > ul li a {
    display: block;
    padding: 4px 16px;
    line-height: 28px;
    text-decoration: none;
    -webkit-transition: color .3s ease-in-out;
    transition: color .3s ease-in-out;
}
#gnav #gnav-container > ul > li:nth-child(8) {
/*    padding-left: 20px;*/
}
#gnav #gnav-container > ul li:nth-child(9) {
/*    padding-left: 20px;*/
/*    padding-right: 20px;*/
}
#gnav-container {

  	display:-ms-flexbox;
  	display:flex;
}
#gnav-container a img {
    width: 150px;
    padding: 24px 0 24px 20px;
}
div.sa_pic:before {
  content: "";
  width: 100%;
  display: block;
  padding-top: 66.66%
}

div.sa_pic div.pic_wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0;
    background-color: #e4e4e4;
    background-image: url(https://www.cultia-dazaifu.com/wp/wp-content/themes/cultia2019/assets/img/logo_w.svg);
    background-size: 180px;
    background-repeat: no-repeat;
    background-position: center;
}

div.sa_pic div.pic_wrap div.pic {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px)
}

div.sa_pic div.pic_wrap div.pic.b {
  background-position: center bottom
}

.sa.ScrollAction {
  opacity: 0 !important;
  transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

.sa.ScrollAction.ScrollAction_on {
  opacity: 1 !important;
  transform: translate3d(0px, 0px, 0px) !important;
  -webkit-transform: translate3d(0px, 0px, 0px) !important;
  -moz-transform: translate3d(0px, 0px, 0px) !important;
  -ms-transform: translate3d(0px, 0px, 0px) !important;
  -o-transform: translate3d(0px, 0px, 0px) !important
}

.sa_d.ScrollAction {
  opacity: 0 !important;
  transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

.sa_d.ScrollAction.ScrollAction_on {
  opacity: 1 !important;
  transform: translate3d(0px, 0px, 0px) !important;
  -webkit-transform: translate3d(0px, 0px, 0px) !important;
  -moz-transform: translate3d(0px, 0px, 0px) !important;
  -ms-transform: translate3d(0px, 0px, 0px) !important;
  -o-transform: translate3d(0px, 0px, 0px) !important;
  transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 300ms;
  -webkit-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 300ms;
  -moz-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 300ms;
  -o-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 300ms;
  -ms-transition: opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 300ms
}

.sa2.ScrollAction {
  opacity: 0 !important;
  transform: translate3d(0px, 50px, 0px);
  -webkit-transform: translate3d(0px, 50px, 0px);
  -moz-transform: translate3d(0px, 50px, 0px);
  -ms-transform: translate3d(0px, 50px, 0px);
  -o-transform: translate3d(0px, 50px, 0px);
  transition: transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: -moz-transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: -o-transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: -ms-transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

.sa2.ScrollAction.ScrollAction_on {
  opacity: 1 !important;
  transform: translate3d(0px, 0px, 0px) !important;
  -webkit-transform: translate3d(0px, 0px, 0px) !important;
  -moz-transform: translate3d(0px, 0px, 0px) !important;
  -ms-transform: translate3d(0px, 0px, 0px) !important;
  -o-transform: translate3d(0px, 0px, 0px) !important
}

.sa_scale.ScrollAction {
  opacity: 0 !important;
  transform-origin: center center;
  -webkit-transform-origin: center center;
  -moz-transform-origin: center center;
  -o-transform-origin: center center;
  -ms-transform-origin: center center;
  transform: translate3d(0px, 0px, 0px) scale(0.5, 0.5);
  -webkit-transform: translate3d(0px, 0px, 0px) scale(0.5, 0.5);
  -moz-transform: translate3d(0px, 0px, 0px) scale(0.5, 0.5);
  -ms-transform: translate3d(0px, 0px, 0px) scale(0.5, 0.5);
  -o-transform: translate3d(0px, 0px, 0px) scale(0.5, 0.5);
  transition: transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: -moz-transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: -o-transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: -ms-transform 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

.sa_scale.ScrollAction.ScrollAction_on {
  opacity: 1 !important;
  transform: translate3d(0px, 0px, 0px) scale(1, 1) !important;
  -webkit-transform: translate3d(0px, 0px, 0px) scale(1, 1) !important;
  -moz-transform: translate3d(0px, 0px, 0px) scale(1, 1) !important;
  -ms-transform: translate3d(0px, 0px, 0px) scale(1, 1) !important;
  -o-transform: translate3d(0px, 0px, 0px) scale(1, 1) !important
}

div.guide {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 999999;
  opacity: 0.5
}

div.guide.hide {
  display: none
}

div.guide div.guide_head {
  width: 100%;
  height: 60px;
  position: absolute;
  top: 0;
  left: 0;
  border-bottom: 1px dotted #5dde5d
}

div.guide div.guide_01 {
  width: 90%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  border-right: 1px dotted #5dde5d;
  border-left: 1px dotted #5dde5d
}

div.guide div.guide_01:before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  top: 0;
  left: 50%;
  border-left: 1px dotted #ff3b3b
}

div.guide div.guide_02 {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}

div.guide div.guide_02 div {
  width: 80%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  border-right: 1px dotted #88acd8;
  border-left: 1px dotted #88acd8
}

body.preload #cover {
  opacity: 0;
  visibility: hidden
}

body.preload #cover p.cover_text {
  opacity: 1
}

#cover {
  width: 100%;
  height: 100%;
  position: fixed;
  background-color: #fff;
  z-index: 99999999999;
  opacity: 1;
  visibility: visible;
  transition: visibility 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms, opacity 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms;
  -webkit-transition: visibility 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms, opacity 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms;
  -moz-transition: visibility 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms, opacity 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms;
  -o-transition: visibility 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms, opacity 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms;
  -ms-transition: visibility 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms, opacity 400ms cubic-bezier(0.42, 0, 0.58, 1) 800ms
}

#cover p.cover_text {
  color: #f1f1f1;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  font-size: 14px;
  letter-spacing: 0.16em;
  text-align: center;
  position: absolute;
  line-height: 24px;
  top: 50%;
  margin-top: -12px;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 800ms cubic-bezier(0.42, 0, 0.58, 1) 200ms;
  -webkit-transition: opacity 800ms cubic-bezier(0.42, 0, 0.58, 1) 200ms;
  -moz-transition: opacity 800ms cubic-bezier(0.42, 0, 0.58, 1) 200ms;
  -o-transition: opacity 800ms cubic-bezier(0.42, 0, 0.58, 1) 200ms;
  -ms-transition: opacity 800ms cubic-bezier(0.42, 0, 0.58, 1) 200ms;
}
#cover p.cover_text img {
    width: 50%;
    max-width: 220px;
}

#online:not(.online-wed) {
    background: #000;
    opacity: .85;
/*    padding: 20px 30px;*/
    position: fixed;
/*    margin-top: -120px;*/
/*    height: 240px;*/
    color: #FFF;
    text-align: center;
    z-index: 998;
    transition-duration: .5s;
}
#online.online-wed {
/*    padding: 20px 30px;*/
    position: fixed;
/*    margin-top: -120px;*/
/*    height: 240px;*/
    color: #2d2d2d;
    text-align: center;
    z-index: 998;
    transition-duration: .5s;
}
#online.online-wed .button-1,
#online.online-wed .button-2 {
    background: #fff;
    opacity: .85;
}
#online.online-wed .button-2 {
    margin-top: 20px;
}
#online.online-wed .button-1 a,
#online.online-wed .button-2 a {
    display: block;
    color: #2d2d2d;
}
#online.online-wed .button-1:hover,
#online.online-wed .button-2:hover {
    opacity: 1;
}
#online.online-wed a:first-of-type {
    line-height: 1.3;
    color: #b31056;
}
#online.online-wed .button-1 a:first-of-type {
    padding-bottom: 12px;
}
#online.online-wed .button-1 a:last-of-type {
    padding-top: 12px;
    border-top: 1px solid #969696;
}
@media screen and (min-width:768px) {
    #online {
        right: 0;
        top: 80px;
        width: 110px;
/*
        padding-top: 10px;
        padding-bottom: 10px;
*/
    }
    #online.online-wed {
        width: 60px !important;
    }
    #top_concept .gr12,
    #top_stay .gr12,
    #top_res .gr12 {
        display: flex;
        display: -ms-flexbox;
        flex-wrap: wrap;
    }
    #top_concept div.cp_txt,
    #top_stay div.cp_txt,
    #top_res div.cp_txt {
        padding-top: 40px;
        padding-left: 60px;
        padding-right: 60px;
    }
    .button-1 {
        width: 110px;
    }
    #online.online-wed .button-1,
    #online.online-wed .button-2 {
        width: 60px;
    }
}
@media screen and (max-width:767px) {
    #online {
        right: 0;
        bottom: 0;
        width: 60px;
/*
        width: 100%;
        display: flex;
    
  	display:-ms-flexbox;
*/
    }
    #online > div {
/*        width: 25% !important;*/
    }
    .copyright {
        background-color: #333;
        height: 110px;
    }
    #experience .else p {
        font-size: 1em !important;
    }
    .mnc-b {
        font-size: 1.35em;
    }
    .gr12 > div.cp_txt:last-of-type {
        margin-top: 20px;
    }
    .gr12 > div.cp_img:last-of-type {
        margin-top: 40px;
    }
}
#online a.reserve, span.reserve,
#online a.inquiry, span.inquiry {
    width: 100%;
    display: block;
    padding: 18px 24px;
    border: 1px solid #fff;
    font-family: "brandon-grotesque";
    letter-spacing: 3px;
    color: #fff;
    -moz-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

#online .fa-28 {
    font-size: 28px;
    color: #fff;
}
.button-1,
.button-2 {
    cursor: pointer;
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    padding: 10px;
}
.button-1 a,
.button-2 a {
  font-family:arial;
  font-size:16px;
  color:#fff;
  text-decoration:none;
  transition:all .5s ease;
  z-index:2;
  position:relative;
}
.eff-1{
  width:160px;
  height:100%;
  top:0;
  right:-160px;
  position:absolute;
  transition:all .5s ease;
  z-index:1;
}
.eff-2{
  width:100%;
  height:109%;
  top:-2px;
  left:-100%;
  position:absolute;
  transition:all 1s ease;
  z-index:-1;
}
/*
.inquiry .eff-1 {
    background:#919191;
}
*/
.eff-1 {
    background:#505050;
}
.eff-2 {
    background: rgba(0,0,0,.1);
}
.button-1:hover .eff-1 {
  right:0;
}
.btn-default {
  transition:all 1s ease;
}
.btn-default:hover .eff-2 {
  left:0;
}
.button-1:hover a{
  color:#fff;
}
.fa-fw {
    width: 1.28571429em;
    text-align: center;
}
.fab {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* オンライン予約 複数 START */
#online-multiple {
    background: #000;
    opacity: .85;
/*    padding: 20px 30px;*/
    position: fixed;
    margin-top: -120px;
/*    height: 240px;*/
    color: #FFF;
    text-align: center;
    z-index: 998;
    transition-duration: .5s;
}
@media screen and (min-width:768px) {
    #online-multiple {
        right: 0;
        top: 50%;
        width: 160px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
}
@media screen and (max-width:767px) {
    #online-multiple {
        left: 0;
        bottom: 0;
        width: 100%;
        display: flex;
    
  	display:-ms-flexbox;
    }
    #online-multiple > div {
        width: 25% !important;
    }
    .copyright {
        background-color: #333;
        height: 110px;
    }
    #experience .else p {
        font-size: 1em !important;
    }
}
#online-multiple a.reserve, span.reserve,
#online-multiple a.inquiry, span.inquiry {
    width: 100%;
    display: block;
    padding: 18px 24px;
    border: 1px solid #fff;
    font-family: "brandon-grotesque";
    letter-spacing: 3px;
    color: #fff;
    -moz-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

#online-multiple .fa-28 {
    font-size: 28px;
    color: #fff;
}
#online-multiple .button-1{
  width:160px;
    height: 33px;
/*  float:left;*/
  text-align:left;
  cursor:pointer;
  position:relative;
  box-sizing:border-box;
  overflow:hidden;
    padding-left: 15px;
/*  margin:0 0 40px 0;*/
}
#online-multiple .button-1 a{
  font-family:arial;
  font-size:16px;
  color:#fff;
  text-decoration:none;
  transition:all .5s ease;
  z-index:2;
  position:relative;
}
#online-multiple .eff-1{
  width:160px;
  height:35px;
  top:-2px;
  right:-150px;
  position:absolute;
  transition:all .5s ease;
  z-index:1;
}
/*
.inquiry .eff-1 {
    background:#919191;
}
*/
#online-multiple .eff-1 {
    background:#505050;
}
#online-multiple .button-1:hover .eff-1{
  right:0;
}
/* オンライン予約 複数 END */

/** online-parts/ **/
#online-parts{
    z-index: 998;
    position: fixed;
    right: 0;
    bottom: 0;
    width: 70px;
    background: #fff;
    text-align: center;
}

.wrap-fixcv{
    border: 1px solid #000;
}

.wrap-fixcv .btn-room a{
    display: block;
    background: #AB4A2D;
    color: #fff;
}

.wrap-fixcv .btn-room a div{
    font-size: 15px;
    width: 15px;
    line-height: 1.3;
    color: #fff;
    padding-top: 15px;
    padding-bottom: 15px;
    margin: 0 auto;
}

.wrap-fixcv .btn-room a div img{
    margin-bottom: 5px;
}

.wrap-fixcv .btn-room a:hover{
    opacity: 1;
}

ul.fixcv{
    margin: 0 auto;
}

ul.fixcv li a{
    display: block;
    font-size: 6px;
    padding: 15px 0;
    text-align: center;
    color: #000;
    border-top:1px solid #000;
}

ul.fixcv li a img{
    width: 20px;
    margin-bottom: 5px;
}

@media screen and (max-width:767px) {
    
    #online-parts{
        right: 0;
        bottom: 0;
        width: 100%;
    }
    
    .accordion-fixcv {
        max-width: 100%;
        background-color: #fefffa;
    }

    .accordion-fixcv:not([open]) {
        margin-bottom: 0;
    }

    .accordion-fixcv summary {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        padding: 15px 15px;
        background-color: #AB4A2D;
        color: #fff;
        font-weight: 600;
        cursor: pointer;
    }

    .accordion-fixcv summary::-webkit-details-marker {
        display: none;
    }

    .accordion-fixcv summary::after {
        content: ">";
        transform: rotate(-90deg) scaleX(0.5);
        font-size: 24px;
    }

    .accordion-fixcv[open] summary::after {
        transform: rotate(90deg) scaleX(0.5);
        font-size: 24px;
    }

    .accordion-fixcv .fixcv-sp-inner {
        transform: translateY(-10px);
        opacity: 0;
        margin: 0;
        padding: 15px 10px 10px 10px;
    }

    .accordion-fixcv[open] .fixcv-sp-inner{
        transform: none;
        opacity: 1;
    }
    
    dl.fixcv-sp-tit{
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin: 0;
    }
    
    dl.fixcv-sp-tit dt{
        border-radius: 23px;
        background: #fff;
        padding: 5px 13px;
        font-size: 12px;
        color: #AB4A2D;
        margin: 0 15px 0 0;
    }
    
    dl.fixcv-sp-tit dt span{
        font-size: 9px;
        display: block;
    }
    
    dl.fixcv-sp-tit dd{
        color: #fff;
        font-size: 17px;
    }
    
    ul.fixcv-sp{
        margin: 0 auto 10px;
        width: 100%;
        display: flex;
        justify-content: space-around;
        align-items: flex-end;
    }
    
    ul.fixcv-sp li{
        width: calc(100% / 3);
    }
    
    ul.fixcv-sp li:nth-child(2){
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc;
    }
    
    ul.fixcv-sp li a{
        text-align: center;
        font-size: 11px;
        display: block;
        position: relative;
    }
    
    ul.fixcv-sp li a:after{
        content: ">";
        transform: scaleX(0.6);
        font-size: 24px;
        position: absolute;
        top: 4px;
        right: 10px;
    }
    
    ul.fixcv-sp li a img{
        width: 40px;
        margin-bottom: 7px;
    }
    
    .wrap-fixcv-sp .btn-tel{
        color: #000;
        font-size: 16px;
        border-top: 1px solid #ccc;
        padding-top: 10px;
    }
    
    .wrap-fixcv-sp .btn-tel img{
        width: 20px;
        margin: 0 15px 0 0;
    }
        
    
}

/** /online-parts **/



@media only screen and (max-width: 1080px) {
  #cover p.cover_text {
    font-size: 13px
  }
}

@media only screen and (max-width: 680px) {
  #cover p.cover_text {
    font-size: 12px
  }
}

body.b a.contact span {
  color: #2d2d2d
}

body.b a.contact span:before {
  opacity: 0
}

body.b a.contact span:after {
  opacity: 1
}


/*
body.b a.reserve span {
  color: #2d2d2d
}

body.b a.reserve span:before {
  opacity: 0
}

body.b a.reserve span:after {
  opacity: 1
}
*/

body.b p.sidelead span {
  color: #2d2d2d
}

body.b div#subnav ul li a span {
  color: #2d2d2d !important
}

div#subnav {
  position: fixed;
  height: 100%;
  display: table;
  z-index: 9999;
  left: 36px;
  top: -2%
}

@media only screen and (max-width: 1080px) {
  div#subnav {
    left: 16px
  }
}

@media only screen and (max-width: 680px) {
  div#subnav {
    display: none
  }
}

div#subnav a {
  opacity: 1;
  transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

div#subnav ul {
  display: table-cell;
  vertical-align: middle
}

div#subnav ul li {
  display: block;
  position: relative;
  -webkit-transition: padding 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: padding 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: padding 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: padding 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: padding 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

div#subnav ul li:first-child {
  padding-top: 0 !important
}

div#subnav ul li:first-child:before {
  display: none !important
}

div#subnav ul li:first-child:after {
  top: 28px !important
}

div#subnav ul li:last-child {
  padding-bottom: 0 !important
}

div#subnav ul li:last-child:before {
  bottom: 28px !important
}

div#subnav ul li:last-child:after {
  display: none !important
}

div#subnav ul li:before, div#subnav ul li:after {
  -webkit-transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

div#subnav ul li:before {
  content: "";
  position: absolute;
  bottom: 76px;
  left: 4px;
  width: 1px;
  height: 0;
  background-color: #888
}

div#subnav ul li:after {
  content: "";
  position: absolute;
  top: 76px;
  left: 4px;
  width: 1px;
  height: 0;
  background-color: #888
}

div#subnav ul li.active {
  padding-top: 48px;
  padding-bottom: 48px
}

div#subnav ul li.active:before, div#subnav ul li.active:after {
  -webkit-transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 200ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 200ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 200ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 200ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: height 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 200ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

div#subnav ul li.active:before {
  height: 40px
}

div#subnav ul li.active:after {
  height: 40px
}

div#subnav ul li.active a span {
  opacity: 1
}

div#subnav ul li.active a:after {
  opacity: 0
}

div#subnav ul li a {
  height: 24px;
  display: block;
  position: relative;
  width: 100%
}

@media only screen and (min-width: 979px) {
  div#subnav ul li a:hover {
    opacity: 1 !important
  }
  div#subnav ul li a:hover span {
    opacity: 0.5 !important
  }
  div#subnav ul li a:hover:after {
    opacity: 0
  }
}

div#subnav ul li a span {
  font-size: 12px;
  letter-spacing: 0.12em;
  line-height: 24px;
  z-index: 1;
  position: relative;
  opacity: 0;
  font-weight: 300;
  color: #f1f1f1;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  font-weight: 400;
  -webkit-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

@media only screen and (max-width: 1080px) {
  div#subnav ul li a span {
    font-size: 11px
  }
}

div#subnav ul li a:after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 100%;
  position: absolute;
  left: 2px;
  top: 50%;
  box-sizing: border-box;
  background-color: #888;
  -webkit-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, background-color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

a.contact {
  position: fixed;
  z-index: 9999999;
  top: 28px;
  right: 0;
  cursor: pointer
}

@media only screen and (max-width: 680px) {
  a.contact {
    top: 15px
  }
}

@media only screen and (min-width: 979px) {
  a.contact:hover span {
    opacity: 0.5
  }
}

a.contact span {
  position: relative;
  z-index: 1;
  font-size: 13px;
  line-height: 27px;
  display: inline-block;
  letter-spacing: 0.2em;
  vertical-align: bottom;
  font-weight: 600;
  color: #f1f1f1;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  -webkit-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  position: relative;
  overflow: hidden;
  padding-left: 30px;
  padding-right: 30px
}

@media only screen and (max-width: 1080px) {
  a.contact span {
    font-size: 12px
  }
}

@media only screen and (max-width: 680px) {
  a.contact span {
    font-size: 11px;
    padding-right: 10px;
    padding-left: 20px;
    line-height: 18px
  }
}

a.contact span:before {
  content: "";
  width: 24px;
  height: 24px;
  top: 50%;
  left: 0;
  position: absolute;
  margin-top: -13px;
  background-image: url(/wp/wp-content/themes/cultia2019/assets/img/phase2/mail_w.png);
  background-image: url(/wp/wp-content/themes/cultia2019/assets/img/phase2/mail_w.svg);
  background-repeat: no-repeat;
  background-size: 17px 17px;
  opacity: 0.9;
  background-position: center center;
  -webkit-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

@media only screen and (max-width: 680px) {
  a.contact span:before {
    width: 15px;
    height: 15px;
    margin-top: -7px;
    background-size: 15px 15px;
    display: block
  }
}

a.contact span:after {
  content: "";
  width: 24px;
  height: 24px;
  top: 50%;
  left: 0;
  position: absolute;
  margin-top: -13px;
  background-image: url(/wp/wp-content/themes/cultia2019/assets/img/phase2/mail.png);
  background-image: url(/wp/wp-content/themes/cultia2019/assets/img/phase2/mail.svg);
  background-repeat: no-repeat;
  background-size: 17px 17px;
  opacity: 0;
  background-position: center center;
  -webkit-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

@media only screen and (max-width: 680px) {
  a.contact span:after {
    width: 15px;
    height: 15px;
    margin-top: -7px;
    display: block;
    background-size: 15px 15px
  }
}


p.sidelead {
  position: fixed;
  z-index: 999999;
  bottom: 0px;
  width: 100vh;
  right: 42px;
  text-align: center;
  transform-origin: right bottom;
  -webkit-transform-origin: right bottom;
  -moz-transform-origin: right bottom;
  -o-transform-origin: right bottom;
  -ms-transform-origin: right bottom;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg)
}

@media only screen and (max-width: 1080px) {
  p.sidelead {
    right: 28px
  }
}

@media only screen and (max-width: 680px) {
  p.sidelead {
    display: none
  }
}

p.sidelead span {
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  font-weight: 600;
  color: #f1f1f1;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  -webkit-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: opacity 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

@media only screen and (max-width: 1080px) {
  p.sidelead span {
    font-size: 10px
  }
}

div#scroll {
  position: absolute;
  bottom: 120px;
  width: 100%;
  left: 0%;
  text-align: center;
  opacity: 1
}

@media only screen and (max-width: 680px) {
  div#scroll {
    display: none
  }
}

div#scroll span.bar {
  width: 1px;
  height: 180px;
  position: absolute;
  left: 50%;
  top: 40px;
  overflow: hidden
}

@media only screen and (max-width: 680px) {
  div#scroll span.bar {
    height: 154px
  }
}

div#scroll span.bar:before {
  content: "";
  position: absolute;
  background-color: #cccccc;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.2;
  z-index: 0
}

div#scroll span.bar:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0px;
  z-index: 1;
  background-color: #cccccc;
  transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  animation: load 4000ms cubic-bezier(0.55, 0.085, 0.68, 0.53) 200ms infinite normal;
  -webkit-animation: load 4000ms cubic-bezier(0.55, 0.085, 0.68, 0.53) 200ms infinite normal;
  -moz-animation: load 4000ms cubic-bezier(0.55, 0.085, 0.68, 0.53) 200ms infinite normal;
  -o-animation: load 4000ms cubic-bezier(0.55, 0.085, 0.68, 0.53) 200ms infinite normal;
  -ms-animation: load 4000ms cubic-bezier(0.55, 0.085, 0.68, 0.53) 200ms infinite normal;
  opacity: 0.3
}

div#scroll span.wrap {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 1.8;
  font-weight: 600;
  color: #f1f1f1;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif
}

@media only screen and (max-width: 1080px) {
  div#scroll span.wrap {
    font-size: 11px
  }
}

@media only screen and (max-width: 680px) {
  div#scroll span.wrap {
    font-size: 10px
  }
}

@keyframes load {
  0% {
    height: 0;
    top: 0;
    opacity: 0
  }
  50% {
    height: 100%;
    top: 0;
    opacity: 0.3
  }
  100% {
    height: 100%;
    top: 100%;
    opacity: 0
  }
}

@-webkit-keyframes load {
  0% {
    height: 0;
    top: 0;
    opacity: 0
  }
  50% {
    height: 100%;
    top: 0;
    opacity: 0.3
  }
  100% {
    height: 100%;
    top: 100%;
    opacity: 0
  }
}

@-moz-keyframes load {
  0% {
    height: 0;
    top: 0;
    opacity: 0
  }
  50% {
    height: 100%;
    top: 0;
    opacity: 0.3
  }
  100% {
    height: 100%;
    top: 100%;
    opacity: 0
  }
}

@-o-keyframes load {
  0% {
    height: 0;
    top: 0;
    opacity: 0
  }
  50% {
    height: 100%;
    top: 0;
    opacity: 0.3
  }
  100% {
    height: 100%;
    top: 100%;
    opacity: 0
  }
}

@-ms-keyframes load {
  0% {
    height: 0;
    top: 0;
    opacity: 0
  }
  50% {
    height: 100%;
    top: 0;
    opacity: 0.3
  }
  100% {
    height: 100%;
    top: 100%;
    opacity: 0
  }
}

section#mv {
  box-sizing: border-box;
}

section#mv a.mv_news {
  position: absolute;
  z-index: 5000;
  left: 0;
  bottom: 36px;
  background-color: #000000;
  padding: 8px 24px;
  transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

@media only screen and (min-width: 1080px) {
  section#mv a.mv_news:hover {
    background-color: #fff
  }
  section#mv a.mv_news:hover dl dt span, section#mv a.mv_news:hover dl dd span {
    color: #2d2d2d
  }
}

@media only screen and (max-width: 680px) {
  section#mv a.mv_news {
    padding: 6px 12px;
    bottom: 16px
  }
}

section#mv a.mv_news dl {
  display: table
}

section#mv a.mv_news dl dt span, section#mv a.mv_news dl dd span {
  color: #ffffff;
  transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

section#mv a.mv_news dl dt {
  display: table-cell;
  vertical-align: top;
  width: 10px;
  white-space: nowrap
}

section#mv a.mv_news dl dt span {
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 24px;
  display: block;
  white-space: nowrap;
  padding-right: 16px;
  position: relative
}

section#mv a.mv_news dl dt span:after {
  content: "";
  width: 1px;
  height: 10px;
  position: absolute;
  right: 0;
  margin-top: -5px;
  top: 50%;
  background-color: #333333
}

section#mv a.mv_news dl dd {
  display: table-cell;
  vertical-align: top;
  padding-left: 16px
}

section#mv a.mv_news dl dd span {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", serif;
  line-height: 24px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  display: block
}

section#mv div.mv_wrap {
  width: 100%;
  height: 100%
}

section#mv div.mv_wrap div.mv_text {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 99;
    max-height: 220px;
    width: 90%;
}

section#mv div.mv_wrap div.mv_text h1.logo {
      display: block;
    text-align: center;
    color: #fff;
    font-size: 1.5em;
    line-height: 2;
}
section#mv div.mv_wrap div.mv_text h1.logo span {
/*    font-family: 'Sawarabi Mincho', sans-serif;*/
    font-weight: normal;
    letter-spacing: 2px;
    text-shadow: 0px 0px 4px #000000, 0px 0px 16px #000000;
}
section#mv div.mv_wrap div.mv_text h1.logo img {
    width: 50%;
    max-width: 194px;
}


section#mv div.mv_wrap ul#slide {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
  overflow: hidden
}


section#mv div.mv_wrap ul#slide li {
  width: 100%;
  height: 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: center center;
  -webkit-transform-origin: center center;
  -moz-transform-origin: center center;
  -o-transform-origin: center center;
  -ms-transform-origin: center center;
  transform: translate3d(0px, 0px, 0px) scale(1.05, 1.05);
  -webkit-transform: translate3d(0px, 0px, 0px) scale(1.05, 1.05);
  -moz-transform: translate3d(0px, 0px, 0px) scale(1.05, 1.05);
  -ms-transform: translate3d(0px, 0px, 0px) scale(1.05, 1.05);
  -o-transform: translate3d(0px, 0px, 0px) scale(1.05, 1.05);
  opacity: 0;
  transition: transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 400ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 400ms;
  -webkit-transition: -webkit-transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 400ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 400ms;
  -moz-transition: -moz-transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 400ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 400ms;
  -o-transition: -o-transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 400ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 400ms;
  -ms-transition: -ms-transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 400ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 400ms
}

section#mv div.mv_wrap ul#slide li.active {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px) scale(1, 1);
  -webkit-transform: translate3d(0px, 0px, 0px) scale(1, 1);
  -moz-transform: translate3d(0px, 0px, 0px) scale(1, 1);
  -ms-transform: translate3d(0px, 0px, 0px) scale(1, 1);
  -o-transform: translate3d(0px, 0px, 0px) scale(1, 1);
  transition: transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: -webkit-transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: -moz-transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: -o-transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: -ms-transform 8000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms, opacity 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

section#mv div.mv_wrap ul#slide li div.sa_pic {
  width: 100%;
  height: 100%
}

section#mv div.mv_wrap ul#slide li div.sa_pic:before {
  display: none
}


#main-visual-2 {
    background-size: cover;
    height: 600px;
    padding: 180px 0 200px;
/*    margin-top: 70px; */
    background-position: center top;
}

.hero-title {
    margin: 0 auto;
}


section {
  width: 100%
}

section div.section_wrap {
  width: 100%;
/*  width: 90%;*/

}

@media only screen and (max-width: 680px) {
/*
  section div.section_wrap {
    width: 88%
  }
*/
    #main-visual-2,
    #main-visual-wed {
        height: 480px !important;
    }
}

@media only screen and (max-width: 360px) {
/*
  section div.section_wrap {
    width: 92%
  }
*/
}

section div.section_wrap div.section_innerwrap {
  padding-top: 80px;
  padding-bottom: 80px;
      width: 90%;
    max-width: 1250px;
      margin-left: auto;
      margin-right: auto
}


@media only screen and (max-width: 680px) {
  section div.section_wrap div.section_innerwrap {
    padding-top: 56px;
    padding-bottom: 56px;
      width: 88%;
  }
}
@media only screen and (max-width: 360px) {
    section div.section_wrap div.section_innerwrap {
        width: 92%;
    }
}

div.full_pic {
  position: relative
}

div.full_pic.full_cover:after {
/*
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0.4;
  z-index: 0
*/
}
.full_cover .con_fc_inner > p {
    width: 90%;
    margin: auto;
}

div.full_pic h2.tit_en {
  position: absolute;
  z-index: 100;
  top: 50%;
  margin-top: -18px;
  left: 0;
  text-align: center;
  display: block;
  width: 100%
}

div.full_pic h2.tit_en span {
  display: inline-block;
  letter-spacing: 0.16em;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  font-size: 1.1rem;
  line-height: 36px;
  position: relative;
  color: #ffffff;
  font-weight: 600
}

div.full_pic h2.tit_en span:after {
  content: "";
  width: 100%;
  height: 1px;
  bottom: 4px;
  left: 0;
  background-color: #ffffff;
  position: absolute
}

@media only screen and (max-width: 680px) {
  div.full_pic h2.tit_en span:after {
    bottom: 6px
  }
}

#top_news .section_wrap {
    color: black;
}

#top_concept .full_cover {
    margin-top: 10%;
    position: relative;
    margin: auto;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/top/concept_bg.png);
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: right bottom;
}
@media screen and (max-width: 767px) {
    #top_concept .full_cover {
/*
        background-size: cover !important;
        background-position: center !important;
*/
        background-size: contain;
        background-position: bottom;
        padding-bottom: 40%;
    }
}
@media screen and (min-width: 1251px) {
    .con_img {
        left: 10%;
        width: 50%;
    }
}
@media screen and (max-width: 1250px) {
    .con_img {
        left: -5%;
        width: 60%;
    }
}
@media screen and (max-width: 768px) {
    .con_img {
        top: 0 !important;
        left: -15%;
        width: 60%;
    }
    #top_news .section_wrap {
        background-size: 80% !important;
        background-position: left top !important;
    }
}

.tobiume {
    position: absolute;
    max-width:157px;
    width: 20%;
    z-index: 2;
}
#top_exp .con_fc_inner,
[id^="top_"] .section_innerwrap .gr12 {
    position: relative;
}
#top_exp .tobiume {
    top: 10px;
    right: 9%;
}
#top_concept .tobiume {
    top: -116px;
    left: 13%;
}
#top_stay .tobiume {
    top: -116px;
    right: 10%;
}
#top_res .tobiume {
    top: -116px;
    left: 3%;
}
#top_access h2.sec_ttl {
    margin-top: 100px;
}

#top_exp .tate {
    margin: auto;
    font-size: 1.6em;
    text-align: justify;
    letter-spacing: 4px;
    padding: 15% 0;
    color: #fff;
    text-shadow: 0px 0px 10px #000000, 0px 0px 6px #000000, 0px 0px 1px #000000;
}
#top_exp .cc {
    width: 86%;
    text-align: left;
    margin: auto;
    background-image: url(../img/top/photo_01.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

#top_concept p,
#top_exp p,
#top_stay p,
#top_res p {
    line-height: 2.5;
}
#top_point .con_fc_inner p {
    padding: 0 0 3%;
    width: 70%;
    margin: 0 auto;
    font-size: 16px;
}
.top_point + p {
    padding-top: 3% !important;
}
#top_exp li.gr4 p {
/*
    -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
*/
    margin: auto;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
    line-height: 1.8 !important;
    font-size: 1.5em;
}
#top_exp li.gr4:not(:last-child) p {
    color: #fff;
    text-shadow: 0px 0px 4px #000000, 0px 0px 16px #000000;
}
#top_exp li.gr4:last-child p {
    color: #000;
    text-shadow: 0px 0px 4px #fff, 0px 0px 16px #fff;
}
#top_exp li.gr4 {
    position: relative;
    padding: 0 20px;
}
#top_exp li.gr4 div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 120px;
}
#top_exp li.gr4 div:before {
    content: '';
    background-image: url(../img/exp_ico.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    display: inline-block;
    margin-bottom: 15px;
}
#top_exp li.gr4 div h4 {
    font-size: 2em;
    margin-bottom: 10px;
    text-align: center;
    line-height: 1.2;
}
#top_exp li.gr4 div h4 span {
    padding-bottom: 10px;
    margin-bottom: 15px;
    position: relative;
    display: block;
    font-size: .5em;

}
#top_exp li.gr4 div h4 span:after {
    content: '';
    position: absolute;
    width: 50%;
    margin: auto;
    bottom: 0;
    right: 0;
    left: 0;
    height: 1px;
    background-color: #000;
}

#top_exp li.gr4 img {
    vertical-align: bottom;
}
#top_exp li.gr4 a:hover {
    opacity: 1;
}
#top_exp li.gr4 a img {
    transition: opacity 400ms;
  -webkit-transition: opacity 400ms;
  -moz-transition: opacity 400ms;
  -o-transition: opacity 400ms;
  -ms-transition: opacity 400ms;
}
#top_exp li.gr4 a:hover img {
    opacity: .5;
    cursor: pointer;
}
.con_img {
    position:absolute;
    top: -10%;
}
.con_fc_inner {
    padding: 80px 0;
    max-width: 1250px;
    margin: 0 auto;
    width: 100%;
/*    width: 90%;*/
}
#top_concept .con_fc_inner {
    width: 90% !important;
}
.top_movie {
    text-align: center;
    margin-bottom: 160px;
    width: 90%;
    max-width: 854px;
    margin-left: auto;
    margin-right: auto;
}
.top_movie iframe {
    width: 100%;
}

div.concept_pic {
  margin-bottom: 86px;
  width: 100%;
  margin-left: auto;
  margin-right: auto
}
#top_point .tp-sake h3 {
    color: #fff;
}
#top_point .tp-sake h3 img {
    max-width: 240px;
    width: 40%;
    margin-bottom: 15px;
}
#top_point .section_innerwrap .gr6 {
    padding: 20px;
}
#top_point .section_innerwrap div.txtC p {
    line-height: 2;
    font-size: 20px;
    padding: 50px;
}
#top_point .section_innerwrap div.txtC p span {
    font-size: 1.4em;
    display: inline-block;
    margin-bottom: 15px;
}
.top_point {
    border-bottom: 20px solid #ababab;
    width: 100%;
    position: relative;
}
.top_point > img {
    vertical-align: bottom;
}
.top_point h3 {
    position: absolute;
    padding: 12% 6%;
    background-color: rgba(152,152,152,.6);
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    color: #fff;
    font-size: 1.7em;
    line-height: 1.6;
}
.top_point h3 img {
    max-width: 180px;
    margin-bottom: 15px;
}
.bg_photo_top {
    background: url(/wp/wp-content/themes/cultia2019/assets/img/top/photo_01.jpg) center top no-repeat;
/*    background: url(/wp/wp-content/themes/cultia2019/assets/img/top/photo_01.jpg) center top no-repeat fixed;*/
    background-size: cover;
    margin: 0 auto;
    width: 100%;
    height: 680px;
    padding: 0;
}

@media screen and (min-width:769px) {
    #top_point .con_fc_inner p,
    #top_exp p,
    #top_concept p,
    #top_stay p,
    #top_res p {
        font-size: 16px;
    }
    .top_point h3 {
        white-space: nowrap;
    }
    section#mv div.mv_wrap div.mv_text h1.logo span {
        font-size: 1.4em;
    }
}
@media screen and (max-width: 680px) {
  div.concept_pic {
    margin-bottom: 36px;
  }
    #top_point .section_innerwrap div.txtC p {
        font-size: 1.2em !important;
        padding: 15px !important;
    }
    #top_point .section_innerwrap div.txtC p span {
        font-size: 1.4em !important;
        margin-bottom: 0 !important;
    }
    #top_point .section_innerwrap .gr6 {
        padding: 15px !important;
    }
    .top_point h3 {
        width: 45% !important;
        padding: 5% 3%;
    }
    .top_point h3 img {
        max-width: 140px;
        width: 80%;
        display: block;
    }
    .top_point h3 br {
        display: none;
    }
    .top_point h3 {
        font-size: 22px;
    }
}

div.concept_pic div.concept_pic_wrap div.sa_pic:before {
  padding-top: 56%
}

p.concept_text {
  display: block;
  text-align: center
}

p.concept_text span {
  margin-bottom: 16px;
  font-size: 1rem;
  letter-spacing: 0.2em;
  line-height: 2.4;
  display: block;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", serif
}

@media only screen and (max-width: 680px) {
  p.concept_text span {
    font-size: 1rem
  }
}
.hero-title h2 {
    background-color: rgba(255,255,255,.7);
    color: #000;
    border-color: #fff !important;
    padding-left: 20px;
    padding-right: 20px;
}
.hero-title h2:after {
    content: '';
    display: inline-block;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/wave.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 134px;
    height: 30px;
    margin-top: 10px;
}
h2.sec_ttl,
.hero-title h2 {
    display: block;
    margin-bottom: 2em;
    position: relative;
    z-index: 5;
    text-align: center;
    position: relative;
    font-size: 2.2em;
    letter-spacing: 2px;
    line-height: 1.8;
}
h2.sec_ttl:not(.nospan):after,
.hero-title h2:not(.nospan):after {
    content: '';
    background-color: #cc5288;
    width: 1px;
    height: 23px;
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    bottom: -31px;
}
h2.sec_ttl span,
.hero-title h2 span {
    font-size: .5em;
    display: block;
    color: #9e9e9e;
/*    padding: 1em 0 5px;*/
}
h2.sec_ttl span.ttl_txt,
.hero-title h2 span.ttl_txt {
/*
    writing-mode: tb-rl; 
    writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl; 
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
*/
    font-size: 2em;
    display: block;
}
.en {
    font-family: 'Didot', serif;
}
.num {
    font-family: 'Baskervville', serif;
}

@media screen and (min-width:768px) {
    .tate {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -webkit-font-feature-settings: 'pkna';
        font-feature-settings: 'pkna';
    }
}
@media screen and (max-width:767px) {
    .tate:not(.xs-yoko) {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -webkit-font-feature-settings: 'pkna';
        font-feature-settings: 'pkna';
    }
}


/*======================
コンセプト
=======================*/
h2.nml {
    font-size: 1.55em;
    line-height: 2;
}
#concept {
}
#con_point .section_innerwrap {
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/concept/point_ttl_bg.png);
    background-repeat: no-repeat;
    background-position: center top 80px;
    background-size: 300px;
}
#con_point .gr12 {
    float: none;
    margin-bottom: 30px;
}
@media screen and (min-width:768px) {
    #con_point .gr12 {
        display: flex;
    
        display:-ms-flexbox;
        width: 80%;
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
    }
    #con_point div.cp_img {
        width: 65%;
    }
    #con_point div.cp_txt {
        width: 35%;
    }
}

#con_point div.cp_txt {
    padding: 60px 40px 40px 40px;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/concept/point_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
#con_point div.cp_txt h3 {
    line-height: 2;
    margin-bottom: 1em;
    font-size: 1.2em;
}
#con_point div.cp_txt h3 span {
    display: block;
    padding: 9px 3px 3px 9px;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/concept/num_bg.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-size: 1.2em;
    margin-bottom: 10px;
}
#con_point div.cp_txt p {
    line-height: 1.5;
    text-align: left;
}
#con_point .gr12:nth-child(2n-1) {
    flex-direction: row-reverse;
}
#con_point .gr12:nth-child(2n) div.cp_img {
/*    -webkit-box-ordinal-group:2;*/
/*
　　-ms-flex-order:2;
　　-webkit-order:2;
　　order:2;
*/
}
#con_point .gr12:nth-child(2n) div.cp_txt {
/*    -webkit-box-ordinal-group:1;*/
/*
　　-ms-flex-order:1;
　　-webkit-order:1;
　　order:1;
*/
}
#con_nipponia ul li {
    padding: 30px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
#con_nipponia ul li div {
    padding: 15px;
    background-color: rgba(0,0,0,.5);
    max-width: 190px;
    margin: 0 auto;
}
#con_nipponia ul li div h4 {
    font-size: 1.2em;
    line-height: 1.6;
    margin-bottom: 1em;
    margin-top: 15px;
    white-space: nowrap;
    color: #fff;
}
#con_nipponia ul li div p {
    line-height: 1.4;
    white-space: nowrap;
    color: #fff;
}


/*======================
OUR STORY
=======================*/
#ourstory h2:after {
    content: '';
    display: none;
}
#ourstory h3 {
    position: relative;
    text-align: center;
    font-size: 1.4em;
    letter-spacing: 1px;
}
#ourstory h3.ume_ttl:after {
    content: '';
    background-color: #cc5288;
    width: 1px;
    height: 23px;
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    bottom: -31px;
}

#ourstory div.st_img {
/*    width: 51%;*/
    position: relative;
    overflow: hidden;
}
#ourstory div.st_img img {
/*
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
*/
    object-fit: cover;
    width: 100%;
    height: 100%;
    font-family: 'object-fit: contain;';
}
#ourstory div.st_txt {
/*
    display: flex;
    display: -ms-flexbox;
    padding: 0;
*/
    position: relative;
}
#ourstory div.st_txt p {
    line-height: 2;
    letter-spacing: 1px;
    text-align: justify;
    text-justify: inter-ideograph;
}


/*
#ourstory .flex {
    display: flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
}
*/
/*
#ourstory .flex div + div {
    margin-left: 6%;
}
#ourstory .st_01 .flex:first-child .st_txt {
    width: 57%;
}
#ourstory .st_01 .flex:first-child .st_img {
    width: 37%;
}
#ourstory .st_01 .flex:last-child .st_txt {
    width: 47%;
}
#ourstory .st_01 .flex:last-child .st_img {
    width: 47%;
}
*/
@media screen and (min-width:1388px) {
    #ourstory .st_01 .row .row {
        padding-left: calc((100% - 1250px)/2);
    }
}
@media screen and (max-width:1387px) and (min-width:769px) {
    #ourstory .st_01 .row .row {
        padding-left: 10%;
    }
}
@media screen and (max-width:768px) {
    #ourstory .st_01 .row .row {
        padding-left: 6%;
        padding-right: 6%;
    }
}
@media screen and (min-width: 769px) {
    #ourstory .row .row div + div {
        padding-left: 6%;
    }
    #ourstory .st_01_img {
        margin-left: 1%;
        margin-top: 10%;
    }
    #ourstory .st_02_img {
        margin-left: 34%;
        margin-top: 6%;
    }
    #ourstory .st_03_img_01 {
        margin-right: 6%;
        margin-top: 38%;
        float: right;
    }
    #ourstory .st_03_img_02 {
        margin-top: 2%;
        margin-left: 40%;
        display: block;
    }
}
@media screen and (max-width: 768px) {
    #ourstory .row .row div + div {
        margin-bottom: 6%;
    }
    #ourstory .st_01 img.gr5 {
        width: 50%;
        float: none;
        min-width: 240px;
    }
    #ourstory .st_01_img {
        margin-left: 8%;
    }
    #ourstory .st_02_img {
        float: right;
    }
    #ourstory .st_03 .st_img {
        padding-left: 10%;
    }
    #ourstory .st_02 .st_img,
    #ourstory .st_03 .st_txt {
        margin-bottom: 6%;
    }
    
    
}


/*======================
過ごす(experience)
=======================*/

#experience .actv_search {
    border: 1px solid #333;
    padding: 40px;
    margin: 0 auto 40px;
    width: 90%;
}
#experience .actv_search h3 {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid;
    font-size: 1.2em;
}
#experience .actv_search h4 span {
    display: inline-block;
    padding: 8px;
    border-bottom: 1px solid;
    margin-bottom: 40px;
}
#experience .actv_search form input[type="button"] {
    color: #fff;
    background-color: #cacaca;
    padding: 8px 40px;
    margin-top: 40px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
#experience li.gr4 {
    padding: 20px 20px 40px;
}
#experience li.gr4 dl dd p {
    text-align: left;
    line-height: 1.5;
}
#experience li.gr4 dl dt h4 {
    font-size: .9em;
    border-bottom: 1px solid #c4c4c4;
    padding-bottom: .8em;
    margin-bottom: 0;
}
#experience h3 span {
    display: inline-block;
    font-size: 1.6em;
    letter-spacing: 3px;
    border-top: 1px solid;
    padding: 20px 34px;
    border-bottom: 1px solid;
}
#experience.actv_02 .ccpt_h3 {
    padding: 40px 0 !important;
}
/*
#experience #actv_src .section_innerwrap,
#experience #act_ss .section_innerwrap {
    padding-bottom: 0 !important;
}
*/
#experience a.btn-default {
    width: auto !important;
    padding: 0 30px;
}
#experience #actv_src .gr12 ul li div:first-of-type {
    padding-top: calc(694/886*100%);
    background-size: 100% auto;
    background-repeat: no-repeat;
}
#experience li.gr4 dl dt div {
    padding-top: calc(868/1300*100%);
    background-size: 100% auto;
    background-repeat: no-repeat;
}
#experience #actv_src .gr7 label {
    width: 32%;
    display: inline-block;
    text-align: left;
    line-height: 1.5;
    margin-bottom: .5em;
}
#experience #actv_src .section_wrap .section_innerwrap > h3 {
    font-size: 1.6em;
}
/*
#experience #act_mc .section_innerwrap {
    padding-top: 0 !important;
}
*/
/*
#experience section div.section_wrap div.section_innerwrap {
    padding-bottom: 0 !important;
}
*/
#experience .map img {
    max-width: 740px;
    width: 100%;
}
#experience .else {
    margin-left: auto;
    margin-right: auto;
}
#experience .else p {
    line-height: 1.8;
    font-size: 1.3em;
    padding: 6% 0;
    border: 1px solid #a3a3a3;
}
#experience .gr12 h2 {
    font-size: 1.8em;
}
#experience ul.exp_list {
    width: calc(100% + 40px);
    margin-left: -20px;
}
#experience .map {
    position: relative;
    display: inline-block;
}
#experience .map [class^="map_"] {
    position: absolute;
    text-align: left;
    margin-bottom: 0;
}
#experience .map .map_01 {
    top: 15.3%;
    left: 38.3%;
}
#experience .map .map_02 {
    top: 22.5%;
    left: 37%;
}
#experience .map .map_03 {
    top: 22.5%;
    right: 40.5%;
}
#experience .map .map_04 {
    top: 29%;
    left: 42.5%;
}
#experience .map .map_05 {
    top: 31%;
    left: 21%;
}
#experience .map .map_06 {
    top: 40%;
    left: 22.5%;
}
#experience .map .map_07 {
    top: 37.5%;
    left: 34.5%;
}
#experience .map .map_08 {
    top: 37.5%;
    right: 37.5%;
}
#experience .map .map_09 {
    top: 44%;
    right: 29%;
}
#experience .map .map_10 {
    top: 48.5%;
    left: 48.5%;
}
#experience .map .map_11 {
    top: 50.5%;
    left: 56.5%;
}
#experience .map .map_12 {
    top: 58%;
    right: 27%;
}
#experience .map .map_13 {
    top: 62%;
    right: 34.5%;
}
#experience .map .map_14 {
    bottom: 31%;
    right: 46.5%;
}
#experience .map .map_15 {
    bottom: 20%;
    right: 23.5%;
}

#experience ul {
    margin: 0 -20px;
}
#experience li.gr4 {
    padding: 20px 20px 40px;
}
#experience li.gr4 dl dt {
    font-size: 1.2em;
    padding: 0 0 1em;
}
#experience li.gr4 dl dd h4,
#experience li.gr4 div h4 {
/*    text-align: center;*/
    padding-bottom: 24px;
    border-bottom: 1px dashed #A1A1A1;
    position: relative;
    margin-bottom: 30px;
    font-size: 1.2em;
}
#experience li.gr4 div h4 span,
#experience li.gr4 dl dd h4 span {
    font-size: .8em;
}
#experience li.gr4 div h4 span:last-of-type,
#experience li.gr4 dl dd h4 span:last-of-type {
    display: block;
}
#experience li.gr4 dl dd h4:before,
#experience li.gr4 div h4:before {
    content: '';
    height: 6px;
    width: calc(100% - 8px);
    position: absolute;
    bottom: -3px;
    border-left: 6px solid #a1a1a1;
    border-right: 6px solid #a1a1a1;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
}
#experience li.gr4 dl dd p,
#experience li.gr4 div p {
    text-align: left;
    line-height: 1.5;
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: 1em;
}
#experience li.gr4 dl dd p span.info {
    font-size: .86em;
    display: block;
    margin-top: 1em;
}
/*
#act_ss .gr12 {
    margin: 30px auto;
    padding: 0 60px 60px;
}
*/
#experience.model .model_tab ul li,
#experience #exp_intro ul.tab > li {
    display: inline-block;
}
#experience #exp_intro ul.tab > li a {
    display: inline-block;
    position: relative;
    padding: 0 10px 10px;
    font-size: 1.3em;
}
#experience.model .model_tab ul li + li:before {
    content: '';
    height: 40px;
    width: 1px;
    display: inline-block;
    background-color: #AFAFAF;
    margin: 0 1.2em;
    transform: rotate(30deg);
    vertical-align: middle;
    margin-bottom: .4em;
}
#experience #exp_intro ul.tab > li + li:before {
    content: '';
    height: 48px;
    width: 1px;
    display: inline-block;
    background-color: #000;
    margin: 0 40px;
    transform: rotate(40deg);
    vertical-align: middle;
    margin-bottom: .4em;
}
#experience #exp_intro ul.tab > li a.selected:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 1px;
    width: 100%;
    background-color: #000;
    display: inline-block;
}
#experience .flow {
    background-color: #f4f4f4;
    box-shadow: -50vw 0 0 0 #f4f4f4, 50vw 0 0 0 #f4f4f4;
    padding: 60px 0 80px;
}
#experience .flow ul {
    display: flex;
    display:-ms-flexbox;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
    justify-content: center;
    flex-wrap: wrap;
}
#experience .flow ul li span {
    background-color: #fff;
    padding: 15px 10px;
}
#experience .flow ul li + li:before {
    content: '';
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/flow_arrow.svg);
    width: 4vw;
    max-width: 50px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 60%;
    display: inline-block;
    height: 200px;
}
#experience .flow .btn {
    background: #7f7f7f;
    color: #fff;
    padding: 10px 40px;
    font-size: 1.1em;
    margin: 60px 0 -30px;
    position: relative;
}
#experience .flow .btn:after {
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    content: "";
    vertical-align: middle;
}
#experience .detail .gr12 {
    display: flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
}
#experience .detail dl dt {
    font-size: 2.8em;
    margin-bottom: 20px;
    position: relative;
}
#experience .detail dl dt:after {
    content: '';
    position: absolute;
    width: 67px;
    height: 1px;
    background: #000;
    display: block;
    top: 6px;
    bottom: 0;
    margin: auto 0 auto 110px;
}
#experience .detail dl dd h3 {
    font-size: 1.3em;
}
#experience .detail dl dd p {
    font-size: .9em;
}
#experience #actvities .tab_wrap ul.tab li {
    display: inline-block;
}
#experience h3.sec_ttl {
    display: inline-block;
    font-size: 1.4em;
    letter-spacing: 2px;
    padding: 2px 40px;
    border: 1px solid;
}
#experience #exp_list h2 {
    background-size: cover;
    text-align: center;
    padding: 6% 0;
    background-position: center;
    color: #fff;
}

#act_ss .gr12 .gr6 > div:first-child {
    border-top: 1px solid #929292;
}
#act_ss .gr12 .gr6 div h4 {
    font-size: 1.8em;
    margin-bottom: 1.1em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin-left: auto;
    margin-right: auto;
    padding: 30px 10px;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/activities/model_ttl_bg.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
#act_ss .gr12 .gr6 div p {
    line-height: 1.55;
    margin-bottom: 1.5em;
}
#act_ss .gr12 .gr6 div:nth-child(2) {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media screen and (min-width:980px) {
/*
    #act_ss .gr12 .gr6 {
        display: flex;
        margin-bottom: 60px;
    }
    #act_ss .gr12 .gr6 div:last-child {
        width: calc(100% - 200px);
    }
    #act_ss .gr12 .gr6 div:first-child {
        width: 500px;
        height: 200px;
    }
    #act_ss .gr12 .gr6 div:last-child {
        padding-left: 15px;
    }
    #act_ss .gr12 .gr6:nth-child(2n-1) + .gr6:nth-child(2n) {
        border-left: 1px solid;
    }
    #act_ss .gr12 .gr6:nth-child(2n-1) {
        padding-right: 50px;
    }
    #act_ss .gr12 .gr6:nth-child(2n) {
        padding-left: 50px;
    }1px solid #929292
*/
    #experience .detail .gr12 > div:first-of-type .cp_txt_txt {
        padding: 0 14% 0 50%;
    }
    #experience .detail .gr12 > div:last-of-type .cp_txt_txt {
        padding: 0 50% 0 14%;
    }
}
@media screen and (min-width:768px) {

    #act_ss .gr12 .gr6:nth-child(2n-1) {
        padding-right: 4vw;
    }
    #act_ss .gr12 .gr6:nth-child(2n) {
        padding-left: 4vw;
    }
    #act_ss .gr12 .gr6 div:nth-child(2) {
        width: 100%;
        padding-top: calc(551/851*100%);
        background-size: 100% auto;
        margin-bottom: 15px;
    }
    #act_ss .gr12 .gr6 {
        margin-bottom: 120px;
    }
    #experience div.cp_img {
        width: 60%;
        position: relative;
        overflow: hidden;
    }
    #experience div.cp_txt {
        width: 40%;
        min-height: 410px;
        display: table;
    }
    #experience .detail .gr12 {
        margin-bottom: 120px;
    }
    #experience div.cp_txt .cp_txt_txt {
        display: table-cell;
        box-sizing: border-box;
        text-align: justify;
        vertical-align: middle;
    }
    #experience .flow ul li span {
        min-height: 200px;
    }
    #experience .flow {
        margin-bottom: 100px;
    }
}
@media screen and (max-width:767px) {
    #act_ss .gr12 .gr6 div:nth-child(2) {
        width: 100%;
        padding-top: calc(551/851*100%);
        background-size: 100% auto;
        margin-bottom: 15px;
    }
    #act_ss .gr12 .gr6 {
        margin-bottom: 40px;
    }
    #experience .map [class^="map_"] {
        font-size: 2vw;
    }
    #experience .detail .gr12 {
        margin-bottom: 40px;
    }
    #experience .detail .gr12:nth-child(2n) {
        flex-direction: column-reverse;
    }
    #experience .flow ul li {
        width: 90%;
    }
    #experience .flow ul li span {
        display: block;
        text-align: center;
    }
    #experience .flow ul li + li:before {
        transform: rotateZ(90deg);
        background-position: center;
        height: 34px;
        margin: auto;
        display: block;
        width: 34px;
    }
    #experience .detail .gr12 div.cp_txt {
        margin-top: 20px;
    }
    #experience .detail .gr12 div.cp_img {
        margin-top: 0;
    }
    #experience .flow {
        margin-bottom: 40px;
    }
}

#act_mc .gr12 .gr4 {
    padding: 15px;
}
#act_mc .gr12 .gr4 > div {
    border: 1px solid rgba(0,0,0,.15);
    padding: 30px 20px;
}
#act_mc .gr12 .gr4 h4 {
    text-align: center;
    font-size: 1.5em;
    margin: 1.5em 0;
    
}

#act_mc .gr12 .gr4 p {
    line-height: 1.55;
    margin-bottom: 1.5em;
}



/*
#act_ss .gr12 .gr6 a,
#act_mc .gr12 .gr4 a {
    color: #fff;
    background-color: #343434;
    padding: 6px;
    display: block;
    text-align: center;
}
*/
#act_mc .gr12 .gr4 a {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}


/*======================
出かける - モデルコース
=======================*/
#model .model_title h2 {
    font-size: 2em;
    padding-top: 100px;
    padding-bottom: 120px;
}
#model .model_title h2:after {
    content: '';
    display: inline-block;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/activities/model_ttl_bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 20px;
    margin-left: 10px;
}
#model .model_h3 {
    font-size: 2em;
    border-left: 1px solid;
    padding: .4em 0 .4em 1.2em;
    line-height: 1.3;
}
#model .model_h3 span {
    font-size: .6em;
    letter-spacing: 2px;
}
#model .btn {
    display: inline-block !important;
    width: auto !important;
    padding: 0 22px !important;
}
#model .model_title2 {
    margin-bottom: 120px;
}
#model .model_title2 h3 {
    font-size: 1.6em;
    margin-bottom: 30px;
}

#model .ac_flow {
    display: grid;
}

#model .ac_flow [id^="item"] {
    display: grid;
    align-items: center;
    position: relative;
    line-height: 1.5;
}
#model .bytrain .ac_flow #itemC .arrow span {
    height: 86px !important;
}
#model .ac_flow .arrow span:before,
#model .ac_flow .arrow_dsd span:before {
    content: '';
    width: 15px;
    height: 15px;
    border-top: solid 1px black;
    border-right: solid 1px black;
    transform: rotate(45deg);
    position: absolute;
    right: 5.3%;
    margin-top: -1px;
}
#model .ac_flow .arrow span:after,
#model .ac_flow .arrow_dsd span:after {
    content: '';
    width: 90%;
    height: 0;
    position: absolute;
    top: 6.5px;
    left: 0;
    right: 0;
    margin: auto;
}

#model .ac_flow .arrow_dsd span:after,
#model .ac_flow .arrow span:after {
    border-top: solid 1px #393939;
}
#model [class^="model-"] {
    position: relative;
}
#model [class^="model-"] > p {
    font-size: 1.3em;
    position: absolute;
    background-color: #fff;
    display: inline-block;
    top: -.5em;
    padding-right: 1em;
}
#model [class^="model-"] .ac_flow p {
    position: absolute;
}
#model [class^="model-"] .arrow span,
#model [class^="model-"] .arrow_dsd span {
    position: relative;
    height: 30px;
    display: block;
    margin-top: 22%
}



/*塩の旅 - 塩づくりを学ぶコース(model-1-1)*/

#model .model-1-1 .ac_flow {
/*
    position: relative;
    padding-top: calc(619/1790*100%);
*/
}

#model .model-1-1 .ac_flow {
    grid-template-rows: 82px;
    grid-template-columns: 20% 12% 13% 12% 13% 12% 16%;
    grid-gap: 15px 0;
    padding: 60px 0;
    border-top: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
}

#model .model-1-1 .ac_flow #itemA {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    background-color: #EDEDED;
}
#model .model-1-1 .ac_flow #itemC {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
}
#model .model-1-1 .ac_flow #itemD {
    grid-column: 1 / 2;
    grid-column: 3 / 4;
    background-color: #EDEDED;
}
#model .model-1-1 .ac_flow #itemE {
    grid-row: 1 / 2;
    grid-column: 4 / 5;
}

#model .model-1-1 .ac_flow #itemG {
    grid-row: 1 / 2;
    grid-column: 5 / 6;
    background-color: #EDEDED;
}
#model .model-1-1 .ac_flow #itemI {
    grid-row: 1 / 2;
    grid-column: 6 / 7;
}
#model .model-1-1 .ac_flow #itemK {
    grid-column: 1 / 2;
    grid-column: 7 / 9;
    background-color: #EDEDED;
}

/*塩の旅 - 塩づくりが体験できるコース & 塩づくりの歴史を学ぶコース(model-1-2) */

#model .model-1-2 .ac_flow {
/*
    position: relative;
    padding-top: calc(619/1790*100%);
*/
}

#model .model-1-2 .ac_flow {
    grid-template-rows: 82px;
    grid-template-columns: 20% 12% 13%;
    grid-gap: 15px 0;
    padding: 60px 0;
    border-top: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
}

#model .model-1-2 .ac_flow #itemA {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    background-color: #EDEDED;
}
#model .model-1-2 .ac_flow #itemC {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
}
#model .model-1-2 .ac_flow #itemD {
    grid-column: 1 / 2;
    grid-column: 3 / 4;
    background-color: #EDEDED;
}


#model .model-1-3 .ac_flow {
    grid-template-rows: 82px;
    grid-template-columns: 20% 12% 13% 12% 13%;
    grid-gap: 15px 0;
    padding: 60px 0;
    border-top: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
}

#model .model-1-3 .ac_flow #itemA {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
    background-color: #EDEDED;
}
#model .model-1-3 .ac_flow #itemC {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
}
#model .model-1-3 .ac_flow #itemD {
    grid-column: 1 / 2;
    grid-column: 3 / 4;
    background-color: #EDEDED;
}
#model .model-1-3 .ac_flow #itemE {
    grid-row: 1 / 2;
    grid-column: 4 / 5;
}
#model .model-1-3 .ac_flow #itemF {
    grid-column: 1 / 2;
    grid-column: 5 / 6;
    background-color: #EDEDED;
}

/*島の旅*/
#model .model_actv li.gr4 {
    padding-bottom: 40px;
}

#model .model_actv li.gr4 p {
    text-align: left;
    font-size: 1.1em;
}
#model .model_actv ul li div:first-of-type {
    padding-top: calc(694/886*100%);
    background-size: 100% auto;
    background-repeat: no-repeat;
}
#model .model_actv h4 {
    font-size: 1.5em;
    padding: .5em .8em;
    border: 1px solid;
    margin-bottom: 40px;
    display: inline-block;
}
#model .model_actv dl {
    display: flex;

  	display:-ms-flexbox;
    border-top: 1px solid #c4c4c4;
    border-bottom: 1px solid #c4c4c4;
    padding: 16px 20px;
}
#model .model_actv dl dt {
    padding: 20px;
    font-size: 1.3em;
}
#model .model_actv dl dd {
    flex: 1;
    border-left: 1px solid #c4c4c4;
    line-height: 1.3;
    padding: 10px 0 10px 20px;
}

#model .model-bnr .gr4 a {
    display: block;
    padding: 20% 5%;
    color: #fff;
    font-size: 2em;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
}
#model .model-bnr .shio a {
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/activities/model/shio_bnrbg.jpg);
} 
#model .model-bnr .sake a {
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/activities/model/sake_bnrbg.jpg);
} 
#model .model-bnr .umi a {
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/activities/model/umi_bnrbg.jpg);
} 
#model .model-bnr .shima a {
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/activities/model/shima_bnrbg.jpg);
} 
#model .photo_3 div p {
    margin-top: 10px;
}

@media screen and (min-width: 769px) {
    #model .photo_3 div {
        padding: 0 5px;
    }
    #model .photo_3 {
        width: calc(100% + 10px);
        margin-left: -5px;
    }

    #model .model-bnr .gr4:first-of-type {
        padding-right: 20px;
    }
    #model .model-bnr .gr4:last-of-type {
        padding-left: 20px;
    }
    #model .model-bnr .gr4:nth-of-type(2) {
        padding-left: 10px;
        padding-right: 10px;
    }
    #model .model_actv li.gr4 {
        padding-top: 20px;
    }
    #model .model_actv li.gr4:first-child {
        padding-right: 20px;
    }
    #model .model_actv li.gr4:last-child {
        padding-left: 20px;
        padding-right: 0 !important;
    }
    #model .model_actv li.gr4:first-child:only-child {
        padding-left: 0 !important;
    }
    #model .model_actv li.gr4 + li.gr4 {
        padding-left: 10px;
        padding-right: 10px;
    }

}
@media screen and (max-width: 768px) {
    #model .photo_3 div + div {
        margin-top: 15px;
    }
    #model .model-bnr .gr4 + .gr4 {
        margin-top: 10px;
    }
    #model .model-1-2 .ac_flow {
        grid-template-columns: 44% 27% 29%;
    }
    #model .model-1-3 .ac_flow {
        grid-template-columns: 32% 16% 18% 16% 18%;
    }
    #model .model_h3 {
        padding-left: 1em !important;
    }
    #model .ac_flow .arrow span:before, #model .ac_flow .arrow_dsd span:before {
        width: 8px !important;
        height: 8px !important;
        top: 3px !important;
    }
    #model .ac_flow [id^="item"] {
        padding: 4px;
        font-size: .8em;
    }
    #model p {
        text-align: justify;
        text-justify: inter-ideograph;
    }
    #model .model_actv dl dt {
        padding-left: 0 !Important;
        line-height: 1.5;
    }
}


/*======================
アクティビティ
=======================*/
#activity .model_h3 {
    border-left: 1px solid;
    padding: .4em 0 .4em 1.6em;
    line-height: 1.3;
}
#activity .model_h3 h3 {
    font-size: 2em;
}
#activity .model_h3 p {
    font-size: .9em;
    line-height: 1.8;
}
#activity .model_h3 h3 span {
    font-size: .7em;
    padding: .3em .6em;
    background-color: #ededed;
    margin-right: 1.2em;
    display: inline-block;
}
#activity .actv_point {
    background-color: #F2F5F5;
    padding: 2.2em 2em 1em;
}
#activity .actv_point h3 {
    font-size: 1.3em;
    margin-bottom: 20px;
}

#activity .actv_point ul li {
    border-top: 1px solid #c2c2c2;
    line-height: 2;
    padding: .5em .5em .5em 1.5em;
    position: relative;
}
#activity .actv_point ul li:before {
    content: '・';
    display: block;
    position: absolute;
    left: .5em;
}
#activity .actv_info dl {
    border-top: 1px solid #c2c2c2;
    padding: 10px 0;
    display: flex;
  	display:-ms-flexbox;
}
#activity .actv_info dl:last-of-type {
    border-bottom: 1px solid #c2c2c2;
}
#activity .actv_info dl dt {
    font-size: .8em;
    background-color: #ededed;
    width: 24%;
    max-width: 140px;
    text-align: center;
    line-height: 39px;
}
#activity .actv_info dl dd {
    width: 70%;
    padding: .8em 0 .8em 6%;
}
#activity .actv_info dl dd table tr td {
    line-height: 1.5;
    padding: .2em .5em;
}
#activity .actv_info dl dd a {
    color: #fff;
    font-size: .9em;
    background-color: #6b6b6b;
    border-radius: 4px;
    padding: .3em 1em;
    margin-left: 20px;
}
#activity .actv_point ul li,
#activity .actv_info dl {
    font-size: 1.1em;
}
@media screen and (min-width:769px) {
    #activity .actv_box .photo_2 {
        display: flex;
        display:-ms-flexbox;
    }
    #activity .actv_box .photo_2 div + div {
        margin-left: 15px;
    }
}


/*======================
コンセプト
=======================*/
#concept .hero-title h2 {
    background-color: rgba(255,255,255,.5) !important;
}

.ccpt_h3 {
    font-size: 1.6em;
    letter-spacing: 3px;
    position: relative;
    padding: 30px 0;
    line-height: 1.7;
}
.ccpt_h3:before {
    content: '';
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/ttl_line_t.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    width: 30px;
    height: 4px;
}
.ccpt_h3:after {
    content: '';
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/ttl_line_b.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    width: 30px;
    height: 4px;
}
#concept #ccpt_cont .section_innerwrap {
    margin-top: 60px;
    padding: 40px 0 80px;
/*    padding: 40px 15% 80px;*/
}

#concept .sake_actv {
    background-color: #000;
    color: #fff;
    width: 80%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    min-height: 350px;
}
#concept .sake_actv .gr6:last-child {
    padding: 40px 30px 30px;
    color: #fff;
}
#concept .sake_actv .gr6:last-child h2 {
    color: #fff;
    font-size: 1.3em;
    line-height: 1.5;
    margin-bottom: 20px;
}
#concept .sake_actv .gr6:last-child p {
    color: #fff;
    line-height: 1.6;
    margin-bottom: 20px;
}
#concept #ccpt_cont {
    margin-top: 80px !important;
    margin-bottom: 10%;
}
#concept [id^="ccpt_"]:not(#ccpt_cont) {
    margin-top: 3%;
    margin-bottom: 10%;
}
[id^="ccpt_"] .gr12 {
    margin-top: 0;
}
[id^="ccpt_"] div.cp_txt {
    position: relative;
}
[id^="ccpt_"] div.cp_txt h2 {
    z-index: -1;
}
[id^="ccpt_"] div.cp_txt h3 {
    font-size: 1.4em;
    line-height: 1.5;
    margin-bottom: 30px;
    margin-top: 10px;
}
[id^="ccpt_"] div.cp_txt p {
    line-height: 1.6;
    text-align: justify;
    text-justify: inter-ideograph;
}

[id^="ccpt_"] div.cp_txt p span {
    font-size: .9em;
    margin-top: 1em;
    display: block;
}
[id^="ccpt_"] .gr12 {
    display: flex;

  	display:-ms-flexbox;
    flex-wrap: wrap;
}
#ccpt_cont .cont_bg {
    width: 100%;
/*    position: relative;*/
    background-image: url(https://www.cultia-dazaifu.com/wp/wp-content/themes/cultia2019/assets/img/concept/bg_img_02.jpg);
    background-size: cover;
    background-position: right center;
    max-height: 700px;
}
#ccpt_cont .cont_bg > img {
    width: 100%;
}
#ccpt_cont .cont_txt {
    height: 380px;
/*
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
*/
    margin: auto;
}
#ccpt_cont .cont_txt,
#ccpt_cont .cont_txt h3,
#ccpt_cont .cont_txt p {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}
#ccpt_cont .cont_txt .mnc-b {
    letter-spacing: 0;
    margin-bottom: 0;
}
#ccpt_cont .cont_txt p {
    letter-spacing: 0;
    letter-spacing: 2px;
    text-align: justify;
    text-justify: inter-ideograph;
}
.ccpt_lead p {
    height: 274px;
}
#ccpt_history .section_innerwrap {
    padding-top: 0 !important;
}
.bnr_bgimg a,
.bnr_bgimg > div {
    background-size: cover;
    margin: 10% auto;
    display: block;
    padding: 5%;
}
.bnr_bgimg a {
    max-width: 1057px;
    width: 90%;
}
/*
.bnr_bgimg > div {
    width: 100%;
}
*/
.about_vmg a {
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/concept/bnr_vmg.jpg);
}
.bnr_bgimg a p,
.bnr_bgimg > div h3 {
    color: #fff;
    border: 1px solid #fff;
    padding: 15px 20px;
    margin: 2.5%;
    display: inline-block;
    font-size: 1.8em;
}
[id^="ccpt_"] div.cp_txt h2 {
    max-width: 240px;
}
[id^="ccpt_"] div.cp_txt h3:before {
    content: '';
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/exp_ico.svg);
    width: 20px;
    height: 20px;
    background-size: contain;
    margin: 0 auto 20px;
    display: block;
    background-repeat: no-repeat;
}
[id^="ccpt_"] div.cp_txt_txt > span {
    display: block;
    font-family: 'Didot', serif;
    font-size: .8em;
    text-align: center;
}
/*
#ccpt_history div.cp_txt_txt:before {content:'history';}
#ccpt_faith div.cp_txt_txt:before {content:'faith';}
#ccpt_culture div.cp_txt_txt:before {content:'culture';}
*/

div.cp_txt .cp_txt_txt {
    padding: 0 7%;
}

@media screen and (min-width:768px) {
    #ccpt_history div.cp_txt h2 {
        top: 50px;
    }
    #ccpt_faith div.cp_txt h2 {
        top: 30px;
    }
    #ccpt_culture div.cp_txt h2 {
        top: 50px;
    }
    [id^="ccpt_"] div.cp_txt h3 {
        text-align: left;
        margin: 0 auto;
        min-height: 288px;
        margin-bottom: 30px;
        position: relative;
        padding-top: 40px;
        line-height: 2;
    }
    [id^="ccpt_"] div.cp_txt h3:before {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
    }
    section#ccpt_history div.section_wrap div.section_innerwrap,
    section#ccpt_faith div.section_wrap div.section_innerwrap {
        padding-bottom: 0 !important;
    }
    #ccpt_culture .cp_txt {
        width: 48% !important;
    }
    #ccpt_culture .cp_img {
        width: 52% !important;
    }
    #ccpt_cont .cont_bg {
        padding: 10% 0;
    }
    #ccpt_cont .cont_txt .mnc-b {
        margin-left: 2em;
        line-height: 2;
    }
    #ccpt_cont .cont_txt p {
        line-height: 3;
        margin-bottom: 87px;
    }
    
    [id^="ccpt_"] div.cp_txt {
        display: flex;
        display:-ms-flexbox;
        padding: 0;
    }

    div.cp_txt .cp_txt_txt {
        display: inline-block;
        box-sizing: border-box;
        width: 80%;
    }
    div.cp_txt .cp_txt_img {
        display: inline-block;
        box-sizing: border-box;
        width: 20%;
        overflow: hidden;
        position: relative;
    }
    div.cp_txt .cp_txt_img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        object-fit: cover;
        width: 100%;
        height: 100%;
        font-family: 'object-fit: contain;'
    }
    [id^="ccpt_"] div.cp_txt_txt > span {
        margin: -20px auto 10px;
    }
}
@media screen and (max-width:767px) {
    #concept #ccpt_cont .section_innerwrap {
        padding: 0;
    }
    #ccpt_history div.cp_txt h2 {
        top: 0;
    }
    #ccpt_faith .cp_txt {
        -webkit-box-ordinal-group:2;
      -ms-flex-order:2;
      -webkit-order:2;
      order:2;
        margin-top: 20px;
    }
    #ccpt_faith .cp_img {
        -webkit-box-ordinal-group:1;
      -ms-flex-order:1;
      -webkit-order:1;
      order:1;
    }
    #ccpt_cont .cont_bg {
        padding: 80px 0;
    }
    #ccpt_cont .cont_txt .mnc-b {
        margin-left: 1em;
        line-height: 2;
    }
    #ccpt_cont .cont_txt p {
        line-height: 2;
        margin-bottom: 0;
    }
    div.cp_txt .cp_txt_img { 
        display: none;
    }
    [id^="ccpt_"] div.cp_txt_txt:before {
        margin: 0 auto 15px;
    }
}

/*======================
アクセス(access)
=======================*/

h2.bgbk span {
/*    background-color: #000;*/
/*    color: #fff;*/
    height: 52px;
    line-height: 52px;
    font-size: 1.2em;
    letter-spacing: 1px;
/*    width: 270px;*/
    padding: 0 1em 1em;
    margin: auto;
    border-bottom: 1px solid;
    display: inline-block;
}
#access h3 {
    font-size: 1.7em;
    text-align: center;
    padding-bottom: 1em;
}
#access h3 span {
    display: inline-block;
    position: relative;
    margin-top: 12px;
    font-size: .6em;
}
#access h3 span:before,
#access h3 span:after {
    content: '';
    height: 1px;
    position: absolute;
    width: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #000;
}
#access h3 span:before {
    left: -45px;
}
#access h3 span:after {
    right: -45px;
}
#access .ac_flow {
    display: grid;
}

#access .ac_flow [id^="item"] {
    display: grid;
    align-items: center;
    position: relative;
}

#top_access .gmap_btn,
#access .gmap_btn {
    margin-left: 5%;
}


/*飛行機でお越しの場合*/

#access .byair .grid-container {
  display: grid;
  grid-template-columns: 1fr 0.5fr 3fr 0.7fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
  grid-template-areas: "fromHND tarminal byTrain goal" "fromNRT tarminal byTrain goal" "fromKIX tarminal byTrain goal" "fromCTS tarminal byBus goal" "fromOKA tarminal byBus goal";
  min-height: 278px;
}
#access .byair .fromHND {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "ap1 m120" "ap1 .";
  grid-area: fromHND;
    align-items: center;
}

#access .byair .ap1 { grid-area: ap1; }

#access .byair .m120 { grid-area: m120; text-align: center;}

#access .byair .fromNRT {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "ap2 m125" "ap2 .";
  grid-area: fromNRT;
    align-items: center;
}

#access .byair .ap2 { grid-area: ap2; }

#access .byair .m125 { grid-area: m125; text-align: center; }

#access .byair .fromKIX {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "ap3 m75" "ap3 .";
  grid-area: fromKIX;
    align-items: center;
}

#access .byair .ap3 { grid-area: ap3; }

#access .byair .m75 { grid-area: m75; text-align: center; }

#access .byair .fromCTS {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "ap4 m155" "ap4 .";
  grid-area: fromCTS;
  align-items: center;
}

#access .byair .ap4 { grid-area: ap4; }

#access .byair .m155 { grid-area: m155; text-align: center; }

#access .byair .fromOKA {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "ap5 m105" "ap5 .";
  grid-area: fromOKA;
  align-items: center;
}

#access .byair .ap5 { grid-area: ap5; }

#access .byair .m105 { grid-area: m105; text-align: center; }

#access .byair [class^="from"] {
    position: relative;
}
#access .byair [class^="from"]:before {
    content: '';
    width: 50%;
    height: 0;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    margin: auto;
    border-top: 1px dashed #a4a4a4;
}
#access .byair [class^="from"]:after {
    content: '';
    width: 16px;
    height: 16px;
    display: block;
    background-color: #b1b1b1;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 15%;
    left: 0;
    margin: auto;
}
#access .byair .byBus,
#access .bytrain .byBus {
    display: grid;
    grid-template-columns: 8fr 1fr 1.5fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas:
        "blank8 DZFst2 ."
        "bus_125m . walk_5m";
    grid-area: byBus;
    text-align: center;
    position: relative;
    align-items: center;
}
#access .byair .byBus .DZFst2:after,
#access .bytrain .byBus .DZFst2:after {
    right: 18% !important;
}

/* ========== 新幹線・電車でお越しの場合 ========== */
#access .bytrain .grid-container {
  display: grid;
  grid-template-columns: 1fr 0.5fr 3fr 0.7fr;
  grid-template-rows: 1fr 1fr 2fr;
  grid-template-areas: "shinOsaka tarminal byTrain goal" "shinOsaka tarminal byTrain goal" "shinagawa tarminal byBus goal";
        min-height: 278px;
}
#access .bytrain .shinOsaka {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "st1 m160" "st1 .";
  grid-area: shinOsaka;
    align-items: center;
}

#access .bytrain .st01 { grid-area: st1; }

#access .bytrain .m160 { grid-area: m160; text-align: center; margin-top: 40%; }

#access .bytrain .shinagawa {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "st2 m140" "st2 .";
  grid-area: shinagawa;
    align-items: center;
}

#access .bytrain .st02 { grid-area: st2; }

#access .bytrain .m140 { grid-area: m140; text-align: center; margin-top: 40%; }

#access .bytrain .shinOsaka,
#access .bytrain .shinagawa {
    position: relative;
}
#access .bytrain .shinOsaka:before,
#access .bytrain .shinagawa:before {
    content: '';
    width: 50%;
    height: 0;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    margin: auto;
    border-top: 1px dashed #a4a4a4;
}
#access .bytrain .shinOsaka:after,
#access .bytrain .shinagawa:after {
    content: '';
    width: 16px;
    height: 16px;
    display: block;
    background-color: #b1b1b1;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 15%;
    left: 0;
    margin: auto;
}


/* ========== バスでお越しのお客様 ========== */

#access .bybus .grid-container {
  display: grid;
  grid-template-columns: 0.75fr 3.75fr 0.7fr;
  grid-template-rows: 1fr 1fr 2fr;
  grid-template-areas: "FUK_bus byBus_02 goal" "FUK_bus byBus_02 goal" "HKT_bus byBus goal";
    min-height: 278px;
}
#access .bybus .blank8 { grid-area: blank8; }

#access .bybus .DZFst2 { grid-area: DZFst2; }

#access .bybus .bus_125m { grid-area: bus_125m; }

#access .bybus .walk_5m { grid-area: walk_5m; }

#access .bybus .byBus_02 {
  display: grid;
  grid-template-columns: 2fr 0.5fr 0.5fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "blank DZFst ." "bus_40m . walk_5m_02";
  grid-area: byBus_02;
text-align: center;
    position: relative;
    align-items: center;
}

#access .bybus .bus_40m { grid-area: bus_40m; }

#access .bybus .walk_5m_02 { grid-area: walk_5m_02; }

#access .bybus .DZFst { grid-area: DZFst; }

#access .bybus .blank { grid-area: blank; }

#access .bybus .FUK_bus { grid-area: FUK_bus; }

#access .bybus .HKT_bus { grid-area: HKT_bus; }

#access .bybus .HKT_bus,
#access .bybus .FUK_bus {
    position: relative;
    align-items: center;
    display: grid;
    padding-right: 20px;
}

#access .bybus .HKT_bus:after,
#access .bybus .FUK_bus:after {
    content: '';
    width: 16px;
    height: 16px;
    display: block;
    background-color: #b1b1b1;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 2%;
    margin: auto 0;
}


/* ========== お車でお越しのお客様 ========== */

#access .bycar .grid-container {
  display: grid;
  grid-template-columns: 0.75fr 3.75fr 0.7fr;
  grid-template-rows: 1fr 1fr 2fr 2fr;
  grid-template-areas: "IC01 dzf goal" "IC01 dzf goal" "IC02 cksn goal" "IC03 mzsr goal";
    min-height: 278px;
}

#access .bycar .IC01 { grid-area: IC01; }

#access .bycar .IC02 { grid-area: IC02; }

#access .bycar .IC03 { grid-area: IC03; }

#access .bycar .mzsr {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "dis_tm_03" ".";
  grid-area: mzsr;
        text-align: center;
    position: relative;
    align-items: center;
}

#access .bycar .dis_tm_03 { grid-area: dis_tm_03; }

#access .bycar .dzf {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "dis_tm_01" ".";
  grid-area: dzf;
        text-align: center;
    position: relative;
    align-items: center;
}

#access .bycar .dis_tm_01 { grid-area: dis_tm_01; }

#access .bycar .cksn {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "dis_tm_02" ".";
  grid-area: cksn;
        text-align: center;
    position: relative;
    align-items: center;
}

#access .bycar .dis_tm_02 { grid-area: dis_tm_02; }

#access .bycar .IC01,
#access .bycar .IC02,
#access .bycar .IC03 {
    position: relative;
    align-items: center;
    display: grid;
    text-align: right;
    padding-right: 20%;
}

#access .bycar .IC01:after,
#access .bycar .IC02:after,
#access .bycar .IC03:after {
    content: '';
    width: 16px;
    height: 16px;
    display: block;
    background-color: #b1b1b1;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 2%;
    margin: auto 0;
}
#access .bycar .mzsr:before,
#access .bycar .dzf:before,
#access .bycar .cksn:before {
    content: '';
    width: 100%;
    height: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-top: 1px dashed #a4a4a4;
}


/* ========== 飛行機・電車・バス共通スタイル ========== */

#access .tarminal { grid-area: tarminal; display: grid; align-items: center; position: relative; background-color: #b1b1b1; color: #fff; text-align: center;}


#access .goal { grid-area: goal;  display: grid; align-items: center; position: relative; background-color: #797979; }

#access .byTrain {
  display: grid;
  grid-template-columns: 2fr 1fr 1.5fr 1fr 2fr 1fr 1.5fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "blank TJNst . FUKst . DZFst ." "subway_12m . walk_5m3 . NT28m . walk_5m2";
  grid-area: byTrain;
     text-align: center;
    position: relative;
    align-items: center;
}
#access .byTrain:before,
#access .byBus:before,
#access .byBus_02:before {
    content: '';
    width: 100%;
    height: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-top: 1px dashed #a4a4a4;
}


#access .blank { grid-area: blank; }

#access .TJNst { grid-area: TJNst; }

#access .FUKst { grid-area: FUKst; }

#access .DZFst { grid-area: DZFst; }

#access .walk_5m2 { grid-area: walk_5m2; }

#access .subway_12m { grid-area: subway_12m; }

#access .walk_5m3 { grid-area: walk_5m3; }

#access .NT28m { grid-area: NT28m; }

#access .byBus {
  display: grid;
  grid-template-columns: 4fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "blank8 DZFst2 ." "bus_125m . walk_5m";
  grid-area: byBus;
     text-align: center;
    position: relative;
    align-items: center;
}

#access .blank8 { grid-area: blank8; }

#access .DZFst2 { grid-area: DZFst2; }

#access .bus_125m { grid-area: bus_125m; }

#access .walk_5m { grid-area: walk_5m; }

#access [class$="st"]:after,
#access [class$="st2"]:after,
#access .DZFst2:after {
    content: '';
    width: 16px;
    height: 16px;
    display: block;
    background-color: #b1b1b1;
    position: absolute;
    bottom: 0;
    top: 0;
    margin: auto 0;
}
.byTrain .TJNst:after {
    left: 23%;
}
.byTrain .FUKst:after {
    left: 47.5%;
}
.byTrain .DZFst:after {
    right: 18%;
}
.byBus .DZFst2:after,
.byBus .DZFst:after,
.byBus_02 .DZFst:after {
    right: 24%;
}



#access .bycar .ac_flow .ccl span,
#access .bybus .ac_flow .ccl span {
    width: 10vmin;
    height: 10vmin;
    max-width: 100px;
    max-height: 100px;
    border: 1px solid;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#top_access .gmap_btn,
#access .gmap_btn,
#model .gmap_btn {
    background-color: #3564BD;
    color: #fff;
    padding: .6em 1.2em;
    margin-top: 30px;
    display: inline-block;
    letter-spacing: 2px;
}
#access .gmap_btn + p {
    display: inline-block;
    padding: .6em 2em;
}

#top_access iframe,
#access iframe,
#model iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

#access .con_fc_inner dl {

  	display:-ms-flexbox;
  	display:flex;
    margin-bottom: 30px;
  align-items: center;
}
#access .con_fc_inner dl dt {
    border: 1px solid #8F8F8F;
    padding: 1em;
    font-size: 1.1em;
}
#access .con_fc_inner dl dd {
    font-size: 1.2em;
    padding-left: .8em;
    line-height: 1.5;
}
#access .goal img {
    display: block;
    margin: auto;
}
#access #parking {
    text-align: center;
}
#access .parking_h3 {
    text-align: center;
    display: inline-block !important;
    padding: 0.2em 1em;
    border: 1px solid;
}

@media screen and (min-width: 769px) {
    #access .con_fc_inner {
        position: absolute;
        width: 80%;
        right: 0;
        left: 0;
    }
    #access .byTrain div,
    #access .byBus div {
        white-space: nowrap;
    }
}
@media screen and (max-width: 768px) {
    #access [class^="air_"],
    #access [class^="train_"] {
        font-size: 2vw;
    }
    #access .air_01 {
        top: 25%;
        left: 13.5%;
    }
    #access .air_02 {
        top: 8%;
        left: 48%;
    }
    #access .train_01 {
        top: 71%;
        left: 5%;
    }
    #access .train_02 {
        top: 55%;
        left: 57%;
    }
    #access .map_logo {
        top: 70%;
        left: 23.5%;
        padding: 10px 6px 6px;
    }
    #access .map_logo img {
        width: 10vw;
    }
    #access .con_fc_inner {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 0;
/*        margin-bottom: -10%;*/
    }
    #aceess .map_logo img {
        width: 8vw;
    }
    #access .ac_flow p {
        font-size: calc(.5em + 1.1vw);
    }

    #access .grid-container {
        font-size: 1.5vw;
    }
}
@media screen and (max-width:680px) {
    #access .byair [class^="from"]:after,
    #access .bytrain .shinOsaka:after, 
    #access .bytrain .shinagawa:after,
    #access .bybus .HKT_bus:after,
    #access .bybus .FUK_bus:after,
    #access .bycar .IC01:after,
    #access .bycar .IC02:after,
    #access .bycar .IC03:after {
        width: 10px;
        height: 10px;
        right: -15%;
    }
    #access [class$="st"]:after,
    #access [class$="st2"]:after {
        width: 10px;
        height: 10px;
    }
    .TJNst,.FUKst,.DZFst:not(.yoko) {
        -webkit-font-feature-settings: 'pkna';
          font-feature-settings: 'pkna';
    -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
    }
    .DZFst2 {
        white-space: nowrap;
    }
    
    .tarminal,
    .tarminal span {
       font-size: 1.7em;
    }
    
}

/*================================
お問合わせ(contact)
==================================*/
#contact_form .section_innerwrap {
    margin: 0 auto;
}
#contact_form dl {
    border-top: 1px solid #acacac;
    padding: 1em 0;
    width: 100%;
    overflow: hidden;
}
#contact_form dl dt {
    padding-left: 62px;
    width: 24%;
    float: left;
/*    text-align: right;*/
    position: relative;
    box-sizing: border-box;
/*    margin-top: 10px;*/
}
#contact_form dl dt,
#contact_form dl dd {
    padding-top: 10px;
    padding-right: 10px;
    padding-bottom: 0px;
}
#contact_form dl dd {
    margin-left: 24%;
    padding-left: 10px;
}
#contact_form dl dd:after{
  display: block;
  content: "";
  clear: both;
}
#contact_form dl dt.must:before {
    content: '必須';
    position: absolute;
    display: inline-block;
    padding: .4em .8em;
    background-color: #cc5188;
    border: 1px solid #cc5188;
    top: 0;
    left: 0;
    color: #fff;
    font-family: sans-serif;
    font-size: .9em;
}
#contact_form dl dd label {
    display: block;
    border: 1px solid #adadad;
    padding: .5em .8em;
    
}
#contact_form dl dd label + label {
    margin-top: 10px;
}
#contact_form dl dd > dl {
    border-top: 0 !important;
    padding: 0 !important;
}
#contact_form dl dd > dl dt {
    padding-left: 0 !important;
    width: 15% !important;
    padding-top: 0 !important;
}
#contact_form dl dd > dl dd {
    margin-left: 15%;
}
#contact_form dl dd > dl:first-child dd:first-of-type {
    padding-top: 0 !important;
}
#contact_form input[type="radio"] {
    margin-right: 5px;
}
#contact_form select {

  /* styling */
  background-color: white;
  border: thin solid #ddd;
  border-radius: 4px;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: 0.5em 3.5em 0.5em 1em;

  /* reset */

  margin: 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
    
  background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
}

@media screen and (min-width: 769px) {
    #contact_form .section_innerwrap {
        width: 70%;
        margin: 0 auto;
    }
}
@media screen and (max-width: 768px) {
  #contact_form dl dt {
    width: 100%;
    float: none;
      margin-top: 0;
      padding-top: 0;
  }
  #contact_form dl dd {
    margin-left: auto;
    border-left: none;
  }
    #contact_form dl dt.must:before {
        position: static !important;
        margin-right: 10px;
    }
    #contact_form dl dd.number input {
        width: 26%;
/*        width: 46%;*/
    }
    #contact_form dl dd.number input + input {
        margin-left: 2%;
    }
    #contact_form dl dd + dt {
        margin-top: 10px;
    }
/*
    #contact_form form > dl:nth-of-type(3) dd input,
    #contact_form form > dl:nth-of-type(4) dd input,
*/
    #contact_form form > dl:nth-of-type(6) dd textarea {
        width: 100% !important;
    }
    #contact_form dl dt,
    #contact #contact_form form dl dd > dl dt {
        width: 100% !important;
        padding-left: 0 !important;
        text-align: left !important;
    }
    #contact_form dl dd span {
        display: block;
        margin-top: .5em;
/*        text-align: right;*/
    }
    form input[type="text"], form input[type="email"], form input[type="url"], form input[type="tel"], form input[type="date"], form textarea {
        width: 100%;
    }
    form textarea {
        width: 100% !important;
    }
    span + input {
        margin-top: 10px;
    }
/*
    #contact_form dl dt.must:before {
        display: block;
        width: 29px;
    }
*/

}

/*====================================
お知らせ(news)
======================================*/
#news #actv_src ul {
  display: flex;
  flex-wrap: wrap;
}
#news #actv_src ul hr {
  width: 100%;
}
#news li.gr4 {
    padding: 20px 20px 40px;
}
#news li.gr4 dl dt {
    font-size: 1.2em;
    padding: 20px 0;
}
#news li.gr4 dl dd p {
    text-align: left;
    line-height: 1.5;
}
#news li.gr4 dl dd p:last-child {
    font-size: .9em;
}
#news .gr12 ul li a {
/*
    width: auto !important;
    padding: 0 30px;
*/
/*    color: #fff !important;*/
}
#news .gr12 ul li a:hover,
#news .gr12 ul li a:visited {
/*
    width: auto !important;
    padding: 0 30px;
*/
    opacity: .9;
}
#news .tags {
    background-color: #dadada;
    display: inline-block;
    padding: .6em;
    color: #fff;
    font-size: .8em;
}
#news h4 {
    margin: 30px 0;
}
#news li.gr4 dl dt a div {
    background-size: cover;
    background-repeat: no-repeat;
}

.single-news .post-content a,
.single-news .post-content a:visited {
    text-decoration: underline !important;
/*    color: #cc5288;*/
}

/*=====================================
ご質問(FAQ)
=======================================*/
#header {
    transition: .5s;
}
#header.hide {
    transform: translateY(-100%);
}
#faq > .faq_cats {
    transition: .5s;
    position: sticky;
    z-index: 2;
    background: rgba(255,255,255,.8);
    width: 100%;
    padding: 0;
}
#faq_cont .section_innerwrap {
    width: 90%;
    max-width: 710px;
    margin: 0 auto;
}
#faq_cont .section_innerwrap {
    width: 90%;
    max-width: 710px;
    margin: 0 auto;
    padding-top: 60px !Important;
}
#faq_nav .section_innerwrap {
    padding-bottom: 0 !important;
    text-align: center;
}
#faq_nav ul li {
    display: inline-block;
}
#faq_nav ul li + li:before {
    content: '';
    height: 40px;
    width: 1px;
    display: inline-block;
    background-color: #AFAFAF;
    margin: 0 1.2em;
    transform: rotate(30deg);
    vertical-align: middle;
    margin-bottom: .4em;
}
#faq_nav ul li a:hover {
    color: #BCBCBC;
}
#faq_cont h2 {
    line-height: 43px;
    height: 43px;
    font-size: 1.2em;
    background-size: 100% auto;
/*    background-color: #f0f0f0;*/
}
#faq_cont div + h2,
#faq_cont dl + dl {
    margin-top: 60px;
}
#faq_cont dl dt,
#faq_cont dl dd {
/*    margin-left: 64px;*/
/*    padding-left: 20px;*/
    position: relative;
    vertical-align: middle;
    padding: 10px 10px 10px 64px;
    background: #efefef;
/*    border-left: 1px solid #afafaf;*/
}
#faq_cont dl dd {
    line-height: 1.4;
}
#faq_cont dl dt {
    font-size: 1.4em;
    margin-bottom: 4px;
}
#faq_cont dl dt h3,
#faq_cont dl dd.A p {
    padding: 10px 0 10px 20px;
    margin-bottom: 0;
    border-left: 1px solid #afafaf;
}
#faq_cont dl dt:before,
#faq_cont dl dd:before {
    display: inline-block;
    height: 52px;
    line-height: 52px;
    vertical-align: middle;
    padding: 0 20px 0;
    position: absolute;
    left: 5px;
    top: 0;
    bottom: 0;
    margin: auto;
    font-size: 24px;
}
#faq_cont dl dt.Q:before {
    content: "Q";
}
#faq_cont dl dd.A:before {
    content: "A";
}

#faq .attention {
    float: none !important;
    margin: 0 auto;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 40px 0;
}
#faq .attention h3 {
    text-align: center;
    font-size: 1.4em;
    margin-bottom: 30px;
}
#faq .attention p {
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 1.6;
    width: 94%;
    margin: auto;
}
#faq .faq_box:nth-of-type(n+2) {
    padding-top: 160px;
    margin-top: -80px;
}
#faq #reserve:first-of-type {
    padding-top: 80px;
    margin-top: -80px;
}
@media screen and (min-width: 768px) {
    #faq_nav ul {
        margin-top: 30px;
        margin-bottom: 20px;
    }
    #faq_cont .section_innerwrap {
        padding-top: 60px !Important;
    }
}
@media screen and (max-width: 767px) {
    #faq_nav ul {
        margin-top: 20px;
        margin-bottom: 10px;
    }
    #faq_nav ul li {
        font-size: .9em;
    }
    #faq_nav ul li + li:before {
        height: 20px !important;
    }
    #faq_cont dl dt:before, #faq_cont dl dd:before {
        font-size: 18px !important;
        padding: 0 12px 0 !important;
    }
    #faq_cont dl dt, #faq_cont dl dd {
        padding-left: 50px !important;
    }
    #faq_cont .section_innerwrap {
        width: 100% !important;
    }
    #faq h2.nml {
        font-size: 1.25em !important;
    }
}

/*=====================================
ダイニング(dining)
=======================================*/
#dining_intro .section_wrap {
    max-width: 950px;
    margin: auto;
}
#dining_intro .full_cover {
    position: relative;
    padding-bottom: 15%;
}
#dining_intro .fc_inner {
    padding: 10% 16% 15% 0;
    display: inline-block;
    max-width: 780px;
    width: 80%;
}
#dining_intro h2 {
    font-size: 2.1em;
    margin-bottom: 60px;
}
#dining_intro h2 span {
    font-size: .6em;
    display: block;
}
#dining_intro .res_dl {
    padding: 50px 0;
    margin: 60px 0;
    border-top: 1px solid #CDCDCD;
    border-bottom: 1px solid #CDCDCD;
}
#dining_intro .res_dl dl {
    display: flex;

  	display:-ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-direction: row;
    -ms-flex-direction: row;
}
#dining_intro .res_dl dl>* {
    min-width: 0;
}
#dining_intro .res_dl dl dt {
    margin-right: 30px;
}
#dining_intro .res_dl dl dd {
    width: calc(100% - 108px);
}
#dining_intro .res_dl dl:not(:last-child) dd {
    margin-bottom: 40px;
}
#dining_intro .res_dl dl dd p {
    line-height: 1.8;
    text-align: justify;
}
#dining_intro .fc_inner h2.nml {
    line-height: 2;
    margin-bottom: 40px;
}
#dining_intro .fc_inner p {
    line-height: 2;
}

#dining_intro .intro_img {
    right: 10%;
    width: 60%;
}
.box_ikkyu {
    border: 1px solid #f0f0f0;
    padding: 15px;
    margin-top: 40px;
    background: #f7f7f7;
}
.box_ikkyu table th,
.box_ikkyu table td {
    white-space: nowrap;
    padding: 0 !important;
}


@media screen and (max-width: 768px) {
    #dining_intro .intro_img {
        bottom: -5% !important;
        width: 40%;
    }
    #dining_intro .full_cover {
        padding-bottom: 25%;
    }
    #dining #dining_intro .section_wrap {
        background-size: cover;
        background-position: center -60px;
    }
    #dining #dining_intro .fc_inner {
        padding: 10% 0 15%;
    }
    #meal_dtl div.cp_txt h2,
    #wed_dtl div.cp_txt h2 {
        left: 40px;
    }
    #meal_dtl div.cp_txt,
    #wed_dtl div.cp_txt {
        padding: 60px 30px 40px !important;
    }
    #meal_dtl div.cp_img,
    #wed_dtl div.cp_img {
        padding: 0 30px 40px !important;
    }
}
@media screen and (max-width: 500px) {
    #dining #dining_intro .full_cover {
        background-size: 130% !important;
        background-position: center top !important;
    }
}
#dining_intro .intro_img {
    position: absolute;
    bottom: -5%;
    max-width: 330px;
}
#meal_dtl .gr12,
#wed_dtl .gr12 {
    margin-top: 0;
    margin-bottom: 60px;
}
#meal_dtl div.cp_txt,
#wed_dtl div.cp_txt {
    padding: 0 60px 0 0;
    position: relative;
}
#meal_dtl div.cp_txt h2,
#wed_dtl div.cp_txt h2 {
    position: absolute;
    top: 0;
    padding-top: 20px;
    padding-left: 15px;
    padding-bottom: 5px;
    margin-left: -15px;
    border-left: 1px solid #929292;
}
#meal_dtl div.cp_txt h3,
#wed_dtl div.cp_txt h3 {
    font-size: 1.3em;
    line-height: 1.5;
    margin-bottom: 30px;
    margin-top: 10px;
    font-weight: bold;
    letter-spacing: 2px;
}
#meal_dtl div.cp_txt h3:after,
#wed_dtl div.cp_txt h3:after {
    content: '';
    display: block;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/dining/h3_after.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 20px;
    margin-top: 20px;
}
#meal_dtl div.cp_txt p,
#wed_dtl div.cp_txt p {
    line-height: 1.8;
}

#meal_dtl div.cp_txt p span,
#wed_dtl div.cp_txt p span {
    font-size: .9em;
    margin-top: 1em;
    display: block;
}
/*
#meal_dtl div.cp_txt .btn span:before {
    content: '';
    display: none !important;
}
#meal_dtl div.cp_txt .btn span:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 10px;
    border-color: transparent transparent transparent #ffffff;
    line-height: 0px;
    line-height: 0 !important;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(0) !important;
}
#meal_dtl div.cp_txt .btn {
    width: auto !important;
    padding: 0 20px;
    padding: 0 50px;
    margin-right: 15px;
    margin-bottom: 5px;
    border-radius: 20px !important;
}
#meal_dtl div.cp_txt .btn:first-of-type {
    background-color: #808080;
    border-color: #808080;
}
#meal_dtl div.cp_txt .btn:first-of-type:hover {
    background-color: #a2a2a2;
    border-color: #a2a2a2;
}
*/


@media screen and (min-width: 768px) {
    div.cp_txt {
        width: 49%;
        min-height: 410px;
    }
    div.cp_img {
        width: 51%;
        position: relative;
        overflow: hidden;
    }

    div.cp_img img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        object-fit: cover;
        width: 100%;
        height: 100%;
        font-family: 'object-fit: contain;'
    }
    .button-1 a{
/*      line-height:33px;*/
    }
    #meal_dtl .meal_box:not(.txt),
    #wed_dtl .meal_box:not(.txt) {
/*        display: flex;*/
    
/*  	display:-ms-flexbox;*/
        margin: 0 auto 60px;
        float: none;
        max-width: 900px;
    }
    #meal_dtl .meal_box.txt,
    #wed_dtl .meal_box.txt {
        float: none;
        max-width: 676px;
        margin: 40px auto 100px;
    }
}
#meal_dtl .btn_l,
#wed_dtl .btn_l {
    display: inline-block;
    padding: 30px 80px;
    background-color: #000;
    color: #fff;
    font-size: 1.2em;
}
#meal_dtl .btn_l:hover,
#wed_dtl .btn_l:hover {
    background-color: #717171;
}
#meal_dtl .thumbmeal_dtllist,
#wed_dtl .thumbmeal_dtllist {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
}
#meal_dtl .thumblist-item img {
    opacity: .5;
    width: 62px;
    height: 62px;
    object-fit: cover;
    font-family: 'object-fit: contain;'
}
#wed_dtl .thumblist-item img {
    opacity: .5;
    width: 90%;
    height: auto;
    object-fit: cover;
    font-family: 'object-fit: contain;'
}
#meal_dtl .thumblist-item.current img,
#wed_dtl .thumblist-item.current img {
    opacity: 1;
}
#meal_dtl .thumblist {
    display: flex;
    display:-ms-flexbox;
    width: 40%;
    min-width:300px;
    margin: 30px auto 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
#wed_dtl .thumblist {
    display: flex;
    display:-ms-flexbox;
    width: 80%;
    min-width:300px;
    margin: 30px auto 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#meal_dtl .ume_ttl,
#wed_dtl .ume_ttl {
    font-size: 1.5em;
}
#meal_dtl .meal_box p,
#wed_dtl .meal_box p {
    line-height: 2;
}
#meal_dtl h4 {
    font-size: 1.5em;
}
#chef div.section_wrap div.section_innerwrap {
    padding: 40px 0;
    width: 80%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10%;
}

#chef {
    margin-bottom: 10%;
    background-color: #f4f4f4;
}
#chef p {
    line-height: 1.3;
    text-align: justify;
    text-jastify: inter-ideogragh;
}

#cafe div.section_wrap div.section_innerwrap,
#photo div.section_wrap div.section_innerwrap {
    padding: 30px 0;
    width: 80%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    border-bottom: 1px solid #000;
    border-top: 1px solid #000;
}
#cafe,
#photo {
    margin-bottom: 10%;
    background-color: #fff;
}
#cafe p,
#photo p {
    line-height: 1.8;
    text-align: justify;
    text-jastify: inter-ideogragh;
}
#cafe p + div,
#photo p + div {
    display: inline-block;
    border: 1px solid #000;
    padding: 4px 10px;
}

@media screen and (min-width:768px) {
    #chef div.section_wrap div.section_innerwrap {
        display: flex;
    
  	display:-ms-flexbox;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    #chef div.section_wrap div.section_innerwrap .intro_img {
        width: 60%;
    }
    #chef div.section_wrap div.section_innerwrap .fc_inner {
        float: right;
        width: 35%;
    }
    #cafe div.section_wrap div.section_innerwrap,
    #photo div.section_wrap div.section_innerwrap {
        display: flex;
  	display:-ms-flexbox;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    #cafe div.section_wrap div.section_innerwrap .intro_img {
        width: 50%;
    }
    #cafe div.section_wrap div.section_innerwrap .fc_inner {
        width: 50%;
        padding: 10px 40px 10px 30px;
    }
    #photo div.section_wrap div.section_innerwrap .intro_img {
        width: 40%;
    }
    #photo div.section_wrap div.section_innerwrap .fc_inner {
        width: 60%;
        padding: 0 0 0 40px;
    }
}
@media screen and (max-width: 767px) {
    #cafe .fc_inner,
    #photo .fc_inner {
        margin-bottom: 20px;
    }
    #meal_dtl .meal_box,
    #wed_dtl .meal_box {
        padding: 0 20px;
    }
    #meal_dtl .thumblist,
    #wed_dtl .thumblist {
        margin: 30px auto;
    }
}
#photo div.section_wrap div.section_innerwrap .option_title {
  width: 100%;
  margin-bottom: 30px;
}
#photo div.section_wrap div.section_innerwrap .option_title p {
  text-align: center !important;
}
#cafe div.section_wrap div.section_innerwrap .fc_inner h2,
#photo div.section_wrap div.section_innerwrap .option_title h2 {
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 1);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 6px, rgba(232, 232, 232, 1) 6px, rgba(232, 232, 232, 1) 7px );
    font-size: 1.7em;
    line-height: 1.5;
    text-align: center;
    /* margin-top: 10px; */
    display: inline-block;
    padding: 2px 30px;
    width: 100%;
}
#photo div.section_wrap div.section_innerwrap h3 {
  background-color: #f5f5f5;
  padding: 4px 10px;
  border-left: 1px solid #de1e71;
}
#photo div.section_wrap div.section_innerwrap h3 span {
  font-size: .8em;
}

#chef div.section_wrap div.section_innerwrap .fc_inner h2.nml {
    font-size: 1.5em;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 20px;
    margin-top: 10px;
}

#chef div.section_wrap div.section_innerwrap .fc_inner h2.nml span {
    display: block;
    font-size: .6em;
}
#dining_info .section_innerwrap {
    max-width: 920px;
}

details.res-photo-option{
    margin: 0 0 20px 10px;
    transition: .5s;
}

details.res-photo-option summary{
    cursor: pointer;
    margin: 0 0 15px;
}

details.res-photo-option summary span{
    display: inline-block;
    border: 1px solid #000;
    padding: 4px 10px;
}


/*=====================================
ご予約(reserve)
=======================================*/

#reserve_btn ul li a {
    position: relative;
    display: block;
    padding: 4px;
    border: 1px solid #aeaeae;
    margin: 0 20px;
}

#reserve_btn ul li a p {
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    padding: 20px 0;
    width: 180px;
    text-align: center;
    background-color: rgba(0,0,0,.5);
    color: #fff;
    font-size: 1.2em;
    height: 57px;
}

/*====================================
ご宴会(party)
======================================*/
#party .section_innerwrap {
    width: 90%;
    max-width: 710px;
    margin: 0 auto;
    padding-top: 6% !Important;
}
#party #party_cont p,
#party .plan .include ul li {
    line-height: 2;
}
#party_cont h2 {
/*
    font-size: 2em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid #C3C3C3;
    margin: 40px auto 100px;
    text-align: center;
*/
}
#party_cont .plan_h2 h2 {
    font-size: 1.6em;
    display: inline-block;
    padding: 1em;
    margin: 0;
    border-top: 1px solid #c1c1c1;
    border-bottom: 1px solid #c1c1c1;
}
#party h3 span {
    display: inline-block;
    font-size: 1.8em;
    padding: 1.2em .4em;
    color: #af6d53;
    background: rgba(241, 231, 227, 0.9);
    width: 397px;
}
#party h3 {
    background-size: cover;
    text-align: center;
    padding: 10% 0;
    background-position: center;
}
#party .meal_box {
/*    margin: 100px auto 0;*/
    float: none;
}
#party .plan > h3 {
    text-align: center;
    position: relative;
    margin-bottom: 50px;
}
#party .plan > h3 span {
    color: #B7A93C;
    display: inline-block;
    background-color: #fff;
    padding: 0 20px;
    text-align: center;
    font-size: 1.8em;
}
#party .plan > h3:after {
    content: '';
    display: block;
    background-color: #F5F3E4;
    height: 13px;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    width: 100%;
    z-index: -1;
}
#party .plan .price {
    text-align: center;
    margin-bottom: 40px;
}
#party .plan .price p {
    font-size: 1.8em;
}
#party .plan .price p span {
    font-size: 0.7em;
    display: block;
}
#party .plan .include {
    border: 1px solid #C3C3C3;
    margin-bottom: 80px;
}
#party .plan .include h3 {
    padding: 15px 0;
    border-bottom: 1px solid #c3c3c3;
    text-align: center;
}
#party .plan .include ul {
    width: 90%;
    max-width: 500px;
    margin: 30px auto;
}
#party #party_plan .plan {
    width: 90%;
    max-width: 710px;
    margin: 0 auto;
    padding-top: 6% !Important;
}
#party .plan .include ul li {
    list-style: square;
}
@media screen and (min-width: 768px) {
    #party_cont h2 {
/*
        width: 120%;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
*/
    }
}


/*====================================
ご結婚(wedding)
======================================*/

#main-visual-wed {
    background-size: cover;
    padding-bottom: calc(1490/2500*100%);
    background-position: 60% top;
    position: relative;
}
#wedding #wed_intro,
#wed_plan,
#wed_facility,
#wed_hospi,
#wed_faq{
    margin-top: 80px !important;
    margin-bottom: 10%;
}
#wedding [id^="ccpt_"]:not(#ccpt_cont) {
    margin-top: 3%;
    margin-bottom: 10%;
}
.bestoffer {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: center;
    margin-bottom: 0;
}
.bestoffer img {
    width: 180px;
}
@media screen and (max-width: 767px) {
    .bestoffer img {
        width: 120px !important;
    }
}

[id^="wed_"] .gr12 {
    margin-top: 0;
}
[id^="wed_"] div.cp_txt {
    position: relative;
}
[id^="wed_"] div.cp_txt h2 {
    z-index: -1;
}
[id^="wed_"] div.cp_txt h3 {
    font-size: 1.4em;
    line-height: 1.5;
    margin-bottom: 30px;
    margin-top: 10px;
}
[id^="wed_"] div.cp_txt p {
    line-height: 1.6;
    text-align: justify;
    text-justify: inter-ideograph;
}

[id^="wed_"] div.cp_txt p span {
    font-size: .9em;
    margin-top: 1em;
    display: block;
}
[id^="wed_"] .gr12 {
/*
    display: flex;

  	display:-ms-flexbox;
    flex-wrap: wrap;
*/
}
#wed_intro .cont_bg {
    width: 100%;
/*    position: relative;*/
    background-image: url(https://www.cultia-dazaifu.com/wp/wp-content/themes/cultia2019/assets/img/wedding/concept_bg.jpg);
    background-size: cover;
    background-position: right center;
/*    max-height: 700px;*/
}
#wed_plan .cont_bg {
    width: 100%;
/*    position: relative;*/
    background-image: url(https://www.cultia-dazaifu.com/wp/wp-content/themes/cultia2019/assets/img/wedding/plan_bg.jpg);
    background-size: cover;
    background-position: right center;
/*    max-height: 700px;*/
}

#wed_facility .cont_bg {
    width: 100%;
    background-image: url(https://www.cultia-dazaifu.com/wp/wp-content/themes/cultia2019/assets/img/wedding/facility_bg.jpg);
    background-size: cover;
    background-position: right center;
}

#wed_hospi .cont_bg {
    width: 100%;
    background-image: url(https://www.cultia-dazaifu.com/wp/wp-content/themes/cultia2019/assets/img/wedding/hospi_bg.jpg);
    background-size: cover;
    background-position: right center;
}

#wed_faq .cont_bg {
    width: 100%;
    background-image: url(https://www.cultia-dazaifu.com/wp/wp-content/themes/cultia2019/assets/img/wedding/faq_bg.jpg);
    background-size: cover;
    background-position: right center;
}

#wed_faq .cont_bg > img {
    width: 100%;
}
#wed_intro .cont_txt {
/*    height: 380px;*/
/*
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
*/
    margin: auto;
}
/*
#wed_intro .cont_txt,
#wed_intro .cont_txt h3,
#wed_intro .cont_txt p {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}
*/
#wed_intro .cont_txt .mnc-b {
    letter-spacing: 0;
    margin-bottom: 0;
}
#wed_intro .cont_txt p {
    /* letter-spacing: 0; */
    letter-spacing: 2px;
    text-align: justify;
    text-justify: inter-ideograph;
}

#wed_dtl h4 {
    font-size: 1.5em;
    position: relative;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/exp_ico.svg);
    background-size: 20px;
    background-position: center bottom 14px;
    background-repeat: no-repeat;
    padding-bottom: 50px;
}
#wed_dtl h4:before {
    content: '';
    position: absolute;
    height: 1px;
    width: 30%;
    max-width: 150px;
    background-color: #cc5288;
    bottom: 21px;
    margin: auto;
    left: 50%;
    transform: translate(-114%, -50%);
    -webkit-transform: translate(-114%, -50%);
    -ms-transform: translate(-114%, -50%);
    z-index: -1;
}
#wed_dtl h4:after {
    content: '';
    position: absolute;
    height: 1px;
    width: 30%;
    max-width: 150px;
    background-color: #cc5288;
    bottom: 21px;
    margin: auto;
    right: 50%;
    transform: translate(114%, -50%);
    -webkit-transform: translate(114%, -50%);
    -ms-transform: translate(114%, -50%);
    z-index: -1;
}

/* RWD table */
#wedding .table-rwd {
    max-width: 700px;
    margin: 0 auto;
}
#wedding .table-rwd dl{
    margin-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

#wedding .table-rwd dl:nth-of-type(1){
	border-top: 1px solid #bf3971 !important;
    border-bottom: none !important;
	padding-top:20px;
}
#wedding .table-rwd dl:last-of-type{
	border-top: 1px solid #a2a2a2 !important;
    border-bottom: 1px solid #bf3971 !important;
	padding-top:20px;
}

#wedding .table-rwd dl dt{
    width: 100%;
    text-align: center;
    font-size: 1.3em;
}


#wedding .table-rwd dl dd{
/*	margin:0 0 0 25%;*/
    flex: 1;
	margin-bottom:20px;
}
#wedding #wed_plan .gr10,
.wed-top-slide{
    margin: 0 auto 40px;
    display: block;
    float: none;
}
#wedding #wed_plan dl dd dl{
  display:flex;
  flex-wrap: wrap;
  border-top: none;
    text-align: left;
}
#wedding #wed_plan dl dd dt{
  width: 20%;
  padding: 0px 10px 10px;
  box-sizing: border-box;
    margin-bottom: 0 !important;
    font-size: .9em;
}
#wedding #wed_plan dl dd dd{
  padding: 0 10px;
  margin: 0;
  width: 70%;
  box-sizing: border-box;
    margin-bottom: 0;
    font-size: .9em;
}

.wed-top-slide{
    margin: 80px 0;
}

.wed-top-slide .cont_bg {
    width: 100%;
}

.ft-wed-list{
    padding: 80px 0;
}

.tit-ft-wed-list{
    text-align: center;
    font-size: 2em;
}

/* ----------------------------------------
* box plan
---------------------------------------- */
.box-plan {
    padding: 30px;
    position: relative;
    z-index: 1;
	display:table;
	width:100%;
	margin-bottom:60px;
}

.section-01 .box-plan:last-child{
	margin-bottom:0;
}

.box-plan::before,
.box-plan::after {
    content: "";
    height: 100%;
    position: absolute;
    width: 100%;
	border:1px solid #dbdbdb;
}
.box-plan::before {
    left: 0;
    top: 0;
    z-index: -1;
}
.box-plan::after {
    top: 7px;
    left: 7px;
    z-index: -2;
}
/* wedding */
.box-plan .box-plan-photo{
	padding-right:30px;
}

.box-plan .box-plan-text .title{
	font-weight:bold;
}

.box-plan .box-plan-text .price{
	color:#666;
	font-size:16px;
}

.box-plan .box-plan-text p:last-child,
.box-plan .box-plan-text ul:last-child{
	margin-bottom:0 !important;
}

/* party */
.box-party-plan-text{
}

.box-party-plan-photo{
	padding-left:30px;
}

/* wedding plan detail */

.title-lined {
    border-bottom: 1px solid #dbdbdb;
    padding-bottom: 7px;
    font-weight: bold;
}
/* RWD table */
.page-template-page-wedding-plan-detail .table-rwd-plan dl,
.single-wedding-plan .table-rwd-plan dl {
	border-bottom:1px solid #f0f0f0;
}

#wedding .table-rwd-plan dl {
    display: flex;
    width: 100%;
}
#wedding .table-rwd-plan dl dt {
    width: 30%;
}
#wedding .table-rwd-plan dl dd {
    width: 70%;
}

#wedding .table-rwd-plan dl dt,
#wedding .table-rwd-plan dl dd {
    padding: 10px;
}
@media screen and (max-width: 320px) {
  #wedding #wed_plan dl dd dl{
    flex-flow: column nowrap;
  }
  #wedding #wed_plan dl dd dt,
  #wedding #wed_plan dl dd dd{
    width: 100%;
  }
  #wedding #wed_plan dl dd dd{
    border-left: none;
  }
}
@media screen and (min-width:768px) {
    #wedding .table-rwd dl dd {
        display: flex;
    }
    #wedding .table-rwd dl {
        display: block;
    }

    .photo-plan-detail{
        padding-right:40px;
    }
}
.page-template-page-wedding-plan-detail .title-bg,
.single-wedding-plan .title-bg {
    background: #F2F2F2;
    padding: 10px 13px;
    font-weight: bold;
}
.page-template-page-wedding-plan-detail table,
.single-wedding-plan table {
    border: 1px solid #e5e5e5;
}
.page-template-page-wedding-plan-detail th,
.page-template-page-wedding-plan-detail td,
.single-wedding-plan th,
.single-wedding-plan td {
    border: 1px solid #e5e5e5 !important;
    padding: 13px;
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}
.page-template-page-wedding-plan-detail .txt-gray-01,
.single-wedding-plan .txt-gray-01 {
    color: #666 !important;
    font-size: 1.5em;
}
.page-template-page-wedding-plan-detail .table-bg-01 th,
.single-wedding-plan .table-bg-01 th {
    background: #f5f5f5;
}

@media screen and (min-width:768px) {
    [id^="wed_"] div.cp_txt h3 {
        text-align: left;
        margin: 0 auto;
        min-height: 288px;
        margin-bottom: 30px;
        position: relative;
        padding-top: 40px;
        line-height: 2;
    }
    [id^="wed_"] div.cp_txt h3:before {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
    }
    #wed_intro .cont_bg,
	#wed_facility .cont_bg,
	#wed_hospi .cont_bg,
	#wed_faq .cont_bg{
        padding: 10% 0;
    }
    #wed_plan .cont_bg {
        padding: 6% 0 0;
    }
    #wed_intro .cont_txt .mnc-b,
    #wed_plan .cont_txt .mnc-b {
/*        margin-left: 2em;*/
        line-height: 2;
    }
    #wed_intro .cont_txt p {
        line-height: 3;
/*        margin-bottom: 87px;*/
    }
    
    [id^="wed_"] div.cp_txt {
        display: flex;
        display:-ms-flexbox;
        padding: 0;
    }

    [id^="wed_"] div.cp_txt_txt > span {
        margin: -20px auto 10px;
    }
    #wedding .table-rwd dl dd iframe,
	#wedding .table-rwd dl dd .ph-fair{
        width:50%;
    /*	float:left;*/
        margin-right:40px;
        margin-bottom:40px;
    }
}
@media screen and (max-width:767px) {
    #wedding #wed_intro .section_innerwrap {
        padding: 0;
    }
   
    #wed_intro .cont_bg,
	#wed_facility .cont_bg,
	#wed_hospi .cont_bg,
	#wed_faq .cont_bg{
        padding: 80px 0;
    }
    #wed_intro .cont_txt .mnc-b {
/*        margin-left: 1em;*/
        line-height: 2;
    }
    #wed_intro .cont_txt p {
        line-height: 2;
        margin-bottom: 0;
        padding: 0 15px;
    }
    #wed_dtl h3 {
        padding: 0 15px;
    }
    
    [id^="wed_"] div.cp_txt_txt:before {
        margin: 0 auto 15px;
    }
    .photo-plan-detail{
        margin-bottom:40px;
    }
}


/*====================================
ご宿泊(room)
======================================*/

#room .fc_inner p {
    line-height: 2;
}
#room .fc_inner img,
#room .fc_inner p {
    max-width: 676px;
    width: 100%;
    text-align: left;
    margin: auto;
}
#room .section-01 {
    max-width: 1132px;
    margin: auto;
}

#room_cont div.section_wrap div.section_innerwrap {
    max-width: 800px !important;
}
#room_cont h3 {
    display: inline-block;
    border-bottom: 1px solid #cc5288;
    font-size: 1.2em;
    padding: .4em;
}
.box-sbs {
    margin-bottom: 60px;
}
.box-sbs .box-sbs-photo {
    margin-bottom: 20px;
}
.box-sbs .box-sbs-photo img {
    width: 100%;
}
#room .gr3 .box-sbs {
    margin-left: 10px;
    margin-right: 10px;
}
ul.room_list {
    width: 25%;

    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-pack:justify;
    -moz-box-pack:justify;
    -webkit-flex-pack:justify;
    -moz-flex-pack:justify;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    -moz-justify-content:space-between;
    justify-content:space-between;
    margin-left: auto;
    margin-right: auto;
}
ul.room_list li {
    font-size: 1.2em;
    border-bottom: 1px solid #333;
    padding: 0 15px 15px;
}
ul.room_list li:hover {
    border-bottom: 1px solid #C5C5C5;
    color: #C5C5C5;
}
ul.room_list li a:hover {
    opacity: 1;
    color: #C5C5C5;
}
.room h3.mnc-b {
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/rooms/ttl_bg_01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
    line-height: 3;
/*    padding-top: 12px;*/
    margin-bottom: 15px !important;
    padding-left: 20px;
    margin-left: -20px;
    letter-spacing: 0;
    font-weight: normal;
    font-size: 1.5em;
}

.wrap {
    max-width: 1250px;
    box-sizing: border-box;
    margin: 0 auto;
    *zoom: 1;
}
[id^="room_"] .cp_txt dl dt,
[id^="room_"] .cp_txt dl dd {
    display: inline-block;
    vertical-align: top;
}
[id^="room_"] .cp_txt dl dd {
    margin-left: .8em;
}
[id^="room_"] .cp_txt dl dd span {
    font-size: .8em;
}
[id^="room_"] .cp_txt h2 {
    font-size: 2.1em;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #D3D3D3;
    display: block !important;
    text-align: left !important;
}
[id^="room_"] .cp_txt h2 span {
    font-size: .55em;
}
.room h3.mnc-b {
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/rooms/ttl_bg.png) !important;
}
#tou .section_wrap {
    width: 90%;
    margin: auto;
    max-width: 1132px;
    padding: 5% 0;
}
#tou .cp_txt strong {
    display: inline-block;
    font-size: 1.3em;
    letter-spacing: 4px;
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid #d3d3d3;
}
.title-flow {
    background-color: #E7E7E7;
    padding: 12px;
    margin-bottom: 20px;
    font-size: 1.3em;
}
.title-flow span {
    display: inline-block;
    padding-right: 20px;
}
#flow {
    max-width: 800px;
    width: 90%;
    margin: auto;
    padding: 0;
}

#room p {
    line-height: 2.4 !important;
    letter-spacing: 2px;
}
#flow .gr12:not(:last-of-type) .flowBox {
    padding-bottom: 50px;
    background-image: url(https://www.nipponia-takehara.com/wp/wp-content/themes/cultia2019/assets/img/rooms/flow_arrow.png);
    background-position: center bottom 20px;
    background-size: 30px;
    background-repeat: no-repeat;
}
#flow dl dt {
    margin-right: 20px;
    background-color: #EBEBEB;
    padding: 0 10px;
/*        font-size: 1.05em;*/
    line-height: 1.6 !important;
}
#flow dl {
    margin-bottom: 20px;
}
#flow dl dt,
#flow dl dd {
    display: inline-block;
    vertical-align: middle;
}
[id^="room_"] .cp_txt {
    padding: 5% 10%;
}

@media screen and (max-width: 767px) {
    .wrap {
        margin: 0 12px;
    }
    ul.room_list {
        width: 90% !important;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    ul.room_list li:nth-child(-n+2) {
        margin-bottom: 30px;
    }
    #flow dl dt {
        margin-bottom: 10px;
    }
}
@media screen and (min-width: 768px) {
    #room .gr6 + .gr6 .box-sbs {
        margin-left: 20px;
    }
    ul.room_list {
        width: 100% !important;
    }

}
.title-lined {
    border-bottom: 1px solid #727272;
    padding-bottom: 12px;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 2em;
}
.page-template-page-rooms .title-lined {
    font-size: 1.2em !important;
}

.title-bgbk {
    background-color: #E7E7E7;
/*    color: #fff;*/
    padding: 7px;
    font-weight: bold;
    margin-bottom: 20px;
}
dl.list-notice {
    margin-bottom: 7px;
}

#room .box-kids-price {
  display: table;
  table-layout: fixed;
  width: 100%;
}
#room .box-kids-price dl.kids-price {
  display: table-cell;
  text-align: center;
}
#room .box-kids-price table.kids-price {
width: 100%;
table-layout: fixed;
}
#room .box-kids-price table.kids-price th,
#room .box-kids-price table.kids-price td {
text-align:center;
}
#room dl.kids-price dt,
table.kids-price th {
  padding: 13px 0;
  background: #DBDBDB;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.4;
}
#room dl.kids-price + dl dt,
#room dl.kids-price + dl dd,
#room table.kids-price th:not(:first-child),
#room table.kids-price td:not(:first-child) {
  border-left: 1px solid #000;
}
#room .box-kids-price table.kids-price,
#room .box-kids-price table.kids-price tr th,
#room .box-kids-price table.kids-price tr td {
border-top: none;
border-right: none;
border-bottom: none;
}

#room dl.kids-price dd,
#room table.kids-price td {
  background-color: #f0f0f0;
  padding: 13px 0;
  font-size: 12px;
}
@media screen and (max-width: 991px) {
  #room .box-kids-price dl.kids-price {
      display: block;
      margin-bottom: 0;
      border-bottom: none;
  }
  #room dl.kids-price + dl dt,
  #room dl.kids-price + dl dd {
      border-left: 0 !important;
  }
}
@media screen and (max-width: 680px) {
  #room .box-kids-price table.kids-price tr th,
  #room .box-kids-price table.kids-price tr td {
    font-size: calc(.3vw + .1em);
    padding-left: 8px;
    padding-right: 8px;
  }
  #room .box-kids-price table.kids-price {
    table-layout: unset;
  }
}
#room dl.kids-price dt span,
#room .box-kids-price table.kids-price th span {
  display: block;
}
#room dl.list-notice {
    margin-bottom: 7px;
}
#room dl.list-notice dt {
    float: left;
    width: 25%;
}
#room dl.list-notice dd {
    margin-left: 25%;
}
.modaal-content-container h2 {
    color: #fff !important;
    background-color: #000;
}
.modaal-content-container h2 dl {
    display: flex;

  	display:-ms-flexbox;
}
.modaal-content-container h2 dl dt {
/*    width: 20%;*/
    white-space: nowrap;
    color: #fff !important;
    padding: .6em .9em;
    line-height: 1.4;
}
.modaal-content-container h2 dl dd {
    display: inline-block;
    border-left: 1px solid #fff;
    line-height: 1.4;
    flex: 1;
    color: #fff !important;
    padding: .6em .9em .6em 1.3em;
}
.modaal-content-container dl.info {
    display: flex;

  	display:-ms-flexbox;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 8px 4px;
}
.modaal-content-container dl.info dt {
    padding: 4px 20px 4px 0;
}
.modaal-content-container dl.info dd {
    padding: 4px 0 4px 20px;
    flex: 1;
    border-left: 1px solid;
}
.modaal-content-container .btn {
    color: #fff !important;
    background-color: #970000;
    padding: 1.5em .7em;
    border-radius: 10px;
    box-shadow:3px 3px 0px 0px #550000;
    /* react native */
    {
    shadowColor:"#550000",
    shadowOffset:{width:3,height:3},
    shadowOpacity:1,
    shadowRadius:0,
    borderWidth:1,
    borderColor:"#cccccc",
    borderRadius:6
    }
}
.modaal-content-container .btn:hover {
    background-color: #CA0000 !important;
}
.modaal-content-container p,
#room p,
#room dl dt,
#room dl dd {
    line-height: 1.4;
}
.modaal-content-container p.bed {
    padding: 20px 0 20px 55px;
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/room/ico_bed.png);
    background-size: 40px;
    background-repeat: no-repeat;
    background-position: left center;
}

#room #amenity .btn-default {
    background-color: #000;
    border-radius: 0;
    width: auto;
    padding: .5% 3%;
    color: #fff;
}
#room #amenity .wrap {
    width: 94% !important;
}
#room h4.sec_ttl {
    display: inline-block;
    font-size: 1.4em;
    letter-spacing: 2px;
    max-width: 382px;
    width: 80%;
    padding: 2px;
    border: 1px solid;
}
#room h3.ume_ttl {
    display: inline-block;
    border-bottom: 1px solid #cc5288;
    font-size: 1.4em;
    padding: .4em;
}
#room #exective_room dl,
#room #standard_room dl {
    max-width: 800px;
    margin: 80px auto 0;
}
[id^="room_"] p span + span::before {
    content: '';
    height: 30px;
    width: 1px;
    display: inline-block;
    background-color: #AFAFAF;
    margin: 0 1.2em;
    transform: rotate(30deg);
    vertical-align: middle;
    margin-bottom: .4em;
}
#room [id^="room_"] dl dt {
    margin-bottom: 1em;
}
#room [id^="room_"] dl dd a.btn {
    background-color: #000;
    color: #fff;
    padding: .3em 30px .3em 1em;
    background-image: url(../img/w_arrow.svg);
    display: inline-block;
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 13px;
    float: right;
}
#room [id^="room_"] dl dd p {
    margin-top: 2em;
}
#room [id^="room_"] dl dd h4 {
    font-size: 1.3em;
}

.btn-style2 {
    padding: 10px !important;
    background-color: #ab1555;
    border: 1px solid #ab1555;
    color: #fff;
}
.btn-style2:hover {
    background-color: #fff;
    border: 1px solid #ab1555;
    color: #ab1555;
}
.btn-recommned {
    background-color: #000;
    color: #fff;
    padding: .6em 1.2em;
    display: inline-block;
    letter-spacing: 2px;
}
.wrap-building-txt{margin-left: 30px;margin-top: 20px;}
.wrap-building-txt h3{border-bottom: none !important;}

@media screen and (min-width:768px) {
    .modaal-content-container dl.gallery {
        display: flex;
    
  	display:-ms-flexbox;
    }
    .modaal-content-container dl.gallery dt {
        padding: 0 15px 0 0;
    }
    .modaal-content-container dl.gallery dd li + li {
        margin-top: 9px;
    }
    .modaal-content-container .exp {
        display: flex;
    
  	display:-ms-flexbox;
        margin: 20px 0;
    }
    .modaal-content-container .exp p {
        max-width: 724px;
        padding-right: 18%;
    }
}

@media screen and (max-width:767px) {
    .modaal-content-container dl.gallery dt {
        padding: 0 0 4px 0;
    }
    .modaal-content-container dl.gallery dd ul {
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .modaal-content-container dl.gallery dd li + li {
        margin-left: 4px;
    }
    .modaal-content-container .exp {
        margin: 10px 0;
    }
    .modaal-content-container .exp p {
        margin: 10px 0;
    }
    .modaal-content-container .exp .btn {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin-bottom: 10px;
    }
    .wrap-building-txt {
        margin: 20px;
        width: calc(100% - 60px;)
    }
}

/*====================
 stay - Bestrate
======================*/
.page-template-page-stay-bestrate #main-visual-2 {
    outline: solid 1px #ffffffa3;
    outline-offset: -30px;
    padding: 0;
    background-size: cover;
    height: 500px !important;
    background-position: center top;
    position: relative;
}
.page-template-page-stay-bestrate .hero-title {
    width: 100%;
    height: auto;
    padding-top: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    background: none;
}
.page-template-page-stay-bestrate .hero-title h2 {
    margin-bottom: 0;
    text-align: center;
    font-size: 1.5em;
    background-color: transparent;
    background: transparent;
    display: block !important;
    color: #fff;
}
.page-template-page-stay-bestrate .hero-title h2::after {
    display: none !important;
}
.page-template-page-stay-bestrate .section_wrap {
    max-width: 1080px;
    margin: auto;
}
.ttl_dash {
    position: relative;
    display: inline-block;
    margin: 0 10px;
    padding: 0 20px;
    text-align: center;
    word-break: break-all;
    font-size: 1.4em;
}
.ttl_dash::before,
.ttl_dash::after {
    position: absolute;
    top: 50%;
    content: '';
    width: 1000%;
    height: 1px;
    background-color: #333;
}
.ttl_dash::after {
    left: 100%;
}
.ttl_dash::before {
    right: 100%;
}
.title-bg-gray {
    padding: 10px;
    background-color: #f7f7f7;
}
.bnr-plan {
    color: #fff;
    background-image: url('/wp/wp-content/themes/cultia2019/assets/img/rooms/bestrate/btn_bg.jpg');
    background-size: cover;
    background-position: center;
    text-align: center;
    padding: 35px 20px;
    width: 100%;
    max-width: 480px;
    display: block;
    margin: auto;
    font-size: 1.4em;
    transition: .3s;
}
.bnr-plan:hover {
    text-decoration: none;
    opacity: .7;
}
.page-template-page-stay-bestrate #main .wrap {
    width: 1000px;
    box-sizing: border-box;
    margin: 0 auto;
}
.page-template-page-stay-bestrate .main-inner {
    margin-right: auto;
}
.box-03 {
    width: 100%;
    display: table;
}
.box-03 div {
    display: table-cell;
    vertical-align: top;
}
.box-03-text h3 {
    font-size: 1.3em;
}
@media screen and (max-width: 767px) {
    .box-02 div, .box-03 div {
        display: block;
        width: 100%;
    }
}
@media screen and (max-width:1200px) {
    .page-template-page-stay-bestrate .wrap {
        width: auto;
    }
}

@media screen and (min-width:768px) {
    .page-template-page-stay-bestrate #main-visual-2 {
        margin-top: 48px;
    }
    .page-template-page-stay-bestrate .res-intro .box-03 .box-03-photo {
        width: 50% !important;
        background-size: cover;
        background-position: center;
        padding-top: 40%;
    }
    .page-template-page-stay-bestrate .res-intro .box-03 .box-03-text {
        padding: 10% 3%;
    }
}
@media screen and (max-width:767px) {
    .page-template-page-stay-bestrate #main-visual-2 {
        outline-offset: -15px;
    }
}
/*===== /stay - Bestrate =====*/

.ume_ttl:before {
    content: '';
    background-image: url(/wp/wp-content/themes/cultia2019/assets/img/exp_ico.svg);
    width: 20px;
    height: 20px;
    background-size: contain;
    margin: 0 auto 14px;
    display: block;
    background-repeat: no-repeat;
}

    
h2.sec_ttl span.ttl_en,
.hero-title h2 span.ttl_en {
    font-size: 1em;
    display: block;
}

h2.sec_ttl img.b {
  position: relative;
  z-index: 1
}
h2.sec_ttl img[alt="Concept"],
h2.sec_ttl img[alt="News"] {
    max-width: 220px;
}

h2.sec_ttl img.w {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0
}

h2.sec_ttl span.wrap {
  display: block;
  opacity: 0.9
}

h2.sec_ttl span.wrap span.jp {
  width: 42px;
  display: block;
  position: relative
}

@media only screen and (max-width: 1080px) {
  h2.sec_ttl span.wrap span.jp {
    width: 32px
  }
}

@media only screen and (max-width: 680px) {
  h2.sec_ttl span.wrap span.jp {
    width: 26px
  }
}

h2.sec_ttl span.wrap span.jp img {
  width: 42px;
  height: 48px
}

@media only screen and (max-width: 1080px) {
  h2.sec_ttl span.wrap span.jp img {
    width: 32px;
    height: 36px;
    display: block
  }
}

@media only screen and (max-width: 680px) {
  h2.sec_ttl span.wrap span.jp img {
    width: 26px;
    height: auto
  }
}

h2.sec_ttl span.wrap span.jp span {
  display: block;
  padding-top: 4px;
  position: relative;
  margin-left: auto;
  margin-right: auto
}

@media only screen and (max-width: 1080px) {
  h2.sec_ttl span.wrap span.jp span {
    width: 18px;
    display: block;
    padding-top: 2px
  }
}

@media only screen and (max-width: 680px) {
  h2.sec_ttl span.wrap span.jp span {
    width: 14px
  }
}

h2.sec_ttl span.wrap span.jp span img {
  width: 20px;
  height: 137px;
  display: block;
  margin-left: auto;
  margin-right: auto
}

@media only screen and (max-width: 1080px) {
  h2.sec_ttl span.wrap span.jp span img {
    width: 18px
  }
}

@media only screen and (max-width: 680px) {
  h2.sec_ttl span.wrap span.jp span img {
    width: 14px;
    height: auto
  }
}

h2.sec_ttl span.wrap span.jp2 {
  width: 66px;
  display: block;
  overflow: hidden;
  position: relative
}

@media only screen and (max-width: 1080px) {
  h2.sec_ttl span.wrap span.jp2 {
    width: 58px
  }
}

@media only screen and (max-width: 680px) {
  h2.sec_ttl span.wrap span.jp2 {
    width: 44px
  }
}

h2.sec_ttl span.wrap span.jp2 img {
  width: 33px;
  height: 189px
}

@media only screen and (max-width: 1080px) {
  h2.sec_ttl span.wrap span.jp2 img {
    width: 30px;
    height: auto
  }
}

@media only screen and (max-width: 680px) {
  h2.sec_ttl span.wrap span.jp2 img {
    width: 21px;
    height: auto
  }
}

h2.sec_ttl span.wrap span.jp2 span {
  display: block;
  width: 20px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 56px;
  margin-right: 11px;
  float: left;
  position: relative
}

@media only screen and (max-width: 1080px) {
  h2.sec_ttl span.wrap span.jp2 span {
    width: 18px;
    padding-top: 47px;
    margin-right: 8px
  }
}

@media only screen and (max-width: 680px) {
  h2.sec_ttl span.wrap span.jp2 span {
    width: 14px;
    padding-top: 29px;
    margin-right: 6px
  }
}

h2.sec_ttl span.wrap span.jp2 span img {
  width: 20px;
  height: 137px;
  display: block
}

@media only screen and (max-width: 1080px) {
  h2.sec_ttl span.wrap span.jp2 span img {
    width: 18px
  }
}

@media only screen and (max-width: 680px) {
  h2.sec_ttl span.wrap span.jp2 span img {
    width: 14px;
    height: auto
  }
}

ul.piclist {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

section:not(#wed_plan) ul.piclist li {
  width: calc(100% / 3);
  margin-bottom: 36px;
    padding: 10px;
    background-color: rgba(255,255,255,.8);
}
section#wed_plan ul.piclist li {
    margin: 10px;
    background-color: rgba(255,255,255,.8);
    width: calc(25% - 20px);
}
ul.piclist li dl {
    transition: 0.3s ease 0s;
}
ul.piclist li dl:hover {
    opacity: .7;
}

@media only screen and (max-width: 1080px) {
  ul.piclist li {
    width: calc(100% / 3)
  }
}

@media only screen and (max-width: 680px) {
  ul.piclist li {
    width: 100% !important;
    float: none;
    margin-bottom: 16px
  }
  section:not(#wed_plan) ul.piclist dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  section:not(#wed_plan) ul.piclist dl dd.txtC {
    text-align: left !important;
  }
  section:not(#wed_plan) ul.piclist li {
    margin-bottom: 0 !important;
    border-bottom: 1px solid #e3e3e3;
  }
}

ul.piclist li.col4 {
  width: calc(100% / 4 - 20px)
}

@media only screen and (max-width: 1080px) {
  ul.piclist li.col4 {
    width: calc(100% / 2 - 20px)
  }
}

@media only screen and (max-width: 680px) {
  ul.piclist li.col4 {
    width: 100%;
    float: none;
    margin-bottom: 16px
  }
}

ul.piclist li#link {
  width: calc((100% / 3)*2);
  box-sizing: border-box;
  padding: 0 36px;
  position: relative
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link {
    width: calc(100% / 2 - 20px);
    padding: 0 20px
  }
}

@media only screen and (max-width: 680px) {
  ul.piclist li#link {
    width: 100%;
    padding: 0
  }
}

ul.piclist li#link div.link {
  background-color: #fff;
  padding: 20px
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link {
    padding: 20px
  }
}

ul.piclist li#link div.link_wrap {
  width: 100%;
  display: table;
  position: relative;
  z-index: 1
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link_wrap {
    display: block
  }
}

ul.piclist li#link div.link_wrap div.link_innerwrap {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
  text-align: center
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap {
    display: block;
    width: 100%
  }
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap.pdnT {
    padding-top: 16px
  }
}

ul.piclist li#link div.link_wrap div.link_innerwrap p.link_text {
  display: block;
  margin-bottom: 4px
}

@media only screen and (max-width: 1080px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap p.link_text {
    margin-bottom: 0
  }
}

ul.piclist li#link div.link_wrap div.link_innerwrap p.link_text span {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 2
}

ul.piclist li#link div.link_wrap div.link_innerwrap a {
  width: 90%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #888;
  background-color: #2d2d2d;
  transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

@media only screen and (min-width: 1080px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap a:hover {
    background-color: #fff
  }
  ul.piclist li#link div.link_wrap div.link_innerwrap a:hover span {
    color: #2d2d2d
  }
    #concept #ccpt_cont .section_innerwrap {
        width: 816px;
    }
}

@media only screen and (max-width: 680px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap a {
    width: 100%
  }
}

ul.piclist li#link div.link_wrap div.link_innerwrap a span {
  color: #ffffff;
  line-height: 46px;
  letter-spacing: 0.1em;
  transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

@media only screen and (max-width: 680px) {
  ul.piclist li#link div.link_wrap div.link_innerwrap a span {
    line-height: 40px
  }
}

ul.piclist li a {
  display: block;
  overflow: hidden;
  position: relative;
  height: 100%;
}

@media only screen and (min-width: 1080px) {
  ul.piclist li a:hover dl dt:before {
    opacity: 0.8
  }
  ul.piclist li a:hover dl dt:after {
    opacity: 1
  }
}

ul.piclist li a dl {
  position: relative;
  z-index: 0
}

ul.piclist li a dl dd {
  position: relative;
}

ul.piclist li a dl dd span.plus {
  position: absolute;
  width: 7px;
  height: 7px;
  border: 1px solid #888;
  right: 0;
  top: 52%;
  margin-top: -4px;
  display: none
}

@media only screen and (max-width: 680px) {
  ul.piclist li a dl dd span.plus {
    display: block
  }
}

ul.piclist li a dl dd span.plus:before {
  content: "";
  width: 5px;
  height: 1px;
  top: 3px;
  position: absolute;
  background-color: #888;
  left: 1px
}

ul.piclist li a dl dd span.plus:after {
  content: "";
  width: 1px;
  height: 5px;
  top: 1px;
  position: absolute;
  background-color: #888;
  left: 3px
}

ul.piclist li a dl dt {
  overflow: hidden;
  position: relative
}

ul.piclist li a dl dt:before, ul.piclist li a dl dt:after {
  transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

ul.piclist li a dl dt:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0
}

ul.piclist li a dl dt:after {
  content: "View Detail";
  color: #ffffff;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 36px;
  position: absolute;
  z-index: 2;
  width: 100%;
  display: block;
  text-align: center;
  margin-top: -18px;
  top: 50%;
  left: 0;
  opacity: 0
}

ul.piclist li a dl dt div.sa_pic {
  z-index: 0;
  position: relative
}

ul.piclist li dl dt img {
   height: 100%;
/*    width: auto;*/
    width: 100%;
    object-fit: cover;
    object-position: center;
}

@media only screen and (max-width: 680px) {
  ul.piclist li dl dt {
    margin-bottom: 6px
  }
}

ul.piclist li > dl > dd {
  text-align: center;
  padding: 15px 10px;
}

ul.piclist li > dl > dd p {
  margin-bottom: 0;
}

@media only screen and (max-width: 680px) {
  ul.piclist li dl dd:not(.txtC, .alignC) {
    text-align: left
  }
}

ul.piclist li dl dd span.plus {
  display: none
}

ul.piclist li dl dd span.wrap span.name {
  line-height: 24px
}

ul.piclist li dl dd span.wrap span.name span {
  display: inline-block;
  vertical-align: middle
}

ul.piclist li dl dd span.wrap span.name span.name_en {
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  position: relative
}

ul.piclist li dl dd span.wrap span.name span.name_jp {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", serif;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 16px;
  margin-left: 16px
}

@media only screen and (max-width: 680px) {
  ul.piclist li dl dd span.wrap span.name span.name_jp {
    padding-left: 10px;
    margin-left: 10px
  }
}

@media only screen and (max-width: 360px) {
  ul.piclist li dl dd span.wrap span.name span.name_jp {
    padding-left: 6px;
    margin-left: 6px
  }
}

ul.piclist li dl dd span.wrap span.name span.name_jp:after {
  content: "";
  width: 1px;
  height: 10px;
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -5px;
  left: 0;
  background-color: #cccccc
}

div.bg_box {
  background-image: url(/wp/wp-content/themes/cultia2019/assets/img/phase2/bg2.png);
  background-repeat: repeat;
  background-position: 0 0;
  margin-top: 86px;
  border: 1px solid #e8e8e8
}

@media only screen and (max-width: 680px) {
  div.bg_box {
    margin-top: 56px
  }
}

div.bg_box div.bg_box_wrap {
  padding: 36px 36px 0px 36px
}

@media only screen and (max-width: 680px) {
  div.bg_box div.bg_box_wrap {
    padding: 16px 16px 0px 16px
  }
}

div.info_box div.info_box_wrap {
  text-align: center
}

div.info_box div.info_box_wrap p.name {
  display: block;
  margin-bottom: 12px
}

div.info_box div.info_box_wrap p.name span.wrap {
  display: block
}

div.info_box div.info_box_wrap p.name span.wrap span {
  display: inline-block
}

div.info_box div.info_box_wrap p.name span.wrap span.kei {
  font-size: 18px;
  letter-spacing: 0.16em;
  line-height: 24px;
  color: #000000;
  margin-right: 6px
}

@media only screen and (max-width: 1080px) {
  div.info_box div.info_box_wrap p.name span.wrap span.kei {
    font-size: 15px
  }
}

@media only screen and (max-width: 680px) {
  div.info_box div.info_box_wrap p.name span.wrap span.kei {
    font-size: 14px
  }
}

div.info_box div.info_box_wrap p.name span.wrap span.kei_en {
  color: #2d2d2d;
  font-size: 16px;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  letter-spacing: 0.1em;
  line-height: 24px
}

@media only screen and (max-width: 1080px) {
  div.info_box div.info_box_wrap p.name span.wrap span.kei_en {
    font-size: 14px
  }
}

@media only screen and (max-width: 680px) {
  div.info_box div.info_box_wrap p.name span.wrap span.kei_en {
    font-size: 12px
  }
}

div.info_box div.info_box_wrap p.add {
  display: block;
  margin-bottom: 6px
}

div.info_box div.info_box_wrap p.add span.wrap {
  font-size: 1rem;
  letter-spacing: 0.16em;
  line-height: 2;
  color: #2d2d2d
}

div.info_box div.info_box_wrap a {
  display: inline-block;
  vertical-align: bottom
}

@media only screen and (min-width: 979px) {
  div.info_box div.info_box_wrap a:hover span:after {
    width: 0%;
    left: 100%;
    transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
    -webkit-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
    -moz-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
    -o-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
    -ms-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms
  }
}

div.info_box div.info_box_wrap a span {
  letter-spacing: 0.2em;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  color: #B54434;
  position: relative;
  overflow: hidden;
  display: inline-block;
  line-height: 2;
  font-size: 1rem;
  vertical-align: middle
}

@media only screen and (max-width: 680px) {
  div.info_box div.info_box_wrap a span {
    vertical-align: bottom
  }
}

div.info_box div.info_box_wrap a span:after {
  content: "";
  background-color: #B54434;
  height: 1px;
  bottom: 0.3em;
  position: absolute;
  width: 100%;
  left: 0%;
  transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

@media only screen and (max-width: 680px) {
  div.info_box div.info_box_wrap a span:after {
    bottom: 2px
  }
}

div.info_box div.info_box_wrap p.contact_text {
  display: block;
  text-align: center
}

@media only screen and (max-width: 1080px) {
  div.info_box div.info_box_wrap p.contact_text {
    text-align: center
  }
}

@media only screen and (max-width: 680px) {
  div.info_box div.info_box_wrap p.contact_text {
    text-align: left
  }
  div.info_box div.info_box_wrap p.contact_text br {
    display: none
  }
  div.info_box div.info_box_wrap p.contact_text br.db {
    display: block
  }
}

div.info_box div.info_box_wrap p.contact_text span {
  font-size: 1rem;
  letter-spacing: 0.16em;
  line-height: 2;
  color: #2d2d2d
}

div.info_box div.info_box_wrap p.contact_text span span {
  color: #B54434
}

div.info_box div.info_box_wrap p.contact_text span a {
  position: relative;
  display: inline-block;
  overflow: hidden;
  color: #B54434
}

@media only screen and (min-width: 979px) {
  div.info_box div.info_box_wrap p.contact_text span a:hover:after {
    width: 0%;
    left: 100%;
    transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
    -webkit-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
    -moz-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
    -o-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms;
    -ms-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 400ms
  }
}

div.info_box div.info_box_wrap p.contact_text span a:after {
  content: "";
  background-color: #B54434;
  height: 1px;
  bottom: 6px;
  position: absolute;
  width: 100%;
  left: 0%;
  transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -ms-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate3d(0px, 0px, 0px);
  transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: left 0ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

div.info_box div.info_box_wrap dl {
  display: block;
  margin-bottom: 36px
}

div.info_box div.info_box_wrap dl dt {
  display: inline-block
}

div.info_box div.info_box_wrap dl dt span {
  font-size: 1rem;
  letter-spacing: 0.16em;
  line-height: 2;
  color: #2d2d2d
}

div.info_box div.info_box_wrap dl dd {
  display: inline-block;
  margin-left: 8px;
  vertical-align: bottom
}

div.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: visibility 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, z-index 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: visibility 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, z-index 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: visibility 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, z-index 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: visibility 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, z-index 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: visibility 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, z-index 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms
}

div.modal.active {
  z-index: 99999999999999;
  opacity: 1;
  visibility: visible
}

div.modal.active div.modal_main {
  position: relative
}

div.modal.active div.modal_main:after {
  content: "";
  position: absolute;
  border-top: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  width: 56px;
  height: 56px;
  top: 50%;
  left: 50%;
  margin-top: -28px;
  margin-left: -28px;
  border-radius: 100%;
  transform-origin: center center;
  -webkit-transform-origin: center center;
  -moz-transform-origin: center center;
  -o-transform-origin: center center;
  -ms-transform-origin: center center;
  -moz-animation: loading 1000ms linear 0ms infinite normal;
  -webkit-animation: loading 1000ms linear 0ms infinite normal;
  -o-animation: loading 1000ms linear 0ms infinite normal;
  -ms-animation: loading 1000ms linear 0ms infinite normal;
  box-sizing: border-box;
  opacity: 0.8;
  visibility: visible;
  z-index: 0
}

@media only screen and (max-width: 680px) {
  div.modal.active div.modal_main:after {
    width: 38px;
    height: 38px;
    margin-top: -19px;
    margin-left: -19px
  }
}

div.modal div.modal_base {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 1;
  top: 0;
  left: 0
}

div.modal a {
  transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

@media only screen and (min-width: 1080px) {
  div.modal a:hover {
    opacity: 0.5
  }
}

div.modal a.modal_close.top {
  position: absolute;
  z-index: 1000;
  right: 36px;
  top: 36px
}

@media only screen and (max-width: 1080px) {
  div.modal a.modal_close.top {
    display: none;
    top: 16px;
    right: 10px
  }
}

div.modal a.modal_close.top span {
  width: 54px;
  height: 54px;
  position: relative;
  display: block
}

@media only screen and (max-width: 1080px) {
  div.modal a.modal_close.top span {
    width: 36px;
    height: 36px
  }
}

@media only screen and (max-width: 680px) {
  div.modal a.modal_close.top span {
    width: 30px;
    height: 30px
  }
}

div.modal a.modal_close.top span:before, div.modal a.modal_close.top span:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  background-color: #cccccc;
  top: 50%;
  left: 0;
  transform-origin: center center;
  -webkit-transform-origin: center center;
  -moz-transform-origin: center center;
  -o-transform-origin: center center;
  -ms-transform-origin: center center
}

div.modal a.modal_close.top span:before {
  transform: translate3d(0px, 0px, 0px) rotate(-45deg);
  -webkit-transform: translate3d(0px, 0px, 0px) rotate(-45deg);
  -moz-transform: translate3d(0px, 0px, 0px) rotate(-45deg);
  -ms-transform: translate3d(0px, 0px, 0px) rotate(-45deg);
  -o-transform: translate3d(0px, 0px, 0px) rotate(-45deg)
}

div.modal a.modal_close.top span:after {
  transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -webkit-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -moz-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -ms-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -o-transform: translate3d(0px, 0px, 0px) rotate(45deg)
}

div.modal div.modal_wrap {
  position: absolute;
  width: 80%;
  left: 10%;
  top: 50%;
  z-index: 0;
  display: table;
  transform: translate3d(0px, -50%, 0px);
  -webkit-transform: translate3d(0px, -50%, 0px);
  -moz-transform: translate3d(0px, -50%, 0px);
  -ms-transform: translate3d(0px, -50%, 0px);
  -o-transform: translate3d(0px, -50%, 0px)
}

@media only screen and (max-width: 1080px) {
  div.modal div.modal_wrap {
    display: block;
    width: 80%;
    left: 10%;
    top: 50%
  }
}

@media only screen and (max-width: 680px) {
  div.modal div.modal_wrap {
    width: 90%;
    left: 5%
  }
}

div.modal div.modal_wrap div.modal_left {
  display: table-cell;
  vertical-align: middle;
  width: 56%
}

@media only screen and (max-width: 1080px) {
  div.modal div.modal_wrap div.modal_left {
    display: block;
    width: 100%
  }
}

div.modal div.modal_wrap div.modal_right {
  display: table-cell;
  vertical-align: middle;
  padding-left: 56px
}

@media only screen and (max-width: 1080px) {
  div.modal div.modal_wrap div.modal_right {
    display: block;
    width: 100%;
    padding-top: 10px;
    padding-left: 0
  }
}

div.modal div.modal_wrap div.modal_main div.pic {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  z-index: 1
}

div.modal div.modal_wrap div.modal_main div.pic:before {
  content: "";
  width: 100%;
  display: block;
  padding-top: 66.66%
}

@media only screen and (max-width: 680px) {
  div.modal div.modal_wrap div.modal_main div.pic:before {
    padding-top: 60%
  }
}

@media only screen and (max-width: 360px) {
  div.modal div.modal_wrap div.modal_main div.pic:before {
    padding-top: 50%
  }
}

div.modal div.modal_wrap div.modal_thum {
  padding: 3px 0 0 0
}

div.modal div.modal_wrap div.modal_thum ul {
  overflow: hidden
}

div.modal div.modal_wrap div.modal_thum ul li {
  width: 100px;
  max-width: 20%;
  display: inline-block;
  float: left;
  cursor: pointer;
  box-sizing: border-box;
  padding-right: 3px;
  transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms
}

@media only screen and (max-width: 1080px) {
  div.modal div.modal_wrap div.modal_thum ul li {
    width: 20%;
    margin-right: 0;
    padding-right: 1px
  }
}

div.modal div.modal_wrap div.modal_thum ul li.on {
  opacity: 0.3;
  cursor: default
}

@media only screen and (min-width: 1080px) {
  div.modal div.modal_wrap div.modal_thum ul li.on:hover {
    opacity: 0.3
  }
}

@media only screen and (min-width: 1080px) {
  div.modal div.modal_wrap div.modal_thum ul li:hover {
    opacity: 0.5
  }
}

div.modal div.modal_wrap div.modal_thum ul li div.pic {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover
}

div.modal div.modal_wrap div.modal_thum ul li div.pic:before {
  content: "";
  width: 100%;
  display: block;
  padding-top: 66.66%
}

@media only screen and (max-width: 360px) {
  div.modal div.modal_wrap div.modal_thum ul li div.pic:before {
    padding-top: 50%
  }
}

div.modal div.modal_wrap div.modal_text div.modal_text_wrap span {
  color: #ffffff;
  line-height: 1.9;
  letter-spacing: 0.1em;
  font-size: 1rem
}

div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.name_en span {
  letter-spacing: 0.06em;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  font-size: 2rem
}

@media only screen and (max-width: 1080px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.name_en span {
    font-size: 1.5rem
  }
}

div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.name_jp {
  display: block
}

div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.name_jp span {
  line-height: 1.7;
  font-size: 1.1rem
}

@media only screen and (max-width: 680px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.name_jp span {
    font-size: 1rem
  }
}

@media only screen and (max-width: 360px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.name_jp span br {
    display: none
  }
}

div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.text {
  border-top: 1px solid #333333;
  padding-top: 16px;
  margin-top: 16px;
  padding-bottom: 16px
}

@media only screen and (max-width: 1080px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.text {
    padding-top: 8px;
    margin-top: 8px;
    padding-bottom: 8px
  }
}

div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.text span {
  font-family: "游ゴシック", YuGothic, "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", "Meiryo", sans-serif;
  font-size: 0.9rem
}

@media only screen and (max-width: 1080px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.text span br {
    display: none
  }
}

@media only screen and (max-width: 680px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.text span {
    font-size: 11px
  }
}

@media only screen and (max-width: 360px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.text span {
    font-size: 10px
  }
}

div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.data span {
  font-family: "游ゴシック", YuGothic, "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", "Meiryo", sans-serif;
  font-size: 0.9rem
}

@media only screen and (max-width: 680px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.data span {
    font-size: 11px
  }
}

@media only screen and (max-width: 360px) {
  div.modal div.modal_wrap div.modal_text div.modal_text_wrap p.data span {
    font-size: 10px
  }
}

div.modal div.btn {
  text-align: left
}

@media only screen and (max-width: 680px) {
  div.modal div.btn {
    text-align: center
  }
}



div.modal a.modal_close.bottom {
  position: relative;
  text-align: center;
  margin-top: 24px;
  display: inline-block
}

@media only screen and (max-width: 680px) {
  div.modal a.modal_close.bottom {
    position: absolute;
    bottom: 2px;
    right: 0
  }
}

div.modal a.modal_close.bottom:after {
  content: "閉じる";
  font-size: 1rem;
  letter-spacing: 0.16em;
  line-height: 16px;
  padding-left: 10px;
  color: #ffffff;
  white-space: nowrap;
  vertical-align: middle;
  display: inline-block;
  font-family: "游ゴシック", YuGothic, "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", "Meiryo", sans-serif
}

@media only screen and (max-width: 680px) {
  div.modal a.modal_close.bottom:after {
    font-size: 11px
  }
}

div.modal a.modal_close.bottom:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #cccccc;
  position: absolute;
  bottom: -3px;
  left: 0
}

div.modal a.modal_close.bottom span {
  position: relative;
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle
}

@media only screen and (max-width: 680px) {
  div.modal a.modal_close.bottom span {
    width: 14px;
    height: 14px
  }
}

div.modal a.modal_close.bottom span:before, div.modal a.modal_close.bottom span:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  background-color: #cccccc;
  top: 50%;
  left: 0;
  transform-origin: center center;
  -webkit-transform-origin: center center;
  -moz-transform-origin: center center;
  -o-transform-origin: center center;
  -ms-transform-origin: center center
}

div.modal a.modal_close.bottom span:before {
  transform: translate3d(0px, 0px, 0px) rotate(-45deg);
  -webkit-transform: translate3d(0px, 0px, 0px) rotate(-45deg);
  -moz-transform: translate3d(0px, 0px, 0px) rotate(-45deg);
  -ms-transform: translate3d(0px, 0px, 0px) rotate(-45deg);
  -o-transform: translate3d(0px, 0px, 0px) rotate(-45deg)
}

div.modal a.modal_close.bottom span:after {
  transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -webkit-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -moz-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -ms-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -o-transform: translate3d(0px, 0px, 0px) rotate(45deg)
}

@keyframes loading {
  0% {
    transform: rotate(0deg)
  }
  100% {
    transform: rotate(360deg)
  }
}

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg)
  }
  100% {
    -webkit-transform: rotate(360deg)
  }
}

@-moz-keyframes loading {
  0% {
    -moz-transform: rotate(0deg)
  }
  100% {
    -moz-transform: rotate(360deg)
  }
}

@-o-keyframes loading {
  0% {
    -o-transform: rotate(0deg)
  }
  100% {
    -o-transform: rotate(360deg)
  }
}

@-ms-keyframes loading {
  0% {
    -ms-transform: rotate(0deg)
  }
  100% {
    -ms-transform: rotate(360deg)
  }
}

p.cg_attention {
  text-align: right;
  display: block
}

@media only screen and (max-width: 680px) {
  p.cg_attention {
    text-align: left
  }
}

p.cg_attention span {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  color: #5f5f5f;
  line-height: 2.4
}

@media only screen and (max-width: 360px) {
  p.cg_attention span {
    letter-spacing: 0
  }
}
#top_point .full_cover li.g4 img:hover {
    opacity: .8;
    -moz-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
#top_point .section_innerwrap {
    padding-top: 0;
    padding-bottom: 0;
}
#top_point .full_cover .con_fc_inner {
    padding-top: 0;
}


@media screen and (min-width: 960px) {
    #top_point .full_cover li.g4 img {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        -webkit-transition: opacity 300ms ease-out, -webkit-transform 8000ms ease-out;
        -o-transition: opacity 300ms ease-out, -o-transform 8000ms ease-out;
        transition: opacity 300ms ease-out, -webkit-transform 8000ms ease-out;
        -o-transition: opacity 300ms ease-out, transform 8000ms ease-out;
        transition: opacity 300ms ease-out, transform 8000ms ease-out;
        transition: opacity 300ms ease-out, transform 8000ms ease-out, -webkit-transform 8000ms ease-out;
    } 
    .ft-navbtn__item {
        overflow: hidden;
        position: relative;
        height: 300px;
    }
    .ft-navbtn__item a {
        display: block;
        width: 100%;
        height: 100%;
    }
    .ft-navbtn__item-ttlblock {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        background-color: #000;
        width: 236px;
        height: 61px;
    }
    .ft-navbtn__item-ttl {
        overflow: hidden;
        display: block;
        background-repeat: no-repeat;
        background-size: cover;
        margin-bottom: 28px;
        line-height: 61px;
        color: #fff;
        text-align: center;
        font-size: 1.8em;
    }
    #top_news {
        padding: 60px 0;
    }
}

@media screen and (max-width: 959px) and (min-width: 767px) {
    #top_point .full_cover li.g4 {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        -webkit-transition: 100ms ease-out;
        -o-transition: 100ms ease-out;
        transition: 100ms ease-out;
    }
    .ft-navbtn__item {
        position: relative;
        height: 150px;
    }
    .ft-navbtn__item a {
        display: block;
        width: 100%;
        height: 100%;
    }
    .ft-navbtn__item-ttlblock {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        width: 236px;
        height: 61px;
    }
    .ft-navbtn__item-ttl {
        overflow: hidden;
        display: block;
        background-repeat: no-repeat;
        background-size: cover;
        height: auto;
        color: #fff;
        text-align: center;
        font-size: 1.8em;
    }
    
}
@media screen and (max-width: 768px) {
    #top_point .full_cover li.g4 {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        -webkit-transition: 100ms ease-out;
        -o-transition: 100ms ease-out;
        transition: 100ms ease-out;
        
    }  
    .ft-navbtn__item a {
        display: block;
        width: 100%;
        height: 100%;
    }
    .ft-navbtn__item {
        position: relative;
        height: 150px;
        overflow: hidden;
    }
    .ft-navbtn__item-ttlblock {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        background-color: #000;
        width: 236px;
        height: 40px;
    }
    .ft-navbtn__item-ttl {
        overflow: hidden;
        height: auto;
        color: #fff;
        font-size: 1.5em;
        text-align: center;
        line-height: 40px;
    }
}
@media screen and (min-width: 769px) {
    #online .mt10 a i {
        line-height: 53px;
    }
}

footer {
  width: 100%
}
#footer {
    clear: both;
    background-color: #ebebeb;
    /*margin-top: 120px;*/
}
.parallax_contact {
    margin-top: 120px;
}
#footer-wed + #footer {
    margin-top: 0 !important;
}
.footer-01 {
    padding: 50px 0 30px;
    text-align: center;
}
dl.ft-tel {
    width: 70%;
    margin: 30px auto 0;
    padding: 30px 20px;
    border: 1px solid #2d2d2d;
}
dl.ft-tel dt {
    float: left;
    width: 50%;
    font-size: 30px;
}
dl.ft-tel dd {
    margin-left: 50%;
    padding-top: 5px;
    text-align: left;
    padding-left: 3em;
}

@media screen and (max-width: 767px) {
    #footer{
        padding-bottom: 75px;
    }
    dl.ft-tel {
        width: 100% !important;
    }
    dl.ft-tel dt {
        float: none !important;
        width: 100% !important;
        font-size: 26px !important;
    }
    dl.ft-tel dd {
        margin-left: 0 !important;
        padding-left: 0 !important;
        text-align: center !important;
    }
    dl.ft-tel dt .en-2 {
        font-size: 22px !important;
        line-height: 38px;
    }
    h1.logo {
        text-align: center;
    }
    h1.logo img {
        max-width: 80%;
    }
    .footer-01 .wrap {
/*        margin: 0 !important;*/
    }
    .button-1 a {
        font-size: calc(.5em + .8vw) !important;
    }
    #online {
        opacity: 1;
    }
    #online:not(.online-wed) .button-1:before {
        display: block;
        width: 24%;
        margin: 4px auto 0;
        max-width: 30px;
    }
    #online:not(.online-wed) .button-1:nth-child(1):before {
        content: url(/wp/wp-content/themes/cultia2019/assets/img/hotel.svg);
    }
    #online:not(.online-wed) .button-1:nth-child(2):before {
        content: url(/wp/wp-content/themes/cultia2019/assets/img/dining.svg);
    }
    #online:not(.online-wed) .button-1:nth-child(3):before {
        content: url(/wp/wp-content/themes/cultia2019/assets/img/activity.svg);
    }
    #online:not(.online-wed) .button-1:nth-child(4):before {
        content: url(/wp/wp-content/themes/cultia2019/assets/img/inquiry.svg);
    }
    #wedding #online {
        display: none !important;
    }
    .eff-1 {
        display: none !important;
    }
    #online > div {
/*        border-top: 1px solid #969696;*/
    }
    #online > div + div {
/*        border-left: 1px solid #969696;*/
    }
    #online .mt10 {
        position: absolute;
        top: -550%;
        right: 0;
        background-color: rgba(0,0,0,.7);
        border: 1px solid #969696;
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
        width: auto !important;
        height: auto !important;
        display: none;
    }
    #online [class^="sidebar_"] {
        display: block;
        padding: 8px 2px 8px 4px;
    }
    #online [class^="sidebar_"] + [class^="sidebar_"] {
        border-top: 1px solid #969696;
    }
    #online .button-1 {
        padding: 10px;
        text-align: center;
        height: auto;
        width: 60px;
    }
	
	/* オンライン予約 複数 START */
	#online-multiple {
        opacity: 1;
    }
    #online-multiple .button-1::before {
        display: block;
        width: 24%;
        margin: 4px auto 0;
        max-width: 30px;
    }
    #online-multiple .button-1:nth-child(1)::before {
        content: url(/wp/wp-content/themes/cultia2019/assets/img/hotel.svg);
    }
    #online-multiple .button-1:nth-child(2)::before {
        content: url(/wp/wp-content/themes/cultia2019/assets/img/dining.svg);
    }
    #online-multiple .button-1:nth-child(3)::before {
        content: url(/wp/wp-content/themes/cultia2019/assets/img/activity.svg);
    }
    #online-multiple .button-1:nth-child(4)::before {
        content: url(/wp/wp-content/themes/cultia2019/assets/img/inquiry.svg);
    }
    #online-multiple .eff-1 {
        display: none !important;
    }
    #online-multiple > div {
        border-top: 1px solid #969696;
    }
    #online-multiple > div + div {
        border-left: 1px solid #969696;
    }
    #online-multiple .mt10 {
        position: absolute;
        top: -550%;
        right: 0;
        background-color: rgba(0,0,0,.7);
        border: 1px solid #969696;
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
        width: auto !important;
        height: auto !important;
        display: none;
    }
    #online-multiple [class^="sidebar_"] {
        display: block;
        padding: 8px 2px 8px 4px;
    }
    #online-multiple [class^="sidebar_"] + [class^="sidebar_"] {
        border-top: 1px solid #969696;
    }
    #online-multiple .button-1 {
        padding: 0 0 5px 0;
        text-align: center;
        height: auto;
    }
	/* オンライン予約 複数 END */
	
	
/*
    #online .fa-28 {
        font-size: 7vw;
    }
*/
} 
table.vm-list{
	font-size:12px;
	margin-bottom:10px;
}

table.vm-list{
	border:none;
}

table.vm-list th{
	width:60px;
	vertical-align:top;
	border:none !important;
	border-right: 1px solid #909090;
    padding: 0 13px;
    line-height: 1.7;
}

table.vm-list td{
	border:none !important;
    padding: 0 13px;
}

table.vm-list td a,
ul.ft-nav li a {
	color:#4C4C4C;
    line-height: 1.7;
}

table.vm-list td a:hover,
ul.ft-nav li a:hover {
	text-decoration:none;
	color:#7C7C7C;
}
#header ul, #header ol, #side ul, #side ol, #footer ul, #footer ol {
    list-style: none;
    margin: 0;
    padding: 0;
}
ul.nav-related {
    font-size: 0;
    text-align: center;
    margin: 0 auto;
}
ul.nav-related li {
    display: inline-block;
    font-size: 14px;
    padding-top: 20px;
}
.footer-group {
    background-color: rgba(0,0,0,.9);
    padding: 40px 0;
    border-bottom: 2px solid #fff;
}
.footer-group h2,
.footer-group table tr th,
.footer-group table tr td a {
    color: #fff;
}
.footer-group .wrap {
    max-width: 1250px;
    margin: 0 auto;
}
footer div.footer_wrap {
  text-align: center;
  padding: 16px 0
}
footer .ft-logo img {
    max-width: 160px;
    width: 30%;
}
footer .copyright {
    background-color: #020202;
    padding: .6em;
    position: relative;
    z-index: 997;
}
footer .copyright a {
    color: #fff;
    font-size: .9em;
}
footer div.footer_wrap p.copyright {
  display: inline-block
}

footer div.footer_wrap p.copyright span {
  display: inline-block;
  line-height: 14px;
  letter-spacing: 0.16em;
  font-size: 11px;
  font-family: "Crimson Text", TimesNewRoman, "Times New Roman", Times, Georgia, serif;
  color: #2d2d2d
}
#footer-wed {
    background-image: url(../img/wedding/flow/box_bgimg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}
#footer-wed .row {
    background-color: #634e4e40;
    padding: 7% 0;
}
#footer-wed h5,
#footer-wed ul li a,
#parallax_contact h4,
#parallax_contact p {
    color: #fff;
}
#footer-wed h5,
#parallax_contact h4 {
    font-size: 1.2em;
}
ul.nav_footer li span {
    font-size: 1.1rem !important;
    margin: 0px 10px 0px 5px;
}
ul.nav_footer li {
    padding: 0;
    margin: 0 0 7px 0;
    font-size: 12px;
}

.vmg-logo {
    width: 70%;
    max-width: 1250px;
    margin: 30px auto 0;
}
section.vmg-logo .gr6:first-child {
  padding-left: 0 !important;
}
section.vmg-logo .gr6:last-child {
  padding-right: 0 !important;
}
#parallax_contact{
	background: url(../img/wedding/parallax_contact.jpg) center bottom no-repeat fixed;
	background-size:cover;
	/*background-size:contain;*/
	margin:0 auto;
	width:100%;
	/*height:520px !important;*/
	color:#fff;
	padding:110px 0;
    margin-top: 120px;
}
@media only screen and (max-width: 767px) {
    footer .copyright .wrap{
        padding: 0;
    }
    
  section.vmg-logo {
      width: 100%;
  }
  section.vmg-logo .gr6 {
      padding-left: 0 !important;
      padding-right: 0 !important;
  }
    #footer-wed .row {
        padding-left: 15px;
        padding-right: 15px;
    }
    /** footer btn **/
	.footer-btn-xs{
		display:inline;
/*		display:table;*/
		table-layout:fixed;
		width:100%;
		position:fixed;
		left:0;
		bottom:0;
		z-index:9999999;
		border-top:1px solid #ab1555;
        font-size: 0;
	}
	
	.footer-btn-xs div{
		display:inline-block;
/*		display:table-cell;*/
		text-align:center;
		vertical-align:middle;
		font-size:12.5px;
            width: 33.1%;
	}
	
	.footer-btn-xs div a{
		background:#ab1555;
		color:#fff;
		display:block;
		padding:10px 0;
		text-decoration:none;
	}
	
	.footer-btn-xs div a:hover{
		background:#fff;
		color:#ab1555;
		text-decoration:none;
	}
	
	.footer-btn-xs div:nth-child(1),
	.footer-btn-xs div:nth-child(2){
		border-right:1px solid #fff;
	}
	
	.footer-btn-xs div a:hover{
		text-decoration:none;
	}
	
	/** footer bnr **/
	.wrap-ft-bnr-sp{margin: 0 0 30px;}
	
	.wrap-ft-bnr-sp p{
		text-align: center;
		letter-spacing: 0.2em;
	}
	
	.wrap-ft-bnr-sp a{
		display: block;
		margin-bottom: 10px;
	}
    ul.sub-menu li > a {
        display: block;
        color: #241913;
        font-size: 13px;
        background-color: #E8E8E8;
        border-bottom: 1px solid #dbdbdb;
        padding: 15px 15px;
        position: relative;
    }
}
@media only screen and (max-width: 680px) {
    footer div.footer_wrap p.copyright span {
    font-size: 10px
    }
    #parallax_contact {
        background: url(../img/wedding/parallax_contact.jpg) center bottom no-repeat fixed;
        background-size: cover;
        margin: -7px auto 0;
        width: 100%;
        position: relative;
        padding: 70px 0;
    }
}


/** footer cv button **/
.footer-cv{
    padding: 80px 0;
}

.tit-ftcv{
    font-size: 20px;
    line-height: 2;
    font-weight: 700;
    text-align: center;
    margin-bottom: 40px;
}

.tit-ftcv span{
    display: block;
    font-size: 12px;
    letter-spacing: 1px;
}

/* ftcv-01 */
ul.ftcv-01{
    width: 60%;
    margin: 0 auto 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

ul.ftcv-01 li{
    width: 47%;
    line-height: 1;
}

ul.ftcv-01 li a{
    font-size: 21px;
    width: 100%;
    padding: 20px 0;
    display: block;
    color: #fff;
    background: #000;
    letter-spacing: 2px;
    text-align: center;
    position: relative;
}

ul.ftcv-01 li a span{
    font-size: 11px;
    letter-spacing: 0;
    display: inline-block;
    border-radius: 10px;
    padding: 3px 14px;
}

ul.ftcv-01 li a img{
    width: 20px;
    position: absolute;
    top: 20px;
    left: 50px;
}

ul.ftcv-01 li:nth-child(2) a{
    background: #AB4A2D;
    letter-spacing: -0.5px;
}

ul.ftcv-01 li:nth-child(2) a span{
    background: #fff;
    color: #AB4A2D;
}

ul.ftcv-01 li:nth-child(2) a:after{
    content: ">";
    transform: scaleX(0.6);
    position: absolute;
    right: 23px;
    top: 20px;
}

/* ftcv-02 */
ul.ftcv-02{
    width: 50%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

ul.ftcv-02 li{
    width: 47%;
    line-height: 1;
}

ul.ftcv-02 li a{
    font-size: 17px;
    width: 100%;
    padding: 20px 0;
    display: block;
    color: #000;
    background: #fff;
    border: 1px solid #707070;
    text-align: center;
    position: relative;
}

ul.ftcv-02 li a span{
    font-size: 13px;
    letter-spacing: 0;
}

ul.ftcv-02 li a img{
    width: 20px;
    position: absolute;
    top: 20px;
    left: 40px;
}

ul.ftcv-02 li a:after{
    content: ">";
    transform: scaleX(0.6);
    position: absolute;
    right: 23px;
    top: 20px;
}

@media screen and (max-width: 991px) {
    
    /** footer cv button **/
    ul.ftcv-01{
        width: 94%;
    }
    
    ul.ftcv-02{
        width: 84%;
    }
    
}


@media screen and (max-width: 767px) {
    
    /** footer cv button **/
    .footer-cv .wrap{
        margin: 0 auto;
    }
    
    ul.ftcv-01,
    ul.ftcv-02,
    ul.ftcv-01 li,
    ul.ftcv-02 li{
        width: 100%;
    }
    
    ul.ftcv-01 li a{
        font-size: 17px;
        line-height: 1.4;
    }
    
    ul.ftcv-02{
        flex-direction: column;
    }
    
    ul.ftcv-01,
    ul.ftcv-02 li{
        margin-bottom: 15px;
    }
        
    ul.ftcv-02 li a img{
        left: 50px;   
    }
        
    
    
}

.top-logo {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 200px;
  width: 100%;
  z-index: 10;
}
@media screen and (max-width: 767px) {
.top-logo {
  width: 120px;
}
}
.top-line {
  display: none;
}
@media screen and (max-width: 767px) {
  .top-line {
    display: inline-block;
    position: fixed;
    bottom: 40px;
    right: 2%;
    width: 90px;
    z-index: 10;
    opacity: 0; 
    transition: opacity 0.5s ease-in-out; 
  }
}
