@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPMincho&display=swap');

:root {
	--font-main: "BIZ UDPMincho", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	--font-sub: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--color-bg: #ffffff;
	--color-text: #0c0c0c;
	--color-text-hover: #3c3c3c;
	--color-white: #ffffff;
	--color-gray: #888888;
	--color-accent: #E1CCA4;
	--color-btn: #625950;
	--color-border: #888888;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio {
	font-family: var(--font-main);
	line-height: 1em;
}

.grecaptcha-badge {
	display: none !important;
}

*{
	transition: all 0.3s linear;
}

body {
	background-color: #FFFFFF;
}

a {
	color: var(--color-text);
	text-decoration: none;
}

a:link {
	color: var(--color-text);
}

a:visited {
	color: var(--color-text);
}

a:hover {
	color: var(--color-text);
	text-decoration: none;
}

a:active {
	color: var(--color-text);
}

p {
	color: var(--color-text);
}

.single p a {
	font-style: italic;
	border-bottom: 1px dotted var(--color-text);
	padding-bottom: 2px;
}


.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}


.mb100 {
	margin-bottom: 100px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mt150 {
	margin-top: 150px !important;
}

.mt130 {
	margin-top: 130px !important;
}

.mt120 {
	margin-top: 120px !important;
}

.mt110 {
	margin-top: 110px !important;
}

.pb10 {
	padding-bottom: 10px;
}

.pb20 {
	padding-bottom: 20px;
}

.pb30 {
	padding-bottom: 30px;
}

.pb40 {
	padding-bottom: 40px;
}

.pb50 {
	padding-bottom: 50px;
}

.pb100 {
	padding-bottom: 100px;
}

.pb150 {
	padding-bottom: 150px;
}

.pt50 {
	padding-top: 50px;
}

.pt100 {
	padding-top: 100px;
}

.view_sp {
	display: none !important;
}

.view_wide {
	display: block !important;
}

.view_wide_inline {
	display: inline-block !important;
}

@media screen and (max-width:960px) {
	.view_sp {
		display: block !important;
	}

	.view_wide {
		display: none !important;
	}

	.view_wide_inline {
		display: none !important;
	}
}

a,
button {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	tap-highlight-color: rgba(0, 0, 0, 0);
}

button {
	font-size: 11px;
	line-height: 1.7em;
	letter-spacing: 2px;
	font-family: var(--font-main);
}

header {
	z-index: 4000;
	width: 80px;
	height: 100%;
	position: fixed;
	right: 0px;
	border: 0px;
	top: 0px;
	background-color: #fff;
	box-shadow: -5px 0px 10px rgba(0, 0, 0, 0.2);
}

header .sns {
	position: relative;
	top: 80px;
	width: 100%;
}

header .sns a img {
	width: 100%;
	padding: 26%;
}

section.sections {
	padding-right: 60px;
}

.description a {
	text-decoration: none;
	text-decoration: none;
	color: var(--color-text) !important;
	border-bottom: 1px solid var(--color-text);
}

.description a:hover {
	color: var(--color-text) !important;
	border-bottom: 2px solid var(--color-text);
}

.description a:active {
	color: #494848 !important;
}

.title-area {
    text-align: center;
    margin-bottom: 60px;
}

.title-area .title {
	font-weight: 100;
    letter-spacing: 6px;
    font-size: 13px;
    position: relative;
    z-index: 5;
}
.title-area p.caption {
    margin-top: 20px;
    letter-spacing: 2px;
    font-size: 10px;
}
.title-area p {
	font-size: 11px;
}

.subpage-title-area {
    margin-bottom: 150px;
	margin-top: 20px;
    margin-left: 20px;
}
.subpage-title-area .title {
font-family: var(--font-main);
    font-weight: 100;
    letter-spacing: 2px;
    font-size: 14px;
    position: relative;
    z-index: 5;
    margin-bottom: 11px;
}
.subpage-title-area .caption {
	font-family: var(--font-sub);
	font-weight: normal;
	letter-spacing: 3px;
	font-size: 11px;
	position: relative;
	z-index: 5;
	color: #000;
}




.logo a {
	border: 0px;
}

.globalmenu {
	display: inline-block;
	position: absolute;
	top: 0px;
	right: 20px;

	transition: all 0.3s ease-in
}

.globalmenu video.bkmv {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
	z-index: -1;
}




.profile-page header .logo a {
	color: var(--color-white) !important;
}

.profile-page .submenu li a {
	color: var(--color-white) !important;
}








.sections.mt130 {
	margin-top: 110px !important;
}

.sections.mt100 {
	margin-top: 110px !important;
}



h1.logo {
	display: block;
    font-size: 16px;
    letter-spacing: 20px;
    writing-mode: vertical-rl;
    margin: 110px auto 100px;
    position: relative;
    top: 50px;
	z-index: 980;
}
h1.logo span {
    font-size: 8px;
    letter-spacing: 7px;
    font-size: 11px;
	font-family: var(--font-sub);
	margin-top: 40px;
}
.toplogo {
    width: 100%;
    text-align: center;
    margin-top: 250px;
	margin-bottom: 200px;
}
.toplogo span {
    font-size: 8px;
    letter-spacing: 7px;
    font-size: 11px;
	font-family: var(--font-sub);
	margin-top: 40px;
}

section.toplogo img {
    width: 90px;
}

.globalmenu {
	overflow: auto;
	width: 100%;
	position: fixed;
	z-index: 990;
	right: 0px;
	height: 100%;
	top: 0px;
}

.globalmenu ul {
	padding: 0px;
	display: block;
	position: absolute;
	top: 17%;
	bottom: 0px;
	left: 10%;
	right: 0px;
}

.globalmenu li {

	margin-bottom: 20px;
	font-size: 30px;
	letter-spacing: 2px;
	list-style: none;
	font-weight: 100;
	border: 0px;
	text-decoration: none;
	font-family: var(--font-sub);
}

.globalmenu li a {
	font-size: 40px;
	letter-spacing: 2px;
	text-decoration: none;
	font-weight: bold;
	font-family: var(--font-sub);
	color: var(--color-text);
}

.globalmenu li a:hover {
	color: var(--color-text-hover) !important;
}

.globalmenu li span {
	font-size: 16px;
	font-family: var(--font-sub);
	margin-left: 20px;
	display: inline-block;
	top: -8px;
	position: relative;
}

.minilogo {
	width: 50px;
	margin-top: 60px;
}

.right-menu {
	position: absolute;
	right: 0px;
	bottom: 0px;
	padding: 0px;
	text-align: center;
	font-size: 11px;
	z-index: 9999;
}

.right-menu .btn_menu {
	background-image: url(../images/menu-logo.png);
	background-size: 37px 51px;
	background-repeat: no-repeat;
	background-position: center;
	height: 51px;
	width: 37px;
	rotate: 0deg;
	transition: all 0.3s linear;
}

.right-menu .btn_menu.open {
	rotate: 240deg;
}

.globalmenu.close {
	opacity: 0.0;
	visibility: hidden
}

.globalmenu.open {
	opacity: 1.0;
	visibility: initial;
	background-color: rgba(200, 200, 200, 0.8);
}



.submenu {
	width: 400px;
	margin-bottom: 100px;
}

.submenu ul {
	margin-left: 30px;
}

.submenu li.first {
	margin-right: 30px;
}

.submenu li {
	line-height: 0px;
	display: inline-block;
	font-size: 11px;
	width: 150px;
	margin-bottom: 20px;
}

.submenu li.end {
	margin-right: 0px;
}

.submenu li a {
	font-size: 11px;
	letter-spacing: 2px;
	font-weight: 400;
	border: 0px;
	text-decoration: none;
	font-weight: 400;
	letter-spacing: 2px;


}

.submenu li a:hover {
	color: var(--color-gray) !important;
	border: 0px !important;
	border: 0px !important;


}



@media screen and (max-width:960px) {
	h1.logo {
    display: block;
    font-size: 12px;
    letter-spacing: 14px;
    writing-mode: vertical-rl;
    margin: 100px auto 0px;
    position: relative;
    top: 50px;
	}
	.toplogo {
		height: 600px;
	}

	h1.logo span {
		font-size: 8px;
		letter-spacing: 3px;
		font-size: 9px;
		font-family: var(--font-sub);
		margin-top: 10px;
	}

	section.toplogo img {
    width: 50px;
	}

	.globalmenu li a {
		font-size: 22px;
		letter-spacing: 2px;
	}
	.globalmenu li span {
		font-size: 11px;
		display: block;
		top: 0px;
		letter-spacing: 1px;
		margin-left: 0px;
		margin-top: 7px;
	}

	.globalmenu ul {
		top: 12%;
	}

	.globalmenu li {
		font-size: 26px;
	}



}

.during,
.before {
	position: absolute;
	top: 30px;
	left: 30px;
	font-size: 11px;
	letter-spacing: 2px;
}

.before .date_icon {
	background-color: #FF8989;
	width: 10px;
	height: 10px;
	border-radius: 10px;
	display: inline-block;
	margin-right: 10px;
}


.during .date_icon {
	background-color: #D6FF89;
	width: 10px;
	height: 10px;
	border-radius: 10px;
	display: inline-block;
	margin-right: 10px;
}



.pageclass_sub .header-section.categorylist .head-images {
	height: 500px;
	width: 100%;
	margin: 0 auto 100px;
}

.pageclass_sub .header-section.categorylist img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}

@media screen and (max-width:960px) {
	.pageclass_sub h1.logo {
		display: block;
        font-size: 12px;
        letter-spacing: 12px;
        text-align: left;
        margin-top: 100px;

	}

	.pageclass_sub h1.logo img {
		width: 170px;
		height: auto;
	}

}

@media screen and (min-width:1280px) {

	.pageclass_sub .header-section.categorylist .head-images {
		height: 700px !important;
	}

	.head-images video {
		height: 700px !important;
	}
}


footer {
	text-align: center;
	position: relative;
	z-index: 5;
}

.footvideo {
	margin: 0px;
	width: 100%;
	height: 100%;
	position: relative;
	line-height: 0;
}

.footvideo img {
	width: 100%;
}

.footvideo video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	line-height: 0;
}

.intro {
    width: 220px;
    margin: 0 auto 200px;
}

h3.intro-head {font-size: 11px;letter-spacing: 2px;text-align: center;margin-bottom: 40px;}

p.intro-text {
    -ms-writing-mode: tb-rl; /* IE用 */
    writing-mode: vertical-rl; /* 一般的なブラウザ */
    font-size: 11px;
    font-family: "Yu Mincho", serif;
    width: 188px;
    height: 380px;
    line-height: 1.8em;
    letter-spacing: 2px;
    margin-bottom: 100px;
}
.intro a {
    display: inline-block;
    text-align: center;
    width: 100%;
    letter-spacing: 3px;
    font-size: 9px;
}



.flexslider,
ul.slides,
.flexslider .slides li,
.flexslider .slides img {
	width: 100%;
	height: 100%;
}

.flexslider {
	background: transparent !important;
}

/* section width and centering */
.section.map {
	margin: 0 auto;
	width: 800px;
}

.section.event {
	margin: 0 auto;
	width: 800px;
}

.section.slider {
	margin-left: 0px;
	margin-right: 0px;
	height: 720px;
}

.section.about {
	width: 600px;
	margin: 0 auto;
}





.member .title {
	margin: 0 auto 70px;
	text-align: center;
}

.section .title h2,
.section .title h3 {
	margin-bottom: 0px;
	letter-spacing: 2px;
	font-weight: 100;
	font-size: 16px;
	color: var(--color-text);
}

.sub_caption {
	font-size: 11px;
	margin-bottom: 17px;
}

.section .title .caption {
	font-size: 10px;
}

.section .description {
	font-size: 13px;
	line-height: 2.0em;
	margin-bottom: 40px;
}

.section .description img {
	width: 100%;
}

.section .more-button {
	text-align: center;
	margin-bottom: 100px;
}

.section .more-button img {
	width: 198px;
}

.section.about .title {
	margin-bottom: 30px;
}

.section.about .title h2,
.section.about .title h3 {
	margin-bottom: -8px;
	letter-spacing: 2px;
	font-weight: 100;
}

.section.about .title .caption {
	font-size: 10px;
}

.section.about .description {
	font-size: 13px;
	line-height: 2.0em;
	margin-bottom: 40px;
}

.section.about .description img {
	width: 100%;
}

.section.about .more-button {
	text-align: center;
}

.section.about .more-button img {
	width: 198px;
}


.section.attention {
	width: 600px;
	margin: 0 auto;
}

.section.attention .title {
	margin-bottom: 30px;
}

.section.attention .title h2,
.section.about .title h3 {
	margin-bottom: -8px;
	letter-spacing: 2px;
	font-weight: 100;
}

.section.attention .title .caption {
	font-size: 10px;
}

.section.attention .description {
	font-size: 13px;
	line-height: 2.0em;
	margin-bottom: 40px;
}

.section.attention .description img {
	width: 100%;
}

.section.attention .more-button {
	text-align: center;
}

.section.attention .more-button img {
	width: 198px;
}

@media screen and (max-width:960px) {
	.section.about .title {
		margin-left: 0px;
	}


	.section.attention {
		margin-left: 30px;
		margin-right: 30px;
		width: auto;
	}

	.section .title {
		margin-left: 0px;
	}

	.footer-menu {
		margin: 0 auto 100px;
	}





}


.section.map .title {
	margin-bottom: 30px;
}

.section.map .title h2,
.section.map .title h3 {
	margin-bottom: -8px;
	letter-spacing: 2px;
	font-weight: 100;
}

.section.map .title .caption {
	font-size: 10px;
}

.section.map iframe {
	width: 100%;
}



.section.event .title {
	margin-bottom: 30px;
}

.section.event .title h2,
.section.event .title h3 {
	margin-bottom: -8px;
	letter-spacing: 2px;
	font-weight: 100;
}

.section.event .title .caption {
	font-size: 10px;
}

.section.event .description {
	font-size: 13px;
	line-height: 2.0em;
	margin-bottom: 40px;
}

.section.event .event-title {
	text-align: center;
	margin-bottom: 50px;
}

.section.event .event-title img {
	width: 292px;
}

.section.event h2.event-title span,
.section.event h3.event-title span {
	font-size: 20px;
	text-align: left;
	letter-spacing: 1px;
}

.section.event h2.event-title,
.section.event h3.event-title {
	font-size: 29px;
	font-weight: 100;
}

.section.event .description {
	font-size: 13px;
}

.section.event .description img {
	width: 100%;
	margin-bottom: 20px;
}

.section.event .more-button {
	text-align: center;
}

.section.event .more-button img {
	width: 198px;
}

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

	.section.event h2.event-title span,
	.section.event h3.event-title span {
		font-size: 15px;
	}

	.section.event h2.event-title,
	.section.event h3.event-title {
		font-size: 22px;
	}

	.section.event .description iframe {
		width: 100%;
	}

	.footvideo video {
		width: 100%;
		height: 600px;
		object-fit: cover;
		line-height: 0;
	}

}




/* footer */
footer {
	text-align: center;
	background-color: #F7F7F7;
}

footer .footermenu ul {
	padding: 0px;
}

footer .footermenu li {
	line-height: 100px;
	display: inline-block;

	padding: 0px 20px;
}

footer .footermenu li a {
	font-size: 13px;
	letter-spacing: 1px;
	color: var(--color-text);
}

footer .placefiller {
	margin: 0px;
	letter-spacing: 1px;
	font-size: 12px;
}


footer .sns-icon {
	overflow: auto;
	width: 300px;
	margin: 0 auto 50px;
}

footer .sns-icon a img {
	width: 40px;
	height: auto;
	margin-bottom: 30px;
}

footer .sns-icon .item {

	font-size: 11px;
	letter-spacing: 1px;
	color: var(--color-text) !important;
	font-weight: 100;
	border: 0px;
	display: inline-block;
	text-align: center;
	width: 90px;
	margin-bottom: 20px;
	font-style: italic;
}

footer .sns-icon .item a {
	text-decoration: none;
}

footer .logo-v {
	width: 80px;
}
footer .copyright{
	font-family: var(--font-sub);
    color: #0c0c0c;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: bold;
	margin-bottom: 0px;
    padding-bottom: 20px;
}

.item {
	font-size: 10px;
	color: var(--color-white);
	letter-spacing: 2px;
	position: absolute;
	z-index: 99;
	bottom: 10px;
	width: 100%;
	text-align: center;
	height: 30px;
	margin: 0px;
	padding: 0px;
}


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










	.footer-menu li {
		display: inline-block;
		padding-right: 20px;
		padding-left: 20px;
		width: 40%;
		margin-bottom: 16px;
	}
}



.menu-area.close {
	transition: all 0.3s linear;
	height: 0px;
	padding: 0px;
	padding-top: 5px;
	overflow: hidden;
}

.right-menu.switch {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 4000;
	height: 60px;
}

p.menu-caption {
	font-size: 10px;
	letter-spacing: 2px;
	font-family: var(--font-sub);
	font-weight: bold;
	margin-top: 10px;
	text-align: center;
	display: inline-block;
	width: 100%;
}

button {
	display: block;
	background: none;
	border: none;
	padding: 0;
	width: 26px;
	color: var(--color-text);
	letter-spacing: 0.1em;
	cursor: pointer;
	top: 10px;
	left: 10px;
	z-index: 1001;
	text-align: center;
	outline: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

button span.bar {
	display: block;
	height: 2px;
	background-color: var(--color-white);
	margin: 17px 0;
	transition: all 0.3s;
	transform-origin: 0 0;
	width: 26px;
	box-shadow: 2px 2px 4px #333;
}

button.active .bar1 {
	transform: rotate(40deg);
	margin-left: 1px;
}

button .close {
	letter-spacing: 0.08em;
	display: none;
	font-size: 10px;
}

button .menu {
	display: inline;
	font-size: 10px;
	margin-left: 0px;
	padding: 0px;
	margin: 0px;
	line-height: 0px;
	letter-spacing: 0px;
}

button.active span.bar {
	width: 29px;
}

button.active .bar1 {
	transform: rotate(40deg);
	margin-left: 2px;
}

button.active .bar2 {
	opacity: 0;
}

button.active .bar3 {
	transform: rotate(-40deg);
	margin-left: 2px;
}

button.active .menu {
	display: none;
}

button.active .close {
	display: inline;
	font-size: 10px;
	margin-left: 0px;
	padding: 0px;
	margin: 0px;
	line-height: 0px;
	letter-spacing: 0px;
}

.contact_block p {
	font-size: 11px;
}


ul.about-list {
	padding-left: 0px;
}

ul.about-list li {
	font-size: 13px;
	list-style: none;
	margin-bottom: 50px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--color-accent);
}

ul.about-list .text {
	margin-left: 100px;
}

ul.about-list span {
	float: left;
	margin-right: 30px;
}

ul.doc-list {
	padding-left: 0px;
}

ul.doc-list li {
	font-size: 13px;
	list-style: none;
	margin-bottom: 10px;
}

ul.doc-list li span.cap {
	font-size: 11px;
	background-color: var(--color-text);
	color: var(--color-white);
	line-height: 1.8em;
	padding: 3px 8px;
	margin-left: 10px;
	list-style: none;
	margin-bottom: 10px;
	display: inline-block;
}

.btnlink {
	text-align: center;
	margin-bottom: 100px;
}

.contact-page {
	width: 500px;
	margin-left: 70px;
}

.contact-page label {
	font-size: 12px;
	margin-bottom: 10px;
	line-height: 2em;
}

input,
select,
optgroup,
textarea {
	border: 1px solid var(--color-text);
	width: 100%;
	padding: 3px;
	line-height: 3em;
	padding-left: 15px;
	padding-right: 15px;
}


.contact_block {
	margin-bottom: 40px;
}

.contact_block p {
	margin-bottom: 10px;
}

input[type=radio],
input[type=checkbox] {
	width: auto;
}

/*
input[type=radio], input[type=checkbox] {
  display: none;
}

.radio, .checkbox {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  margin: 0 20px 8px 0;
  padding: 12px 12px 12px 42px;
  vertical-align: middle;
  cursor: pointer;
	font-size: 12px;
}

.checkbox a {
  text-decoration: none;
  text-decoration: none;
  color: #256ebb!important;
  border-bottom: 1px solid #256ebb;
  font-weight: bold;
}

.radio:hover, .checkbox:hover {
}
.radio:hover:after, .checkbox:hover:after {
  border-color: #E1CCA4;
}
.radio:after, .checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-accent);
  content: '';
}

.radio:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 20px;
  display: block;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  background-color: var(--color-accent);
  content: '';
  opacity: 0;
}
input[type=radio]:checked + .radio:before {
  opacity: 1;
}

.checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 21px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid var(--color-accent);
  border-bottom: 3px solid var(--color-accent);
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}
*/
input[type="submit"] {
	background-color: var(--color-btn);
	color: var(--color-white);
	margin-bottom: 20px;
	font-size: 12px;
	width: 250px;
}

.contact_message {
	font-size: 11px;
	margin-bottom: 50px;
}

.section.contact .description {
	font-size: 13px;
	line-height: 2.0em;
	margin-bottom: 40px;
}

@media screen and (max-width:960px) {
	.section.contact {
		width: auto;
		margin: 0 auto;
		margin-left: 30px;
		margin-right: 30px;
	}

	.contact-page {
		width: auto;
		margin-left: 20px;
		margin-right: 20px;
	}

	header {
		z-index: 4000;
		width: 60px;
		height: 100%;
		position: fixed;
		right: 0px;
		border: 0px;
		top: 0px;
		background-color: #fff;
		box-shadow: -5px 0px 10px rgba(0, 0, 0, 0.2);
	}


	.right-menu .btn_menu {
		background-image: url(../images/menu-logo.png);
		background-size: 27px 41px;
		background-repeat: no-repeat;
		background-position: center;
		height: 41px;
		width: 27px;
		rotate: 0deg;
		transition: all 0.3s linear;
	}

	.right-menu.switch {
		position: fixed;
		top: 30px;
		right: 7px;
		z-index: 4000;
	}

}




/* layout_entry
--------------------*/


.works_wrapper {
	display: flex;
	flex-flow: column;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
}

.works_wrapper::after {
	content: "";
	display: block;
	width: 50%;
}

.works_entry {
	width: 50%;
	margin: 10px;
	text-align: center;
	margin: 0 auto 0px;
	position: relative;
	height: auto;
}

.works_entry img {
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 2 / 3;
}

.infoblock {
	margin-bottom: 50px;
}

.infoblock .workscategory {
	margin-bottom: 10px;
}

.workscategory {
	border: 1px solid var(--color-gray);
	display: inline-block;
	padding: 4px 10px;
	line-height: 14px !important;
}

.worksurl {
	letter-spacing: 3px;
	font-size: 10px !important;
	line-height: 18px !important;
}



.title_section .category {
	margin-bottom: 10px;
	font-size: 10px;
	background-color: transparent;
	display: inline-block;
	padding: 1px 0px;
	color: var(--color-text);
	letter-spacing: 1px;
	margin-right: 5px;
	font-weight: 100;
}

.title_section .category.gray {
	background-color: #989898;
}

.title_section .category.blue,
.title_section .category.news {
	background-color: #8cb9bb;
}

.title_section .category.red,
.title_section .category.musubine {
	background-color: #E18483;
}

.title_section .category.yellow,
.title_section .category.kyobatethinking {
	background-color: #cec183;
}

.title_section .category.green,
.title_section .category.hatenomidori {
	background-color: #20B2AA;
}

.title_section .category.green,
.title_section .category.jikkenntenpo {
	background-color: #00bb98;
}

.title_section .category.green,
.title_section .category.hitdukuri {
	background-color: #33AA98;
}

.title_section .category a {
	color: var(--color-text);
	text-decoration: none;
}

.title_section .date {
	font-size: 10px;
    color: #ffffff;
	letter-spacing: 2px;
    text-align: left;	
    font-weight: bold;
    font-family: var(--font-sub);
}

.title_section h2 {
    font-size: 14px;
    font-weight: bold;
    font-family: var(--font-sub);
    letter-spacing: 2px;
    margin-bottom: 9px;
    text-align: left;
    line-height: 1.8em;
}
.title_section h2 a {
    color: #ffffff;
    font-family: var(--font-sub);	
}

.title_section {
    position: absolute;
    top: 20px;
    left: 20px;
	padding-right: 20px;
}

.title_section .category .line {
	border-bottom: 1px solid var(--color-gray);
	width: 40px;
	height: 1px;
	display: inline-block;
	margin-right: 30px;
	top: -3px;
	position: relative;
	margin-left: 30px;
}


.title_section .more_link {

}

.top_more_link {
	padding: 8px 0px;
	margin: 0 auto;
	display: block;
	text-align: center;
	font-size: 12px;
	letter-spacing: 1px;
	margin-bottom: 100px;
}



@media screen and (min-width:0px) and (max-width:960px) {

	.title_section h2 a {
		color: #ffffff;
		font-family: var(--font-sub);
		letter-spacing: 1px;
		font-size: 12px;
	}

	section.member,
	section.blog {
		width: auto;
	}

	.layout_entry_wrapper {
		width: auto;

	}

	.layout_entry img {
		object-fit: cover;
	}

	.layout_entry {
		width: auto;
		margin: 10px 20px 60px 20px;
	}



	.title_section .category .line {
		border-bottom: 1px solid var(--color-gray);
		width: 40px;
		height: 1px;
		display: inline-block;
		margin-right: 15px;
		margin-left: 15px;
		top: -3px;
		position: relative;
	}

	.top_more_link {
		padding: 0px 20px;
		width: 100%;
		margin: 0px;
		display: block;
		text-align: center;
		font-size: 12px;
		letter-spacing: 1px;
		margin-bottom: 100px;
	}

	.top_more_link img {
		width: 100%;
	}
}



.top_news ul {
	width: 600px;
	margin: 0 auto;
	padding-left: 0px;
}

.top_news {
	padding-top: 14px;
	padding-bottom: 14px;
	margin-bottom: 100px;
}

.top_news ul li {
	list-style: none;
	position: relative;
}

.top_news ul li .date {
	color: var(--color-text);
	margin-right: 30px;
	letter-spacing: 1px;
	font-size: 11px;
}

.top_news ul li .text {
	color: var(--color-text);
	letter-spacing: 1px;
	font-size: 11px;
	width: 400px;
	display: inline-block;
	text-align: center;
}

.top_news ul li a {
	color: var(--color-text);
	font-size: 11px;
	letter-spacing: 1px;
}





.news {
	width: 500px;
	margin: 70px auto 120px;
	position: relative;
}

.news ul li span.date {
	font-size: 11px;
	letter-spacing: 1px;
	margin-right: 50px;
}

.news .more_link {
	font-size: 10px;
	font-weight: 100;
	position: absolute;
	right: 0px;
	letter-spacing: 1px;
}

.news h3 {
	color: var(--color-text);
	font-size: 14px;
	margin-bottom: 80px;
	font-weight: 100;
	margin-left: 0px;
	letter-spacing: 8px;
	text-align: center;
}

.news ul {
	margin-bottom: 20px;
	margin-left: 0px;
	padding-left: 0px;
}

.news ul li {
	list-style: none;
	font-size: 12px;
	margin-bottom: 17px;
	position: relative;
	color: var(--color-text);
	border-bottom: 1px solid var(--color-text);
	padding-bottom: 6px;
	margin-bottom: 50px;
	line-height: 3.0em;
}

.news ul li span {
	font-size: 13px;
	letter-spacing: 1px;
}

.news ul li span.category-name {
	margin-right: 0px;
	width: 80px;
	display: inline-block;
}

.news ul li .line {
	border-bottom: 1px solid var(--color-gray);
	width: 40px;
	height: 1px;
	display: inline-block;
	margin-left: 30px;
	margin-right: 30px;
	top: -3px;
	position: relative;
}

.news ul li .blank {
	width: 100px;
	display: inline-block;
	position: absolute;
	right: 0px;
	text-align: right;
	font-size: 10px;
	top: 13px;
}

.news ul li a {
	font-size: 12px;
	color: var(--color-text);
}

@media (max-width: 960px) {
	.news {
		width: auto;
		height: auto;
		margin: 70px auto;
		padding: 0px 20px;
		z-index: 0;
		overflow: hidden;
	}

	.news ul li span.date {
		font-size: 10px;
		letter-spacing: 1px;
		margin-right: 50px;
		display: block;
	}

	.news h3 {
		font-size: 16px;
		margin-left: 0px;
	}

	.news ul li {
		margin-bottom: 30px;
	}

	.news ul li .line {
		border-bottom: 1px solid var(--color-gray);
		width: 40px;
		height: 1px;
		display: inline-block;
		margin-left: 10px;
		margin-right: 10px;
		top: 2px;
		position: relative;
	}

	.news ul li a {
		font-size: 11px;
	}

	.news ul li span.category-name {
		width: 0px;
	}

	.news ul li span {
		margin-bottom: 5px;
		font-size: 11px;
	}


	.news ul li .blank {
		top: 28px;
	}


	.top_news ul {
		width: 280px;
		margin: 0 auto;
		padding-left: 0px;
	}

	.top_news {
		padding-top: 14px;
		padding-bottom: 14px;
		margin-bottom: 100px;
	}

	.top_news ul li {
		list-style: none;
	}

	.top_news ul li .date {
		color: var(--color-text);
		margin-right: 10px;
		letter-spacing: 0px;
		font-size: 9px;
		display: block;
		text-align: left;
		margin-bottom: 9px;
	}

	.top_news ul li .text {
		color: var(--color-text);
		letter-spacing: 1px;
		font-size: 11px;
		width: auto;
		display: inline-block;
		text-align: left;
		font-size: 12px !important;
		letter-spacing: 2px;
		margin-bottom: 10px;
	}

	.top_news ul li a {
		color: var(--color-text);
		font-size: 10px;
		letter-spacing: 0px;
		position: static;
		display: block;
		width: 100%;
		text-align: right;
	}




}

.pagination-single .nav-previous.alignleft {
	width: 30%;
	display: inline-block;
	margin-right: 2%;
	text-align: center;
	font-size: 10px;
}

.pagination-single .aligncenter {
	text-align: center;
	width: 34%;
	display: inline-block;
	font-size: 10px;
}

.pagination-single .nav-next.alignright {
	position: absolute;
	right: 0px;
	top: 0px;
	width: 30%;
	display: inline-block;
	font-size: 10px;
	text-align: center;
}



.metaslider {
	position: relative;
	z-index: 0;
	max-width: initial !important;
}

.flexslider {
	border: 0px solid #fff !important;
}


.bg {
	width: 100%;
	height: 400px;
	overflow: hidden;
	margin-bottom: 100px;
}

.bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.header-section.categorylist .head-images,
.header-section.about .head-images,
.header-section.contact .head-images,
.header-section.gardenflow .head-images,
.header-section.single .head-images {
	height: 100%;
	width: 800px;
	margin: 0 auto 50px;
}

.header-section.categorylist img,
.header-section.about img,
.header-section.contact img,
.header-section.gardenflow img,
.header-section.single img {
	object-fit: cover;
	height: 330px;
	width: 100%;
}
.contents {
    padding-top: 100px;
}

.contents .single {
	width: 700px;
	margin: 0 auto 50px;
}

.contents .single img {
	margin-bottom: 20px;
	width: 100%;
	height: auto;
}

.contents .single h3 {
	margin-bottom: 60px;
	font-size: 14px;
	letter-spacing: 2px;
	text-align: left;
	color: #494848;
}

.contents .single .caption a {
	padding: 5px 10px;
	background-color: var(--color-text);
	font-size: 10px;
	color: #fff;
	font-weight: bold;
}

.contents .single .text {
	line-height: 1.8em;
	font-size: 12px;
	font-family: var(--font-main);
	color: var(--color-text);
	font-weight: normal;
}

.single p,
.single {
    line-height: 2.6em;
    font-size: 12px;
    font-family: var(--font-sub);
    color: var(--color-text);
    letter-spacing: 1px;
	font-weight: normal;
}

.contents .single .text iframe {
	width: 100%;
}

.contents .single .text p {
    line-height: 2.6em;
    font-size: 12px;
    font-family: var(--font-sub);
    color: var(--color-text);
    letter-spacing: 1px;
	font-weight: normal;
}


.category-list {
	margin-bottom: 50px;
	text-align: center;
}

.category-list span {
	border: 1px solid var(--color-gray);
	padding: 5px 15px;
	font-size: 12px;
	margin: 0px 5px;
}

.single .date {
	letter-spacing: 2px;
	margin-bottom: 0px;
	line-height: 1.0em;
	font-size: 10px;
}

.single p.location {
	letter-spacing: 3px;
	line-height: 1.0em;
	font-size: 10px;
}

.single p.location img {
	width: 7px;
	height: auto;
	object-fit: cover;
	margin-right: 5px;
	margin-top: 17px;
}

.pagination-single.clearfix {
	overflow: auto;
	width: 500px;
	margin: 50px auto 50px;
	line-height: 1.5em;
	font-size: 13px;
	position: relative;
}

.pagination-single:after,
.pagination-single:before {
	clear: both;
	display: block;
}

.pagination-single a {
	font-family: var(--font-main);
	color: var(--color-text);
	font-size: 20px;
	text-decoration: none;
	font-weight: 100;
	font-size: 11px;
	letter-spacing: 1px;
	padding: 10px 0px;
	display: inline-block;
}

.nav-next.alignright {
	float: right;
}

@media (max-width: 960px) {

	.header-section.categorylist .head-images,
	.header-section.about .head-images,
	.header-section.contact .head-images,
	.header-section.gardenflow .head-images,
	.header-section.single .head-images {
		width: auto;
	}


	.contents .single {
		width: auto;
		padding: 0px 20px;
	}

	.contents .single iframe {
		width: 100%;
	}

	.contents .single img {
		margin-bottom: 20px;
		width: 100%;
		height: auto;
	}

	.pagination-single.clearfix {
		width: auto;
	}
}

.page .frame {
	overflow: hidden;
	position: relative;
	top: 0px;
	height: 500px;
}


.page .blog {
	margin-top: 100px;
}

.page .works .layout_entry {
	width: 380px;
	height: 330px;
}

.page .works .layout_entry img {
	width: 400px;
	height: 200px;
	object-fit: cover;
	margin-bottom: 40px;
}


.contact-area {
	width: 490px;
	margin: 0 auto;
}

.contact-area label {
	display: block;
	font-size: 12px;
	line-height: 2.0em;
	color: var(--color-text);
}

.contact-area p {
	font-size: 12px;
	line-height: 2.0em;
}

@media (max-width: 600px) {

	.contact-area {
		width: auto;
		margin-left: 30px;
		margin-right: 30px;
	}
}

.pageclass_sub .mt100 {
	margin-top: 100px !important;
}

.pageclass_sub .mt130 {
	margin-top: 110px !important;
}

.pageclass_sub .mt100 {
	margin-top: 110px !important;
}

.caption2 {
	font-size: 12px;
	margin-top: -19px;
}

.title img {
	width: 130px;
}

.section.about2 {
	margin-bottom: 100px !important;
	width: 600px;
	margin: 0 auto;
}

ul.category-menu {
	width: 610px;
	margin: 0 auto 100px;
	padding: 0px;
}

.category-menu li {
	display: inline-block;
	width: 200px;
	text-align: center;
}

.category-menu li a {
	font-size: 10px;
	letter-spacing: 1px;
	color: var(--color-text) !important;
	font-weight: 100;
	border: 0px;
	text-decoration: none;
}

.section .category-title {
	margin-bottom: 20px;
	letter-spacing: 2px;
	font-size: 10px;
	color: var(--color-text);
	font-weight: bold;
	text-align: center;
}

@media screen and (max-width:960px) {
	ul.category-menu {
		width: auto;
	}

	.category-menu li {
		width: 100%;
	}

	.section.about,
	.section.about2,
	.section.event,
	.section.map {
		margin-left: 0px;
		margin-right: 0px;
		width: auto;
	}




	.layout_entry_wrapper {
		display: block;
		width: 100%;
	}

	.layout_entry img {
		width: 100%;
		object-fit: cover;
	}



}

.sns-message {
	margin-left: 30px;
	margin-right: 30px;
}

.wpcf7-list-item {
	display: block;
}

.slider video {
	width: 100%;
	object-fit: cover;
	height: 100%;
}





.top_artpiece ul li {
	width: 300px;
}

.top_artpiece ul {
	display: flex;
	flex-flow: column;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 960px;
	padding: 0px;
}

.top_artpiece ul li {
	width: 300px;
	list-style: none;
	margin: 0px 10px;
	margin-bottom: 50px;
}

.top_artpiece ul li img {
	width: 300px;
	height: 300px;
	object-fit: cover;
	margin-bottom: 20px;
}

.top_artpiece ul li p {
	text-align: center;
	font-size: 11px;
	letter-spacing: 2px;
}


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

	.top_artpiece ul {
		display: flex;
		flex-flow: column;
		justify-content: flex-start;
		flex-direction: row;
		flex-wrap: wrap;
		margin: 0 auto;
		width: 340px;
		padding: 0px;
	}

	.top_artpiece ul li {
		width: 150px;
		list-style: none;
		margin: 0px 10px;
		margin-bottom: 50px;
	}

	.top_artpiece ul li img {
		width: 150px;
		height: 150px;
		object-fit: cover;
		margin-bottom: 20px;
	}

}





















.top_blog ul li {
	width: 300px;
}

.top_blog ul {
	display: flex;
	flex-flow: column;
	justify-content: space-around;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 960px;
	padding: 0px;
}

.top_blog ul li {
	width: 300px;
	list-style: none;
	margin: 0px 10px;
	margin-bottom: 50px;
}

.top_blog ul li img {
	width: 100%;
	height: 270px;
	object-fit: cover;
	margin-bottom: 20px;
}

.top_blog ul li p.date {
	text-align: center;
	font-size: 10px;
	letter-spacing: 2px;
}

.top_blog ul li p {
	text-align: center;
	font-size: 11px;
	letter-spacing: 2px;
}


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

	.top_blog ul {
		display: flex;
		flex-flow: column;
		justify-content: flex-start;
		flex-direction: row;
		flex-wrap: wrap;
		margin: 0 auto;
		width: 340px;
		padding: 0px;
	}

	.top_blog ul li {
		width: 150px;
		list-style: none;
		margin: 0px 10px;
		margin-bottom: 50px;
	}

	.top_blog ul li img {
		width: 150px;
		height: auto;
		object-fit: cover;
		margin-bottom: 20px;
	}

}




.exhibition_box {
display: flex;
    flex-flow: column;
    justify-content: space-around;
    flex-direction: row;
    flex-wrap: wrap;
    width: 95%;
    padding: 0px;
    margin-bottom: 50px;
    margin-left: 10px;
}

.exhibition_box::after {
	content: "";
	display: block;
	width: 50%;
}

.exhibition_box .title-area {
	text-align: left !important;
	margin-bottom: 100px;
	font-size: 11px;
	margin-left: 0px;
}

ul.exhibition_box li.box1 {
	list-style: none;
	vertical-align: top;
	margin-bottom: 20px;
	width: 98% !important;
	margin: 0px;
	position: relative;
	margin-bottom: 0px !important;
}


ul.exhibition_box li {
	list-style: none;
	vertical-align: top;
	width: 48%;
	margin: 0px;
	margin-bottom: 0px;
	position: relative;
}

ul.exhibition_box li .texthead {
font-size: 13px;
    letter-spacing: 2px;
    display: block;
    width: 280px;
    position: absolute;
    top: 20px;
    left: 20px;
    color: #ffffff;
}

ul.exhibition_box li .text1 {
	font-size: 12px;
	letter-spacing: 2px;
	display: block;
	width: 280px;
}

ul.exhibition_box li .text2 {
	font-size: 10px;
	letter-spacing: 1px;
	margin-right: 30px;
	display: inline-block;
	width: 60px;
}

ul.exhibition_box li .text3 {
	font-size: 10px;
	letter-spacing: 1px;
	margin-right: 30px;
	display: inline-block;
	width: 200px;
	margin-bottom: 20px;
}

ul.exhibition_box li img.entry-image {
	width: 100%;
	height: 620px !important;
	object-fit: cover;
	margin-bottom: 20px;
}

ul.exhibition_box li.box1 img.entry-image {
	height: 270px;
}

ul.exhibition_box li .date {
	font-size: 10px;
	letter-spacing: 1px;
	display: inline-block;
	width: auto;
	position: relative;
	left: 0px;
}

ul.exhibition_box li .location {
	font-size: 10px;
	letter-spacing: 3px;
	display: inline-block;
	width: auto;
	position: absolute;
	right: 0px;
}

ul.exhibition_box li .location img {
	width: 7px;
	height: auto;
	object-fit: cover;
	margin-right: 5px;
	margin-top: -1px;
}

ul.exhibition_box li .blank {
	font-size: 10px;
	letter-spacing: 1px;
	display: block;
	text-align: right;
	padding-bottom: 10px;
}

.exhibition_box .btnlink {
	width: 100%;
	text-align: center;
	margin-bottom: 50px;
}

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

	.exhibition_box {
		width: auto;
        padding: 0px 30px 0px 0px;
        margin-bottom: 50px;
	}

	ul.exhibition_box li {
		list-style: none;
		position: relative;
		width: 100%;
		height: auto;
	}

	ul.exhibition_box li img.entry-image {
		width: 100%;
		height: auto !important;
		object-fit: cover;
		margin-bottom: 20px;
		aspect-ratio: 16/14;
	}

	ul.exhibition_box li.box1 img.entry-image {
        aspect-ratio: 1 / 1;
    }
	ul.exhibition_box li.box2 img.entry-image {
        aspect-ratio: 1 / 1;
    }
	ul.exhibition_box li.box3 img.entry-image {
        aspect-ratio: 1 / 1;
    }
}


.top_onlinestore {
	margin: 0 auto;
	background-color: #ffffff;
	padding-top: 100px;
	padding-bottom: 100px;
	position: relative;
	z-index: 3;
}

.top_onlinestore .title-area {
	text-align: center;
	margin-bottom: 50px;
	font-size: 11px;
	margin-left: 0px;
}

ul.onlinestore_box {

	width: 500px;
	margin: 0 auto;
	padding-left: 0px;
}

ul.onlinestore_box li {
	list-style: none;
	vertical-align: top;
	margin-bottom: 20px;
	width: auto;
	margin: 0px;
	position: relative;
	border-bottom: 1px dashed #555555;
	line-height: 3em;
}

ul.onlinestore_box li .text1 {
	font-size: 11px;
	letter-spacing: 2px;
	display: inline-block;
	text-align: left;
	width: 49%;
}

ul.onlinestore_box li .url {
	font-size: 10px;
	letter-spacing: 2px;
	display: inline-block;
	text-align: right;
	width: 49%;
}


.btnlink a {
	border: 1px solid #888888;
	padding: 10px 100px;
	display: inline-block;
	font-size: 11px;
	letter-spacing: 2px;
}

.head-images {
	margin: 0px 50px 100px;
}

.head-images video {
	height: 500px;
	width: 100%;
	object-fit: cover;
}





.text .sns-icon {
	overflow: auto;
	width: 300px;
	margin: 0 auto 50px;
}

.text .sns-icon a img {
	width: 40px;
	height: auto;
	margin-bottom: 30px;
}

.text .sns-icon .item {

	font-size: 11px;
	letter-spacing: 1px;
	color: #494848 !important;
	font-weight: 100;
	border: 0px;
	display: inline-block;
	text-align: center;
	width: 90px;
	margin-bottom: 20px;
	font-style: italic;
}

.text .sns-icon .item a {
	text-decoration: none;
}


p.onlinelink {
	width: 100%;
	border: 1px solid #aeaeae;
	padding: 20px 0px;
	text-align: center;
	background-color: #fff;
}


.blogphoto {
	width: auto;
	margin: 0px 20px 50px;
}

.blogphoto img {
	width: 100%;
}

.radio .more_link {
	border-bottom: 1px solid #888;
	display: inline-block;
	font-style: italic;
}

.radio ul li p.date {
	text-align: left;
	font-size: 10px;
	letter-spacing: 2px;
	margin-bottom: 5px;
}

.radio ul li p {
	text-align: left;
	font-size: 11px;
	letter-spacing: 2px;
	margin-bottom: 8px;
}


.flex-control-paging li a {
	width: 3px !important;
	height: 3px !important;
}

.flexslider.view_wide {
	width: 100% !important;
	right: 0px !important;
	height: auto !important;
	background: transparent !important;
	text-align: right;
}

.metaslider.metaslider-flex {
	width: 90% !important;
	display: inline-block;
}

.top_image_banner {
	margin-bottom: 100px;
}

.profilevideo {
	position: absolute;
	width: 100%;

	z-index: -1;
	top: 0px;
}

.profilevideo video {
	width: 100%;
}

.profile_triangle {
	height: 110px;
	width: 100%;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	background-color: var(--color-bg);
	position: relative;
	z-index: 2;
}

.profile-box {
	padding-top: 90px;
}

.profile-box .title-area {
	text-align: center;
	margin-left: 0px;
}

.flexwrap {
	display: flex;
	flex-flow: column;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	width: 620px;
	margin: 0 auto;
}

.flexwrap::after {
	content: "";
	display: block;
	width: 50%;
}

.flexcon {
	width: 50%;
	margin: 10px;
	text-align: center;
	margin: 0 auto 0px;
	padding-bottom: 60px;
	position: relative;
	height: auto;
}

.contents {

	background-color: var(--color-bg);
}

.flexcon img {
	width: 100%;
}

.flexcon .profile-text {
	font-size: 11px;
	line-height: 2.4em;
	text-align: left;
	margin-left: 30px;
	letter-spacing: 1px;
}

.flexcon .sns-linl {
	text-align: left;
	margin-left: 30px;
}

.flexcon .sns-linl a {
	padding-bottom: 2px;
	border-bottom: 1px solid var(--color-gray);
	font-size: 11px;
	line-height: 1.8em;
	text-align: left;
	letter-spacing: 1px;
	margin-right: 20px;
}

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

	.flexwrap {
		width: 100%;
	}

	.flexcon {
		width: 100%;
	}

	.flexcon {
		width: 100%;
		padding: 0px 30px;
		margin-bottom: 30px;
	}

	.flexcon .profile-text {
		margin-left: 0px;
	}

	.flexcon .sns-linl {
		margin-left: 0px;
	}

	.metaslider.metaslider-flex {
		width: 100% !important;
		display: inline-block;
		padding: 0px 20px;
	}


	.top_image_banner {
		margin-bottom: 100px;
	}

	ul.onlinestore_box {
		width: 100%;
		margin: 0 auto;
		padding: 0px 20px;
	}


	.profilevideo video {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.profilevideo {
		position: absolute;
		z-index: -1;
		top: 0px;
		height: 100%;
	}

}



.footer-logo img {
    width: 140px;
   margin-top: 30px;
}	 
.footer-flex {
  display: flex;
  flex-flow: row;
	padding-right: 70px;
    margin-right: 80px;
	background-color: #F7F7F7;
    padding-top: 100px;
    padding-bottom: 100px;
}

.footer-flex-item {
	flex: 1 1 auto;
	flex-shrink: 0; 
}
.footer-flex-item ul {
    margin-left: 0px;
    padding-left: 0px;
}
.footer-flex-item h3{
	text-align: left;
	font-size: 13px;
	font-weight: bold;
	font-family: var(--font-sub);
    margin-bottom: 40px;
    letter-spacing: 1px;	
	font-size: 16px;
}
.footer-flex-item h4{
	text-align: left;
	font-size: 13px;
	font-weight: bold;
	font-family: var(--font-sub);
    margin-bottom: 20px;
    letter-spacing: 1px;	
	font-size: 16px;
}

.footer-flex-item li{
    list-style: none;
    text-align: left;
	font-size: 13px;
	font-weight: bold;
	font-family: var(--font-sub);
    margin-bottom: 15px;
    letter-spacing: 1px;	
}
.footer-flex-item li:last-child{
    margin-bottom: 40px;
}
.footer-flex-item li a{
    text-align: left;
	font-size: 13px;
	font-weight: bold;
	font-family: var(--font-sub);
}
.footer-flex-item li a span{
	text-align: left;
    font-size: 9px;
    font-weight: 100;
    font-family: var(--font-sub);
    margin-left: 20px;
    position: relative;
    top: -2px;
    color: #888888;
}

.footer-flex-item.item1{
    width: 33%;
    margin-left: 20px;
}
.footer-flex-item.item1 li {
}
.footer-flex-item.item2{
	width: 33%;
    margin-left: 20px;
    border-left: 1px solid #888888;
    padding-left: 7%;
    padding-top: 40px;
}
.footer-flex-item.item2 li{
}
.footer-flex-item.item3{
    width: 23%;
    margin-left: 20px;
    padding-top: 40px;
}
.footer-flex-item.item3 li{
}
.footer-flex-item.item3 li a {
    font-size: 12px !important;
}
.footer-flex-item.item4{
  width: 500px;
	margin-top: 40px;
}
.footer-flex-item.item4 li{
}

.footer-flex-item .detail {
  margin: 0;
  border: none;
  border-radius: 6px;
  padding: 12px 0;
  width: 100%;
  font-size: 16px;
  text-align: center;
}
.footer-banner img {
    width: 100%;
}

@media screen and (max-width:1280px) {
.footer-flex-item.item1 {
    width: 16%;
    margin-left: 20px;
}
.footer-flex-item.item2{
	width: 22%;
}
.footer-flex-item.item2{
	width: 22%;
    padding-left: 5%;
}
.footer-flex-item.item3{
    width: 7%;
}
.footer-logo img {
    width: 120px;
    margin-top: 50px;
}

}

@media screen and (max-width:960px) {
    .footer-flex-item.item1 {
        width: 16%;
        margin-left: 0px;
        text-align: left;
    }
   .footer-flex-item.item2 {
        width: 22%;
        padding-left: 0px;
        margin-left: 30px;
		border-left: 0px solid #888888;
    }
	.footer-flex-item.item3 {
		width: 23%;
		margin-left: 30px;
		padding-top: 40px;
	}

	.footer-flex-item h3 {
		text-align: center;
	}
    .footer-logo img {
        width: 80px;
        margin-top: 50px;
        margin-left: 30px;
    }	
	.footer-flex {
		display:block;
		width: 100%;
		padding-right: 60px;
	}

	.footer-flex-item {
		width: 100%!important;
		margin-bottom: 50px;
	}
    .footer-flex-item h3 {
        text-align: left;
    }

}


.footerbg {
    padding-right: 60px;
}

.footerbg img {
    width: 100%;
    object-fit: cover;
    height: auto;
}

@media screen and (max-width:960px) {
	.footerbg img {
		width: 100%;
		object-fit: cover;
		height: 250px;
	}
}



.sublogotitle {
    text-align: center;
	margin-bottom: 50px;
}

.sublogotitle img {
    width: 50px;
    height: auto;
    margin-bottom: 30px;
}

.sublogotitle p {
    font-size: 11px;
    letter-spacing: 3px;
}

.subheadimage {
}

.buttonset {
    width: 500px;
    margin: 0 auto;
    text-align: center;
    height: 23px;
    margin-bottom: 100px;
}
span.inner {
    width: 5%;
    display: inline-block;
}
a.framebutton {
	border: 1px solid #888888;
    padding: 10px 50px;
    display: inline;
}

a.framebutton img {
    width: 11px;
    position: relative;
    top: -2px;
    margin-right: 10px;
}

.subheadimage video {
    width: 500px;
    height: auto;
    margin-bottom: 50px;
    object-fit: cover;
	display: block;
    margin: 0 auto 50px;
}

.middlebg{
	margin-bottom: 100px;
}

.middlebg img {
    width: 100%;
    object-fit: cover;
    height: 300px;
}

.frame-wrap {
    width: 600px;
    margin: 0 auto;
	margin-bottom: 100px;
}

.frame-wrap .frame-h {
    font-size: 15px;
    font-family: var(--font-main);
    margin-bottom: 20px;
    font-weight: 100;
    letter-spacing: 2px;
}

.frame-wrap .frame-p {
    font-size: 12px;
    font-family: var(--font-sub);
    margin-bottom: 20px;
	line-height: 2.0em;
    letter-spacing: 1px;	
}

.subpage-creator {
    width: 600px;
    margin: 0 auto 100px;
}
.subpage-creator img {
    width: 100%;
}
.creatortitle {
    font-size: 13px;
    letter-spacing: 3px;
	font-family: var(--font-main);
	margin-bottom: 100px;
	text-align: center;
}
@media screen and (max-width:960px) {
	a.framebutton {
		font-size: 10px;
	}
	.subpage-creator {
		width: auto;
	}
	.buttonset {
    	width: auto;
	}

	.subheadimage video {
		width: 100%;
	}

	a.framebutton {
		padding: 10px 7%;
	}

	.frame-wrap {
		width: auto;
	}

	.subpage-temlate {
		padding: 0px 20px;
		padding-right: 20px;
	}

}


.case-2popup {
	display: flex;
	margin-bottom: 100px;
}
.case-2popup .unit{
	width: 50%;
}
.case-2popup a {
    display: inline-block;
}
.case-2popup .unit img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.case-2popup a p {
    text-align: center;
    margin: 30px 0px;
	letter-spacing: 3px;
    font-size: 11px;	
}

.case-3popup {
	display: flex;
	margin-bottom: 50px;
}
.case-3popup a {
    display: inline-block;
}
.case-3popup .unit{
	width: 33%;
}
.case-3popup .unit img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.case-3popup a p {
    text-align: center;
    margin: 30px 0px;
	letter-spacing: 3px;
    font-size: 11px;	
}

section.button-area {
	text-align: right;
    padding-right: 50px;
    margin-bottom: 150px;
}

section.button-area .btn {
    border: 1px solid #777777;
    padding: 14px 80px;
    letter-spacing: 3px;
    font-size: 10px;
    color: #777777;
}



@media screen and (max-width:960px) {
	section.button-area {
		padding-right: 0px;
		text-align: center;
	}
}
