main.preload,header.preload{
	opacity: 0!important;
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400&display=swap');
@import url('styles/boots-bones.css');
/*
Theme Name: hanauta
Author: mycale
Author URI: https://mycale.info
Version: 1.0

-------------------------------------------------------------- */
/* Reset
-------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font: inherit;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 1.6rem;
  color:#3B2F14;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
html {
  margin: 0;
  padding: 0;
  font-size: 62.5%;
  /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */

  -webkit-text-size-adjust: 100%;
  /* Prevents iOS text size adjust after orientation change, without disabling user zoom */

  -ms-text-size-adjust: 100%;
  /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */

}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}
mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}
sup,
sub {
  font-size: 75%;
  height: 0;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  bottom: 1ex;
}
sub {
  top: .5ex;
}
small {
  font-size: 75%;
}
big {
  font-size: 125%;
}
figure {
  margin: 0;
}
table {
  margin: 0 0 1.5em;
  width: 100%;
}
th {
  font-weight: bold;
}
button,
input,
select,
textarea {
  font-size: 100%;
  /* Corrects font size not being inherited in all browsers */

  margin: 0;
  /* Addresses margins set differently in IE6/7, F3/4, S5, Chrome */

  vertical-align: baseline;
  vertical-align: middle;
  /* Improves appearance and consistency in all browsers */

}
button,
input {
  line-height: normal;
  /* Addresses FF3/4 setting line-height using !important in the UA stylesheet */

  overflow: visible;
  /* Corrects inner spacing displayed oddly in IE6/7 */

}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: none;
  border-radius: 10px;
  background: #ccc;
  color: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  /* Improves usability and consistency of cursor style between image-type 'input' and others */

  -webkit-appearance: button;
  /* Corrects inability to style clickable 'input' types in iOS */

  font-size: 12px;
  font-size: 1.4rem;
  line-height: 1;
  padding: 1.12em 1.5em 1em;
}
button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.5);
  -moz-box-shadow: 0 0 3px rgba(0,0,0,0.5);
  box-shadow: 0 0 3px rgba(0,0,0,0.5);
}
button:focus,
html input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
html input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
  -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.5);
  -moz-box-shadow: 0 0 3px rgba(0,0,0,0.5);
  box-shadow: 0 0 3px rgba(0,0,0,0.5);
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* Addresses box sizing set to content-box in IE8/9 */

  padding: 0;
  /* Addresses excess padding in IE8/9 */

}
input[type="search"] {
  -webkit-appearance: textfield;
  /* Addresses appearance set to searchfield in S5, Chrome */

  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof) */

  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration {
  /* Corrects inner padding displayed oddly in S5, Chrome on OSX */

  -webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  /* Corrects inner padding and border displayed oddly in FF3/4 www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ */

  border: 0;
  padding: 0;
}
input[type=text],
input[type=email],
textarea {
  color: #888888;
  border: 1px solid #dddddd;
  border-radius: 5px;
}
input[type=text]:focus,
input[type=email]:focus,
textarea:focus {
  color: #101010;
}
input[type=text],
input[type=email] {
  padding: 3px;
}
textarea {
  overflow: auto;
  /* Removes default vertical scrollbar in IE6/7/8/9 */

  padding: 10px;
  vertical-align: top;
  /* Improves readability and alignment in all browsers */

  width: 98%;
}
/* styles
-------------------------------------------------------------- */
body,
button,
input,
select {
  padding: 0;
  margin: 0;
  background: #ffffff;
  line-height: 26.64px;
  font-size: 18px;
  font-size: 1.8rem;
}
/* typography
-------------------------------------------------------------- */
/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}
h1 {
  line-height: 4.6rem;
  font-size: 3.2rem;
  font-weight:500;
}
h2 {
  line-height: 4.3rem;
  font-size: 3rem;
  font-weight:500;
  text-align:center;
}
h3 {
  line-height: 3.7rem;
  font-size: 2.6rem;
  color:#EB6786;
}
h4 {
  line-height: 26px;
  font-size: 18px;
  font-size: 1.8rem;
}
hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}
/* Text elements */
p {
  margin-bottom: 1.5em;
}
ul,
ol {
  margin: 0 0 1.5em 3em;
}
ul {
  list-style: none;
}
ol {
  list-style: none;
}
ul ul,
ol ol,
ul ol,
ol ul {
  margin-bottom: 0;
  margin-left: 1.5em;
}
dt {
  font-weight: bold;
}
dd {
  margin: 0 1.5em 1.5em;
}
b,
strong {
  font-weight: bold;
}
dfn,
cite,
em,
i {
  font-style: italic;
}
blockquote {
  margin: 0 1.5em;
}
address {
  margin: 0 0 1.5em;
}
pre {
  background: #eee;
  font-size: 0.7em;
  line-height: 1.5em;
  margin-bottom: 1.6em;
  padding: 1.6em;
  overflow: auto;
  max-width: 100%;
  box-shadow: 0 3px 5px #ddd inset;
}
img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
/* Links */
a {
    color: #007998;
  -webkit-transition: color 0.25s ease-in-out;
  -moz-transition: color 0.25s ease-in-out;
  -o-transition: color 0.25s ease-in-out;
  -ms-transition: color 0.25s ease-in-out;
  transition: color 0.25s ease-in-out;
  text-decoration: none;
}
a:hover,
a:focus,
a:active {
    color: #EB6786;
}
/* Alignment */
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}
.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}
.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto;
}
.center {
  text-align: center;
}
a:hover img,
a:focus img,
a:active img {
    opacity: 0.7;
}
/* Header
-------------------------------------------------------------- */
.site-title a{
  text-transform: uppercase;
  font-size: 4em;
  text-align: center;
}
.site-title a:hover{
}
.site-description{
  font-style: italic;
}
header {
  padding: 22px 0;
  background: transparent;
}
header .gravatar {
  overflow: hidden;
  width: 100px;
  height: 100px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  margin: 0;
  float: right;
}
header #brand {
  margin:1em 0;
}
header #brand h1 {
  font-weight: 900;
  color: #565656;
  font-size: 16px;
  font-size: 1.6rem;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.45em;
}
header #brand h1 a {
  color: #565656;
  text-decoration: none;
}
header #brand h1 span {
  font-weight: 200;
  color: #888888;
  text-transform: lowercase;
}
#title{
  float: left;
  width: 257px;
  margin-left: 2%;
  margin-top: 2px;
}
header nav {
  float: left;
  width: calc(92% - 620px);
  margin-left: 4.4%;
  margin-top: 10px;
}
#header-contact{
  float: left;
  width: 179px;
}
#header-reserve{
  float: left;
  width: 179px;
  margin-left: 5px;
}
.menu-main-nav-container, .menu-main-container {
  float: right;
}
header nav ul {
  list-style: none;
  margin: 0;
}
header nav ul li {
    float: left;
    margin: 2px 0;
    padding: 0 5px 2px;
    line-height: 1;
}
header nav ul li a {
  color: #888888;
  font-size: 14px;
}
/* Posts/Articles
-------------------------------------------------------------- */
article {
  background: transparent;
  padding: 0;
  margin-bottom: 80px;
}
article h2{
    max-width: 750px;
    font-size: 3rem;
    margin: 0 auto;
    text-align: center;
    color:#3B2F14;
}
article .title {
  color: #404040;
  line-height: 56.24px;
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.1em;
}
article .title a {
  text-decoration: none;
  color: #404040;
}
article .title a:hover {
  color: #007998;
}
article .post-meta {
  margin-bottom: 40px;
  font-size: 14px;
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
}
article .post-meta a {
  color: #888888;
  text-decoration: none;
}
article .post-meta a:hover {
  color: rgba(136, 136, 136, 0.5);
}
article .the-content a {
  font-weight: 900;
  text-decoration: none;
}
article .the-content p {
    color: #3B2F14;
  text-align: justify;
    margin: 0 auto 2rem;
    line-height: 2em;
}
article .the-content .policy-txt p {
    margin-left:3%;
    font-family: "Noto Sans JP"!important;
}
article .the-content p .line {
    font-size: .7em;
}
#menu-top .line {
    font-size: .7em;
}
.privacy-page article .the-content p{
    max-width:100%;
}
.privacy-page h3{
    color: #3B2F14;
    line-height: 3.2rem;
    font-size: 2.6rem;
    margin-top: 6rem;
    padding-left: 1rem;
    border-left: 4px solid #EB6786;}
article .the-content img {
  width: 100%;
  height: auto;
}
article .meta {
  line-height: 14.8px;
  font-size: 10px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .9px;
}
article .meta div {
  margin:1px auto;
}
article .meta .post-categories {
  list-style: none;
  margin: 0 0 10px 0;
}
article .meta .post-categories li {
  display: inline-block;
  margin-right: 10px;
}
/* Page loop styling */
.page article {
  border-bottom: none;
}
.page article .title,.single article .title,.single-post article .title,.archive article .title {
    margin-top: 200px;
    font-weight:bold;
}
/* Pagination */
#pagination {
    padding: 40px 0 80px;
  width: 100%;
    color: #3B2F14;
}
#pagination .past-page {
    float: left;
    width: 40%;
}
#pagination .next-page {
    float: right;
    width: 40%;
    text-align:right;
}
#pagination .back-page {
    float: left;
    text-align: center;
    width:20%;
}
.page-arrow{
    display: inline-block;
    width: 11px;
}
.next-page a, .past-page a, .back-page a {
    color: #3B2F14;
}
/* Comments */
h3#comments {
  margin-bottom: 80px;
  font-size: 16px;
}
.commentlist {
  list-style: none;
  margin: 0;
}
.commentlist .comment {
  margin: 0 0 40px 50px;
  padding: 20px;
  position: relative;
  list-style: none;
  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
.commentlist .comment .children {
  margin-top: 40px;
}
.commentlist .comment-author {
  float: left;
  margin-right: 10px;
}
.commentlist .comment-author img {
  position: absolute;
  left: -50px;
  top: 5px;
  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
.commentlist .comment-author .says {
  display: none;
}
.comment-meta {
  font-size: 12px;
  margin-bottom: 10px;
}
.comment-subscription-form,
.comment-subscription-form {
  margin-bottom: 0;
  font-size: 14px;
}
.column-archive .panel-body img{
    border-radius: 2rem;
}
.column-archive .panel-foot p span{
    color: #EB6786;
    font-size: 1rem;
    font-weight: bold!important;
    font-family: "Noto Sans JP"!important;
}
.column-archive .panel-foot p{
    margin-bottom: 0;
    padding: 0 2rem;
    line-height: 2rem;
}
.column-archive .panel a{
    color: #3B2F14;
}
.column-archive .panel{
    margin-bottom: 5rem;
}
#sub_cont{
   margin-top: 48px;
}
.sub_cont{
    font-family: "Noto Sans JP"!important;
    font-weight: bold!important;
    font-size:20px;
    padding: 1rem 0;
    color: #EB6786;
}
#sub_cont .panel{
    margin-top:1rem;
    clear: both;
}
#sub_cont .panel-foot{
    float: left;
    width: 60%;
}
#sub_cont .panel-body{
    float: left;
    width: 40%;
}
#news_cont{
    margin-left: 100px;
}
#news_cont .panel{
    border-bottom: 1px solid #DDD;
    display: block;
    line-height: 10rem;
    height: 10rem;
    clear: both;
    background-image: url(./img/asset/img_arrow_pink.png);
    background-repeat: no-repeat;
    background-position: center right 3rem;
    padding: 0 3rem;
}
#top-news .viewall{
    margin: 4rem 1rem 0;
}
.column-page #sub_cont .panel-foot p span{
    color: #EB6786;
    font-size: 1rem;
    font-weight: bold!important;
    font-family: "Noto Sans JP"!important;
}
.column-page #sub_cont .panel-foot p{
    margin-bottom: 0;
    padding: 0 2rem;
    line-height: 2rem;
    font-size: 1.2rem;
}
.column-page #sub_cont .panel a{
    color: #3B2F14;
}
.column-page #sub_cont .panel-body img,.column-page #top-column .panel-body img{
    border-radius: 1rem;
}

.faq-page h3{
    border-left: 5px solid #EB6786;
    padding: 0.2rem 0 0.5rem 0.5rem;
    width: 100%;
    margin-top: 8rem;
}
.single h3{
    border-left: 5px solid #EB6786;
    padding: 0.2rem 0 0.5rem 0.5rem;
    width: 100%;
    margin-bottom: 4rem;
}
.single h3,.single h4,.single h5,.single h6,.single p,.single p{
    font-family: "Noto Sans JP" !important;
}
.faqlink{
    content: "";
    background-image: url(./img/asset/img_arrow_anker.png);
    height: 23px;
    width: 12px;
    background-size: auto;
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: bottom;
    margin: 29px 0;
}
.faqlink a{
    display: block;
    border-bottom: 1px solid #EB6786;
    color:#3B2F14;
}
.s_section{width:100%;}
.accordion_area {}
.accordion_area .accordion_one .ac_header {
  background-color: #ffffff;
  padding: 1.5rem 4rem 1.5rem 2rem;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .2s;
    margin-top: 2rem;
}
.accordion_area .accordion_one .ac_header:not(.open):hover {
}
.accordion_area .accordion_one:nth-child(odd) .ac_header {
}
.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
}
.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}
.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #EB6786;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 2px solid #EB6786;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}
.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 1.5rem 2rem 1.5rem 2rem;
  box-sizing: border-box;
  background: #fff;
}

/*=========
faq
=========*/

.p-faq__headinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__headinner::before {
  position: absolute;
  left: 0;
  content: "";
    background-image: url(./img/faq/question.svg);
    height: 40px;
    width: 40px;
    background-size: contain;
}
.p-faq__headinner p.p-faq__q-txt {
    font-size: 20px;
    padding-left: 2rem;
}
@media screen and (max-width: 736px) {
  .p-faq__headinner {
    padding-left: 25px;
  }
  .p-faq__headinner::before {
    font-size: 14px;
  }
  .p-faq__headinner p.p-faq__q-txt {
    font-size: 14px;
  }
}
.p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__bodyinner::before {
  position: absolute;
  left: 0;
  content: "";
    background-image: url(./img/faq/answer.svg);
    height: 40px;
    width: 40px;
    background-size: contain;
}
.p-faq__bodyinner p.p-faq__a-txt {
    font-size: 20px;
    padding-left: 2rem;
}
@media screen and (max-width: 736px) {
  .p-faq__bodyinner {
    padding-left: 25px;
  }
  .p-faq__bodyinner::before {
    font-size: 14px;
  }
  .p-faq__bodyinner p.p-faq__a-txt {
    font-size: 14px;
  }
}
table{
    border-collapse: collapse;
}
table th{
    background-color: #DDD;
    border: 3px solid #FFF;
}
.access-top {
    margin: 70px auto 60px;
}
.access-page dl{
    margin:32px auto 0;
    display: flex;
    flex-wrap: wrap;
    width:70%;
}
.access-page dt{
    width: 30%;
    border-bottom:1px solid #ddd;
    line-height: 6rem;
}
.access-page dd{
    width: 70%;
    border-bottom:1px solid #ddd;
    margin:0;
    line-height: 6rem;
}
.access-page dt.lastline{
    margin-bottom: 1.5rem;
}
.access-page dd.lastline{
    line-height: 3rem;
    margin: 1.5rem 0;
    padding-bottom: 1.5rem;
}
.access-page table td{
    width:33%;
    text-align:center;
}
.price-top{
    margin: 40px auto 40px;
}
.price-page h3 {
    border-left: 5px solid #EB6786;
    padding: 0.2rem 0 0.5rem 0.5rem;
    width: 100%;
    margin-top: 8rem;
    color: #3B2F14;
}
.price-page table th,.price-page table td{
    padding: 6px 0;
}
.price-page table td{
    text-align:center;
}
.price-page table th.middle,.price-page table td.middle{
    vertical-align: middle;
}
.price-page article .the-content p{
    clear:both;
    max-width: 976px;
    padding: 32px 10px;
    margin:0;
    line-height: 2.2em;
}
.price-no{
    background-color: #3B2F14;
    color: #FFF;
    width: 100px;
    height: 100px;
    line-height: 96px;
    text-align: center;
    font-size: 42px;
    border-radius: 50px;
    clear: both;
    float:left;
}
.price-no1{
    margin-top: 36px;
}
.price-no2{
    margin-top: 27px;
}
.price-no3{
    margin-top: 0;
}
.price-no4{
    margin-top: -13px;
}
.price-no5{
    margin-top: -13px;
}
.no-title{
    float: left;
    margin-left: 6%;
    font-size: 1.6em;
    width: 70%;
    color: #EB6786;
}
.no-cont{
    float: left;
    width: 70%;
    line-height: 1.8em;
    margin-left: 6%;
}
.reserve-btn{
    float: left;
    margin-left: 6%;
    margin-top: 1rem;
}
.no-arrow{
    background-image: url(./img/asset/img_arrow_next.png);
    background-repeat: no-repeat;
    height: 148px;
    clear: both;
    background-position-x: center;
    background-position-y: center;
}
.price-page .tel-btn{
    width: 24%;
    margin-left: 460px;
}
.pricelist{
    margin: 10px 3%;
    width: 100%;
}
.pricelist dt, .pricelist dd{
    margin: 0;
    padding-left: 1rem;
    float: left;
    border-bottom: 1px solid #DDD;
    line-height: 8rem;
}
.pricelist dt{
    width:30%;
    color: #3B2F14;
}
.pricelist dd{
    width:65%;
}
main{
}
main .front-page .main-fluid{
    background-image: url(./img/asset/bg_page-test.png);
    background-size: contain;
    margin-left: calc(((100vw - 100%) / 2)* -1);
    margin-right: calc(((100vw - 100%) / 2)* -1);
    padding: 0 calc((100vw - 100%) / 2);
}
.border_p{
    border-bottom:3px solid #EB6786;
}
.newslist{
    margin: 50px 3%;
    width: 100%;
}
.newslist dt, .newslist dd{
    margin:0;
    float:left;
    border-bottom: 1px solid #DDD;
    line-height: 10rem;
}
.newslist dt{
    width:30%;
    color: #EB6786;
}
.newslist dd{
    width:70%;
}
.newslist dd a{
    color: #3B2F14;
}
.caution div{
    margin-left: 5rem;
}
#respond {
  margin-bottom: 80px;
}
#respond > h3 {
  font-size: 16px;
  margin-bottom: 20px;
}
#respond form label {
  color: #888888;
}
footer {
  text-align: center;
  font-size: 12px;
    max-width: 1366px;
    margin: 0 auto;
}
#footer-title{
    float: left;
    width: 21.962%;
}
#footer-menu{
  float: left;
  width: 50%;
  margin-left: 10%;
  text-align: left;
}
#footer-menu li{
    line-height: 2.6rem;
}
#footer-contact{
  width: 21.962%;
  float: right;
  margin-bottom:1rem;
}
#footer-reserve{
  width: 21.962%;
  float: right;
}
footer a{
    color:#3B2F14;
    font-size: 1.2rem;
}
footer .line{
    font-size: .7em;
}
header{
    z-index: 1000;
    max-width:1366px;
    margin:0 auto;
    position: relative;
}
.bold{
    font-weight:bold!important;
}
.w750p{
    max-width:750px;
    margin: 0 auto;
}
.f12rem{
    font-size:1.2rem;
}
.c_p{
    color:#EB6786!important;
}
.ml0{
    margin-left:0;
}
.float_l{
    float: left;
}
.m2r{
    margin-left:2rem;
}
.m20t{
    margin-top:20px!important;
}
.m80t{
    margin-top:80px!important;
}
.m130t{
    margin-top:130px!important;
}
.m170t{
    margin-top:170px!important;
}
.m180t{
    margin-top:180px!important;
}
.m210t{
    margin-top:210px!important;
}
.m32b{
    margin-bottom:32px!important;
}
.m0b{
    margin-bottom:0px!important;
}
.m-3remb{
    margin-bottom:-3rem!important;
}
.m1remb{
    margin-bottom:1rem!important;
}
.w100per{
    width:100%;
}
.t_c{
    text-align:center!important;
}
.contents_bottom{
    margin-bottom:130px!important;
}
.company-page dl{
    margin:32px auto 0;
    display: flex;
    flex-wrap: wrap;
    width:50%;
}
.company-page dt{
    width: 30%;
    border-bottom:1px solid #ddd;
    line-height: 6rem;
}
.company-page dd{
    width: 70%;
    border-bottom:1px solid #ddd;
    margin:0;
    line-height: 6rem;
}
.contact-btn,.reservation-btn,.inquiries-btn,.parties-btn,.buried-btn{
    width: 46%;
    margin: -32px auto -42px;
}
.tel-btn{
    width: 38%;
    margin: 0px auto;
}
.caution li{
    font-size:1.2rem;
    list-style:none;
    font-family: "Noto Sans JP"!important;
}
#content{
    max-width:1080px;
    margin: 0 auto;
    width:100%;
}
.sp{
    display:none;
}
.sub_title img{
    height: 23px;
}
.home .main-fluid{
    padding:0;
    max-width:auto;
}
.front-page #content{
    width: 100%;
    margin: 0 auto;
    max-width: 1080px;
}
#title-back{
    background-image: url(./img/top/main.jpg);
    height: calc(100vh - 146px);
    margin-top: 110px;
    background-size: cover;
    position: absolute;
    right: 0;
    animation: 3s topFadeIn forwards;
}
#top-title{
    position: absolute;
    top: calc(50% + 20px);
    left: 50%;
    transform: translate(-50%, -50%);
}
@keyframes topFadeIn {
    from { 
        border-radius: 0;
        width: calc(100vw - 17px);
    }
    to {
        border-radius: 0 0 0 100px;
        width: calc(100vw - 5vw);
    }
}
#top-title img{
    animation: reveal 3s forwards;
}
@keyframes reveal {
   0% {
        opacity: 0;
        clip-path: inset(0 100% 0 0);
    }
    100% {
        opacity: 1;
        clip-path: inset(0 0 0 0);
    }
}
#top-about{
    max-width:1080px;
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(100vh + 2px);
    width:100%;
}
#top-howto,#top-price,#top-column,#top-news,#top-reserve,#top-faq{
    max-width:1080px;
    margin-left: auto;
    margin-right: auto;
    width:100%;
}
#top-access{
    width: 100%;
}
#top-column2,#top-reserve2{
    width: 100%;
}
.top-over-back{
    background-color: rgba(252, 242, 243, 0.6);
    margin-left: calc((((100vw - 100%) / 2)* -1) + 9px);
    margin-right: calc((((100vw - 100%) / 2)* -1) + 9px);
    padding: 0 calc((100vw - 100%) / 2);
}
.wave-top{
    background-image: url(./img/asset/bg_page_wave_top.png);
    background-size: cover;
    height: 6.5vw;
    margin-left: calc((((100vw - 100%) / 2)* -1) + 9px);
    margin-right: calc((((100vw - 100%) / 2)* -1) + 9px);
}
.wave-bottom{
    background-image: url(./img/asset/bg_page_wave_bottom.png);
    background-size: cover;
    height: 10vw;
    margin-left: calc((((100vw - 100%) / 2)* -1) + 9px);
    margin-right: calc((((100vw - 100%) / 2)* -1) + 9px);
}
#about-txt,#howto-txt,#price-txt,#column-txt,#news-txt{
    width: 28%;
    float: left;
}
#faq-txt{
    width: 28%;
    margin:0 auto;
}
#access-txt{
    width: 28%;
    float: left;
    margin-left: 55%;
}
#access-img{
    width: 50%;
    position: absolute;
    left: 0;
}
#access-ad{
    width: 28%;
    float: left;
    margin-left: 55%;
}
#more-access{
    margin-left: 55%;
}
#about-img{
    float:right;
    width: 50%;
}
#about-cont{
    float: left;
    padding: 30px 10px;
}
.swiper {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius:2em;
}
.swiper-button-prev,
.swiper-button-next {
  height: 51px;
  width: 51px;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 51px;
  margin: auto;
  width: 51px;
}
.mySwiper1 .swiper-button-prev::after {
    background-image: url(./img/top/prev.png);
    background-size: auto;
    margin-right: -15vw;
}
.mySwiper1 .swiper-button-next::after {
    background-image: url(./img/top/next.png);
    background-size: auto;
    margin-left: -15vw;
}
.mySwiper1 .swiper-button-prev::after:hover {
    background-image: url(./img/top/prev2.png);
    background-size: auto;
    margin-right: -15vw;
}
.mySwiper1 .swiper-button-next::after:hover {
    background-image: url(./img/top/next2.png);
    background-size: auto;
    margin-left: -15vw;
}
.mySwiper1 .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,.mySwiper2 .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,.mySwiper1 .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after,.mySwiper2 .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{
    content: '';
}
#top-column{
    position: relative;
}
.mySwiper2{
    margin-left: 8% !important;
}
.mySwiper2 .swiper-button-prev::after {
    background-image: url(./img/top/prev.png);
    background-size: auto;
    left: 950px;
    position: absolute;
    bottom: 200px;
    z-index: 10000;
}
.mySwiper2 .swiper-button-next::after {
    background-image: url(./img/top/next.png);
    background-size: auto;
    position: absolute;
    left:0;
    bottom: 200px;
    z-index: 10000;
}
.mySwiper2 .swiper-button-prev::after:hover {
    background-image: url(./img/top/prev2.png);
}

.mySwiper2 .swiper-button-next::after:hover {
    background-image: url(./img/top/next2.png);
}
#swiper2{
    position: initial;
}
.slide-list{
    padding:0 4em;
}
.slide1-img{
    width: 50%;
    float: left;
}
.top-no{
    margin-left: 3rem;
    border: 1px solid #3B2F14;
    background-color: #FFF;
    color: #3B2F14;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    border-radius: 50px;
    float: left;
}
.slide1-title{
    float: left;
    width: 43%;
    margin: 2rem 0 2rem 3rem;
    font-size: 2.5rem;
    text-align: left;
}
.slide1-cont{
    float: left;
    width: 43%;
    margin-left: 3rem;
    text-align: left;
}
#movie-title{
    width: 400px;
    margin: 0px auto;
}
#movie1{
    width: 64%;
    margin: 0 18%;
}
#movie1 img{
    border-radius: 2rem;
}
#movie2{
    width: 64%;
    margin: 0 18%;
}
#movie2 img{
    border-radius: 2rem;
}
#osusume{
    max-width: 1080px;
    margin: 0 auto;
    width:100%;
}
.osusume-img{
    width:46%;
}
.front-page .top-txt{
    width: 43%;
    margin: 80px 3%;
}
.front-page .top-img{
    margin: 0px 0;
}
.front-page .top-img img{
    border-radius: 2rem;
}
.front-page .top-txt h3{
    color:#3B2F14;
}
#reserve-txt{
    line-height: 4.3rem;
    font-size: 3rem;
    font-weight: 500;
    text-align: center;
}
.tel-text{
    text-align: center;
}
.season{
    clear: both;
}
#howto-img{
    float: right;
    clear: both;
    width: 50%;
    margin-top: 40px;
}
#howto-img img{
    border-radius: 2rem;
}
#howto-title{
    width: 50%;
    margin-top: 50px;
    float: left;
    font-size: 2em;
    line-height: 1.2em;
}
#howto-cont{
    width: 45%;
    float: left;
    margin-top: 1em;
}
.viewmore{
    width: 30%;
    margin: 0 35%;
    float: left;
}
.viewall{
    float: left;
    margin: 1rem;
}
.f09em{
    font-size: 0.9em;
    line-height: 1.8em;
}
.f07em{
    font-size: 0.7em;
    line-height: 1.8em;
}
.float-l{float:left;}
.float-r{float:right;}
.fun-page .float-l,.fun-page .float-r{width:50%}
h2:before {
    content: url(./img/asset/title_sakura.png);
    vertical-align: middle;
    padding-right: 10px;
}
h2:after {
    content: url(./img/asset/title_sakura.png);
    vertical-align: middle;
    padding-left: 10px;
}
.fun-top{
    margin: 70px auto 60px;
}
.fun-page .fun-txt{
    width: 43%;
    margin: 120px 3%;
}
.c-pagination{
    display: flex!important;
    justify-content: center;
}
.page-numbers,.c-pagination__dot{
    width: 50px;
    height: 50px;
    display: inline-block;
    color: #EB6786;
    vertical-align: middle;
    text-align: center;
    margin-left: 1rem;
    font-size: 1.4em;
    background-color: #FFF;
    line-height: 48px;
    text-align: center;
    border-radius: 50px;
    float: left;
}
.c-pagination .current{
    color: #FFF;
    background-color: #EB6786;
}
.privacy-page .the-content{
    margin-top: 40px;
    line-height:3rem;
}
article .post-meta{
    font-size: 0.7em;
    line-height: 1em;
    margin-top: 210px;
    text-align: left;
    margin-bottom: 1em;
}
.column-page article .post-meta{
    margin-top: 48px;
    margin-left: 1%;
}
#copyright{
    max-width: 140px;
    margin: 0 auto;
}
nav.globalMenuSp{
    display:none;
}
.sans{
    font-family: "Noto Sans JP"!important;
}
.mw1366{
    max-width:1366px!important;
    margin:0 auto;
}

/* Misc & mixens
-------------------------------------------------------------- */
.site-footer{
    max-width:1080px;
    width:100%;
    margin: 0 auto;
}
.hide-text {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.clear {
  clear: both;
}
/* clear floats */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.clearfix {
  display: inline-block;
}
html[xmlns] .clearfix {
  display: block;
}
* html .clearfix {
  height: 1%;
}


/* #Media Queries
================================================== */

  /* Those wide screens above 1280px */
  @media only screen and (min-width: 1281px) {
    body{
      font-size: 2.5em;
      line-height: 1.5em;
    }
    article .title{
      font-size: 1.8em;
      line-height: 1.5em;
    }
    article .title .line{
      font-size: .7em;
      line-height: 1.5em;
    }
    .menu-main-nav-container a, .side-title, .menu-main-container a{
      font-size: 1em;
      line-height: 1.5em;
    }
    #sidebar{
      font-size: 0.7em;
      line-height: 1.5em;
    }
    #sidebar h3{
      font-size: 1.5em;
      line-height: 1.5em;
    }
  }
  @media only screen and (max-width: 1480px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 900px;
    }
   }
  @media only screen and (max-width: 1430px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 900px;
    }
   }
  @media only screen and (max-width: 1380px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 900px;
    }
   }
  @media only screen and (max-width: 1330px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 850px;
    }
   }
  @media only screen and (max-width: 1280px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 850px;
        bottom: 165px;
    }
    .mySwiper2 .swiper-button-next::after {
        bottom: 165px;
    }
   }
  @media only screen and (max-width: 1230px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 800px;
    }
   }
  @media only screen and (max-width: 1180px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 750px;
    }
   }
  @media only screen and (max-width: 1130px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 700px;
    }
   }
  @media only screen and (max-width: 1080px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 650px;
    }
   }
  @media only screen and (max-width: 1030px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 600px;
    }
   }
  @media only screen and (max-width: 980px) {
    .mySwiper2 .swiper-button-prev::after {
        left: 550px;
    }
   }

  /* Smaller than standard 960 (devices and browsers) */
  @media only screen and (max-width: 959px) {
    .side-title{
      font-size: 1em;
      line-height: 1.5em;
    }
    .mySwiper2 .swiper-button-next::after {
        left: -25vw;
        bottom: 0;
        top: 26vw;
    }
    .mySwiper2 .swiper-button-prev::after{
        left: 25vw;
        bottom: 0;
        top: 26vw;
    }
  }

  /* Tablet Portrait size to standard 960 (devices and browsers) */
  @media only screen and (min-width: 768px) and (max-width: 959px) {
    .side-title{
      font-size: 1em;
      line-height: 1.5em;
    }
  }

  /* All NOT Mobile Sizes (devices and browser) */
  @media only screen and (min-width: 768px) {
    .menu-top-container{
        margin-top: 1rem;
    }
    header nav ul li+ li {
        border-left: 1px solid #DDD;
    }
  }

  @media only screen and (min-width: 768px) and (max-width: 1353px) {
    .site-footer,#osusume,#top-howto,#top-price,#top-column,#top-news,#top-reserve,#top-faq,#top-about,.front-page #content,#content{
        width:80%;
    }
  }

  /* All Mobile Sizes (devices and browser) */
  @media only screen and (max-width: 767px) {
    .site-footer,#osusume,#top-howto,#top-price,#top-column,#top-news,#top-reserve,#top-faq,#top-about,.front-page #content,#content{
        max-width:86.631vw;
    }
    .top-over-back,.wave-top,.wave-bottom{
        margin-left: calc(((100vw - 100%) / 2)* -1);
        margin-right: calc(((100vw - 100%) / 2)* -1);
    }
    header{
        padding:0;
    }
    .side-title{
      font-size: 1em;
      line-height: 1.5em;
    }
    .sp{
        display:inline;
    }
    .sp.w100per{
        display:block;
        width:100%;
    }
    table.sp.w100per{
        display:table;
    }
    .pc{
        display:none;
    }
    .w30per{
        width:100%;
    }
    .hamburger {
        display : block;
        position: absolute;
        z-index : 1002;
        right : 20px;
        top   : 20px;
        width : 50px;
        height: 50px;
        background-image: url(./img/asset/sp-menu.svg);
        background-size: auto;
        cursor: pointer;
    }
    .hamburger.active {
        background-image: url(./img/asset/sp-menu2.svg);
    }
    nav.globalMenuSp {
        position: absolute;
        z-index : 1001;
        top  : 0;
        left : 0;
        margin:0;
        padding:0;
        color: #3B2F14;
        background-color: #FFF;
        text-align: center;
        width: 100%;
        transform: translateX(100%);
        transition: all 0.6s;
    }
    nav.globalMenuSp ul {
        margin: 100px auto 0;
        padding: 0;
        width: 100%;
    }
    nav.globalMenuSp ul li {
        list-style-type: none;
        padding: 0;
        width: 100%;
        transition: .4s all;
    }
    nav.globalMenuSp ul li:last-child {
        padding-bottom: 0;
    }
    nav.globalMenuSp ul li:hover{
        background :#ddd;
    }
    nav.globalMenuSp ul li a {
        display: block;
        color: #3B2F14;
        padding: 1em 0;
        text-decoration :none;
    }
    nav.globalMenuSp.active {
        opacity: 100;
        display: block;
        z-index: 1000;
        transform: translateX(0%);
    }
    .hamburger.active + .menu-cover{
        position: fixed;
        width: 100%;
        height: calc(100vh - 100px);
        top: 100px;
        left: 0;
        z-index: 100;
        background: rgba(3, 3, 3, .5);
        display: block;
    }
    #title{
        margin-left: 5vw;
        margin-top: 20px;
    }
    #header-margin{
        top: 0;
        width: 100vw;
        height: 86px;
        background-color: #FFF;
    }
    header{
        position: fixed;
    }
    #sp-title{
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10000;
    }
    article h2 {
        position: relative;
        padding: 0 60px;
    }
    h2:before {
        position: absolute;
        top: 60%;
        transform: translate(-50%, -50%);
        left: 10%;
    }
    h2:after {
        position: absolute;
        top: 60%;
        transform: translate(-50%, -50%);
        left: 90%;
    }
    #footer-title,#footer-menu,#header-contact,#header-reserve{
        width: 80%;
        margin: 0 auto;
        float: none;
        text-align: center;
    }
    #footer-contact,#footer-reserve,#footer-menu ul,#footer-menu li,#footer-menu div.float_l,.fun-page .float-l, .fun-page .float-r,.fun-page .fun-txt{
        width: 100%;
        margin: 0 auto;
        float: none;
        text-align: center;
    }
    .the-content{
        margin-bottom:100px;
    }
    .swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{
        padding:0 1rem;
    }
    #access-img{
        width: 100%;
        position: inherit;
    }
    #more-access{
        margin: 0 10%;
    }
    #access-txt{
        width: 60%;
        float: none;
        margin: 10vw auto 5vw;
        position: inherit;
    }
    #access-ad,.viewmore,#top-news .viewall,.viewall{
        width: 80%;
        margin: 0 auto;
        float: none;
    }
    #top-news .viewall a{
        margin-top: 20vw;
        display: block;
    }
    .no-title,.no-cont,.reserve-btn{
        width: 80%;
        margin: 1rem 10%;
        float: none;
    }
    .price-page .tel-btn{
        margin: 0 auto;
        width: 100%;
    }
    .price-no{
        margin:0 auto;
        float:none;
    }
    .price-no1{
        margin-top:0;
    }
    .tel-text{
        clear: both;
        margin-top: 3rem;
    }
    .tel-btn{
        width: 100%;
        margin: 1rem 0;
    }
    #pagination{
        position: relative;
        width:100%;
        padding:0 0 100px;
        margin:0;
    }
    #pagination .past-page{
        float: none;
        top: 3rem;
        position: absolute;
        width: 100%;
    }
    #pagination .back-page{
        position: absolute;
        top: 0;
        float: none;
        width: 100%;
    }
    #pagination .next-page{
        float: none;
        width: 100%;
        position: absolute;
        top: 6rem;
    }
    .accordion_area .accordion_one .ac_header {
        padding: 1.5rem 3rem 1.5rem 1.0rem;
    }
    .accordion_area .accordion_one .ac_header .i_box {
        right: 0.8rem;
        width: 15px;
        height: 15px;
        margin-top: -7px;
    }
    .accordion_area .accordion_one .ac_header .i_box:before {
        width: 15px;
    }
    .accordion_area .accordion_one .ac_header .i_box:after {
        height: 15px;
        right: 7px;
    }
    .accordion_area .accordion_one .ac_inner {
        padding: 1.5rem 2rem 1.5rem 1.0rem;
    }
    footer{
        margin-bottom: 26vw!important;
    }
    #header-contact,#header-reserve,#footer-contact{
        margin-bottom:1rem;
    }
    #footer_link{
        background-color: rgba(0, 0, 0, 0.6);
        padding: 1rem;
        display: block;
        position: fixed;
        bottom: 0;
        width: calc(100vw - 2rem);
    }
    .rotate90{
        transform: rotate(90deg);
        display: block;
        color: #EB6786;
    }
    span.line{
        font-size:0.7em;
    }
    .faq-page article .the-content a{
        height: 4rem;
    }
    table th,.access-page table td{
        padding:1rem;
    }
    .access-page dl{
        margin: 0;
        width: 100%;
        display: block;
    }
    .pricelist dt,.pricelist dd,.access-page dt,.access-page dd,.company-page dl,.company-page dt,.company-page dd{
        width:100%;
    }
    .pricelist dt,.access-page dt,.company-page dt{
        border:0;
    }
    .price-page table th, .price-page table td{
        padding: 2rem 0;
    }
    .price-page table td{
        width: 70%;
    }
    .pricelist dt,.pricelist dd{
        line-height: 3.5rem;
    }
    .pricelist dt{
        padding-top: 2rem;
    }
    .pricelist dd{
        padding-bottom: 2rem;
    }
  }

  /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
  @media only screen and (min-width: 480px) and (max-width: 767px) {
    body, article .post-meta{
      font-size: 1.2em;
      line-height: 1.5em;
    }
    article .title{
      font-size: 2em;
      line-height: 1.5em;
    }
    .site-title{
      font-size: 10px !important;
      line-height: 50px;
    }
    .menu-main-nav-container a, .side-title, .menu-main-container a{
      font-size: 1em;
      line-height: 1.5em;
    }
  }

  /* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
  @media only screen and (max-width: 479px) {
    body, article .post-meta{
      font-size: 1.2em;
      line-height: 1.5em;
    }
    article .title{
      font-size: 2em;
      line-height: 1.5em;
    }
    .site-title{
      font-size: 6px !important;
      line-height: 30px;
    }
    .menu-main-nav-container a, .side-title, .menu-main-container a{
      font-size: 1em;
      line-height: 1.5em;
    }
  }
