@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap");
*,
::before,
::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
	-webkit-tap-highlight-color: transparent;
	/* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
	font-weight: bold;
}

dd {
	margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: inherit;
	/* 2 */
}

address {
	font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	text-decoration: underline;
	/* 2 */
	text-decoration: underline dotted;
	/* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: inherit;
	/* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: 0;
	border-radius: 0;
	text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
	-webkit-appearance: checkbox;
	appearance: checkbox;
}

[type="radio"] {
	-webkit-appearance: radio;
	appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	/* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	/* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
	cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
	display: none;
}

/**
 * Remove padding
 */
option {
	padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
	outline-offset: -2px;
	/* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/**
 * Clickable labels
 */
label[for] {
	cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
	outline: none;
}

/* Table */
/* ============================================ */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption {
	text-align: left;
}

td,
th {
	vertical-align: top;
	padding: 0;
}

th {
	text-align: left;
	font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

*,
::before,
::after {
	box-sizing: border-box;
}

* {
	font-size: inherit;
	line-height: inherit;
	letter-spacing: 0.2em;
}

::before,
::after {
	display: inline-block;
	text-decoration: inherit;
	vertical-align: inherit;
}

html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	background: #fff;
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
}

footer,
header,
hgroup,
nav,
section {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

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

[hidden] {
	display: none;
}

a {
	background-color: transparent;
}

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

b,
strong {
	font-weight: bold;
}

small {
	font-size: 80%;
}

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

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

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

img.pdf_icon {
	vertical-align: middle;
}

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

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

*:not(input):not(select):not(button):not(textarea):not(label):focus {
	outline: none;
}

select {
	height: 30px;
	color: inherit;
	font: inherit;
	margin: 0;
	padding: 0 20px 0 5px;
	line-height: 1;
}

button,
input,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
	padding: 4px 6px;
	border: 1px solid #ccc;
	border-radius: 4px;
	outline: none;
}

input:not([type="checkbox"]):not([type="radio"]),
textarea,
button {
	-webkit-appearance: none;
}

input {
	padding: 0 6px;
}

input:focus,
textarea:focus {
	outline: none;
}

input[type="button"],
input[type="submit"] {
	background-color: transparent;
	border: none;
}

button {
	overflow: visible;
	background-color: transparent;
	border-radius: 0;
	border: none;
}

button,
select {
	text-transform: none;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: none;
	cursor: pointer;
}

button[disabled],
input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

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

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

input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}

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

input[type="text"],
select,
textarea {
	font-size: 100%;
}

input[type="text"]:focus,
textarea:focus {
	transition: 0.2s;
}

input[type="text"]:focus,
textarea:focus {
	border-color: rgba(82, 168, 236, 0.8);
	outline: 0;
	outline: thin dotted \9;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}

textarea {
	overflow: auto;
	resize: vertical;
}

label {
	display: inline-block;
}

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

td,
th {
	padding: 0;
	text-align: left;
	vertical-align: top;
}

ol {
	list-style-position: inside;
}

li {
	list-style-type: none;
}

address {
	font-style: normal;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
p,
table,
thead,
tbody,
tfoot,
address {
	margin: 0;
	padding: 0;
}

input,
textarea,
table,
thead,
tbody,
tfoot,
address {
	text-align: left;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
form,
p {
	text-align: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1;
	font-weight: normal;
}

figure {
	margin: 0;
}

body {
	font-size: 16px;
	color: white;
	line-height: 2;
	letter-spacing: 0.2em;
	background-color: #021726;
	font-family: "Times New Roman";
}

p,
a,
dt,
dd,
li,
th,
td {
	line-height: 2;
}

a {
	color: white;
}

a:hover {
	color: white;
}

img {
	object-fit: cover;
}

.breadcrumb li {
	/**/
}

.button01 {
	/**/
}

.button02 {
	/**/
}

.pager li {
	/**/
}

header {
	z-index: 1000;
	width: 100%;
	position: fixed;
	justify-content: space-between;
	padding: 85px 87px;
	align-items: center;
	display: flex;
	font-family: "Times New Roman", Times, serif;
	height: 100px;
}

@media screen and (max-width: 1419px) {
	header {
		padding: 12px 20px;
		width: 90%;
		top: 30px;
	}
}

header .h_logo {
	font-family: "Playfair Display", serif;
	width: 100px;
}

header .h_logo svg {
	width: 150px;
	height: 60px;
	display: none;
}

@media screen and (max-width: 1419px) {
	header .h_logo svg {
		width: 120px;
		height: 40px;
	}
}

header .h_logo p {
	font-size: 26px;
	display: grid;
	color: white;
}

header .h_logo p a {
	display: flex;
	align-items: center;
}

header .h_logo p span {
	margin-top: 10px;
	font-size: 12px;
}

@media screen and (max-width: 1419px) {
	header .h_logo p span {
		margin-top: 0px;
		line-height: 12px;
		font-size: 7px;
	}
}

header .h1_menu {
	color: white;
}

header .h1_menu p {
	display: none;
}

header .h1_menu .menu span {
	border: solid 0.5px white;
	width: 30px;
	display: block;
}

header .h1_menu .menu span:last-child {
	border: solid 0.5px white;
	width: 30px;
	margin-top: 20px;
	display: block;
}

header .h1_menu .menu .form {
	padding-top: 20px;
	padding-bottom: 20px;
	width: 40%;
	border-radius: 4px;
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 25px;
	border: solid 1px white;
}

@media screen and (max-width: 1419px) {
	header .h1_menu .menu .form {
		width: 60%;
		font-size: 15px;
		margin: 15px auto;
		padding-top: 10px;
		padding-bottom: 10px;
	}
}

header .openbtn2 {
	z-index: 10000;
	position: absolute;
	top: 41px;
}

header .openbtn2 span {
	display: flex;
	transition: all 0.4s;
	/*アニメーションの設定*/
	width: 30px;
	background-color: #666;
}

header .openbtn2.-active span:nth-of-type(1) {
	transform: rotate(-45deg);
	width: 30px;
	margin-top: -2px;
}

header .openbtn2.-active span:nth-of-type(2) {
	transform: rotate(45deg);
	width: 30px;
	margin-top: -2px;
}

header .menus {
	font-size: 20px;
	text-align: center;
	padding: 50px;
	width: 100%;
	height: 100vh;
	background-color: #222;
	display: none;
	left: 0;
	top: 0;
}

@media screen and (max-width: 1419px) {
	header .menus {
		padding: 0px;
	}
}

header .menus .flex_box {
	width: 70%;
	margin: 0 auto;
}

@media screen and (max-width: 1419px) {
	header .menus .flex_box {
		width: 90%;
	}
}

header .menus .logo_menus {
	display: flex;
	margin-bottom: 30px;
	font-weight: 700;
	font-size: 40px;
}

@media screen and (max-width: 1419px) {
	header .menus .logo_menus {
		margin-top: 10%;
		margin-bottom: 10px;
		justify-content: center;
	}
}

header .menus .logo_menus svg {
	width: 200px;
}

header .menus.-active {
	position: fixed;
	display: block;
}

header .menus li {
	padding: 10px;
	text-align: left;
}

@media screen and (max-width: 1419px) {
	header .menus li {
		padding: 5px;
		font-size: 15px;
		width: 70%;
		text-align: left;
		margin: 0 auto;
		line-height: 20px;
	}
	header .menus li::after {
		content: "";
		border: 0.5px solid #959595 !important;
		width: 100%;
	}
	header .menus li::before {
		content: "";
	}
}

header .menus li .row {
	margin-right: 20px;
}

@media screen and (max-width: 1419px) {
	header .menus li .row {
		padding-top: 5px;
	}
}

header .tel_form {
	align-items: center;
	display: flex;
	justify-content: left;
}

@media screen and (max-width: 1419px) {
	header .tel_form {
		display: block;
	}
}

header .time {
	padding-left: 8px;
	padding-right: 8px;
	font-size: 20px;
}

@media screen and (max-width: 1419px) {
	header .time {
		font-size: 16px;
	}
}

header .header_tel {
	font-size: 13px;
}

@media screen and (max-width: 1419px) {
	header .header_tel {
		font-size: 10px;
	}
}

header .timetable {
	font-size: 8px;
}

@media screen and (max-width: 1419px) {
	header .timetable {
		font-size: 6px;
	}
}

footer {
	font-family: "Times New Roman", Times, serif;
	z-index: 10000;
	padding-top: 228px;
	background-color: #021726;
}

@media screen and (max-width: 1419px) {
	footer {
		padding-top: 80px;
	}
}

footer .gallery {
	padding-bottom: 188px;
}

@media screen and (max-width: 1419px) {
	footer .gallery {
		padding-bottom: 67px;
	}
}

footer .gallery h2 {
	margin-bottom: 48px;
	text-align: center;
}

footer .gallery .gallery_box {
	position: relative;
}

footer .gallery .gallery_box .gallery_img {
	height: 797px;
}

@media screen and (max-width: 1419px) {
	footer .gallery .gallery_box .gallery_img {
		height: 750px;
	}
}

footer .gallery .gallery_box .gallery_text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	text-align: center;
	width: 40%;
}

@media screen and (max-width: 1419px) {
	footer .gallery .gallery_box .gallery_text {
		width: 80%;
		text-align: left;
		font-size: 12px;
	}
}

footer .insta_h2 {
	text-align: center;
	position: relative;
	width: 50%;
	margin: 0 auto;
	padding-bottom: 63px;
}

@media screen and (max-width: 1419px) {
	footer .insta_h2 {
		width: 100%;
	}
}

footer .svg_insta {
	position: absolute;
	top: 0px;
	right: 60px;
	width: 231px;
	height: 231px;
}

@media screen and (max-width: 1419px) {
	footer .svg_insta {
		width: 231px;
		height: 231px;
		right: 0px;
		top: -20px;
	}
}

footer .svg_insta_bottom {
	padding-bottom: 63px;
	text-align: center;
	display: block;
	margin-top: 78px;
}

@media screen and (max-width: 1419px) {
	footer .svg_insta_bottom {
		text-align: left;
	}
}

footer .svg_insta_bottom svg {
	width: 300px;
}

@media screen and (max-width: 1419px) {
	footer .svg_insta_bottom svg {
		width: 320px;
	}
}

footer .book {
	text-align: center;
}

footer .book .booking_contents {
	text-align: right;
	margin-bottom: 72px;
}

@media screen and (max-width: 1419px) {
	footer .book .booking_contents {
		margin-bottom: 51px;
	}
}

@media screen and (max-width: 1419px) {
	footer .book .booking_contents svg {
		width: 240px;
	}
}

footer .book .booking {
	margin-top: 30px;
	margin-bottom: 55px;
	width: 428px;
	height: 107px;
}

@media screen and (max-width: 1419px) {
	footer .book .booking {
		width: 228px;
		margin-bottom: 0px;
	}
}

footer .book .tel_book {
	padding-bottom: 83px;
	display: block;
	font-size: 26px;
}

@media screen and (max-width: 1419px) {
	footer .book .tel_book {
		font-size: 14px;
		padding-bottom: 51px;
	}
}

footer .book .tel_book span {
	font-size: 18px;
	display: grid;
}

@media screen and (max-width: 1419px) {
	footer .book .tel_book span {
		font-size: 10px;
	}
}

footer .book .line2 {
	text-align: left;
	padding-bottom: 90px;
}

@media screen and (max-width: 1419px) {
	footer .book .line2 {
		padding-bottom: 50px;
	}
}

@media screen and (max-width: 1419px) {
	footer .book .line2 svg {
		width: 240px;
	}
}

footer .information {
	width: 80%;
	margin: 0 auto;
	padding-bottom: 110px;
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 1419px) {
	footer .information {
		display: grid;
		justify-content: center;
		width: 100%;
		letter-spacing: 0.2em;
		padding-bottom: 50px;
	}
}

footer .information .left {
	align-items: end;
}

@media screen and (max-width: 1419px) {
	footer .information .left {
		display: flex;
		width: 340px;
		text-align: center;
		align-items: start;
	}
	footer .information .left svg {
		height: 80px;
		width: 100px;
	}
}

@media screen and (max-width: 1419px) {
	footer .information .left .flex_box {
		width: 80%;
		text-align: left;
	}
}

footer .information .left .logo {
	font-size: 26px;
	display: grid;
	margin-bottom: 25px;
}

@media screen and (max-width: 1419px) {
	footer .information .left .logo {
		font-size: 23px;
		display: flex;
		align-items: center;
		margin-bottom: 8px;
		line-height: 24px;
	}
}

footer .information .left .logo span {
	color: #325064;
	font-size: 12px;
}

@media screen and (max-width: 1419px) {
	footer .information .left .logo span {
		font-size: 7px;
		line-height: 10px;
		margin-left: 8px;
		color: #eee;
		display: inline-block;
		letter-spacing: 0.3em;
	}
}

footer .information .left .number {
	font-size: 19px;
	display: grid;
	padding-bottom: 31px;
}

@media screen and (max-width: 1419px) {
	footer .information .left .number {
		font-size: 12px;
		letter-spacing: 0.3em;
		text-align: left;
		margin: 0 auto;
	}
}

footer .information .left .number span {
	font-size: 15px;
}

@media screen and (max-width: 1419px) {
	footer .information .left .number span {
		font-size: 8px;
	}
}

footer .information .left .address {
	font-size: 10px;
}

@media screen and (max-width: 1419px) {
	footer .information .left .address {
		text-align: right;
		width: 54%;
	}
}

@media screen and (max-width: 1419px) {
	footer .information .left .address span {
		display: block;
	}
}

footer .information .right {
	display: flex;
	align-items: end;
	font-size: 8px;
}

@media screen and (max-width: 1419px) {
	footer .information .right {
		margin: 0 auto;
	}
}

footer .wrap {
	display: flex;
	align-items: center;
	height: 300px;
	overflow: hidden;
}

@media screen and (max-width: 1419px) {
	footer .wrap {
		height: 120px;
	}
}

footer .wrap:nth-of-type(2) .slideshow {
	animation-direction: reverse;
	column-gap: 20px;
}

footer .wrap:nth-of-type(3) {
	display: none;
}

@media screen and (max-width: 1419px) {
	footer .wrap:nth-of-type(3) {
		display: flex;
	}
}

footer .slideshow {
	column-gap: 20px;
	display: flex;
	margin-right: 20px;
}

footer .content {
	width: 320px;
	height: 245px;
}

@media screen and (max-width: 1419px) {
	footer .content {
		width: 130px;
		height: 100px;
	}
}

.slideshow {
	display: flex;
	animation: loop-slide 20s infinite linear 1s both;
}

@keyframes loop-slide {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

.news-list li {
	/**/
}

.slide-menu {
	/**/
}

main {
	letter-spacing: 0.2em;
	font-family: "Times New Roman", Times, serif;
}

/* ----------------------------------------------
 * Generated by Animista on 2023-3-3 2:21:55
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation text-focus-in
 * ----------------------------------------
 */
@-webkit-keyframes text-focus-in {
	0% {
		-webkit-filter: blur(12px);
		filter: blur(12px);
		opacity: 0;
	}
	100% {
		-webkit-filter: blur(0px);
		filter: blur(0px);
		opacity: 1;
	}
}

@keyframes text-focus-in {
	0% {
		-webkit-filter: blur(12px);
		filter: blur(12px);
		opacity: 0;
	}
	100% {
		-webkit-filter: blur(0px);
		filter: blur(0px);
		opacity: 1;
	}
}

p {
	font-size: vw(20px);
}

.fv {
	height: 100vh;
	position: relative;
	background-color: brack;
	/*Scrollテキストの描写*/
	/* 線の描写 */
	/*高さ・位置・透過が変化して線が上から下に動く*/
}

.fv .fvtop {
	position: absolute;
	height: 100vh;
	width: 100%;
}

.fv .fvtop video {
	height: 100%;
	object-fit: none;
	width: 100%;
	filter: brightness(80%);
}

.fv h1 {
	display: grid;
	font-size: 120px;
	justify-content: center;
	font-family: "Playfair Display", serif;
	line-height: 110px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	width: 100%;
}

@media screen and (max-width: 1419px) {
	.fv h1 {
		display: grid;
		font-size: 39px;
		line-height: 45px;
	}
}

.fv h1 span {
	font-size: 35px;
	text-align: center;
}

@media screen and (max-width: 1419px) {
	.fv h1 span {
		font-size: 11px;
	}
}

.fv .scrolldown1 {
	left: 6%;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	/*描画位置※位置は適宜調整してください*/
	position: absolute;
	bottom: 0px;
	height: 60px;
}

.fv .scrolldown1 span {
	transform: rotate(180deg);
	/*描画位置*/
	position: absolute;
	left: -12px;
	top: -139px;
	/*テキストの形状*/
	color: #eee;
	font-size: 14px;
}

.fv .scrolldown1::after {
	content: "";
	/*描画位置*
    position: absolute;
    top: 0;
    /*線の形状*/
	width: 1px;
	height: 30px;
	background: #eee;
	/*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}

@keyframes pathmove {
	0% {
		height: 0;
		top: 0;
		opacity: 0;
	}
	30% {
		height: 30px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: 50px;
		opacity: 0;
	}
}

#container {
	position: relative;
	z-index: 1;
	background: #051828;
}

#container .message {
	position: relative;
	padding-top: 206px;
	padding-bottom: 362px;
}

@media screen and (max-width: 1419px) {
	#container .message {
		padding-top: 68px;
		padding-bottom: 57px;
	}
}

#container .message .logo_h2 {
	font-size: 133px;
	margin-left: 30%;
	text-align: left;
	line-height: 1.5em;
}

@media screen and (max-width: 1419px) {
	#container .message .logo_h2 {
		font-size: 38px;
		margin-left: 8%;
		line-height: 70px;
		font-weight: 500;
		letter-spacing: 0.3em;
	}
}

#container .message .logo_h2 .text {
	margin-top: 100px;
	font-size: 16px;
	line-height: 40px;
	width: 55%;
	display: block;
}

@media screen and (max-width: 1419px) {
	#container .message .logo_h2 .text {
		font-size: 14px;
		line-height: 28px;
		width: 90%;
		margin-top: 40px;
		font-weight: 500;
	}
}

@media screen and (max-width: 1419px) {
	#container .message .logo_h2 .text .more {
		justify-content: right !important;
	}
}

#container .message .top_img {
	position: absolute;
	display: flex;
	position: absolute;
	top: 0%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%, -50%);
	top: 247px;
	width: 90%;
	justify-content: space-between;
}

@media screen and (max-width: 1419px) {
	#container .message .top_img {
		top: 3%;
		width: 85%;
	}
}

#container .message .top_img .sunset {
	width: 421px;
	height: 421px;
}

@media screen and (max-width: 1419px) {
	#container .message .top_img .sunset {
		width: 131px;
		height: 131px;
	}
}

#container .message .top_img .children {
	margin-top: 100px;
	width: 474px;
	height: 474px;
}

@media screen and (max-width: 1419px) {
	#container .message .top_img .children {
		margin-top: 130px;
		width: 131px;
		height: 131px;
	}
}

#container .message .second_img {
	position: absolute;
	display: flex;
	top: 53%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%, -50%);
	width: 98%;
	z-index: -10;
	justify-content: space-between;
}

@media screen and (max-width: 1419px) {
	#container .message .second_img {
		top: 40%;
		width: 85%;
	}
}

#container .message .second_img .family {
	margin-left: -10%;
	width: 544px;
	height: 544px;
	margin-top: 10px;
}

@media screen and (max-width: 1419px) {
	#container .message .second_img .family {
		margin-left: 5%;
		width: 131px;
		height: 131px;
	}
}

#container .message .second_img .partner {
	width: 469px;
	height: 469px;
}

@media screen and (max-width: 1419px) {
	#container .message .second_img .partner {
		margin-top: 120px;
		width: 131px;
		height: 131px;
	}
}

#container .message .last_img {
	display: none;
}

@media screen and (max-width: 1419px) {
	#container .message .last_img {
		position: absolute;
		display: flex;
		top: 75%;
		left: 10%;
	}
}

@media screen and (max-width: 1419px) and (max-width: 1419px) {
	#container .message .last_img .partner {
		margin-top: 120px;
		width: 131px;
		height: 131px;
	}
}

#container .news {
	padding-bottom: 190px;
	letter-spacing: 0.2em;
	font-family: "Times New Roman";
	width: 80%;
	margin: 0 auto;
}

@media screen and (max-width: 1419px) {
	#container .news {
		width: 90%;
		padding-bottom: 62px;
	}
	#container .news .more {
		justify-content: left;
	}
	#container .news .more:before {
		content: "";
		margin-right: 20px;
		margin-top: 15px;
		height: 1px;
		width: 40px;
		background-color: white;
	}
}

#container .news .news_contents {
	justify-content: space-between;
	display: flex;
}

#container .news .news_contents h2 {
	height: 155px;
	width: 149px;
	transform: rotate(90deg);
}

@media screen and (max-width: 1419px) {
	#container .news .news_contents h2 {
		width: 0px;
		margin-left: 50px;
		height: 0px;
	}
}

#container .news .news_box {
	row-gap: 40px;
	width: 80%;
	flex-wrap: wrap;
	display: flex;
}

#container .news .news_box .onepease_news {
	justify-content: end;
	display: flex;
	width: 50%;
}

@media screen and (max-width: 1419px) {
	#container .news .news_box .onepease_news {
		width: 100%;
	}
}

#container .news .news_box .onepease_news .img_news {
	width: 35%;
	height: 144px;
	background-color: #eee;
}

@media screen and (max-width: 1419px) {
	#container .news .news_box .onepease_news .img_news {
		width: 40%;
		height: 82px;
	}
}

#container .news .news_box .onepease_news .right_news {
	margin-left: 20px;
	width: 50%;
}

@media screen and (max-width: 1419px) {
	#container .news .news_box .onepease_news .right_news {
		margin-left: 10px;
		margin-top: -20px;
	}
}

#container .news .news_box .onepease_news .right_news .date_news {
	font-size: 19px;
	font-weight: bold;
	color: #325064;
}

@media screen and (max-width: 1419px) {
	#container .news .news_box .onepease_news .right_news .date_news {
		font-size: 10px;
	}
}

#container .news .news_box .onepease_news .right_news .ttl_news {
	height: 100px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-height: 2;
	margin-top: 12px;
	font-family: "Times New Roman";
	font-size: 16px;
}

@media screen and (max-width: 1419px) {
	#container .news .news_box .onepease_news .right_news .ttl_news {
		font-size: 12px;
		height: 74px;
		-webkit-line-clamp: 3;
		margin-top: 10px;
	}
}

#container .activity {
	position: relative;
	padding-bottom: 62px;
	display: flex;
	margin-left: auto;
	width: 90%;
}

@media screen and (max-width: 1419px) {
	#container .activity {
		width: 100%;
		display: block;
		padding-bottom: 157px;
	}
}

#container .activity h2 {
	margin-left: auto;
	width: 90%;
	display: block;
	margin-right: 5%;
	line-height: 80px;
}

@media screen and (max-width: 1419px) {
	#container .activity h2 {
		line-height: 32px;
		margin-right: 0%;
		margin-left: 5%;
	}
}

@media screen and (max-width: 1419px) {
	#container .activity h2 .line_acti {
		display: inline;
		text-align: right;
		position: absolute;
		top: -5px;
		right: 20px;
	}
}

@media screen and (max-width: 1419px) {
	#container .activity h2 span {
		align-items: center;
	}
}

#container .activity .swiper {
	margin-right: auto;
	margin-top: 37px;
	height: 490px !important;
	position: relative;
	justify-content: space-between;
}

@media screen and (max-width: 1419px) {
	#container .activity .swiper {
		width: 90%;
		margin-left: auto !important;
		margin-right: 0px !important;
		margin-bottom: 41px;
	}
}

#container .activity .swiper-wrapper {
	column-gap: 20px;
	justify-content: space-between;
}

#container .activity .swiper-wrapper .img_news {
	width: 100%;
}

#container .activity .swiper-wrapper .swiper-slide {
	height: 100%;
	background-color: #16344a;
}

#container .activity .swiper-wrapper .swiper-slide .img_activity {
	width: 100%;
	height: 200px;
}

#container .activity .swiper-wrapper .swiper-slide .ttl_activity {
	font-size: 20px;
	display: grid;
	padding-top: 25px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 10px;
}

@media screen and (max-width: 1419px) {
	#container .activity .swiper-wrapper .swiper-slide .ttl_activity {
		font-size: 14px;
	}
}

#container .activity .swiper-wrapper .swiper-slide .ttl_activity span {
	font-size: 10px;
	color: #3e7490;
}

#container .activity .swiper-wrapper .swiper-slide .text_activity {
	font-size: 12px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 7;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 20px;
}

@media screen and (max-width: 1419px) {
	#container .activity .swiper-wrapper .swiper-slide .text_activity {
		-webkit-line-clamp: 7;
	}
}

#container .activity .btn_swiper {
	width: 0%;
}

@media screen and (max-width: 1419px) {
	#container .activity .btn_swiper {
		width: 90%;
		margin: 0 auto;
	}
}

#container .activity .btn_swi {
	width: 132px;
	position: absolute;
	right: 10%;
	top: 96%;
}

@media screen and (max-width: 1419px) {
	#container .activity .btn_swi {
		top: 80%;
		right: 5%;
	}
}

#container .activity .btn_swi .swiper-button-prev {
	width: 60px;
}

#container .activity .btn_swi .swiper-button-next {
	width: 60px;
	right: 0%;
}

#container .gallery {
	padding-bottom: 188px;
}

@media screen and (max-width: 1419px) {
	#container .gallery {
		padding-bottom: 67px;
	}
}

#container .gallery h2 {
	margin-bottom: 48px;
	text-align: center;
}

#container .gallery .gallery_box {
	position: relative;
}

#container .gallery .gallery_box .gallery_img {
	height: 797px;
}

@media screen and (max-width: 1419px) {
	#container .gallery .gallery_box .gallery_img {
		height: 750px;
		width: 100%;
	}
}

#container .gallery .gallery_box .gallery_text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	text-align: center;
	width: 40%;
}

@media screen and (max-width: 1419px) {
	#container .gallery .gallery_box .gallery_text {
		width: 80%;
		text-align: left;
	}
}

#container .instagram {
	padding-bottom: 110px;
}

#container .instagram h2 {
	text-align: center;
	position: relative;
	width: 50%;
	margin: 0 auto;
	padding-bottom: 63px;
}

@media screen and (max-width: 1419px) {
	#container .instagram h2 {
		width: 100%;
	}
}

#container .instagram img {
	position: absolute;
	top: 0px;
	right: 60px;
	width: 231px;
	height: 231px;
}

@media screen and (max-width: 1419px) {
	#container .instagram img {
		width: 231px;
		height: 231px;
		right: 0px;
		top: -20px;
	}
}

#container .svg_insta {
	text-align: center;
	display: block;
	margin-top: 78px;
}

@media screen and (max-width: 1419px) {
	#container .svg_insta {
		text-align: left;
	}
}

#container .svg_insta svg {
	width: 300px;
}

@media screen and (max-width: 1419px) {
	#container .svg_insta svg {
		width: 320px;
	}
}

#container .book {
	text-align: center;
}

#container .book .booking_contents {
	text-align: right;
	margin-bottom: 72px;
}

@media screen and (max-width: 1419px) {
	#container .book .booking_contents {
		margin-bottom: 51px;
	}
}

@media screen and (max-width: 1419px) {
	#container .book .booking_contents svg {
		width: 240px;
	}
}

#container .book .booking {
	margin-top: 30px;
	margin-bottom: 55px;
	width: 428px;
	height: 107px;
}

@media screen and (max-width: 1419px) {
	#container .book .booking {
		width: 228px;
		margin-bottom: 0px;
	}
}

#container .book .tel_book {
	padding-bottom: 83px;
	display: block;
	font-size: 26px;
}

@media screen and (max-width: 1419px) {
	#container .book .tel_book {
		font-size: 14px;
		padding-bottom: 51px;
	}
}

#container .book .tel_book span {
	font-size: 18px;
}

@media screen and (max-width: 1419px) {
	#container .book .tel_book span {
		font-size: 10px;
	}
}

#container .book .line2 {
	text-align: left;
	padding-bottom: 90px;
}

@media screen and (max-width: 1419px) {
	#container .book .line2 {
		padding-bottom: 50px;
	}
}

@media screen and (max-width: 1419px) {
	#container .book .line2 svg {
		width: 240px;
	}
}

#container .information {
	width: 80%;
	margin: 0 auto;
	padding-bottom: 110px;
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 1419px) {
	#container .information {
		display: grid;
		justify-content: center;
		width: 100%;
		letter-spacing: 0.2em;
		padding-bottom: 50px;
	}
}

#container .information .left {
	align-items: end;
}

@media screen and (max-width: 1419px) {
	#container .information .left {
		display: flex;
		width: 340px;
		text-align: center;
		align-items: start;
	}
}

@media screen and (max-width: 1419px) {
	#container .information .left .flex_box {
		width: 80%;
		text-align: left;
	}
}

#container .information .left .logo {
	font-size: 26px;
	display: grid;
	margin-bottom: 25px;
}

@media screen and (max-width: 1419px) {
	#container .information .left .logo {
		font-size: 23px;
		display: flex;
		align-items: center;
		margin-bottom: 8px;
		line-height: 24px;
	}
}

#container .information .left .logo span {
	color: #325064;
	font-size: 12px;
}

@media screen and (max-width: 1419px) {
	#container .information .left .logo span {
		font-size: 7px;
		line-height: 10px;
		margin-left: 8px;
		color: #eee;
		display: inline-block;
		letter-spacing: 0.3em;
	}
}

#container .information .left .number {
	font-size: 19px;
	display: grid;
	padding-bottom: 31px;
}

@media screen and (max-width: 1419px) {
	#container .information .left .number {
		font-size: 12px;
		letter-spacing: 0.3em;
		text-align: left;
		margin: 0 auto;
	}
}

#container .information .left .number span {
	font-size: 15px;
}

@media screen and (max-width: 1419px) {
	#container .information .left .number span {
		font-size: 8px;
	}
}

#container .information .left .address {
	font-size: 10px;
}

@media screen and (max-width: 1419px) {
	#container .information .left .address {
		text-align: right;
		width: 54%;
	}
}

@media screen and (max-width: 1419px) {
	#container .information .left .address span {
		display: block;
	}
}

#container .information .right {
	display: flex;
	align-items: end;
	font-size: 8px;
}

@media screen and (max-width: 1419px) {
	#container .information .right {
		margin: 0 auto;
	}
}

/*# sourceMappingURL=index.css.map */