@charset "UTF-8";

/*------------------------------------
汎用
------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video{font-size: 14px;}

/* html{min-width: 320px;} */
body {
	/* max-width: 640px;
	min-width: 320px; */
	min-height: 100%;
}

.pc {display: none;}

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

/*コンティナ*/
.container{
	display: block;
	width: 94%;
	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: 90vw;
	margin: 36px 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: 100%;
	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: 20px auto 0;
}
.pagination span, .pagination a{
	padding: 6px 12px;
	width: auto;
	background: #fff;
}
.pagination a{
	display: inline;
	padding: 6px 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: 15px;
	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: 20px 0 10px;
}
.banner_list a{
	width: 48%;
	margin: 0 1% 10px;
}
/*------------------------------------
ヘッダー(sp)
------------------------------------*/
header{
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	width: 100%;
	height: 48px;
	transition: all .3s ease;
	background: rgba(255,255,255,1);
	border-bottom: 1px solid #ccc;
}
header .logo{
	display: block;
	height: 40px;
}
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: 14px;
	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: 40px;
	height: auto;
	margin: 8px 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: 28px;
	margin: 0;
	padding: 10px 2%;
	background: transparent;
}
#nav-toggle span {
	display: block;
	position: relative;
	width: 32px;
	height: 1px;
	margin: auto;
	background: #3fa6f2;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#nav-toggle span:nth-child(1) {
	top:6px;
}
#nav-toggle span:nth-child(2) {
	top:12px;
}
#nav-toggle span:nth-child(3) {
	top:18px;
}
#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: space-between;
	align-items: flex-end;
	position: absolute;
	width: 90%;
	height: auto;
	left: 3%;
	bottom: 2%;
	padding: 8px 2%;
	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: 100%;
	display: block;
	margin-right: 0;
}
#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: 48%;
	display: block;
	margin-right: 0;
}
#searchbox input[type="submit"]{
	display: block;
	width: 100%;
	height: 36px;
	margin-top: 10px;
	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: 14px;
	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: 16px;
}
#lang .bogo-language-switcher li.current,
#lang .bogo-language-switcher li a {
	display: block;
	box-sizing: border-box;
	padding: 12px 8px 12px 36px;
	transition: .2s;
}
#lang .bogo-language-switcher li.current {order: -1;}
#lang .bogo-language-switcher li:not(.current) {
	position: absolute;
	top: 40px;
	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: 100vh;}
.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: 48px;
	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: 16px;
	color: #fff;
	text-align: center;
}
/*ハイビスカス*/
.index_section .img .hibiscus{
	display: block;
	position: absolute;
	bottom: -6%;
	right: 6%;
	width: 28%;
	height: auto;
}
.index_section .img .hibiscus img{
	display: block;
	width: 100%;
	height: 100%;
}
.index_section div.ovf{
	overflow: visible;
}
/*文章*/
.index_section .typography{
	width: 88%;
	margin: 48px auto 0;
}
.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.2;
	letter-spacing: 2px;
	font-size: 28px;
	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: 16px;
	text-align: center;
	color: #555;
	margin: 18px 0;
}
.index_section .typography .intro{
	display: block;
	width: 100%;
	margin: 24px auto;
}
/*エントリー*/
.index_section .typography .entry{
	width: 100%;
	margin-bottom: 18px;
}
.index_section .typography .entry:last-child{
	margin-bottom: 0;
}
.index_section .typography .entry:hover{
	opacity: 0.8;
}
.index_section .typography .entry img{
	width: 100%;
	height: 50vw;
	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: 48px 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: 22px;
	font-weight: 700;
	text-align: center;
	color: #555;
	margin: 0 0 18px;
}
.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;
	width: 100%;
	font-size: 14px;
}
.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: 48px 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: 80vw;
	height: auto;
	line-height: 1;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	margin: 36px auto;
}
#index_blog h2 img{
	width: 100%;
	height: 100%;
}
#index_blog .entry{
	display: block;
	position: relative;
	width: 100%;
	height: 81vw;
	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: 0;
	height: auto;
}
.slide-dots li{
	display: inline-block;
	margin: 11px 11px 0;
}
.slide-dots li:first-child{
	margin: 11px 11px 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: 11px;
	height: 11px;
	border-radius: 100%;
	background: #3fa6f2;
}
.slide-dots li button:hover:before{
	background: #f5b2b2;
}
.slide-dots li.slick-active button:before{
	background: #e580ab;
}
.slide-dots li:after {
	content: "";
	clear: both;
	display: block;
}
/*------------------------------------
地図
------------------------------------*/
#index_map{
	margin: 48px 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: 50vw;
	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: 4px 4%;
}
#index_map .about .traffic h4{
	text-align: center;
	font-size: 22px;
	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: 13px;
	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: 16px;
	padding-bottom: 12px;
}
#index_map .about .traffic div p{
	display: block;
	width: 100%;
	line-height: 1.5;
	font-size: 13px;
	padding-bottom: 0px;
}
#index_map .about .traffic div a{
	font-size: 20px;
	line-height: 1;
	margin-left: 10px;
}
#index_map .about .traffic .mail a{
	font-size: 18px;
}
#index_map .about .link{
	display: flex;
	margin-top: 8px;
}
#index_map .about .link a{
	width: 100%;
	text-align: center;
	padding: 16px;
	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;
}
#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;
}
/*------------------------------------
フッター
------------------------------------*/
footer {padding-top: 24px;}
footer .logo{
	display: block;
	width: 120px;
	height: auto;
	margin: 16px auto 0;
}
footer .logo img{
	width: 100%;
	height: 100%;
}
footer .contents {
	padding-top: 100px;
	background: url(../img/footer/footer_back.png) 50% 0/auto 260px no-repeat;
}
footer .contents .flex-wrap{
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	position: relative;
}
footer .contents .icon{
	display: none;
}
footer .contents .container > div{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px 0;
}
footer .contents .container > div p{
	font-size: 10px;
	margin-right: 18px;
	line-height: 1.25;
	color: #fff;
}
footer .contents .tel a{
	display: block;
	color: #333;
	line-height: 1;
	font-size: 18px;
	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 16px 0 0;
	padding: 10px;
	font-size: 20px;
	box-shadow: 0 0 0 1px #fff;
	border-radius: 100%;
}
footer .contents .contact a{
	padding: 4px 32px;
	color: #fff;
	background: #e580ab;
	border-radius: 4px;
	opacity: 1;
	font-weight: 700;
	-webkit-transition: all .3s;
	transition: all .3s;
}
footer .contents .contact a:hover{
	color: #e580ab;
	background: #fff;
}
footer .contents .copyright{
	text-align: center;
	font-size: 10px;
	color: #fff;
	border-top: 1px solid #fff;
	margin-top: 8px;
	padding: 5px 0;
}
/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
下層ページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/
/*------------------------------------
ヘッダー
------------------------------------*/
#sub_header {
	display: block;
	position: relative;
	margin-top: 48px;
}
#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: 150px;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}
#sub_header .flex-wrap a .name {
	display: block;
	padding: 12px 6px;
}
#sub_header .flex-wrap a .name img {
	width: auto;
	height: 15px;
	margin: 0 auto;
}
#sub_header .flex-wrap a .name p {
	padding: 8px 0 0;
	font-size: 10px;
	text-align: center;
	color: #808080;
	line-height: 1;
}
/*------------------------------------
アーカイブ
------------------------------------*/
#archive {}
#archive .head {padding: 40px 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: 30px;
	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: 14px;
	text-align: center;
	color: #555;
	padding: 8px 0 0;
}
#archive .head h1 img{
	width: 240px;
	height: 100%;
	margin: 0 auto;
}
#archive .article_list {
	display: block;
}
#archive .article_list .entry{
	display: block;
	position: relative;
	width: 100%;
	height: 80vw;
	margin: 0 0 10px 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: 96%;
	height: auto;
	padding: 2%;
	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: 16px 0;
}
#single img {
	width: auto;
	margin: 0 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: 24px;
	line-height: 1.5;
	padding: 32px 0;
	text-align: center;
}
#single h2 {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	margin: 10px 0;
	padding: 8px 6px;
	background: #eee;
	border-left: 3px solid #0068b7;
}
#single h3 {
	position: relative;
	font-size: 15px;
	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: 14px;
	font-weight: 700;
	line-height: 1.5;
	margin: 10px 0;
	padding: 8px 18px;
}
#single h4:after {
	content: "";
	position: absolute;
	top: 13px;
	left: 2px;
	width: 10px;
	height: 10px;
	background: #0068b7;
}
/*黒丸リスト*/
#single ul {margin: 10px 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: 10px 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 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: 32px auto;}
#single .head img{
	width: 220px;
	height: 100%;
	margin: 0 auto;
}
/*アイキャッチ画像*/
#single .eyecatch {
	width: 100%;
	margin: 0 auto;
}
#single .eyecatch img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	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;
	font-size: 12px;
}
#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: 40px 0;}
#poruhouse .top img {
	display: block;
	width: auto;
	height: 32px;
	margin: 0 auto;
}
#poruhouse .top h1 {
	font-size: 14px;
	color: #808080;
	text-align: center;
	line-height: 1;
	padding: 12px 0 0;
}
#poruhouse .slider {}
#poruhouse .slider .thumb_slider{
	display: block;
	width: 100%;
	height: 320px;
	margin: 0;
}
#poruhouse .slider .thumb_slider img{
	width: 100%;
	height: 250px;
	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: 10px 0 0 0;
}
#poruhouse .slider .slick-dots li {
	list-style: none;
	display: block;
	width: 25%;
	height: 60px;
	margin: 0;
}
#poruhouse .slider .slick-dots li img {
	width: 100%;
	height: 60px;
	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: 40px 0;}
#poruhouse .caption h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 40px;
}
#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.5;
	letter-spacing: 2px;
	font-size: 24px;
	color: #666;
	text-align: center;
}
#poruhouse .caption h2 img {display: none;}
#poruhouse .caption .flex-wrap {display: block;}
#poruhouse .caption .flex-wrap img {
	width: auto;
	margin: 0 auto;
}
#poruhouse .caption .flex-wrap p {
	font-size: 14px;
	width: 100%;
	margin: 0 auto;
	padding: 20px 0 0;
}
#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: 30px;
	color: #666;
	text-align: center;
	padding: 40px 0 20px;
}
#poruhouse .room_intro .room_box {padding: 0 0 40px;}
#poruhouse .room_intro .room_box h3 {
	display: inline-block;
	font-size: 20px;
	color: #666;
	border-bottom: 3px solid #3fa6f2;
	margin: 0 0 20px;
}
#poruhouse .room_intro .room_box .about {
	font-size: 14px;
	padding: 20px 0;
}
#poruhouse .room_intro .room_box .mainimg {
	display: block;
	width: 100%;
}
#poruhouse .room_intro .room_box .mainimg img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}
#poruhouse .room_intro .room_box .mainimg .sketch {
	width: 80%;
	margin: 20px auto 0;
}
#poruhouse .room_intro .room_box .flex-wrap {display: block;}
#poruhouse .room_intro .room_box .flex-wrap .imgcap {
	width: 100%;
}
#poruhouse .room_intro .room_box .flex-wrap .imgcap img {
	width: 100%;
	height: auto;
	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: 8px 0;}
#poruhouse .room_intro .room_box .flex-wrap .text {padding-left: 0;}
#poruhouse .room_intro .room_box .flex-wrap .text .facility {
	padding: 14px;
	background: #efefef;
}
#poruhouse .room_intro .room_box .flex-wrap .text .facility h4 {
	font-size: 18px;
	margin-bottom: 8px;
}
#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: 80%;
	margin: 20px auto 0;
	padding: 8px 0;
	font-size: 14px;
	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: 40px 0;}
#akarahouse .top img {
	display: block;
	width: auto;
	height: 32px;
	margin: 0 auto;
}
#akarahouse .top h1 {
	font-size: 14px;
	color: #808080;
	text-align: center;
	line-height: 1;
	padding: 12px 0 0;
}
#akarahouse .caption {padding: 0 0 40px;}
#akarahouse .caption p{
	width: 86%;
	font-size: 14px;
	margin: 0 auto;
	padding: 40px 0 0;
}
#akarahouse .bg-img {
	width: 100%;
	height: 200px;
	background: url(../img/akarahouse/bigimg01.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}
#akarahouse .reception {
	width: 90%;
	margin: 0 auto 40px;
	padding: 10px;
	background: #f7f7f7;
	border-radius: 10px;
}
#akarahouse .reception .borderbox {
	background: #fff;
	padding: 10px;
	border-radius: 5px;
}
#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: 32px;
	color: #666;
	text-align: center;
	padding: 40px 0;
}
#akarahouse .reception .about {
	font-size: 14px;
	margin-bottom: 20px;
}
#akarahouse .reception .flex-wrap {
	display: block;
	margin-bottom: 20px;
}
#akarahouse .reception .flex-wrap .imgcap {width: 100%;}
#akarahouse .reception .flex-wrap .imgcap p {margin: 8px 0;}
#akarahouse .reception div .reception_box {
	padding: 16px 0;
	border-bottom: 1px solid #65869b;
}
#akarahouse .reception div .reception_box:last-child{border-bottom: none;}
#akarahouse .reception div .reception_box h3 {
	font-size: 18px;
	line-height: 1.75;
	font-weight: 700;
}
#akarahouse .reception div .reception_box p {
	font-size: 14px;
}
#akarahouse .reception .link {
	display: block;
	margin-top: 10px;
}
#akarahouse .reception .link a {
	display: block;
	width: 100%;
	margin-bottom: 10px;
	padding: 8px 0;
	font-size: 14px;
	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;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
#akarahouse .img-wrap img {
	width: 50%;
	height: 100%;
	object-fit: cover;
	object-position: 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;';
}
/*------------------------------------
お食事
------------------------------------*/
#meal {}
#meal .top {padding: 40px 0;}
#meal .top img {
	display: block;
	width: auto;
	height: 32px;
	margin: 0 auto;
}
#meal .top h1 {
	font-size: 14px;
	color: #808080;
	text-align: center;
	line-height: 1;
	padding: 12px 0 0;
}
#meal .caption {padding: 0 0 40px;}
#meal .caption p{
	width: 86%;
	font-size: 14px;
	margin: 0 auto;
	padding: 40px 0 0;
}
#meal .bg-img {
	width: 100%;
	height: 200px;
	background: url(../img/meal/bigimg01.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}
#meal .reception {
	width: 90%;
	margin: 0 auto;
	padding: 10px;
	background: #f7f7f7;
	border-radius: 10px;
}
#meal .reception .borderbox {
	background: #fff;
	padding: 10px;
	border-radius: 5px;
}
#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: 32px;
	color: #666;
	text-align: center;
	padding: 40px 0;
}
#meal .reception .about {
	font-size: 14px;
	margin-bottom: 20px;
}
#meal .reception .flex-wrap {
	display: block;
	margin-bottom: 20px;
}
#meal .reception .flex-wrap .imgcap {width: 100%;}
#meal .reception .flex-wrap .imgcap p {margin: 8px 0;}
#meal .reception div .reception_box {
	padding: 16px 0;
	border-top: 1px solid #65869b;
}
#meal .reception div .reception_box h3 {
	font-size: 18px;
	line-height: 1.75;
	font-weight: 700;
}
#meal .reception div .reception_box p {font-size: 14px;}
#meal .reception div .reception_box .flex-wrap {margin: 20px auto 0;}
#meal .jikayasai {
	display: block;
	background: #1a1a1a;
	margin-top: 20px;
	padding: 16px;
	border-radius: 12px;
}
#meal .jikayasai img {width: 100%; height: auto;}
#meal .jikayasai span {display: block;}
#meal .jikayasai span h3 {
	font-size: 20px;
	line-height: 1.75;
	color: #fff;
	margin: 12px 0 8px;
}
#meal .jikayasai span p {
	font-size: 14px;
	color: #fff;
}
/*------------------------------------
周辺案内
------------------------------------*/
#vicinity {margin: 20px auto 0;}
#vicinity h1 {padding: 20px 0;}
#vicinity h1 img{
	display: block;
	width: 80%;
	margin: 0 auto;
}
#vicinity .map{margin: 20px auto 40px;}
#vicinity .spot_list {
	width: 100%;
	background: #ededed;
	padding: 20px 0;
}
#vicinity .spot_list .spot_box{
	width: 100%;
	margin-bottom: 20px;
	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: 16px;
	background: #fff;
}
#vicinity .spot_list .spot_box .text .name,
#vicinity .spot_list .spot_box2 .name{
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
#vicinity .spot_list .spot_box .text .name .num,
#vicinity .spot_list .spot_box2 .name .num{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 42px;
	height: 42px;
	font-size: 18px;
	color: #fff;
	background: #231815;
}
#vicinity .spot_list .spot_box .text .name h2,
#vicinity .spot_list .spot_box2 .name h2{
	font-size: 18px;
	color: #231815;
	margin-left: 12px;
}
#vicinity .spot_list .spot_box .text .note{font-size: 14px;}
#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{
	display: block;
	width: 100%;
	padding: 4px 0 0;
	font-size: 14px;
	text-align: left;
}
#vicinity .spot_list .spot_box2 table tr th:before{
	content: "";
	display: inline-block;
	position: relative;
	width: 12px;
	height: 12px;
	top: 1px;
	left: 0;
	margin-right: 6px;
	background: #231815;
}
#vicinity .banner{
	justify-content: center;
	margin: 20px auto 0;
}
#vicinity .banner a{
	display: block;
	max-height: 50px;
	margin: 8px;
}
#vicinity .banner a img{
	width: auto;
	height: 50px;
}
/*------------------------------------
アクセス
------------------------------------*/
#access {margin: 40px 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: 28px;
	text-align: center;
	color: #555;
	padding: 0;
}
#access .fromluana {padding: 0;}
#access .fromluana h3{
	font-size: 14px;
	text-align: center;
	margin: 10px auto 30px;
}
#access .fromluana .transportation {
	margin: 20px auto;
}
#access .fromluana .transportation h4 {
	display: flex;
	align-items: flex-end;
	font-size: 16px;
	line-height: 1;
	margin-bottom: 8px;
	padding-bottom: 10px;
	border-bottom: 1px solid #3fa6f2;
}
#access .fromluana .transportation h4 img {
	width: 24px;
	height: 100%;
	margin-right: 6px;
}
#access .fromluana .transportation p {
	font-size: 17px;
	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{
	margin: 40px auto;
}
#access .fromluana .banner p{
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 8px;
	text-align: center;
}
#access .fromluana .banner img {
	width: 100%;
	height: auto;
}
#access .fromluana .map {display: block;}
#access .fromluana .map img {
	width: 96%;
	height: 100%;
	margin: 0 auto 40px;
}
#access .fromyakushima {}
#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: 28px;
	text-align: center;
	color: #555;
	margin: 0 auto 40px;
}
#access .fromyakushima .trans_box {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin-bottom: 20px;
	padding: 16px;
	border: 1px solid #ccc;
}
#access .fromyakushima .trans_box h4 {
	font-size: 16px;
	color: #3fa6f2;
	text-align: center;
	margin-top: 16px;
}
#access .fromyakushima .trans_box p {
	font-size: 13px;
	text-align: center;
}
#access .fromyakushima .trans_box img {
	max-width: 71px;
	max-height: 60px;
	margin: auto 0;
}
#access .googlemap {}
#access .googlemap .map {
	position: relative;
	padding-bottom: 86.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{
	display: block;
	width: 100%;
}
#access .googlemap .flex-wrap .logo {
	width: 180px;
	margin: 20px auto;
}
#access .googlemap .flex-wrap .address p {
	line-height: 1.5;
	text-align: center;
}
#access .googlemap .flex-wrap .address a {
	display: block;
	width: 100%;
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}
/*------------------------------------
お問い合わせ
------------------------------------*/
#contact {margin: 40px 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: 28px;
	text-align: center;
	color: #555;
	padding: 0 0 30px;
}
#contact .about {
	font-size: 14px;
	margin-bottom: 10px;
	text-align: center;
}
#contact .form-table {
	display: block;
	width: 100%;
	margin: 0 auto;
}
#contact .form-table table{
	display: table;
	white-space: wrap;
	width: 100%;
}
#contact .form-table table td{
	display: block;
	width: 100%;
	padding: 6px 0;
}
#contact .form-table table td .name{
	display: flex;
	justify-content: center;
	font-size: 14px;
	padding-bottom: 4px;
}
#contact .form-table table td .form{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#contact .form-table table td .form p{
	display: inline-block;
	vertical-align: middle;
	padding: 0 4px;
	line-height: 2;
	font-size: 13px;
}
#contact .form-table table td .form .persons{
	padding: 4px 0;
}
#contact .form-table table td .small{
	padding-top: 10px;
}
#contact .form-table table td .small p{
	font-size: 10px;
	text-align: center;
}
#contact .form-table input,
#contact .form-table select{
	max-width: calc(94vw - 14px);
	font-size: 14px;
	padding: 6px;
    border: 1px solid #aaa;
    border-radius: 4px;
}
#contact .form-table select{
	width: 180px;
	padding: 6px;
}
#contact .form-table textarea{
	display: block;
	padding: 0.5%;
	width: 95%;
	resize: vertical;
}
#contact input[type="submit"]{
	display: block;
	position: relative;
	text-align: center;
	width: 200px;
	margin: 24px auto;
	padding: 12px;
	color: #fff;
	font-size: 14px;
	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 .form-table .text {
	display: flex;
	justify-content: center;
	font-size: 14px;
}
#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: 18px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 80px;
	color: #3fa6f2;
	text-align: center;
}
#thanks p{
	font-size: 14px;
	line-height: 2;
	text-align: center;
	margin-bottom: 80px;
}
#thanks a{
	display: block;
	width: 90%;
	margin: 0 auto;
	padding: 12px 0;
	font-size: 14px;
	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: 30px 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: 28px;
	text-align: center;
	color: #555;
	padding: 10px 0;
}
#fee .about{
	font-size: 14px;
	text-align: center;
	margin-bottom: 30px;
}
#fee h2 {
	display: block;
	font-size: 16px;
	color: #fff;
	line-height: 1;
	margin: 10px 0;
	padding: 8px 10px;
	background: #444;
}
#fee h2:before {
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	left: 0;
	width: 16px;
	height: 16px;
	margin-right: 6px;
	background: #fff;
	border-radius: 50%;
}
#fee h2 span {
	display: block;
	font-size: 10px;
	color: #fff;
	line-height: 1;
	margin-top: 5px;
	background: #444;
}
#fee h3 {
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	font-size: 14px;
	line-height: 1;
	margin: 30px 0 10px;
}
#fee h3:before {
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	left: 0;
	width: 14px;
	height: 14px;
	margin-right: 4px;
	background: #333;
	border-radius: 50%;
}
#fee .contact {
	display: block;
	width: 96%;
	margin: 20px auto 10px;
	padding: 8px 0;
	font-size: 14px;
	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;
	text-align: center;
}
#fee .plan {margin-bottom: 20px;}
#fee .plan table {
	display: block;
	width: calc(100% - 2px);
	margin: 0 auto;
	border: 1px solid #333;
}
#fee .plan table thead {
	display: block;
	float: left;
	/* overflow-x:scroll; */
}
#fee .plan table tbody {
	display: block;
	width: auto;
	overflow-x: auto;
	white-space: nowrap;
}
#fee .plan table tbody tr{
	display: inline-block;
	margin: 0 -3px;
}
#fee .plan table tr th,
#fee .plan table tr td {
	padding: 8px;
	text-align: center;
}
#fee .plan table tr th{
	display: block;
	min-width: 80px;
}
#fee .plan table tr td{
	display: block;
}

#fee .season table tr:nth-child(2) th: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);
}
#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 .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;
	width: auto;
	overflow-x: auto;
	/* white-space: nowrap; */
}
#fee .season > .flex {
	width: 250%;
}
#fee .season > p {
	white-space: nowrap;
}
#fee .season table {
	width: calc(100% - 2px);
	margin: 0 auto;

	/* 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),
#fee .season table tr td:nth-of-type(1){
	/* width: calc(16% - 14px); */
	width: 16%;
}
/* R7.2.20 */
#fee .season table tr td {
	/* width: 7%; */
	font-size: 12px;
	text-align: center;
	vertical-align: middle;
	line-height: 1.5;
	/* padding: 4px; */
	padding: 7px 4px;
	border: 1px solid #333;

		/* R7.2.20 */
		overflow-wrap: anywhere;
		word-break: normal;
		line-break: strict;
}
#fee .season table .special {background: #ffff99;}
#fee .season table .winter {background: #fff;}
#fee .flex-wrap{
	display: block;
	width: 100%;
	margin: 60px auto 0;
}
#fee .flex-wrap .logo {
	width: 180px;
	margin: 20px auto;
}
#fee .flex-wrap .address p {
	line-height: 1.5;
	text-align: center;
}
#fee .flex-wrap .address a {
	display: block;
	width: 100%;
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}
/*------------------------------------
404
------------------------------------*/
.notfound{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
}
.notfound h1{margin-bottom: 50px;}
.notfound h1 .big{
	display: block;
	font-size: 142px;
	font-weight: 700;
	line-height: 1;
	color: #3fa6f2;
}
.notfound h1 .small{
	display: block;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: #3fa6f2;
}
.notfound h2{
	display: block;
	font-size: 14px;
	line-height: 1;
	color: #3fa6f2;
}
/*------------------------------------
スクロール(SP)
------------------------------------*/
.spscroll{
	display: block;
	position: fixed;
	bottom: 12px;
	right: 12px;
	width: 22px;
	height: 22px;
	margin: auto;
	padding: 10px;
	background: rgba(0,0,0,0.4);
	color: #fff;
	border-radius: 100%;
}
.spscroll img{
	display: block;
	margin: auto;
	width: 22px;
	height: 22px;
}
