/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

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

h1 {
  font-size: 2em;
  margin: 0.67em 0
}

figcaption, figure, main {
  display: block
}

figure {
  margin: 1em 40px
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

pre {
  font-family: monospace, monospace;
  font-size: 1em
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em
}

dfn {
  font-style: italic
}

mark {
  background-color: #ff0;
  color: #000
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

audio, video {
  display: inline-block
}

audio:not([controls]) {
  display: none;
  height: 0
}

img {
  border-style: none
}

svg:not(:root) {
  overflow: hidden
}

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button, input {
  overflow: visible
}

button, select {
  text-transform: none
}

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0
}

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText
}

fieldset {
  padding: 0.35em 0.75em 0.625em
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

progress {
  display: inline-block;
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0
}

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

details, menu {
  display: block
}

summary {
  display: list-item
}

canvas {
  display: inline-block
}

template {
  display: none
}

[hidden] {
  display: none
}

*, *:after, *:before {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility
}

html {
  font-size: 62.5%
}

body {
  color: #000;
  font-size: 4.8vw;
  font-family: 'Noto Sans JP', sans-serif
}

@media only screen and (min-width: 930px) {
  body {
    font-size: 1.6rem
  }
}

.clear:before, .clear:after {
  content: ' ';
  display: table
}

.clear:after {
  clear: both
}

.clear {
  *zoom: 1
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0
}

img {
  max-width: 100%;
  vertical-align: bottom
}

a {
  color: #444;
  text-decoration: none
}

a:hover {
  opacity: .8
}

a:focus {
  outline: 0
}

a:hover, a:active {
  outline: 0
}

input:focus {
  outline: 0;
  border: 1px solid #04A4CC
}

.pc {
  display: none
}

@media only screen and (min-width: 930px) {
  .pc {
    display: block
  }
}

@media only screen and (min-width: 930px) {
  .sp {
    display: none
  }
}

.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh
}

.header {
  position: fixed;
  width: 100%;
  z-index: 100
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.067vw 2.467vw;
  background: #fff
}

@media only screen and (min-width: 930px) {
  .header-inner {
    padding: 11px 22px
  }
}

.header.has-border {
  border-bottom: 1px solid #000;
  box-shadow: 0px 1px 1px 0px rgba(47, 47, 47, 0.4)
}

@media only screen and (min-width: 930px) {
  .half-header .hamburger {
    width: 75px;
    height: 39px
  }
}

@media only screen and (min-width: 930px) {
  .half-header .logo {
    width: 39px;
    margin-right: calc(50% - 39px / 2)
  }
}

@media only screen and (min-width: 930px) {
  .half-header.form-link-area {
    top: 9px
  }
}

@media only screen and (min-width: 930px) {
  .half-header.form-link-area .link-form a {
    font-size: 1.6rem
  }
}

.hamburger {
  position: relative;
  width: 20vw;
  height: 8.267vw;
  cursor: pointer
}

@media only screen and (min-width: 930px) {
  .hamburger {
    width: 150px;
    height: 78px
  }
}

.hamburger__line {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 2px;
  background: #000;
  transform: translate(-50%, -50%);
  transition: all .6s
}

.hamburger__line--1 {
  top: 20%
}

.hamburger__line--3 {
  top: 80%
}

.logo {
  width: 8.267vw;
  margin-right: calc(50% - 8.267vw / 2)
}

@media only screen and (min-width: 930px) {
  .logo {
    width: 78px;
    margin-right: calc(50% - 39px)
  }
}

/* .nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 20vw 1em;
  background: #aaa7a7;
  font-size: 4.8vw;
  font-weight: 300;
  transform: translateX(-100%);
  transition: transform 500ms ease-in-out;
  overflow: scroll;
  z-index: 300
} */
.nav {
  z-index: 300;
  position: absolute;
}

.form .nav {
  font-family: 'Noto Sans JP', sans-serif;
}

/* .nav {
    max-width: 802px;
    width: 55%;
    padding: 120px 55px;
    font-size: 2.4rem;
    font-weight: 500
  } */
.hum_main {
  position: fixed;
  top: -100%;
  visibility: hidden;
  overflow-y: scroll;
  opacity: 0;
  right: 0;
  left: 0;
  left: 0;
  bottom: 0;
  background: #fff;
  width: 100%;
  transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -webkit-overflow-scrolling: touch;
  z-index: 100;
}

@media screen and (min-width: 992px) {
  .hum_main::after {
    content: '';
    position: absolute;
    height: 100%;
    width: 50%;
    top: 0;
    right: 0;
    background: #F2EDDC;
  }
}

.open .hum_main {
  opacity: 1;
  visibility: visible;
  top: 0;
}

.hum_main .btn-close {
  position: fixed;
  z-index: 9999;
}

@media screen and (min-width: 992px) {
  .hum_main .btn-close {
    left: 18px;
    top: 15px;
    width: 150px;
    height: 78px;
  }
}

.hum_inner {
  display: flex;
}

@media screen and (max-width: 991px) {
  .hum_inner {
    flex-direction: column;
  }
}

.hum_left {
  width: 50%;
  position: relative;
}

@media screen and (max-width: 991px) {
  .hum_left {
    width: 100%;
    z-index: 999;
  }
}

.hum_logo {
  z-index: 101;
}

@media screen and (min-width: 992px) {
  .hum_logo {
    position: fixed;
    top: 300px;
    right: 65%;
  }
}

@media screen and (max-width: 991px) {
  .hum_logo {
    padding: 15px 0;
    display: flex;
    justify-content: center;
    background: #fff;
    position: fixed;
    z-index: 1;
    width: 100%;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .hum_logo img {
    max-width: 35px;
  }
}

.hum_logo > img {
  height: 50px;
}

.hum_right {
  padding: 100px 80px;
  width: 50%;
  background: #F2EDDC;
  position: relative;
  z-index: 101;
}

@media screen and (max-width: 991px) {
  .hum_right {
    width: 100%;
    padding: 95px 10% 20% 10%;
  }
}

.hum_main li {
  list-style: none;
  text-align: left;
}

.hum_nav01 {
  padding: 0;
  margin: 0 0 30px 0;
  max-width: 380px;
}

@media screen and (max-width: 991px) {
  .hum_nav01 {
    margin: 0 0 25px 0;
  }
}

.hum_nav01 > li {
  list-style: none;
  border-bottom: 2px dotted #998951;
  padding-bottom: 15px;
  text-align: left;
}

@media screen and (max-width: 991px) {
  .hum_nav01 > li {
    padding-bottom: 10px;
  }
}

.hum_nav01 > li > a {
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  color: #444444;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 991px) {
  .hum_nav01 > li > a {
    font-size: 1.5rem;
  }
  .form .hum_nav01 > li > a {
    font-size: 1.3rem;
  }
}

.hum_nav01 > li:not(:last-child) {
  margin-bottom: 15px;
}

@media screen and (max-width: 991px) {
  .hum_nav01 > li:not(:last-child) {
    margin-bottom: 10px;
  }
}

.hum_nav02 {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0 0 30px 0;
}

@media screen and (max-width: 991px) {
  .hum_nav02 {
    margin: 0 0 25px 0;
  }
}

.hum_nav02 > li + li {
  margin-left: 30px;
}

.hum_nav02 > li > a {
  position: relative;
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 991px) {
  .hum_nav02 > li > a {
    font-size: 1.3rem;
  }
  .form .hum_nav02 > li > a {
    font-size: 1.1rem;
  }
}

.hum_nav02 > li.ico_tv > a {
  padding-left: 28px;
  background: url(img/common/icon_tv.png) left top 0.1em no-repeat;
  background-size: 20px auto;
}

.hum_nav02 > li.ico_tv > a {
  padding-left: 35px;
}

@media screen and (max-width: 991px) {
  .hum_nav02 > li.ico_tv > a {
    padding-left: 30px;
  }
}

.hum_nav02 > li.ico_tv > a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(img/common/icon_tv.png) left center no-repeat;
  background-size: contain;
  width: 24px;
  height: 30px;
}

@media screen and (max-width: 991px) {
  .hum_nav02 > li.ico_tv > a:before {
    width: 20px;
    height: 25px;
  }
}

.hum_nav02 > li.ico_news > a {
  padding-left: 40px;
}

@media screen and (max-width: 991px) {
  .hum_nav02 > li.ico_news > a {
    padding-left: 35px;
  }
}

.hum_nav02 > li.ico_news > a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(img/common/icon_news.png) left center no-repeat;
  background-size: contain;
  width: 30px;
  height: 29px;
}

@media screen and (max-width: 991px) {
  .hum_nav02 > li.ico_news > a:before {
    width: 25px;
    height: 24px;
  }
}

.hum_nav03 {
  padding: 0;
  margin: 0 0 25px 0;
}

@media screen and (max-width: 991px) {
  .hum_nav03 {
    margin: 0 0 20px 0;
  }
}

.hum_nav03 > li:not(:last-child) {
  margin-bottom: 15px;
}

@media screen and (max-width: 991px) {
  .hum_nav03 > li:not(:last-child) {
    margin-bottom: 10px;
  }
}

.hum_nav03 > li > a {
  position: relative;
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 991px) {
  .hum_nav03 > li > a {
    font-size: 1.3rem;
  }
  .form .hum_nav03 > li > a {
    font-size: 1.1rem;
  }
}

.hum_nav03 > li.ico_about > a {
  padding-left: 35px;
}

@media screen and (max-width: 991px) {
  .hum_nav03 > li.ico_about > a {
    padding-left: 30px;
  }
}

.hum_nav03 > li.ico_about > a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(img/common/icon_about.png) left center no-repeat;
  background-size: contain;
  width: 25px;
  height: 18px;
}

@media screen and (max-width: 991px) {
  .hum_nav03 > li.ico_about > a:before {
    width: 20px;
    height: 13px;
  }
}

.hum_nav03 > li.ico_access > a {
  padding-left: 35px;
}

@media screen and (max-width: 991px) {
  .hum_nav03 > li.ico_access > a {
    padding-left: 30px;
  }
}

.hum_nav03 > li.ico_access > a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(img/common/icon_access.png) left center no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
}

@media screen and (max-width: 991px) {
  .hum_nav03 > li.ico_access > a:before {
    width: 20px;
    height: 20px;
  }
}

.hum_cv {
  padding: 0;
  margin: 0 0 25px 0;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 991px) {
  .hum_cv {
    justify-content: space-between;
  }
}

.hum_cv li {
  width: 165px;
  text-align: left;
}

@media screen and (max-width: 991px) {
  .hum_cv li {
    width: 47%;
  }
}

@media screen and (min-width: 992px) {
  .hum_cv li + li {
    margin-left: 25px;
  }
}

.hum_cv li a {
  padding: 10px;
  display: block;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 991px) {
  .hum_cv li a {
    font-size: 1.5rem;
  }
  .form .hum_cv li a {
    font-size: 1.3rem;
  }
}

.hum_cv li:nth-child(1) a {
  background: #D0A68E;
}

.hum_cv li:nth-child(2) a {
  background: #E87C51;
}

.hum_tel {
  text-align: left;
}

.hum_tel a {
  display: block;
  position: relative;
  padding-left: 40px;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-size: 2rem;
}

@media screen and (max-width: 991px) {
  .hum_tel a {
    font-size: 2.2rem;
  }
  .form .hum_tel a {
    font-size: 2rem;
  }
}

.hum_tel a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(img/common/icon_tel02.png) left center no-repeat;
  background-size: contain;
  width: 31px;
  height: 19px;
}

@media screen and (min-width: 992px) {
  .hum_close {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .hum_close {
    position: relative;
    width: 150px;
    display: block;
    margin: 40px auto 0;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 7px 20px;
    text-align: center;
    cursor: pointer;
    line-height: 1;
  }
  .form .hum_close {
    font-size: 1.2rem;
  }
  .hum_close::before {
    content: '×';
    display: inline-block;
    vertical-align: middle;
    padding-right: 5px;
    line-height: 1;
  }
  .hum_close > span {
    position: relative;
  }
  .hum_close > span::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 1px;
    background: #444;
  }
}

body.is_hidden {
  overflow: hidden;
}

.btn-close {
  position: absolute;
  top: 1.5vw;
  left: 2.65vw;
  width: 15vw;
  height: 15vw;
  cursor: pointer
}

@media only screen and (min-width: 930px) {
  .btn-close {
    top: 0;
    right: 0;
    left: auto;
    width: 120px;
    height: 120px
  }
}

.btn-close__line {
  position: absolute;
  top: 50%;
  left: 25%;
  width: 50%;
  height: 2px;
  background: #444444;
  transform: translate(-50%, -50%);
  transition: all .6s;
}

.btn-close__line--1 {
  transform: rotate(45deg)
}

.btn-close__line--2 {
  transform: rotate(-45deg)
}

.top-img-area {
  height: 33.334vw;
  background: #ccc no-repeat center/cover
}

@media only screen and (min-width: 930px) {
  .top-img-area {
    height: 360px
  }
}

.ryukyugobyo .top-img-area, .comparison .top-img-area, .automatic-transport .top-img-area, .how-to-worship .top-img-area, .feature .top-img-area {
  background-image: url("img/ryukyugobyo/top_img_sp.jpg")
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .top-img-area, .comparison .top-img-area, .automatic-transport .top-img-area, .how-to-worship .top-img-area, .feature .top-img-area {
    background-image: url("img/ryukyugobyo/top_img_pc.jpg")
  }
}

.shikinain .top-img-area {
  background-image: url("img/shikinain/top_img_sp.jpg")
}

@media only screen and (min-width: 930px) {
  .shikinain .top-img-area {
    background-image: url("img/shikinain/top_img_pc.jpg")
  }
}

.komyoji .top-img-area {
  background-image: url("img/komyoji/top_img_sp.jpg")
}

@media only screen and (min-width: 930px) {
  .komyoji .top-img-area {
    background-image: url("img/komyoji/top_img_pc.jpg")
  }
}

.indoor-cemeteries .top-img-area {
  background-image: url("img/indoor_cemeteries/top_img_sp.jpg")
}

@media only screen and (min-width: 930px) {
  .indoor-cemeteries .top-img-area {
    background-image: url("img/indoor_cemeteries/top_img_pc.jpg")
  }
}

.main {
  flex: 1;
  margin-top: 10.4vw
}

@media only screen and (min-width: 930px) {
  .main {
    margin-top: 100px
  }
}

.main-inner {
  /* padding-bottom: 20vw; */
  padding-bottom: 0;
}

@media only screen and (min-width: 930px) {
  .main-inner {
    /* padding-bottom: 160px; */
  }
}

.form-link-area {
  display: flex
}

@media screen and (max-width: 929px) {
  .form-link-area {
    display: none!important;
  }
}

@media only screen and (min-width: 930px) {
  .form-link-area {
    position: fixed;
    top: 25px;
    right: 22px;
    z-index: 200
  }
}

.form-link-area.fixed {
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 100
}

.form-link-area .link-form {
  width: 50%
}

@media only screen and (min-width: 930px) {
  .form-link-area .link-form {
    min-width: 180px;
    width: auto
  }
}

.form-link-area .link-form a {
  display: block;
  padding: 1.7vw 0;
  color: #f9f9fb;
  font-size: 4.8vw;
  text-align: center;
  text-shadow: 0px 5px 9px rgba(47, 47, 47, 0.32)
}

@media only screen and (min-width: 930px) {
  .form-link-area .link-form a {
    padding: 12px 13px;
    font-size: 2.4rem
  }
}

.form-link-area .link-document-request {
  background: #d4a692
}

.form-link-area .link-reservation {
  background: #f37c5d;
}

@media only screen and (min-width: 930px) {
  .form-link-area .link-document-request {
    margin-right: 13px
  }
  .form-link-area .link-reservation {
    margin-right: 13px;
  }
}

.form-link-area .link-reburial_reservation {
  background: #86CBCE
}

.breadcrumbs {
  width: 96%;
  margin: 1em auto 0;
  font-size: 3.74vw
}

@media only screen and (min-width: 930px) {
  .breadcrumbs {
    width: 1320px;
    font-size: 2rem
  }
}

.breadcrumbs a {
  color: #000
}

.entry-content {
  padding-top: 6.667vw
}

@media only screen and (min-width: 930px) {
  .entry-content {
    padding-top: 40px
  }
}

.entry-header {
  width: 96%;
  margin: 0 auto 7.6vw
}

@media only screen and (min-width: 930px) {
  .entry-header {
    width: 1320px;
    margin: 0 auto 64px
  }
}

.entry-title {
  padding-bottom: .2em;
  border-bottom: 2px solid #bda43c;
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  font-weight: 600;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .entry-title {
    border-bottom: 1px solid #bda43c;
    box-shadow: 0px 1px 0 0px rgba(47, 47, 47, 0.5);
    font-size: 4.8rem
  }
}

.border-cross {
  position: relative;
  width: 96%;
  margin: 0 auto 3.6vw;
  padding: 0 0 0 2.4vw
}

@media only screen and (min-width: 930px) {
  .border-cross {
    width: 1320px;
    margin: 0 auto 10px;
    padding: 0 0 0 20px
  }
}

@media only screen and (min-width: 930px) {
  .border-cross::before {
    bottom: 40px
  }
}

.border-cross>* {
  padding: 0 0 .4em 0;
  border-bottom: 0;
  box-shadow: none;
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  font-weight: 600;
  text-align: left
}

@media only screen and (min-width: 930px) {
  .border-cross>* {
    padding: 40px 0 40px 0;
    font-size: 4.8rem
  }
}

.cross-mark {
  position: relative;
  height: 13.2vw
}

@media only screen and (min-width: 930px) {
  .cross-mark {
    height: 150px
  }
}

.cross-mark span {
  display: block;
  height: 10.8vw;
  position: relative
}

@media only screen and (min-width: 930px) {
  .cross-mark span {
    height: 100px
  }
}

.cross-mark span::before, .cross-mark span::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: #000
}

.cross-mark span::before {
  width: 1px
}

.cross-mark span::after {
  width: 6.8vw;
  height: 1px
}

@media only screen and (min-width: 930px) {
  .cross-mark span::after {
    width: 50px
  }
}

.cross-mark-top {
  margin-bottom: 10vw
}

@media only screen and (min-width: 930px) {
  .cross-mark-top {
    margin-bottom: 150px
  }
}

.cross-mark-top::after {
  top: 0;
  bottom: -2.4vw;
  left: 0;
  width: 13.6vw;
  height: 1px
}

@media only screen and (min-width: 930px) {
  .cross-mark-top::after {
    bottom: -60px;
    width: 100px
  }
}

.cross-mark-top span {
  top: 2.4vw
}

@media only screen and (min-width: 930px) {
  .cross-mark-top span {
    top: 55px
  }
}

.cross-mark-bottom::before, .cross-mark-bottom::after {
  content: "";
  position: absolute;
  margin: auto;
  background: #000
}

.cross-mark-bottom::before {
  right: 2.4vw;
  width: 1px;
  height: 10.8vw
}

@media only screen and (min-width: 930px) {
  .cross-mark-bottom::before {
    right: 20px;
    height: 150px
  }
}

.cross-mark-bottom::after {
  top: 2.4vw;
  right: 0;
  width: 13.6vw;
  height: 1px
}

@media only screen and (min-width: 930px) {
  .cross-mark-bottom::after {
    top: 40px;
    width: 100px
  }
}

.cross-mark-bottom span {
  top: -2.4vw
}

@media only screen and (min-width: 930px) {
  .cross-mark-bottom span {
    top: -15px
  }
}

.about-link-block {
  width: 96%;
  margin: 10vw auto 0
}

@media only screen and (min-width: 930px) {
  .about-link-block {
    width: 1320px;
    margin: 150px auto 0
  }
}

.about-link-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 8.4vw;
  padding: 0 4.667vw
}

@media only screen and (min-width: 930px) {
  .about-link-list {
    margin-bottom: 120px;
    padding: 0 20px
  }
}

.about-link-list .about-link {
  width: 40vw;
  height: 40vw;
  margin: 0 0 6.667vw 0
}

@media only screen and (min-width: 930px) {
  .about-link-list .about-link {
    width: 400px;
    height: 400px;
    margin: 0
  }
}

.about-link-list .about-link a {
  display: block;
  height: 100%;
  padding: 10vw;
  color: #fff;
  font-family: "Yu Mincho", "游明朝", "YuMincho", "游明朝体", serif;
  font-size: 3.6vw;
  font-weight: bold;
  line-height: 1.33;
  text-align: center;
  text-shadow: 0px 3px 3.76px rgba(47, 47, 47, 0.68)
}

@media only screen and (min-width: 930px) {
  .about-link-list .about-link a {
    padding: 90px;
    font-size: 3.6rem
  }
}

.about-link-list .about-link a span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  border: 2px solid #fff;
  box-shadow: 0px 3px 3.76px 0.24px rgba(47, 47, 47, 0.68)
}

.about-link-list .about-link-ryukyugobyo a {
  background: url("img/common/about_link_bg_img01_sp.jpg") no-repeat center/cover
}

@media only screen and (min-width: 930px) {
  .about-link-list .about-link-ryukyugobyo a {
    background: url("img/common/about_link_bg_img01.jpg") no-repeat center/cover
  }
}

.about-link-list .about-link-shikinain a {
  background: url("img/common/about_link_bg_img02_sp.jpg") no-repeat center/cover
}

@media only screen and (min-width: 930px) {
  .about-link-list .about-link-shikinain a {
    background: url("img/common/about_link_bg_img02.jpg") no-repeat center/cover
  }
}

.about-link-list .about-link-komyoji a {
  background: url("img/common/about_link_bg_img03.jpg") no-repeat center/cover
}

.related-page-link {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .related-page-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 1320px;
    margin: 0 auto;
    text-align: left
  }
}

.related-page-link li {
  margin-bottom: .67vw
}

@media only screen and (min-width: 930px) {
  .related-page-link li {
    width: 50%;
    margin-bottom: 1px
  }
}

@media only screen and (min-width: 930px) {
  .related-page-link li:nth-child(odd) {
    border-right: 1px solid #fff
  }
}

.related-page-link li a {
  display: block;
  padding: 2.4vw 0;
  background: #f1eddf;
  color: #303030;
  font-family: 'Noto Serif JP', serif;
  font-size: 4.8vw;
  font-weight: bold;
  position: relative
}

@media only screen and (min-width: 930px) {
  .related-page-link li a {
    padding: 30px 0 30px 68px;
    font-size: 2.4rem
  }
}

.related-page-link li a.current {
  background: #f8f7e9;
  pointer-events: none
}

.related-page-link li a::after {
  content: ">";
  position: absolute;
  top: 0;
  right: 11.6vw;
  bottom: 0;
  height: 1em;
  margin: auto
}

@media only screen and (min-width: 930px) {
  .related-page-link li a::after {
    right: 105px
  }
}

.separator {
  position: relative;
  height: 0;
  margin: 10vw 0
}

@media only screen and (min-width: 930px) {
  .separator {
    width: 1320px;
    height: 0;
    margin: 80px auto
  }
}


.entry-body p {
  margin: 0 0 1.5em;
  line-height: 1.75
}

section .inner {
  width: 96%;
  margin: 0 auto;
  padding: 0 2.4vw
}

@media only screen and (min-width: 930px) {
  section .inner {
    width: 1320px;
    padding: 0 0 0 20px
  }
}

section .purple {
  color: #601986
}

section .red {
  color: #fb0404
}

@media only screen and (min-width: 930px) {
  section .bg-ivory {
    padding: 33px 0;
    background: #f1eddf
  }
}

.pagetop {
  display: none;
  position: fixed;
  right: 5vw;
  bottom: 100px;
  width: 15vw;
  height: 15vw;
  background: #dde5c6
}

@media only screen and (min-width: 930px) {
  .pagetop {
    right: 40px;
    bottom: 100px;
    width: 100px;
    height: 100px
  }
}

.pagetop::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 50%;
  height: 50%;
  margin: auto;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: rotate(45deg) translate(25%, 25%)
}

.footer {
  background: #f1eddf
}

.footer-nav {
  display: none
}

@media only screen and (min-width: 930px) {
  .footer-nav {
    display: block;
    max-width: 1400px;
    margin: 0 auto;
    padding: 76px 88px;
    font-size: 1.8rem
  }
}

@media only screen and (min-width: 930px) {
  .footer-nav ul {
    margin: 0;
    padding: 0;
    list-style: none
  }
}

.footer-nav a {
  color: #000
}

@media only screen and (min-width: 930px) {
  .footer-nav .nav-menu-list {
    display: flex;
    justify-content: space-around
  }
}

@media only screen and (min-width: 930px) {
  .footer-nav .menu-item {
    margin-bottom: 1em
  }
}

@media only screen and (min-width: 930px) {
  .footer-nav .sub-menu {
    margin-top: 1em;
    padding-left: 1em
  }
}

.footer .logo-yashiro {
  display: none
}

@media only screen and (min-width: 930px) {
  .footer .logo-yashiro {
    display: block;
    width: 166px;
    margin: 0 auto
  }
}

.footer .copyright {
  padding: 1.6vw 0;
  font-size: 3.2vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .footer .copyright {
    padding: 40px 0;
    font-size: 1.8rem
  }
}

.advanced-notice {
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 4vw;
  line-height: 1.5
}

.advanced-notice .pc {
  display: none
}

@media only screen and (min-width: 768px) {
  .advanced-notice .pc {
    display: block
  }
}

@media only screen and (min-width: 768px) {
  .advanced-notice .sp {
    display: none
  }
}

.advanced-notice .Opening {
  position: relative;
  background-color: #FFF
}

@media only screen and (min-width: 768px) {
  .advanced-notice .Opening {
    min-height: 600px
  }
}

.advanced-notice .Opening ul {
  margin: 0;
  padding: 0
}

.advanced-notice .Opening ul li {
  position: relative;
  overflow: hidden;
  width: 100%;
  text-align: center
}

.advanced-notice .Opening .Opening__text, .advanced-notice .Opening .Opening__logo, .advanced-notice .Opening .Opening__tel {
  position: absolute;
  z-index: 9
}

.advanced-notice .Opening .Opening__text, .advanced-notice .Opening .Opening__logo {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0)
}

.advanced-notice .Opening .Opening__text {
  top: 5%;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  font-size: 8vw;
  line-height: 1.417;
  text-shadow: 0 0 8px rgba(47, 47, 47, 0.5), 0px 2px 8px rgba(47, 47, 47, 0.5);
  white-space: nowrap
}

@media only screen and (min-width: 768px) {
  .advanced-notice .Opening .Opening__text {
    font-size: 6rem
  }
}

.advanced-notice .Opening .Opening__logo {
  bottom: 6.67vw;
  width: 34.67vw
}

@media only screen and (min-width: 768px) {
  .advanced-notice .Opening .Opening__logo {
    bottom: 110px;
    width: auto
  }
}

.advanced-notice .Opening .Opening__tel {
  right: 0;
  bottom: 15px;
  left: 0;
  text-align: center
}

.advanced-notice .Opening .Opening__img {
  max-width: inherit;
  width: 100%;
  height: auto
}

.advanced-notice .advanced-notice-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20vw;
  background: #d4c68b;
  text-align: center
}

@media only screen and (min-width: 768px) {
  .advanced-notice .advanced-notice-footer {
    display: none
  }
}

.advanced-notice .advanced-notice-footer p {
  line-height: 1.1
}

.advanced-notice .advanced-notice-footer .free-dial {
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-family: 'Noto Sans JP';
  font-size: 9.6vw;
  font-weight: 900
}

.advanced-notice .advanced-notice-footer .free-dial::before {
  content: "";
  display: inline-block;
  width: 10.27vw;
  height: 6.67vw;
  margin-right: 2.4vw;
  background: url("img/qr/icon-free-dial.png") no-repeat;
  background-size: cover
}

.advanced-notice .advanced-notice-footer .free-dial a {
  color: #000
}

.home .main-visual {
  height: 45.6vw;
  background: url("img/top_page/main_visual_sp.jpg") no-repeat center/cover;
  position: relative
}

@media only screen and (min-width: 930px) {
  .home .main-visual {
    min-width: 1320px;
    height: 680px;
    margin: 0 auto;
    background: url("img/top_page/main_visual_pc.jpg") no-repeat top/cover
  }
}

.home .site-title {
  position: absolute;
  right: 0;
  bottom: 2vw;
  left: 0;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  font-size: 4vw;
  font-weight: 600;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .home .site-title {
    bottom: 35px;
    font-size: 3.6rem
  }
}

.home .site-title span {
  line-height: 1.4;
  text-shadow: 0px 3px 3.76px rgba(47, 47, 47, 0.68)
}

.home .site-title img {
  display: block;
  width: 50vw;
  margin: 1vw auto 0
}

@media only screen and (min-width: 930px) {
  .home .site-title img {
    width: 526px;
    margin: 10px auto 0
  }
}

.home .lead-block {
  width: 96%;
  margin: 0 auto;
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  line-height: 1.67
}

@media only screen and (min-width: 930px) {
  .home .lead-block {
    width: 1320px;
    font-size: 3.2rem;
    line-height: 1.56;
    text-align: center
  }
}

.home .video-block {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 96%;
  height: 70vw;
  margin: 3.2vw auto 0;
  position: relative
}

@media only screen and (min-width: 930px) {
  .home .video-block {
    width: 1320px;
    height: 670px;
    margin: 45px auto 0
  }
}

.home .video-block::before {
  top: -3.2vw;
  right: 2.4vw
}

@media only screen and (min-width: 930px) {
  .home .video-block::before {
    top: -45px;
    right: 20px
  }
}

.home .video-block::after {
  bottom: -7.47vw;
  left: 2.4vw
}

@media only screen and (min-width: 930px) {
  .home .video-block::after {
    bottom: -45px;
    left: 20px
  }
}

.home .video-container {
  position: relative;
  width: 93.34vw;
  margin: 2vw auto 0;
  padding-top: 56.25%
}

@media only screen and (min-width: 930px) {
  .home .video-container {
    width: 980px;
    margin: 0 auto;
    padding-top: 540px
  }
}

.home .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ccc
}

.home .section-title {
  margin: 0 auto 1em;
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  font-weight: 700;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .home .section-title {
    font-size: 4.8rem
  }
}

.home .news-block {
  margin-top: 6.4vw
}

@media only screen and (min-width: 930px) {
  .home .news-block {
    display: flex;
    width: 1320px;
    margin: 40px auto 0
  }
}

.home .news-block .section-title {
  webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl
}

@media only screen and (min-width: 930px) {
  .home .news-block .section-title {
    margin: 0 0 0 100px
  }
}

.home .news-block .link-archive {
  display: block;
  margin-top: 5vw;
  color: #2121e9;
  text-align: right
}

@media only screen and (min-width: 930px) {
  .home .news-block .link-archive {
    margin-top: 30px
  }
}

.home .news-list-container {
  width: 92vw;
  margin: 0 auto
}

@media only screen and (min-width: 930px) {
  .home .news-list-container {
    width: 690px;
    margin: 0 0 0 200px
  }
}

.home .news-list {
  margin: 0;
  padding: 0;
  list-style: none
}

.home .news-list .list-item {
  margin-bottom: .4em;
  border-bottom: 1px solid #000
}

@media only screen and (min-width: 930px) {
  .home .news-list .list-item {
    margin-bottom: 1em
  }
}

.home .news-list .list-item a {
  display: flex;
  align-items: baseline;
  padding: 0 0 .2em;
  color: #000
}

@media only screen and (min-width: 930px) {
  .home .news-list .list-item a {
    padding: 0 0 .5em;
    font-size: 1.8rem
  }
}

.home .news-list .date {
  padding-right: 3em;
  font-size: 3.2vw;
  font-weight: 500
}

@media only screen and (min-width: 930px) {
  .home .news-list .date {
    padding-right: 4em;
    font-size: 1.6rem
  }
}

.home .news-list .date.new {
  position: relative
}

.home .news-list .date.new::after {
  content: "NEW";
  position: absolute;
  right: .8em;
  margin: auto;
  padding: .1em .4em;
  background: #fadfa5;
  font-size: 2.14vw
}

@media only screen and (min-width: 930px) {
  .home .news-list .date.new::after {
    right: .5em;
    font-size: 1.6rem
  }
}

.home .about-indoor-cemeteries {
  width: 96%;
  margin: 14.4vw auto 0
}

@media only screen and (min-width: 930px) {
  .home .about-indoor-cemeteries {
    width: 1320px;
    margin: 115px auto 0
  }
}

@media only screen and (min-width: 930px) {
  .home .about-indoor-cemeteries .section-title {
    order: 3;
    flex-shrink: 0;
    width: 195px;
    line-height: 1.5;
    text-align: left
  }
}

.home .about-indoor-cemeteries .flex-box {
  margin-bottom: 10vw
}

@media only screen and (min-width: 930px) {
  .home .about-indoor-cemeteries .flex-box {
    display: flex;
    align-items: center;
    margin-bottom: 150px;
    padding: 0 0 0 10px
  }
}

.home .about-indoor-cemeteries .img {
  margin: 0 0 1em;
  text-align: center
}

.home .about-indoor-cemeteries p {
  line-height: 1.67
}

@media only screen and (min-width: 930px) {
  .home .about-indoor-cemeteries p {
    width: 700px;
    margin: 0 45px
  }
}

.home .about-indoor-cemeteries a {
  display: block;
  color: #2121e9;
  text-align: right
}

.home .about-ryukyugobyo {
  width: 96%;
  margin: 6.4vw auto 0
}

@media only screen and (min-width: 930px) {
  .home .about-ryukyugobyo {
    width: 1320px;
    margin: 115px auto 0
  }
}

@media only screen and (min-width: 930px) {
  .home .about-ryukyugobyo .section-title {
    flex-shrink: 0;
    line-height: 1.5;
    text-align: left
  }
}

.home .about-ryukyugobyo .flex-box {
  margin-bottom: 10vw
}

@media only screen and (min-width: 930px) {
  .home .about-ryukyugobyo .flex-box {
    display: flex;
    align-items: center;
    margin-bottom: 150px;
    padding: 0 0 0 10px
  }
}

.home .about-ryukyugobyo .img {
  margin: 0 0 1em;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .home .about-ryukyugobyo .img {
    order: 3
  }
}

.home .about-ryukyugobyo p {
  line-height: 1.67
}

@media only screen and (min-width: 930px) {
  .home .about-ryukyugobyo p {
    width: 688px;
    margin: 0 43px;
    line-height: 1.875
  }
}

.home .about-ryukyugobyo a {
  display: block;
  color: #2121e9;
  text-align: right
}

.about-price {
  width: 96%;
  margin: 0 auto
}

@media only screen and (min-width: 930px) {
  .about-price {
    width: 1320px
  }
}

.about-price .section-title {
  margin: 0 auto 1em;
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  font-weight: 700;
  text-align: center;
}

@media only screen and (min-width: 930px) {
  .about-price .section-title {
    margin: 0 auto 50px;
    line-height: 1.25;
    font-size: 4.8rem;
  }
}

@media only screen and (min-width: 930px) {
  .about-price .flex-box {
    display: flex;
    justify-content: center;
    align-items: center
  }
}

.about-price .img {
  text-align: center;
}
@media only screen and (min-width: 930px) {
  .about-price .img {
    margin-left: -50px;
  }
}


.about-price table {
  width: 100%
}

@media only screen and (min-width: 930px) {
  .about-price table {
    width: 539px
  }
}

.about-price .img {
  margin-bottom: 0!important;
}

.about-price-txt {
  padding-left: 50px;
}
@media only screen and (max-width: 929px) {
  .about-price-txt {
    display: table;
    margin: auto;
    padding-left: 0;
  }
}

.about-price dl {
  display: flex;
  align-items: flex-end;
  line-height: 1;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}
@media only screen and (max-width: 929px) {
  .about-price dl {
    margin-bottom: 10px;
  }
}

.about-price dl dt{
  font-size: 6.4vw;
  font-weight: bold;
}

@media only screen and (min-width: 930px) {
  .about-price dl dt{
    font-size: 4rem;
  }
}


.about-price dl dd{
  font-size: 8vw;
  font-weight: bold;
  margin-left: 20px;
  display: flex;
  align-items: flex-end;
}
@media only screen and (min-width: 930px) {
  .about-price dl dd{
    font-size: 6rem;
    margin-left: 35px;
  }
}
.about-price dl dd b{
  font-size: 12vw;
  margin-right: 5px;
  display: block;
  margin-bottom: -0.1em;
}
@media only screen and (min-width: 930px) {
  .about-price dl dd b{
    font-size: 9rem;
  }
}
.about-price dl + p{
  text-align: right;
  font-size: 4vw;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  letter-spacing: 0.03em;
}
@media only screen and (min-width: 930px) {
  .about-price dl + p{
    font-size: 2.2rem;
  }
}

.about-price table tr:first-child th, .about-price table tr:first-child td {
  background: #bda43c
}

.about-price table tr:last-child th, .about-price table tr:last-child td {
  background: #d4a692
}

.about-price table tr:last-child td {
  font-size: 8vw
}

@media only screen and (min-width: 930px) {
  .about-price table tr:last-child td {
    font-size: 4.8rem
  }
}

.about-price table th, .about-price table td {
  padding: 3vw 0;
  border: 1px solid #fff
}

@media only screen and (min-width: 930px) {
  .about-price table th, .about-price table td {
    height: 122px;
    padding: 0
  }
}

.about-price table th {
  font-weight: 400
}

@media only screen and (min-width: 930px) {
  .about-price table th {
    font-size: 1.8rem
  }
}

.about-price table td {
  font-family: 'Noto Serif JP', serif;
  font-size: 9.6vw;
  font-weight: 900;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .about-price table td {
    font-size: 7.2rem
  }
}

.guidance-box {
  width: 96%;
  margin: 6.4vw auto 0
}

@media only screen and (min-width: 930px) {
  .guidance-box {
    width: 1320px;
    margin: 90px auto 0
  }
}

.guidance-box .section-title {
  webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  /*writing-mode: vertical-rl;*/
  margin-bottom: 2em;
  margin: 0 auto 1em;
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  font-weight: 700;
  text-align: center;
}

@media only screen and (min-width: 930px) {
  .guidance-box .section-title {
    font-size: 4.8rem
  }
}

@media only screen and (min-width: 930px) {
  .guidance-box .company-information {
    display: flex;
    justify-content: space-between
  }
}

.guidance-box .address p {
  line-height: 1.67
}

@media only screen and (min-width: 930px) {
  .guidance-box .address p {
    margin-bottom: 1em;
    font-size: 2.4rem;
    line-height: 1.25
  }
}

.guidance-box .address p:first-of-type {
  font-weight: 700
}

@media only screen and (min-width: 930px) {
  .guidance-box .address p:first-of-type {
    margin: 0 100px 1em 0;
    text-align: right
  }
}

.guidance-box .company-information {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  position: relative;
}

@media only screen and (max-width: 929px) {
  .guidance-box .company-information {
    padding: 0 4.667vw;
  }
}

.guidance-box .logo-yasiro {
  width: 41.74vw;
  margin: 0 auto 1em;
  text-align: center;
}

@media only screen and (min-width: 930px) {
  .guidance-box .logo-yasiro {
    width: 332px;
    margin: 0 0 20px;
    text-align: left;
  }
}

.guidance-box .logo-yasiro img {
  width: 100%;
  max-width: 160px;
}

@media only screen and (max-width: 929px) {
  .guidance-box .logo-yasiro img {
    max-width: 120px;
  }
}

.guidance-box .t1{
  font-size: 2.4rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  margin-bottom: 10px;
}
.guidance-box .t1 > span{
  font-size: 2.6rem;
}
.guidance-box .t1 > span > b{
  font-size: 3.4rem;
  padding: 0 0.1em;
}
@media only screen and (max-width: 929px) {
  .guidance-box .t1{
    font-size: 5vw;
    text-align: center;
  }
  .guidance-box .t1 > span{
    font-size: 5vw;
  }
  .guidance-box .t1 > span > b{
    font-size: 7.031vw;
  }
}

.guidance-box .t2{
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 10px;
}
@media only screen and (max-width: 929px) {
  .guidance-box .t2{
    font-size: 3.750vw;
    margin-bottom: 15px;
  }
}

.guidance-box .t3{
  font-size: 1.6rem;
  font-weight: bold;
  color: #eb522a;
  line-height: 1.6;
  border: 1px solid #eb522a;
  padding: 5px 15px;
  display: table;
  margin-bottom: 20px;
}

@media only screen and (min-width: 930px) {
  .guidance-box .t3.disp_pc{
    display: table!important;
  }
}
@media only screen and (max-width: 929px) {
  .guidance-box .t3{
    font-size: 3.750vw;
    display: block;
    text-align: center;
    padding: 5px;
    margin-top: 10px;
  }
  .guidance-box .t3.disp_sp{
    display: block!important;
  }
}

.guidance-box .free-dial {
  display: flex;
  align-items: center;
  font-size: 5.938vw;
  font-weight: 900;
  position: relative;
  padding-left: 40px;
  letter-spacing: 0.05em;
  
}

@media only screen and (min-width: 930px) {
  .guidance-box .free-dial {
    font-size: 2.8rem;
    padding-left: 50px;
  }
}

.guidance-box .free-dial::before {
  content: "";
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url("img/common/icon_tel_black.png") no-repeat center/contain;
  width: 40px;
  height: 26px;
}
@media only screen and (max-width: 929px) {
  .guidance-box .free-dial::before {
    width: 35px;
    height: 18px;
  }
}

.guidance-box .free-dial a {
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

@media only screen and (min-width: 930px) {
  .guidance-box .free-dial a {
    pointer-events: none
  }
}



.guidance-box .guidance-block-tel .tel-time{
  margin-top: 5px;
  display: block;
}

@media only screen and (max-width: 929px) {
  .guidance-box .guidance-block-tel .tel-time{
    font-size: 3.750vw;
  }
}

.guidance-box .guidance-block-address {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #000;
  padding-bottom: 30px;
}
@media only screen and (max-width: 929px) {
  .guidance-box .guidance-block-address {
    margin-top: 25px;
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

.guidance-box .guidance-block-address dl{
  margin: 0;
}

.guidance-box .guidance-block-address dt{
  font-weight: bold;
  line-height: 1.6;
}

@media only screen and (max-width: 929px) {
  .guidance-box .guidance-block-address dt{
    font-size: 3.750vw;
  }
}

.guidance-box .guidance-block-address dd{
  margin: 0;
  line-height: 1.6;
}
@media only screen and (max-width: 929px) {
  .guidance-box .guidance-block-address dd{
    font-size: 3.750vw;
  }
}

.guidance-block .map {
  position: relative;
  margin-top: 4vw;
  padding-top: 75.7%
}

@media only screen and (min-width: 930px) {
  .guidance-block .map {
    width: 813px;
    margin-top: 0;
    padding-top: 434px
  }
}

.guidance-block .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.guidance-box .gmap {
  max-width: 810px;
  height: 440px;
  width: 100%;
}

@media only screen and (min-width: 930px) {
  .guidance-box .gmap {
    width: 810px;
    height: 440px;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

@media only screen and (max-width: 929px) {
  .guidance-box .gmap {
    width: 100%;
    height: 250px;
    margin-top: 20px;
  }
}

.guidance-box .gmap iframe{
  width: 100%;
  height: 100%;
  border: none;
}

.ryukyugobyo .img {
  margin-bottom: 4vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .img {
    margin-bottom: 0
  }
}

.ryukyugobyo .img .caption {
  display: block;
  font-size: 3.2vw;
  text-align: left
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .img .caption {
    margin-top: 5px;
    font-size: 1.6rem
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .lead {
    margin-bottom: 230px
  }
}

.ryukyugobyo .lead .img {
  margin-bottom: 6vw
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .lead .img {
    margin-bottom: 80px
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .lead p {
    font-size: 2.4rem;
text-align: center;
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .border-cross+.inner {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    margin-top: 40px
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .border-cross+.inner .img {
    width: 650px;
    margin-top: 10px
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .border-cross+.inner p {
    padding-left: 20px;
    font-size: 2.4rem;
    line-height: 1.4
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .text {
    flex: 1;
    margin-right: 18px
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .text>p:first-child {
    margin-bottom: 20px;
    padding-left: 20px;
    line-height: 1
  }
}

.ryukyugobyo .birth .box {
  margin: -5vw 0 1vw;
  padding: 1vw 3vw;
  border: 1px solid #601986
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .box {
    margin: 0;
    padding: 14px 0 10px
  }
}

.ryukyugobyo .birth .box p {
  margin-bottom: 0;
  line-height: 1
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .box p {
    margin-bottom: 15px
  }
}

.ryukyugobyo .birth .box ul {
  margin: 0;
  padding: 0 0 0 20px;
  list-style: none
}

.ryukyugobyo .birth .box ul li {
  line-height: 1.5
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .box ul li {
    margin-bottom: 8px;
    font-size: 2.4rem;
    line-height: 1
  }
}

.ryukyugobyo .birth h3 {
  margin: 10vw 0 4vw;
  color: #601986;
  font-family: 'Noto Serif JP', serif;
  font-size: 5.87vw;
  font-weight: 700;
  line-height: 1.64
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth h3 {
    margin: 150px 0 18px;
    font-size: 3.6rem;
    text-align: center
  }
}

.ryukyugobyo .birth h3 span {
  padding: 0 .2em;
  border-top: 1px solid #6b5483;
  border-bottom: 1px solid #6b5483
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth p {
    font-size: 1.8rem
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .flex-box {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    width: 1250px;
    margin: 0 auto;
    padding-top: 37px
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .flex-box .img {
    width: 600px;
    margin-left: 55px
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .flex-box .img+p {
    width: 595px
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .bg-ivory .flex-box {
    flex-direction: row;
    padding-top: 0
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .bg-ivory .flex-box .img {
    margin-right: 55px;
    margin-left: 0
  }
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .birth .bg-ivory .flex-box p {
    padding-top: 1em
  }
}

.ryukyugobyo .price-block .flex-box {
  width: 96%;
  margin: 0 auto;
  padding: 0 2.4vw
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .price-block .flex-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1250px;
    margin: 30px auto 0;
    padding: 0
  }
}

.ryukyugobyo .price-block table {
  width: 100%
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .price-block table {
    width: 600px
  }
}

.ryukyugobyo .price-block table tr:first-child th, .ryukyugobyo .price-block table tr:first-child td {
  background: #bda43c
}

.ryukyugobyo .price-block table tr:last-child th, .ryukyugobyo .price-block table tr:last-child td {
  background: #d4a692
}

.ryukyugobyo .price-block table tr:last-child td {
  font-size: 8vw
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .price-block table tr:last-child td {
    font-size: 4.8rem
  }
}

.ryukyugobyo .price-block table th, .ryukyugobyo .price-block table td {
  padding: 3vw 0;
  border: 1px solid #fff
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .price-block table th, .ryukyugobyo .price-block table td {
    height: 122px;
    padding: 0
  }
}

.ryukyugobyo .price-block table th {
  font-weight: 400
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .price-block table th {
    font-size: 1.8rem
  }
}

.ryukyugobyo .price-block table td {
  font-family: 'Noto Serif JP', serif;
  font-size: 9.6vw;
  font-weight: 900;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .ryukyugobyo .price-block table td {
    font-size: 7.2rem
  }
}

@media only screen and (min-width: 930px) {
  .indoor-cemeteries .flex-box {
    display: flex
  }
}

@media only screen and (min-width: 930px) {
  .indoor-cemeteries .flex-box.reverse {
    flex-direction: row-reverse
  }
}

@media only screen and (min-width: 930px) {
  .indoor-cemeteries .flex-box.reverse .img {
    margin: 0 0 0 50px
  }
}

.indoor-cemeteries .img {
  margin-bottom: 1.5em;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .indoor-cemeteries .img {
    flex-shrink: 0;
    width: 550px;
    margin: 0 50px 0 0
  }
}

@media only screen and (min-width: 930px) {
  .comparison .entry-body p {
    font-size: 1.8rem
  }
}

@media only screen and (min-width: 930px) {
  .comparison .sp-table {
    display: none
  }
}

.comparison .pc-table {
  display: none
}

@media only screen and (min-width: 930px) {
  .comparison .pc-table {
    display: table
  }
}

.comparison table {
  width: 100%
}

.comparison table .bg-purple th {
  background: #d3c7d5
}

.comparison table tr:first-child th {
  border-top: 0
}

@media only screen and (min-width: 930px) {
  .comparison table tr:first-child th {
    padding: 19px 0;
    font-size: 2.4rem;
    font-weight: 700
  }
}

@media only screen and (min-width: 930px) {
  .comparison table tr:last-child th {
    border-bottom: 0
  }
}

.comparison table tr:last-child td {
  border-bottom: 0
}

.comparison table th, .comparison table td {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000
}

@media only screen and (min-width: 930px) {
  .comparison table th, .comparison table td {
    font-size: 1.8rem
  }
}

.comparison table th {
  width: 50%;
  padding: .2em 0;
  background: #f8f7e9;
  font-weight: 400
}

@media only screen and (min-width: 930px) {
  .comparison table th {
    width: 300px;
    white-space: nowrap
  }
}

.comparison table th+th {
  border-left: 1px solid #000
}

@media only screen and (min-width: 930px) {
  .comparison table th+th {
    width: 500px
  }
}

@media only screen and (min-width: 930px) {
  .comparison table th+td {
    border-left: 1px solid #000
  }
}

.comparison table td {
  width: 50%;
  padding: 1em .7em;
  background: #c9e5f4;
  line-height: 1.34;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .comparison table td {
    width: 500px;
    padding: 23px 0
  }
}

.comparison table td+td {
  border-left: 1px solid #000;
  position: relative
}

.comparison table td+td::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6.4vw;
  height: 6.4vw;
  margin: auto;
  background: url("img/comparison/arrow.png") no-repeat center/cover;
  transform: translateX(-45%)
}

@media only screen and (min-width: 930px) {
  .comparison table td+td::before {
    width: 48px;
    height: 48px
  }
}

.comparison table td div {
  display: inline-block;
  text-align: left
}

@media only screen and (min-width: 930px) {
  .automatic-transport .flex-box {
    display: flex
  }
}

@media only screen and (min-width: 930px) {
  .automatic-transport .flex-box.reverse {
    flex-direction: row-reverse
  }
}

@media only screen and (min-width: 930px) {
  .automatic-transport .flex-box.reverse .img {
    margin: 0 0 0 80px
  }
}

.automatic-transport .img {
  margin-bottom: 1em;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .automatic-transport .img {
    flex-shrink: 0;
    width: 600px;
    margin: 0 80px 0 0
  }
}

@media only screen and (min-width: 930px) {
  .automatic-transport .text {
    font-size: 1.8rem
  }
}

@media only screen and (min-width: 930px) {
  .how-to-worship .entry-body section:not(.lead) .inner {
    padding: 0
  }
}

.how-to-worship .entry-body section:not(.lead) .img {
  margin: 2vw auto;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .how-to-worship .entry-body section:not(.lead) .img {
    width: 600px;
    margin: 33px auto 16px
  }
}

.how-to-worship .entry-body section:not(.lead) p {
  margin-bottom: 0
}

@media only screen and (min-width: 930px) {
  .how-to-worship .entry-body section:not(.lead) p {
    width: 600px;
    margin: 0 auto
  }
}

@media only screen and (min-width: 930px) {
  .how-to-worship .entry-body p {
    font-size: 1.8rem
  }
}

.how-to-worship .bg-ivory {
  padding: 5vw 0 2vw;
  background: #f1eddf
}

@media only screen and (min-width: 930px) {
  .how-to-worship .bg-ivory {
    padding: 40px 0 15px
  }
}

.how-to-worship .step2 .inner::before, .how-to-worship .step2 .inner::after, .how-to-worship .step4 .inner::before, .how-to-worship .step4 .inner::after {
  content: "";
  display: block;
  width: 5.34vw;
  height: 12.8vw;
  margin: 2vw auto 5vw;
  background: url("img/how_to_worship/arrow.png") no-repeat center/cover
}

@media only screen and (min-width: 930px) {
  .how-to-worship .step2 .inner::before, .how-to-worship .step2 .inner::after, .how-to-worship .step4 .inner::before, .how-to-worship .step4 .inner::after {
    width: 40px;
    height: 96px;
    margin: 33px auto 50px
  }
}

.how-to-worship .step2 .inner::after, .how-to-worship .step4 .inner::after {
  margin: 5vw auto 2vw
}

@media only screen and (min-width: 930px) {
  .how-to-worship .step2 .inner::after, .how-to-worship .step4 .inner::after {
    margin: 0 auto 27px
  }
}

.how-to-worship .section-heading {
  color: #601986;
  font-size: 5.34vw
}

@media only screen and (min-width: 930px) {
  .how-to-worship .section-heading {
    width: 600px;
    margin: 0 auto;
    font-size: 3.4rem;
    text-align: center
  }
}

@media only screen and (min-width: 930px) {
  .feature-block .flex-box {
    display: flex;
    flex-wrap: wrap
  }
}

.feature-block .img {
  margin-bottom: 10vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .feature-block .img {
    width: 600px;
    margin: 0 60px 0 0
  }
}

@media only screen and (min-width: 930px) {
  .feature-block .text {
    flex: 1
  }
}

.feature-block h3 {
  margin-bottom: .5em;
  color: #601986;
  font-size: 5.87vw
}

@media only screen and (min-width: 930px) {
  .feature-block h3 {
    font-size: 2.4rem
  }
}

@media only screen and (min-width: 930px) {
  .feature-block p {
    font-size: 1.8rem
  }
}

.feature .design-block .img {
  margin-bottom: 4vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .feature .design-block .img {
    width: 600px;
    margin: 0 auto 30px
  }
}

@media only screen and (min-width: 930px) {
  .feature .design-block .img+p {
    width: 600px;
    margin: 0 auto
  }
}

.feature .design-block h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 10.67vw;
  margin-bottom: 4.8vw;
  background: #1f1387;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  font-size: 5.87vw;
  font-weight: 600;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .feature .design-block h3 {
    width: 1000px;
    height: 60px;
    margin: 98px auto 67px;
    font-size: 3.6rem
  }
}

.feature .image-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none
}

.feature .image-list li {
  width: 44vw
}

@media only screen and (min-width: 930px) {
  .feature .image-list li {
    width: 400px
  }
}

@media only screen and (min-width: 930px) {
  .feature .image-list img {
    width: 100%
  }
}

.feature .image-list .caption {
  margin-top: .5em;
  font-size: 2.67vw;
  line-height: 1.2;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .feature .image-list .caption {
    margin-top: 1em;
    font-size: 1.4rem;
    line-height: 1.71
  }
}

@media only screen and (min-width: 930px) {
  .shikinain .lead {
    margin-bottom: 90px;
    font-size: 2.4rem
  }
}

@media only screen and (min-width: 930px) {
  .shikinain .entry-body section:nth-child(2) .img {
    margin-top: 40px
  }
}

@media only screen and (min-width: 930px) {
  .shikinain .entry-body section:nth-child(2) .text {
    margin-top: 120px
  }
}

@media only screen and (min-width: 930px) {
  .shikinain .flex-box {
    display: flex
  }
}

@media only screen and (min-width: 930px) {
  .shikinain .flex-box .img {
    flex-shrink: 0;
    width: 660px;
    margin: 0 28px 0 0
  }
}

@media only screen and (min-width: 930px) {
  .shikinain .flex-box.reverse {
    flex-direction: row-reverse
  }
}

@media only screen and (min-width: 930px) {
  .shikinain .flex-box.reverse .img {
    margin: 0 0 0 28px
  }
}

.shikinain .img {
  text-align: center;
  margin-bottom: 1em
}

@media only screen and (min-width: 930px) {
  .shikinain .img {
    margin-bottom: 90px
  }
}

@media only screen and (min-width: 930px) {
  .shikinain .text {
    font-size: 1.8rem
  }
}

.tvcm .tvcm-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 96%;
  margin: 0 auto;
  padding: 0;
  list-style: none
}

@media only screen and (min-width: 930px) {
  .tvcm .tvcm-list {
    width: 1320px
  }
}

@media only screen and (min-width: 930px) {
  .tvcm .tvcm-list::after {
    content: "";
    display: block;
    width: 400px
  }
}

.tvcm .tvcm-list li {
  width: 48%;
  margin-bottom: 5vw
}

@media only screen and (min-width: 930px) {
  .tvcm .tvcm-list li {
    width: 400px;
    margin-bottom: 40px
  }
}

.tvcm .tvcm-list li:hover iframe, .tvcm .tvcm-list li:hover .tvcm-title {
  opacity: .8
}

.tvcm .tvcm-list .tvcm-title {
  font-size: 3.2vw;
  font-weight: 400
}

@media only screen and (min-width: 930px) {
  .tvcm .tvcm-list .tvcm-title {
    font-size: 2.4rem
  }
}

.tvcm .iframe-container {
  position: relative;
  margin: 2vw auto 0;
  padding-top: 56.25%
}

@media only screen and (min-width: 930px) {
  .tvcm .iframe-container {
    margin: 0 auto
  }
}

.tvcm .iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.tvcm .iframe-container .fancybox-youtube {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

@media only screen and (min-width: 930px) {
  .komyoji .flex-box {
    display: flex;
    flex-direction: row-reverse
  }
}

.komyoji .flex-box .img {
  margin-bottom: 1em
}

@media only screen and (min-width: 930px) {
  .komyoji .flex-box .img {
    flex-shrink: 0;
    width: 700px;
    margin: 0 0 0 45px
  }
}

@media only screen and (min-width: 930px) {
  .komyoji .flex-box .text {
    margin-top: 100px
  }
}

.komyoji .komyoji-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none
}

@media only screen and (min-width: 930px) {
  .komyoji .komyoji-list {
    justify-content: flex-start
  }
}

.komyoji .komyoji-list li {
  width: 48.5%;
  height: 22.67vw;
  margin-bottom: 3%
}

@media only screen and (min-width: 930px) {
  .komyoji .komyoji-list li {
    width: 400px;
    height: 200px;
    margin: 0 50px 50px 0
  }
}

@media only screen and (min-width: 930px) {
  .komyoji .komyoji-list li:nth-child(3n) {
    margin: 0 0 50px 0
  }
}

.komyoji .komyoji-list li a, .komyoji .komyoji-list li span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  text-shadow: 0px 3px 3.76px rgba(47, 47, 47, 0.68)
}

@media only screen and (min-width: 930px) {
  .komyoji .komyoji-list li a, .komyoji .komyoji-list li span {
    font-size: 3.6rem
  }
}

.komyoji .komyoji-list li .gifu {
  background: url("img/komyoji/komyoji_bg_img01.jpg") no-repeat center/cover
}

.komyoji .komyoji-list li .kyoto {
  background: url("img/komyoji/komyoji_bg_img02.jpg") no-repeat center/cover
}

.komyoji .komyoji-list li .omi {
  background: url("img/komyoji/komyoji_bg_img03.jpg") no-repeat center/cover
}

.komyoji .komyoji-list li .tokyo {
  background: url("img/komyoji/komyoji_bg_img05.jpg") no-repeat center/cover
}

.komyoji .komyoji-list li .machiya {
  background: url("img/komyoji/komyoji_bg_img06.jpg") no-repeat center/cover
}

.komyoji .komyoji-list li .saitama {
  background: url("img/komyoji/komyoji_bg_img07.jpg") no-repeat center/cover
}

.komyoji .komyoji-list li .chiba {
  background: url("img/komyoji/komyoji_bg_img08.jpg") no-repeat center/cover
}

.komyoji .komyoji-list li .amagase {
  background: url("img/komyoji/komyoji_bg_img04.jpg") no-repeat center/cover
}

.komyoji .bg-purple {
  background: #ead7fd;
  padding: 6.67vw 2.4vw
}

@media only screen and (min-width: 930px) {
  .komyoji .bg-purple {
    width: 1320px;
    margin: 0 auto;
    padding: 60px 35px
  }
}

.komyoji .bg-purple table {
  width: 96%;
  margin: 0 auto
}

@media only screen and (min-width: 930px) {
  .komyoji .bg-purple table {
    width: 100%
  }
}

.komyoji .bg-purple table th, .komyoji .bg-purple table td {
  padding: .5em .5em 0 .5em;
  border: 1px solid #fff;
  line-height: 1.5
}

@media only screen and (min-width: 930px) {
  .komyoji .bg-purple table th, .komyoji .bg-purple table td {
    padding: .5em 1.5em;
    font-size: 2.4rem
  }
}

.komyoji .bg-purple table th {
  font-weight: normal;
  white-space: nowrap;
  text-align: left
}

@media only screen and (min-width: 930px) {
  .komyoji .bg-purple table th {
    width: 10.5em;
    text-align: center
  }
}

.komyoji .bg-purple table .va-top {
  vertical-align: top
}

.access .entry-body {
  width: 96%;
  margin: 0 auto
}

@media only screen and (min-width: 930px) {
  .access .entry-body {
    width: 1320px
  }
}

.access .top-img {
  margin-bottom: 4vw
}

@media only screen and (min-width: 930px) {
  .access .top-img {
    margin-bottom: 50px
  }
}

@media only screen and (min-width: 930px) {
  .access .border-cross {
    margin-bottom: 40px
  }
}

.access h2 span {
  font-size: 4.8vw
}

@media only screen and (min-width: 930px) {
  .access h2 span {
    font-size: 3.6rem
  }
}

.access .map-container {
  position: relative;
  padding-top: 53.34%
}

@media only screen and (min-width: 930px) {
  .access .map-container {
    margin: 3em 0 1em;
    padding-top: 50.59%
  }
}

.access .map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.post-type-archive-news .news-list {
  width: 96%;
  margin: 0 auto 7.6vw;
  padding: 0;
  list-style: none
}

@media only screen and (min-width: 930px) {
  .post-type-archive-news .news-list {
    width: 1000px;
    margin: 0 auto 64px
  }
}

.post-type-archive-news .news-list li {
  margin-bottom: .5em;
  border-bottom: 1px solid #000
}

@media only screen and (min-width: 930px) {
  .post-type-archive-news .news-list li {
    margin-bottom: 1em
  }
}

.post-type-archive-news .news-list a {
  display: flex;
  padding: .2em 0;
  color: #000
}

.post-type-archive-news .news-list .date {
  margin-top: .2em;
  padding-right: 3em;
  font-size: 3.2vw;
  font-weight: 500
}

@media only screen and (min-width: 930px) {
  .post-type-archive-news .news-list .date {
    margin-top: 0;
    padding-right: 4em;
    font-size: 2rem
  }
}

.post-type-archive-news .news-list .date.new {
  position: relative
}

.post-type-archive-news .news-list .date.new::after {
  content: "NEW";
  position: absolute;
  top: .3em;
  right: .8em;
  margin: auto;
  padding: .1em .4em;
  background: #fadfa5;
  font-size: 2.14vw
}

@media only screen and (min-width: 930px) {
  .post-type-archive-news .news-list .date.new::after {
    top: 0;
    right: .8em;
    font-size: 1.6rem
  }
}

.post-type-archive-news .news-list h1 {
  font-size: 4.8vw;
  font-weight: 400
}

@media only screen and (min-width: 930px) {
  .post-type-archive-news .news-list h1 {
    font-size: 2rem
  }
}

.post-type-archive-news .pager {
  display: flex;
  justify-content: center
}

.post-type-archive-news .pager .page-numbers {
  display: inline-block;
  width: 10.67vw;
  margin: 0 .8vw;
  border: 1px solid #dde5c6;
  color: #dde5c6;
  font-size: 5.6vw;
  line-height: 10.67vw;
  text-align: center;
  position: relative
}

@media only screen and (min-width: 930px) {
  .post-type-archive-news .pager .page-numbers {
    width: 60px;
    font-size: 3.2rem;
    line-height: 60px
  }
}

.post-type-archive-news .pager .page-numbers.current, .post-type-archive-news .pager .page-numbers:hover {
  background: #dde5c6;
  color: #fff
}

.post-type-archive-news .pager .prev, .post-type-archive-news .pager .next {
  position: relative
}

.post-type-archive-news .pager .prev::before, .post-type-archive-news .pager .next::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 50%;
  height: 50%;
  border-right: 1px solid #dde5c6;
  border-bottom: 1px solid #dde5c6;
  transform: rotate(135deg) translate(-50%, -50%)
}

.post-type-archive-news .pager .prev:hover::before, .post-type-archive-news .pager .next:hover::before {
  border-color: #fff
}

.post-type-archive-news .pager .prev::before {
  left: 5%
}

.post-type-archive-news .pager .next::before {
  right: 5%;
  transform: rotate(-45deg) translate(-50%, -50%)
}

.single-news h1, .single-news h2, .single-news h3, .single-news h4, .single-news h5, .single-news h6, .single-news p {
  margin: revert
}

.single-news p {
  line-height: 1.75
}

@media only screen and (min-width: 930px) {
  .single-news p {
    font-size: 1.8rem
  }
}

.single-news .date {
  width: 96%;
  margin: 0 auto;
  text-align: right
}

@media only screen and (min-width: 930px) {
  .single-news .date {
    width: 1320px
  }
}

.single-news .inner {
  width: 96%;
  margin: 0 auto;
  padding: 0 2.4vw
}

@media only screen and (min-width: 930px) {
  .single-news .inner {
    width: 1320px;
    padding: 0 0 0 20px
  }
}

.single-news .pager {
  width: 60vw;
  margin: 10vw auto 0;
  clear: both
}

@media only screen and (min-width: 930px) {
  .single-news .pager {
    width: 600px;
    margin: 80px auto 0
  }
}

.single-news .nav-links {
  display: flex;
  justify-content: space-between
}

.single-news .nav-links a {
  display: block;
  width: 10.67vw;
  height: 10.67vw;
  background: #dde5c6;
  position: relative
}

@media only screen and (min-width: 930px) {
  .single-news .nav-links a {
    width: 100px;
    height: 100px
  }
}

.single-news .nav-links a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 50%;
  height: 50%;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(135deg) translate(-50%, -50%)
}

.single-news .nav-links .nav-previous a::before {
  left: 5%
}

.single-news .nav-links .nav-next {
  margin-left: auto
}

.single-news .nav-links .nav-next a::before {
  right: 5%;
  transform: rotate(-45deg) translate(-50%, -50%)
}

.document-request .bg-light-blue {

}

@media only screen and (min-width: 930px) {
  .document-request .bg-light-blue {
    padding: 115px 0 60px
  }
}

.document-request .lead {
  width: 90%;
  margin: 0 auto;
  line-height: 1.67
}

.document-request .lead .t1{
  font-weight: bold;
  margin-top: 5px;
  font-size: 1.5rem;
}

@media screen and (max-width: 929px) {
  .document-request .lead .t1{
    margin-top: 3px;
    font-size: 1.2rem;
    font-weight: bold;
  }
}

@media only screen and (min-width: 930px) {
  .document-request .lead {
    width: 860px;
    font-size: 1.4rem;
    line-height: 1.5
  }
  .document-request .lead a{
    color: #333;
    opacity: 1;
    pointer-events: none;
  }
}

.document-request .lead .notes {
  font-size: 3.2vw
}

@media only screen and (min-width: 930px) {
  .document-request .lead .notes {
    font-size: 1.6rem
  }
}

.document-request .form {
  width: 96%;
  margin: 0 auto;
  padding: 6vw 4.67vw 9.2vw;
  background: #fff
}

@media only screen and (min-width: 930px) {
  .document-request .form {
    width: 1300px;
    padding: 84px 125px 207px
  }
}

.document-request .form label {
  display: block;
  cursor: pointer
}

@media only screen and (min-width: 930px) {
  .document-request .form label {
    display: inline-block;
    width: 195px
  }
}

.document-request .form label.required::after {
  content: "＊";
  color: #fb0404
}

@media only screen and (min-width: 930px) {
  .document-request .form label.required::after {
    margin-left: 1em
  }
}

.document-request .form input:not([type="checkbox"]), .document-request .form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  outline: none
}

.document-request .form input[type="text"], .document-request .form input[type="email"], .document-request .form input[type="tel"] {
  height: 10.67vw;
  padding: 0 .5em;
  border: 1px solid #000
}

@media only screen and (min-width: 930px) {
  .document-request .form input[type="text"], .document-request .form input[type="email"], .document-request .form input[type="tel"] {
    height: 50px;
    padding: 0 1em;
    border-radius: 5px
  }
}

.document-request .form input[type="checkbox"] {
  display: none
}

.document-request .form .wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center
}

.document-request .form .wpcf7-list-item-label::before {
  content: "";
  display: inline-block;
  width: 4.5vw;
  height: 4.5vw;
  margin-right: 1.5vw;
  border: 1px solid #000;
  border-radius: 5px
}

@media only screen and (min-width: 930px) {
  .document-request .form .wpcf7-list-item-label::before {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    border-radius: 2px
  }
}

.document-request .form input[type="checkbox"]:checked+.wpcf7-list-item-label:before {
  border: 1px solid #007cba
}

.document-request .form input[type="checkbox"]:checked+.wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  top: 2vw;
  left: .8vw;
  display: inline-block;
  width: 3vw;
  height: 2vw;
  border-bottom: 3px solid #007cba;
  border-left: 3px solid #007cba;
  transform: rotate(-45deg)
}

@media only screen and (min-width: 930px) {
  .document-request .form input[type="checkbox"]:checked+.wpcf7-list-item-label:after {
    top: 5px;
    left: 3px;
    width: 12px;
    height: 8px
  }
}

.document-request .form .wpcf7c-conf-hidden+.wpcf7-list-item-label:before {
  background: #E2E2E2
}

.document-request .form .wpcf7c-conf-hidden+.wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  top: 2vw;
  left: .8vw;
  display: inline-block;
  width: 3vw;
  height: 2vw;
  border-bottom: 3px solid #000;
  border-left: 3px solid #000;
  transform: rotate(-45deg)
}

@media only screen and (min-width: 930px) {
  .document-request .form .wpcf7c-conf-hidden+.wpcf7-list-item-label:after {
    top: 5px;
    left: 3px;
    width: 12px;
    height: 8px
  }
}

.document-request .form input[type="submit"], .document-request .form input[type="button"] {
  background: #7171f7;
  border: 0;
  color: #fff
}

@media only screen and (min-width: 930px) {
  .document-request .form input[type="submit"], .document-request .form input[type="button"] {
    font-size: 2.4rem
  }
}

.document-request .form .your-name, .document-request .form .furigana {
  width: 80vw
}

@media only screen and (min-width: 930px) {
  .document-request .form .your-name, .document-request .form .furigana {
    width: 500px
  }
}

.document-request .form input[name="postal-code"], .document-request .form input[name="pref"], .document-request .form input[name="city"], .document-request .form input[name="address-line1"] {
  width: 53.34vw
}

@media only screen and (min-width: 930px) {
  .document-request .form input[name="postal-code"], .document-request .form input[name="pref"], .document-request .form input[name="city"], .document-request .form input[name="address-line1"] {
    width: 300px
  }
}

.document-request .form input[name="address-line2"], .document-request .form input[name="tel"], .document-request .form input[name="your-email"] {
  width: 80vw
}

@media only screen and (min-width: 930px) {
  .document-request .form input[name="address-line2"], .document-request .form input[name="tel"], .document-request .form input[name="your-email"] {
    width: 500px
  }
}

.document-request .form .half-width {
  font-size: 3.2vw
}

@media only screen and (min-width: 930px) {
  .document-request .form .half-width {
    font-size: 1.2rem;
    vertical-align: bottom
  }
}

.document-request .form .notes {
  font-size: 3.2vw;
  line-height: 1.5
}

@media only screen and (min-width: 930px) {
  .document-request .form .notes {
    margin-left: 195px;
    font-size: 1.2rem
  }
}

.document-request .form .questionnaire {
  margin: 5vw 0 0;
  padding: 7.34vw 0;
  border-top: 1px dashed #000
}

@media only screen and (min-width: 930px) {
  .document-request .form .questionnaire {
    margin: 80px 0 0;
    padding: 34px 80px 50px
  }
}

.document-request .form fieldset {
  margin: 0;
  padding: 0;
  border: 0
}

.document-request .form fieldset p {
  line-height: 1.34
}

.document-request .form legend {
  width: 53.34vw;
  margin: 0 auto 5.34vw;
  background: #d2e1f6;
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  line-height: 10.67vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .document-request .form legend {
    width: 219px;
    margin: 0 auto 28px;
    font-size: 2.4rem;
    line-height: 50px
  }
}

.document-request .form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

@media only screen and (min-width: 930px) {
  .document-request .form .wpcf7-checkbox {
    margin-bottom: 3em
  }
}

.document-request .form span.wpcf7-list-item {
  margin: 1em 0 0
}

@media only screen and (min-width: 930px) {
  .document-request .form span.wpcf7-list-item {
    margin: 2em 0 0
  }
}

.document-request .form textarea {
  width: 100%;
  margin-top: 1em;
  padding: 1em
}

.document-request .form .btn-confirm, .document-request .form .btn-back, .document-request .form .btn-submit {
  line-height: 13.34vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .document-request .form .btn-confirm, .document-request .form .btn-back, .document-request .form .btn-submit {
    display: block;
    margin: auto;
    line-height: 70px
  }
}

.document-request .form .btn-confirm {
  width: 100%
}

@media only screen and (min-width: 930px) {
  .document-request .form .btn-confirm {
    width: 300px
  }
}

.document-request .form .flex-box {
  display: flex;
  justify-content: space-between
}

@media only screen and (min-width: 930px) {
  .document-request .form .flex-box {
    width: 700px;
    margin: 0 auto
  }
}

.document-request .form .btn-back, .document-request .form .btn-submit {
  width: 45%
}

@media only screen and (min-width: 930px) {
  .document-request .form .btn-back, .document-request .form .btn-submit {
    width: 300px
  }
}

@media only screen and (min-width: 930px) {
  .document-request .form .wpcf7-not-valid-tip {
    margin-left: 195px
  }
}

.document-request .form .wpcf7c-conf {
  background: #e2e2e2
}

.document-request .custom-wpcf7c-confirmed .trigger label {
  cursor: auto
}

.reservation .bg-purple {
  padding: 5.6vw 0 10vw;
  background: #e0c6f4
}

@media only screen and (min-width: 930px) {
  .reservation .bg-purple {
    padding: 85px 0 60px
  }
}

.reservation .bg-purple-inner {
  width: 96%;
  margin: 0 auto
}

@media only screen and (min-width: 930px) {
  .reservation .bg-purple-inner {
    width: 1300px
  }
}

.reservation .lead {
  line-height: 1.67
}

@media only screen and (min-width: 930px) {
  .reservation .lead {
    width: 1050px;
    margin: 0 auto;
    font-size: 2.4rem;
    line-height: 1.5
  }
}

.reservation .lead .notes {
  display: block;
  font-size: 3.2vw
}

@media only screen and (min-width: 930px) {
  .reservation .lead .notes {
    font-size: 1.6rem
  }
}

@media only screen and (min-width: 930px) {
  .reservation .tel-block {
    margin-bottom: 41px;
    background: #fff
  }
}

.reservation .tel-block-inner {
  padding: 1em 0;
  border-top: 2px dashed #fff
}

@media only screen and (min-width: 930px) {
  .reservation .tel-block-inner {
    width: 1050px;
    margin: 0 auto;
    padding: 13px 0 19px;
    border: 0
  }
}

@media only screen and (min-width: 930px) {
  .reservation .tel-block p {
    margin: 0;
    font-size: 2.4rem
  }
}

.reservation .tel-block span {
  font-size: 3.2vw
}

@media only screen and (min-width: 930px) {
  .reservation .tel-block span {
    font-size: 2.4rem;
    font-weight: 300
  }
}

.reservation .tel-block a {
  display: block;
  padding: 0 0 .1em 17vw;
  background: #fff;
  border: 2px solid #0337f8;
  color: #000;
  font-size: 9.6vw;
  font-weight: 700;
  line-height: 1;
  position: relative
}

@media only screen and (min-width: 930px) {
  .reservation .tel-block a {
    margin-top: 8px;
    padding: 0 0 0 92px;
    border: 0;
    font-size: 4.8rem;
    pointer-events: none
  }
}

.reservation .tel-block a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4.5vw;
  content: "";
  display: inline-block;
  width: 10.24vw;
  height: 10.24vw;
  margin: auto;
  background: url(img/common/icon_tel.png) no-repeat center/cover
}

@media only screen and (min-width: 930px) {
  .reservation .tel-block a::before {
    left: 0;
    width: 72px;
    height: 72px
  }
}

.reservation .form .seminar-block {
  padding: 1em 0 0;
  border-top: 2px dashed #fff
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block {
    padding: 30px 125px 0;
    background: #fff;
    border: 0;
    overflow: hidden
  }
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block p:first-child {
    font-size: 2.4rem
  }
}

.reservation .form .seminar-block p:first-child::after {
  content: "＊";
  color: #fb0404
}

.reservation .form .seminar-block .wpcf7-checkbox {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap-reverse;
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block .wpcf7-checkbox {
    flex-direction: row-reverse;
    justify-content: space-between
  }
}

.reservation .form .seminar-block .wpcf7-list-item {
  display: none;
  margin: 0 0 2.67vw
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block .wpcf7-list-item {
    width: 300px;
    margin: 0 0 30px 0;
    border: 1px solid #000
  }
}

.reservation .form .seminar-block .wpcf7-list-item label {
  padding: .8em 2.3em .8em .8em;
  background: #fff;
  position: relative
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block .wpcf7-list-item label {
    display: flex;
    width: auto;
    height: 100%;
    padding: 1em 50px 1em 25px;
    background: #c0befa
  }
}

.reservation .form .seminar-block .wpcf7-list-item label.comingsoon::after {
  content: "近日発表";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32.8vw;
  height: 7.2vw;
  margin: auto;
  background: #0075c2;
  color: #fff;
  line-height: 1
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block .wpcf7-list-item label.comingsoon::after {
    width: 245px;
    height: 54px;
    font-size: 3.7rem
  }
}

.reservation .form .seminar-block .wpcf7-list-item label.closed::after {
  content: "受付終了";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32.8vw;
  height: 7.2vw;
  margin: auto;
  background: #f90505;
  color: #fff;
  transform: rotate(-15deg)
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block .wpcf7-list-item label.closed::after {
    width: 245px;
    height: 54px;
    font-size: 3.7rem
  }
}

.reservation .form .seminar-block .wpcf7-list-item .date, .reservation .form .seminar-block .wpcf7-list-item .time {
  border-bottom: 1px solid #000
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block .wpcf7-list-item .date, .reservation .form .seminar-block .wpcf7-list-item .time {
    display: block
  }
}

.reservation .form .seminar-block .wpcf7-list-item .place {
  display: block
}

@media only screen and (min-width: 930px) {
  .reservation .form .seminar-block .wpcf7-list-item .place {
    display: inline
  }
}

.reservation .form .seminar-block .wpcf7-list-item a {
  color: #0337f8;
  word-break: keep-all
}

.reservation .form .seminar-block .wpcf7-list-item-label {
  line-height: 1.4
}

.reservation .form .seminar-block .wpcf7-list-item-label::before {
  margin-right: 35px
}

.reservation .form .seminar-block .wpcf7-not-valid-tip {
  margin-left: 0
}

.reservation .form .bg-white {
  padding: 6vw 4.67vw 9.2vw;
  background: #fff
}

@media only screen and (min-width: 930px) {
  .reservation .form .bg-white {
    padding: 50px 125px 207px
  }
}

.reservation .form label {
  display: block;
  cursor: pointer
}

@media only screen and (min-width: 930px) {
  .reservation .form label {
    display: inline-block;
    width: 195px
  }
}

.reservation .form label.required::after {
  content: "＊";
  color: #fb0404
}

@media only screen and (min-width: 930px) {
  .reservation .form label.required::after {
    margin-left: 1em
  }
}

.reservation .form .custom-wpcf7c-confirmed label {
  cursor: auto
}

.reservation .form input:not([type="checkbox"]), .reservation .form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  outline: none
}

.reservation .form input[type="text"], .reservation .form input[type="email"], .reservation .form input[type="tel"] {
  height: 10.67vw;
  padding: 0 .5em;
  border: 1px solid #000
}

@media only screen and (min-width: 930px) {
  .reservation .form input[type="text"], .reservation .form input[type="email"], .reservation .form input[type="tel"] {
    height: 50px;
    padding: 0 1em;
    border-radius: 5px
  }
}

.reservation .form input[type="checkbox"] {
  display: none
}

.reservation .form .wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  word-break: break-all
}

.reservation .form .wpcf7-list-item-label::before {
  content: "";
  display: inline-block;
  width: 4.5vw;
  height: 4.5vw;
  margin-right: 1.5vw;
  border: 1px solid #000;
  border-radius: 5px;
  flex-shrink: 0
}

@media only screen and (min-width: 930px) {
  .reservation .form .wpcf7-list-item-label::before {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    border-radius: 2px;
    background: #fff
  }
}

.reservation .form input[type="checkbox"]:checked+.wpcf7-list-item-label:before {
  border: 1px solid #007cba
}

.reservation .form input[type="checkbox"]:checked+.wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 1vw;
  left: .8vw;
  display: inline-block;
  width: 3vw;
  height: 2vw;
  margin: auto;
  border-bottom: 3px solid #007cba;
  border-left: 3px solid #007cba;
  transform: rotate(-45deg)
}

@media only screen and (min-width: 930px) {
  .reservation .form input[type="checkbox"]:checked+.wpcf7-list-item-label:after {
    top: 10px;
    bottom: 14px;
    left: 3px;
    width: 12px;
    height: 8px
  }
}

.reservation .form .wpcf7c-conf-hidden+.wpcf7-list-item-label:before {
  background: #E2E2E2
}

.reservation .form .wpcf7c-conf-hidden+.wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 1vw;
  left: .8vw;
  display: inline-block;
  width: 3vw;
  height: 2vw;
  margin: auto;
  border-bottom: 3px solid #000;
  border-left: 3px solid #000;
  transform: rotate(-45deg)
}

@media only screen and (min-width: 930px) {
  .reservation .form .wpcf7c-conf-hidden+.wpcf7-list-item-label:after {
    top: 10px;
    bottom: 14px;
    left: 3px;
    width: 12px;
    height: 8px
  }
}

.reservation .form input[type="submit"], .reservation .form input[type="button"] {
  background: #7171f7;
  border: 0;
  color: #fff
}

@media only screen and (min-width: 930px) {
  .reservation .form input[type="submit"], .reservation .form input[type="button"] {
    font-size: 2.4rem
  }
}

.reservation .form .your-name, .reservation .form .furigana {
  width: 80vw
}

@media only screen and (min-width: 930px) {
  .reservation .form .your-name, .reservation .form .furigana {
    width: 500px
  }
}

.reservation .form input[name="postal-code"], .reservation .form input[name="pref"], .reservation .form input[name="city"], .reservation .form input[name="address-line1"] {
  width: 53.34vw
}

@media only screen and (min-width: 930px) {
  .reservation .form input[name="postal-code"], .reservation .form input[name="pref"], .reservation .form input[name="city"], .reservation .form input[name="address-line1"] {
    width: 300px
  }
}

.reservation .form input[name="address-line2"], .reservation .form input[name="tel"], .reservation .form input[name="your-email"] {
  width: 80vw
}

@media only screen and (min-width: 930px) {
  .reservation .form input[name="address-line2"], .reservation .form input[name="tel"], .reservation .form input[name="your-email"] {
    width: 500px
  }
}

.reservation .form .half-width {
  font-size: 3.2vw
}

@media only screen and (min-width: 930px) {
  .reservation .form .half-width {
    font-size: 1.2rem;
    vertical-align: bottom
  }
}

.reservation .form .notes {
  font-size: 3.2vw;
  line-height: 1.5
}

@media only screen and (min-width: 930px) {
  .reservation .form .notes {
    margin-left: 195px;
    font-size: 1.2rem
  }
}

.reservation .form .questionnaire {
  margin: 5vw 0 0;
  padding: 7.34vw 0;
  border-top: 1px dashed #000
}

@media only screen and (min-width: 930px) {
  .reservation .form .questionnaire {
    margin: 80px 0 0;
    padding: 34px 80px 50px
  }
}

.reservation .form .questionnaire .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

@media only screen and (min-width: 930px) {
  .reservation .form .questionnaire .wpcf7-checkbox {
    margin-bottom: 3em
  }
}

.reservation .form .questionnaire span.wpcf7-list-item {
  margin: 1em 0 0
}

@media only screen and (min-width: 930px) {
  .reservation .form .questionnaire span.wpcf7-list-item {
    margin: 2em 0 0
  }
}

.reservation .form fieldset {
  margin: 0;
  padding: 0;
  border: 0
}

.reservation .form fieldset p {
  line-height: 1.34
}

.reservation .form legend {
  width: 53.34vw;
  margin: 0 auto 5.34vw;
  background: #d2e1f6;
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  line-height: 10.67vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .reservation .form legend {
    width: 219px;
    margin: 0 auto 28px;
    font-size: 2.4rem;
    line-height: 50px
  }
}

.reservation .form textarea {
  width: 100%;
  margin-top: 1em;
  padding: 1em
}

.reservation .form .btn-confirm, .reservation .form .btn-back, .reservation .form .btn-submit {
  line-height: 13.34vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .reservation .form .btn-confirm, .reservation .form .btn-back, .reservation .form .btn-submit {
    display: block;
    margin: auto;
    line-height: 70px
  }
}

.reservation .form .btn-confirm {
  width: 100%
}

@media only screen and (min-width: 930px) {
  .reservation .form .btn-confirm {
    width: 300px
  }
}

.reservation .form .flex-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

@media only screen and (min-width: 930px) {
  .reservation .form .flex-box {
    width: 700px;
    margin: 0 auto
  }
}

.reservation .form .btn-back, .reservation .form .btn-submit {
  width: 45%
}

@media only screen and (min-width: 930px) {
  .reservation .form .btn-back, .reservation .form .btn-submit {
    width: 300px
  }
}

@media only screen and (min-width: 930px) {
  .reservation .form .wpcf7-not-valid-tip {
    margin-left: 195px
  }
}

.reservation .form .ajax-loader {
  display: block;
  width: 100%;
  margin: 1em 0 0;
  background-repeat: no-repeat;
  background-position: center
}

.about-yasiro .company-profile {
  width: 96%;
  margin: 0 auto
}

@media only screen and (min-width: 930px) {
  .about-yasiro .company-profile {
    width: 1100px
  }
}

.about-yasiro .company-profile th, .about-yasiro .company-profile td {
  display: block
}

@media only screen and (min-width: 930px) {
  .about-yasiro .company-profile th, .about-yasiro .company-profile td {
    display: table-cell;
    padding: 10px 0;
    background: url("img/about_yasiro/border.png") repeat-x bottom
  }
}

.about-yasiro .company-profile th {
  margin-bottom: .2em;
  padding-left: 1.2vw;
  color: #180480;
  font-size: 4vw;
  font-weight: 400;
  line-height: 1;
  text-align: left;
  border-left: 5px solid #bda43c
}

@media only screen and (min-width: 930px) {
  .about-yasiro .company-profile th {
    width: 220px;
    padding-left: 10px;
    border-left: 0;
    color: #000;
    font-size: 2.4rem;
    line-height: 2;
    white-space: nowrap
  }
}

.about-yasiro .company-profile td {
  margin-bottom: 1em;
  line-height: 1.33
}

@media only screen and (min-width: 930px) {
  .about-yasiro .company-profile td {
    font-size: 2.4rem;
    line-height: 2
  }
}

.about-yasiro .company-profile a {
  color: #000
}

.about-yasiro .business-block h3 {
  margin-bottom: 2.4vw;
  font-family: 'Noto Serif JP', serif;
  font-size: 4.8vw;
  font-weight: 600
}

@media only screen and (min-width: 930px) {
  .about-yasiro .business-block h3 {
    margin: 45px 25px;
    font-size: 3.6rem;
    font-weight: 500
  }
}

.about-yasiro .business-block ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 4vw;
  padding: 0;
  list-style: none
}

@media only screen and (min-width: 930px) {
  .about-yasiro .business-block ul {
    margin: 0 auto 60px
  }
}

.about-yasiro .business-block ul::after {
  content: "";
  display: block;
  width: 26.67vw
}

@media only screen and (min-width: 930px) {
  .about-yasiro .business-block ul::after {
    width: 300px
  }
}

.about-yasiro .business-block ul li {
  width: 26.67vw;
  margin-bottom: 5vw
}

@media only screen and (min-width: 930px) {
  .about-yasiro .business-block ul li {
    width: 300px;
    margin-bottom: 40px
  }
}

@media only screen and (min-width: 930px) {
  .about-yasiro .business-block .kuyo-gallery-list::after {
    width: 400px
  }
}

@media only screen and (min-width: 930px) {
  .about-yasiro .business-block .kuyo-gallery-list li {
    width: 400px
  }
}

@media only screen and (min-width: 930px) {
  .about-yasiro .branch-information-block .flex-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }
}

.about-yasiro .branch-information-block .img {
  margin-bottom: 4.8vw;
  text-align: center
}

@media only screen and (min-width: 930px) {
  .about-yasiro .branch-information-block .img {
    width: 635px;
    margin-bottom: 20px
  }
}

.about-yasiro .branch-information-block .img+p {
  line-height: 1.39
}

@media only screen and (min-width: 930px) {
  .about-yasiro .branch-information-block .img+p {
    font-size: 1.6rem
  }
}

.about-yasiro .branch-information-block .map {
  position: relative;
  padding-top: 56.72%
}

@media only screen and (min-width: 930px) {
  .about-yasiro .branch-information-block .map {
    width: 645px;
    padding-top: 520px
  }
}

.about-yasiro .branch-information-block .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.privacy-policy .entry-title {
  text-align: left
}

@media only screen and (min-width: 930px) {
  .privacy-policy .entry-title {
    text-align: center
  }
}

.privacy-policy .entry-body {
  width: 96%;
  margin: 0 auto 7.6vw
}

@media only screen and (min-width: 930px) {
  .privacy-policy .entry-body {
    width: 1320px;
    margin: 0 auto 64px
  }
}

.privacy-policy .entry-body h1 {
  margin-bottom: 5vw;
  padding-bottom: .2em;
  border-bottom: 1px solid #bda43c;
  box-shadow: 0px 1px 0 0px rgba(47, 47, 47, 0.5);
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  font-weight: 600
}

@media only screen and (min-width: 930px) {
  .privacy-policy .entry-body h1 {
    margin-bottom: 30px;
    font-size: 4.8rem;
    text-align: center
  }
}

.privacy-policy .entry-body p {
  padding: 0 .5em;
  font-size: 4vw;
  line-height: 1.2
}

@media only screen and (min-width: 930px) {
  .privacy-policy .entry-body p {
    font-size: 1.6rem;
    line-height: 1.5
  }
}

.privacy-policy .entry-body .lead {
  padding: 0
}

.privacy-policy .entry-body h2 {
  position: relative;
  margin-bottom: 3.6vw;
  padding: 0 0 1vw 1.9vw;
  font-size: 4.32vw;
  font-weight: normal
}

@media only screen and (min-width: 930px) {
  .privacy-policy .entry-body h2 {
    margin-bottom: 1em;
    padding: 0 0 .2em 15px;
    font-size: 2.4rem
  }
}

.privacy-policy .entry-body h2::before {
  content: "";
  position: absolute;
  top: 12%;
  left: 0;
  width: 4px;
  height: 70%;
  margin: auto;
  background: #b5a246
}

@media only screen and (min-width: 930px) {
  .privacy-policy .entry-body h2::before {
    top: 0;
    width: 5px;
    height: 30px
  }
}

.privacy-policy .entry-body h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 1.9vw;
  display: inline-block;
  width: calc(100% - 2%);
  height: 1px;
  border-bottom: 1px dotted #253bbf
}

@media only screen and (min-width: 930px) {
  .privacy-policy .entry-body h2::after {
    left: 15px;
    width: 30%
  }
}

.privacy-policy .entry-body ol, .privacy-policy .entry-body ul {
  margin: 0;
  padding: 0 .5em;
  list-style: none
}

.privacy-policy .entry-body ol li, .privacy-policy .entry-body ul li {
  margin-bottom: 1em;
  padding-left: 1em;
  font-size: 4vw;
  text-indent: -1em
}

@media only screen and (min-width: 930px) {
  .privacy-policy .entry-body ol li, .privacy-policy .entry-body ul li {
    font-size: 1.6rem;
    line-height: 1.5
  }
}

.post-type-archive-faq .border-cross {
  margin-bottom: 5vw
}

@media only screen and (min-width: 930px) {
  .post-type-archive-faq .border-cross {
    margin-bottom: 40px
  }
}

.post-type-archive-faq .faq-category {
  padding-right: 1.5em;
  font-size: 5.34vw;
  position: relative
}

@media only screen and (min-width: 930px) {
  .post-type-archive-faq .faq-category {
    padding: 20px 3.5em 55px 17px;
    font-size: 3rem
  }
}

.post-type-archive-faq .faq-category::after {
  content: "";
  position: absolute;
  top: 0;
  right: 5.33vw;
  bottom: .5em;
  width: 4vw;
  height: 4vw;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(45deg) translate(-25%, -25%)
}

@media only screen and (min-width: 930px) {
  .post-type-archive-faq .faq-category::after {
    right: 40px;
    bottom: .8em;
    width: 30px;
    height: 30px
  }
}

.post-type-archive-faq .faq-category.open::after {
  transform: rotate(-135deg) translate(-25%, -25%)
}

.post-type-archive-faq dl {
  width: 89.34vw;
  margin: 0 auto 14.8vw;
  line-height: 1.4
}

@media only screen and (min-width: 930px) {
  .post-type-archive-faq dl {
    width: 1200px;
    margin: 0 auto 70px
  }
}

.post-type-archive-faq dl dt {
  padding: .2em .4em;
  background: #d6d5f9;
  border-bottom: 1px solid #000
}

.post-type-archive-faq dl dt::before {
  content: "Q.";
  margin-right: .5em
}

@media only screen and (min-width: 930px) {
  .post-type-archive-faq dl dt {
    padding: .2em .8em .2em 2.2em;
    text-indent: -1.5em;
    font-size: 2.4rem
  }
}

.post-type-archive-faq dl dd {
  margin: 0;
  padding: .5em .5em 1.5em;
  border: 1px solid #000;
  border-top: 0
}

@media only screen and (min-width: 930px) {
  .post-type-archive-faq dl dd {
    padding: 1em 1.2em 2em;
    font-size: 1.8rem
  }
}

.post-type-archive-faq dl dd+dt {
  margin-top: 2.4vw
}

@media only screen and (min-width: 930px) {
  .post-type-archive-faq dl dd+dt {
    margin-top: 20px
  }
}

.qr {
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 4vw;
  line-height: 1.5
}

.qr .text-center {
  text-align: center
}

.qr .qr-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: url("img/qr/bg.jpg");
  background-size: cover
}

.qr .qr-header .kv a {
  display: block
}

.qr .qr-header .kv a img {
  width: 100%
}

.qr .qr-main {
  flex: 1
}

.qr .qr-main-inner {
  margin: 2vw 0
}

.qr .qr-main article {
  width: 96%;
  margin: 0 auto;
  padding: 6.8vw 0;
  background: #d9e0e7;
  border: 5px solid #fff;
  border-radius: 10px
}

.qr .qr-main .entry-title {
  padding: 0 5.33vw;
  border: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 6.4vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: left
}

.qr .qr-main .entry-title .border-left {
  display: inline-block;
  padding-left: .4em;
  position: relative
}

.qr .qr-main .entry-title .border-left::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.334vw;
  height: 100%;
  background: linear-gradient(#8b1385, #ca37b5);
  vertical-align: bottom
}

.qr .qr-main .entry-title .red {
  color: #ac0d0d
}

.qr .qr-main .entry-title+.form {
  margin-top: 3vw;
  padding-top: 8.8vw;
  background: url("img/qr/deco_01.png") no-repeat center top;
  background-size: 98%
}

.qr .qr-main .present-img-area {
  display: flex;
  justify-content: center;
  margin: 6.8vw 0
}

.qr .qr-main .present-img {
  width: 42.67vw;
  text-align: center
}

.qr .qr-main .present-img+.present-img {
  margin-left: 1.5vw
}

.qr .qr-main .lead {
  width: 98%;
  margin: 1em auto 0;
  padding: 0 1% 1.5em;
  background: url("img/qr/deco_01.png") no-repeat center bottom;
  background-size: contain
}

.qr .qr-main .form {
  padding: 4.8vw
}

.qr .qr-main .form label {
  display: block;
  margin-bottom: 1em;
  cursor: pointer
}

.qr .qr-main .form .customer-name, .qr .qr-main .form .tel, .qr .qr-main .form .email {
  font-size: 3.2vw;
  margin-bottom: 1.5em
}

.qr .qr-main .form .email {
  margin-bottom: 2em
}

.qr .qr-main .form input {
  background: #fff;
  outline: 0;
  font-family: inherit
}

.qr .qr-main .form input[type="text"], .qr .qr-main .form input[type="tel"], .qr .qr-main .form input[type="email"], .qr .qr-main .form button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  margin-top: .2em;
  padding: .6em .8em;
  border: 0;
  border-radius: 0;
  font-size: 4vw;
  outline: none
}

.qr .qr-main .form input[type="radio"], .qr .qr-main .form input[type="checkbox"] {
  margin-right: .2em;
  border: 1px solid #333
}

.qr .qr-main .form input[type="radio"], .qr .qr-main .form input[type="checkbox"] {
  margin-right: .2em;
  border: 1px solid #333
}

.qr .qr-main .form .error {
  color: #f00;
  font-size: 3vw
}

.qr .qr-main .form .note {
  margin: 2em 0 1em
}

.qr .qr-main .form .link-privacy-policy {
  margin-bottom: 2em;
  text-align: center
}

.qr .qr-main .form .link-privacy-policy a {
  border-bottom: 1px solid #1801fa;
  color: #1801fa;
  font-size: 4.8vw
}

.qr .qr-main .form .btn {
  margin-top: 7.7vw;
  padding: 4vw 0;
  background: #9e0211;
  color: #fff;
  font-size: 4.8vw;
  font-weight: bold
}

.qr .qr-main .form .btn.disabled {
  background: #797878;
  pointer-events: none
}

.qr .qr-main .form .btn.back {
  background: #5b5a5a;
  margin-top: 4vw
}

.qr .qr-main .confirm p {
  margin-bottom: 1em;
  word-break: break-all
}

.qr .qr-main .confirm p span {
  font-size: 3.2vw
}

.qr .qr-main .qr-img {
  padding: 4.8vw;
  text-align: center
}

.qr .qr-main .download {
  margin: 0 4.8vw;
  text-align: center
}

.qr .qr-main .download a {
  display: block;
  padding: 4vw 0;
  background: #9e0211;
  color: #fff;
  font-size: 4.8vw;
  font-weight: bold
}

.qr .qr-main .c-modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1
}

.qr .qr-main .c-modal_bg {
  background: rgba(0, 0, 0, 0.6);
  height: 100vh;
  width: 100%
}

.qr .qr-main .c-modal_content {
  width: 80%;
  height: 80%;
  padding: 8vw 5vw;
  background: #fff;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 5px;
  font-size: 3.6vw
}

.qr .qr-main .c-modal_content_inner {
  position: relative;
  height: 100%;
  overflow-y: scroll
}

.qr .qr-main .c-modal_content_inner h1 {
  margin-bottom: 4.67vw;
  box-shadow: 0px 1px 1px 0px rgba(51, 51, 51, 0.004);
  border-bottom: 1px solid #b5a246;
  font-family: 'Noto Serif JP', serif;
  font-size: 5.76vw
}

.qr .qr-main .c-modal_content_inner h2 {
  position: relative;
  padding: 0 0 1vw 1.9vw;
  margin-bottom: 3.6vw;
  font-size: 4.32vw;
  font-weight: normal
}

.qr .qr-main .c-modal_content_inner h2::before {
  content: "";
  position: absolute;
  top: 12%;
  left: 0;
  width: 2px;
  height: 70%;
  margin: auto;
  background: #b5a246
}

.qr .qr-main .c-modal_content_inner h2::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: calc(100% - 1.9vw);
  height: 1px;
  border-bottom: 1px dotted #253bbf
}

.qr .qr-main .c-modal_content_inner ol, .qr .qr-main .c-modal_content_inner ul {
  margin: 0;
  padding: 0 1.9vw;
  list-style: none
}

.qr .qr-main .c-modal_content_inner ol li, .qr .qr-main .c-modal_content_inner ul li {
  margin-bottom: 1em;
  padding-left: 1em;
  text-indent: -1em
}

.qr .qr-main .c-modal_content_inner p {
  margin-bottom: 1em;
  padding: 0 1.9vw
}

.qr .qr-main .c-modal_close {
  position: fixed;
  top: 2vw;
  right: 3vw;
  font-size: 5vw
}

.qr .qr-sidebar {
  padding: 3.74vw 0;
  background: #d3e2f1
}

.qr .qr-sidebar-title {
  width: 93.334vw;
  margin: 0 auto 4.5vw;
  padding-bottom: 3.74vw;
  background: url("img/qr/deco_01.png") no-repeat center bottom;
  background-size: contain;
  font-family: 'Noto Serif JP', serif;
  font-size: 4vw;
  text-align: center
}

.qr .qr-sidebar .company-information {
  display: flex;
  padding: 0 2vw;
  font-size: 3.2vw
}

.qr .qr-sidebar .address {
  width: 52%
}

.qr .qr-sidebar .logo-yashiro {
  width: 52%;
  margin-bottom: 1vw
}

.qr .qr-sidebar .free-dial {
  display: flex;
  align-items: center;
  font-family: 'Noto Sans JP';
  font-size: 4.8vw;
  font-weight: 900
}

.qr .qr-sidebar .free-dial::before {
  content: "";
  display: inline-block;
  width: 6.8vw;
  height: 4.54vw;
  margin-right: 2.4vw;
  background: url("img/qr/icon-free-dial.png") no-repeat;
  background-size: cover
}

.qr .qr-sidebar .free-dial a {
  color: #000
}

.qr .qr-sidebar .map {
  position: relative;
  width: 48%;
  padding-top: 45%
}

.qr .qr-sidebar .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.qr .qr-footer .copyright {
  padding: 2.65vw 0;
  color: #fff;
  font-size: 3.2vw;
  text-align: center
}

@font-face {
  font-family: 'Font-Name';
  src: url("fonts/font-name.eot");
  src: url("fonts/font-name.eot?#iefix") format("embedded-opentype"), url("fonts/font-name.woff") format("woff"), url("fonts/font-name.ttf") format("truetype"), url("fonts/font-name.svg#font-name") format("svg");
  font-weight: normal;
  font-style: normal
}

::selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none
}

::-webkit-selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none
}

::-moz-selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none
}

.alignnone {
  margin: 5px 20px 20px 0
}

.aligncenter, div.aligncenter {
  display: block;
  margin: 5px auto 5px auto
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px
}

a img.alignnone {
  margin: 5px 20px 20px 0
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto
}

.wp-caption {
  background: #FFF;
  border: 1px solid #F0F0F0;
  max-width: 96%;
  padding: 5px 3px 10px;
  text-align: center
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto
}

.wp-caption .wp-caption-text, .gallery-caption {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px
}

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important
  }
  a, a:visited {
    text-decoration: underline
  }
  a[href]:after {
    content: " (" attr(href) ")"
  }
  abbr[title]:after {
    content: " (" attr(title) ")"
  }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
    content: ""
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid
  }
  thead {
    display: table-header-group
  }
  tr, img {
    page-break-inside: avoid
  }
  img {
    max-width: 100% !important
  }
  @page {
    margin: 0.5cm
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3
  }
  h2, h3 {
    page-break-after: avoid
  }
}

@media screen and (min-width: 992px) {
  .disp_sp {
    display: none !important;
  }
}

@media screen and (max-width: 991px) {
  .disp_pc {
    display: none !important;
  }
}

.reservation .tel-block-inner a {
  position: relative;
}

.reservation .tel-block-inner .kana_01 {
  position: absolute;
  left: 250px;
  bottom: -15px;
  font-size: 1.2rem;
}

.reservation .tel-block-inner .kana_02 {
  position: absolute;
  left: 350px;
  bottom: -15px;
  font-size: 1.2rem;
}

.reservation .addresslink {
  text-decoration: underline;
  color: #2010E9;
}

.reservation .addresslink:hover {
  text-decoration: none;
}

@media screen and (max-width: 991px) {
  .tel-block-inner a {
    padding: 1.5vh 0 2vh 16vw !important;
  }
  .reservation .tel-block-inner .kana_01 {
    position: absolute;
    left: 47vw;
    bottom: 4px;
    font-size: 1.1rem;
  }
  .reservation .tel-block-inner .kana_02 {
    position: absolute;
    left: 68vw;
    bottom: 4px;
    font-size: 1.1rem;
  }
}

#ryukyu_now-block {
  background: url("https://ryukyugobyou.okinawa/wp/wp-content/uploads/2021/07/now_bg.png") no-repeat center top / contain;
  background-color: #F4EACA;
  margin: 80px 0 0 0;
  min-height: 660px;
}

#ryukyu_now-block .container {
  width: 1080px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

#ryukyu_now-block .container h2 {
  margin: 0 auto;
  padding: 30px 0 15px;
  text-align: center;
}

#ryukyu_now-block .container p {
  position: absolute;
  bottom: 12%;
  right: 7%;
}

#ryukyu_now-block .container a {
  color: #000066;
  text-decoration: underline;
  position: relative;
}

#ryukyu_now-block .container a:hover {
  text-decoration: none;
}

#ryukyu_now-block .container a::after {
  position: absolute;
  right: -10px;
  top: 9px;
  display: block;
  content: "";
  width: 9px;
  height: 9px;
  border-right: 1px solid #000066;
  border-top: 1px solid #000066;
  transform: rotate(45deg);
}

@media screen and (max-width: 991px) {
  #ryukyu_now-block {
    background: url("https://ryukyugobyou.okinawa/wp/wp-content/uploads/2021/07/now_bg_sp.png") no-repeat center top / contain;
    background-color: #F4EACA;
    margin: 80px 0 0 0;
  }
  #ryukyu_now-block .container {
    width: 96%;
    margin: 0 auto;
    padding: 0 0 60px 0;
    text-align: center;
    position: relative;
  }
  #ryukyu_now-block .container h2 {
    width: 86%;
    margin: 0 auto;
    padding: 30px 0 15px;
    text-align: center;
  }
  #ryukyu_now-block .container p {
    position: absolute;
    bottom: 10%;
    right: 10%;
    font-size: 14px;
  }
  #ryukyu_now-block .container a {
    color: #000066;
    text-decoration: underline;
    position: relative;
  }
  #ryukyu_now-block .container a:hover {
    text-decoration: none;
  }
  #ryukyu_now-block .container a::after {
    position: absolute;
    right: -10px;
    top: 9px;
    display: block;
    content: "";
    width: 9px;
    height: 9px;
    border-right: 1px solid #000066;
    border-top: 1px solid #000066;
    transform: rotate(45deg);
  }
  #ryukyu_now-block img {
    width: 100%;
    height: auto;
  }
}

.address .footer_txt {
  font-size: 14px;
  color: #ff0000;
  width: 440px;
  display: block;
  line-height: 1.5;
  padding: 5px 0;
  text-indent: -1em;
  padding-left: 2em;
}

@media screen and (max-width: 991px) {
  .address .footer_txt {
    width: 96%;
  }
}


/*------------------------------------------------
 インスタ・フェイスブック ウィジェット
--------------------------------------------------*/

.widget-block {
  width: 960px;
  margin: 100px auto 0;
  display: flex;
  justify-content: space-around;
}

.widget-block .fb_widget, .widget-block .ig_widget {
  width: 44%;
}
.btn_gyouji{
	width: 420px;
	margin: 0  auto;
	padding-top: 25px;
}
.btn_syukatsu_seminar{
	width: 420px;
	margin: 0  auto;
	padding-top: 25px;
}
@media screen and (max-width: 991px) {
  .widget-block {
    width: 90%;
    margin: 50px auto 0;
    display: block;
  }
  .widget-block .fb_widget, .widget-block .ig_widget {
    width: 100%;
    margin-bottom: 30px;
  }
  .widget-block .fb_widget iframe {
    width: 100%;
    height: 500px !important;
  }
	.btn_gyouji{
		width: 92%;
		margin: 0  auto;
		padding-top: 25px;
	}
	.btn_syukatsu_seminar{
		width: 92%;
		margin: 0  auto;
		padding-top: 5px;
}
}


/*------------------------------------------------
 トップページ 見学予約追加
--------------------------------------------------*/

.kengaku-block{
	width: 880px;
	margin: 90px auto 30px;
	text-align: center;
}
.kengaku_conversion_area{
	background: #f37c5d;
	margin-top: 30px;
	padding: 25px 0;
}
.kengaku_conversion_area p{
	color: #fff;
	font-size: 24px;
	letter-spacing: 0.1em;
	padding-bottom: 20px;
	font-family: 'Noto Serif JP', serif;
}

.kengaku-block ul{
	display: flex;
	justify-content: space-around;
	width: 84%;
	margin: 0 auto;
}
.kengaku-block ul li {
	list-style: none;
}
.kengaku-block ul li a{
	display: block;
	width: 310px;
	background: #cc0000;
	border-radius: 100px;
}
.kengaku-block ul li.tel_btn a{
	background: #fff;
	padding: 10px 0;
	text-align: center;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.2;
	position: relative;
	text-indent: 1em;
}
.kengaku-block ul li.tel_btn a:before{
	content: "";
	width: 32px;
	height: 20px;
	background: url("https://ryukyugobyou.okinawa/img/img-form/ico_freedial.png") no-repeat left top;
	position: absolute;
	top: 28%;
	left: 40px;
}
.kengaku-block ul li.tel_btn a span{
	display: block;
	font-size: 1.3rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	text-align: right;
	width: 63%;
	margin: 0 auto;
}
@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}
.kengaku-block ul li.mail_btn a{
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.1em;
	background: #fff;
	color: #f37c5d;
	padding: 21px 0;
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.2;
	position: relative;
	text-indent: 2em;
	min-height: 64px;
	transition: 0.3s;
}
.kengaku-block ul li.mail_btn a::before{
	content: "";
	width: 32px;
	height: 20px;
	background: url("https://ryukyugobyou.okinawa/img/img-form/ico_mail_hover.png") no-repeat left top;
	position: absolute;
	top: 37%;
	left: 50px;
}
.kengaku-block ul li.mail_btn a:hover{
	color: #333;
	background: #ffe2da;
	opacity: 1;
}
.sns-block p {
	text-align: center;
	margin: 20px auto 0;
	letter-spacing: 0.1em;
	line-height: 1.6;
	font-size: 1.6rem
}
.sns-block ul {
	display: flex;
	justify-content: space-between;
	width: 250px;
	margin: 20px auto 0;
	padding: 0;
}
.sns-block ul li{
	list-style: none;
	width: 58px;
}
.sns-block ul li img{
	height: auto;
}


@media screen and (max-width: 991px) {
	.kengaku-block{
		width: 90%;
		margin: 90px auto 30px;
		text-align: center;
	}
	.kengaku_conversion_area{
		background: #f37c5d;
		margin-top: 30px;
		padding: 25px 0 10px;
	}
	.kengaku_conversion_area p{
		color: #fff;
		font-size: 24px;
		letter-spacing: 0.1em;
		padding-bottom: 20px;
		font-family: 'Noto Serif JP', serif;
	}
	.kengaku-block ul{
		display: block;
		width: 82%;
		margin: 0 auto;
		padding: 0;
	}
	.kengaku-block ul li {
		list-style: none;
		margin-bottom: 15px;
	}
	.kengaku-block ul li a{
		display: block;
		width: 100%;
		border-radius: 100px;
	}
	.kengaku-block ul li.tel_btn a{
		background: #fff;
		padding: 10px 0;
		text-align: center;
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 1.2;
		position: relative;
		text-indent: 1em;
	}
	.kengaku-block ul li.tel_btn a:before{
		content: "";
		width: 32px;
		height: 20px;
		background: url("https://ryukyugobyou.okinawa/img/img-form/ico_freedial.png") no-repeat left top;
		position: absolute;
		top: 27%;
		left: 32px;
	}
	.kengaku-block ul li.tel_btn a span{
		display: block;
		font-size: 1.3rem;
		font-weight: normal;
		letter-spacing: 0.1em;
		text-align: right;
		width: 63%;
		margin: 0 auto;
	}
	.kengaku-block ul li.mail_btn a{
		font-family: 'Noto Serif JP', serif;
		letter-spacing: 0.1em;
		background: #fff;
		color: #f37c5d;
		padding: 21px 0;
		text-align: center;
		font-size: 2.0rem;
		font-weight: bold;
		line-height: 1.2;
		position: relative;
		text-indent: 2em;
		min-height: 64px;
		transition: 0.3s;
	}
	.kengaku-block ul li.mail_btn a::before{
		content: "";
		width: 32px;
		height: 20px;
		background: url("https://ryukyugobyou.okinawa/img/img-form/ico_mail_hover.png") no-repeat left top;
		position: absolute;
		top: 37%;
		left: 40px;
	}
	.kengaku-block ul li.mail_btn a:hover{
		color: #333;
		background: #ffe2da;
		opacity: 1;
	}
	.sns-block ul {
		display: flex;
		justify-content: space-between;
		width: 54%;
		margin: 20px auto 30px;
		padding: 0;
	}
	.sns-block ul li{
		list-style: none;
		width: 45px;
	}
	.sns-block ul li img{
		height: auto;
	}
	.sns-block p {
		font-size: 1.7rem;
		margin: 20px auto 0;
		letter-spacing: 0.1em;
		line-height: 1.3;
	}
}

/*------------------------------------------------
 トップページ 生前契約情報追加
--------------------------------------------------*/

.home .achievement-block{
	width: 920px;
	margin: 0 auto 60px;
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
}
.home .achievement-block .title{
	font-size: 2.4rem;
	font-weight: bold;
	width: 100%;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-bottom: 20px;
}
.home .achievement-block .box{
	width: 440px;
	border: 4px solid #e4ddc6;
	border-radius: 10px;
}
.home .achievement-block .box dl dt,
.home .achievement-block .box dl dd{
	text-align: center;
	letter-spacing: 0.1em;
	border-radius: 10px;
	margin: 0;
	padding: 0;
}
.home .achievement-block .box dl.top{
	background: #fcf5dc;
	margin: 0;
	padding: 12px 0;
	border-radius: 8px 8px 0 0;
}
.home .achievement-block .box dl.top dt{
	font-size: 22px;
	color: #601287;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	margin-bottom: 4px;
}
.home .achievement-block .box dl.top dd{
	font-size: 22px;
}
.home .achievement-block .box dl.top dd strong{
	font-size: 26px;
	font-weight: bold;
	color: #c10403;
}
.home .achievement-block .box dl.bottom{
	background: #fff;
	margin: 0;
	padding: 15px 0 30px;
	border-radius: 0 0 8px 8px;
}
.home .achievement-block .box dl.bottom dt{
	font-size: 24px;
	color: #534618;
	position: relative;
	z-index: 1;
	margin-bottom: 8px;
	font-weight: normal;
}
.home .achievement-block .box dl.bottom dt span{
	position: relative;
	z-index: 1;
}
.home .achievement-block .box dl.bottom dt span::after{
	content: "";
	width: 100%;
	height: 15px;
	background: #fdff7b;
	position: absolute;
	bottom: -2px;
	left: 0;
	z-index: -1;
}
.home .achievement-block .box dl.bottom dt strong{
	font-size: 32px;
	color: #534618;
}
.home .achievement-block .box dl.bottom dd{
	font-size: 26px;
	color: #c10403;
}
.home .achievement-block .box dl.bottom dd strong{
	font-size: 46px;
	font-weight: bold;
	opacity: 0;
}
.home .achievement-block .box dl.bottom dd strong.is_show{
	opacity: 1;
}
.home .achievement-block p.time{
	text-align: right;
	width: 100%;
	padding-top: 10px;
	color: #444;
}

@media screen and (max-width: 991px) {
	.home .achievement-block{
		width: 92%;
		margin: 0 auto 50px;
	}
	.home .achievement-block .title{
		font-size: 1.7rem;
	}
	.home .achievement-block .box{
		width: 48%;
		border: 2px solid #e4ddc6;
		border-radius: 10px;
		margin-bottom: 0;
	}
	.home .achievement-block .box dl.top{
		padding: 6px 0;
	}
	.home .achievement-block .box dl.top dt{
		font-size: 1.6rem;
		color: #601287;
		margin-bottom: 4px;
		letter-spacing: 0.1em;
	}
	.home .achievement-block .box dl.top dd{
		font-size: 1.6rem;
	}
	.home .achievement-block .box dl.top dd strong{
		font-size: 1.8rem;
		font-weight: bold;
		color: #c10403;
	}
	.home .achievement-block .box dl.bottom{
		background: #fff;
		margin: 0;
		padding: 8px 0 14px;
		border-radius: 0 0 8px 8px;
	}
	.home .achievement-block .box dl.bottom dt{
		font-size: 1.5rem;
	}
	.home .achievement-block .box dl.bottom dt span::after{
		height: 12px;
	}
	.home .achievement-block .box dl.bottom dt strong{
		font-size: 2.2rem;
	}
	.home .achievement-block .box dl.bottom dd{
		font-size: 1.8rem;
	}
	.home .achievement-block .box dl.bottom dd strong{
		font-size: 3.0rem;
	}
	.home .achievement-block p.time{
		font-size: 1.4rem;
	}
}


/*------------------------------------------------
 イベント・キャンペーン
--------------------------------------------------*/
.home .event_block {
	margin: 100px 0;
}
.home .event_block .inner h2{
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-size: 42px;
	margin-bottom: 50px;
}
.home .event_block .inner ul{
	display: flex;
	justify-content: flex-start;
	width: 1160px;
	margin: 0 auto 60px;
}
.home .event_block .inner ul li{
	list-style: none;
	width: 255px;
}
.home .event_block .inner ul li:not(:last-of-type){
	margin-right: 40px;
}	
.home .event_block .inner ul li a .thumbnail{
	overflow: hidden;
	height: 200px;
}
.home .event_block .inner ul li a .thumbnail img{
	width: 100%;
	height: 200px;
	object-fit: cover;
	object-position: top;
	transition: 1s;
}
.home .event_block .inner ul li a:hover{
	opacity: 1;
}
.home .event_block .inner ul li a:hover .thumbnail img{
	transform: scale(1.1, 1.1);
}
.home .event_block .inner ul li a .category{
	display: inline-block;
	min-width: 80px;
	border-radius: 100px;
	background: #c9a649;
	color: #fff;
	text-align: center;
	padding: 3px 10px;
	margin: 8px 0;
	font-size: 13px;
}
.home .event_block .inner ul li a .category.event{
	background: #00a051;
}

.home .event_block .inner ul li a .title{
	font-size: 15px;
	letter-spacing: 0.1em;
	min-height: 40px;
	font-weight: bold;
    line-height: 1.4;
}
.home .event_block .inner ul li a:hover .title{
	text-decoration: underline;
}
.home .event_block .inner ul li a .date{
	color: #939393;
	font-size: 14px;
	text-align: right;
	letter-spacing: 0.1em;
	margin-top: 3px;
}
.home .btn_back a{
	font-size: 14px;
	text-align: center;
	border: 2px solid #a08274;
	color: #a08274;
	letter-spacing: 0.1em;
	border-radius: 100px;
	padding: 14px 50px;
	font-weight: bold;
	transition: 0.5s;
}
.home .btn_back a:hover{
	background: #a08274;
	border: 2px solid #a08274;
	color: #fff;
}

@media screen and (max-width: 991px) {
	.home .event_block {
		margin: 50px 0 20px;
	}
	.home .event_block .inner h2{
		text-align: center;
		font-family: 'Noto Serif JP', serif;
		font-size: 26px;
		margin-bottom: 30px;
	}
	.home .event_block .inner ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
		margin: 0 auto 20px;
		padding: 0;
	}
	.home .event_block .inner ul li{
		list-style: none;
		width: 47%;
		margin-bottom: 30px;
	}
	.home .event_block .inner ul li:not(:last-of-type){
		margin-right: 0;
	}	
	.home .event_block .inner ul li a .thumbnail{
		overflow: hidden;
		height: 140px;
	}
	.home .event_block .inner ul li a .thumbnail img{
		width: 100%;
		height: 140px;
		object-fit: cover;
		object-position: top;
		transition: 1s;
	}
	.home .event_block .inner ul li a:hover .thumbnail img{
		transform: scale(1.1, 1.1);
	}
	.home .event_block .inner ul li a .category{
		display: inline-block;
		min-width: 80px;
		border-radius: 100px;
		background: #c9a649;
		color: #fff;
		text-align: center;
		padding: 3px 10px 5px;
		margin: 8px 0;
		font-size: 13px;
	}
	.home .event_block .inner ul li a .category.event{
		background: #00a051;
	}
	.home .event_block .inner ul li a .title{
		font-size: 15px;
		letter-spacing: 0.1em;
		min-height: auto;
	}
	.home .event_block .inner ul li a .date{
		color: #939393;
		font-size: 14px;
		text-align: right;
		letter-spacing: 0.1em;
		margin-top: 3px;
	}
	.btn_back a{
		font-size: 14px;
		text-align: center;
		border: 2px solid #a08274;
		color: #a08274;
		letter-spacing: 0.1em;
		border-radius: 100px;
		padding: 12px 30px;
		font-weight: bold;
		transition: 0.5s;
	}
	.btn_back a:hover{
		background: #a08274;
		border: 2px solid #a08274;
		color: #fff;
	}	
}



/*------------------------------------------------
 イベント・キャンペーン 詳細ページ
--------------------------------------------------*/
.single-event .entry-header,
.single-event .inner{
	width: 960px;
	margin: auto;
}
.single-event h1.entry-title{
	font-size: 25px;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: left;
	background: #fef8f0;
	border-bottom: none;
	border-top: 2px solid #a98877;
	color: #333;
	padding: 14px 0 16px 20px;
	box-shadow: none;
 	letter-spacing: 0.1em;   
}
.single-event .sub_info{
	display: flex;
	justify-content: flex-end;
	margin: 15px 10px;
}
.single-event .sub_info .date{
	position: relative;
	padding: 0 0 0 25px;
	color: #666;
	letter-spacing: 0.1em;
	margin-right: 20px;
}
.single-event .sub_info .date::before{
	content: "";
	background: url("../../../../img/img-common/ico_date.png") no-repeat left top/contain;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	left: 0;
}
.single-event .sub_info .category{
	display: inline-block;
	min-width: 80px;
	border-radius: 100px;
	background: #c9a649;
	color: #fff;
	text-align: center;
	padding: 3px 10px;
	font-size: 13px;
}
.single-event .sub_info .category.event{
	background: #00a051;
}

.single-event .thumbnail{
	width: 880px;
	margin: 40px auto;
	text-align: center;
}
.single-event .content {
	width: 880px;
	margin: 0 auto;
}
.single-event .content h2{
	color: #00a051;
	font-size: 22px;
	border-left: 5px solid #00a051;
	padding: 5px 0 5px 15px;
	margin-bottom: 25px;
	line-height: 1.4;
}
.single-event .content p{
	color: #444;
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-size: 16px;
}
.single-event .content img{
	padding: 25px 0;
}
.single-event .txt_conversion{
	font-size: 15px;
	text-align: center;
	font-weight: bold;
	padding: 90px 0 0 0;
	letter-spacing: 0.1em;
	color: #444;
}
.single-event .kengaku-block{
	width: 880px;
	margin: 20px auto 60px;
	text-align: center;
}
.btn_back {
	display: flex;
	justify-content: center;
}
.btn_back a{
	font-size: 18px;
	text-align: center;
	border: 2px solid #a08274;
	color: #a08274;
	letter-spacing: 0.1em;
	border-radius: 100px;
	padding: 18px 50px;
	font-weight: bold;
	transition: 0.5s;
}
.btn_back a:hover{
	background: #a08274;
	border: 2px solid #a08274;
	color: #fff;
}

@media screen and (max-width: 991px) {
	.single-event .entry-header,
	.single-event .inner{
		width: 92%;
		margin: auto;
	}
	.single-event h1.entry-title{
		font-size: 20px;
		padding: 14px 0 16px 20px;
	}
	.single-event .sub_info{
		margin: 15px 10px;
		justify-content: space-between;
	}
	.single-event .sub_info .date{
		padding: 0 0 0 25px;
		font-size: 16px;
	}
	.single-event .sub_info .date::before{
		content: "";
		background: url("../../../../img/img-common/ico_date.png") no-repeat left top/contain;
		width: 20px;
		height: 20px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.single-event .sub_info .category{
		padding: 3px 10px 5px;
	}
	.single-event .sub_info .category.event{
		background: #00a051;
	}
	.single-event .thumbnail{
		width: 100%;
		margin: 30px auto;
		text-align: center;
	}
	.single-event .content {
		width: 100%;
		margin: 0 auto;
	}
	.single-event .content h2{
		color: #00a051;
		font-size: 17px;
		border-left: 5px solid #00a051;
		padding: 5px 0 5px 15px;
		margin-bottom: 15px;
	}
	.single-event .content p{
		color: #444;
		line-height: 1.8;
		letter-spacing: 0.1em;
		font-size: 15px;
	}
	.single-event .content img{
		padding: 25px 0;
	}
	.single-event .txt_conversion{
		font-size: 16px;
		text-align: left;
		font-weight: bold;
		padding: 70px 0 0 0;
		letter-spacing: 0.1em;
		color: #444;
		line-height: 1.4;
	}
	.single-event .kengaku-block{
		width: 100%;
		margin: 20px auto 30px;
		text-align: center;
	}
	.btn_back {
		display: flex;
		justify-content: center;
		margin-bottom: 40px;
	}
	.btn_back a{
		font-size: 14px;
		text-align: center;
		border: 2px solid #a08274;
		color: #a08274;
		letter-spacing: 0.1em;
		border-radius: 100px;
		padding: 12px 30px;
		font-weight: bold;
		transition: 0.5s;
	}
	.btn_back a:hover{
		background: #a08274;
		border: 2px solid #a08274;
		color: #fff;
	}

}



/*------------------------------------------------
 イベント・キャンペーン一覧ページ
--------------------------------------------------*/
.post-type-archive-event .event_block .inner ul{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 1160px;
	margin: 0 auto 60px;
}
.post-type-archive-event .event_block .inner ul li{
	list-style: none;
	width: 255px;
	margin-bottom: 30px;
	margin-right: 25px;
}
.post-type-archive-event .event_block .inner ul li a .thumbnail{
	overflow: hidden;
	height: 200px;
}
.post-type-archive-event .event_block .inner ul li a .thumbnail img{
	width: 100%;
	height: 200px;
	object-fit: cover;
	object-position: top;
	transition: 1s;
}
.post-type-archive-event .event_block .inner ul li a:hover{
	opacity: 1;
}
.post-type-archive-event .event_block .inner ul li a:hover .thumbnail img{
	transform: scale(1.1, 1.1);
}
.post-type-archive-event .event_block .inner ul li a .category{
	display: inline-block;
	min-width: 80px;
	border-radius: 100px;
	background: #c9a649;
	color: #fff;
	text-align: center;
	padding: 3px 10px;
	margin: 8px 0;
	font-size: 13px;
}
.post-type-archive-event .event_block .inner ul li a .category.event{
	background: #00a051;
}
.post-type-archive-event .event_block .inner ul li a .title{
	font-size: 15px;
	letter-spacing: 0.1em;
	min-height: 40px;
    font-weight: bold;
    line-height: 1.4;
}
.post-type-archive-event .event_block .inner ul li a:hover .title{
	text-decoration: underline;
}
.post-type-archive-event .event_block .inner ul li a .date{
	color: #939393;
	font-size: 14px;
	text-align: right;
	letter-spacing: 0.1em;
	margin-top: 3px;
}
.post-type-archive-event .pagination ul{
	display: flex;
	justify-content: center;
	min-width: 150px;
	max-width: 500px;
	margin: auto;
	align-items: center;
	padding: 0;
}
.post-type-archive-event .pagination ul li{
	list-style: none;
	font-size: 20px;
}
.post-type-archive-event .pagination ul li:not(:last-of-type){
	padding-right: 10px;
}
.post-type-archive-event .pagination ul li .current{
	font-size: 16px;
	color: #fff;
	background:  #a08274;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: block;
}
.post-type-archive-event .pagination ul li a{
	font-size: 16px;
	color: #a08274;
	border:  1px solid #a08274;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: block;
}
.post-type-archive-event .pagination ul li a:hover{
	color: #fff;
	background: #a08274;
	opacity: 1;
}
.post-type-archive-event .pagination ul li a.next,
.post-type-archive-event .pagination ul li a.prev{
	font-size: 16px;
	color: #333;
	border:  none;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: block;
	text-decoration: underline;
}
.post-type-archive-event .pagination ul li a.next:hover,
.post-type-archive-event .pagination ul li a.prev:hover{
	text-decoration: none;
	background: none;
}
.post-type-archive-event .pagination ul li a.next{
	margin-left: 10px;
}
.post-type-archive-event .pagination ul li a.prev{
	margin-right: 10px;
}
@media screen and (max-width: 991px) {
	.post-type-archive-event .event_block .inner ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
		margin: 0 auto 20px;
		padding: 0;
	}
	.post-type-archive-event .event_block .inner ul li{
		list-style: none;
		width: 47%;
		margin-bottom: 30px;
		margin-right: 0;
	}
	.post-type-archive-event .event_block .inner ul li a .thumbnail{
		overflow: hidden;
		height: 140px;
	}
	.post-type-archive-event .event_block .inner ul li a .thumbnail img{
		width: 100%;
		height: 140px;
		object-fit: cover;
		object-position: top;
		transition: 1s;
	}
	.post-type-archive-event .event_block .inner ul li a:hover{
		opacity: 1;
	}
	.post-type-archive-event .event_block .inner ul li a:hover .thumbnail img{
		transform: scale(1.1, 1.1);
	}
	.post-type-archive-event .event_block .inner ul li a .category{
		display: inline-block;
		min-width: 80px;
		border-radius: 100px;
		background: #c9a649;
		color: #fff;
		text-align: center;
		padding: 3px 10px 5px;
		margin: 8px 0;
		font-size: 13px;
	}
	.post-type-archive-event .event_block .inner ul li a .category.event{
		background: #00a051;
	}
	.post-type-archive-event .event_block .inner ul li a .title{
		font-size: 15px;
		letter-spacing: 0.1em;
		min-height: auto;
	}
	.post-type-archive-event .event_block .inner ul li a:hover .title{
		text-decoration: underline;
	}
	.post-type-archive-event .event_block .inner ul li a .date{
		color: #939393;
		font-size: 14px;
		text-align: right;
		letter-spacing: 0.1em;
		margin-top: 3px;
	}
	.post-type-archive-event .pagination ul{
		display: flex;
		justify-content: center;
		min-width: 150px;
		max-width: 500px;
		margin: auto;
		align-items: center;
		padding: 0;
	}
	.post-type-archive-event .pagination ul li{
		list-style: none;
		font-size: 16px;
	}
	.post-type-archive-event .pagination ul li:not(:last-of-type){
		padding-right: 10px;
	}
	.post-type-archive-event .pagination ul li .current{
		font-size: 16px;
		color: #fff;
		background:  #a08274;
		width: 30px;
		height: 30px;
		line-height: 30px;
		text-align: center;
		display: block;
	}
	.post-type-archive-event .pagination ul li a{
		font-size: 16px;
		color: #a08274;
		border:  1px solid #a08274;
		width: 30px;
		height: 30px;
		line-height: 30px;
		text-align: center;
		display: block;
	}
	.post-type-archive-event .pagination ul li a:hover{
		color: #fff;
		background: #a08274;
		opacity: 1;
	}
	.post-type-archive-event .pagination ul li a.next,
	.post-type-archive-event .pagination ul li a.prev{
		font-size: 16px;
		color: #333;
		border:  none;
		width: 40px;
		height: 40px;
		line-height: 40px;
		text-align: center;
		display: block;
		text-decoration: underline;
	}
	.post-type-archive-event .pagination ul li a.next:hover,
	.post-type-archive-event .pagination ul li a.prev:hover{
		text-decoration: none;
		background: none;
	}
	.post-type-archive-event .pagination ul li a.next{
		margin-left: 5px;
	}
	.post-type-archive-event .pagination ul li a.prev{
		margin-right: 5px;
	}
}


/*------------------------------------------------
 タクソノミー一覧ページ
--------------------------------------------------*/
.tax-event-cat .entry-header{
	display: none;
}
.tax-event-cat .entry-header.disp{
	display: block;
}
.tax-event-cat .event_block .inner ul{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 1160px;
	margin: 0 auto 60px;
}
.tax-event-cat .event_block .inner ul li{
	list-style: none;
	width: 255px;
	margin-bottom: 30px;
	margin-right: 25px;
}
.tax-event-cat .event_block .inner ul li a .thumbnail{
	overflow: hidden;
	height: 200px;
}
.tax-event-cat .event_block .inner ul li a .thumbnail img{
	width: 100%;
	height: 200px;
	object-fit: cover;
	object-position: top;
	transition: 1s;
}
.tax-event-cat .event_block .inner ul li a:hover{
	opacity: 1;
}
.tax-event-cat .event_block .inner ul li a:hover .thumbnail img{
	transform: scale(1.1, 1.1);
}
.tax-event-cat .event_block .inner ul li a .category{
	display: inline-block;
	min-width: 80px;
	border-radius: 100px;
	background: #c9a649;
	color: #fff;
	text-align: center;
	padding: 3px 10px;
	margin: 8px 0;
	font-size: 13px;
}
.tax-event-cat .event_block .inner ul li a .category.event{
	background: #00a051;
}
.tax-event-cat .event_block .inner ul li a .title{
	font-size: 15px;
	letter-spacing: 0.1em;
	min-height: 40px;
    font-weight: bold;
    line-height: 1.4;
}
.tax-event-cat .event_block .inner ul li a:hover .title{
	text-decoration: underline;
}
.tax-event-cat .event_block .inner ul li a .date{
	color: #939393;
	font-size: 14px;
	text-align: right;
	letter-spacing: 0.1em;
	margin-top: 3px;
}
.tax-event-cat .pagination ul{
	display: flex;
	justify-content: center;
	min-width: 150px;
	max-width: 500px;
	margin: auto;
	align-items: center;
	padding: 0;
}
.tax-event-cat .pagination ul li{
	list-style: none;
	font-size: 16px;
}
.tax-event-cat .pagination ul li:not(:last-of-type){
	padding-right: 10px;
}
.tax-event-cat .pagination ul li .current{
	font-size: 16px;
	color: #fff;
	background:  #a08274;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: block;
}
.tax-event-cat .pagination ul li a{
	font-size: 16px;
	color: #a08274;
	border:  1px solid #a08274;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: block;
}
.tax-event-cat .pagination ul li a:hover{
	color: #fff;
	background: #a08274;
	opacity: 1;
}
.tax-event-cat .pagination ul li a.next,
.tax-event-cat .pagination ul li a.prev{
	font-size: 16px;
	color: #333;
	border:  none;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: block;
	text-decoration: underline;
}
.tax-event-cat .pagination ul li a.next:hover,
.tax-event-cat .pagination ul li a.prev:hover{
	text-decoration: none;
	background: none;
}
.tax-event-cat .pagination ul li a.next{
	margin-left: 10px;
}
.tax-event-cat .pagination ul li a.prev{
	margin-right: 10px;
}

@media screen and (max-width: 991px) {
	.tax-event-cat .event_block .inner ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
		margin: 0 auto 20px;
		padding: 0;
	}
	.tax-event-cat .event_block .inner ul li{
		list-style: none;
		width: 47%;
		margin-bottom: 30px;
		margin-right: 0;
	}
	.tax-event-cat .event_block .inner ul li a .thumbnail{
		overflow: hidden;
		height: 140px;
	}
	.tax-event-cat .event_block .inner ul li a .thumbnail img{
		width: 100%;
		height: 140px;
		object-fit: cover;
		object-position: top;
		transition: 1s;
	}
	.tax-event-cat .event_block .inner ul li a:hover{
		opacity: 1;
	}
	.tax-event-cat .event_block .inner ul li a:hover .thumbnail img{
		transform: scale(1.1, 1.1);
	}
	.tax-event-cat .event_block .inner ul li a .category{
		display: inline-block;
		min-width: 80px;
		border-radius: 100px;
		background: #c9a649;
		color: #fff;
		text-align: center;
		padding: 3px 10px 5px;
		margin: 8px 0;
		font-size: 13px;
	}
	.tax-event-cat .event_block .inner ul li a .category.event{
		background: #00a051;
	}
	.tax-event-cat .event_block .inner ul li a .title{
		font-size: 15px;
		letter-spacing: 0.1em;
		min-height: auto;
	}
	.tax-event-cat .event_block .inner ul li a:hover .title{
		text-decoration: underline;
	}
	.tax-event-cat .event_block .inner ul li a .date{
		color: #939393;
		font-size: 14px;
		text-align: right;
		letter-spacing: 0.1em;
		margin-top: 3px;
	}
	.tax-event-cat .pagination ul{
		display: flex;
		justify-content: center;
		min-width: 150px;
		max-width: 500px;
		margin: auto;
		align-items: center;
		padding: 0;
	}
	.tax-event-cat .pagination ul li{
		list-style: none;
		font-size: 16px;
	}
	.tax-event-cat .pagination ul li:not(:last-of-type){
		padding-right: 10px;
	}
	.tax-event-cat .pagination ul li .current{
		font-size: 16px;
		color: #fff;
		background:  #a08274;
		width: 30px;
		height: 30px;
		line-height: 30px;
		text-align: center;
		display: block;
	}
	.tax-event-cat .pagination ul li a{
		font-size: 16px;
		color: #a08274;
		border:  1px solid #a08274;
		width: 30px;
		height: 30px;
		line-height: 30px;
		text-align: center;
		display: block;
	}
	.tax-event-cat .pagination ul li a:hover{
		color: #fff;
		background: #a08274;
		opacity: 1;
	}
	.tax-event-cat .pagination ul li a.next,
	.tax-event-cat .pagination ul li a.prev{
		font-size: 16px;
		color: #333;
		border:  none;
		width: 40px;
		height: 40px;
		line-height: 40px;
		text-align: center;
		display: block;
		text-decoration: underline;
	}
	.tax-event-cat .pagination ul li a.next:hover,
	.tax-event-cat .pagination ul li a.prev:hover{
		text-decoration: none;
		background: none;
	}
	.tax-event-cat .pagination ul li a.next{
		margin-left: 5px;
	}
	.tax-event-cat .pagination ul li a.prev{
		margin-right: 5px;
	}

}

/* 見学会 */
.tourBox {
  position: relative;
  width: 960px;
  background: #fcf4e5;
  padding: 45px 40px 40px 40px;
  margin: 120px auto 80px;
}

@media screen and (max-width: 991px) {
  .tourBox {
    width: 90%;
    padding: 35px 20px;
    margin: 50px auto 50px;
  }
}

.tourBox-ttl {
  position: absolute;
  left: 0;
  right: 0;
  top: -0.5em;
  letter-spacing: 0.1em;
  font-size: 2.8rem;
  font-weight: bold;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  text-align: center;
  color: #c10403;
  text-shadow: -1px -1px 4px #fff, -1px 0 4px #fff, -1px 1px 4px #fff, 0 -1px 4px #fff, 0 1px 4px #fff,
 1px -1px 4px #fff, 1px 0 4px #fff, 1px 1px 4px #fff, -1px -1px 4px #fff, -1px 0 4px #fff, -1px 1px 4px #fff,
 0 -1px 4px #fff, 0 1px 4px #fff, 1px -1px 4px #fff, 1px 0 4px #fff, 1px 1px 4px #fff;
}

@media screen and (max-width: 991px) {
  .tourBox-ttl {
    font-size: 2.6rem;
  }
}

.tourBox-lead {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}

@media screen and (max-width: 991px) {
  .tourBox-lead {
    margin-bottom: 20px;
  }
}

.tourBox-lead > div {
  position: relative;
  padding-left: 70px;
  font-size: 1.7rem;
}

@media screen and (max-width: 991px) {
  .tourBox-lead > div {
    padding-left: 60px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

.tourBox-lead > div::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 55px;
  height: 58px;
  background: url(img/common/icon_bread.png) left center no-repeat;
  background-size: contain;
}

@media screen and (max-width: 991px) {
  .tourBox-lead > div::before {
    width: 45px;
    height: 48px;
  }
}

.tourBox-items {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 991px) {
  .tourBox-items {
    flex-wrap: wrap;
  }
}

.tourBox-items .item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tourBox-items .item dl {
  width: 100%;
  margin: 0;
}

.tourBox-items .item dl dt {
  font-size: 1.5rem;
  margin-bottom: 15px;
  text-align: center;
}

@media screen and (max-width: 991px) {
  .tourBox-items .item dl dt {
    margin-bottom: 10px;
    font-size: 1.4rem;
  }
}

.tourBox-items .item dl dd {
  padding: 0;
  margin: 0;
}

.tourBox-items .item dl dd a {
  background: #fb4044;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  padding: 15px 20px;
  position: relative;
  line-height: 1;
  width: 100%;
  max-width: 300px;
  border-radius: 50px;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-weight: bold;
  white-space: nowrap;
  color: #fff;
  text-align: center;
}

.tourBox-items .item dl dd a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 25px;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 991px) {
  .tourBox-items .item dl dd a::before {
    width: 10px;
    height: 10px;
  }
}

@media screen and (max-width: 991px) {
  .tourBox-items .item dl dd a {
    font-size: 1.8rem;
    max-width: 260px;
  }
}

@media screen and (min-width: 992px) {
  .tourBox-items .item dl dd a {
    transition: all 0.4s ease;
    -webkit-transition: all 0.4s ease;
  }
  .tourBox-items .item dl dd a:hover {
    opacity: 0.7;
  }
}

.tourBox-items .item dl dd a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 50%;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.2);
}

.tourBox-items .item.--reserve dl dd a {
  background: #e27356;
}

.tourBox-items .item.--request dl dd a {
  background: #c59a88;
}

@media screen and (min-width: 992px) {
  .tourBox-items .item {
    width: 48%;
    max-width: 300px;
  }
  .tourBox-items .item:nth-child(n + 3) {
    margin-top: 4%;
  }
  .tourBox-items .item:not(:last-child) {
    margin-right: 70px;
  }
}

@media screen and (max-width: 991px) {
  .tourBox-items .item {
    width: 100%;
  }
  .tourBox-items .item:not(:last-child) {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #d4a692;
  }
}

.tourBox-tel {
  display: flex;
  justify-content: center;
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px solid #d4a692;
}

@media screen and (max-width: 991px) {
  .tourBox-tel {
    border: none;
    padding-top: 0;
    flex-direction: column;
    margin-top: 25px;
  }
}

.tourBox-tel .item p {
  line-height: 1.8;
}

@media screen and (max-width: 991px) {
  .tourBox-tel .item p {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

.tourBox-tel .item p .t1 {
  font-weight: bold;
  color: #ed6b48;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}

.tourBox-tel .item p .t2 {
  font-weight: bold;
  color: #a36e58;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}

.tourBox-tel .item:not(:last-child) {
  margin: 0 50px 0 0;
}

@media screen and (max-width: 991px) {
  .tourBox-tel .item:not(:last-child) {
    margin: 0 0 10px 0;
  }
}

.tourBox-tel .tel-box {
  display: flex;
  align-items: flex-start;
}

@media screen and (max-width: 991px) {
  .tourBox-tel .tel-box {
    background: #fff;
    border-radius: 50px;
    justify-content: center;
    padding: 10px;
    max-width: 270px;
    width: 100%;
    margin: auto;
    border: 1px solid #c59a88;
  }
}

.tourBox-tel .tel-box img {
  display: block;
  width: 30px;
  margin-right: 10px;
  margin-top: 0.2em;
}

@media screen and (max-width: 991px) {
  .tourBox-tel .tel-box img {
    width: 25px;
    margin-top: 0.1em;
    margin-right: 8px;
  }
}

.tourBox-tel .tel-box > div > span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",
 sans-serif;
  font-size: 2.6rem;
  display: block;
  line-height: 1;
}

@media screen and (max-width: 991px) {
  .tourBox-tel .tel-box > div > span {
    font-size: 2rem;
    letter-spacing: -0.01em;
  }
}

.tourBox-tel .tel-box > div > span:nth-child(1) {
  letter-spacing: 0.05em;
  font-weight: bold;
  padding-right: 0.3em;
}

.tourBox-tel .tel-box > div > span:nth-child(2) {
  font-size: 1.5rem;
  margin-top: 8px;
  text-align: right;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 991px) {
  .tourBox-tel .tel-box > div > span:nth-child(2) {
    font-size: 1.3rem;
    margin-top: 5px;
    text-align: left;
  }
}

@media screen and (max-width: 929px) {
  .form-link-area {
    display: none !important;
  }
}

.sp-fixnav {
  opacity: 0;
  position: fixed;
  bottom: 0;
  left: 0;
  background: #b9aba6;
  height: 90px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.sp-fixnav.fixed {
  opacity: 1;
}

.sp-fixnav p {
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 12px;
  position: relative;
  padding-left: 30px;
}

.sp-fixnav p::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  margin: auto;
  width: 18px;
  height: 22px;
  background: url(img/common/icon_foot_arrow.png) left center no-repeat;
  background-size: contain;
}

.sp-fixnav ul {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 95%;
}

.sp-fixnav ul li {
  width: 32.5%;
  list-style: none;
}

.sp-fixnav ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  font-size: 1.4rem;
  line-height: 1;
  padding: 8px 10px 10px;
  letter-spacing: 0.1em;
  margin: auto;
  width: 100%;
  font-weight: bold;
  text-align: center;
}

.sp-fixnav-reserve {
  background: #f37c5d;
  border: 1px solid #fff;
  color: #fff;
}

.sp-fixnav-request {
  background: #d29f8a;
  border: 1px solid #fff;
  color: #fff;
}

.sp-fixnav-tel {
  background: #fff;
  border: 1px solid #fff;
  color: #aa7f6d;
}

.sp-fixnav-tel > span {
  position: relative;
  padding-left: 22px;
}

.sp-fixnav-tel > span::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 16px;
  height: 22px;
  background: url(img/common/icon_foot_tel.png) left center no-repeat;
  background-size: contain;
}


.campaign_block .cp-bread {
  margin: 10px 0 0;
}

@media screen and (max-width: 930px) {
  .top-lead {
    margin-top: -6.667vw;
  }
}

.top-lead p {
  padding: 0 0 0;
  text-align: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  color: #6d00a9;
  font-weight: bold;
  font-size: 3.2rem;
  line-height: 1.6;
  position: relative;
}

@media screen and (max-width: 930px) {
  .top-lead p {
    font-size: 2.4rem;
    padding: 20px 0 0;
    line-height: 1.6;
  }
}

.top-lead p::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url(img/top_page/bg_top_lead.png) left top no-repeat;
  background-size: contain;
  width: 1045px;
  height: 241px;
  z-index: -1;
}

@media screen and (max-width: 930px) {
  .top-lead p::after {
    background-image: url(img/top_page/bg_top_lead_sp.png);
    background-size: cover;
    width: 100%;
    height: auto;
  }
}

.top-lead p > b {
  font-size: 4.4rem;
}

@media screen and (max-width: 930px) {
  .top-lead p > b {
    font-size: 3rem;
  }
}

.top-lead p > b > span {
  font-size: 3.8rem;
}

@media screen and (max-width: 930px) {
  .top-lead p > b > span {
    font-size: 2.6rem;
  }
}

.top-lead + .video-block {
  margin-top: -15px;
}

.video-block + .tourBox {
  margin: 20px auto 60px;
}

@media screen and (max-width: 991px) {
  .video-block + .tourBox {
    margin: 20px auto;
  }
}

.top-gmap {
  width: 960px;
  margin: 0 auto 60px;
}

@media screen and (max-width: 991px) {
  .top-gmap {
    width: 90%;
    margin: 0 auto 30px;
  }
}

@media screen and (max-width: 991px) {
  .top-gmap .gmap {
    width: 100%;
    height: 250px;
  }
}

.top-gmap iframe {
  border: none;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 991px) {
  .top-gmap iframe {
    height: 100%;
  }
}

.top-gmap p {
  margin-top: 15px;
  color: #eb522a;
  border: 1px solid #eb522a;
  text-align: center;
  padding: 10px;
  font-weight: bold;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1.6;
}

@media screen and (max-width: 991px) {
  .top-gmap p {
    font-size: 3.750vw;
    margin-top: 10px;
    padding: 5px;
  }
}

p .red {
  color: #ac0d0d;
  font-weight: bold;
}


.map-flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (min-width: 992px) {
  .map-flex .item {
    width: 49%;
  }
}

@media screen and (max-width: 991px) {
  .map-flex .item {
    width: 100%;
  }
  .map-flex .item:not(:last-child) {
    margin-bottom: 20px;
  }
}

.map-flex .gmap {
  height: 100%;
}

@media screen and (max-width: 991px) {
  .map-flex .gmap {
    height: 260px;
  }
}

.map-flex .map-container {
  margin: 0;
  height: 100%;
  padding-top: 83.33333333333333%;
}

@media screen and (max-width: 991px) {
  .map-flex .map-container {
    padding-top: 0;
    height: 260px;
  }
}

.access .map-flex {
  height: 100%;
  margin: 0 0 1em;
}

@media screen and (max-width: 991px) {
  .access .map-flex {
    margin: 0 0 5px;
  }
}

.kansai_link{
	background: #fffdf4;
	text-align: center;
	padding-top: 60px;
}
.kansai_link img{
	margin: 0 auto;
	margin-bottom: 60px;
}
.kansai_link p{
	margin-bottom: 10px;
	text-align: center;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
    color: #412d1d;
    font-weight: bold;
    font-size: 3.2rem;
    line-height: 1.8;
    position: relative;
    padding: 0px;
}



@media screen and (max-width: 991px) {
.kansai_link{
	background: #fffdf4;
	text-align: center;
	padding-top: 30px;
	padding-bottom: 30px;		
	margin-bottom: 40px;
}
.kansai_link p{
    font-size: 2.2rem;
    line-height: 1.5;
}
	.kansai_link img{
	width: 90%;
	margin: 0 auto;
	text-align: center;
}
}

.top-lead .txt_top {
    font-size: 2.5rem;
    font-weight: bold;
    width: 100%;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.1em;
    line-height: 2.0;
    margin-top: 15px;
	color: #333333;
}
.top-lead .txt_top span{
	color: #c10403;
}

@media screen and (max-width: 991px) {
	.top-lead .txt_top {
    font-size: 2.0rem;
    width: 100%;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-top: 2px;
	color: #333333;
}
	}