body div,body span,body object,body iframe,body h1,body h2,body h3,body h4,body h5,body h6,body p,body blockquote,body pre,body abbr,body address,body cite,body code,body del,body dfn,body em,body img,body ins,body kbd,body q,body samp,body small,body strong,body sub,body sup,body var,body b,body i,body dl,body dt,body dd,body ol,body ul,body li,body fieldset,body form,body label,body legend,body table,body caption,body tbody,body tfoot,body thead,body tr,body th,body td,body article,body aside,body canvas,body details,body figcaption,body figure,body footer,body header,body hgroup,body menu,body nav,body section,body summary,body time,body mark,body audio,body video{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent;font-weight:normal;}
body article,body aside,body details,body figcaption,body figure,body footer,body header,body hgroup,body menu,body nav,body section{display:block;}
body nav,body ul{list-style:none;}
body blockquote,body q{quotes:none;}
body blockquote:before,body blockquote:after,body q:before,body q:after{content:'';content:none;}
body a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
body ins{background-color:#ff9;color:#000;text-decoration:none;}
body mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold;}
body del{text-decoration:line-through;}
body abbr[title],body dfn[title]{border-bottom:1px dotted;cursor:help;}
body table{border-collapse:collapse;border-spacing:0;}
body hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
body input,body select{vertical-align:middle;}
body img{vertical-align:bottom;max-width:100%;}
body a,body img a{-moz-transition-property:width,opacity,transform,background,border,color;-webkit-transition-property:width,opacity,transform,background,border,color;-o-transition-property:width,opacity,transform,background,border,color;-ms-transition-property:width,opacity,transform,background,border,color;transition-property:width,opacity,transform,background,border,color;
-moz-transition-duration:0.5s;-webkit-transition-duration:0.5s;-o-transition-duration:0.5s;-ms-transition-duration:0.5s;transition-duration:0.5s;}
body a,body span{ color:inherit; font-size:inherit; font-weight:inherit;}
body *{ box-sizing:border-box;}
body{-webkit-font-smoothing: antialiased;-webkit-font-smoothing: subpixel-antialiased;-moz-osx-font-smoothing: unset;-moz-osx-font-smoothing: grayscale; box-sizing:border-box;}
body{  font-family: "Noto Sans JP", sans-serif; margin:auto; padding:0; line-height: 1.8;}

@media all and (max-width: 768px) {
	.pc{ display:none;}
	body{ font-size:3.2vw;}
}
@media all and (min-width: 769px) {
	.spi{ display:none;}
	body{ font-size:1.5625vw;}
}
@media all and (min-width: 1281px) {
	body{ font-size:20px;}
}


@font-face {font-family: 'Noto Sans JP';font-weight: 700;
src: local("Noto Sans JP Bold"),
		url("../font/NotoSansJP-Bold.woff2") format('woff2'),
		url("../font/NotoSansJP-Bold.woff") format('woff'),
		url("../font/NotoSansJP-Bold.otf") format('opentype')}

@font-face {font-family: 'Noto Sans JP';font-weight: 600;
src: local("Noto Sans JP Medium"),
		url("../font/NotoSansJP-Medium.woff2") format('woff2'),
		url("../font/NotoSansJP-Medium.woff") format('woff'),
		url("../font/NotoSansJP-Medium.otf") format('opentype')}

@font-face {font-family: 'Noto Sans JP';font-weight: 400;
src: local("Noto Sans JP Regular"),
		url("../font/NotoSansJP-Regular.woff2") format('woff2'),
		url("../font/NotoSansJP-Regular.woff") format('woff'),
		url("../font/NotoSansJP-Regular.otf") format('opentype')}

@font-face {font-family: 'Noto Sans JP';font-weight: 300;
src: local("Noto Sans JP Light"),
		url("../font/NotoSansJP-Light.woff2") format('woff2'),
		url("../font/NotoSansJP-Light.woff") format('woff'),
		url("../font/NotoSansJP-Light.otf") format('opentype')}


#main .flex_wrap{display:flex;justify-content:space-between;align-items:center;}

#main #single_wrap,
#main #taxonomy_wrap{ background: #DDD;}
#main.bukyoku #single_wrap,
#main.bukyoku #taxonomy_wrap{ background: #b4e9e4;}
#main.shop #single_wrap,
#main.shop #taxonomy_wrap{ background: #e7ff9b;}
#main.kikaku #single_wrap,
#main.kikaku #taxonomy_wrap{ background: #ecdfb6;}


/**/
#header .footbtn{ display: none !important;}
#map{ display: none;}
/**/


#main{ position: relative;}
#breadcrumb{position: absolute;left: 1em;top: 1em;font-size: 12px;}
#breadcrumb ul{ text-shadow: 1px 1px 0 rgba(255,255,255,0.50),-1px 1px 0 rgba(255,255,255,0.50),1px -1px 0 rgba(255,255,255,0.50),-1px -1px 0 rgba(255,255,255,0.50),0  1px 0 rgba(255,255,255,0.50),1px  0 0 rgba(255,255,255,0.50),0 -1px 0 rgba(255,255,255,0.50),-1px  0 0 rgba(255,255,255,0.50);}
#breadcrumb ul li{ display: inline-block;}
#breadcrumb ul li:first-of-type{ display: none;}
#breadcrumb ul a{ text-decoration: none;}
#breadcrumb ul > *{  font-weight: 600; display: inline-block;}
#breadcrumb ul br{ display: none;}
#breadcrumb ul > *::after{ content: ">"; display: inline-block; margin:0 0.5em; opacity: 0.5;}
#breadcrumb ul > *:last-child:after{ display: none;}

/******************************
	モーダル用ここから
******************************/
body.modal_on{overflow:hidden;}
#main [modal_data]{ cursor: pointer;}
#modal_data.modal_base{ position:fixed; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,0.30); font-size:1em; line-height:1.8; z-index:99;overflow: auto;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
transition-property : opacity;
transition-duration : 0.4s;
visibility: hidden;
opacity: 0;
}
#modal_data.modal_base::before,
#modal_data.modal_base::after{ content:""; width:100%; height:50px;}
#modal_data.modal_base .modal_wrap{ position:relative; margin:auto; max-width:94%; padding: 0.5em; background: #FFF;}
#modal_data.modal_base .modal_wrap .modal_close{  position: absolute;right: -1em;top: -1em;width: 2em;box-shadow: 0 0 0.2em 0;border-radius: 50%;background: #888;}
/******************************
	モーダル用ここまで
******************************/




#header{ position: relative;max-width: 1280px; width: 100%; margin: auto; display:flex; justify-content:space-between; align-items:center; background: #FFF; z-index: 10;}

#header .head_wrap{width: 100%; position: fixed; left: 0; top:0; background: #FFF; z-index: 10; transform: translateY(-100%);transition-property :opacity, transform;transition-duration : 0.4s;}
.scroll_on #header .head_wrap,
.header_on #header .head_wrap{transform: translateY(0%); box-shadow: 0 0 0.25em 0 rgba(0,0,0,0.3);}


#header .head_wrap .cont_wrap{max-width: 1280px; width: 100%; margin: auto;  background: #FFF;display:flex; justify-content:space-between; align-items:center; padding: 0.25em 2em 0 0em;width: 100%; z-index: 10; position: relative;}

#header .head_wrap .logo_wrap{ display:flex; justify-content:flex-start; align-items:center; z-index: 10; flex: 1;}
#header .head_wrap .logo_wrap .logo{}
#header .head_wrap .logo_wrap .logo1{ max-width: 268px; width: 8em; min-width: 160px;}
#header .head_wrap .logo_wrap .logo2{ max-width: 492px; width: 16em; min-width: 300px;}


#header .head_wrap .hamburger{ width: 4em; height: 4em; position: relative; margin-left: 1em;; z-index: 10; max-width: 80px; max-height: 80px;}
#header .head_wrap .hamburger .bar{ position: absolute; left: 0; right: 0; margin: auto; width: 80%; height: 2px; background: #777;transition-property : top,transform;transition-duration : 0.2s;transition-timing-function : linear;}
#header .head_wrap .hamburger .bar1{ top: 28%;}
#header .head_wrap .hamburger .bar2{ top: 49%;}
#header .head_wrap .hamburger .bar3{ top: 70%;}

.header_on #header .head_wrap .hamburger .bar{ top: 49%;}
.header_on #header .head_wrap .hamburger .bar1,
.header_on #header .head_wrap .hamburger .bar3{ transform: rotate(135deg);}
.header_on #header .head_wrap .hamburger .bar2{ transform: rotate(-135deg);}

 #header .head_wrap .change_day{ position: absolute; right: 1em; top: 100%; max-width: 204px; width: 16%; transform-origin: top right; transform: translateY(-100%) rotate(45deg); transition-property :opacity, transform;transition-duration : 0.4s;transition-delay : 0.4s;}
 #header .head_wrap .change_day .img{}
 #header .head_wrap .change_day .text{ position: absolute; left: 0; bottom: 0.7em; right: 0; text-align: center; font-size: 1em; font-weight: bold; position: absolute;}
 #header .head_wrap .change_day .text .day{ font-size: 1.7em;;}
.sidebar_on #header .head_wrap .change_day{transform: translateY(0%) rotate(0deg);}


body.header_on{overflow:hidden;}
#header .nav_wrap{ position:fixed; width:100%; height:100%; top:0; left:0; background:rgba(255,255,255,0.90); font-size:1em; line-height:1.8; z-index:9;overflow: auto;
display:flex;justify-content:center;align-items:center;flex-wrap:wrap; padding: 0 1em;; font-size: 20px;
transition-property : opacity;transition-duration : 0.4s;
visibility: hidden;opacity: 0;}
#header .nav_wrap::before,
#header .nav_wrap::after{ content:""; width:100%; height:120px;}

#header .nav_wrap .ul_wrap1{ margin: 0 5em 0 0;}
#header .nav_wrap .ul_wrap ul{ margin-bottom: 2em;;}
#header .nav_wrap .ul_wrap ul.home{ margin-bottom: 0.25em;}
#header .nav_wrap .ul_wrap ul.access{ margin-top: 1.0em;}
#header .nav_wrap .ul_wrap li{}
#header .nav_wrap .ul_wrap li.oya{ margin-bottom: 0.2em;;}
#header .nav_wrap .ul_wrap li.ko{ margin-left: 1em;}
#header .nav_wrap .ul_wrap li a{ text-decoration: none; position: relative;}
#header .nav_wrap .ul_wrap li a::after{ content: ""; position: absolute; left: 0; bottom: 0; width: 0%; height: 1px; background: #000;transition-property : width;transition-duration : 0.4s;}
#header .nav_wrap .ul_wrap li a:hover::after{ width: 100%;}


#header .sidebar{ position: fixed; right: 0; bottom: 35%; overflow: hidden; width: 8em; font-size: 1em;}
#header .sidebar .link{ margin-bottom: 0.5em; position: relative; left: 100%; line-height: 1; 
transition-property : left;transition-duration : 0.4s;}
#header .sidebar .link a{text-decoration: none; display: block; background: #000; color: #FFF; padding: 0.75em 0 0.75em 1.25em; border-radius: 1em 0 0 1em; font-weight: bold; letter-spacing: 0.1em;}
#header .sidebar .link1{ transition-delay : 0s;}
#header .sidebar .link2{ transition-delay : 0.2s;}
#header .sidebar .link3{ transition-delay : 0.4s;}

.sidebar_on #header .sidebar .link{ left: 0;}


#header .footbtn{ position: fixed; right: 0.5em; bottom: 1em; max-width: 166px; width: 9em; opacity: 0; visibility: hidden; transform: translateY(10%);
transition-property :opacity, transform;transition-duration : 0.4s;}
#header .footbtn a{ display: block; position: relative;}
#header .footbtn a .bg{ position: absolute; z-index: 2; left: 0; top: 0; transform: rotateZ(0deg); animation: rotor360 20s infinite linear;}
#header .footbtn a .text{ position: relative; z-index: 3;}

.sidebar_on #header .footbtn{ opacity: 1; visibility: visible; transform: translateY(0px);}
@keyframes rotor360 { 0% {transform:rotateZ(0deg);} 100% {transform:rotateZ(360deg);}}



h2.co_ttl{ text-align: center; margin: 3em auto 2em;}
h2.co_ttl .text1{ font-size: 0.6em; font-weight: bold; line-height: 1;}
h2.co_ttl .text2{ font-size: 1.5em; font-weight: bold; line-height: 1; margin-top: 0.5em;}
.co_wrap{ width: 80.5%; max-width: 1030px; margin: auto;}







@media all and (max-width: 768px) {


h2.co_ttl{ margin: 3em auto 1.5em;}
h2.co_ttl .text1{ font-size: 1em;}
h2.co_ttl .text2{ font-size: 1.4em; margin-top: 0.4em;}
.co_wrap{ width: 94%; margin: auto;}



#header{max-width: 768px; }


#header .head_wrap .cont_wrap{max-width: 768px;}

#header .head_wrap .logo_wrap{ padding: 5px 0;}
#header .head_wrap .logo_wrap .logo1{ max-width: 268px; width: 3.0em; margin: 0 0.5em 0 0; min-width: 50px;}
#header .head_wrap .logo_wrap .logo2{ max-width: 492px; width: 4.0em; min-width: 65px;}




#header .head_wrap .cont_wrap{ padding:0.2em 0; width: 94%;}
#header .head_wrap .hamburger{ width: 4em; height: 4em; min-width: 50px; min-height: 50px;}
#header .head_wrap .hamburger .bar{ width:80%;}


 #header .head_wrap .change_day{ width: 6.5em; font-size: 1.4em;}
 #header .head_wrap .change_day .text{font-size: 0.75em; bottom: 0.5em;}
 #header .head_wrap .change_day .text .day{ font-size: 1.5em;;}

#header .nav_wrap{  font-size: 16px;}
#header .nav_wrap::after{ height:5em;}
#header .nav_wrap .ul_wrap1{ margin: 0;}
#header .nav_wrap .ul_wrap ul{ margin-bottom: 1em;;}
#header .nav_wrap .ul_wrap ul.access{ margin-top: 0em;}


#header .sidebar{ position: fixed; right: 0; left: 0; bottom: 0%; margin: auto; overflow: hidden; width: 100%; font-size: 1.2em;display:flex;justify-content:center;align-items:center;}
#header .sidebar .link{ margin-bottom: 0em;  left: 0%; top: 0; line-height: 1; width: 7.4em; transform: translateY(100%);
transition-property : transform;transition-duration : 0.4s;}
#header .sidebar .link a{ padding:0.75em 0; border-radius: 1em 1em 0 0; text-align: center; letter-spacing: 0.1em;}
#header .sidebar .link1{ transition-delay : 0s;}
#header .sidebar .link2{ transition-delay : 0s; margin: 0 0.5em;}
#header .sidebar .link3{ transition-delay : 0s;}
.sidebar_on #header .sidebar .link{ transform: translateY(0%);}


#header .footbtn{  right: 0.5em; bottom: 4em; max-width: 166px; width: 7.5em; }

}









#footer{ padding: 3em 0 2em; background: #f2f2f2;}
#footer .nav_wrap{text-align: center;}
#footer .nav_wrap ul{ margin: 0 0 1em; font-size: 0.9em;;}
#footer .nav_wrap ul.link1{}
#footer .nav_wrap ul.link2{}
#footer .nav_wrap ul li{ display: inline-block;}
#footer .nav_wrap ul li::after{ content: "｜";  display: inline-block; margin: 0 0.5em;;}
#footer .nav_wrap ul li:last-of-type::after{ display: none;}
#footer .nav_wrap ul li a{ text-decoration: none;}
#footer .nav_wrap ul li.spi{ display: none;}

#footer .foot_wrap{ width: 90%; max-width: 1152px; margin: 4em auto 0;  font-size: 10px;;}
#footer .foot_wrap .flex_wrap{display:flex;justify-content:center;align-items:flex-start;}
#footer .foot_wrap .logo1{ margin-right: 1em; width: 70px;}
#footer .foot_wrap .logo2{ margin-right: 3em; width: 100px;}
#footer .foot_wrap .text1{ margin-right: 2em;}
#footer .foot_wrap .text2{ margin-right: 4em;}
#footer .foot_wrap .copy{ text-align: center; margin-top: 9em;}




@media all and (max-width: 768px) {



#footer{ padding: 2em 0 5em;}
#footer .nav_wrap{display:flex;justify-content:center;align-items:flex-start; width: 90%; margin: auto;}
#footer .nav_wrap ul{ margin: 0 0 1em; font-size: 1.1em; text-align: left; font-size: 1.2em;}
#footer .nav_wrap ul.link1{ margin-right: 2em;}
#footer .nav_wrap ul.link2{}
#footer .nav_wrap ul li{ display: block; margin-bottom: 0.75em; line-height: 1.3;}
#footer .nav_wrap ul li{}
#footer .nav_wrap ul li::after{display: none;}
#footer .nav_wrap ul li.pc{ display: none;}
#footer .nav_wrap ul li.spi{ display: block;}

#footer .foot_wrap{ width: 90%; max-width: 1152px; margin: 4em auto 0;  font-size: 10px;;}
#footer .foot_wrap .flex_wrap{display:block; text-align: center; font-size: 1.2em;}
#footer .foot_wrap .logo1{ margin-right: 1em; width: 70px; display: inline-block;}
#footer .foot_wrap .logo2{ margin-right: 0; width: 100px; display: inline-block;}
#footer .foot_wrap .text1{ margin:1.5em 0;}
#footer .foot_wrap .text2{ margin:1.5em 0;}
#footer .foot_wrap .copy{ margin-top: 2em; text-align: center;}

}





/*

display:flex;justify-content:center;align-items:center;
flex-wrap:wrap;



transition-property : width;
transition-duration : 1s;
transition-timing-function : linear;
transition-delay : 1s;


transform: translateY(-50%); 
*/
