@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&family=Shippori+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond&display=swap");

/* Reset
--------------------------------------------------------------　*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ins {
  background-color: rgb(185, 217, 146);
  color: #333;
  text-decoration: none;
}
mark {
  background-color: rgb(185, 217, 146);
  color: #333;
  font-style: italic;
  font-weight: 700;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
ol,
ul {
  list-style: none;
}

/* 印刷対応
--------------------------------------------------------------　*/
@media print {
* {
  background: transparent !important;
  color: black !important;
  text-shadow: none !important;
  -webkit-filter: none !important;
  filter: none !important;
  -ms-filter: none !important;
}
a,
a:visited {
  color: #444 !important;
  text-decoration: underline;
}
a:after,
a:visited:after {
  content: " (" attr(href) ")";
}
a abbr[title]:after,
a:visited 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;
}
.sidebar,
.page-navigation,
.wp-prev-next,
.respond-form,
nav {
  display: none;
}
}

/* 読み込み時フェードイン
--------------------------------------------------------------　*/
body {
  opacity: 0;
  animation: anime 1.2s;
  animation-fill-mode: forwards;
}
@media print, screen and (min-width: 768px) {
body {
  overflow-x: hidden !important;
  overflow-y: scroll;
}
}
@keyframes anime {
0% {
  opacity: 0;
}
100% {
  opacity: 1;
}
}
.blur {
opacity: 0;
animation-name: blurAnime;
animation-duration: 5s;
animation-fill-mode: both;
}
@keyframes blurAnime {
0% {
  opacity: 0;
}
80% {
  opacity: 0;
}
100% {
  opacity: 1;
}
}
@keyframes pathmove {
0% {
  height: 0;
  top: 0;
  opacity: 0;
}
30% {
  height: 100px;
  opacity: 1;
}
100% {
  height: 0;
  top: 130px;
  opacity: 0;
}
}
@media print, screen and (max-width: 767.9px) {
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 35px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 65px;
    opacity: 0;
  }
}
}
.fadeIn_content {
opacity: 0;
transition: all 1.2s;
}
.fadeIn_content.fadein {
opacity: 1;
transform: translate(0, 0) !important;
}
@keyframes fadeInDown {
0% {
  opacity: 0;
  transform: translateY(30px);
}
80% {
  opacity: 1;
}
100% {
  opacity: 1;
  transform: translateY(0);
}
}
@keyframes fadeleft {
from {
  opacity: 0;
  transform: translateX(150px);
}
to {
  opacity: 1;
  transform: translateX(0);
}
}
@keyframes bg {
0% {
  transform: translate(0, 0);
  opacity: 1;
}
25% {
  transform: scale(1.05) translate(-10px, 5px);
  opacity: 0.5;
}
50% {
  transform: scale(1.1) translate(-5px, 0);
  opacity: 1;
}
75% {
  transform: scale(1.05) translate(-10px, 5px);
  opacity: 0.7;
}
100% {
  transform: translate(0, 0);
  opacity: 1;
}
}
@keyframes bg2 {
0% {
  transform: translate(0, 0);
  opacity: 1;
}
25% {
  transform: scale(1) translate(-10px, 0);
  opacity: 0.5;
}
50% {
  transform: scale(1) translate(-5px, 0);
  opacity: 1;
}
75% {
  transform: scale(1) translate(-10px, 0);
  opacity: 0.7;
}
100% {
  transform: translate(1, 0);
  opacity: 1;
}
}
@keyframes bg3 {
0% {
  transform: translate(0, 0);
  opacity: 1;
}
25% {
  transform: scale(1) translate(0, 10px);
  opacity: 0.5;
}
50% {
  transform: scale(1) translate(0, 0);
  opacity: 1;
}
75% {
  transform: scale(1) translate(0, 10px);
  opacity: 0.7;
}
100% {
  transform: translate(0, 1);
  opacity: 1;
}
}
@keyframes bg4 {
0% {
  transform: translate(0, 0);
  opacity: 1;
}
25% {
  transform: scale(1) translate(0, -10px);
  opacity: 0.5;
}
50% {
  transform: scale(1) translate(0, 0);
  opacity: 1;
}
75% {
  transform: scale(1) translate(0, -10px);
  opacity: 0.7;
}
100% {
  transform: translate(0, 1);
  opacity: 1;
}
}
/* original common
--------------------------------------------------------------　*/
@media print, screen and (max-width: 1920px) {
html {
  max-width: 1920px !important;
}
}
body {
  background: #f7f7f9;
  font-size: 17px;
  color: #333;
  line-height: 1.5;
  letter-spacing: 2px;
  word-break: break-all;
  font-family: "Noto Serif JP", serif;
  /*background: #333;*/
}
@media print, screen and (max-width: 1920px) {
body {
  max-width: 1920px !important;
}
}
.content {
  overflow: hidden !important;
  max-width: 1920px !important;
}
@media only screen and (max-width: 767.9px) {
html {
  max-width: 767px !important;
  width: 100% !important;
  overflow-x: hidden;
}
body {
  overflow-x: hidden;
  width: 100%;
  position: relative;
  opacity: 1 !important;
  animation: none;
  font-size: 14px;
  -webkit-text-size-adjust: 100%;
}
.content {
  max-width: 767px !important;
  width: 100% !important;
}
}

h2,
h3,
main.top h4 {
  font-family: "Shippori Mincho", serif;
  font-weight: normal;
}
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
  font-weight: normal;
  font-family: "Shippori Mincho", serif;
}
#main {
  line-height: 1.7;
  letter-spacing: 1px;
}
header,
#site_navigation,
#mainvisualarea,
#breadcrumb,
#pagetitlearea,
#content,
footer {
  width: 100%;
}
a {
  color: #333;
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
a:hover {
  outline: 0;
  opacity: 0.7;
  transition: opacity 0.2s ease-out;
}
a img {
  border: 0;
}
a img:hover,
a img:active {
  outline: 0;
  opacity: 0.7;
  transition: opacity 0.2s ease-out;
}
}
img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.display-none {
  display: none;
}
.bx-wrapper .bx-viewport {
  border: none;
  box-shadow: none;
}
.bx-wrapper {
  box-shadow: none !important;
  background: none !important;
  border: none !important;
  margin-bottom: 0 !important;
}
.clear:after {
  display: block;
  content: "";
  clear: both;
  overflow: hidden;
}
.switch {
  visibility: hidden;
}
@media only screen and (max-width: 767.9px) {
.spview,
.sp_taview,
.sp_pcview {
  display: block;
}
.taview,
.ta_pcview,
.pcview {
  display: none;
}
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
.sp_taview,
.taview,
.ta_pcview {
  display: block;
}
.spview,
.sp_pcview,
.pcview {
  display: none;
}
}
@media print, screen and (min-width: 961px) {
.sp_pcview,
.ta_pcview,
.pcview {
  display: block;
}
.spview,
.sp_taview,
.taview {
  display: none;
}
}
.mainwrap,
.widewrap {
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
.mainwrap {
  max-width: 95%;
}
}
@media print, screen and (min-width: 1025px) and (max-width: 1280px) {
.mainwrap {
  max-width: 82%;
}
}
@media print, screen and (min-width: 1281px) and (max-width: 1380px){
.mainwrap {
  max-width: 1100px;
}
}
@media print, screen and (min-width: 1381px) {
.mainwrap {
  max-width: 88%;
}
}
@media print, screen and (min-width: 1781px) {
.mainwrap {
  max-width: 90%;
}
}
@media print, screen and (min-width: 768px) and (max-width: 1660px) {
/*.widewrap {
  max-width: 95%;
}*/
}
@media print, screen and (min-width: 1661px) {
.widewrap {
  max-width: 1620px;
}
}

@media only screen and (max-width: 767.9px) {
  .c_inner {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .c_inner {
    padding-top: 85px;
    padding-bottom: 85px;
  }
}
@media only screen and (max-width: 767.9px) {
  .inner_sp {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.gmap {
  text-align: center;
}
.gmap iframe {
  cursor: pointer;
  pointer-events: none;
}
.gmap.on iframe {
  pointer-events: auto;
}
@media print, screen and (min-width: 768px) {
a.tel,
.tel a {
  pointer-events: none;
}
}
@media only screen and (max-width: 767.9px) {
.sp_w {
  overflow-x: scroll;
  white-space: nowrap;
}
.sp_w::-webkit-scrollbar {
  height: 10px;
}
.sp_w::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 5px;
}
.sp_w::-webkit-scrollbar-track-piece {
  background: #efefef;
}
}
.link_btn {
  margin-top: 40px;
  text-align: center;
}
.link_btn a {
  display: inline-block;
  max-width: 150px;
  font-size: 15px;
  padding: 0 25px 10px 0;
  border-bottom: 1px solid #a8a8a8;
  position: relative;
  letter-spacing: 1px;
  color: #8197b6;
}
.link_btn a:after {
  content: "";
  position: absolute;
  bottom: -7px;
  right: 2px;
  width: 13px;
  height: 13px;
  border-top: 1px solid #a8a8a8;
  transform: rotate(45deg);
}
.link_btn.plan_all a {
  margin: 60px auto 0;
  padding: 19px 10px;
}
@media print, screen and (min-width: 768px) {
.link_btn a {
  transition: 0.6s;
}
/*.link_btn a:hover {
  padding: 0 38px 10px 0;
}*/
}
@media print, screen and (max-width: 767.9px) {
  .link_btn {
    margin-top: 25px;
  }
  .ImgBox .link_btn {
    font-size: 14px;
  }
  .link_btn.plan_all a {
    max-width: 600px;
    width: 100%;
  }
  .link_btn a {
    font-size: 14px;
  }
}
@media print, screen and (min-width: 768px) {
  .link_btn.plan_all a {
    max-width: 460px;
  }
}
.link_btn_bk {
  font-size: 15px;
  text-align: center;
  margin: 70px auto 0;
}
@media print, screen and (max-width: 1024px) {
  .link_btn_bk {
    margin: 50px auto 0;
  }
  main.page .link_list ul li.link_btn_bk {
    margin: 0 2% 0 0;
}
}
.link_btn_bk a {
  display: inline-block;
  position: relative;
  background: #333;
  color: #fff;
  max-width: 280px;
  padding: 15px 60px;
  width: 100%;
  z-index: 1;
}
.link_btn_bk a:after {
  content: "";
  background: url(../images/common/btn_next.svg) no-repeat;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 25px;
  height: 8px;
}
main.page .link_btn_bk a:after {
  position: absolute;
  top: 23px;
}
@media print, screen and (min-width: 768px) {
.link_btn_bk a:after {
  transition: 0.6s;
}
.link_btn_bk a:hover:after {
  right: 7px;
}
}
.link_btn_bk a:hover {
  opacity: 0.95;
}
.pagetop {
  display: none;
  position: fixed;
  right: 20px;
  width: 70px;
  z-index: 4;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  /*transition: 0.6s;*/
}
.pagetop a {
  position: relative;
  display: block;
  padding: 25px 0 12px 3px;
  font-size: 12px;
  letter-spacing: 1px;
  font-family: Times New Roman;
  font-weight: 500;
  border-left: 1px solid #a8a8a8;
  color: #a8a8a8;
  transition: 0.6s;
}
.pagetop a:hover {
  padding: 38px 0 12px 3px;
}
.pagetop a:before {
  content: "";
  position: absolute;
  top: 2px;
  right: 15px;
  width: 13px;
  height: 13px;
  border-right: 1px solid #a8a8a8;
  transform: rotate(-45deg);
}
@media print, screen and (max-width: 767.9px) {
.pagetop {
  right: 5px;
}
.link_btn_bk {
  margin: 30px auto 0;
  font-size: 14px;
}
.link_btn_bk a {
  font-size: 14px;
}
}
.bg-fixed {
  height: 100%;
  overflow: hidden;
}
.att {
  text-align: center;
  font-size: 14px;
}
.page .att {
  text-align: left;
  font-size: 15px;
}
@media print, screen and (max-width: 767.9px) {
.page .att {
font-size: 13px;
}
}
@media print, screen and (max-width: 1024px) {
  .pagetop {
    bottom: 0;
  }
  .pagetop.psn {
    bottom: 55px;
  }
  .frsv_wrap {
    display: block;
  }
}
@media print, screen and (min-width: 1025px) {
  .pagetop {
    bottom: 0;
  }
  .frsv_wrap {
    display: none;
  }
}
/* -- breadcrumb --
--------------------------------------------------------------　*/
#breadcrumb ul {
  padding: 10px;
}
@media only screen and (max-width: 767.9px) {
  #breadcrumb ul {
    padding: 20px 10px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  #breadcrumb ul {
    padding-top: 20px;
  }
}
#breadcrumb ul li {
  font-size: 14px;
  display: inline-block;
}
#breadcrumb ul li:nth-child(even) {
  padding: 0 5px;
}
@media only screen and (max-width: 767.9px) {
  #breadcrumb ul li {
    font-size: 12px;
  }
}
@media print, screen and (max-width: 960px) {
  .lang_page .header_wrap .dp_lang p {
    width: 128px;
    text-align: center;
  }
}
#breadcrumb a {
  color: #8197b6;
}
.sp_frsv {
  display: none;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 3;
}
.sp_frsv ul {
  display: flex;
}
.sp_frsv li {
  width: 50%;
}
.sp_frsv a {
  display: inline-block;
  color: #fff;
  padding: 17px 0;
  width: 100%;
  z-index: 1;
  text-align: center;
}
.sp_fsrsv a {
  background: #867229;
}
.sp_fdrsv a {
  background: #604e0c;
}

/* page
--------------------------------------------------------------　*/
main.page {
  overflow: hidden;
  position: relative;
}
@media print, screen and (min-width: 768px) {
main.page {
  font-size: 17px;
}
}
main.page article {
  overflow: hidden;
}
main.page h2 {
  padding: 7px 0 20px;
  margin-bottom: 30px;
  border-bottom: 1px solid #d8e3e9;
  position: relative;
}
main.page h2:after {
  content: "";
  position: absolute;
  display: block;
  border-bottom: solid 1px #2970d1;
  bottom: -1px;
  width: 30%;
}
main.page h3 {
  padding: 7px 0 7px 40px;
  background: url(/wp/wp-content/themes/s-original/assets/images/common/icon_h3.svg) no-repeat 0 50%;
  margin-bottom: 30px;
  text-shadow: 0 0 #333;
}
@media print, screen and (max-width: 560px) {
main.page h2 {
  font-size: 23px;
  letter-spacing: 3px;
}
main.page h3 {
  font-size: 19px;
  /*font-weight: 600;*/
}
}
@media print, screen and (min-width: 561px) and (max-width: 960px) {
main.page h2 {
  font-size: 28px;
}
main.page h3 {
  font-size: 21px;
  /*font-weight: 600;*/
}
}
@media print, screen and (min-width: 961px) {
main.page h2 {
  font-size: 35px;
}
main.page h3 {
  font-size: 23px;
}
}
@media only screen and (max-width: 767.9px) {
main.page .p_20 {
  padding: 8px 0 7px 0;
}
}
@media print, screen and (min-width: 768px) {
main.page .p_20 {
  padding: 10px 0;
}
}
@media only screen and (max-width: 767.9px) {
main.page .p_50 {
  padding: 15px 0;
}
}
@media print, screen and (min-width: 768px) {
main.page .p_50 {
  padding: 25px 0;
}
}
@media only screen and (max-width: 767.9px) {
main.page .p_80 {
  padding: 25px 0;
}
}
@media print, screen and (min-width: 768px) {
main.page .p_80 {
  padding: 40px 0;
}
}
main.page .top_plan {
  background-color: #fff;
}
main.page .top_plan h2 {
  border: none;
  margin-bottom: 0;
  font-weight: 400;
}
main.page .ttl_access h3 {
  background-image: none;
}
main.page a {
  color: #8197b6;
}
main.page .link_btn_bk a {
  color: #fff;
  line-height: 1.5;
}

/* page background
--------------------------------------------------------------　*/
main.page:before {
  position: absolute;
  content: "";
  width: 457px;
  top: -60px;
  left: -2%;
  height: 375px;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg01.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 767.9px) {
main.page:before {
  width: 220px;
  top: -37px;
  left: 0;
  height: 145px;
}
}
section.column4.top022_bl:after {
  position: absolute;
  content: "";
  width: 50%;
  bottom: 0;
  left: -4%;
  height: 47%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg09.webp) no-repeat;
  background-size: contain;
}
.txt_imgarea .img_left02:before {
  position: absolute;
  content: "";
  width: 57%;
  top: -7%;
  left: 31%;
  height: 300%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg10.webp) no-repeat;
  background-size: contain;
}
.tbl_contents:after {
  position: absolute;
    content: "";
    width: 50%;
    top: 0;
    right: -100px;
    height: 150%;
    z-index: -1;
    animation: bg3 12s ease-in-out infinite;
    background: url(../images/common/bg08.webp) no-repeat;
    background-size: contain;
}
.reserve_box:after {
  position: absolute;
  content: "";
  width: 55%;
  top: 0%;
  left: -13%;
  height: 133%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg03.webp) no-repeat;
  background-size: contain;
}
main.page h2:before {
  position: absolute;
  content: "";
  width: 1000px;
  top: -88px;
  right: -100px;
  height: 1000px;
  z-index: -1;
  animation: bg3 12s ease-in-out infinite;
  background: url(../images/common/bg04.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 767.9px) {
main.page h2:before {
  width: 340px;
  top: -50px;
  right: -30px;
  height: 500px;
}
}
.txt_imgarea .img_top04:before {
  position: absolute;
  content: "";
  width: 38%;
  top: -219px;
  left: -4%;
  height: 631px;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg03.webp) no-repeat;
  background-size: contain;
}
.slide_thumb .long_img {
  background-image: url(../images/common/bg09.webp);
  background-repeat: no-repeat;
  background-position: 0 95%;
}
.img_left01 {
  position:relative;
}
.img_left01:before {
    position: absolute;
  content: "";
  width: 54%;
  top: -21%;
  right: 0;
  height: 150%;
  z-index: -1;
  animation: bg3 12s ease-in-out infinite;
  background: url(../images/common/bg01.webp) no-repeat;
  background-size: contain;
}
.img_right01 {
  position:relative;
}
.img_right01:before {
  position: absolute;
  content: "";
  width: 54%;
  top: -10%;
  left: 0;
  height: 150%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg01.webp) no-repeat;
  background-size: contain;
}
section.accordion:after {
  position: absolute;
  content: "";
  width: 70%;
  bottom: 0;
  left: -7%;
  height: 100%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg09.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 1380px) {
  section.accordion:after {
  width: 75%;
  bottom: 0;
  left: -12%;
}
}
@media print, screen and (max-width: 960px) {
section.accordion:after {
    width: 83%;
    left: -3%;
}
}
@media print, screen and (max-width: 767.9px) {
section.accordion:after {
    width: 89%;
    height: 58%;
}
}

/* page fadein
--------------------------------------------------------------　*/
@media print, screen and (min-width: 768px) {
.img_top022 > li .img_area {
  transform: translate(0, 50px);
}
.img_top022 > li:nth-of-type(even) .img_area.fadeIn_content.fadein {
  transition-delay: 200ms;
}
.img_top022 > li::nth-of-type(odd) .img_area.fadeIn_content.fadein {
  transition-delay: 500ms;
}
.img_top03 > li .img_area {
  transform: translate(0, 50px);
}
.img_top03 > li:nth-of-type(2) .img_area.fadeIn_content.fadein {
  transition-delay: 300ms;
}
.img_top03 > li:nth-of-type(3) .img_area.fadeIn_content.fadein {
  transition-delay: 600ms;
}
.img_top01 > li .img_area {
  transform: translate(0, 50px);
}
/*.img_left02 > li .img_area, .img_right02 > li .img_area {
  transform: translate(0, 50px);
}*/
.tbl_contents.somen_movie .tbl_flex > li:first-of-type {
  transform: translate(0, 0);
}
}
@media print, screen and (min-width: 1280px) {
.tbl_contents .tbl_flex > li:first-of-type {
  transform: translate(-50px, 0);
}
.tbl_contents.somen_step .tbl_flex > li:first-of-type {
  transform: translate(50px, 0);
}
.tbl_contents.irori_att .tbl_flex > li:first-of-type {
  transform: translate(50px, 0);
}
}
@media print, screen and (max-width: 1279px) and (min-width:768px) {
.tbl_contents .tbl_flex > li:first-of-type {
  transform: translate(0, 50px);
}
.tbl_contents.somen_step .tbl_flex > li:first-of-type {
  transform: translate(0, 50px);
}
.tbl_contents.irori_att .tbl_flex > li:first-of-type {
  transform: translate(0, 50px);
}
}


/* heading common
--------------------------------------------------------------　*/
main .top_h2 {
  text-align: center;
  margin-bottom: 40px;
  background-position: top center;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 560px) {
  main .top_h2 {
    margin-bottom: 25px;
  }
}
@media print, screen and (max-width: 960px) {
  main .top_h2 {
    background-size: 100px;
    padding-top: 40px;
  }
}
@media print, screen and (min-width: 961px) {
  main .top_h2 {
    background-size: 155px;
    padding-top: 55px;
  }
}
main .top_h2.wt {
  color: #fff;
}
main .top_h2 h2 {
  letter-spacing: 0.05em;
  display: inline-block;
}
@media only screen and (max-width: 960px) {
  main .top_h2 h2 {
    font-size: 30px;
  }
}
main .top_h2 h2.ios {
  display: block;
}
main .top_h2 p {
  color: #000;
}
@media print, screen and (min-width: 961px) {
  main .top_h2 p {
    font-size: 20px;
  }
}
main.page img {
}
.contact main.page .contact_msg p,
.error main.page .contact_msg p,
.complete main.page .contact_msg p,
.confirm main.page .contact_msg p {
  margin-bottom: 1em;
}
main.error {
  background-image: none;
}

/* page parts
--------------------------------------------------------------　*/
.txt_imgarea.top02_bl {
  background: url(../images/page/bg_blue.jpg) 0 0 no-repeat;
  background-size: cover;
}
.txt_imgarea.top02_bl .inner {
  background-image: url(../images/page/water_bg01-1.png), url(../images/page/water_bg01-2.png);
  background-repeat: no-repeat;
}
.txt_imgarea.top01_bl .inner {
  background-image: url(../images/common/bg09.webp);
  background-repeat: no-repeat;
  background-position: 0 95%;
}

@media print, screen and (max-width: 767.9px) {
  .txt_imgarea.top02_bl .inner {
    background-position: 0 95%, 100% 42%;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea.top02_bl .inner {
    background-position: 0 95%, 95% -50px;
  }
}
@media print, screen and (max-width: 1160px) {
  .txt_imgarea.top02_bl .inner {
    background-size: 235px, 300px;
  }
}
@media print, screen and (min-width: 961px) and (max-width: 1260px) {
  .txt_imgarea.left01_bl:before {
    top: -100px;
    width: 625px;
    height: 353px;
  }
}
@media print, screen and (min-width: 961px) and (max-width: 1260px) {
  .txt_imgarea.right01_bl:before {
    top: -80px;
    width: 625px;
    height: 353px;
  }
}
@media print, screen and (min-width: 1261px) {
  .txt_imgarea.left01_bl:before,
  .txt_imgarea.right01_bl:before {
    top: -88px;
    width: 894px;
    height: 505px;
  }
}
@media only screen and (max-width: 960px) {
  .txt_imgarea.top01_bl .inner,
  .txt_imgarea.top02_bl .inner,
  .txt_imgarea.left01_bl .inner,
  .txt_imgarea.right01_bl .inner {
    padding: 50px 0;
  }
  .txt_imgarea .img_left01 > li .img_area,
  .txt_imgarea .img_right01 > li .img_area,
  .slidethumb_txt .img_left01 > li .img_area,
  .slidethumb_txt .img_right01 > li .img_area {
    text-align: center;
    margin-bottom: 20px;
  }
  .txt_imgarea.left01_bl,
  .txt_imgarea.right01_bl {
    background: url(../images/common/bg08.webp) 95% 95% no-repeat;
    background-size: 100% auto;
  }
}
@media print, screen and (min-width: 961px) {
  .txt_imgarea.top01_bl .inner,
  .txt_imgarea.top02_bl .inner,
  .txt_imgarea.left01_bl .inner,
  .txt_imgarea.right01_bl .inner {
    padding: 80px 0;
  }
  .txt_imgarea.left01_bl,
  .txt_imgarea.right01_bl {
    position: relative;
    z-index: 1;
  }
  .txt_imgarea.left01_bl:before,
  .txt_imgarea.right01_bl:before {
    content: "";
    position: absolute;
    right: 0;
    background: url(../images/common/bg08.webp) 0 0 no-repeat;
    background-size: cover;
    z-index: -1;
  }
  .txt_imgarea.right01_bl:before {
    right: unset;
    left: 0;
    background: url(../images/common/bg08.webp) 0 0 no-repeat;
    background-size: cover;
    transform: scale(-1, 1);
  }
  .txt_imgarea .img_left01 > li,
  .txt_imgarea .img_right01 > li,
  .slidethumb_txt .img_left01 > li,
  .slidethumb_txt .img_right01 > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 1025px) {
.txt_imgarea.left01_bl .inner, .txt_imgarea.right01_bl .inner {
  padding: 80px 100px 80px 0;
}
}
@media print, screen and (max-width: 960px) {
  .slidethumb_txt .img_left01,
  .slidethumb_txt .img_right01 {
    max-width: 750px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .txt_imgarea .img_left01 > li,
  .txt_imgarea .img_right01 > li,
  .slidethumb_txt .img_left01 > li,
  .slidethumb_txt .img_right01 > li {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.txt_imgarea .img_left01 > li:not(:first-of-type),
.txt_imgarea .img_right01 > li:not(:first-of-type),
.slidethumb_txt .img_left01 > li:not(:first-of-type),
.slidethumb_txt .img_right01 > li:not(:first-of-type) {
  margin-top: 50px;
}
@media only screen and (max-width: 767.9px) {
  .txt_imgarea .img_left01 > li:not(:first-of-type),
  .txt_imgarea .img_right01 > li:not(:first-of-type),
  .slidethumb_txt .img_left01 > li:not(:first-of-type),
  .slidethumb_txt .img_right01 > li:not(:first-of-type) {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .txt_imgarea .img_left01 > li .img_area,
  .txt_imgarea .img_right01 > li .img_area,
  .slidethumb_txt .img_left01 > li .img_area,
  .slidethumb_txt .img_right01 > li .img_area {
    width: 100%;
    margin-bottom: 30px;
  }
  .txt_imgarea .img_left01 > li .txt_area,
  .txt_imgarea .img_right01 > li .txt_area {
    padding: 30px;
  }
}
@media print, screen and (min-width: 961px) {
  .slidethumb_txt .img_left01 > li .img_area,
  .slidethumb_txt .img_right01 > li .img_area {
    width: 50%;
  }
  .slidethumb_txt .img_left01 > li .txt_area,
  .slidethumb_txt .img_right01 > li .txt_area {
    width: 48%;
  }
  .txt_imgarea .img_left01 > li .img_area {
    width: 100%;
  }
  .txt_imgarea .img_right01 > li .img_area {
    width: 100%;
    text-align: right;
  }
  .txt_imgarea .img_left01 > li .txt_area,
  .txt_imgarea .img_right01 > li .txt_area {
    /*width: 32%;*/
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    padding: 0 6%;
  }
  .txt_imgarea .img_left01 > li .txt_area h4,
  .txt_imgarea .img_right01 > li .txt_area h4 {
    font-size: 30px;
    margin-left: 30px;
  }
  .txt_imgarea .img_left01 > li .txt_area .txt,
  .txt_imgarea .img_right01 > li .txt_area .txt {
    padding-top: 50px;
  }
  .txt_imgarea .img_left01 > li .txt_area .txt p,
  .txt_imgarea .img_right01 > li .txt_area .txt p {
    padding-left: 1em;
  }
}
@media print, screen and (min-width: 1281px) {
.txt_imgarea .img_right01 > li .txt_area {
  width: 32%;
  padding: 0 4%;
}
}
@media print, screen and (min-width: 961px) and (max-width:1781px) {
.slidethumb_txt .img_left01 > li .txt_area,
.slidethumb_txt .img_right01 > li .txt_area {
  width: 45%;
}
}
@media print, screen and (max-width: 1280px) and (min-width:1025px) {
.txt_imgarea.right01_bl .inner {
    padding: 80px 100px 80px 40px;
}
.txt_imgarea .img_right01 > li .txt_area {
  /*width: 37%;*/
  padding: 0 2%;
}
}
@media print, screen and (max-width: 1280px) and (min-width:1161px) {
.txt_imgarea .img_left01 > li .txt_area {
  padding: 0 2%;
}
}
@media print, screen and (max-width: 1160px) and (min-width:1025px) {
.txt_imgarea .img_left01 > li .txt_area {
  padding: 0 1%;
}
.txt_imgarea .img_left01 > li .txt_area h4, .txt_imgarea .img_right01 > li .txt_area h4 {
  margin-left: 15px;
}
}
@media print, screen and (max-width: 1024px) and (min-width:961px) {
  .txt_imgarea .img_left01 > li .txt_area, .txt_imgarea .img_right01 > li .txt_area {
    padding: 0 2%;
  }
  .txt_imgarea .img_right01 > li .txt_area {
    width: 39%;
}
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .txt_imgarea .img_left01 > li .txt_area,
  .txt_imgarea .img_right01 > li .txt_area,
  .slidethumb_txt .img_left01 > li .txt_area,
  .slidethumb_txt .img_right01 > li .txt_area {
    width: 100%;
  }
}
.txt_imgarea .img_left01 > li .txt_area,
.txt_imgarea .img_right01 > li .txt_area,
.slidethumb_txt .img_left01 > li .txt_area,
.slidethumb_txt .img_right01 > li .txt_area {
  line-height: 2;
}

.slidethumb_txt .img_left01 > li .txt_area h4,
.slidethumb_txt .img_right01 > li .txt_area h4 {
  font-size: 21px;
  margin-bottom: 20px;
  /*font-weight: 600;*/
  text-shadow: 0 0 #333;
}
@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .txt_imgarea .img_left01 > li .txt_area h4,
  .txt_imgarea .img_right01 > li .txt_area h4,
  .slidethumb_txt .img_left01 > li .txt_area h4,
  .slidethumb_txt .img_right01 > li .txt_area h4 {
    font-size: 21px;
  }
}

@media print, screen and (max-width: 560px) {
  .txt_imgarea .img_left01 > li .txt_area h4,
  .txt_imgarea .img_right01 > li .txt_area h4,
  .slidethumb_txt .img_left01 > li .txt_area h4,
  .slidethumb_txt .img_right01 > li .txt_area h4,
  .slide_thumb .txt_area h4 {
    font-size: 19px;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea .img_right01 > li,
  .txt_imgarea .img_right02 > li,
  .slidethumb_txt .img_right01 > li,
  .slidethumb_txt .img_right02 > li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
.txt_imgarea .img_left02,
.txt_imgarea .img_right02,
.slidethumb_txt .img_left02,
.slidethumb_txt .img_right02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 1621px) {
.txt_imgarea .img_left02 {
  min-height: 260px;
}
}
@media print, screen and (max-width: 1820px) and (min-width: 1621px) {
.txt_imgarea .img_left02 {
    max-width: 88%;
    margin: 0 auto;
}
}
@media print, screen and (max-width: 1620px) and (min-width: 1280px) {
  .txt_imgarea .img_left02 {
    max-width: 85%;
    margin: 0 auto;
}
}
@media print, screen and (max-width: 1279px) and (min-width: 1025px) {
  .txt_imgarea .img_left02 {
    max-width: 82%;
    margin: 0 auto;
}
}
/*@media print, screen and (min-width: 768px) {
.txt_imgarea .img_left02 {
    margin-bottom: 80px;
}
}
@media print, screen and (max-width: 767.9px) {
.txt_imgarea .img_left02 {
    padding-bottom: 10px;
}
}*/
@media only screen and (max-width: 960px) {
  .txt_imgarea .img_left02 > li .img_area,
  .txt_imgarea .img_right02 > li .img_area,
  .slidethumb_txt .img_left02 > li .img_area,
  .slidethumb_txt .img_right02 > li .img_area {
    text-align: center;
  }
  .txt_imgarea .img_left02 > li .txt_area,
  .txt_imgarea .img_right02 > li .txt_area {
    padding: 25px 15px;
  }
}
@media print, screen and (min-width: 961px) {
  .slidethumb_txt .img_left02 > li,
  .slidethumb_txt .img_right02 > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .txt_imgarea .img_left01 > li .txt_area,
  .txt_imgarea .img_right01 > li .txt_area,
  .txt_imgarea .img_left02 .txt_area,
  .txt_imgarea .img_right02 .txt_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .txt_imgarea .img_left01 > li .txt_area .link_url,
  .txt_imgarea .img_right01 > li .txt_area .link_url,
  .txt_imgarea .img_left02 .txt_area .link_url,
  .txt_imgarea .img_right02 .txt_area .link_url {
    margin-top: auto;
  }
  .txt_imgarea .img_left01 > li .txt_area .link_url a,
  .txt_imgarea .img_right01 > li .txt_area .link_url a,
  .txt_imgarea .img_left02 .txt_area .link_url a,
  .txt_imgarea .img_right02 .txt_area .link_url a {
    margin-top: 20px;
  }
}
@media print, screen and (max-width: 560px) {
  .txt_imgarea .img_left02 > li,
  .txt_imgarea .img_right02 > li,
  .slidethumb_txt .img_left02 > li,
  .slidethumb_txt .img_right02 > li {
    width: 49%;
  }
  .txt_imgarea .img_left02 > li:nth-child(even),
  .txt_imgarea .img_right02 > li:nth-child(even),
  .slidethumb_txt .img_left02 > li:nth-child(even),
  .slidethumb_txt .img_right02 > li:nth-child(even) {
    margin-left: 2%;
  }
  .txt_imgarea .img_left02 > li:nth-child(n + 3),
  .txt_imgarea .img_right02 > li:nth-child(n + 3),
  .slidethumb_txt .img_left02 > li:nth-child(n + 3),
  .slidethumb_txt .img_right02 > li:nth-child(n + 3) {
    margin-top: 2%;
  }
}
@media print, screen and (min-width: 561px) {
  .txt_imgarea .img_left02 > li,
  .txt_imgarea .img_right02 > li,
  .slidethumb_txt .img_left02 > li,
  .slidethumb_txt .img_right02 > li {
    width: 48%;
    position: relative;
  }
  .txt_imgarea .img_left02 > li:nth-child(even),
  .txt_imgarea .img_right02 > li:nth-child(even),
  .slidethumb_txt .img_left02 > li:nth-child(even),
  .slidethumb_txt .img_right02 > li:nth-child(even) {
    margin-left: 4%;
  }
  .txt_imgarea .img_left02 > li:nth-child(n + 3),
  .txt_imgarea .img_right02 > li:nth-child(n + 3),
  .slidethumb_txt .img_left02 > li:nth-child(n + 3),
  .slidethumb_txt .img_right02 > li:nth-child(n + 3) {
    margin-top: 2%;
  }
}
@media print, screen and (min-width: 961px) {
  .slidethumb_txt .img_left02 > li .img_area,
  .slidethumb_txt .img_left02 > li .txt_area,
  .slidethumb_txt .img_right02 > li .img_area,
  .slidethumb_txt .img_right02 > li .txt_area {
    width: 48%;
  }
}
@media print, screen and (min-width: 1281px) {
  .txt_imgarea .img_left02 > li .txt_area,
  .txt_imgarea .img_right02 > li .txt_area {
    width: 53%;
    margin-top: 50px;
  }
  .txt_imgarea .img_left02 > li .txt_area {
    margin-left: auto;
    padding: 30px 30px 35px 55px;
  }
  .txt_imgarea .img_left02 > li .img_area,
  .txt_imgarea .img_right02 > li .img_area {
    width: 50%;
    position: absolute;
    top: 0;
  }
  .txt_imgarea .img_right02 > li .img_area {
    right: 0;
  }
  .txt_imgarea .img_right02 > li .txt_area {
    padding: 30px 55px 35px 30px;
  }
}
@media print, screen and (max-width: 1280px) and (min-width: 961px) {
.txt_imgarea .img_left02 > li .txt_area, .txt_imgarea .img_right02 > li .txt_area {
  padding: 35px 25px;
}
}
@media only screen and (max-width: 767.9px) {
  .txt_imgarea .img_left02 > li,
  .txt_imgarea .img_right02 > li,
  .slidethumb_txt .img_left02 > li,
  .slidethumb_txt .img_right02 > li {
    margin-bottom: 30px;
  }
.txt_imgarea.left01_bl .inner_sp,
.txt_imgarea.right01_bl .inner_sp {
    padding-left: 0;
    padding-right: 0;
}
.txt_imgarea.top01_bl .inner_sp,
.txt_imgarea.left01_bl .inner_sp,
.txt_imgarea.right01_bl .inner_sp {
    padding-left: 0;
    padding-right: 0;
}
.txt_imgarea .img_top01 > li .txt_area,
.txt_imgarea .img_left01 > li .txt_area,
.txt_imgarea .img_right01 > li .txt_area {
    padding-left: 15px;
    padding-right: 15px;
}
.slidethumb_txt .img_left01 > li .img_area.inner_sp,
.slidethumb_txt .img_right01 > li .img_area.inner_sp {
    padding-left: 0;
    padding-right: 0;
}
}
.txt_imgarea .img_left02 > li .txt_area,
.txt_imgarea .img_right02 > li .txt_area {
  background-color: #fff;
}
.txt_imgarea .img_left02 > li .txt_area,
.txt_imgarea .img_right02 > li .txt_area {
  line-height: 1.8;
}
.txt_imgarea .img_left02 > li h4,
.txt_imgarea .img_right02 > li h4 {
  font-size: 27px;
  /*font-weight: 600;*/
  text-shadow: 0 0 #333;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
}
.txt_imgarea .img_left02 > li h4:before,
.txt_imgarea .img_right02 > li h4:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #d8e3e9;
  width: 50px;
  height: 1px;
}
.txt_imgarea .img_left02 > li h4:after,
.txt_imgarea .img_right02 > li h4:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #2970d1;
  width: 15px;
  height: 1px;
}
@media print, screen and (min-width: 1280px) {
.txt_imgarea .img_top03 > li .txt_area h4 {
  font-size: 27px;
}
}
@media print, screen and (max-width: 1279px) {
.txt_imgarea .img_left02 > li h4, .txt_imgarea .img_right02 > li h4 {
  font-size: 21px;
}
.txt_imgarea .img_top03 > li .txt_area h4 {
  font-size: 21px;
}
}
@media print, screen and (min-width: 1281px) {
  .txt_imgarea .img_left02 > li .txt_area, .txt_imgarea .img_right02 > li .txt_area {
      font-size: 15px;
  }
  }
@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .txt_imgarea .img_left02 > li h4,
  .txt_imgarea .img_right02 > li h4,
  .slidethumb_txt .img_left02 > li .txt_area h4,
  .slidethumb_txt .img_right02 > li .txt_area h4 {
    font-size: 21px;
  }
}
@media print, screen and (min-width: 768px) {
.txt_imgarea.bg3 .img_top03 > li .img_area {
  margin-bottom: 45px;
}
}
@media print, screen and (max-width: 560px) {
  .txt_imgarea .img_left02 > li h4,
  .txt_imgarea .img_right02 > li h4,
  .slidethumb_txt .img_left02 > li .txt_area h4,
  .slidethumb_txt .img_right02 > li .txt_area h4,
  .txt_imgarea.bg3 .img_top03 > li .txt_area h4 {
    font-size: 19px;
  }
.txt_imgarea .img_left02,
.txt_imgarea .img_right02,
.slidethumb_txt .img_left02,
.slidethumb_txt .img_right02 {
    flex-direction: column;
}
.txt_imgarea .img_left02 > li,
.txt_imgarea .img_right02 > li,
.slidethumb_txt .img_left02 > li,
.slidethumb_txt .img_right02 > li {
    width: 100%;
}
.txt_imgarea .img_left02 > li:nth-child(even),
.txt_imgarea .img_right02 > li:nth-child(even),
.slidethumb_txt .img_left02 > li:nth-child(even),
.slidethumb_txt .img_right02 > li:nth-child(even) {
    margin-left: 0;
}
.txt_imgarea .img_left02 > li:nth-child(even) {
    margin-bottom: 30px;
}
.txt_imgarea .img_left02 > li,
.txt_imgarea .img_right02 > li,
.slidethumb_txt .img_left02 > li,
.slidethumb_txt .img_right02 > li {
    margin-bottom: 40px;
}
}
.txt_imgarea .img_top01 > li .img_area,
.slidethumb_txt .img_top01 > li .img_area {
  margin-bottom: 50px;
  text-align: center;
}
.txt_imgarea .img_top02 > li .img_area,
.txt_imgarea .img_top022 > li .img_area,
.txt_imgarea .img_top03 > li .img_area,
.txt_imgarea .img_top04 > li .img_area,
.slidethumb_txt .img_top02 > li .img_area,
.slidethumb_txt .img_top022 > li .img_area,
.slidethumb_txt .img_top03 > li .img_area,
.slidethumb_txt .img_top04 > li .img_area {
  margin-bottom: 20px;
  text-align: center;
}
.txt_imgarea .img_top01 > li .txt_area h4,
.txt_imgarea .img_top02 > li .txt_area h4,
.txt_imgarea .img_top022 > li .txt_area h4,
.slidethumb_txt .img_top01 > li .txt_area h4,
.slidethumb_txt .img_top02 > li .txt_area h4,
.slidethumb_txt .img_top022 > li .txt_area h4,
.slidethumb_txt .img_top03 > li .txt_area h4 {
  font-size: 30px;
  font-weight: normal;
  margin-bottom: 30px;
}
.txt_imgarea .img_top02 > li .txt_area h4 {
  padding-left: 40px;
  background: url(/wp/wp-content/themes/s-original/assets/images/common/icon_h4-2.svg) no-repeat 0 50%;
}
.txt_imgarea .img_top02 > li .txt_area h4,
.txt_imgarea .img_top022 > li .txt_area h4 {
  font-size: 30px;
  /*font-weight: 600;*/
}
.txt_imgarea .img_top03 > li .txt_area h4 {
  /*font-weight: 600;*/
  text-shadow: 0 0 #333;
}
.txt_imgarea .img_top01 > li .txt_area {
  line-height: 2;
}
.txt_imgarea.top02_bl .img_top02 > li .txt_area .txt,
.txt_imgarea.top02_bl .img_top022 > li .txt_area .txt  {
  line-height: 2;
}
.txt_imgarea .img_top04 > li .txt_area h4 {
  margin-bottom: 15px;
  font-size: 19px;
  /*font-weight: 600;*/
  text-shadow: 0 0 #333;
}
.txt_imgarea .img_top04 > li .txt_area .txt {
  line-height: 2;
}
@media print, screen and (min-width: 1781px) {
.txt_imgarea .img_top02 > li .txt_area {
    width: 750px;
    margin: 0 auto;
}
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea .img_top04 > li .txt_area .txt {
    font-size: 14px;
}
  .txt_imgarea .img_top01 > li .img_area {
    margin-bottom: 20px;
}
}
@media print, screen and (min-width: 768px) {
.txt_imgarea .img_top03 > li .img_area {
  margin-bottom: 45px;
}
}
@media print, screen and (max-width: 960px) {
  .txt_imgarea .img_top01 > li .txt_area h4,
  .txt_imgarea .img_top02 > li .txt_area h4,
  .txt_imgarea .img_top022 > li .txt_area h4,
  .txt_imgarea .img_top04 > li .txt_area h4,
  .slidethumb_txt .img_top01 > li .txt_area h4,
  .slidethumb_txt .img_top02 > li .txt_area h4,
  .slidethumb_txt .img_top022 > li .txt_area h4,
  .slidethumb_txt .img_top03 > li .txt_area h4,
  .slidethumb_txt .img_top04 > li .txt_area h4 {
    font-size: 21px;
  }
  .txt_imgarea .img_top01 > li .txt_area h4 {
    text-shadow: 0 0 #333;
}
}
@media print, screen and (min-width: 961px) {
  .txt_imgarea .img_top03 > li .txt_area {
    display: flex;
    flex-wrap: wrap;
  }
  .txt_imgarea .img_top03 > li .txt_area .h4_wrap {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    width: 95px;
    display: flex;
    align-items: center;
    padding: 10px 20px 20px;
    position: relative;
  }
  .txt_imgarea .img_top03 > li .txt_area .h4_wrap:before {
    content: "";
    background-color: #d8e3e9;
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 90px;
  }
  .txt_imgarea.bg3 .img_top03 > li .txt_area .h4_wrap:before {
    background-color: #f7fcff;
}
  .txt_imgarea .img_top03 > li .txt_area .h4_wrap:after {
    content: "";
    background-color: #8197b6;
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 35px;
  }
  .txt_imgarea .img_top03 > li .txt_area .txt {
    width: -webkit-calc(100% - 95px);
    width: calc(100% - 95px);
    padding: 0 20px;
  }
}
@media print, screen and (max-width: 1280px) and (min-width: 961px) {
.txt_imgarea .img_top03 > li .txt_area .h4_wrap {
    width: 60px;
    padding: 10px 10px 10px 0;
}
.txt_imgarea .img_top03 > li .txt_area .txt {
  width: -webkit-calc(100% - 60px);
  width: calc(100% - 60px);
  padding: 0 0px 0 15px;

}
}
@media print, screen and (max-width: 960px) {
.txt_imgarea .img_top03 > li .txt_area .h4_wrap {
  position:relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.txt_imgarea .img_top03 > li .txt_area .h4_wrap:before {
  content: "";
  background-color: #f7fcff;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 55px;
  height: 1px;
}
.txt_imgarea .img_top03 > li .txt_area .h4_wrap:after {
  content: "";
  background-color: #8197b6;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 1px;
}
}
@media print, screen and (max-width: 560px) {
  .txt_imgarea .img_top01 > li .txt_area h4,
  .txt_imgarea .img_top02 > li .txt_area h4,
  .txt_imgarea .img_top022 > li .txt_area h4,
  .txt_imgarea .img_top04 > li .txt_area h4,
  .slidethumb_txt .img_top01 > li .txt_area h4,
  .slidethumb_txt .img_top02 > li .txt_area h4,
  .slidethumb_txt .img_top022 > li .txt_area h4,
  .slidethumb_txt .img_top03 > li .txt_area h4,
  .slidethumb_txt .img_top04 > li .txt_area h4 {
    font-size: 19px;
  }
}
.txt_imgarea .img_top01 > li,
.slidethumb_txt .img_top01 > li {
  margin-bottom: 30px;
}
.txt_imgarea .img_top01 > li .txt_area,
.slidethumb_txt .img_top01 > li .txt_area {
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 1024px) {
.txt_imgarea .img_top01 > li .txt_area {
  padding-left: 15px;
  padding-right: 15px;
}
}
@media print, screen and (max-width: 767.9px) {
.img_top01 > li .txt_area .txt {
  text-align: left;
}
}
@media only screen and (max-width: 560px) {
  .txt_imgarea .img_top02 > li,
  .slidethumb_txt .img_top02 > li,
  .txt_imgarea .img_top022 > li,
  .slidethumb_txt .img_top022 > li {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 561px) {
  .txt_imgarea .img_top02,
  .txt_imgarea .img_top022 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .txt_imgarea .img_top02 > li,
  .txt_imgarea .img_top022 > li {
    width: 49%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .txt_imgarea .img_top04 > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .txt_imgarea .img_top02 > li .link_url,
  .txt_imgarea .img_top04 > li .link_url {
  }
  .txt_imgarea .img_top02 > li .link_url a,
  .txt_imgarea .img_top022 > li .link_url a,
  .txt_imgarea .img_top04 > li .link_url a {
    margin-top: 20px;
  }
  .txt_imgarea .img_top02 > li:nth-child(even),
  .slidethumb_txt .img_top02 > li:nth-child(even),
  .slidethumb_txt .img_top022 > li:nth-child(even) {
    margin-left: 2%;
  }
  .txt_imgarea .img_top02 > li:nth-child(n + 3),
  .slidethumb_txt .img_top02 > li:nth-child(n + 3),
  .slidethumb_txt .img_top022 > li:nth-child(n + 3) {
    margin-top: 2%;
  }
  .txt_imgarea .img_top022 > li:nth-child(n + 3) {
    margin-top: 70px;
  }
}
@media print, screen and (min-width: 1181px) {
  .txt_imgarea .img_top02 > li,
  .slidethumb_txt .img_top02 > li,
  .txt_imgarea .img_top022 > li,
  .slidethumb_txt .img_top022 > li  {
    width: 47.5%;
  }
  .txt_imgarea .img_top02 > li:nth-child(even),
  .slidethumb_txt .img_top02 > li:nth-child(even),
  .txt_imgarea .img_top02 > li:nth-child(even),
  .slidethumb_txt .img_top022 > li:nth-child(even)  {
    margin-left: 5%;
  }
}
.txt_imgarea.top022_bl:before {
  position: absolute;
  content: "";
  width: 54%;
  top: 0;
  right: 0;
  height: 150%;
  z-index: -1;
  animation: bg4 12s ease-in-out infinite;
  background: url(../images/common/bg02.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 1820px) and (min-width: 1621px) {
  .txt_imgarea .img_top022 {
      max-width: 88%;
      margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1620px) and (min-width: 1280px) {
  .txt_imgarea .img_top022 {
      max-width: 85%;
      margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1279px) and (min-width: 1025px) {
  .txt_imgarea .img_top022 {
    max-width: 82%;
    margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1024px) and (min-width: 768px) {
    .txt_imgarea .img_top022 {
      margin: 0 auto;
      max-width: 95%;
    }
  }

  @media print, screen and (min-width: 561px) {
  .txt_imgarea .img_top022 {
      justify-content: space-between;
  }
}
@media print, screen and (max-width: 1820px) and (min-width: 1621px) {
  .txt_imgarea .img_top03 {
      max-width: 88%;
      margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1620px) and (min-width: 1280px) {
  .txt_imgarea .img_top03 {
      max-width: 85%;
      margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1279px) and (min-width: 1025px) {
  .txt_imgarea .img_top03 {
    max-width: 82%;
    margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1024px) and (min-width: 768px) {
    .txt_imgarea .img_top03 {
      margin: 0 auto;
      max-width: 95%;
    }
  }
@media print, screen and (min-width: 768px) {
  .txt_imgarea .img_top03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .txt_imgarea .img_top03 > li {
    width: 32%;
    margin-right: 2%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .txt_imgarea .img_top03 > li .link_url a {
    margin-top: 20px;
  }
  .txt_imgarea .img_top03 > li:nth-child(3n),
  .slidethumb_txt .img_top03 > li:nth-child(3n) {
    margin-right: 0;
  }
  .txt_imgarea .img_top03 > li:nth-child(n + 4),
  .slidethumb_txt .img_top03 > li:nth-child(n + 4) {
    margin-top: 2%;
  }
}
@media only screen and (max-width: 767.9px) {
  .txt_imgarea .img_top03 > li,
  .slidethumb_txt .img_top03 > li {
    max-width: 560px;
    margin: 0 auto 30px;
  }
  .img_top03.inner_sp {
    padding-left: 0;
    padding-right: 0;
}
.img_top03.inner_sp .txt_area {
    padding-left: 15px;
    padding-right: 15px;
}
}
.txt_imgarea .img_top04,
.slidethumb_txt .img_top04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea .img_top04,
  .slidethumb_txt .img_top04 {
    padding: 0 15px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .txt_imgarea .img_top04 > li,
  .slidethumb_txt .img_top04 > li {
    width: 48%;
  }
  .txt_imgarea .img_top04 > li .txt_area,
  .slidethumb_txt .img_top04 > li .txt_area {
    padding-left: 0;
    padding-right: 0;
  }
  .txt_imgarea .img_top04 > li:nth-child(even),
  .slidethumb_txt .img_top04 > li:nth-child(even) {
    margin-left: 4%;
  }
  .txt_imgarea .img_top04 > li:nth-child(n + 3),
  .slidethumb_txt .img_top04 > li:nth-child(n + 3) {
    margin-top: 4%;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea .img_top04 > li,
  .slidethumb_txt .img_top04 > li {
    width: 23.5%;
    margin-right: 2%;
  }
  .txt_imgarea .img_top04 > li:nth-child(4n),
  .slidethumb_txt .img_top04 > li:nth-child(4n) {
    margin-right: 0;
  }
  .txt_imgarea .img_top04 > li:nth-child(n + 5),
  .slidethumb_txt .img_top04 > li:nth-child(n + 5) {
    margin-top: 2%;
  }
  .txt_imgarea .link_url a,
  .slidethumb_txt .link_url a,
  .slide_thumb .link_url a {
    font-size: 14px;
  }
}
@media print, screen and (min-width: 1301px) {
.txt_imgarea .img_top022 > li:nth-child(n + 3) {
    margin-top: 95px;
}
}
.txt_imgarea .link_url,
.slidethumb_txt .link_url,
.slide_thumb .link_url {
  margin-top: 20px;
  text-align: right;
}
.txt_imgarea .link_url a,
.slidethumb_txt .link_url a,
.slide_thumb .link_url a {
  display: inline-block;
}
.txt_imgarea .link_url a span,
.slidethumb_txt .link_url a span,
.slide_thumb .link_url a span {
  display: inline-block;
  border-bottom: solid 1px #a8a8a8;
  padding: 7px 25px 7px 0;
  position: relative;
}
.txt_imgarea .link_url a span:before,
.slidethumb_txt .link_url a span:before,
.slide_thumb .link_url a span:before {
  content: "";
  position: absolute;
  right: 3px;
  bottom: -2px;
  background-color: #a8a8a8;
  width: 1px;
  height: 10px;
  transform: rotate(-45deg);
}

@media print, screen and (max-width: 767.9px) {
  .txt_imgarea .img_top01 .link_url a,
  .txt_imgarea .img_top02 .link_url a,
  .txt_imgarea .img_top022 .link_url a,
  .txt_imgarea .img_left01 > li .txt_area .link_url,
  .txt_imgarea .img_right01 > li .txt_area .link_url {
    margin: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_imgarea .img_top01 .link_url a,
  .txt_imgarea .img_top02 .link_url a,
  .txt_imgarea .img_top022 .link_url a,
  .txt_imgarea .img_left01 > li .txt_area .link_url,
  .txt_imgarea .img_right01 > li .txt_area .link_url {
    margin-left: auto;
  }
}
.txt_imgarea .btn_url a {
  display: block;
  border: solid 1px;
  max-width: 280px;
  margin: 30px auto 0;
  padding: 12px 38px 12px 20px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: relative;
  background-image: url(../images/common/link_arrow.png);
  background-position: right 10px top 50%;
  background-repeat: no-repeat;
  color: #fff;
  background-color: #333;
}
/*.txt_imgarea .btn_url a:hover {
  color: #333;
  background-color: #fff;
}*/

.link_list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media print, screen and (max-width: 960px) {
  .link_list ul {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.link_list ul.frames li a {
  color: #333;
  background-color: #fff;
  border-color: #a8a8a8;
}
.link_list ul.bg li a {
  color: #fff;
  background-color: #333;
  border-color: #a8a8a8;
}

.link_list ul.frames li a:hover {
  background-color: #333;
  color: #fff;
}

.link_list ul.bg li a:hover {
  color: #333;
  background-color: #fff;
}

@media print, screen and (max-width: 960px) {
  main.page .link_list ul li {
    width: 49%;
    margin-right: 2%;
  }
  main.page .link_list ul li:nth-child(2n) {
    margin-right: 0;
  }
  main.page .link_list ul li:nth-child(n + 3) {
    margin-top: 2%;
}
.main.page .link_list ul li.link_btn_bk a {
  margin: 0 auto;
/*main.page .link_btn_bk a {
  max-width: unset;
}*/
}
}
@media print, screen and (min-width: 961px) {
  main.page .link_list ul li {
    width: 18.4%;
    margin-right: 2%;
  }
  main.page .link_list ul li:nth-child(5n) {
    margin-right: 0;
  }
  main.page .link_list ul li:nth-child(n + 6) {
    margin-top: 2%;
  }
}
.link_list ul li a {
  display: block;
  border: solid 1px;
  padding: 12px 38px 12px 20px;
  /*-webkit-transition: 0.5s;
  transition: 0.5s;
  position: relative;
  background-image: url(../images/common/link_arrow.png);
  background-position: right 10px top 50%;
  background-repeat: no-repeat;*/
}

/*.link_list ul li a:hover {
  opacity: 1;
}*/
@media print, screen and (min-width: 961px) {
main.page .link_list ul li.link_btn_bk {
  margin-top: 0;
  margin-right: 2%;
  margin-bottom: 0;
  margin-left: 0;
}
main.page .link_list ul li.link_btn_bk:nth-child(5n) {
  margin-right: 0;
}
}
@media print, screen and (min-width: 768px) {
  main.page .link_list ul li.link_btn_bk a {
    transition: 0.6s;
}
}
main.page .link_list ul li.link_btn_bk a:after {
  top: 18px;
}

.tbl_contents table th {
  font-weight: 600;
}
.tbl_cts li {
  line-height: 2;
}
@media print, screen and (min-width: 960px) {
  .tbl_contents .tbl_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .tbl_contents .tbl_flex > li:first-of-type {
    width: 40%;
  }
  .tbl_contents .tbl_flex > li:nth-child(2) {
    width: 55%;
  }
}
@media only screen and (max-width: 961px) {
  .tbl_contents .tbl_flex > li:first-of-type {
    margin-bottom: 30px;
    text-align: center;
  }
}

@media only screen and (max-width: 767.9px) {
  .tbl_contents .tbl_cts table tr:first-of-type th {
    border-top: solid 1px #2970d1;
  }
  .tbl_contents .tbl_cts table tr:last-of-type td {
    border-bottom: solid 1px #2970d1;
  }
  .tbl_contents .tbl_cts table tr:not(:last-of-type) td {
    border-bottom: solid 1px #d8e3e9;
  }
}
@media print, screen and (min-width: 768px) {
  .tbl_contents .tbl_cts table tr:first-of-type th {
    border-top: solid 1px #2970d1;
  }
  .tbl_contents .tbl_cts table tr:first-of-type td {
    border-top: solid 1px #d8e3e9;
  }
}

@media only screen and (max-width: 767.9px) {
  .tbl_contents .tbl_cts table th,
  .tbl_contents .tbl_cts table td {
    display: block;
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .tbl_contents .tbl_cts table th,
  .tbl_contents .tbl_cts table td {
    border-bottom: solid 1px;
  }
  .tbl_contents .tbl_cts table th {
    border-bottom-color: #2970d1;
  }
  .tbl_contents .tbl_cts table td {
    border-bottom-color: #d8e3e9;
  }
}
@media only screen and (max-width: 767.9px) {
  .tbl_contents .tbl_cts table th {
    padding: 10px 5px 0 5px;
  }
}
@media print, screen and (min-width: 768px) {
  .tbl_contents .tbl_cts table th {
    padding: 20px 10px;
  }
}
@media print, screen and (min-width: 961px) {
  .tbl_contents .tbl_cts table th {
    width: 20%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .tbl_contents .tbl_cts table th {
    width: 35%;
  }
}
@media only screen and (max-width: 767.9px) {
  .tbl_contents .tbl_cts table td {
    padding: 10px 5px;
  }
}
@media print, screen and (min-width: 768px) {
  .tbl_contents .tbl_cts table td {
    padding: 20px;
  }
}
@media print, screen and (min-width: 961px) {
  .tbl_contents .tbl_cts table td {
    width: 78%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .tbl_contents .tbl_cts table td {
    width: 62%;
  }
}
.tbl_contents .tbl_flex > li:nth-child(2) dl {
  padding-left: 20px;
  padding-bottom: 15px;
  position: relative;
}
.tbl_contents .tbl_flex > li:nth-child(2) dl:before {
  content: "";
  position: absolute;
  left: 6px;
  background-color: #d8e3e9;
  width: 1px;
  height: calc(100% - 35px);
  top: 10px;
}
.tbl_contents .tbl_flex dl dt {
  position: relative;
  color: #666;
  font-size: 21px;
  /*font-weight: 600;*/
}
@media print, screen and (max-width: 560px) {
.tbl_contents .tbl_flex dl dt {
  font-size: 19px;
}
}
.tbl_contents .tbl_flex dl dd {
  padding: 15px 0;
  line-height: 2;
}
.tbl_contents .tbl_flex dl dt:before {
  content: "●";
  color: #97b8e4;
  font-size: 10px;
  position: absolute;
  left: -18px;
  top: 3px;
}

@media print, screen and (min-width: 768px) {
  .accordion ul.other .sd_h4 {
    padding: 18px 65px 18px 0;
  }
}

.accordion ul.other table th {
  display: none;
}
.accordion ul li {
  border-bottom: solid 1px #d8e3e9;
  padding: 15px 0;
}
.accordion ul li table th {
  font-family: "EB Garamond", serif;
  font-weight: normal;
}
.accordion ul li table th span {
  position: relative;
  display: inline-block;
}
.accordion ul li table th span:after {
  background-color: #d8e3e9;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 15px;
  height: 1px;
}
.accordion ul li .sd_h4 {
  position: relative;
}
@media only screen and (max-width: 767.9px) {
  .accordion ul li table th {
    width: 53px;
    font-size: 22px;
  }
  .accordion ul li .sd_h4 {
    padding: 10px 40px 10px 0;
  }
  .accordion ul li table th span {
    padding-right: 22px;
  }
  .arrow_btn {
    width: 32px;
    height: 32px;
  }
}

@media print, screen and (min-width: 768px) {
  .accordion ul li .sd_h4 {
    padding: 20px 65px 20px 0;
  }
  .accordion ul li table th {
    width: 68px;
    font-size: 30px;
  }
  .accordion ul li table th span {
    padding-right: 30px;
  }
  .arrow_btn {
    width: 40px;
    height: 40px;
  }
}
.accordion ul li .sd_h4.on .arrow_btn span:before {
  transform: translate(-50%, -50%) rotate(0deg);
}
.arrow_btn {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translatey(-50%);
  border-radius: 50%;
  /*background: #e8e8e8;*/
}
.arrow_btn span {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}
.arrow_btn span:before,
.arrow_btn span:after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #2970d1;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 1px;
  transform: translate(-50%, -50%);
}
.arrow_btn span:before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.accordion ul li .sd_h4:hover {
  cursor: pointer;
}

@media print, screen and (min-width: 768px) {
  .accordion ul li .sd_h4 table td {
    font-size: 20px;
  }
}
.accordion ul li .sd_h4 table th {
  color: #2970d1;
}
.accordion ul li .sd_content {
  background-color: #fff;
}
.accordion ul li .sd_content table th {
  color: #97b8e4;
}
@media only screen and (max-width: 767.9px) {
  .accordion ul li .sd_content {
    padding: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .accordion ul li .sd_content {
    padding: 20px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .accordion ul li .sd_content table td {
    vertical-align: top;
  }
}

.cuisine_slider_mini div {
  transition: none;
}
.slide_carousel .cuisine_slider li a {
  display: block;
}
.slide_carousel .cuisine_slider li.link_none a,
.slide_carousel .cuisine_slider_mini li.link_none a {
  pointer-events: none!important;
}
.slide_carousel .cuisine_slider li p,
.slide_carousel .cuisine_slider_mini li p  {
  text-align: center;
  margin-top: 10px;
  display: none;
}
@media only screen and (max-width: 767.9px) {
  .slidethumb_txt .slick-dotted.slick-slider,
  .slide_thumb .slick-dotted.slick-slider {
    margin-bottom: 18px;
  }
}
.slidethumb_txt .slick-slide img,
.slide_thumb .slick-slide img {
  margin: auto;
}
@media print, screen and (min-width: 1351px) {
.cuisine_slider_mini .slick-slide img {
  width: 750px;
}
}
@media print, screen and (max-width: 1350px) and (min-width: 768px) {
.cuisine_slider_mini .slick-slide img {
  width: 545px;
}
}
@media print, screen and (max-width: 767.9px) {
.cuisine_slider_mini .slick-slide img {
  width: 320px;
}
}
.slidethumb_txt .slick-dots,
.slide_thumb .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  bottom: auto;
}
@media print, screen and (max-width: 767.9px) {
  .slidethumb_txt .slick-dots,
  .slide_thumb .slick-dots {
    padding: 0 15px;
  }
}
@media only screen and (max-width: 960px) {
  .slidethumb_txt .slick-dots,
  .slide_thumb .slick-dots {
    margin-top: 15px;
  }
}
.slidethumb_txt .slick-dots li,
.slide_thumb .slick-dots li {
  list-style: none;
  display: inline-block;
  margin: 0;
  background-color: #000;

  width: 13.2%;
  height: auto;
  margin-left: 1%;
}
.slidethumb_txt .slick-dots li:nth-child(n + 6),
.slide_thumb .slick-dots li:nth-child(n + 6) {
  margin-top: 10px;
}
.slidethumb_txt .slick-dots li:first-of-type,
.slidethumb_txt .slick-dots li:nth-child(6n),
.slide_thumb .slick-dots li:first-of-type,
.slide_thumb .slick-dots li:nth-child(6n) {
  margin-left: 0;
}
.slidethumb_txt .slick-dots li img,
.slide_thumb .slick-dots li img {
  opacity: 0.5;
  width: 100%;
  height: auto;
}
.slidethumb_txt .slick-dots li.slick-active img,
.slide_thumb .slick-dots li.slick-active img {
  opacity: 1;
}
.slide_thumb .txt_area {
  padding-top: 20px;
  padding-bottom: 50px;
}
@media print, screen and (min-width: 768px) {
.slide_thumb .long_img + .txt_area {
    padding-bottom: 80px;
}
}
.slide_thumb .txt_area h4 {
  font-size: 30px;
  margin-bottom: 20px;
}
@media print, screen and (max-width: 1279px) and (min-width:561px) {
.slide_thumb .txt_area h4 {
  font-size: 21px;
  text-shadow: 0 0 #333;
}
}
@media print, screen and (max-width: 960px) {
  .slide_thumb .txt_area h4 {
    font-size: 21px;
  }
}
@media print, screen and (min-width: 961px) {
  .slide_thumb .txt_area {
    display: flex;
    justify-content: space-between;
  }
  .slide_thumb .txt_area h4 {
    width: 32%;
  }
  .slide_thumb .txt_area .txt {
    width: 65%;
  }
}
@media print, screen and (min-width: 961px) {
  .slide_thumb.botan .txt_area h4 {
      width: 15%;
  }
  .slide_thumb.botan .txt_area .txt {
      width: 76%;
  }
  }
@media print, screen and (min-width: 961px) {
.slide_thumb .long_img .txt_area h4 {
    width: 22%;
}
.slide_thumb .long_img .txt_area .txt {
  width: 65%;
}
.slide_thumb .long_img + .txt_area {
  justify-content: flex-end;
  flex-wrap: wrap;
}
.long_img + .txt_area .link_url {
  display: block;
}
}
@media print, screen and (max-width: 1820px) and (min-width: 1621px) {
  .slide_thumb .txt_area {
      max-width: 88%;
      margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1620px) and (min-width: 1280px) {
  .slide_thumb .txt_area {
      max-width: 85%;
      margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1279px) and (min-width: 1025px) {
  .slide_thumb .txt_area {
    max-width: 82%;
    margin: 0 auto;
  }
  }
  @media print, screen and (max-width: 1024px) and (min-width: 768px) {
    .slide_thumb .txt_area {
      margin: 0 auto;
      max-width: 95%;
    }
  }
.slide_thumb .slick-dots {
  margin: 10px auto 0;
  max-width: 840px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.slidethumb_txt .slick-dots.ctr {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 10px auto 0;
}
.slide_thumb .txt_area .txt {
  line-height: 2;
}
@media print, screen and (max-width: 767.9px) {
  .slidethumb_txt.en ul.img_left01 > li,
  .slidethumb_txt.en ul.img_right01 > li,
  .slidethumb_txt.en ul.img_left02 > li,
  .slidethumb_txt.en ul.img_right02 > li {
    padding: 35px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .slidethumb_txt.en ul.img_left01 > li,
  .slidethumb_txt.en ul.img_right01 > li,
  .slidethumb_txt.en ul.img_left02 > li,
  .slidethumb_txt.en ul.img_right02 > li {
    padding: 50px 0;
  }
}
@media print, screen and (max-width: 960px) {
.txt_imgarea .img_left01 > li .txt_area h4,
.txt_imgarea .img_right01 > li .txt_area h4,
.slidethumb_txt .img_left01 > li .txt_area h4,
.slidethumb_txt .img_right01 > li .txt_area h4 {
    margin-bottom: 30px;
    text-shadow: 0 0 #333;
    /*font-weight: 600;*/
}
/*.txt_imgarea .img_top01 > li .txt_area h4,
.slide_thumb .txt_area h4 {
    font-weight: 600;
}*/
.txt_imgarea .img_top04 > li .txt_area h4 {
    font-size: 18px;
}
}
@media print, screen and (max-width: 1279px) {
  .txt_imgarea .img_top03 > li .txt_area .txt,
  .txt_imgarea .img_top04 > li .txt_area .txt {
      font-size: 15px;
  }
  }
  .txt_imgarea .img_top03 > li .txt_area .txt {
      line-height: 2;
  }
@media print, screen and (max-width: 767.9px) {
.txt_imgarea .img_top03 > li .txt_area .txt,
.txt_imgarea .img_top04 > li .txt_area .txt {
  font-size: 14px;
}
}
/*
  追加コンテンツ
*/
.txt_imgarea .img_top022 > li .img_area {
margin-bottom: 40px;
}
.top22_wrap {
  display: flex;
}
@media print, screen and (min-width: 768px) {
.top022_bl .txt {
line-height: 2;
}
}
@media print, screen and (min-width: 1381px) {
.top022_bl .txt_area {
  margin-left: 10.5%;
}
}
@media print, screen and (max-width: 1380px) and (min-width: 1280px) {
.top022_bl .txt_area {
  margin-left: 13%;
}
}
@media print, screen and (min-width: 1280px) {
.top022_bl .h4_wrap h4 {
  font-size: 30px;
}
}
@media print, screen and (max-width: 1279px) {
.top022_bl .h4_wrap h4 {
  font-size: 21px;
  /*font-weight: 600;*/
  text-shadow: 0 0 #333;
}
}
@media print, screen and (max-width: 1279px) and (min-width: 961px) {
.top022_bl .txt_area {
  margin-left: 11%;
}
}
@media print, screen and (max-width: 960px) and (min-width: 768px) {
.top022_bl .txt_area {
margin-left: 14%;
}
}
@media print, screen and (min-width: 768px) {
.txt_imgarea .img_top022 > li {
  width: 48%;
}
}
@media print, screen and (max-width: 767.9px) {
.txt_imgarea .img_top022 {
flex-direction: column;
}
.txt_imgarea .img_top022 > li {
width: 100%;
margin-bottom: 30px;
}
.txt_imgarea .img_top022 > li:last-of-type {
  margin-bottom: 0;
}
.txt_imgarea .img_top022 > li .img_area {
  margin-bottom: 20px;
}
.top022_bl .h4_wrap {
  margin-right: 3%;
}
.top022_bl .txt_area {
margin-left: 0;
}
}
@media print, screen and (min-width: 561px) {
.top022_bl .h4_wrap {
  writing-mode: vertical-lr;
  margin-right: 5%;
}
.top022_bl .h4_wrap h4 {
padding-top: 40px;
background: url(/wp/wp-content/themes/s-original/assets/images/common/icon_h4.svg) no-repeat center top;
}
}
@media print, screen and (max-width: 560px) {
.top22_wrap {
  flex-direction: column-reverse;
}
.top022_bl .h4_wrap {
  margin-bottom: 20px;
  margin-right: 0;
}
.top022_bl .h4_wrap h4 {
padding-left: 40px;
background: url(/wp/wp-content/themes/s-original/assets/images/common/icon_h4-2.svg) no-repeat 0 50%;
}
.img_top022.inner_sp {
  padding-left: 0;
  padding-right: 0;
}
.top022_bl .h4_wrap, .top022_bl .txt_area  {
  padding-left: 15px;
  padding-right: 15px;
}
.top022_bl .h4_wrap h4,
.slide_thumb .txt_area h4 {
  font-size: 19px;
}
}
@media print, screen and (max-width: 767.9px) {
.txt_imgarea .link_url a span, .slidethumb_txt .link_url a span, .slide_thumb .link_url a span {
    margin-right: 15px;
}
}
.slide_thumb.widewrap.bg3 {
  background: url(/wp/wp-content/themes/s-original/assets/images/page/bg_blue.jpg) 0 0 no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 1661px) {
.slide_thumb.widewrap.bg3 {
  max-width: none;
}
.slide_thumb.bg3 .long_img, .slide_thumb.bg3 .long_img + .txt_area {
  max-width: 1620px;
  margin: 0 auto;
}
}
@media print, screen and (min-width: 961px) {
.slide_thumb.bg3 .long_img {
  padding-top: 120px;
}
.slide_thumb.bg3 .long_img + .txt_area {
  padding-bottom: 120px;
}
}
@media print, screen and (min-width: 1661px) {
  .slide_thumb.bg3 .long_img {
    padding-bottom: 30px;
  }
  .slide_thumb.bg3 .long_img + .txt_area .txt {
    padding-right: 100px;
}
}
.slide_thumb.bg3 .long_img {
  background-image: url(/wp/wp-content/themes/s-original/assets/images/page/water_bg01-2.png);
  background-repeat: no-repeat;
  background-position: 100% -40px;
}
.slide_thumb.bg3 .long_img + .txt_area {
  background-image: url(/wp/wp-content/themes/s-original/assets/images/page/water_bg01-1.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}
@media print, screen and (max-width: 1160px) {
.slide_thumb.bg3 .long_img {
    background-size: 235px;
}
.slide_thumb.bg3 .long_img + .txt_area {
  background-size: 345px;
}
}
@media print, screen and (max-width: 960px) {
.slide_thumb.bg3 .long_img {
    padding: 50px 0 0;
}
.slide_thumb.bg3 .long_img + .txt_area {
    padding-bottom: 50px;
}
}
@media print, screen and (max-width: 767.9px) {
.slide_thumb.bg3 .long_img {
  background-position: 95% -85px;
}
.slide_thumb.bg3 .long_img + .txt_area {
  background-size: 345px;
}
.slide_thumb.bg3 .long_img + .txt_area {
  background-size: 260px;
}
}

/* プラポリ追加
--------------------------------------------------------------　*/
.policy .c_inner p,
.policy .c_inner ul {
  margin-bottom: 1em;
}
.policy .c_inner p {
  line-height: 2;
}
.f_policy a {
  margin-top: 10px;
  display: inline-block;
  text-decoration: underline;
  font-size: small;
  color: #fff;
}

/* category single page
-------------------------------------------------------------- */
.wp-caption {
  max-width: 100% !important;
}
@media print, screen and (max-width: 767.9px) {
  .c_wrap {
    padding: 30px 0 50px;
  }
}
@media print, screen and (min-width: 768px) {
  .c_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 50px 0 100px;
  }
  .c_wrap .post {
    width: 67%;
  }
  .c_wrap .sidebar {
    width: 27%;
  }
}
.c_wrap .post_content {
  line-height: 2;
}
.c_wrap .post .post_ttl {
  margin-bottom: 30px;
}
.c_wrap .post .post_ttl h2 {
  font-size: 30px;
  padding-bottom: 20px;
  margin-bottom: 7px;
  font-weight: normal;
  text-align: left;
  border-bottom: solid 1px #d8e3e9;
  position: relative;
}
.c_wrap .post .post_ttl h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 1px #2970d1;
  bottom: -1px;
  width: 30%;
}
@media print, screen and (min-width: 561px) and (max-width: 960px) {
.c_wrap .post .post_ttl h2 {
  font-size: 28px;
}
}
@media only screen and (max-width: 560px) {
  .c_wrap .post .post_ttl h2 {
    font-size: 23px;
    letter-spacing: 3px;
  }
}
.post_content h3 {
  padding: 7px 0 7px 40px;
  background: url(/wp/wp-content/themes/s-original/assets/images/common/icon_h3.svg) no-repeat 0 50%;
  margin-bottom: 5px;
}
@media print, screen and (min-width: 961px) {
.post_content h3 {
  font-size: 23px;
}
}
@media print, screen and (min-width: 561px) and (max-width: 960px) {
.post_content h3 {
  font-size: 21px;
  font-weight: 600;
}
}
@media print, screen and (max-width: 560px) {
.post_content h3 {
  font-size: 19px;
  font-weight: 600;
}
}
.c_wrap .post .post_ttl .date {
  text-align: right;
}
.c_wrap .post .acv_list li {
  border-bottom: solid 1px #d8e3e9;
  padding: 15px 0;
}
.c_wrap .post .acv_list li:first-of-type {
  border-top: solid 1px #d8e3e9;
}
.c_wrap .post .acv_list li .cat_name {
  margin-bottom: 10px;
}
@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li .cat_name {
    margin-bottom: 5px;
  }
}
.c_wrap .post .acv_list li .cat_name span {
  display: inline-block;
  color: #fff;
  padding: 5px 10px;
  font-size: 14px;
  background: #8197b6;
}
@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li .cat_name span {
    font-size: 12px;
    padding: 2px 5px;
  }
}
.c_wrap .post .acv_list li .cat_name span:not(:first-of-type) {
  margin-left: 5px;
}
.c_wrap .post .acv_list li dl {
  display: flex;
}
@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li dl dt {
    width: 100px;
    font-size: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .c_wrap .post .acv_list li dl dt {
    width: 150px;
  }
}
@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li dl dd {
    width: calc(100% - 100px);
  }
}
@media print, screen and (min-width: 768px) {
  .c_wrap .post .acv_list li dl dd {
    width: calc(100% - 150px);
  }
}
.c_wrap .post .post_content p {
  margin-bottom: 1em;
}
.c_wrap .sidebar {
  border: solid 1px #d8e3e9;
  padding: 30px 15px;
  max-width: 350px;
  margin: 0 auto;
  background-color: #fff;
}
@media only screen and (max-width: 767.9px) {
  .c_wrap .sidebar {
    margin: 30px auto 0;
    width: 100%;
    max-width: unset;
  }
}
.c_wrap .sidebar h2 {
  margin-bottom: 10px;
  font-size: 18px;
}
.c_wrap .sidebar .list {
  margin-bottom: 30px;
}
.c_wrap .sidebar .list ul {
  margin-left: 2em;
}
.c_wrap .sidebar .list ul li {
  padding-bottom: 10px;
  list-style-type: disc;
  line-height: 1.5;
  font-size: 90%;
  font-weight: normal;
}
.c_wrap .sidebar select {
  width: 100%;
  padding: 10px 15px 10px;
  font-size: 90%;
  border: 1px solid #d8e3e9;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-size: 16px;
  background-color: #fff;
}
.c_wrap .sidebar select::-ms-expand {
  display: none;
}
.c_wrap .sidebar .archive ul {
  position: relative;
}
.c_wrap .sidebar .archive ul:before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  right: 15px;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  transform: rotate(45deg);
}
@media print, screen and (max-width: 1024px) and (min-width:768px) {
.c_wrap .sidebar {
    margin: 0;
}
.c_wrap .sidebar .list ul {
    margin-left: 1em;
}
.c_wrap .sidebar .list ul li {
  font-size: 85%;
}
}

/* single_pager
--------------------------------------------------------------　*/
.single_pager {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #d8e3e9;
  border-bottom: 1px solid #d8e3e9;
}
.single_pager li {
  width: 32%;
}
.single_pager li.index {
  text-align: center;
}
.single_pager li:nth-child(3) {
  text-align: right;
}
.single_pager li a {
  display: inline-block;
  padding: 15px 0;
  font-size: 14px;
  transition: 0.5s;
}
@media print, screen and (max-width: 767.9px) {
  .single_pager li a {
    font-size: 12px;
  }
  #single.inner_sp, .post.inner_sp {
    padding-left: 15px;
    padding-right: 15px;
}
}

/* opening
--------------------------------------------------------------　*/
.start {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #e7eaed;
  z-index: 10000;
}
.start:before {
  position: absolute;
  content: "";
  width: 70%;
  top: -35%;
  left: 0%;
  height: 150%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg02.webp) no-repeat;
  background-size: contain;
}
.start:after {
  position: absolute;
  content: "";
  width: 50%;
  bottom: 0;
  right: 0;
  height: 57%;
  z-index: -1;
  animation: bg3 12s ease-in-out infinite;
  background: url(../images/common/bg08.webp) no-repeat;
  background-size: contain;
}
.start .mv_main {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  transition: 0.5s ease-in-out;
}
.start h2 {
  margin: 0 auto;
  width: 180px;
  height: 174px;
  background: url(../images/common/logo_sg.svg) no-repeat no-repeat center center;
  background-size: contain;
  transition: 0.5s ease-in-out;
}
.start p {
  text-align: center;
  margin-top: 40px;
  letter-spacing: 4px;
  color: #62666a;
  font-size: 22px;
  font-family: "Shippori Mincho", serif;
  transition: 0.5s ease-in-out;
}
@media print, screen and (max-width: 1700px) and (min-width: 1281px) {
  .start:after {
    width: 70%;
    bottom: -10%;
    height: 76%;
  }
}
@media print, screen and (max-width: 1280px) and (min-width: 1025px) {
  .start:before {
    width: 75%;
    top: -15%;
    height: 148%;
  }
  .start:after {
    width: 76%;
    height: 61%;
  }
}
@media print, screen and (max-width: 1024px) {
  .start:before {
    width: 83%;
    top: 0;
  }
  .start:after {
    position: absolute;
    content: "";
    width: 100%;
    bottom: 0;
    right: 0;
    height: 65%;
  }
}
@media print, screen and (max-width: 767.9px) {
.start h2 {
  width: 130px;
  height: 130px;
}
.start p {
  margin-top: 30px;
  font-size: 18px;
}
.start:before {
  width: 100%;
  top: 18%;
}
.start:after {
  bottom: -15%;
}
}

/* header
--------------------------------------------------------------　*/
.mainvisual_area {
  position: relative;
}
_:-ms-input-placeholder, :root .mainvisual_area {
  z-index: -1;
}
.mainvisual_area:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
@media print, screen and (min-width: 1025px) {
.mainvisual_area:after {
  background: linear-gradient(to left, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0));
}
}
@media print, screen and (max-width: 1024px) {
.mainvisual_area:after {
  background: rgba(0, 0, 0, 0.3);
}
}
.mainvisual_area .main_slide li div {
  text-indent: -9999px;
  background-position: 50% 0%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
}
@media print, screen and (min-width: 1921px) {
.mainvisual_area .main_slide li div {
  width: 100vw;
}
}
.mainvisual_area .mv_main {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  transition: 0.5s ease-in-out;
  z-index: 1;
}
_:-ms-input-placeholder, :root .mainvisual_area .mv_main {
  z-index: 100;
}
.mainvisual_area h2 {
  margin: 0 auto;
  width: 180px;
  height: 174px;
  background: url(../images/common/logo_sw.svg) no-repeat no-repeat center center;
  background-size: contain;
  transition: 0.5s ease-in-out;
}
.mainvisual_area .mv_main p {
  text-align: center;
  margin-top: 40px;
  letter-spacing: 4px;
  color: #fff;
  font-size: 22px;
  font-family: "Shippori Mincho", serif;
  text-shadow: 0 0 5px #333;
  transition: 0.5s ease-in-out;
}
.mainvisual_area.fadeout .mv_main {
  transition: 0.5s ease-in-out !important;
  opacity: 0 !important;
}
.scrolldown {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 1px;
  height: 150px;
  background: rgba(255, 255, 255, 0.6);
  z-index: 1;
}
.scrolldown::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100px;
  /*background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));*/
  background: #2970d1;
  animation: pathmove 4s ease-in-out infinite;
  opacity: 0;
}
_:-ms-input-placeholder, :root .scrolldown {
  z-index: 100;
}
.header {
  /*transition: .1s ease-in-out;*/
}
.header_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100vw - 120px);
  display: flex;
  justify-content: space-between;
  padding: 15px 15px 0 40px;
  color: #fff;
}
_:-ms-input-placeholder, :root .header_inner {
  height: 212px;
}
.h1 {
  padding-top: 3px;
}
h1 {
  font-size: 15px;
  letter-spacing: 2px;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
}
@media print, screen and (min-width: 911px) {
.page h1 {
  padding-left: 60px;
}
}
.header_logo {
  display: none;
  position: fixed;
  top: 10px;
  left: 25px;
  width: 50px;
  z-index: 3;
  mix-blend-mode: luminosity;
}
.page .header_logo {
  display: block;
}
.page .header_logo img {
  filter: brightness(0) invert(1);
}
.header_nav ul li:nth-of-type(12) {
  display: none;
}
.header_nav a {
  color: #fff;
  font-size: 17px;
  letter-spacing: 2px;
}
.translate {
  position: absolute;
  right: 230px;
  top: 19px;
}
.switcher {
  width: 110px!important;
  font-family: "Noto Serif JP", serif!important;
}
@media print, screen and (max-width: 767.9px) {
.page .switcher {
  margin-left: 60px!important;
}
.page .menu_open .switcher {
  margin-left: 0!important;
}
}
.switcher .selected {
  background: none!important;
}
.switcher .selected a {
  border: none!important;
  width: 92px!important;
  padding: 3px 8px!important;
}
.switcher .option {
  width: 108px!important;
  background: rgba(255,255,255,0.9)!important;
}
.switcher a img {
  display: none!important;
}
.switcher .selected a:hover {
  background: rgba(0,0,0,0.1)!important;
  opacity: 1!important;
}
.switcher .selected a:hover {
  background:none!important;
}
.header_tel {
  margin-bottom: 35px;
  text-align: right;
  letter-spacing: 3px;
}
.header_tel .tel {
  font-size: 19px;
}
.menu_nav {
  -moz-box-align: baseline;
}
@media print, screen and (min-width: 1025px) {
@-moz-document url-prefix() {
.menu_nav {
  width: 520px;
}
.menu_open .menu_nav {
  width: auto;
}
}
}
.header_nav ul {
  writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
}
.header_nav ul li {
  padding-left: 27px;
}
@media print, screen and (max-width: 1100px) and (min-width: 911px) {
  h1 {
    max-width: 320px;
  }
}
@media print, screen and (max-width: 910px) {
  h1 {
    display: none;
  }
}
@media print, screen and (max-width: 1024px) {
  .menu_nav {
    display: none;
  }
  .header_nav.menu_open .menu_nav {
    display: block;
    margin-right: 6%;
  }
  .menu_open .menu_inner {
    padding: 0 25px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .header_tel {
    position: fixed;
    margin-bottom: 0;
    z-index: 4;
    width: 60px;
    height: 60px;
    top: 0;
    right: 60px;
    text-align: center;
    padding-top: 4px;
  }
  .header_tel img {
    height: 23px!important;
    transform: rotate(-20deg);
    padding-top: 2px;
    filter: brightness(0) invert(1);
  }
@media print, screen and (min-width: 768px) {
  .header_tel img {
      display: none;
      height: 23px;
  }
  }
  .header_tel .tel span {
    font-size: 11px;
    display: block;
    letter-spacing: 1px;
    margin-top: 2px;
  }
  .header_logo {
    top: 10px;
    left: 15px;
    width: 40px;
  }
  .mainvisual_area h2 {
    width: 130px;
    height: 130px;
  }
  .mainvisual_area .mv_main p  {
    margin-top: 30px;
    font-size: 18px;
  }
  .scrolldown {
    height: 65px;
  }
  .scrolldown::after {
    height: 35px;
  }
  .translate {
    right: unset;
    left: 5px;
}
.switcher .selected a {
  border: none!important;
}
}
@media print, screen and (max-height: 500px) {
  .mainvisual_area .mv_main {
    top: 360px;
  }
  .scrolldown {
    display: none;
  }
}
.category_bg {
  background-image: url(/wp/wp-content/themes/s-original/assets/images/page/news_mv.jpg);
}
#pagetitlearea,
.category_bg {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
#pagetitlearea h2,
.category_bg h2 {
  font-family: "Shippori Mincho", serif;
  color: #fff;
  letter-spacing: 13px;
}
.bg_inner {
  z-index: 1;
}
#pagetitlearea p,
.category_bg p {
  color: #cccccc;
  font-size: 16px;
}
#pagetitlearea, .category_bg {
  position: relative;
}
#pagetitlearea:after, .category_bg:after {
  content: "";
  background: rgba(0,0,0,0.2);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
#pagetitlearea:before, .category_bg:before {
  background: url(/wp/wp-content/themes/s-original/assets/images/common/mvline.svg) center center no-repeat;
  content: "";
  display: inline-block;
  width: 7px;
  height: 130px;
  background-size: cover;
  position: absolute;
  bottom: -70px;
  left: 0;
  right: 0;
  margin: auto;
}
@media print, screen and (max-width: 767.9px) {
#pagetitlearea:before, .category_bg:before {
  background: url(/wp/wp-content/themes/s-original/assets/images/common/mvline_sp.svg) center center no-repeat;
  background-size: cover;
  height: 35px;
  bottom: -17px;
}
}
@media print, screen and (max-width: 767.9px) {
  #pagetitlearea,
  .category_bg {
    height: 300px;
  }
  #pagetitlearea h2,
  .category_bg h2 {
    font-size: 28px;
    letter-spacing: 5px;
  }
}
@media print, screen and (min-width: 768px) {
  #pagetitlearea,
  .category_bg {
    height: 670px;
  }
  #pagetitlearea h2,
  .category_bg h2 {
    font-size: 50px;
  }
}
/* toggle&nav
--------------------------------------------------------------　*/
#toggle {
  cursor: pointer;
  position: relative;
  top: 0;
  width: 100%;
  height: 80px;
  background: rgba(255, 255, 255, 0.8);
}
#toggle .menu-trigger {
  position: absolute;
  top: 0;
  width: 100%;
  height: 80px;
}
#toggle .menu-trigger:hover {
  opacity: 1;
}
#toggle .menu-trigger span {
  position: absolute;
  top: 25px;
  left: 15px;
  height: 1px;
  width: 50px;
  background: #333;
  color: #333;
  font-size: 12px;
  text-align: center;
  transition: 0.4s ease-in-out;
}
#toggle .menu-trigger span:nth-of-type(2) {
  top: 36px;
}
#toggle .menu-trigger span:nth-of-type(3) {
  top: 40px;
  height: 18px;
  background: none;
  letter-spacing: 2px;
}
#toggle .menu-trigger span:nth-of-type(4) {
  display: none;
}
#toggle .menu-trigger.triggeractive {
  right: 0;
}
#toggle .menu-trigger.triggeractive span {
  background: #333;
}
#toggle .menu-trigger.triggeractive span:first-of-type {
  transform: translateY(6px) rotate(22.5deg);
}
#toggle .menu-trigger.triggeractive span:nth-of-type(2) {
  transform: translateY(-6px) rotate(-22.5deg);
}
#toggle:hover .menu-trigger.triggeractive span:nth-of-type(2) {
  width: 50px;
}
#toggle .menu-trigger.triggeractive span:nth-of-type(3) {
  display: none;
}
#toggle .menu-trigger.triggeractive span:nth-of-type(4) {
  display: block;
  color: #333;
  background: none;
  top: 49px;
  height: 18px;
}
#toggle .menu-trigger.triggeractive span {
  color: #333 !important;
  background: #333 !important;
}
#toggle .menu-trigger.triggeractive span:nth-of-type(4) {
  background: none !important;
}
.bg-fixed .side_srsv,
.bg-fixed .side_drsv,
.bg-fixed .side_bestrate,
.bg-fixed .side_icon {
  display: none;
}
@media print, screen and (max-width: 1024px) {
  #toggle {
    background: unset;
  }
  #toggle .menu-trigger span {
    background: #fff;
    color: #fff;
  }
}
@media print, screen and (max-width: 767.9px) {
  #toggle {
    width: 60px;
    height: 60px;
  }
  #toggle .menu-trigger {
    height: 60px;
  }
  #toggle .menu-trigger span {
    top: 18px;
    left: 10px;
    width: 40px;
    font-size: 10px;
  }
  #toggle .menu-trigger span:nth-of-type(2) {
    top: 29px;
  }
  #toggle .menu-trigger span:nth-of-type(3) {
    top: 35px;
    letter-spacing: 1px;
  }
  #toggle .menu-trigger.triggeractive {
    right: 0;
  }
  #toggle:hover .menu-trigger.triggeractive span:nth-of-type(2) {
    width: 40px;
  }
  #toggle .menu-trigger.triggeractive span:nth-of-type(4) {
    top: 35px;
    letter-spacing: 1px;
  }
}
@media print, screen and (min-width: 768px) {
.bg-fixed #toggle {
  right: 17px;
}
}

/* headermenu
--------------------------------------------------------------　*/
.bg-fixed .header {
  background: #e7eaed;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  animation: anime 0.3s ease-in-out forwards;
}
.bg-fixed .header:before {
  position: absolute;
  content: "";
  width: 70%;
  top: -35%;
  left: 0%;
  height: 150%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg02.webp) no-repeat;
  background-size: contain;
}
.bg-fixed .header:after {
  position: absolute;
  content: "";
  width: 50%;
  bottom: 0;
  right: 0;
  height: 57%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg08.webp) no-repeat;
  background-size: contain;
}
.bg-fixed h1 {
  color: #333;
  font-weight: 600;
}
.bg-fixed .header_inner {
  width: 100vw;
  height: 100vh;
  padding:  15px 40px 35px 40px;
  display: block;
}
.bg-fixed .header_logo {
  display: none !important;
}
.menu_logo,
.menu_bestrate,
.menu_link,
.menu_open .header_tel {
  display: none;
}
.menu_open .menu_logo,
.menu_open .menu_bestrate,
.menu_open .menu_link {
  display: block;
}
.menu_open .menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  padding: 13vh 0 2vh;
}
.menu_open .menu_inner {
  padding: 0 100px;
  display: flex;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
}
.header_nav.menu_open ul {
  writing-mode: unset;
  -ms-writing-mode: lr-tb;
}
.menu_open .menu_nav li {
  padding-bottom: 23px;
  padding-left: 0;
}
.menu_open .menu_nav li:last-of-type {
  padding-bottom: 0;
}
.header_nav.menu_open a {
  color: #333;
  font-size: 20px;
}
.menu_open .menu_link {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
}
.header_nav.menu_open ul li.menu_srsv,
.header_nav.menu_open ul li.menu_drsv {
  padding-left: 0;
}
.menu_srsv {
  margin-bottom: 30px;
}
.menu_srsv a,
.menu_drsv a {
  display: block;
}
.menu_srsv a:first-of-type {
  display: inline-block;
  position: relative;
  color: #fff;
  min-width: 300px;
  padding: 15px 70px;
  width: 100%;
  z-index: 1;
  text-align: center;
  background: url(../images/common/icon_srsv.svg) #867229 no-repeat 20px;
  background-size: 30px;
  font-size: 18px;
}
.menu_drsv a:first-of-type {
  display: inline-block;
  position: relative;
  color: #fff;
  min-width: 300px;
  padding: 15px 70px;
  width: 100%;
  z-index: 1;
  text-align: center;
  background: url(../images/common/icon_drsv.svg) #604e0c no-repeat 20px;
  background-size: 30px;
  font-size: 18px;
}
.menu_srsv a:first-of-type:after,
.menu_drsv a:first-of-type:after {
  content: "";
  background: url(../images/common/btn_next.svg) no-repeat;
  position: absolute;
  top: 25px;
  right: 20px;
  width: 25px;
  height: 8px;
}
@media print, screen and (min-width: 768px) {
.menu_srsv a:first-of-type:after,
.menu_drsv a:first-of-type:after {
  transition: 0.6s;
}
.menu_srsv a:hover:after,
.menu_drsv a:hover:after {
  right: 7px;
}
}
.menu_srsv a:hover,
.menu_drsv a:hover {
  opacity: 0.85;
}
.header_nav.menu_open .cxl {
  font-size: 16px;
  margin-top: 10px;
}
.header_nav.menu_open .menu_iconlink ul li {
  padding-left: 0;
  margin-right: 15px;
}
.menu_iconlink ul {
  display: flex;
  padding-bottom: 15px;
  padding-top: 30px;
}
.menu_iconlink img {
  width: 26px;
}
_:-ms-input-placeholder, :root .menu_iconlink img {
  width: 30px;
  height: 30px;
}
.menu_iconlink a {
  font-size: 16px !important;
}
.menu_open .menu_bestrate {
  padding-top: 2%;
  border-top: 1px solid #fff;
  max-width: 1200px;
  margin: 50px auto 0;
  width: 100%;
  text-align: center;
}
.menu_bestrate p {
  color: #333;
  font-size: 14px;
  padding-top: 5px;
  letter-spacing: 2px;
}
.menu_open .switcher .selected a, .menu_open .switcher .option a {
  font-size: 10pt!important;
  color: #333!important;
}
.menu_open .switcher .selected a {
  border: none!important;
}
.menu_open .switcher .selected a:after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 285 285'><path d='M282 76.5l-14.2-14.3a9 9 0 0 0-13.1 0L142.5 174.4 30.3 62.2a9 9 0 0 0-13.2 0L3 76.5a9 9 0 0 0 0 13.1l133 133a9 9 0 0 0 13.1 0l133-133a9 9 0 0 0 0-13z' style='fill:%23333333'/></svg>");
}
@media print, screen and (max-width: 1024px) {
  .menu_open .menu_inner {
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 25px;
  }
  .menu_open .menu_logo {
    width: 100%;
    text-align: center;
    padding: 40px 0;
  }
  .header_nav.menu_open a {
    font-size: 17px;
  }
  .menu_open .menu_bestrate {
    position: relative;
  }
  .bg-fixed .header:before,
  .bg-fixed .header:after {
    animation: bg2 12s ease-in-out infinite;
  }
  .bg-fixed .header:before {
    top: 0;
  }
}
@media print, screen and (max-width: 1700px) and (min-width: 1281px) {
  .bg-fixed .header:after {
    width: 70%;
    bottom: -10%;
    height: 76%;
  }
}
@media print, screen and (max-width: 1280px) and (min-width: 1025px) {
  .bg-fixed .header:before {
    width: 75%;
    top: -15%;
    height: 148%;
  }
  .bg-fixed .header:after {
    width: 76%;
    height: 61%;
  }
}
@media print, screen and (min-width: 1025px) {
.menu_open .menu_logo {
  margin: auto 0;
}
.menu_open .menu_bestrate img {
    max-width: 380px;
}
}
@media print, screen and (max-width: 1024px) {
  .bg-fixed .header:before {
    width: 83%;
    top: 0;
  }
  .bg-fixed .header:after {
    position: absolute;
    content: "";
    width: 100%;
    bottom: 0;
    right: 0;
    height: 65%;
  }
  .menu_open .menu_logo img {
    width: 130px;
  }
}
@media print, screen and (min-width: 768px) {
.menu_open .translate {
  right: 115px;
}
}
@media print, screen and (max-width: 1024px) and (min-width:768px) {
.menu_open .menu {
  padding: 4vh 0;
}
}
@media print, screen and (max-width: 767.9px) {
.menu_open .menu {
  padding: 5vh 0;
}
.bg-fixed .header:before {
  width: 100%;
  top: 18%;
  animation: bg 12s ease-in-out infinite;
}
.bg-fixed .header:after {
  animation: bg 12s ease-in-out infinite;
  bottom: -10%;
}
.menu_open .menu_logo {
  padding: 20px 0 35px;
}
.menu_open .menu_bestrate {
  padding-top: 4%;
  margin: 35px auto 0;
}
}
@media print, screen and (max-width: 560px) {
.header_nav.menu_open .menu_nav {
  width: 39%;
  margin-right: 7%;
}
.menu_open .menu_link {
  width: 54%;
}
.menu_srsv a:first-of-type {
  min-width: unset;
  max-width: 197px;
  padding: 15px 0 15px 35px;
  font-size: 14px!important;
  background-size: 30px;
  background-position-x: 12px;
}
.menu_drsv a:first-of-type {
  min-width: unset;
  max-width: 197px;
  padding: 15px 0 15px 25px;
  font-size: 14px!important;
  background-size: 30px;
  background-position-x: 12px;
}
.header_nav.menu_open a {
  font-size: 16px;
}
.menu_srsv a:first-of-type:after, .menu_drsv a:first-of-type:after {
  display: none;
}
.header_nav.menu_open .cxl {
  font-size: 13px;
  letter-spacing: 0.5px;
}
.menu_iconlink a {
  font-size: 13px!important;
}
.menu_open .menu_bestrate {
  padding-left: 25px;
  padding-right: 25px;
}
}
@media print, screen and (max-width: 375px) {
  .menu_open .menu_logo {
    padding: 10px 0 35px;
}
.menu_open .menu_logo img {
  width: 120px;
}
.menu_open .menu_nav li {
  padding-bottom: 22px;
}
}
@media print, screen and (max-width: 360px) {
.header_nav.menu_open a {
  font-size: 15px;
}
.header_nav.menu_open .cxl {
  font-size: 12px;
}
}
@media print, screen and (max-width: 320px) {
.menu_open .menu_inner {
  padding: 0 15px;
}
.header_nav.menu_open a {
  font-size: 14px;
}
.header_nav.menu_open .cxl {
  letter-spacing: 0;
}
.menu_bestrate p {
  font-size: 13px;
}
}
@media print, screen and (max-width: 1024px) {
  .menu_srsv {
      margin-bottom: 25px;
  }
  .header_nav ul li.spmenu_bestrate {
      max-width: 300px;
      padding-left: 0;
      margin-top: 15px;
      color: #333;
      font-size: 9px;
      text-align: center;
      display: none;
  }

  .header_nav ul li.spmenu_bestrate p {
      padding-top: 3px;
      letter-spacing: 1px;
  }
  /*.menu_open .menu_bestrate {
      display: none;
  }*/
  }
  @media print, screen and (min-width: 1025px) {
  .header_nav ul li.spmenu_bestrate {
      display: none;
  }
  }

/* sidemenu
--------------------------------------------------------------　*/
.side {
  position: fixed;
  top: 0;
  right: 0;
  width: 80px;
  /*height: 82vh;*/
  display: flex;
  flex-wrap: wrap;
  /*justify-content: center;*/
  z-index: 4;
}
.side div {
  width: 100%;
}
.side_rsv {
  /*margin-top: 30px;*/
  margin-bottom: 25px;
  transition: 1s;
}
@supports (not (-webkit-hyphens: none)) and (not (-moz-appearance: none)) {
.side_rsv {
  margin-bottom: 40px;
}
}
.side_rsv a {
  color: #fff;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 45px;
}
.side_srsv {
  position: relative;
  background: url(../images/common/icon_srsv.svg) #867229 no-repeat center 23px;
  background-size: 30px;
  height: 180px;
}
.side_drsv {
  position: relative;
  background: url(../images/common/icon_drsv.svg) #604e0c no-repeat center 23px;
  background-size: 30px;
  height: 200px;
}
.side_bestrate {
  margin-bottom: 30px;
}
.side .side_icon:first-of-type {
  margin-bottom: 10px;
}
.side_icon {
  height: 21px;
  margin-bottom: 15px;
}
.side_icon img {
  width: 21px;
}
_:-ms-input-placeholder, :root .side_icon img {
  width: 24px;
  height: 24px;
}
.side_bestrate,
.side_icon {
  display: flex;
  justify-content: center;
}
@media print, screen and (max-width: 1024px) {
  .side_rsv,
  .side_bestrate,
  .side_icon {
    display: none;
  }
}
@media print, screen and (max-height: 850px) {
  .side_icon {
    display: none;
  }
  .side_rsv {
    margin-bottom: 10px;
}
}
@media print, screen and (max-height: 710px) {
  .side_bestrate {
    display: none;
  }
}
@media print, screen and (max-width: 767.9px) {
  .side {
    position: fixed;
    right: 0;
    width: 60px;
    height: 60px;
  }
}


/* TOP main
--------------------------------------------------------------　*/
main {
  z-index: 1;
}
main section {
  position: relative;
}
main h2 {
  font-size: 35px;
  letter-spacing: 5px;
  line-height: 1.3;
  margin: 0 auto 90px;
  font-weight: 500;
}
main h2 span {
  font-size: 16px;
  letter-spacing: 2px;
  color: #ababab;
}
main h3 {
  font-size: 21px;
  font-weight: 500;
  margin: 0 auto 50px;
}
@media print, screen and (min-width: 1025px) {
  .section_inner {
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media print, screen and (max-width: 1024px) and (min-width: 768px) {
  .section_inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media print, screen and (max-width: 767.9px) {
  .section_inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media print, screen and (max-width: 1024px) {
  main h2 {
    margin: 0px auto 40px;
  }
  main h3 {
    margin: 0 auto 35px;
  }
}
@media print, screen and (max-width: 767.9px) {
  main h2 {
    margin: 0px auto 25px;
    font-size: 30px;
  }
  main h2 span {
    font-size: 14px;
  }
  main h3 {
    margin: 0 auto 20px;
    font-size: 18px;
  }
}

/* TOP news
--------------------------------------------------------------　*/
#news {
  margin-bottom: 220px;
  padding-top: 150px;
  padding-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.news_slider {
  max-width: 1480px;
  overflow: hidden;
  width: calc(100% - 200px);
}
@media print, screen and (min-width: 1921px) {
.news_slider {
  max-width: unset;
}
}
.covid19 {
  font-size: 15px;
  text-align: center;
}
.covid19 a {
  display: inline-block;
  background: #d8e3e9;
  padding: 10px 20px;
  letter-spacing: 1px;
}
.news_txt {
  margin-top: 20px;
}
.news_info {
  display: flex;
  margin-bottom: 25px;
  color: #888;
  font-size: 15px;
}
.news_info .date {
  padding-right: 40px;
  position: relative;
}
.news_info .date:after {
  content: "";
  position: absolute;
  top: 46%;
  right: 10px;
  height: 1px;
  width: 20px;
  background: #8197b6;
}
#news .slick-list {
  padding: 0 17% 0 0 !important;
}
#news .slick-slide {
  margin: 0 0.5%;
}
#news .news_ctl {
  position: absolute;
  bottom: 0;
  right: 0;
  margin-right: 160px;
}
#news .slick-prev {
  width: 30px;
  height: 30px;
  left: -40px;
}
#news .slick-prev:before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  background: url(../images/common/prev.svg) no-repeat;
  width: 100%;
  height: 100%;
}
@media print, screen and (min-width: 768px) {
#news .slick-prev:before {
  transition: 0.6s;
}
#news .slick-prev:hover:before {
  left: -10px;
}
}
#news .slick-next {
  width: 30px;
  height: 30px;
  right: -40px;
}
#news .slick-next:before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  background: url(../images/common/next.svg) no-repeat;
  width: 100%;
  height: 100%;
}
@media print, screen and (min-width: 768px) {
#news .slick-next:before {
  transition: 0.6s;
}
#news .slick-next:hover:before {
  left: 10px;
}
}
#news .slick-dots {
  position: relative;
  bottom: 0;
}
#news .slick-dots li {
  margin: 0;
}
#news .slick-dots li,
#news .slick-dots li button,
#news .slick-dots li button:before {
  width: 21px !important;
  height: 24px !important;
}
#news .slick-dots li button:before {
  font-size: 12px;
  content: "○";
  opacity: 1;
  color: #a8a8a8;
  text-shadow: 0 0 1px #a8a8a8;
}
#news .slick-dots li.slick-active button:before {
  font-size: 16px;
  content: "●";
  top: -1px;
  text-shadow: unset;
}
#news:before {
  position: absolute;
  content: "";
  width: 457px;
  top: -18%;
  left: -2%;
  height: 60%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg01.webp) no-repeat;
}
@media print, screen and (min-width: 768px) {
.news_ttl {
  max-width: 200px;
}
.news_ttl.fadeIn_content {
  transform: translate(-50px, 0);
}
#news h2 {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
}
_:-ms-input-placeholder, :root .news_ttl {
  height: 369px;
}
_:-ms-input-placeholder, :root #news h2 {
  height: 160px;
  margin-left: 50px;
}
}
@media all and (-ms-high-contrast: none) {
  @media print, screen and (min-width: 768px) {
    .news_ttl {
      height: 369px;
    }
    #news h2 {
      height: 160px;
      margin-left: 50px;
    }
  }
}
@-moz-document url-prefix() {
  @media print, screen and (min-width: 768px) {
  #news h2 {
    margin-left: 50px;
  }
}
}
@media print, screen and (max-width: 1050px) and (min-width: 846px) {
  .news_info {
    font-size: 14px;
  }
}
@media print, screen and (max-width: 1024px) {
  #news {
    padding-top: 50px;
    margin-bottom: 20px;
  }
  #news:before {
    height: 80%;
  }
  #news.section_inner {
    padding-right: 0;
  }
}
@media print, screen and (max-width: 845px) and (min-width: 768px) {
  .news_info {
    font-size: 13px;
  }
  .news_info .date {
    padding-right: 22px;
  }
  .news_info .date:after {
    right: 6px;
    width: 11px;
  }
}
@media print, screen and (max-width: 767.9px) {
  #news:before {
    width: 113%;
    left: -26%;
  }
  #news.section_inner {
    flex-direction: column;
    padding-left: 0;
  }
  .news_ttl {
    padding: 0 15px;
    margin-bottom: 25px;
  }
  /*.news_ttl.fadeIn_content {
    transform: translate(0, 50px);
  }*/
  #news h2 {
    text-align: center;
  }
  .covid19 {
    font-size: 14px;
  }
  #news .link_btn {
    text-align: right;
    margin-right: 10px;
  }
  .news_slider {
    width: 100%;
    margin-bottom: 15px !important;
  }
  #news .news_ctl {
    right: 50%;
    margin-right: unset;
    transform: translateX(50%);
  }
}
@media print, screen and (max-width: 320px) {
#news:before {
    width: 101%;
    left: 0%;
}
}

/* TOP about
--------------------------------------------------------------　*/
#about {
  margin-bottom: 200px;
}
.about_main {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.about_ttl {
  padding-top: 80px;
  margin: 0 14% 0 3%;
}
#about h2 {
  font-size: 37px;
  letter-spacing: 13px;
  line-height: 1.5;
  margin-bottom: 40px;
}
.about_ttl p {
  line-height: 3;
  letter-spacing: 3px;
}
.photo02 {
  position: absolute;
  top: 100px;
  right: 0;
}
.photo02.fadeIn_content.fadein {
  transition-delay: 300ms;
}
.photo03 {
  position: absolute;
  bottom: -145px;
  right: 6%;
}
#about:before {
  position: absolute;
  content: "";
  width: 50%;
  top: -25%;
  right: 0;
  height: 57%;
  z-index: -1;
  animation: bg3 12s ease-in-out infinite;
  background: url(../images/common/bg08.webp) no-repeat;
  background-size: contain;
}
#about:after {
  position: absolute;
  content: "";
  width: 70%;
  top: 15%;
  right: 0;
  height: 153%;
  z-index: -1;
  animation: bg4 12s ease-in-out infinite;
  background: url(../images/common/bg02.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 1900px) {
  .about_main {
    justify-content: flex-end;
  }
  .photo01 {
    width: 42%;
  }
  .photo02 {
    width: 12%;
  }
  .photo03 {
    width: 35%;
  }
  #about:before {
    width: 60%;
    height: 80%;
  }
}
@media print, screen and (max-width: 1900px) and (min-width: 1280px) {
  #about {
    margin-bottom: 360px;
  }
  .about_ttl {
    margin: 0 1% 0 3%;
  }
  .photo03 {
    bottom: unset;
    top: 106%;
  }
}
@media print, screen and (max-width: 1279px) {
  #about {
    margin-bottom: 60px;
  }
  .about_ttl {
    margin: 0 7% 0 3%;
  }
  .photo03 {
    bottom: 5%;
    top: unset;
    right: unset;
  }
}
@media print, screen and (max-width: 1120px) {
  .photo03 {
    bottom: 10%;
  }
}
@media print, screen and (max-width: 1024px) {
  .about_main {
    display: block;
  }
  .about_ttl {
    margin: 0 25px 35px;
  }
  .photo01 {
    width: 65%;
  }
  .photo02 {
    width: 16%;
    top: unset;
    bottom: 30%;
  }
  .photo03 {
    right: 3%;
  }
  #about:before {
    width: 100%;
    height: 47%;
    top: -7%;
  }
  #about:after {
    width: 83%;
    top: 26%;
  }
}
@media print, screen and (min-width: 768px) {
.photo01,
.photo02,
.photo03 {
  transform: translate(0, 50px);
}
}
@media print, screen and (max-width: 767.9px) {
.about_ttl {
  padding-top: 50px;
  margin: 0 15px 35px;
}
#about h2 {
  font-size: 30px;
  letter-spacing: 5px;
  margin-bottom: 25px;
  text-align: center;
}
.about_ttl p {
  line-height: 2;
  letter-spacing: 2px;
}
.photo01 {
  width: 75%;
}
.photo02 {
  bottom: 28%;
}
.photo03 {
  width: 49%;
  bottom: -4%;
}
}
@media print, screen and (max-width: 560px) {
#about:after {
  width: 100%;
  top: 20%;
}
}
@media print, screen and (max-width: 320px) {
#about h2 {
  font-size: 27px;
}
.photo02 {
  bottom: 24%;
}
}
@media print, screen and (min-width: 1921px) {
#about:before {
  height: 94%;
}
}

/* TOP concept
--------------------------------------------------------------　*/
#concept {
  display: flex;
}
#concept .ImgBox {
  width: 50%;
  position: relative;
}
.ImgBox_txt {
  overflow: hidden;
  padding: 73% 0 0;
  position: relative;
}
.ImgBox_link {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 101%;
  height: 101%;
  color: #fff;
  text-align: center;
  z-index: 2;
  background: rgba(0, 0, 0, 0.4);
}
.ImgBox_innner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
}
.ImgBox_img {
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 1;
}
@media print, screen and (min-width: 1921px) {
.ImgBox_img {
  width: 100%;
}
}
@media print, screen and (min-width: 768px) {
.ImgBox_img {
  transition: all 1s ease-in-out;
}
}
.ImgBox_link:hover {
  text-shadow: 0 0 35px rgba(0, 0, 0, 0.4);
  opacity: 1;
}
@media print, screen and (min-width: 768px) {
#concept .ImgBox {
  transform: translate(0, 50px);
}
#concept .ImgBox.fadeIn_content.fadein:nth-of-type(1) {
  transition-delay: 200ms;
}
#concept .ImgBox.fadeIn_content.fadein:nth-of-type(2) {
  transition-delay: 500ms;
}
.ImgBox_link:hover + .ImgBox_img {
  transform: scale3d(1.2, 1.2, 1);
}
}
main #concept h2 span.season {
  color: #fff;
  line-height: 2.5;
}
.ImgBox p {
  line-height: 2;
}
.ImgBox .link_btn {
  display: inline-block;
  max-width: 150px;
  font-size: 15px;
  padding: 0 25px 4px 0;
  border-bottom: 1px solid #a8a8a8;
  position: relative;
}
.ImgBox .link_btn:after {
  content: "";
  position: absolute;
  bottom: -7px;
  right: 2px;
  width: 13px;
  height: 13px;
  border-top: 1px solid #a8a8a8;
  transform: rotate(45deg);
}
@media print, screen and (max-width: 1500px) and (min-width: 1280px) {
  #concept h2 {
    margin: 0 auto 40px;
  }
}
@media print, screen and (max-width: 1279px) and (min-width: 1025px) {
  #concept h2 {
    margin: 0 auto 20px;
    font-size: 30px;
  }
  #concept .link_btn {
    margin-top: 20px;
  }
}
@media print, screen and (max-width: 1024px) {
  #concept {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #concept .ImgBox {
    width: 100%;
  }
  #concept .ImgBox_link {
    height: 101%;
  }
  #concept .ImgBox_img {
    top: -20%;
  }
  #concept .ImgBox_innner {
    top: 48%;
  }
}
@media print, screen and (max-width: 1024px) and (min-width: 971px) {
  #concept .ImgBox_img {
    width: 100%;
  }
}
@media print, screen and (max-width: 1024px) and (min-width: 768px) {
  #concept .ImgBox_txt {
    padding: 55% 0 0;
  }
}
@media print, screen and (max-width: 767.9px) {
  #concept h2 {
    font-size: 24px;
  }
  #concept .ImgBox_img {
    top: 0;
    min-height: 310px;
  }
  #concept .ImgBox .link_btn {
    margin-top: 10px;
  }
  #concept .ImgBox {
    /*min-height: 284px;*/
  }
  .ImgBox .link_btn {
    font-size: 14px;
}
}
@media print, screen and (max-width: 375px) {
  #concept .ImgBox_txt {
    padding: 80% 0 0;
  }
}
@media print, screen and (max-width: 320px) {
#concept .ImgBox {
  /*min-height: 256px;*/
}
#concept h2 {
  font-size: 22px;
  margin: 0 auto 10px;
}
}

/* TOP cuisine
--------------------------------------------------------------　*/
#cuisine {
  padding-top: 150px;
}
@media print, screen and (max-width: 1350px) and (min-width: 1025px) {
  #cuisine .wrap {
    padding: 0 100px;
  }
}
.cuisine_ttl {
  text-align: center;
  padding-bottom: 80px;
}
.cuisine_ttl p {
  line-height: 2;
}
.tabMenu {
  display: flex;
  justify-content: center;
  max-width: 670px;
  margin: 0 auto 50px;
  border: solid 1px #d8e3e9;
}
.tabMenu li {
  position: relative;
  width: 21%;
  cursor: pointer;
  text-align: center;
  padding: 20px 0;
  border-right: 1px solid #d8e3e9;
  background: #fff;
  font-size: 20px;
}
.tabMenu li:last-of-type {
  border-right: none;
}
.tabMenu li:before {
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #d8e3e9;
  transition: all 0.2s ease-in-out 0s;
}
.tabMenu li:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 101.5%;
  height: 1px;
  background:#8197b6;
  transition: all .6s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.tabMenu li.active:after, .tabMenu li:hover:after {
  transform: scale(1, 1);
}
.tabMenu li span {
  position: relative;
  display: block;
}
.tabMenu li span:after {
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
  position: absolute;
  z-index: -1;
}
.tabMenu li.active span:after {
  opacity: 1;
}
.tabMenu li.active:before {
  opacity: 1;
}
#cuisine .tabContents {
  /*transform: translate(0, 50px);*/
}
.tabContent {
  opacity: 0;
  height: 0;
  z-index: -1;
  overflow: hidden;
}
.tabContent.active {
  opacity: 1;
  z-index: 5;
  height: auto;
  overflow: auto;
}
.tabInner {
  opacity: 0;
  transition: all 0.6s ease-in-out 0s;
}
.tabContent.active .tabInner {
  opacity: 1;
}
.cuisine_slider .slick-slide {
  margin: 0 0.2%;
}
.top .cuisine_slider .slick-slide {
  margin: 0 0.14%;
}
.kawadoko .cuisine_slider .slick-slide {
  margin: 0 0.16%;
}
.irori .cuisine_slider .slick-slide {
  margin: 0 0.09%;
}
.cuisine_slider li {
  display: flex !important;
  align-items: center;
  height: 100%;
  justify-content: center;
}
.cuisine_slider .slick-prev,
.cuisine_slider .slick-next {
  z-index: 1;
  left: 50%;
  width: 0;
  height: 0;
}
.cuisine_slider .slick-next {
  right: 0;
}
.cuisine_slider .slick-prev:before,
.cuisine_slider .slick-next:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 50px;
  height: 50px;
  transition: 0.5s;
  border-top: 1px solid #8197b6;
}
.cuisine_slider .slick-prev:before {
  right: 500px;
  transform: rotate(-45deg);
  border-left: 1px solid #8197b6;
}
.cuisine_slider .slick-next:before {
  left: 500px;
  transform: rotate(45deg);
  border-right: 1px solid #8197b6;
}
@media print, screen and (max-width: 1350px) {
  .cuisine_slider .slick-prev:before {
    right: 400px;
    border-top: 4px solid #fff;
    border-left: 4px solid #fff;
  }
  .cuisine_slider .slick-next:before {
    left: 400px;
    border-right: 4px solid #fff;
    border-top: 4px solid #fff;
  }
}
@media print, screen and (max-width: 1187px) {
  .cuisine_slider .slick-prev {
    left: 0;
  }
  .cuisine_slider .slick-next {
    left: unset;
    right: 0;
  }
  .cuisine_slider .slick-prev:before {
    right: unset;
    left: 70px;
  }
  .cuisine_slider .slick-next:before {
    right: 70px;
    left: unset;
  }
}
@media print, screen and (max-width: 1024px) {
  .top .cuisine_slider .slick-slide,
  .cuisine_slider .slick-slide,
  .kawadoko .cuisine_slider .slick-slide,
  .irori .cuisine_slider .slick-slide,
  .rooms .cuisine_slider .slick-slide {
    margin: 0;
  }
  .cuisine_slider .slick-next {
    right: 10%;
  }
  .cuisine_slider .slick-next:before {
    right: -30px;
  }
  .cuisine_slider .slick-prev {
    left: 10%;
  }
  .cuisine_slider .slick-prev:before {
    left: -30px;
  }
}

#cuisine:before {
  position: absolute;
  content: "";
  width: 92%;
  top: -32%;
  left: -28%;
  height: 109%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg03.webp) no-repeat;
  background-size: contain;
}
#cuisine:after {
  position: absolute;
  content: "";
  width: 50%;
  bottom: -45%;
  left: -4%;
  height: 47%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg09.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 1400px) and (min-width: 1025px) {
  #cuisine:before {
    top: -15%;
  }
  #cuisine:after {
    bottom: -55%;
    left: 0;
  }
}
@media print, screen and (max-width: 1024px) {
  #cuisine {
    padding-top: 80px;
  }
  #cuisine:before {
    top: -8%;
    left: -15%;
    width: 95%;
  }
  #cuisine:after {
    width: 62%;
    bottom: -67%;
    left: -4%;
    height: 59%;
  }
  .cuisine_ttl {
    padding-bottom: 35px;
  }
}
@media print, screen and (max-width: 767.9px) {
  #cuisine {
    padding-top: 50px;
  }
  .cuisine_ttl {
    padding: 0 15px 25px;
  }
  .tabMenu {
    margin: 0 auto 30px;
    max-width: 345px;
  }
  .tabMenu li {
    font-size: 14px;
    width: 18%;
    padding: 10px 0;
  }
  .tabMenu li:last-of-type {
    width: 30%;
  }
  #cuisine .slick-next:before, .cuisine_slider .slick-next:before {
    right: -20px;
  }
  #cuisine .slick-prev:before, .cuisine_slider .slick-prev:before {
    left: -20px;
  }
}
@media print, screen and (max-width: 560px) {
#cuisine:after {
  width: 90%;
  bottom: -73%;
  left: 0;
}
}
@media print, screen and (max-width: 1350px) and (min-width: 1025px) {
.page .slide_carousel {
    padding: 0 100px;
}
.page .slide_carousel.mini {
  padding: 0;
}
}

/* TOP Guest Rooms
--------------------------------------------------------------　*/
#rooms {
  padding-top: 150px;
  padding-bottom: 150px;
}
#rooms .wrap {
  padding: 0 100px;
}
.rooms_ttl {
  text-align: center;
  padding-bottom: 80px;
}
.rooms_ttl p {
  line-height: 2;
}
#rooms .rooms_inner {
  display: flex;
  justify-content: space-between;
}
#rooms li {
  width: 33%;
  position: relative;
}
#rooms .room_ttl {
  position: relative;
  color: #fff;
}
#rooms .room_ttl h2 {
  position: absolute;
  top: 7%;
  left: 7%;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  font-size: 40px;
  line-height: 1;
  z-index: 1;
}
#rooms .room_ttl h2 span {
  color: #fff;
}
#rooms .room_etc {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  transition: 0.8s;
  cursor: pointer;
  overflow: hidden;
}
@media print, screen and (max-width: 767.9px) {
#rooms .room_etc {
  display: none;
}
}
#rooms .room_etc:hover {
  opacity: 1;
}
#rooms a:hover {
  opacity: 1;
}
.room_inner {
  position: absolute;
  bottom: 10%;
}
#rooms h4 {
  margin-bottom: 40px;
  font-size: 21px;
  font-weight: 500;
}
#rooms .room_inner a:hover {
  opacity: 1;
}
.room_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 71%;
  padding-top: 10%;
}
.room_txt {
  line-height: 2;
}
#rooms .link_btn {
  max-width: 110px;
  font-size: 15px;
  padding: 0 25px 5px 0;
  border-bottom: 1px solid #a8a8a8;
  position: relative;
  margin: 40px 0 0 auto;
}
#rooms .link_btn:after {
  content: "";
  position: absolute;
  bottom: -7px;
  right: 2px;
  width: 13px;
  height: 13px;
  border-top: 1px solid #a8a8a8;
  transform: rotate(45deg);
}
#rooms:before {
  position: absolute;
  content: "";
  width: 59%;
  top: 4%;
  right: 0;
  height: 74%;
  z-index: -1;
  animation: bg3 12s ease-in-out infinite;
  background: url(../images/common/bg04.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 1700px) and (min-width: 1501px) {
#rooms .room_ttl h2 {
  font-size: 30px;
}
#rooms h4 {
  margin-bottom: 20px;
  font-size: 21px;
}
.room_inner {
  width: 89%;
  padding-top: 5%;
}
.room_txt {
  font-size: 16px;
}
}
@media print, screen and (max-width: 1500px) and (min-width: 1025px) {
#rooms .room_ttl h2 {
  font-size: 26px;
  top: 4%;
  left: 5%;
}
.room_txt {
  font-size: 15px;
}
#rooms .link_btn {
  margin: 10px 0 0 auto;
}
.room_inner {
  width: 88%;
  padding-top: 3%;
}
#rooms h4 {
  margin-bottom: 12px;
  font-size: 20px;
}
.room_txt {
  line-height: 1.8;
}
}
@media print, screen and (max-width: 1279px) and (min-width: 1025px) {
#rooms .wrap {
  padding: 0 100px 0 0;
}
.rooms_ttl {
  padding-left: 100px;
}
#rooms .link_btn_bk {
  padding-left: 100px;
}
}
@media print, screen and (max-width: 1180px) and (min-width: 1025px) {
.room_inner {
  width: 91%;
  padding-top: 0;
  top: 48%;
}
#rooms .room_ttl h2 {
  writing-mode: unset;
  -ms-writing-mode: unset;
  line-height: 1.2;
  top: 0;
  left: 4%;
  margin: 0;
}
#rooms .room_ttl h2 span {
  font-size: 14px;
}
#rooms h4 {
  font-size: 17px;
}
.room_txt {
  font-size: 14px;
  line-height: 1.5;
}
}
@media print, screen and (max-width: 1024px) {
#rooms {
  padding-top: 80px;
  padding-bottom: 80px;
}
#rooms .wrap {
  padding: 0;
}
.rooms_ttl {
  padding-bottom: 40px;
}
#rooms .rooms_inner {
  flex-wrap: wrap;
}
#rooms li {
  width: 100%;
  height: 350px;
  overflow: hidden;
}
#rooms .room_ttl h2 {
  writing-mode: unset;
  -ms-writing-mode: unset;
  line-height: 1.3;
  left: 5%;
}
#rooms .room_ttl img {
  position: absolute;
  width: 100%;
}
}
@media print, screen and (max-width: 1024px) and (min-width: 768px) {
.room_txt {
  font-size: 15px;
}
#rooms .room_ttl img {
  top: -300px;
}
#rooms .link_btn {
  margin: 10px 0 0 auto;
}
.room_inner {
  width: 88%;
  padding-top: 3%;
}
#rooms h4 {
  margin-bottom: 12px;
  font-size: 20px;
}
.room_txt {
  line-height: 1.8;
}
}
@media print, screen and (min-width: 768px) {
#rooms li {
  /*width: 33%;*/
  position: relative;
  transform: translate(0, 50px);
}
#rooms li.fadeIn_content.fadein:nth-of-type(2) {
  transition-delay: 300ms;
}
#rooms li.fadeIn_content.fadein:nth-of-type(3) {
  transition-delay: 600ms;
}
}
@media print, screen and (max-width: 767.9px) {
#rooms {
  padding-top: 50px;
  padding-bottom: 50px;
}
.rooms_ttl {
  padding: 0 15px 30px;
}
#rooms:before {
  width: 50%;
}
#rooms li {
  height: 250px;
}
#rooms .room_ttl h2 {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  height: 150px;
  top: 20px;
}
#rooms .link_btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
  color: #fff;
  border-bottom: 1px solid #fff;
}
#rooms .link_btn:after {
  border-top: 1px solid #fff;
}
}
@media print, screen and (max-width: 767.9px) and (min-width: 501px) {
#rooms .room_ttl img {
  top: -230px;
}
}
@media print, screen and (max-width: 500px) and (min-width: 371px) {
#rooms .room_ttl img {
top: -100px;
}
}
@media print, screen and (max-width: 370px) {
#rooms .room_ttl img {
  top: -40px;
}
}
@media print, screen and (max-width: 560px) {
#rooms:before {
  width: 74%;
}
}
@media print, screen and (max-width: 320px) {
#rooms li {
  height: 225px;
}
}
@media print, screen and (min-width: 1921px) {
#rooms:before {
  width: 44%;
}
#rooms li {
  max-width: 590px;
}
#rooms .room_etc {
  max-width: 590px;
}
#rooms .rooms_inner {
  justify-content: space-evenly;
}
}
/* TOP Plan
--------------------------------------------------------------　*/
#plan {
  padding: 100px 0;
  background: #fff;
  z-index: 1;
}
#plan .wrap {
  padding: 0 100px;
  margin: 0 auto;
}
.plan_ttl {
  text-align: center;
  padding-bottom: 60px;
}
#plan .tabWrap {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
#plan .ptabMenu {
  display: flex;
  justify-content: center;
  margin: 0 auto 50px;
  border-bottom: solid 1px #d8e3e9;
  max-width: 1200px;
}
#plan .ptabMenu li {
  position: relative;
  cursor: pointer;
  text-align: center;
  background: #fff;
  font-size: 20px;
  width: 25%;
  padding: 15px 0;
  border-left: 1px solid #d8e3e9;
  border-top: 1px solid #d8e3e9;
  border-right: 1px solid #d8e3e9;
}
#plan .ptabMenu li:first-of-type {
  margin-right: 10px;
}
#plan .ptabMenu li:before {
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #d8e3e9;
  transition: all 0.2s ease-in-out 0s;
}
#plan .ptabMenu li span {
  position: relative;
  display: block;
}
#plan .ptabMenu li span:after {
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
  position: absolute;
  z-index: -1;
}
#plan .ptabMenu li.active span:after {
  opacity: 1;
}
#plan .ptabMenu li.active:before {
  opacity: 1;
}
#plan .ptabMenu li:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 100.6%;
  height: 1px;
  background:#8197b6;
  transition: all .6s;
  transform: scale(0, 1);
  transform-origin: left top;
}
#plan .ptabMenu li.active:after, #plan .ptabMenu li:hover:after {
  transform: scale(1, 1);
}
#plan .ptabContents {
  max-width: 1200px;
  margin: 0 auto 25px;
  border-bottom: solid 1px #d8e3e9;
}
#plan .ptabContents li {
  width: 30%;
}
#plan .ptabContent {
  opacity: 0;
  height: 0;
  overflow: hidden;
  transition: all 0.6s ease-in-out 0s;
}
#plan .ptabContent.active {
  opacity: 1;
  height: auto;
  overflow: auto;
}
/*#plan .ptabInner {
  opacity: 0;
  transition: all 0.6s ease-in-out 0s;
}
#plan .ptabContent.active .ptabInner {
  opacity: 1;
}*/
#plan h3 {
  margin: 30px auto 20px;
  font-weight: 600;
}
.price {
  margin-top: 15px;
  font-size: 15px;
  text-align: center;
}
.price span {
  color: #867229;
  font-size: 25px;
  font-weight: 600;
}
#plan .link_btn_bk {
  display: flex;
  justify-content: center;
  margin: 40px auto 0;
}
#plan .link_btn_bk a:first-of-type {
  margin-right: 10px;
  background: #867229;
}
#plan .link_btn_bk a:last-of-type {
  background: #604e0c;
}
#plan:before {
  position: absolute;
  content: "";
  width: 30%;
  top: 0;
  left: 0;
  height: 80%;
  z-index: -1;
  animation: bg2 12s ease-in-out infinite;
  background: url(../images/common/bg06.webp) no-repeat;
  background-size: contain;
}
#plan:after {
  position: absolute;
  content: "";
  width: 47%;
  bottom: -5%;
  right: 0;
  height: 68%;
  z-index: -1;
  animation: bg4 12s ease-in-out infinite;
  background: url(../images/common/bg07.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 1800px) and (min-width: 1501px) {
  #plan:after {
    width: 54%;
    height: 74%;
    bottom: -13%;
  }
}
@media print, screen and (max-width: 1500px) and (min-width: 1280px) {
  #plan:after {
    width: 58%;
    bottom: -11%;
    height: 65%;
  }
}
@media print, screen and (max-width: 1280px) {
  #plan .ptabContents li {
    width: 32%;
  }
  #plan:before {
    width: 38%;
  }
  #plan:after {
    width: 68%;
    bottom: -16%;
    height: 65%;
  }
}
@media print, screen and (max-width: 1024px) {
  #plan {
    padding: 60px 0 80px;
  }
  #plan .wrap {
    padding: 0 25px;
  }
  .plan_ttl {
    padding-bottom: 35px;
  }
  #plan .ptabMenu li {
    width: 30%;
  }
  #plan:before {
    width: 55%;
  }
  #plan:after {
    width: 91%;
    bottom: -27%;
    height: 79%;
  }
}
@media print, screen and (min-width:1281px) {
#plan .tabWrap li {
  margin-right: 5%;
}
}
@media print, screen and (max-width: 1280px) and (min-width:768px) {
#plan .tabWrap li {
  margin-right: 2%;
}
}
@media print, screen and (min-width: 768px) {
#plan .ptabContents {
  transform: translate(0, 50px);
}
#plan .tabWrap li:last-of-type {
  margin-right: 0;
}
}
@media print, screen and (max-width: 767.9px) {
  #plan {
    padding: 30px 0 50px;
  }
  #plan .wrap {
    padding: 0 15px;
  }
  #plan .ptabMenu li {
    width: 42%;
    font-size: 14px;
    padding: 10px 0;
  }
  #plan .ptabMenu {
    margin: 0 auto 30px;
  }
  #plan .tabWrap {
    flex-direction: column;
  }
  #plan .ptabContents li {
    width: 100%;
    margin-bottom: 40px;
  }
  #plan h3 {
    margin: 20px auto 15px;
  }
  .price {
    margin-top: 10px;
    font-size: 14px;
  }
  .price span {
    font-size: 21px;
}
  #plan .tabWrap {
    margin-bottom: 0;
  }
  #plan .link_btn_bk {
    flex-direction: column;
    margin: 30px auto 0;
  }
  #plan .link_btn_bk a:first-of-type {
    margin-right: auto;
  }
  #plan .link_btn_bk a {
    margin: 0 auto 10px;
  }
  .plan_inner {
    text-align: center;
  }
}
@media print, screen and (max-width: 560px) {
#plan:after {
  bottom: -9%;
  width: 100%;
  height: 27%;
}
}
@media print, screen and (min-width: 1921px) {
#plan:after {
  width: 29%;
}
}

/* TOP Instagram
--------------------------------------------------------------　*/
#insta {
  padding-top: 120px;
  padding-bottom: 150px;
  background: #2e3039 url(../images/top/insta_bg.jpg) no-repeat;
  background-size: cover;
  z-index: 1;
}
.insta_ttl {
  text-align: center;
  color: #fff;
}
#insta h2 {
  margin-bottom: 80px;
}
#insta .wrap {
  padding: 0 100px;
  margin: 0 auto;
}
.insta_inner {
  max-width: 1200px;
  margin: 0 auto;
}
#insta:before {
  position: absolute;
  content: "";
  width: 100%;
  top: 6%;
  left: 0;
  height: 100%;
  z-index: -1;
  animation: bg3 12s ease-in-out infinite;
  background: url(../images/common/bg05.webp) no-repeat;
  background-size: contain;
}
#sb_instagram #sbi_load .sbi_load_btn, #sb_instagram .sbi_follow_btn a {
  border-radius: 0!important;
  padding: 10px 23px!important;
  margin: 10px auto 0 auto!important;
}
@media print, screen and (max-width: 1024px) {
#insta {
  padding-top: 80px;
  padding-bottom: 80px;
}
#insta .wrap {
  padding: 0 25px;
}
}
@media print, screen and (max-width: 767.9px) {
#insta {
  padding-top: 50px;
  padding-bottom: 50px;
}
#insta h2 {
  margin-bottom: 30px;
}
#insta .wrap {
  padding: 0 15px;
}
}
@media print, screen and (max-width: 560px) {
#insta:before {
  width: 137%;
  top: 13%;
  left: -43%;
  animation: bg 12s ease-in-out infinite;
}
}
@media print, screen and (max-width: 480px) {
#sb_instagram #sbi_images {
    padding: 5px 0!important;
}
#sb_instagram #sbi_images .sbi_item {
    padding: 1px!important;
}
#sb_instagram #sbi_images .sbi_item:first-of-type, #sb_instagram #sbi_images .sbi_item:nth-of-type(5) {
    padding-left: 0!important;
}
#sb_instagram #sbi_images .sbi_item:last-of-type, #sb_instagram #sbi_images .sbi_item:nth-of-type(4) {
    padding-right: 0!important;
}
}
@media print, screen and (max-width: 320px) {
#insta h2 {
  font-size: 28px;
}
}

/* TOP Power spot
--------------------------------------------------------------　*/
#powerspot {
}
#powerspot .wrap {
  overflow: hidden;
  padding: 31% 0 0;
  position: relative;
  min-height: 500px;
}
#powerspot .ImgBox_link {
  background: none;
  text-align: unset;
  top: 0;
  left: 0;
  transform: unset;
  width: 100%;
}
_:-ms-input-placeholder, :root #powerspot .ImgBox_link {
  top: 45px;
  height: 0;
}
_:-ms-input-placeholder, :root #powerspot .powerspot_ttl {
  right: -30%;
}
@media print, screen and (min-width: 768px) {
#powerspot .ImgBox_link:hover + .ImgBox_img {
  transform: scale3d(1.1, 1.1, 1);
}
}
.powerspot_ttl {
  position: absolute;
  top: 18%;
  right: 14%;
  color: #fff;
  max-width: 1530px;
  display: flex;
  flex-direction: row-reverse;
}
#powerspot h2 {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  margin: 0 0 0 70px;
}
#powerspot p {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  line-height: 2.5;
  padding-top: 80px;
}
#powerspot .link_btn {
  margin-top: 180px;
  color: #fff;
  padding: 0 25px 25px 0;
  border-bottom: none;
  border-left: 1px solid #a8a8a8;
  text-align: left;
  position: relative;
}
#powerspot .link_btn:after {
  content: "";
  position: absolute;
  bottom: 2px;
  right: unset;
  left: -7px;
  width: 13px;
  height: 13px;
  border-top: none;
  border-right: 1px solid #a8a8a8;
  transform: rotate(45deg);
}
#powerspot .ImgBox_img {
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 1;
  min-height: 100%;
  max-width: fit-content;
}
@media print, screen and (min-width: 768px) {
#powerspot .ImgBox_img {
  transition: all 1s ease-in-out;
}
}
@media print, screen and (max-width: 1400px) {
  #powerspot .ImgBox_img {
    left: -19%;
  }
}
@media print, screen and (max-width: 1024px) {
  #powerspot .ImgBox_img {
    left: -46%;
  }
}
@media print, screen and (max-width: 767.9px) {
  #powerspot .wrap {
    padding: 50px 0 0;
    min-height: 400px;
  }
  #powerspot .ImgBox_img {
    right: -64%;
    left: unset;
  }
  .powerspot_ttl {
    top: 15%;
    right: 5%;
  }
  #powerspot h2 {
    margin: 0 0 0 25px;
  }
  #powerspot p {
    line-height: 2;
    padding-top: 50px;
  }
  #powerspot .link_btn {
    margin-top: 140px;
    padding: 0 20px 25px 0;
  }
  #powerspot .ImgBox_img {
    right: -850px;
    left: unset;
  }
}
@media print, screen and (max-width: 360px) {
#powerspot h2 {
    margin: 0 0 0 20px;
}
}
@media print, screen and (max-width: 320px) {
.powerspot_ttl {
  right: 0;
}
#powerspot h2 {
  margin: 0 0 0 8px;
}
#powerspot .link_btn {
  padding: 0 10px 25px 0;
}
}
@media print, screen and (min-width: 1921px) {
#powerspot .ImgBox_img {
  max-width: unset;
}
}

/* TOP Directions
--------------------------------------------------------------　*/
#access {
  padding-top: 150px;
  padding-bottom: 150px;
}
#access .wrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 100px;
}
.access_ttl {
  display: flex;
  justify-content: space-between;
}
#access h2 {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  min-width: 10%;
  margin: 0;
}
.pickup {
  width: calc(100% - 15%);
  padding-top: 30px;
}
.pickup p:nth-of-type(2) {
  line-height: 2;
}
#access h3 {
  font-size: 19px;
  font-weight: 600;
  margin: 30px auto 10px;
}
.pickup span {
  color: #867229;
  font-weight: 600;
}
#access .link_btn_bk {
  text-align: left;
  margin: 55px auto 40px;
}
#access:before {
  position: absolute;
  content: "";
  width: 90%;
  top: -7%;
  left: -13%;
  height: 107%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg10.webp) no-repeat;
  background-size: contain;
}
.gmap {
  padding-top: 80px;
}
.gmap iframe {
  -webkit-filter: grayscale(40%);
  -moz-filter: grayscale(40%);
  -ms-filter: grayscale(40%);
  -o-filter: grayscale(40%);
  filter: grayscale(40%);
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  transition: all 0.7s ease;
}
.gmap iframe:hover,
.gmap object:hover,
.gmap embed:hover {
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
  -ms-filter: grayscale(0%);
  -o-filter: grayscale(0%);
  filter: grayscale(0%);
}
@media print, screen and (max-width: 1280px) {
  #access:before {
    width: 110%;
    top: -5%;
    left: -19%;
    height: 111%;
  }
}
@media print, screen and (max-width: 1024px) {
  #access {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  #access .wrap {
    padding: 0 25px;
  }
  #access:before {
    top: 5%;
  }
}
@media print, screen and (max-width: 767.9px) {
  #access {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  #access .wrap {
    padding: 0 15px;
  }
  .access_ttl {
    flex-direction: column;
  }
  #access h2 {
    writing-mode: unset;
    -ms-writing-mode: unset;
    text-align: center;
  }
  .pickup {
    width: 100%;
  }
  #access .link_btn_bk {
    text-align: center;
    margin: 30px auto 30px;
  }
}
@media print, screen and (max-width: 560px) {
#access:before {
  width: 114%;
}
}
@media print, screen and (max-width: 320px) {
#access h3 {
  font-size: 17px;
}
}

/* TOP Footer
--------------------------------------------------------------　*/
footer {
  background: #525658;
  padding-top: 135px;
  padding-bottom: 70px;
  color: #a8a8a8;
}
footer a {
  color: #fff;
}
footer a.tel {
  color: #a8a8a8;
}
footer .wrap {
  padding: 0 100px;
}
.footer_inner {
  display: flex;
  justify-content: space-between;
  padding-bottom: 50px;
}
.footer_left,
.footer_right {
  display: flex;
  /*align-items: flex-end;*/
}
.footer_logo {
  text-align: center;
}
.footer_address {
  font-size: 15px;
  margin-left: 60px;
}
address {
  font-style: normal;
  line-height: 2;
  padding-top: 55px;
  padding-bottom: 35px;
}
.footer_address span {
  display: block;
}
.footer_address ul {
  display: flex;
  padding-bottom: 0;
}
.footer_address li:first-of-type {
  margin-right: 3%;
}
.footer_address ul a {
  font-size: 13px;
  text-decoration: underline;
}
.footer_insta img {
  width: 27px;
}
.footer_rsv {
  margin-left: 50px;
  margin-right: 0;
}
.footer_nav {
  margin-left: auto;
}
.footer_nav ul {
  column-count: 3;
}
.footer_nav li {
  padding-bottom: 24px;
}
@media print, screen and (min-width: 1541px) {
/*.footer_nav li:nth-of-type(4n) {
  padding-bottom: 0;
}*/
}
.footer_rsv li:first-of-type {
  margin-bottom: 10px;
}
.footer_rsv a {
  display: inline-block;
  position: relative;
  background: #867229;
  color: #fff;
  min-width: 280px;
  padding: 15px 70px;
  width: 100%;
  z-index: 1;
  text-align: center;
}
.footer_srsv a {
  background: url(../images/common/icon_srsv.svg) #867229 no-repeat 20px;
  background-size: 30px;
}
.footer_drsv a {
  background: url(../images/common/icon_drsv.svg) #604e0c no-repeat 20px;
  background-size: 30px;
}
.footer_rsv a:after {
  content: "";
  background: url(../images/common/btn_next.svg) no-repeat;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 25px;
  height: 8px;
}
@media print, screen and (min-width: 768px) {
.footer_rsv a:after {
  transition: 0.6s;
}
.footer_rsv a:hover:after {
  right: 7px;
}
}
.footer_rsv a:hover {
  opacity: 0.85;
}
.copy {
  text-align: right;
  padding-right: 35px;
  font-size: 13px;
  letter-spacing: 1.5px;
}
@media print, screen and (max-width: 1660px) and (min-width: 1541px) {
.footer_address {
  margin-left: 40px;
}
.footer_rsv {
  margin-left: 40px;
}
}
@media print, screen and (max-width: 1540px) {
  footer {
    padding-top: 80px;
    padding-bottom: 45px;
  }
  .footer_inner {
    padding-bottom: 20px;
  }
  .footer_left {
    display: grid;
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer_right {
    flex-wrap: wrap;
    width: 60%;
    align-items: flex-end;
    align-content: flex-end;
  }
  .footer_address ul {
    padding-bottom: 0;
  }
  address {
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .footer_nav ul {
    column-count: 4;
  }
  .footer_nav {
    margin-left: 0;
    padding-bottom: 20px;
  }
  .footer_rsv {
    margin: 0;
  }
  .footer_address {
    margin-left: 0;
  }
}
@media print, screen and (max-width: 1540px) and (min-width: 1025px) {
  .footer_rsv li:first-of-type {
    margin-bottom: 3px;
    margin-right: 10px;
  }
}
@media print, screen and (max-width: 1540px) and (min-width: 1180px) {
  .footer_rsv ul {
    display: flex;
  }
}
@media print, screen and (max-width: 1279px) {
  .footer_right {
    margin-left: 40px;
  }
  .footer_nav ul {
    column-count: 3;
  }
  .footer_rsv li:first-of-type {
    margin-bottom: 10px;
  }
  .footer_right {
    width: 55%;
  }
}
@media print, screen and (max-width: 1179px) {
.footer_rsv li:first-of-type {
  margin-right: 0;
}
}
@media print, screen and (max-width: 1024px) {
  footer {
    padding-bottom: 30px;
  }
  footer .wrap {
    padding: 0 25px;
  }
  .footer_inner > div {
    width: 48%;
  }
  .footer_nav ul {
    column-count: 2;
  }
  .footer_nav li {
    padding-bottom: 15px;
  }
  .footer_address,
  .footer_right {
    margin-left: 0;
  }
  .footer_right {
    justify-content: center;
  }
  .copy {
    padding-right: 0;
    padding-top: 15px;
    text-align: center;
  }
}
@media print, screen and (max-width: 767.9px) {
  footer {
    padding-top: 60px;
  }
  footer .wrap {
    padding: 0 15px;
  }
  .footer_inner {
    flex-direction: column-reverse;
    align-items: center;
  }
  .footer_right {
    display: grid;
    margin-bottom: 40px;
  }
  .footer_inner > div {
    width: 100%;
  }
  .footer_logo {
    width: 130px;
    margin: 0 auto;
}
  .footer_address ul {
    justify-content: space-evenly;
  }
  .footer_nav {
    margin: 0 auto;
  }
  .copy {
    padding-top: 40px;
  }
  .footer_nav ul {
    column-count: unset;
    display: flex;
    flex-wrap: wrap;
}
.footer_nav li {
    width: 33.333%;
    text-align: center;
}
.footer_nav li:nth-of-type(10), .footer_nav li:last-of-type {
    letter-spacing: 0;
}
.footer_address {
    font-size: 14px;
}
.footer_rsv {
  margin: 0 auto;
}
.footer_rsv a {
  width: 80%;
}
}
@media print, screen and (max-width: 320px) {
.footer_nav li {
  width: 32.333%;
}
.footer_nav li:nth-of-type(3), .footer_nav li:last-of-type {
  width: 35%;
}
.footer_address {
  letter-spacing: 1px;
}
.footer_address ul a {
  font-size: 12px;
}
}

/* MV上お知らせコンテンツ--------
---------------------------------------- */
.mv-info {
  position: absolute;
  background-color: rgba(255,255,255, 0.9);
  z-index: 1;
}
_:-ms-input-placeholder, :root .mv-info {
  z-index: 100;
}
.mv-info h3 {
  background-color: #333;
  color: #fff;
  text-align: center;
  padding: 7px;
}
.mv-info__wrap {
  overflow-y: scroll;
  padding: 20px;
}
.mv-info__wrap::-webkit-scrollbar {
  width: 5px;
}
.mv-info__wrap::-webkit-scrollbar-track {
  background-color: #d8e3e9;
  border-radius: 100px;
}

.mv-info__wrap::-webkit-scrollbar-thumb {
  background-color: #a2b4be;
  border-radius: 100px;
}
.mv-info__wrap dl {
  margin-bottom: 20px;
}
.mv-info__wrap dt {
  position: relative;
  padding-bottom: 13px;
  margin-bottom: 10px;
}
.mv-info__wrap dt:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #d8e3e9;
  width: 70px;
  height: 1px;
}
.mv-info__wrap dt:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #2970d1;
  width: 25px;
  height: 1px;
}

@media print, screen and (max-width: 767.9px) {
  .mv-info{
    left: 0;
    right: 0;
    margin: auto;
    bottom: 80px;
    max-width: 90%;
  }
  .mv-info__wrap {
    height: 103px;
  }
  .mv-info__wrap dd {
    font-size: 12px;
  }
}
@media print, screen and (min-width: 768px)  {
  .mv-info{
    left: 20px;
    width: 40%;
    bottom: 20px;
    max-width: 380px;
  }
  .mv-info__wrap {
    height: 130px;
  }
  .mv-info__wrap dd {
    font-size: 14px;
  }
}
/*
  お知らせ修正検討

@media print, screen and (max-width: 767.9px) {
.news_info {
    flex-direction: column;
    font-size: 14px;
    margin-bottom: 7px;
}
#news .slick-slide {
    margin: 0 0.2%;
}
.news_info .date {
    padding-right: 0;
}

.news_info .date:after {content: none;}

.news_txt {
    margin-top: 12px;
}
.news_slider {
    margin-left: 5px;
}
}*/

/*
  下層フリーテキスト
*/
.sub_lead p {
  line-height: 2;
}
/*
  下層サブメニュー
*/
.tab ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.tab ul li {
  width: 27%;
  margin: 10px;
}
.tab ul li a {
  display: block;
  position: relative;
  line-height: 0;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}
.tab ul li a:before {
background: rgba(0, 0, 0, 0.4);
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}
.tab ul li a h4 {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  margin: -31px 0 0 0;
  text-align: center;
  line-height: 1.4em;
}
.tab ul li a h4 .name_ttl {
  font-size: 21px;
  color: #fff;
text-shadow: 2px 2px 18px #060001;
}
.under_line {
  width: 25px;
  height: 1px;
  display: block;
  margin: 0 auto 20px;
}
.phonetic {
  font-size: 14px;
  display: block;
}
.more_btn {
  position: relative;
}
.tab ul li a .more_btn {
  position: absolute;
  bottom: 10%;
  color: #fff;
  font-size: 80%;
  font-weight: normal;
  text-shadow: 2px 2px 18px #060001;
  right: 5%;
}
.tab ul li a:after {
content: "";
width: calc(100% - 20px);
height: calc(100% - 20px);
display: block;
margin: 10px 0 0 10px;
border: 1px solid #fff;
position: absolute;
top: 0;
left: 0;
}
.tab ul li a:hover {
opacity:1;
}
.tab ul li a:hover:before {
  background: rgba(0, 0, 0, 0.1);
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}
@media print, screen and (max-width: 767.9px) {
.tab ul li a:after {
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  margin: 5px 0 0 5px;
}
.phonetic {
  font-size: 12px;
}
}
@media print, screen and (max-width: 560px) {
.tab ul li {
  width: 30%;
  margin: 5px;
}
.under_line {
  margin: 0 auto 5px;
  line-height: 0.6;
}
.phonetic {
  font-size: 9px;
}
.tab ul li a h4 .name_ttl {
  position: relative;
  top: 8px;
  font-size: 14px;
  letter-spacing: 0;
}
}
.tablink ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.tablink li {
  width: 19%;
  background: #d8e3e9;
  text-align: center;
  padding: 5px 5px 20px;
  margin: 5px 10px 10px 0;
}
.tablink li:last-of-type {
  margin-right: 0;
}
.tablink li h4 {
  padding: 13px 10px 10px;
  position: relative;
  line-height: 1.2;
  font-size: 21px;
  /*text-shadow: 0 0 #333;*/
  font-weight: 600;
}
.tablink li a {
  color: #333;
}
.tablink li h4:after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #041a36;
  border-right: 1px solid #041a36;
  transform: rotate(45deg);
}
.tablink li a small {
  font-size: 14px;
  font-weight: normal;
  font-family: 'Noto Serif JP';
}
.tablink li:hover,
.tablink li a:hover {
  opacity: 1;
  background: #b1bfd2;
}
.tablink li a:hover img {
  opacity: 1;
}
@media print, screen and (max-width: 1080px) {
.tablink li h4 {
  font-size: 19px;
}
}
@media print, screen and (max-width: 960px) {
.tablink li {
  width: 32%;
}
}
@media print, screen and (max-width: 767.9px) {
.tablink li {
  width: 31%;
}
.tablink li:nth-of-type(3) {
  margin-right: 0;
}
.tablink li h4 {
  font-size: 14px;
  padding: 10px 0 5px;
}
.tablink li a small {
  font-size: 11px;
}
}
@media print, screen and (min-width: 768px) {
.tablink li:hover,
.tablink li a:hover {
 transition: 0.6s;
}
}
@media print, screen and (max-width: 560px) {
.tab ul li {
  width: 30%;
  margin: 5px;
}
}
@media print, screen and (max-width: 360px) {
.tablink li h4 {
    font-size: 13px;
}
}
@media print, screen and (max-width: 320px) {
.tablink li h4 {
    font-size: 12px;
    letter-spacing: 1px;
}
.tablink li a small {
  font-size: 10px;
}
}
/*
  料理ページ
*/
.txt_imgarea.bg3 {
  background: url(/wp/wp-content/themes/s-original/assets/images/page/bg_blue.jpg) 0 0 no-repeat;
  background-size: cover;
}
.txt_imgarea.bg3 .inner {
  background-image: url(/wp/wp-content/themes/s-original/assets/images/page/water_bg01-1.png), url(/wp/wp-content/themes/s-original/assets/images/page/water_bg01-2.png);
  background-repeat: no-repeat;
}
@media print, screen and (min-width: 1280px) {
.txt_imgarea.bg3 .img_top03 > li .txt_area h4 {
  font-size: 27px;
  font-weight: normal;
}
}
@media print, screen and (max-width: 1279px) {
.txt_imgarea.bg3 .img_top03 > li .txt_area h4 {
  font-size: 21px;
}
}
@media print, screen and (max-width: 1160px) {
  .txt_imgarea.bg3 .inner {
    background-size: 235px, 300px;
}
}
@media print, screen and (min-width: 961px) {
.txt_imgarea.bg3 .inner {
    padding: 120px 0;
}
}
@media print, screen and (max-width: 960px) {
.txt_imgarea.bg3 .inner {
    padding: 50px 15px;
}
}
@media print, screen and (min-width: 768px) {
.txt_imgarea.bg3 .inner  {
  background-position: 0 95%, 95% -50px;
}
}
@media print, screen and (max-width: 767.9px) {
.txt_imgarea.bg3 .inner  {
  background-position: 0 99%, 235px 5px;
}
}
@media print, screen and (max-width: 560px) {
.txt_imgarea.bg3 .img_top03 > li .txt_area h4 {
  font-size: 19px;
}
}
@media print, screen and (max-width: 1279px) and (min-width: 961px) {
.somen_att .tbl_contents .tbl_flex {
  display: block;
}
.tbl_contents .tbl_flex > li:first-of-type {
  width: 100%;
  margin-bottom: 30px;
  text-align: center;
  margin-bottom: 50px;
}
.tbl_contents .tbl_flex > li:nth-child(2) {
    width: 100%;
}
}
.menuinfo {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: 5px;
}
.menuinfo li:first-of-type {
  min-width: 195px;
}
@media print, screen and (max-width: 767.9px) {
.limitP {
  margin-bottom: 10px;
}
}
.limit {
  font-weight: 600;
  background: #d8e3e9;
  padding: 3px 15px;
  display: inline-block;
    margin-bottom: 10px;
}
.bg3 .limit {
  background: #fff;
}
.menuprice {
  font-size: 15px;
  text-align: right;
}
@media print, screen and (max-width: 767.9px) {
.menuprice {
  font-size: 15px;
  text-align: right;
}
}
.menuprice span {
  color: #867229;;
  font-size: 25px;
  font-weight: 600;
}
@media print, screen and (min-width: 801px) and (max-width: 1420px) {
.kaiseki .menuprice span {
    font-size: 25px;
}
}
@media print, screen and (min-width: 768px) and (max-width: 800px) {
.kaiseki .menuprice span {
    font-size: 23px;
}
}
@media print, screen and (max-width: 767.9px) {
.menuprice span {
    font-size: 21px;
}
}
@media print, screen and (max-width: 1620px) {
br.kaisekibr_zei {
display:block;
}
}
@media print, screen and (min-width: 1621px) {
br.kaisekibr_zei {
display:none;
}
}
@media print, screen and (max-width: 1340px) {
br.kaisekibr_zei {
  display:none;
}
/*br.kaisekibr_matsu {
  display:block;
}*/
}
@media print, screen and (min-width: 601px) {
br.kaisekibr_matsu {
  display:none;
}
}
@media print, screen and (max-width: 1400px) and (min-width: 1281px) {
.kaisekibr_zei2 {
display: block;
}
}
@media print, screen and (min-width: 1401px) {
.kaisekibr_zei2 {
display: none;
}
}
@media print, screen and (max-width: 1280px) {
.kaisekibr_zei2 {
display: none;
}
}
.somen_movie .movie {
  overflow-y: hidden;
}
@media print, screen and (max-width: 1800px) and (min-width: 1280px) {
.somen_movie .movie iframe {
  height: 415px;
}
}
@media print, screen and (max-width: 1279px) and (min-width: 961px) {
.somen_movie .movie iframe {
  width:800px;
  height: 450px;
}
}
@media print, screen and (max-width: 960px) and (min-width: 768px) {
.somen_movie .movie iframe {
  width:710px;
  height: 399px;
}
}
@media print, screen and (max-width: 767.9px) and (min-width: 376px) {
.somen_movie .movie iframe {
  height: 216px;
  width: 384px;
}
}
@media print, screen and (max-width: 375px)  {
.somen_movie .movie iframe {
  height: 194px;
}
}
@media print, screen and (max-width: 1280px) and (min-width: 1280px) {
.somen_movie .movie {
  overflow-x: hidden;
  position: relative;
}
.somen_movie .movie iframe {
  width: 800px;
  overflow: hidden!important;
  position: relative;
  top: 0;
  right: 46%;
  height: 450px;
}
}
.somen_etc {
  position: relative;
  background: #d8e3e9;
  overflow: hidden;
  max-width: 100%;
  text-align: center;
}
.somen_etc:before {
  position: absolute;
  content: "";
  width: 19%;
  top: 0;
  left: 0;
  height: 94%;
  z-index: 0;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg11.webp) no-repeat;
  background-size: contain;
}
.somen_etc:after {
  position: absolute;
  content: "";
  width: 35%;
  bottom: -17%;
  right: 0;
  height: 82%;
  z-index: 0;
  animation: bg4 12s ease-in-out infinite;
  background: url(../images/common/bg12.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 1800px) and (min-width: 1501px) {
.somen_etc:after {
  width: 35%;
  height: 70%;
  bottom: -17%;
}
}
@media print, screen and (max-width: 1500px) and (min-width: 1281px) {
.somen_etc:after {
  width: 41%;
  bottom: -20%;
  height: 71%;
}
}
@media print, screen and (max-width: 1280px) {
.somen_etc:after {
  width: 39%;
  bottom: -17%;
  height: 53%;
}
}
@media print, screen and (max-width: 1024px) {
.somen_etc:after {
  width: 56%;
  bottom: -20%;
  height: 64%;
}
}
@media print, screen and (max-width: 767.9px){
.somen_etc:after {
    bottom: -29%;
}
}
@media print, screen and (max-width: 560px){
.somen_etc:after {
  width: 50%;
  bottom: -36%;
  height: 60%;
}
}
.somen_etc div {
  max-width: 1020px;
  padding: 70px;
  margin: 120px auto;
  background: #fff;
}
@media print, screen and (max-width: 1279px) {
.somen_etc div {
  max-width: 80%;
}
}
@media print, screen and (max-width: 767.9px) {
.somen_etc div {
  padding: 40px;
  max-width: 100%;
}
}
@media print, screen and (max-width: 560px) {
.somen_etc div {
  padding: 20px 15px;
  margin: 50px auto;
  max-width: 100%;
}
}
.somen_etc dl, .reserve_box dl {
  padding-bottom: 20px;
}
.somen_etc dt, .reserve_box dt {
  font-size: 23px;
  padding: 7px 0 7px 40px;
  background: url(/wp/wp-content/themes/s-original/assets/images/common/icon_h4-2.svg) no-repeat 0 50%;
  display: inline-block;
  text-shadow: 0 0 #333;
  font-family: "Shippori Mincho", serif;
}
@media print, screen and (min-width: 561px) and (max-width: 960px) {
.somen_etc dt, .reserve_box dt {
    font-size: 21px;
    /*font-weight: 600;*/
}
}
@media print, screen and (max-width: 560px) {
  .somen_etc dt, .reserve_box dt {
    font-size: 19px;
    /*font-weight: 600;*/
}
}
.somen_etc dd , .reserve_box dd{
  padding: 35px 0;
  line-height: 2;
  text-align: left;
}
@media print, screen and (max-width: 960px) {
.somen_etc dd, .reserve_box dd {
  font-size: 17px;
}
}
@media print, screen and (max-width: 767.9px) {
.somen_etc dd, .reserve_box dd {
    font-size: 14px;
    padding: 15px 0;
}
}
.somen_movie .price {
  margin-top: 0;
  font-size: 17px;
  text-align: left;
}
/*.somen_movie .price span {
  font-size: 30px;
  font-weight: normal;
}*/
.somen_etc dl:last-of-type, .reserve_box dl:last-of-type {
  padding-bottom: 0;
}
.somen_etc dl:last-of-type dd {
  padding: 0;
  text-decoration: underline;
}
.somen_etc p {
  font-size: 23px;
  color: #867229;
  border: 1px solid #867229;
  padding: 20px;
  display: inline-block;
  margin-bottom: 35px;
}
@media print, screen and (max-width: 960px) and (min-width:561px) {
.somen_etc p {
  font-size: 21px;
}
}
@media print, screen and (max-width: 767.9px) {
.somen_movie .price {
  font-size: 14px;
}
.somen_etc dl:last-of-type dd {
  font-size: 13px;
}
}
@media print, screen and (max-width: 560px) {
.somen_etc p {
  font-size: 19px;
  /*font-weight: 600;*/
  padding: 15px;
  margin-bottom: 20px;
}
.somen_etc dl, .reserve_box dl {
  padding-bottom: 0;
}
.somen_movie .price span {
  font-size: 21px;
}
}
.tbl_contents.somen_step:after {
  width: 59%;
  left: -95px;
  right: unset;
  background: url(../images/common/bg13.webp) no-repeat;
  animation: bg 12s ease-in-out infinite;
}
@media print, screen and (max-width: 1280px) {
.tbl_contents.somen_step:after {
  width: 42%;
  left: -125px;
  height: 100%;
}
}
@media print, screen and (max-width: 1380px) and (min-width:1280px) {
.tbl_contents.somen_step .tbl_flex > li:first-of-type {
    width: 40%;
}
.tbl_contents.somen_step .tbl_flex > li:nth-child(2) {
    width: 60%;
}
}
@media print, screen and (min-width: 1381px) {
.tbl_contents.somen_step .tbl_flex > li:first-of-type {
    width: 50%;
    height: 650px;
    overflow-y: hidden;
    position: relative;
}
.tbl_contents.somen_step .tbl_flex > li:nth-child(2) {
    width: 50%;
}
.tbl_contents.somen_step .tbl_flex > li:first-of-type img {
  position: absolute;
  top: -190px;
}
}
@media print, screen and (min-width: 1781px) {
.tbl_contents.somen_step .tbl_flex > li:first-of-type img {
  top: -350px;
}
}
@media print, screen and (min-width: 1280px) {
.tbl_contents.somen_step .tbl_flex {
    flex-direction: row-reverse;
}
}
@media print, screen and (max-width: 1279px) and (min-width:960px) {
.tbl_contents.somen_step .tbl_flex {
    flex-direction: column;
}
}
@media print, screen and (max-width: 1279px) {
.tbl_contents.somen_step .tbl_flex > li:first-of-type {
    height: 500px;
    overflow-y: hidden;
    overflow-x: hidden;
    position: relative;
}
.tbl_contents.somen_step .tbl_flex > li:first-of-type img {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translate(-50%, -50%);
}
}
@media print, screen and (max-width: 767.9px) {
.tbl_contents.somen_step .tbl_flex > li:first-of-type {
    height: 220px;
}
}
@media print, screen and (max-width: 560px) {
.tbl_contents.somen_step .tbl_flex > li:first-of-type img {
    top: 0;
}
.tbl_contents.somen_step .tbl_flex dl dd {
  font-size: 13px;
  letter-spacing: 1px;
}
}
@media print, screen and (min-width: 768px) and (max-width: 960px) {
.tbl_contents.somen_step .tbl_cts table th {
    width: 15%;
}
}
/*@media print, screen and (min-width: 1781px) {
.mainwrap.kawadoko_att {
    max-width: 76%;
}
}*/
@media print, screen and (min-width: 1280px) {
.tbl_contents.kawadoko_att .tbl_flex, .tbl_contents.irori_att .tbl_flex, .tbl_contents.teahouse_att .tbl_flex, .tbl_contents.somen_att .tbl_flex {
  justify-content: center;
}
.tbl_contents.kawadoko_att .tbl_flex > li:first-of-type, .tbl_contents.irori_att .tbl_flex > li:first-of-type, .tbl_contents.teahouse_att .tbl_flex > li:first-of-type, .tbl_contents.somen_att .tbl_flex > li:first-of-type {
  width: 44%;
  margin-right: 4%;
}
.tbl_contents.kawadoko_att .tbl_flex > li:nth-child(2), .tbl_contents.irori_att .tbl_flex > li:nth-child(2), .tbl_contents.teahouse_att .tbl_flex > li:nth-child(2), .tbl_contents.somen_att .tbl_flex > li:nth-child(2) {
  width: 48%;
}
}
@media print, screen and (max-width: 1279px) and (min-width: 961px) {
.kawadoko_att .tbl_flex, .irori_att .tbl_flex, .teahouse_att .tbl_flex, .somen_att .tbl_flex {
    display: block;
}
}
@media print, screen and (min-width: 1280px) {
.tbl_contents.irori_att .tbl_flex {
    flex-direction: row-reverse;
}
}
.tbl_contents.irori_att:after {
    width: 83%;
    height: 100%;
    left: -95px;
    right: unset;
    background: url(../images/common/bg13.webp) no-repeat;
    animation: bg 12s ease-in-out infinite;
}
@media print, screen and (max-width: 1279px) and (min-width: 961px) {
.tbl_contents.irori_att.madori:after {
  left: -255px;
}
.tbl_contents.kawadoko_att.madori:after {
  width: 100%;
  right: -260px;
  height: 100%;
}
}
@media print, screen and (max-width: 767.9px) {
.txt_imgarea.top01_bl .inner {
  background-position: 0 22%;
}
}
.link_btn_bk.rsvset {
  margin: 35px auto 0;
}
@media print, screen and (min-width: 768px) {
.link_btn_bk.rsvset {
  display: flex;
  justify-content: center;
}
}
.link_btn_bk.rsvset a:first-of-type {
  margin-right: 10px;
  background: #867229;
}
.link_btn_bk.rsvset a:last-of-type {
  background: #604e0c;
}
@media print, screen and (max-width: 767.9px) {
.link_btn_bk.rsvset {
  flex-direction: column;
}
.link_btn_bk.rsvset a {
  margin: 0 auto 10px;
}
.link_btn_bk.rsvset a:first-of-type {
  margin-right: auto;
}
}
.reserve_box {
	border: 1px solid #d8e3e9;
	padding: 2px;
  width: 100%;
  margin:0 auto;
  max-width: 1020px;
}
.reserve_box .bg {
	border: 1px dotted #d8e3e9;
	padding: 50px;
	text-align: center;
  background: #fff;
}
.reserve_box h4 {
	font-size: 23px;
}
.reserve_box .tel_box {
	margin: 0 auto;
	position: relative;
	padding: 10px 20px 0;
	line-height: 2;
}
.reserve_box .tel_box .tel {
	font-size: 35px;
	letter-spacing: 3px;
	color: #333;
}
@media print, screen and (max-width: 960px) {
.reserve_box h4 {
    font-size: 21px;
}
}
@media print, screen and (max-width: 767.9px) {
.tel_box .att {
  font-size: 13px;
}
}
@media print, screen and (max-width: 560px) {
.reserve_box {
    margin: 0 auto 0;
}
.reserve_box .bg {
    padding: 20px;
}
.reserve_box h4 {
    padding: 10px 0;
    font-size: 16px;
}
.reserve_box .tel_box {
  padding: 0;
}
.link_btn_bk.rsvset a:first-of-type {
  margin-right: 0;
}
.reserve_box .tel_box .tel {
  font-size: 21px;
}
}
.Pborder {
  font-size: 23px;
  color: #867229;
  border: 1px solid #867229;
  padding: 20px;
  display: inline-block;
  margin: 35px auto 20px;
}
@media print, screen and (max-width: 960px) and (min-width: 561px) {
  .Pborder {
    font-size: 21px;
}
}
@media print, screen and (max-width: 560px) {
.Pborder {
  font-size: 19px;
}
}
.oshinagaki {
  position: relative;
  margin-top: 30px;
  padding-top: 15px;
}
.oshinagaki:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #d8e3e9;
  width: 100px;
  height: 1px;
}
.oshinagaki:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #2970d1;
  width: 35px;
  height: 1px;
}
@media print, screen and (max-width: 767.9px) {
.oshinagaki:before {
  width: 55px;
}
.oshinagaki:after {
  width: 20px;
}
}
.bg3 .oshinagaki:before {
  background-color: #c3cdd3;
}
/*
  お部屋ページ
*/
@media print, screen and (min-width: 768px) {
.madori dd img {
  padding-left: 20px;
}
}
@media print, screen and (max-width: 1279px) and (min-width:801px) {
.madori {
  max-width: 750px;
}
}
.madori .link_btn_bk {
  text-align: left;
  margin: 40px auto 0;
  padding-left: 20px;
}
@media print, screen and (min-width: 1280px) {
.tbl_contents.irori_att.madori .tbl_flex > li:first-of-type {
    width: 52%;
    margin-right: 0;
}
.tbl_contents.kawadoko_att.madori .tbl_flex > li:first-of-type {
  width: 53%;
  margin-right: 4%;
}
}
@media print, screen and (max-width: 1280px) and (min-width: 1280px) {
.tbl_contents.kawadoko_att.madori .tbl_flex > li:nth-child(2) {
    width: 49%;
}
}
@media print, screen and (min-width: 1281px) {
.tbl_contents.kawadoko_att.madori .tbl_flex > li:nth-child(2) {
    width: 45%;
}
}
@media print, screen and (min-width: 1381px) {
.tbl_contents.irori_att.madori .tbl_flex > li:first-of-type {
    width: 50%;
}
}
@media print, screen and (min-width: 1781px) {
.tbl_contents.irori_att.madori .tbl_flex > li:first-of-type {
    width: 44%;
}
.tbl_contents.kawadoko_att.madori .tbl_flex > li:nth-child(2) {
  width: 45%;
}
.tbl_contents.kawadoko_att.madori .tbl_flex > li:first-of-type {
  width: 44%;
}
}
.amenity_contents .tbl_contents .tbl_flex > li:first-of-type, .slidethumb_txt.amenity_contents .img_left01 > li .txt_area h4 {
  display: none;
}
@media print, screen and (max-width: 1279px) and (min-width: 961px) {
.amenity_contents .tbl_contents .tbl_flex > li:nth-child(2) {
    width: 100%;
}
}
@media print, screen and (min-width: 960px) {
.amenity_contents .tbl_contents .tbl_flex > li:nth-child(2) {
    width: 100%;
}
}
.rooms .tbl_contents .link_btn_bk a {
  text-align: center;
  padding: 15px 50px;
}
.rooms .tbl_contents .link_btn_bk.rsvset {
  justify-content: flex-start;
  margin: 30px auto 0;
}
.rooms .tbl_contents .link_btn_bk.rsvset a:first-of-type {
  background: #333;
}
.rooms .tbl_contents .link_btn_bk.rsvset a:last-of-type {
  background: #867229;
}
@media print, screen and (max-width: 1380px) {
.rooms .tbl_contents .link_btn_bk a {
  padding: 15px 30px;
}
}
@media print, screen and (max-width: 1380px) and (min-width:1280px) {
.rooms .tbl_contents .link_btn_bk a {
  letter-spacing: 1px;
}
}
@media print, screen and (max-width: 767.9px) {
.rooms .tbl_contents .link_btn_bk.rsvset a:first-of-type {
  margin-right: 10px;
}
}

/*
  周辺観光・交通案内
*/
.access_tbl .tbl_flex {
  max-width: 960px;
  margin: 0 auto;
}
.tbl_contents.irori_att.access_tbl .tbl_flex > li:first-of-type {
  margin-right: 0;
}
.tbl_contents.access_tbl .tbl_flex > li:nth-child(2) dl {
  padding-left: 0;
  padding-bottom: 0;
}
.tbl_contents.access_tbl .tbl_flex > li:nth-child(2) dl:before,
.tbl_contents.access_tbl  .tbl_flex dl dt:before {
content: none;
}
@media print, screen and (min-width: 961px) {
.tbl_contents.irori_att.access_tbl .tbl_flex > li:nth-child(2)  {
  margin: auto 0;
}
}
@media print, screen and (max-width: 1279px) and (min-width: 961px) {
.irori_att.access_tbl .tbl_flex {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
}
.tbl_contents.irori_att.access_tbl .tbl_flex > li:first-of-type,
.tbl_contents.irori_att.access_tbl .tbl_flex > li:nth-child(2) {
  width: 48%;
}
}
@media print, screen and (max-width: 960px) {
.tbl_contents.irori_att.access_tbl .tbl_flex > li:nth-of-type(2) {
  max-width: 750px;
  margin: 0 auto;
  text-align: center;
}
.tbl_contents.irori_att.access_tbl .tbl_flex > li:nth-of-type(2) .link_btn_bk {
  text-align: center!important;
}
}
.gmap:before {
  position: absolute;
  content: "";
  width: 74%;
  top: -24%;
  left: -13%;
  height: 133%;
  z-index: -1;
  animation: bg 12s ease-in-out infinite;
  background: url(../images/common/bg03.webp) no-repeat;
  background-size: contain;
}
@media print, screen and (max-width: 1440px) and (min-width: 768px) {
.access .gmap iframe {
    max-width: 90%;
    margin: 0 auto;
}
}
@media print, screen and (max-width: 767.9px) {
.gmap {
  padding-top: 50px;
}
}
@media print, screen and (max-width: 767.9px) {
.access .gmap iframe {
  max-width: 345px;
  margin: 0 auto;
  height: 345px;
}
}
@media print, screen and (max-width: 1380px) {
.access .tbl_contents.kawadoko_att.madori:after {
    width: 60%;
    right: -145px;
}
}
@media print, screen and (min-width: 1280px) {
.tbl_contents.irori_att.access_tbl .tbl_flex > li:first-of-type {
    transform: translate(0, 50px);
}
}
.tbl_contents.irori_att.access_tbl:after {
  content: none;
}
section.accordion.acsroute:after {
  content: none;
}
.acsroute {
  max-width: 1230px;
}
@media print, screen and (max-width: 1440px) and (min-width: 768px) {
  .acsroute {
    max-width: 82%;
    margin: 0 auto;
}
}
.accordion.acsroute ul li .sd_content {
  background-color: unset;
}
.accordion.acsroute ul li .sd_content table td img {
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
.accordion.acsroute ul li .sd_content {
    padding: 20px 0;
}
}
.accordion.acsroute ul li .sd_h4 table td {
  padding-left: 40px;
  background: url(/wp/wp-content/themes/s-original/assets/images/common/icon_h4-2.svg) no-repeat 0 50%;
}
.map img {
  margin: 0 auto;
}
.acsbtn .link_btn_bk a:after {
  content: none;
}
.acsbtn .link_btn_bk a {
  padding: 12px 20px;
}
/*
  ブラウザ対応
*/
@-moz-document url-prefix() {
strong, .tablink li h4, .txt_imgarea .img_left02 > li h4, .txt_imgarea .img_right02 > li h4, .txt_imgarea .img_top04 > li .txt_area h4 {
  font-weight: normal;
}
}
.ipad #rooms .room_etc {
  opacity: 1;
  background: rgba(0,0,0,0.1)
}
.ipad #rooms .room_inner h4, .ipad .room_inner .room_txt {
  opacity: -0;
}
@media print, screen and (max-width: 1024px) and (min-width: 768px) {
.ipad #rooms .link_btn {
  margin: 40px 0 0 auto;
}
}
@media print, screen and (max-width: 1100px) and (min-width: 1025px)  {
.ipad #rooms .link_btn {
  margin: 60px 0 0 auto;
}
}
@media print, screen and (max-width: 1180px) and (min-width: 1101px)  {
.ipad #rooms .link_btn {
  margin: 80px 0 0 auto;
}
}
/*
  River Terrace喫茶秋のお土産追加
  (春、元に戻す場合はこの部分をコメントアウトすればOK)
*/
@media print, screen and (min-width: 768px) {
.txt_imgarea.gift .img_top04 > li {
    margin-right: 2%;
}
}
@media print, screen and (min-width: 1281px) {
.txt_imgarea.gift .img_top04 {

  justify-content: center;
}
.txt_imgarea.gift .img_top04 > li {
    width: 18%;
}
.txt_imgarea.gift .img_top04 > li:nth-child(n + 5) {
    margin-top: 0;
    margin-right: 0;
}
}
@media print, screen and (min-width: 768px) and (max-width: 1280px) {
.txt_imgarea.gift .img_top04 > li {
  width: 32%;
}
.txt_imgarea.gift .img_top04 > li:nth-child(4n) {
    margin-right: 2;
}
.txt_imgarea.gift .img_top04 > li:nth-child(3n) {
    margin-right: 0;
}
.txt_imgarea.gift .img_top04 > li:nth-child(n + 4) {
    margin-top: 2%;
}
}
/* 囲炉裏ページにRiver Terrace喫茶追加 */
.tea #pagetitlearea {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
main.page .tea h2 {
  padding: unset;
  margin-bottom: unset;
  border-bottom: unset;
  position: unset;
}
main.page .tea h2:after, main.page .tea h2:before {
  content: none;
}

/* スライド画像サイズ指定 */
@media print, screen and (min-width: 768px) {
.cuisine_slider_mini .slick-slide img {
    width: 500px;
}
}
/* フォトギャラ追加 */
@media only screen and (max-width: 767.9px) {
  .top_gallery {
    padding-top: 45px;
    padding-bottom: 53px;
  }
}

@media print, screen and (min-width: 768px) {
  .top_gallery {
	  padding: 30px 0 100px;
  }
}
.top_gallery ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}

@media only screen and (max-width: 767.9px) {
  .top_gallery ul li {
    width: 25%;
  }
}

@media print, screen and (min-width: 561px) {
  .top_gallery ul li {
    width: 16.6%;
  }
}

.lum-lightbox {
  z-index: 10;
}

.lum-close-button {
  opacity: 1;
  top: 15px;
  right: 15px;
}
@media print, screen and (max-width: 1160px) {
  .lum-close-button{
    top: 60px!important;
  }
}
@media only screen and (max-width: 767.9px) {
  .lum-lightbox-inner img {
    max-width: 100% !important;
  }
  .lum-gallery-button:after {
    width: 6vw;
    height: 6vw;
  }
}
@media print, screen and (min-width: 561px) {
.top_gallery ul li {
    width: 12.5%;
}
}
/*.faq main.page article {
    overflow: unset;
}*/

/* Gtranslate修正 */
.gtranslate_wrapper .gt_switcher .gt_selected {
    background: none!important;
    height: 22px!important;
}
.gtranslate_wrapper .gt_switcher .gt_selected a {
    border: none!important;
    font-family: "Noto Serif JP", serif;
}
.gtranslate_wrapper .gt_switcher .gt_selected a:hover {
    background: none!important;
}

.gtranslate_wrapper .gt_switcher .gt_option {
    border-left: none!important;
    border-right: none!important;
    border-top: none!important;
    background-color:  rgba(34,34,34,0.8)!important;
    width: 100px!important;
}
.gtranslate_wrapper .gt_switcher .gt_option a:hover {
    background: rgba(34,34,34,0.8)!important;
}
a.glink img{
    opacity:1!important;
}
.gtranslate_wrapper .gt_switcher {
    width: 100px!important;
    line-height: 1!important;
}
.gtranslate_wrapper  .gt_switcher .gt_selected a {
    width: 80px!important;
    height: 22px!important;
    padding: 5px 5px 3px 15px!important;
}
.gtranslate_wrapper  .gt_switcher a img {
    display: none!important;
}
.gtranslate_wrapper .gt_switcher .gt_option a {
    height: 16px!important;
    padding: 3px 5px 3px 15px!important;
    width: 80px!important;
}

.gtranslate_wrapper  .gt_switcher .gt_selected a.open, .gtranslate_wrapper .gt_switcher .gt_selected a.open:hover {
    background:  rgba(34,34,34,0.8)!important;
}
.gtranslate_wrapper .gt_switcher .gt_selected a.open {
    width: 80px!important;
}
.menu_open .gtranslate_wrapper .gt_switcher .gt_selected a {
    color: #222!important;
}
.menu_open .gtranslate_wrapper .gt_switcher .gt_selected a:after {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 285 285'><path d='M282 76.5l-14.2-14.3a9 9 0 0 0-13.1 0L142.5 174.4 30.3 62.2a9 9 0 0 0-13.2 0L3 76.5a9 9 0 0 0 0 13.1l133 133a9 9 0 0 0 13.1 0l133-133a9 9 0 0 0 0-13z' style='fill:%23222222'/></svg>")!important;
    background-repeat: no-repeat;
    content: ""!important;
}
.menu_open .gtranslate_wrapper .gt_switcher .gt_option, .menu_open .gtranslate_wrapper .gt_switcher .gt_selected a.open, .menu_open .gtranslate_wrapper .gt_switcher .gt_selected a.open:hover {
    background-color: rgba(240,240,240,0.8)!important;
}
.menu_open .gtranslate_wrapper .gt_switcher .gt_option a:hover {
    background: rgba(34,34,34,0.2)!important;
}
.menu_open .gtranslate_wrapper .gt_switcher .gt_option a {
    color:#222!important;
}
@media print, screen and (max-width: 767.9px) {
.page .translate {
   display: none;
}
.page .menu_open .translate {
    display: block;
}
}
/* MV動画に変更-----------
--------------------------------- */
.mainvisual_area .video_wrapper {
  position: relative;
  width: 100vw;
  overflow: hidden;
  height: 100vh;
}

.mainvisual_area .video_wrapper video {
  vertical-align: bottom;
}

.mainvisual_area .video_wrapper video {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  min-width: 100%;
  min-height: 100%;
}

.video_btn {
  margin-top: 30px;
  text-align: center;
}

.video_btn a {
  display: inline-block;
  color: #fff;
  border: solid 1px #fff;
  background-image: url(https://riverterracekibune.com/wp/wp-content/uploads/2023/03/playmovie.png);
  background-repeat: no-repeat;
  padding: 10px 20px 10px 50px;
  background-position: left 20px top 10px;
  background-size: 22px;
}

.modal-video {
  background-color: rgba(255, 255, 255, 0.7) !important;
}

.modal-video .modal-video-close-btn {
  top: auto;
  bottom: -45px;
  left: 0;
  margin: auto;
}

.modal-video .modal-video-close-btn:before,
.modal-video .modal-video-close-btn:after {
  background-color: #000;
  height: 1px;
  margin-top: -5px;
}

/* 流しそうめん動画→画像差し替え */
.somen_att .price {
    margin-top: 0;
    text-align: left;
}
.dnone {
    display: none;
}