@charset "UTF-8";

/*------------------------------------
汎用
------------------------------------*/
/* html{min-width: 768px;} */
body {
	/* max-width: 768px;
	min-width: 768px;
	min-height: 100%; */
}

/*コンテンツ*/
#contents {
	display: block;
	width: 100%;
	margin: 0 auto;
}

#contents img {
	width: 100%;
}

/*コンティナ*/
.container {
	display: block;
	width: 96%;
	margin: 0 auto;
}

/*汎用flex*/
.flex-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/*more*/
a.more {
	display: block;
	position: relative;
	text-align: center;
	width: 50vw;
	margin: 54px auto;
	background: #fff;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.3s ease;
}

a.more h3 {
	position: relative;
	display: block;
	padding: 0.5rem 0;
	font-size: 14px;
	color: #0068b7;
	transition: all 0.3s ease;
}

a.more:before,
a.more:after {
	position: absolute;
	content: "";
	right: 0;
	top: 0;
	background: #0068b7;
	transition: all 0.3s ease;
}

a.more:before {
	height: 100%;
	width: 1px;
	transition-delay: 0.35s;
}

a.more:after {
	height: 1px;
	width: 100%;
	transition-delay: 0.3s;
}

a.more:hover {
	opacity: 1;
}

a.more:hover:before {
	transition: all 0.3s ease;
	animation: borderh ease .4s normal forwards;
}

a.more:hover:after {
	transition: all 0.3s ease;
	animation: borderw ease .4s normal forwards;
}

@keyframes borderw {
	0% {
		width: 0%;
	}

	100% {
		width: 100%;
		background: #e580ab;
	}
}

@keyframes borderh {
	0% {
		height: 0%;
	}

	100% {
		height: 100%;
		background: #e580ab;
	}
}

a.more h3:hover {
	color: #e580ab;
}

a.more h3:before,
a.more h3:after {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	background: #0068b7;
	transition: all 0.3s ease;
}

a.more h3:before {
	width: 1px;
	height: 100%;
	transition-delay: 0.35s;
}

a.more h3:after {
	width: 100%;
	height: 1px;
	transition-delay: 0.3s;
}

a.more h3:hover:before {
	transition: all 0.3s ease;
	animation: borderh ease .4s normal forwards;
}

a.more h3:hover:after {
	transition: all 0.3s ease;
	animation: borderw ease .4s normal forwards;
}

/*パンくずリスト*/
.container-breadcrumbs {
	width: 100%;
	padding: 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#breadcrumbs {
	width: 1200px;
	display: block;
	margin: 0 auto;
}

#breadcrumbs ul {
	display: block;
	list-style: none;
	margin: 0 auto;
}

#breadcrumbs ul li {
	list-style: none;
	display: table-cell;
	vertical-align: middle;
	font-size: 12px;
	line-height: 3.5;
	padding: 0 0.5rem;
}

#breadcrumbs ul li:first-child {
	padding-left: 0;
}

#breadcrumbs ul li a {
	display: block;
	color: #333;
}

#breadcrumbs ul li a .fa-home {
	display: block;
	font-size: 24px;
	margin-top: -3px;
}

/*ページネーション*/
.pagination {
	display: flex;
	justify-content: center;
	line-height: 2;
	background: none;
	text-align: center;
	margin: 40px auto;
}

.pagination span,
.pagination a {
	padding: 8px 12px;
	width: auto;
	background: #fff;
}

.pagination a {
	display: inline;
	padding: 8px 12px;
	color: #3fa6f2;
}

.pagination a:hover {
	color: #fff;
	background: #3fa6f2;
	opacity: 1;
}

.pagination .current {
	background: #3fa6f2;
	color: #fff;
	opacity: 1;
}

/*ローディング*/
#progress {
	position: fixed;
	background: #3fa6f2;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 9990;
}

.slide {
	animation: slide 1.5s ease normal forwards;
}

@keyframes slide {
	50% {
		left: 0%;
	}

	100% {
		left: -100vw;
		display: none;
	}
}

#progresslogo {
	position: fixed;
	left: 43%;
	top: 34%;
	width: 14%;
	z-index: 9991;
}

#progresstext {
	position: fixed;
	text-align: center;
	left: 0;
	top: 50%;
	font-size: 16px;
	color: #fff;
	width: 100%;
	z-index: 9991;
}

#progressper {
	display: inline-block;
	font-size: 14px;
	color: #fff;
	text-align: center;
}

/*バナー*/
.banner_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 36px 0 12px;
}

.banner_list a {
	width: 248px;
	margin: 0 12px 24px;
}

/*------------------------------------
ヘッダー(sp)
------------------------------------*/
header {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	width: 100%;
	height: 56px;
	transition: all .3s ease;
	background: rgba(255, 255, 255, 1);
	border-bottom: 1px solid #ccc;
}

header .logo {
	display: block;
	height: 48px;
}

header .logo img {
	height: 100%;
	width: auto;
}

/*------------------------------------
グローバルナビゲーション
------------------------------------*/
#g-navi {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	width: 100%;
	height: 100%;
	background: #3fa6f2;
	opacity: 0;
	transform: scale(0, 1);
	transform-origin: left;
	transition: .35s ease-in-out;
}

#g-navi .logo {
	display: none;
}

#g-navi ul {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	top: 0;
	right: 0;
	width: 100vw;
	height: auto;
	margin: 0;
	padding: 0;
}

#g-navi ul li {
	display: block;
	width: 100%;
}

#g-navi ul li a {
	display: block;
	position: relative;
	font-size: 15px;
	padding: 8px 0;
	background: transparent;
	color: #fff;
	text-align: center;
	overflow: hidden;
	opacity: 1;
}

#g-navi ul li a:before {
	display: block;
	position: absolute;
	content: "";
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: #e580ab;
	opacity: 0;
	z-index: -1;
	transition: all .25s cubic-bezier(0.1, 0.03, 0.515, 0.955);
}

#g-navi ul li a:hover:before {
	left: 0;
	opacity: 1;
}

#g-navi ul li h3 {
	display: none;
}

#g-navi .sns {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 8px auto;
}

#g-navi .sns a {
	width: 42px;
	height: auto;
	margin: 10px auto;
}

#g-navi .sns a img {
	max-width: 100%;
	height: 100%;
}

/* スクロール */
#g-navi .scroll {
	display: none;
}

/* ハンバーガー */
#nav-toggle {
	display: block;
	position: fixed;
	top: 0px;
	left: 0px;
	height: 32px;
	margin: 0;
	padding: 12px 2%;
	background: transparent;
}

#nav-toggle span {
	display: block;
	position: relative;
	width: 36px;
	height: 1px;
	margin: auto;
	background: #3fa6f2;
	-webkit-transition: all .3s;
	transition: all .3s;
}

#nav-toggle span:nth-child(1) {
	top: 8px;
}

#nav-toggle span:nth-child(2) {
	top: 14px;
}

#nav-toggle span:nth-child(3) {
	top: 20px;
}

#nav-toggle:hover {
	cursor: pointer;
}

/* open */
.open {
	overflow: hidden;
}

.open #g-navi {
	opacity: 1;
	transform: scale(1, 1);
	transition: .3s ease-in-out;
}

/* #nav-toggle close */
.open #nav-toggle span {
	background: #fff;
}

.open #nav-toggle span:nth-child(1) {
	transform: rotate(45deg);
	top: 14px;
}

.open #nav-toggle span:nth-child(2) {
	transform: scale(0, 0);
}

.open #nav-toggle span:nth-child(3) {
	transform: rotate(-45deg);
	top: 12px;
}

/* z-index */
header {
	z-index: 150;
}

#overlay {
	z-index: 150;
}

#g-navi {
	z-index: 200;
}

#nav-toggle {
	z-index: 300;
}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
トップページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
/*------------------------------------
検索
------------------------------------*/
#searchbox {
	display: block;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	position: absolute;
	width: 94%;
	height: auto;
	left: 2%;
	bottom: 2%;
	padding: 8px 1%;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid #aaa;
	text-align: center;
	z-index: 100;
	transition: all 0.3s ease;
}

#searchbox .wide {
	width: 37%;
	display: block;
	margin-right: 1%;
}

#searchbox .wide p,
#searchbox .narrow p {
	display: block;
	width: 100%;
	font-size: 13px;
	line-height: 2;
}

#searchbox .wide .select,
#searchbox .narrow .select {
	display: block;
	width: calc(100% - 4px);
	height: 24px;
	background: #fff;
	border: solid 2px #3fa6f2;
}

#searchbox .narrow {
	width: 10%;
	display: block;
	margin-left: 1%;
}

#searchbox input[type="submit"] {
	display: block;
	width: 100%;
	height: 32px;
	margin-top: 8px;
	padding: 0;
	background: #3fa6f2;
	color: #fff;
}

/*------------------------------------
翻訳
------------------------------------*/
#lang {
	display: block;
	position: fixed;
	top: 0;
	right: 2%;
	color: #3fa6f2;
	z-index: 200;
}

#lang .bogo-language-switcher {
	display: flex;
	flex-direction: column;
	position: relative;
	background: transparent;
	border-bottom: 1px solid #3fa6f2;
	cursor: pointer;
}

#lang .bogo-language-switcher:before {
	position: absolute;
	left: 0;
	top: 16px;
	font-family: FontAwesome;
	content: '\f107';
	margin: 0 0 0 6px;
}

#lang .bogo-language-switcher,
#lang .bogo-language-switcher * {
	color: #3fa6f2;
	line-height: 1;
	font-weight: 700;
	font-size: 18px;
}

#lang .bogo-language-switcher li.current,
#lang .bogo-language-switcher li a {
	display: block;
	box-sizing: border-box;
	padding: 14px 8px 14px 54px;
	transition: .2s;
}

#lang .bogo-language-switcher li.current {
	order: -1;
}

#lang .bogo-language-switcher li:not(.current) {
	position: absolute;
	top: 46px;
	right: 0;
	transform: scale(1, 0);
	transform-origin: top;
	background: #fff;
	border: 1px solid #ccc;
	opacity: 0;
	transition: .3s ease;
}

#lang .bogo-language-switcher li:not(.current) a {
	padding: 14px 8px 14px 96px;
}

#lang .bogo-language-switcher:hover li:not(.current) {
	opacity: 1;
	transform: scale(1, 1);
}

#lang .bogo-language-switcher a:hover {
	background: rgba(255, 255, 255, .5);
}

/*------------------------------------
画像セクション
------------------------------------*/
.index_section .img {
	display: block;
	position: relative;
	width: 100%;
	height: 40vh;
	background: transparent;
	background-size: cover;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;
	overflow: hidden;
}

.index_section .top {
	height: 75vh;
}

.index_section .img video {
	width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50%;';
}

.index_section .img video {
	animation: bokashi ease 4s 0.75s normal forwards;
}

@keyframes bokashi {
	0% {
		filter: opacity(0%);
	}

	100% {
		filter: opacity(100%);
	}
}

.index_section .img.bg-1 {
	background-image: url("../img/index/aloha.jpg");
}

.index_section .img.bg-2 {
	background-image: url("../img/index/forest01.jpg");
}

/*ロゴ*/
.index_section .img h1 {
	opacity: 0;
}

/*キャッチコピー*/
.index_section .img h3 {
	display: block;
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.index_section .img h3 .big {
	display: block;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 64px;
	color: #fff;
	text-align: center;
}

.index_section .img h3 .small {
	display: block;
	font-family: 'Playfair Display', serif;
	line-height: 1.5;
	letter-spacing: 2px;
	font-size: 18px;
	color: #fff;
	text-align: center;
}

/*ハイビスカス*/
.index_section .img .hibiscus {
	display: block;
	position: absolute;
	bottom: -6%;
	right: 6%;
	width: 24%;
	height: auto;
}

.index_section .img .hibiscus img {
	display: block;
	width: 100%;
	height: 100%;
}

.index_section div.ovf {
	overflow: visible;
}

/*文章*/
.index_section .typography {
	width: 90%;
	margin: 56px auto;
}

.index_section .typography h2 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
}

.index_section .typography h2 span {
	display: block;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1.25;
	letter-spacing: 2px;
	font-size: 18px;
	text-align: center;
	color: #555;
	margin: 18px 0;
}

.index_section .typography h2 br {
	display: none;
}

.index_section .typography .intro {
	display: block;
	width: 98%;
	margin: 36px auto;
}

/*エントリー*/
.index_section .typography .entry {
	width: 32%;
}

.index_section .typography .entry:hover {
	opacity: 0.8;
}

.index_section .typography .entry img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

.index_section .typography .entry h3 {
	text-align: center;
	font-size: 16px;
	line-height: 1;
	padding: 16px 0 0;
}

.index_section .typography .entry span {
	display: block;
	border-top: 1px solid #3fa6f2;
	margin: 16px 0 0;
	padding: 6px 0 0;
	line-height: 1.75;
	text-align: left;
}

/*お知らせ*/
.index_section .notice {
	display: block;
	width: 90%;
	margin: 56px auto 0;
}

.index_section .notice h4 {
	display: block;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	color: #555;
	margin: 0 0 24px;
}

.index_section .notice h4:before {
	font-family: FontAwesome;
	content: '\f024';
	margin: 0 1rem 0 0;
	font-size: 22px;
}

.index_section .notice a {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	border-bottom: 1px solid #aaa;
	padding: 8px;
}

.index_section .notice a:hover {
	opacity: 0.7;
}

.index_section .notice a:last-of-type {
	border-bottom: none;
}

.index_section .notice a p {
	display: block;
	font-size: 14px;
	margin-right: 12px;
}

.index_section .notice a p:before {
	font-family: FontAwesome;
	content: '\f0da';
	display: inline-block;
	position: relative;
	top: 2px;
	width: auto;
	height: 20px;
	line-height: 20px;
	margin: 0 10px 0 0;
	font-size: 20px;
}

.index_section .notice a h5 {
	display: block;
	font-size: 14px;
	margin: 0;
}

/*------------------------------------
ブログ
------------------------------------*/
#index_blog {
	width: 90%;
	margin: 56px auto 0;
}

#index_blog h2 {
	display: block;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	width: 320px;
	height: auto;
	line-height: 1;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	margin: 48px auto;
}

#index_blog h2 img {
	width: 100%;
	height: 100%;
}

#index_blog .entry {
	display: block;
	position: relative;
	width: 100%;
	height: 40.5vw;
	margin: auto;
	overflow: hidden;
	opacity: 1;
}

#index_blog .entry img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#index_blog .entry:hover img {
	transform: scale(1.05, 1.05);
	opacity: 1;
}

#index_blog .entry h3 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 94%;
	height: auto;
	padding: 3%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

#index_blog .entry h3 span {
	display: block;
	line-height: 1.75;
	text-align: center;
	color: #fff;
}

#index_blog .entry h3 .title {
	font-size: 15px;
}

#index_blog .entry h3 .date {
	font-weight: 700;
	font-size: 12px;
}

#index_blog .entry div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: -100%;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	z-index: 1;
	transition: all .3s;
}

#index_blog .entry:hover div {
	bottom: 0;
}

#index_blog .entry div p {
	color: #fff;
	font-weight: 700;
	margin-top: 4px;
	opacity: 0;
	transition: all .3s .2s;
}

#index_blog .entry div img {
	display: block;
	width: 50px;
	height: 50px;
	opacity: 0;
	transform: scale(.9);
	transition: all .3s .2s;
}

#index_blog .entry:hover div p,
#index_blog .entry:hover div img {
	opacity: 1;
	transform: scale(1);
}

/*スライドドット*/
.slide-dots {
	text-align: center;
	padding: 0;
	margin: 16px 0 0;
	height: auto;
}

.slide-dots li {
	display: inline-block;
	margin: 12px 12px 0;
}

.slide-dots li:first-child {
	margin: 12px 12px 0 0;
}

.slide-dots li button {
	position: relative;
	text-indent: -9999px;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.slide-dots li button:before {
	display: block;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 100%;
	background: #3fa6f2;
}

.slide-dots li.slick-active button:before {
	background: #e580ab;
}

.slide-dots li:after {
	content: "";
	clear: both;
	display: block;
}

/*------------------------------------
地図
------------------------------------*/
#index_map {
	margin: 56px auto 0;
}

#index_map h3 {
	display: block;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	width: 240px;
	height: auto;
	line-height: 1;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	margin: 36px auto;
}

#index_map h3 img {
	width: 100%;
	height: 100%;
}

#index_map .map {
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
}

#googlemap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 100px;
	height: 0;
	overflow: hidden;
}

#googlemap iframe,
#googlemap object,
#googlemap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#googlemap img {
	max-height: none;
}

#index_map .about {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: static;
	width: 100%;
	height: auto;
	background: #fff;
	border-radius: 0;
}

#index_map .about img {
	display: none;
}

#index_map .about .traffic {
	width: 92%;
	margin: auto 0;
	padding: 0 4%;
}

#index_map .about .traffic h4 {
	text-align: center;
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
	padding: 18px 0;
	color: #0068b7;
}

#index_map .about .traffic p {
	text-align: center;
	line-height: 1.5;
	font-size: 15px;
	padding-bottom: 12px;
}

#index_map .about .traffic div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	line-height: 1;
	font-weight: 700;
	font-size: 18px;
	padding-bottom: 12px;
}

#index_map .about .traffic div p {
	display: block;
	width: 100%;
	line-height: 1.5;
	font-size: 14px;
	padding-bottom: 0px;
}

#index_map .about .traffic div a {
	font-size: 26px;
	line-height: 1;
	margin-left: 12px;
}

#index_map .about .traffic .mail a {
	font-size: 20px;
}

#index_map .about .link {
	display: flex;
	margin-top: 12px;
}

#index_map .about .link a {
	width: 100%;
	text-align: center;
	padding: 18px;
	line-height: 1;
}

#index_map .about .link .access {
	background: #0068b7;
	color: #fff;
	border-radius: 0;
}

#index_map .about .link .access:before {
	font-family: FontAwesome;
	content: '\f1b9';
	position: relative;
	margin-right: 8px;
}

#index_map .about .link .access:hover {
	background: #fff;
	color: #0068b7;
	opacity: 1;
}

#index_map .about .link .googlemap {
	background: #3fa6f2;
	color: #fff;
	border-radius: 0;
}

#index_map .about .link .googlemap:before {
	font-family: FontAwesome;
	content: '\f041';
	position: relative;
	margin-right: 8px;
}

#index_map .about .link .googlemap:hover {
	background: #fff;
	color: #3fa6f2;
	opacity: 1;
}

/*------------------------------------
フッター
------------------------------------*/
footer {
	padding-top: 28px;
}

footer .logo {
	display: block;
	width: 160px;
	height: auto;
	margin: 24px auto;
}

footer .logo img {
	width: 100%;
	height: 100%;
}

footer .contents {
	padding-top: 120px;
	background: url(../img/footer/footer_back.png) 50% 0%/auto 240px no-repeat;
}

footer .contents .flex-wrap {
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-end;
	position: relative;
}

footer .contents .icon {
	display: block;
	position: absolute;
	top: 50%;
	left: 2%;
	transform: translate(0, -50%);
	width: 50px;
	height: auto;
}

footer .contents .container>div {
	display: flex;
	justify-content: center;
	padding: 8px 16px;
}

footer .contents .container>div p {
	font-size: 12px;
	margin-right: 18px;
	line-height: 1.25;
	color: #fff;
}

footer .contents .tel a {
	display: block;
	color: #333;
	line-height: 1;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	color: #fff;
}

footer .contents .tel a:before {
	font-family: FontAwesome;
	content: '\f095';
	display: inline-block;
	position: relative;
	top: -1px;
	width: 20px;
	height: 20px;
	line-height: 20px;
	margin: 0 12px 0 0;
	padding: 10px;
	font-size: 20px;
	box-shadow: 0 0 0 1px #fff;
	border-radius: 100%;
}

footer .contents .contact a {
	padding: 4px 42px;
	color: #fff;
	background: #e580ab;
	border-radius: 4px;
	opacity: 1;
	font-weight: 700;
	transition: all .3s;
}

footer .contents .contact a:hover {
	color: #e580ab;
	background: #fff;
}

footer .contents .copyright {
	text-align: center;
	font-size: 12px;
	color: #fff;
	border-top: 1px solid #fff;
	margin-top: 8px;
	padding: 5px 0;
}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
下層ページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
/*------------------------------------
ヘッダー
------------------------------------*/
#sub_header {
	display: block;
	position: relative;
	margin-top: 56px;
}

#sub_header .logo {
	display: none;
}

#sub_header .flex-wrap {}

#sub_header .flex-wrap a {
	width: 33.3333333333%;
	background: rgba(0, 0, 0, 0.3);
}

#sub_header .flex-wrap a.current {
	background: rgba(0, 0, 0, 0);
}

#sub_header img {
	width: 100%;
	height: 350px;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#sub_header .flex-wrap a .name {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding: 18px 0;
}

#sub_header .flex-wrap a .name img {
	display: block;
	width: auto;
	height: 20px;
}

#sub_header .flex-wrap a .name p {
	padding: 0 2px;
	font-size: 13px;
	color: #808080;
	line-height: 1;
}

/*------------------------------------
アーカイブ
------------------------------------*/
#archive {}

#archive .head {
	padding: 60px 0;
}

#archive .head h1 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 40px;
	text-align: center;
	color: #555;
}

#archive .head p {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 18px;
	text-align: center;
	color: #555;
	padding: 12px 0 0;
}

#archive .head h1 img {
	width: 320px;
	height: 100%;
	margin: 0 auto;
}

#archive .article_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#archive .article_list .entry {
	display: block;
	position: relative;
	width: 50%;
	height: calc(100vw / 2);
	margin: 0;
	overflow: hidden;
	opacity: 1;
}

#archive .article_list .entry img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#archive .article_list .entry:hover img {
	transform: scale(1.05, 1.05);
	opacity: 1;
}

#archive .article_list .entry h2 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 94%;
	height: auto;
	padding: 3%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

#archive .article_list .entry h2 span {
	display: block;
	font-size: 14px;
	word-break: break-all;
	line-height: 1.75;
	text-align: center;
	color: #fff;
}

#archive .article_list .entry h2 .title {
	font-size: 16px;
}

#archive .article_list .entry h2 .date {
	font-size: 12px;
}

#archive .article_list .entry .readmore {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: -100%;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	z-index: 1;
	transition: all .3s;
}

#archive .article_list .entry:hover .readmore {
	bottom: 0;
}

#archive .article_list .entry .readmore p {
	color: #fff;
	font-weight: 700;
	margin-top: 4px;
	opacity: 0;
	transition: all .3s .2s;
}

#archive .article_list .entry .readmore img {
	display: block;
	width: 50px;
	height: 50px;
	opacity: 0;
	transform: scale(.9);
	transition: all .3s .2s;
}

#archive .article_list .entry:hover .readmore p,
#archive .article_list .entry:hover .readmore img {
	opacity: 1;
	transform: scale(1);
}

/*------------------------------------
投稿ページ
------------------------------------*/
#single {
	width: 96%;
	margin: 0 auto 24px;
}

#single p {
	word-break: break-all;
	margin: 24px 0;
}

#single img {
	width: auto;
}

#single h1 {
	display: block;
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	font-size: 32px;
	line-height: 1.5;
	padding: 42px 0;
	text-align: center;
}

#single h2 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	margin: 12px 0;
	padding: 10px 10px;
	background: #eee;
	border-left: 4px solid #0068b7;
}

#single h3 {
	position: relative;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	margin: 10px 0;
	padding: 8px 4px;
	border-bottom: 1px solid #0068b7;
}

#single h3:after {
	display: block;
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 10%;
	border-bottom: 3px solid #0068b7;
}

#single h4 {
	position: relative;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	margin: 10px 0;
	padding: 8px 20px;
}

#single h4:after {
	content: "";
	position: absolute;
	top: 14px;
	left: 2px;
	width: 11px;
	height: 11px;
	background: #0068b7;
}

/*黒丸リスト*/
#single ul {
	margin: 12px 0;
}

#single ul li {
	padding: 0 18px;
}

#single ul li:before {
	content: "";
	display: inline-block;
	position: relative;
	width: 6px;
	height: 6px;
	border-radius: 100%;
	background: #0068b7;
	margin: 0;
	left: -12px;
	top: -1px;
}

/*数字リスト*/
#single ol {
	counter-reset: li;
	margin: 12px 0;
}

#single ol>li {
	padding: 0 18px;
}

#single ol>li:before {
	counter-increment: li;
	content: counter(li);
	display: inline-block;
	position: relative;
	left: -12px;
	color: #333;
	margin: 0;
}

#single table {
	display: block;
	padding: 1.25rem 0;
	border-collapse: collapse;
	text-align: left;
	line-height: 1.5;
	overflow-x: scroll;
}

#single table thead th {
	padding: 10px;
	font-weight: bold;
	color: #fff;
	border-left: 1px solid #fff;
	background: #0068b7;
}

#single table thead th:first-child {
	border-left: 1px solid #0068b7;
}

#single table tbody th {
	padding: 0.5rem;
	font-weight: bold;
	vertical-align: top;
	border-bottom: 1px solid #ddd;
	background: #eee;
}

#single table td {
	padding: 0.5rem;
	vertical-align: top;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

#single .aligncenter {
	display: block;
	margin: 0 auto;
}

#single .alignright {
	float: right;
}

#single .alignleft {
	float: left;
}

#single strong {
	font-weight: bold;
}

#single em {
	font-style: italic;
}

#single blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}

#single .clearfix {
	overflow: hidden;
	zoom: 1;
}

#single .clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/*ルアナの独り言*/
#single .head {
	margin: 42px auto;
}

#single .head img {
	width: 300px;
	height: 100%;
	margin: 0 auto;
}

/*アイキャッチ画像*/
#single .eyecatch {
	width: 600px;
	margin: 0 auto;
}

#single .eyecatch img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

/*日付*/
#single .date {
	display: flex;
	vertical-align: middle;
}

#single .date p {
	line-height: 1;
	margin: 0;
}

#single .date p:before {
	position: relative;
	left: 0;
	top: 0;
	font-family: FontAwesome;
	content: '\f073';
	margin: 0 6px 0 0;
}

/*リンク*/
#single .postlink {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}

#single .postlink .prev i,
#single .postlink .next i {
	color: #0068b7;
	margin: 0 4px;
}

/*------------------------------------
ポルーハウス
------------------------------------*/
#poruhouse {}

#poruhouse .top {
	padding: 60px 0;
}

#poruhouse .top img {
	display: block;
	width: auto;
	height: 50px;
	margin: 0 auto;
}

#poruhouse .top h1 {
	font-size: 16px;
	color: #808080;
	text-align: center;
	line-height: 1;
	padding: 16px 0 0;
}

#poruhouse .slider {}

#poruhouse .slider .thumb_slider {
	display: block;
	width: 100%;
	height: 600px;
	margin: 0;
}

#poruhouse .slider .thumb_slider img {
	width: 100%;
	height: 480px;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#poruhouse .slider .slick-dots {
	position: static;
	display: flex;
	justify-content: space-between;
	margin: 20px 0 0 0;
}

#poruhouse .slider .slick-dots li {
	list-style: none;
	display: block;
	width: 25%;
	height: 100px;
	margin: 0;
}

#poruhouse .slider .slick-dots li img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#poruhouse .slider .slick-dots .slick-active img {
	opacity: 0.8;
}

#poruhouse .caption {
	padding: 60px 0;
}

#poruhouse .caption h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 60px;
}

#poruhouse .caption h2 p {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
}

#poruhouse .caption h2 img {
	width: 120px;
	height: 100%;
	margin-left: 20px;
}

#poruhouse .caption .flex-wrap {
	display: block;
}

#poruhouse .caption .flex-wrap img {
	width: auto;
	margin: 0 auto;
}

#poruhouse .caption .flex-wrap p {
	font-size: 16px;
	width: 80%;
	margin: 0 auto;
	padding: 40px 0 0;
	text-align: center;
}

#poruhouse .room_intro {
	background: #f7f7f7;
}

#poruhouse .room_intro h2 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
	padding: 60px 0 40px;
}

#poruhouse .room_intro .room_box {
	padding: 0 0 60px;
}

#poruhouse .room_intro .room_box h3 {
	display: inline-block;
	font-size: 24px;
	color: #666;
	border-bottom: 3px solid #3fa6f2;
	margin: 0 0 20px;
}

#poruhouse .room_intro .room_box .about {
	font-size: 16px;
	padding: 30px 0;
}

#poruhouse .room_intro .room_box .mainimg {
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	width: 100%;
}

#poruhouse .room_intro .room_box .mainimg img {
	display: block;
	width: calc(95% - 307px);
	height: auto;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#poruhouse .room_intro .room_box .mainimg .sketch {
	display: block;
	margin: auto;
	width: 307px;
	height: 100%;
}

#poruhouse .room_intro .room_box .flex-wrap {
	justify-content: space-between;
	flex-wrap: nowrap;
}

#poruhouse .room_intro .room_box .flex-wrap .imgcap {
	width: 50%;
	height: 100%;
	padding-right: 20px;
}

#poruhouse .room_intro .room_box .flex-wrap .imgcap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#poruhouse .room_intro .room_box .flex-wrap .imgcap p {
	margin-top: 8px;
}

#poruhouse .room_intro .room_box .flex-wrap .text {
	display: flex;
	flex-direction: column;
}

#poruhouse .room_intro .room_box .flex-wrap .text .facility {
	padding: 18px;
	background: #efefef;
}

#poruhouse .room_intro .room_box .flex-wrap .text .facility h4 {
	font-size: 20px;
	margin-bottom: 12px;
}

#poruhouse .room_intro .room_box .flex-wrap .text .facility ul {
	display: flex;
	flex-wrap: wrap;
}

#poruhouse .room_intro .room_box .flex-wrap .text .facility ul li {
	margin: 0 0 0 12px;
}

#poruhouse .room_intro .room_box .flex-wrap .text .facility ul li:before {
	position: relative;
	left: 0;
	top: 0;
	padding-right: 4px;
	font-family: FontAwesome;
	content: '\f138';
}

#poruhouse .room_intro .room_box .flex-wrap .text a {
	display: block;
	width: 60%;
	margin: 20px auto 0 auto;
	padding: 10px 0;
	font-size: 16px;
	color: #fff;
	background: #3fa6f2;
	border-radius: 5px;
	box-shadow: 0 0 0 1px #3fa6f2;
	text-align: center;
}

#poruhouse .room_intro .room_box .flex-wrap .text a:hover {
	color: #3fa6f2;
	background: #fff;
	opacity: 1;
}

/*------------------------------------
アカラハウス
------------------------------------*/
#akarahouse {}

#akarahouse .top {
	padding: 60px 0;
}

#akarahouse .top img {
	display: block;
	width: auto;
	height: 50px;
	margin: 0 auto;
}

#akarahouse .top h1 {
	font-size: 16px;
	color: #808080;
	text-align: center;
	line-height: 1;
	padding: 16px 0 0;
}

#akarahouse .caption {
	padding: 0 0 60px;
}

#akarahouse .caption p {
	width: 80%;
	font-size: 16px;
	margin: 0 auto;
	padding: 60px 0 0;
}

#akarahouse .bg-img {
	display: block;
	position: relative;
	width: 100%;
	height: 400px;
	background: url(../img/akarahouse/bigimg01.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}

#akarahouse .reception {
	width: 90%;
	margin: 60px auto;
	padding: 16px;
	background: #f7f7f7;
	border-radius: 20px;
}

#akarahouse .reception .borderbox {
	background: #fff;
	padding: 20px;
	border-radius: 10px;
}

#akarahouse .reception h2 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
	padding: 20px 0 40px;
}

#akarahouse .reception .about {
	font-size: 16px;
	margin-bottom: 30px;
}

#akarahouse .reception .flex-wrap {
	margin-bottom: 30px;
}

#akarahouse .reception .flex-wrap .imgcap {
	width: 48%;
}

#akarahouse .reception .flex-wrap .imgcap p {
	margin-top: 8px;
}

#akarahouse .reception div .reception_box {
	padding: 20px 0;
	border-bottom: 1px solid #65869b;
}

#akarahouse .reception div .reception_box:last-child {
	border-bottom: none;
}

#akarahouse .reception div .reception_box h3 {
	font-size: 22px;
	font-weight: 700;
}

#akarahouse .reception div .reception_box p {
	font-size: 16px;
}

#akarahouse .reception .link {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}

#akarahouse .reception .link a {
	width: 48%;
	padding: 10px 0;
	font-size: 16px;
	color: #fff;
	text-align: center;
	border-radius: 5px;
}

#akarahouse .reception .link .pink {
	background: #ff7ba9;
	box-shadow: 0 0 0 1px #ff7ba9;
}

#akarahouse .reception .link .blue {
	background: #3fa6f2;
	box-shadow: 0 0 0 1px #3fa6f2;
}

#akarahouse .reception .link .pink:hover {
	background: #fff;
	color: #ff7ba9;
}

#akarahouse .reception .link .blue:hover {
	background: #fff;
	color: #3fa6f2;
}

#akarahouse .img img {
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#akarahouse .img-wrap {
	display: flex;
	margin-bottom: 30px;
}

#akarahouse .img-wrap img {
	width: 25%;
	height: 100%;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

/*------------------------------------
お食事
------------------------------------*/
#meal {}

#meal .top {
	padding: 60px 0;
}

#meal .top img {
	display: block;
	width: auto;
	height: 50px;
	margin: 0 auto;
}

#meal .top h1 {
	font-size: 16px;
	color: #808080;
	text-align: center;
	line-height: 1;
	padding: 16px 0 0;
}

#meal .caption {
	padding: 0 0 60px;
}

#meal .caption p {
	width: 80%;
	font-size: 16px;
	margin: 0 auto;
	padding: 60px 0 0;
}

#meal .bg-img {
	width: 100%;
	height: 400px;
	background: url(../img/meal/bigimg01.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}

#meal .reception {
	width: 90%;
	margin: 60px auto 0;
	padding: 16px;
	background: #f7f7f7;
	border-radius: 20px;
}

#meal .reception .borderbox {
	background: #fff;
	padding: 20px;
	border-radius: 10px;
}

#meal .reception h2 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
	padding: 20px 0 40px;
}

#meal .reception .about {
	font-size: 16px;
	margin-bottom: 30px;
}

#meal .reception .flex-wrap {
	margin-bottom: 30px;
}

#meal .reception .flex-wrap .imgcap {
	width: 48%;
}

#meal .reception .flex-wrap .imgcap p {
	margin-top: 8px;
}

#meal .reception div .reception_box {
	padding: 20px 0;
	border-top: 1px solid #65869b;
}

#meal .reception div .reception_box h3 {
	font-size: 22px;
	font-weight: 700;
}

#meal .reception div .reception_box p {
	font-size: 16px;
}

#meal .reception div .reception_box .flex-wrap {
	margin: 40px auto 0;
}

#meal .jikayasai {
	display: block;
	background: #1a1a1a;
	margin-top: 40px;
	padding: 20px;
	border-radius: 10px;
}

#meal .jikayasai img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#meal .jikayasai span {
	display: block;
	margin-top: 10px;
}

#meal .jikayasai span h3 {
	font-size: 24px;
	color: #fff;
	margin-bottom: 4px;
}

#meal .jikayasai span p {
	font-size: 15px;
	color: #fff;
}

/*------------------------------------
周辺案内
------------------------------------*/
#vicinity {
	margin: 40px auto 0;
}

#vicinity h1 {
	padding: 20px 0;
}

#vicinity h1 img {
	display: block;
	width: 545px;
	margin: 0 auto;
}

#vicinity .map {
	width: 80%;
	margin: 20px auto 60px;
}

#vicinity .spot_list {
	width: 100%;
	background: #ededed;
	padding: 40px 0;
}

#vicinity .spot_list .spot_box {
	width: 48%;
	margin-bottom: 30px;
	background: #fff;
}

#vicinity .spot_list .spot_box2 {
	width: 100%;
}

#vicinity .spot_list .spot_box img {
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}

#vicinity .spot_list .spot_box .text,
#vicinity .spot_list .spot_box2 {
	padding: 20px;
	background: #fff;
}

#vicinity .spot_list .spot_box .text .name,
#vicinity .spot_list .spot_box2 .name {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

#vicinity .spot_list .spot_box .text .name .num,
#vicinity .spot_list .spot_box2 .name .num {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	font-size: 23px;
	color: #fff;
	background: #231815;
}

#vicinity .spot_list .spot_box .text .name h2,
#vicinity .spot_list .spot_box2 .name h2 {
	font-size: 23px;
	color: #231815;
	margin-left: 14px;
}

#vicinity .spot_list .spot_box .text .note {
	font-size: 16px;
}

#vicinity .spot_list .spot_box2 table {
	width: 100%;
}

#vicinity .spot_list .spot_box2 table tr {
	border-bottom: 1px solid #ededed;
}

#vicinity .spot_list .spot_box2 table tr:last-child {
	border-bottom: none
}

#vicinity .spot_list .spot_box2 table tr th {
	width: 140px;
	padding: 6px 24px 6px 12px;
	font-size: 16px;
	text-align-last: justify;
}

#vicinity .spot_list .spot_box2 table tr td {
	padding: 6px;
	font-size: 16px;
}

#vicinity .banner {
	flex-flow: nowrap;
	justify-content: center;
	margin: 40px auto 0;
}

#vicinity .banner a {
	display: block;
	max-height: 100px;
	margin: 0 10px;
}

#vicinity .banner a img {
	width: auto;
	height: 100px;
}

/*------------------------------------
アクセス
------------------------------------*/
#access {
	margin: 60px auto 0;
}

#access h1 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
	padding: 20px 0;
}

#access .fromluana {
	padding: 0 0 60px;
}

#access .fromluana h3 {
	font-size: 16px;
	text-align: center;
}

#access .fromluana .transportation {
	width: 720px;
	margin: 40px auto;
}

#access .fromluana .transportation h4 {
	display: flex;
	align-items: flex-end;
	font-size: 20px;
	line-height: 1;
	margin-bottom: 8px;
	padding-bottom: 10px;
	border-bottom: 1px solid #3fa6f2;
}

#access .fromluana .transportation h4 img {
	width: 30px;
	height: 100%;
	margin-right: 10px;
}

#access .fromluana .transportation p {
	font-size: 22px;
	font-weight: 700;
	text-align: left;
	line-height: 1.75;
}

#access .fromluana .transportation small {
	font-size: 15px;
	font-weight: 700;
}

#access .fromluana .transportation .annotation {
	font-size: 14px;
	font-weight: 500;
}

#access .fromluana .banner {
	width: 720px;
	margin: 40px auto 60px;
}

#access .fromluana .banner p {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 10px;
	text-align: center;
}

#access .fromluana .banner img {
	width: auto;
	height: 100%;
}

#access .fromluana .map {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#access .fromluana .map img {
	width: 46%;
	height: 100%;
}

#access .fromyakushima {
	margin-bottom: 40px;
}

#access .fromyakushima h2 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
	padding: 20px 0;
}

#access .fromyakushima .trans_box {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 49%;
	padding: 20px 0;
	border: 1px solid #ccc;
}

#access .fromyakushima .trans_box h4 {
	font-size: 18px;
	color: #3fa6f2;
	text-align: center;
	margin-top: 20px;
}

#access .fromyakushima .trans_box p {
	text-align: center;
}

#access .fromyakushima .trans_box img {
	max-width: 114px;
	max-height: 95px;
	margin: auto 0;
}

#access .googlemap {}

#access .googlemap .map {
	position: relative;
	padding-bottom: 52.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

#access .googlemap .map iframe,
#access .googlemap .map object,
#access .googlemap .map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#access .googlemap .flex-wrap {
	width: 80%;
	margin: 20px auto;
}

#access .googlemap .flex-wrap .logo {
	width: 225px;
}

#access .googlemap .flex-wrap .address p {
	line-height: 1.5;
}

#access .googlemap .flex-wrap .address a {
	font-size: 21px;
	line-height: 1.5;
}

/*------------------------------------
お問い合わせ
------------------------------------*/
#contact {
	margin: 60px auto 0;
}

#contact h1 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
	padding: 20px 0 60px;
}

#contact .about {
	font-size: 16px;
	margin-bottom: 20px;
	text-align: center;
}

#contact .form-table {
	display: block;
	width: 720px;
	margin: 0 auto;
	text-align: left;
}

#contact .form-table table {
	display: table;
	white-space: nowrap;
}

#contact .form-table table td {
	width: 700px;
	padding: 12px 10px;
}

#contact .form-table table td .name {
	display: flex;
	font-size: 16px;
	padding-bottom: 6px;
}

#contact .form-table table td .form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#contact .form-table table td .form p {
	display: inline-block;
	vertical-align: middle;
	padding: 0 6px;
	line-height: 1;
	font-size: 15px;
}

#contact .form-table table td .form .persons {
	padding-right: 12px;
}

#contact .form-table table td .small {
	padding-top: 12px;
}

#contact .form-table table td .small p {
	font-size: 12px;
}

#contact .form-table input,
#contact .form-table select {
	max-width: 330px;
	font-size: 16px;
	padding: 6px;
	border: 1px solid #aaa;
	border-radius: 4px;
}

#contact .form-table select {
	width: 200px;
	padding: 6px;
}

#contact .form-table textarea {
	display: block;
	padding: 0.5%;
	width: calc(700px - 1%);
	resize: vertical;
}

#contact input[type="submit"] {
	display: block;
	position: relative;
	text-align: center;
	width: 240px;
	margin: 36px auto;
	padding: 18px;
	color: #fff;
	font-size: 16px;
	background: #3fa6f2;
	border: 1px solid #3fa6f2;
	cursor: pointer;
	text-decoration: none;
	border-radius: 5px;
	transition: all 0.3s ease;
}

#contact input[type="submit"]:hover {
	background: #fff;
	color: #3fa6f2;
}

#contact input[type="radio"] {
	width: auto;
	margin: 0 10px;
}

#contact .form-table .text {
	display: flex;
	font-size: 16px;
}

#contact .form-table .text .p {
	display: inline-block;
	vertical-align: middle;
}

#contact .form-table .required {
	font-size: 24px;
	line-height: 1;
	color: #f00;
}

/*------------------------------------
サンクスページ
------------------------------------*/
#thanks {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100vh;
}

#thanks h1 {
	display: block;
	font-size: 38px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 80px;
	color: #3fa6f2;
	text-align: center;
}

#thanks p {
	font-size: 16px;
	line-height: 3;
	text-align: center;
	margin-bottom: 80px;
}

#thanks a {
	display: block;
	width: 64%;
	margin: 0 auto;
	padding: 14px 0;
	font-size: 16px;
	color: #fff;
	background: #3fa6f2;
	border-radius: 5px;
	box-shadow: 0 0 0 1px #3fa6f2;
	text-align: center;
}

#thanks a:hover {
	color: #3fa6f2;
	background: #fff;
	opacity: 1;
}

/*------------------------------------
料金表
------------------------------------*/
#fee {
	width: 96%;
	margin: 40px auto 0;
}

#fee h1 {
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	transform: rotate(.03deg);
	line-height: 1;
	letter-spacing: 2px;
	font-size: 42px;
	text-align: center;
	color: #555;
	padding: 20px 0;
}

#fee .about {
	font-size: 16px;
	text-align: center;
	margin-bottom: 40px;
}

#fee h2 {
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	font-size: 20px;
	color: #fff;
	line-height: 1;
	margin: 20px 0;
	padding: 10px 12px;
	background: #444;
}

#fee h2:before {
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	left: 0;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	background: #fff;
	border-radius: 50%;
}

#fee h2 span {
	display: block;
	font-size: 12px;
	color: #fff;
	line-height: 1;
	margin-left: auto;
	background: #444;
}

#fee h3 {
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	font-size: 18px;
	line-height: 1;
	margin: 30px 0 10px;
}

#fee h3:before {
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	left: 0;
	width: 18px;
	height: 18px;
	margin-right: 8px;
	background: #333;
	border-radius: 50%;
}

#fee .contact {
	display: block;
	width: 52%;
	margin: 30px auto 10px;
	padding: 12px 0;
	font-size: 18px;
	color: #fff;
	background: #3fa6f2;
	border-radius: 5px;
	box-shadow: 0 0 0 1px #3fa6f2;
	text-align: center;
}

#fee .contact:hover {
	color: #3fa6f2;
	background: #fff;
	opacity: 1;
}

#fee .cancel {
	margin: 16px 0 10px;
	border: 1px solid #333;
}

#fee .cancel tr td {
	padding: 4px 12px;
	border: 1px solid #333;
}

#fee .plan {
	margin-bottom: 40px;
	white-space: nowrap;
}

#fee .plan>p {
	white-space: break-spaces;
}

#fee .plan table {
	/* width: 100%; */
	width: 800px;
	margin: 0 auto;
	border: 1px solid #333;
}

#fee .plan table tr th,
#fee .plan table tr td {
	padding: 8px;
	border: 1px solid #333;
	text-align: center;
}

#fee .plan table tr td {
	width: 16%;
}

#fee .plan table tbody tr th {
	text-align: left;
}

#fee .plan table tr td:nth-of-type(5),
#fee .plan table tr th:nth-of-type(6) {
	background: #d8e698;
}

#fee .plan table .special {
	background: #ffff99;
}

#fee .plan table .winter {
	background: #ffd6ff;
}

#fee .season {
	display: block;

	/* R7.2.20 */
	overflow-x: auto;
}

#fee .season table {
	width: 100%;
	margin: 0 auto 60px;
	border: 1px solid #333;
	border-top: 0;

		/* R7.2.20 */
		min-width: 1400px;
}

#fee .season table tr:first-child th {
	padding: 0;
	border-top: 0;
}

#fee .season table tr th {
	width: 3.5%;
	text-align: center;
	vertical-align: middle;
	padding: 4px;
	border: 1px solid #333;
}

#fee .season table tr th:nth-of-type(1) {
	/* width: calc(16% - 14px); */
	width: 16%;
}

#fee .season table tr td {
	width: 3.5%;
	font-size: 12px;
	text-align: center;
	vertical-align: middle;
	line-height: 1.5;
	padding: 4px;
	border: 1px solid #333;

	/* R7.2.20 */
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}


#fee .season table tr:nth-child(2) th:first-child,
#fee .season table tr:nth-child(3) td:first-child {
	width: 16%;
}

#fee .season table tr:nth-child(2) th {
	width: 7%;
}

/* R7.2.20 */
/* #fee .season table tr:nth-child(3) td:nth-child(2) {
	width: calc(3.5% * 5);
} */
#fee .season table tr:nth-child(3) td:nth-child(3) {
	width: calc(3.5% * 2);
}

/* R7.2.20 */
/* #fee .season table tr:nth-child(3) td:nth-child(5) {
	width: calc(3.5% * 2);
} */
#fee .season table tr:nth-child(3) td:nth-child(6) {
	width: calc(3.5% * 4);
}

#fee .season table tr:nth-child(3) td:nth-child(7) {
	width: calc(3.5% * 4);
}

#fee .season table tr:nth-child(3) td:nth-child(8) {
	width: calc(3.5% * 6);
}


#fee .season table .special {
	background: #ffff99;
}

#fee .season table .winter {
	background: #ffd6ff;
}

#fee .flex-wrap {
	width: 80%;
	margin: 20px auto;
}

#fee .flex-wrap .logo {
	width: 225px;
}

#fee .flex-wrap .address p {
	line-height: 1.5;
}

#fee .flex-wrap .address a {
	font-size: 21px;
	line-height: 1.5;
}

/*------------------------------------
404
------------------------------------*/
.notfound {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
}

.notfound h1 {
	margin-bottom: 60px;
}

.notfound h1 .big {
	display: block;
	font-size: 200px;
	font-weight: 700;
	line-height: 1;
	color: #3fa6f2;
}

.notfound h1 .small {
	display: block;
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
	color: #3fa6f2;
}

.notfound h2 {
	display: block;
	font-size: 24px;
	line-height: 1;
	color: #3fa6f2;
}

/*------------------------------------
スクロール(SP)
------------------------------------*/
.spscroll {
	display: block;
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 30px;
	height: 30px;
	margin: auto;
	padding: 12px;
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
	border-radius: 100%;
}

.spscroll img {
	display: block;
	margin: auto;
	width: 25px;
	height: 25px;
}