@charset "utf-8";

:root {
	--main-color: #2889ca;
	--main-sub-color: #e9f4ff;
	--secondary-color: #a40000;
	--secondary-sub-color: transparent;
}


/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body {
    line-height:1;
    font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix{
	display: inline-block;
	min-height: 1%;  /* for IE 7*/
}

/* Hides from IE-mac */
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

.clear {
	height: 1%;
	line-height: 1%;
	clear: both;
}

input[type=text],input[type=password],input[type=email],input[type=tel],input[type=url],input[type=number], textarea, select {
	background-color: #FFFFFF;
	border: 1px solid #CCCCCC;
	border-radius: 3px 3px 3px 3px;
	display: inline-block;
	margin: 0;
	outline: 0 none;
	padding: 4px;
	width: 210px;
	font-size: 13px;
	line-height: 20px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) inset, 0 1px 0 rgba(255, 255, 255, 0.075);
}

input[type=checkbox] {
	display:none;
}

input[type=checkbox] + label:before {
	font-family: 'Font Awesome\ 5 Free';
	display: inline-block;
}

input[type=checkbox] + label:before {
	content: "\f0c8";
	font-size: 1.5em;
	vertical-align: middle;
}

input[type=checkbox] + label:before {
	letter-spacing: 10px;
}

input[type=checkbox]:checked + label:before {
	content: "\f14a";
}

input[type=checkbox]:checked + label:before {
	letter-spacing: 5px;
}

label {
	margin: 0 20px 0 10px;
}

img {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

.flexbox {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

a {
	text-decoration: none;
	color: #666666;
}

a:hover {
	color: #aaaaaa;
}

.grow {
	transition: all .3s ease 0s;
	text-decoration: none;
	display: inline-block;
}

.grow:hover {
	transform: scale(1.02);
}

.grow-rotate {
	transition: all .3s ease 0s;
	text-decoration: none;
	display: inline-block;
}

.grow-rotate:hover {
	transform: scale(1.1) rotate(4deg);
}

@keyframes fadeIn { /*animetion-nameで設定した値を書く*/
	0% {opacity: 0} /*アニメーション開始時は不透明度0%*/
	100% {opacity: 1} /*アニメーション終了時は不透明度100%*/
}

.fade {
	animation: fadeIn 2s ease 0s 1 normal;
}


@keyframes fadeInSlide { /*animetion-nameで設定した値を書く*/
	0% {transform: translate(0, 20px);opacity: 0} /*アニメーション開始時は不透明度0%*/
	100% {transform: translate(0, 0);opacity: 1} /*アニメーション終了時は不透明度100%*/
}

.fade-slide {
	animation: fadeInSlide 2s ease 0s 1 normal;
}


@keyframes fadeInSlideLeft { /*animetion-nameで設定した値を書く*/
	0% {transform: translate(-20px, 0);opacity: 0} /*アニメーション開始時は不透明度0%*/
	100% {transform: translate(0, 0);opacity: 1} /*アニメーション終了時は不透明度100%*/
}

.fade-slide-left {
	animation: fadeInSlideLeft 2s ease 0s 1 normal;
}


@keyframes fadeInSlideRight { /*animetion-nameで設定した値を書く*/
	0% {transform: translate(20px, 0);opacity: 0} /*アニメーション開始時は不透明度0%*/
	100% {transform: translate(0, 0);opacity: 1} /*アニメーション終了時は不透明度100%*/
}

.fade-slide-right {
	animation: fadeInSlideRight 2s ease 0s 1 normal;
}



@keyframes fadeInScale { /*animetion-nameで設定した値を書く*/
	0% {transform: scale(0.8, 0.8);opacity: 0} /*アニメーション開始時は不透明度0%*/
	60% {transform: scale(1.1, 1.1);} /*アニメーション開始時は不透明度0%*/
	100% {transform: scale(1, 1);opacity: 1} /*アニメーション終了時は不透明度100%*/
}

.fade-scale {
	animation: fadeInScale 2s ease 0s 1 normal;
}




.zoom {
	overflow: hidden;
}

.zoom > a img {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.zoom > a:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.center {
	text-align: center;
}

/*--
基本のボタン
--*/
.btn {
	padding: 15px 30px;
	text-decoration: none;
	line-height: 180%;
	font-size: 1.5rem;
	margin: 15px auto;
	display: inline-block;
	color: #ffffff;
	position: relative;
	cursor: pointer;
	outline: none;
	border: 2px solid var(--main-color);
	background: var(--main-color);
}

.btn::before, .btn::after {
	position: absolute;
	z-index: -1;
	content: "";
	display: block;
}

.btn, .btn::before, .btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .5s;
	transition: all .5s;
}


.btn.black {
	background: #23282d;
	border: 2px solid #23282d;
}



/*--
背景が上から降りてくるアニメーション
--*/
.btn::before, .animation-bg-down::before {
	background: var(--main-color);
}

.btn, .animation-bg-down {
	overflow: hidden;
	z-index: 2;
}

.btn:hover, .animation-bg-down:hover {
	color: var(--main-color);
}

.btn::after, .animation-bg-down::after {
	top: -100%;
	left: 0;
	width: 100%;
	height: 100%;
}

.btn:hover::after, .animation-bg-down:hover::after {
	top: 0;
	left: 0;
	background: #f0f0f0;
}


.btn.black::before, .animation-bg-down.black::before {
	background: #23282d;
}

.btn.black:hover, .animation-bg-down.black:hover {
	color: #23282d;
}



/*--
背景が上から降りてくるアニメーション(黒)
--*/
/*--
文字間隔を広げるアニメーション
--*/
.letter-spacing {
	letter-spacing: 5px;
}


/*--
上下にラインが出現するアニメーション
--*/
.animation-top-bottom-line {
	transition: 800ms ease all;
}

.animation-top-bottom-line:hover {
	background: #ffffff;
	color: var(--main-color);
}

.animation-top-bottom-line:before, .animation-top-bottom-line:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 2px;
	width: 0;
	background: #1AABBA;
	transition: 400ms ease all;
}

.animation-top-bottom-line:after {
	right: inherit;
	top: inherit;
	left: 0;
	bottom: 0;
}

.animation-top-bottom-line:hover:before, .animation-top-bottom-line:hover:after {
	width: 100%;
	transition: 800ms ease all;
}

.btn span {
	font-size: 0.8rem;
	margin: 0 0 0 1.5rem;
}


.btn-submit {
	-webkit-transition: all 600ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
	-moz-transition: all 600ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
	-ms-transition: all 600ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
	-o-transition: all 600ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
	transition: all 600ms cubic-bezier(0.390, 0.500, 0.150, 1.360);
	display: block;
	margin: 20px auto;
	max-width: 180px;
	text-decoration: none;
}

.btn-submit {
    color: rgba(255, 255, 255, 1);
    box-shadow: rgba(30, 22, 54, 0.4) 0 0px 0px 0px inset;
}

.btn-submit:hover {
    color: rgba(255, 255, 255, 0.85);
    box-shadow: rgba(30, 22, 54, 0.7) 0 80px 0px 2px inset;
}


.adjustbox {
	width: 100%;
	position: relative;
}

.adjustbox:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.adjustbox .inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.adjustbox .inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.w-320 {
	width: 320px!important;
}


.ellipsis-3 {
	overflow: hidden;
	line-height: 1.5em!important;
	height: 4.5em!important; /* 16px * 6 lines */
}

@supports (-webkit-line-clamp: 3) {
	.ellipsis {
		display: -webkit-box;
		overflow: hidden;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
	}
}


.wsm-list-table {
	width: 100%;
	border: 1px solid #d0d0d0;
}

.wsm-list-table th, .wsm-list-table td {
	padding: 15px 10px;
	border: 1px solid #d0d0d0;
}

.wsm-list-table th {
	background: #303030;
	color: #ffffff;
}


.wsm-responsive-thumbnail {
	text-align: center;
	margin-bottom: 30px;
}

.wsm-responsive-thumbnail img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}


.wsm-box-link {
	position: relative;
}

.wsm-box-link a {
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	text-indent: 100%; /*テキスト非表示*/
	white-space: nowrap; /*テキスト非表示*/
	overflow: hidden; /*テキスト非表示*/
	-webkit-transform: scale(1) rotate(0);
	transform: scale(1) rotate(0);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.wsm-box-link:hover {
	-webkit-transform: scale(1.1) rotate(2deg);
	transform: scale(1.1) rotate(2deg);
	
}

.wsm-box-link:nth-of-type(2):hover {
	-webkit-transform: scale(1.1) rotate(-2deg);
	transform: scale(1.1) rotate(-2deg);
}




#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #000;
	z-index: 1;
}

#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -100px;
	margin-left: -100px;
	text-align: center;
	color: #fff;
	z-index: 2;
}



#container {
	width: 100%;
	margin: 0 auto;
	color: #555555;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

#header {
	position: relative;
	background: #f0f0f0;
	width: 100%;
}

#mainImage .bg_image {
	width: 100%;
	height: 575px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#mainImage .slick-prev {
	left: 25px;
	z-index: 1;
}

#mainImage .slick-next {
	right: 25px;
	z-index: 1;
}

.page:not(.home) #mainImage .bg_image {
	height: 375px;
}

#header-logo {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 300px;
	z-index: 2;
	height: 80px;
	border: 3px solid #666;
	text-align: center;
	background: rgba(255,255,255,0.2);
	text-shadow: 0 0 2px rgba(255, 255, 255, 1), 0 0 2px rgba(255, 255, 255, 1), 0 0 5px rgba(255, 255, 255, 1);
	box-shadow: 0 0 2px rgba(255, 255, 255, 1), 0 0 2px rgba(255, 255, 255, 1), 0 0 2px rgba(255, 255, 255, 1);
}

.page:not(.home) #header-logo {
	top: 100px;
	bottom: auto;
}

.logo a {
	text-decoration: none;
	color: #555555;
}

.logo a p {
	font-weight: bold;
	font-size: 1.5rem;
	width: 100%;
	line-height: 64px;
}

.logo a span {
	font-size: 0.8rem;
}

#header-slogan .slogan {
	position: absolute;
	bottom: 20%;
	left: 0%;
	right: 0;
	text-align: center;
	margin: auto;
	color: #ffffff;
	font-weight: bold;
	line-height: 200%;
	text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

#header-slogan .slogan h2 {
	font-size: 2.5rem;
	line-height: 250%;
	text-align: center;
}

#header-slogan .slogan h3 {
	font-size: 1.6rem;
	text-align: center;
}

.page:not(.home) #header-page-title {
	position: absolute;
	bottom: 50px;
	background: transparent;
	margin: 0 auto;
	padding: 0 30px;
	color: #ffffff;
	display: block;
	width: 220px;
	text-align: center;
	left: 0;
	right: 0;
}


.header-info {
	justify-content: flex-end;
}

.header-info .btn {
	margin: 0;
	font-size: 1rem;
	line-height: 200%;
	padding: 5px 15px;
	width: 50%;
	text-align: center;
}

.infomation .tel {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 120%;
}

.infomation .tel span {
	font-weight: bold;
	font-size: 0.8rem;
}

.infomation .tel a {
	text-decoration: none;
	color: #555555;
}

.infomation .open-close {
	font-size: 0.8rem;
}

#header .infomation {
	text-align: right;
}


#headerInfo {
	background: #f0f0f0;
	position: sticky;
	top: 0;
	z-index: 999;
}


#menu {
	display: none;
}

#headerNav {
	position: -webkit-sticy;
	position: sticky;
	top: 46px;
	background: #f0f0f0;
	z-index: 999;
	width: 100%;
}

#headerNav .panel > ul {
	//border-top: 1px solid #dddddd;
	//border-bottom: 1px solid #dddddd;
}

#headerNav .panel > ul > li {
	width: calc(100% / 6);
	position: relative;
	font-size: 1rem;
}

#headerNav .panel > ul > li.current_page_item {
	//border-top: 2px solid #555555;
	border-bottom: 4px solid #555555;
}

#headerNav .panel > ul > li a {
	width: 100%;
	display: block;
	text-align: center;
	text-decoration: none;
	font-weight: normal;
	line-height: 150%;
	padding: 10px 0;
	color: #555555;
	transition: all .5s;
	overflow: hidden;
	position: relative;
}

#headerNav .panel > ul > li.current_page_item a {
	color: #999999;
}

#headerNav .panel > ul > li a:hover {
	color: #999999;
	//letter-spacing: -1px;
	margin-left: 1em;
	width: calc(100% - 1em);
}

#headerNav .panel > ul > li a::before {
	position: absolute;
	content: "▶";
	width: 1em;
	left: -100%;
}

#headerNav .panel > ul > li a:hover::before {
	left: 0;
}

#headerNav .panel > ul > li a strong {
	font-weight: normal;
}

#headerNav .panel > ul > li a span {
	display: block;
	color: #aaaaaa;
	font-size: 0.7rem;
	line-height: 120%;
}

#headerNav .panel > ul > li ul {
	position: absolute;
	background: #f0f0f0;
	width: 100%;
	opacity: 0;
	//transition: opacity .5s, transform .5s;
	transition: all .5s;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
	overflow: hidden;
	height: 0;
}

#headerNav .panel > ul > li ul:before {
	content: "";
	position: absolute;
	top: -5px;
	left: 50%;
	margin-left: -15px;
	width: 10px;
	height: 10px;
	background: #f0f0f0;
	
	transform: rotate(-45deg);
	//border:15px solid transparent;
	//border-bottom: 15px solid #f0f0f0;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
	z-index: -2
}

#headerNav .panel > ul > li ul:after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #f0f0f0;
	z-index: -1
}

#headerNav .panel > ul > li:hover ul {
	opacity: 1;
	transform: translateY(-10px);
	height: auto;
	overflow: inherit;
}

#headerNav .panel > ul > li ul li {
	width: 100%;
}

#headerNav .panel > ul > li:hover ul li {
	display: block;
}


#wrapper {
	width: 100%;
	margin: 0 auto 80px;;
	background: #ffffff;
	position: relative;
	flex: 1;
}

.page:not(.home) #wrapper {
	padding-top: 30px;
}

.content {
}

.content > .inner, .content > article > .inner {
	width: 960px;
	margin: 0 auto;
	flex-wrap: nowrap;
	
}

.entry-title {
	font-weight: normal;
	font-size: 1.2rem;
	line-height: 150%;
	border-top: 1px solid #eeeeee;
	border-bottom: 1px solid #eeeeee;
	padding: 15px 15px;
	margin-bottom: 15px;
	justify-content: space-between;
}

.entry-title span {
	font-size: 0.8rem;
	color: #aaaaaa;
}

.page:not(.home) .entry-title span {
	width: 100%;
	display: block;
}

.entry-content {
	flex-shrink: 2;
}

.entry-content h2 {
	font-size: 1.2rem;
	line-height: 180%;
	margin: 30px 0 10px;
	padding-left: 1rem;
	font-weight: bold;
	border-left: 5px solid #555555;
}

.entry-content h2:first-of-type {
	margin-top: 10px;
}

.entry-content h3 {
	font-weight: normal;
	font-size: 1.2rem;
	line-height: 120%;
	//border: 1px solid #eeeeee;
	padding: 5px 15px;
	margin-bottom: 15px;
	margin-top: 15px;
	display: inline-block;
	margin-right: auto;
	background: url("./img/bg-h3-orange.png") no-repeat left 10px;
}

.entry-content p {
	line-height: 250%;
	padding: 0 15px;
	font-size: 1rem;
}

.entry-content .anno {
	background: #eeeeee;
	margin: 15px;
	padding: 15px;
	color: #777777;
	font-size: 0.8em;
	line-height: 120%;
}

.entry-content .anno li {
	margin-bottom: 10px;
}

.entry-content .anno li:last-of-type {
	margin-bottom: 0;
}

.content .entry-content .thumbnail {
	float: right;
	margin-left: 15px;
}

.toppage {
	padding-top: 15px;
	padding-bottom: 50px;
}

.toppage .thumbnail {
	-webkit-transform: rotate(2deg);
	transform: rotate(2deg);
}

.content .inner .thumbnail {
	width: 480px;
	margin-left: 15px;
}

.content .inner .thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.skew_box {
	position: relative;
	z-index: 0;
	padding: 20px 0;
	background: var(--main-sub-color);
	margin-bottom: 40px;
}

.skew_box::before {
	content: "";
	position: absolute;
	top: -40px;;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 0 0 100vw;
	border-color: transparent transparent transparent var(--main-sub-color);
}

.skew_box::after {
	content: "";
	position: absolute;
	bottom: -40px;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 0 0 100vw;
	border-color: var(--main-sub-color) transparent transparent transparent;
}

.skew_box:nth-of-type(2) {
	background: #ffffff;
}

.skew_box:nth-of-type(2)::before {
	content: none;
}

.skew_box:nth-of-type(2)::after {
	content: none;
}

.skew_box:nth-of-type(3) {
}

.skew_box:nth-of-type(3)::before {
	border-width: 0 0 40px 100vw;
	border-color: transparent transparent var(--main-sub-color) transparent;
}

.skew_box:nth-of-type(3)::after {
	border-width: 0 0 40px 100vw;
	border-color: transparent transparent transparent var(--main-sub-color);
}








.gridWrapper {
	margin-bottom: 30px;
	justify-content: space-between;
}

.gridWrapper .grid {
	width: calc(100% / 3 - 30px);
	margin-bottom: 15px;
}

.gridWrapper .grid a {
	width: 100%;
	display: block;
}

.gridWrapper .grid .box .thumb_container {
	width: 100%;
	position: relative;
}

.gridWrapper .grid .box .thumb_container:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.gridWrapper .grid .box .thumb {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.gridWrapper .grid .box .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gridWrapper .grid .box h3 {
	font-weight: normal;
	line-height: 120%;
	padding: 15px 0;
}

.gridWrapper .grid .box p {
	font-size: 0.9rem;
	line-height: 150%;
}

.gridWrapper .grid .box p.readmore {
	text-align: right;
	padding: 10px 5px 5px;
	color: var(--main-color);
}

.gridWrapper .grid .box p.readmore span {
	margin-left: 1rem;
}


.listBox {
	padding: 10px 0;
	color: #666666;
}

.listBox .date {
	margin-left: 1.5rem;
	margin-right: 1.5rem;
	width: 10rem;
}

.listBox .discription h3 {
	text-decoration: none;
	font-weight: normal;
}

.listBox .discription span {
	margin-left: 1rem;
	color: var(--main-color);
}

#footer {
	border-top: 1px solid #eeeeee;
	margin: 0 auto;
	background: #f0f0f0;
	z-index: 1;
	padding: 30px 15px 30px;
	width: calc(100% - 30px);
}

#footer .inner {
	justify-content: space-between;
	padding: 30px 0;
}

#footerNav {
	font-size: 0.8rem;
	width: calc(100% - 370px);
	margin-left: 50px;
}

#footerNav > ul {
	flex-direction: column;
	height: 150px;
}

#footerNav li {
	//border-left: 1px solid #666666;
}

#footerNav > ul > li {
	margin-bottom: 15px;
	padding: 0 1.5em;
	position: relative;
}

#footerNav li:first-of-type {
	border: none;
}

#footerNav > ul > li:before {
	content: "▶";
	position: absolute;
	width: 1em;
	left: 0;
	
}

#footerNav li a {
	text-decoration: none;
	color: #555555;
}

#footerNav > ul > li ul li {
	margin-top: 10px;
	margin-left: 15px;
	padding-left: 1.5em;
	position: relative;
}

#footerNav > ul > li ul li:before {
	content: "└";
	position: absolute;
	left: 0;
	width: 1em;
	
}

#footerNav a {
	position: relative;
	display: inline-block;
	transition: .3s;
}

#footerNav a:hover {
	color: #999999;
}

#footerNav a:after {
	position: absolute;
	bottom: -10px;
	left: 50%;
	content: "";
	width: 0;
	height: 1px;
	background: var(--main-color);
	transition: .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

#footerNav a:hover::after {
	width: 100%;
}

#footer_logo .logo {
	margin-bottom: 15px;
	width: 320px;
}

#footer_logo .logo a p {
	font-size: 1.5rem;
}

#footer_logo .infomation {
	margin-bottom: 15px;
}

#footer_logo .infomation .tel {
	font-size: 1rem;
	margin-bottom: 10px;
}

#footer small {
	width: 100%;
	display: block;
	text-align: center;
	font-size: 0.8rem;
	padding: 15px 0;
}


.entry-content .infomation_box {
	padding: 30px;
	margin-bottom: 30px;
}

.entry-content .infomation_box li {
	line-height: 250%;
	border-bottom: 1px dotted #555555;
}

.entry-content .infomation_box li .ttl {
	width: 10em;
	display: inline-block;
	padding: 0 15px;
}


/* Pickup
------------------------------------------------------------*/
#pickup {
	padding-bottom: 40px;
	padding-top: 40px;
	overflow: hidden;
}

#pickup article .flexbox {
	justify-content: space-around;
}

#pickup .contents {
	width: calc(100% - 320px - 50px);
	
}

#pickup .contents h3 {
	font-size: 2rem;
	line-height: 200%;
	color: var(--main-color);
}

#pickup .contents .body {
	line-height: 200%;
}

#pickup > article:nth-of-type(2) h3 {
	color: var(--secondary-color);
}

#pickup .readmore {
	margin: 30px 0;
	line-height: 100%;
	padding: 15px;
	border-radius: 15px;
	background: var(--main-color);
	color: #ffffff;
	font-size: 1rem;
	text-align: center;
}

#pickup .readmore span {
	margin-left: 1rem;
}

#pickup > article:nth-of-type(2) .readmore {
	background: var(--secondary-color);
}



/* faq
------------------------------------------------------------*/
.faq_list dt {
	font-size: 1.2rem;
	line-height: 180%;
	margin: 30px 0 10px;
	padding-left: 1rem;
	font-weight: bold;
	border-left: 5px solid #555555;
}

.faq_list dt:first-of-type {
	margin-top: 10px;
}

.faq_list dd {
	margin-left: 30px;
}

.faq_list dd ol {
	margin-left: 2.5rem;
	margin-bottom: 15px;
}

.faq_list dd ol li {
	line-height: 180%;
}


/* flow
------------------------------------------------------------*/
.flow_list dt {
	font-size: 1.2rem;
	line-height: 180%;
	margin: 30px 0 10px;
	padding-left: 1rem;
	font-weight: bold;
	border-left: 5px solid #555555;
}

.flow_list dt:first-of-type {
	margin-top: 10px;
}

.flow_list dd {
	flex-wrap: nowrap;
}

.flow_list dd > div:last-of-type {
	flex-shrink: 1000;
}

.flow_list dd ol {
	margin-left: 2.5rem;
	margin-bottom: 15px;
}

.flow_list dd ol li {
	line-height: 180%;
}


/* contact form
------------------------------------------------------------*/
.wpcf7 {
	text-align: center;
}

.wpcf7-form {
	display: inline-block;
	margin: 0 auto;
}

.wpcf7 p {
	margin-bottom: 15px;
	text-align: left;
}

.wpcf7 .ex {
	font-size: 0.8rem;
	margin-left: 1rem;
	margin-right: 1rem;
	color: #aaaaaa;
	width: 100%;
	box-sizing: border-box;
	display: block;
	line-height: 100%;
	margin-bottom: 5px;
}

.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 textarea {
	width: 100%;
	box-sizing: border-box;
}

.wpcf7 .center {
	text-align: center;
}

/* humburger nav
------------------------------------------------------------*/
.nav_toggle {
	display: none;
	position: absolute;
	width: 1.75rem;
	height: 1.75rem;
	top: calc(15px + 0.8rem);
	bottom: 0;
	right: 0.5rem;
	margin: auto;
	cursor: pointer;
	z-index: 5;
}

.nav_toggle i {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #333;
	position: absolute;
	transition: transform .5s, opacity .5s;
}

.nav_toggle i:first-of-type {
	top: 0;
}

.nav_toggle i:nth-of-type(2) {
	top: 0;
	bottom: 0;
	margin: auto;
}

.nav_toggle i:last-of-type {
	bottom: 0;
}

.open-nav .nav_toggle i:first-of-type {
	transform: translateY(14px) rotate(-45deg);
}

.open-nav .nav_toggle i:nth-of-type(2) {
	opacity: 0;
}

.open-nav .nav_toggle i:last-of-type {
	transform: translateY(-12px) rotate(45deg);
}


#mask {
	display: none;
}

.open-nav #mask {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index: 2;
	cursor: pointer;
	transition: all .5s;
}

.open-nav #headerInfo {
	z-index: 0;
}

.open-nav #nav_toggle {
	top: 0;
	bottom: auto;
}


.rental-list td .thumb {
	width: 100px;
	height: 100px;
	over-flow: hidden;
	display: block;
	float: right;
}

.rental-list td .thumb img {
	//width: 100%;
	//height: 100%;
	display: block;
}


/* site-list
------------------------------------------------------------*/
.content #site-list .inner {
	flex-wrap: wrap;
}

#site-list .thumb {
	width: 300px;
	margin-right: 15px;
}

#site-list .site-info {
	width: calc(100% - 315px);
}

#site-list .site-info table {
}

#site-list .site-info table th, #site-list .site-info table td {
}

#site-list .content {
	width: 100%;
}


/* facility-list
------------------------------------------------------------*/




/* PC用
------------------------------------------------------------*/
@media only screen and (min-width:960px){
}


@media only screen and (max-width:959px){
	#container {
		width: 100%;
	}
	
	#header {
		transition: .5s;
		min-height: 2.75rem;
	}
	
	#header .logo {
		//margin-bottom: 15px;
		//margin-left: 15px;
		text-align: center;
		margin: 0 auto;
		line-height: 3rem;
		min-height: 3rem;
	}
	
	#header .infomation {
		margin-bottom: 15px;
	}
	
	#header-wrapper {
		width: 100%;
	}
	
	#header-wrapper > .inner {
		width: 100%;
	}
	
	.header-info {
		position: relative;
		width: calc(100% - 50px);
		right: auto;
		top: auto;
	}
	
	.header-info .btn {
		margin: 0;
		width: 50%;
		padding: 15px 0;
		text-align: center;
	}
	
	.nav_toggle {
		display: block;
		top: 0;
	}
	
	#mainImage {
		margin-bottom: 0;
	}
	
	#mainImage .inner img {
		width: 100%;
		height: auto;
	}
	
	#mainImage .slogan {
		left: 5px;
		bottom: 5px;
	}
	
	#header .infomation {
		margin-right: 2.75rem;
	}
	
	.open-nav #header .header-info {
		display: none;
	}
	
	
	.open-nav #header {
		width: calc(100% - 300px);
	}
	
	#headerNav {
		display: block;
		position: fixed;
		top: 0;
		right: -300px;
		bottom: 0;
		width: 300px;
		background: #f0f0f0;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		transition: .5s;
		z-index: 3;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.open-nav #headerNav {
		right: 0;
	}
	
	#headerNav .inner {
		padding: 25px;
	}
	
	#headerNav .panel ul {
		display: block;
	}
	
	#headerNav .panel ul li {
		width: 100%;
	}
	
	#headerNav .panel ul li::before {
		content: none;
	}
	
	#headerNav .panel ul li.current_page_item {
		border-top: none;
	}
	
	#headerNav .panel ul li ul {
		display: none;
	}
	
	#wrapper {
		width: 100%;
	}
	
	.toppage .thumbnail {
		transform: rotate(0);
	}
	
	.content {
		padding-left: 0;
		padding-right: 0;
	}
	
	.content > .inner, .content > article > .inner {
		flex-wrap: wrap;
		width: 100%;
	}
	
	.content .inner .thumbnail {
		margin-right: 15px;
		width: calc(100% - 30px);
	}
	
	#pickup .contents {
		width: 100%;
	}
	
	#pickup .contents h3 {
		font-size: 1.5rem;
		text-align: center;
		padding: 0 15px;
	}
	
	#pickup .contents .body {
		text-align: center;
		padding: 0 15px;
	}
	
	#pickup .readmore {
		margin-left: 15px;
		margin-right: 15px;
	}
	
	.flow_list dd {
		flex-wrap: wrap;
	}
	
	.flow_list dd > div:last-of-type {
		width: 100%;
	}
}


@media only screen and (max-width:640px){
	#mainImage .slogan h2 {
		font-size: 1.8rem;
	}
	
	#mainImage .slogan h3 {
		font-size: 1.2rem;
	}
	
	.infomation .tel {
		font-size: 1.2rem;
	}
	
	.open-nav .infomation .tel span {
		display: none;
	}
	
	.open-nav #header > h1 {
	}
	
	.open-nav .logo a span {
		display: none;
	}
	
	.open-nav .infomation .open-close {
		display: none;
	}
	
	.listBox .date {
		margin: 0 0 10px 0;
		width: calc(100% - 30px);
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.listBox .discription {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.gridWrapper .grid {
		width: 100%;
	}
	
	.gridWrapper .grid .box {
		display:-webkit-box;
		display:-moz-box;
		display:-ms-box;
		display:-webkit-flexbox;
		display:-moz-flexbox;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:-moz-flex;
		display:-ms-flex;
		display:flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-webkit-flex-wrap:nowrap;
		-moz-flex-wrap:nowrap;
		-ms-flex-wrap:nowrap;
		flex-wrap:nowrap;
	}
	
	.gridWrapper .grid .box div.contents {
		width: calc(70% - 15px);
	}
	
	.gridWrapper .grid .box > a {
		width: 30%;
		margin-right: 15px;
	}
	
	.content .inner .thumbnail.w-320 {
		width: 160px!important;
	}
	
	.faq_list dd {
		margin-left: 0;
	}
	
	#footer .inner {
		flex-wrap: wrap-reverse;
	}
	
	#footerNav {
		width: 100%;
		margin-bottom: 30px;
	}
	
	#footerNav > ul {
		//justify-content: center;
		height: 150px;
	}
	
	#footerNav > ul > li {
		margin-bottom: 20px;
	}
}


@media only screen and (max-width:590px){

	#header .logo {
		margin-bottom: 5px;
		width: calc(100% - 15px - 2.75rem);
	}
	
	#header .infomation {
		width: calc(100% - 3.75rem);
		margin-right: 3.75rem
	}
	
	.infomation .tel {
		font-size: 1.1rem;
	}
	
	.btn span {
		display: block;
		width: 100%;
		margin-left: 0;
		text-align: center;
	}
	
	#site-list .site-info {
		width: 100%;
		margin-top: 15px;
	}
}


@media only screen and (max-width:480px){

	
	.infomation .tel span {
		//display: none;
	}
	
	#header > h1 {
		//display: none;
	}
	
	.logo a span {
		display: none;
	}
	
	#mainImage .slogan h2 {
		font-size: 1.5rem;
	}
	
	#mainImage .slogan h3 {
		font-size: 1rem;
	}
	
	.open-nav #header h1 {
	}
	
	.open-nav #header .logo {
		display: none;
	}
	
	.open-nav #header .infomation {
		display: none;
	}
	
	.open-nav #header .header-info {
		display: none;
	}
	
	
	.entry-content .infomation_box li .ttl {
		width: calc(100% - 30px);
	}
	
	.entry-content .infomation_box li p {
		width: calc(100% - 30px);
		text-align: right;
	}
	
	.toppage p {
		text-align: center;
		margin-bottom: 15px;
	}
	
	#footerNav > ul {
		//justify-content: center;
		height: 180px;
	}
	
}
