@charset "utf-8";

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,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
	-webkit-text-size-adjust: none;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

mark {
	background-color: transparent;
	color: inherit;
}

/* Basic */
	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body {
		font-size: 86%;
		line-height: 1.5em;
		font-family: 'Noto Serif JP', serif;
		padding:0 15px;
		color:#3f352e;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

	h1, h2, h3, h4, h5, h6 {
		font-weight: 300;
		line-height: 1.5em;
	}

	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
		color: inherit;
		text-decoration: none;
	}

	h2 {
		font-size: 2em;
		letter-spacing: -1px;
	}

	h3 {
		font-size: 1.5em;
	}

	header {
		margin: 0 0 2em 0;
	}

	footer {
		margin: 2em 0 0 0;
	}

	strong, b {
		font-weight: 300;
	}

	em, i {
		font-style: italic;
	}

	a {
		text-decoration: none;
		color: inherit;
		border-bottom: dotted 1px rgba(128, 128, 128, 0.5);
		-moz-transition: color 0.35s ease-in-out, border-bottom-color 0.35s ease-in-out;
		-webkit-transition: color 0.35s ease-in-out, border-bottom-color 0.35s ease-in-out;
		-ms-transition: color 0.35s ease-in-out, border-bottom-color 0.35s ease-in-out;
		transition: color 0.35s ease-in-out, border-bottom-color 0.35s ease-in-out;
		outline: 0;
	}

		a:hover {
			color: #666;
			border-bottom-color: rgba(255, 255, 255, 0);
		}

	sub {
		position: relative;
		top: 0.5em;
		font-size: 0.8em;
	}

	sup {
		position: relative;
		top: -0.5em;
		font-size: 0.8em;
	}

	hr {
		border: 0;
		border-top: solid 1px #ddd;
	}

	blockquote {
		border-left: solid 0.5em #ddd;
		padding: 1em 0 1em 2em;
		font-style: italic;
	}

	br.clear {
		clear: both;
	}
	
	.text_en {
		font-family: 'Quattrocento', serif;
	}
	
	.inner {
		margin: 0 auto;
		max-width: 100%;
		width: 1000px;
	}
	
.clearfix:before,
.clearfix:after {
    content:"";
    display:table;
}
.clearfix:after {
    clear:both;
}
.clearfix {
    zoom:1;
}
section {
	clear:both;
}
.textr {
	text-align:right;
}
.textl {
	text-align:left;
}
.textc {
	text-align:center;
}
.imgr {
	float:right;
}
.imgl {
	float:left;
}
.col_thin {
	color:#ccc;
	line-height:1.1;
}
.col_red {
	color:#c00;
}

/* アニメ */
.sa {
  opacity: 0;
  transition: all .5s ease;
}
.sa.show {
  opacity: 1;
  transform: none;
}
.sa--lr {
  	transform: translate(-20px, 0);
    transition : all 1000ms;
}
.sa--rl {
  transform: translate(100px, 0);
}
.sa--up {
  transform: translate(0, 100px);
}
.sa--down {
  	transform: translate(0, -20px);
    transition : all 1000ms;
}
.sa--scaleUp {
  transform: scale(.5);
}
.sa--scaleDown {
  transform: scale(1.5);
}
.sa--rotateL {
  transform: rotate(180deg);
}
.sa--rotateR {
  transform: rotate(-180deg);
}
.fadein {
    opacity : 0.01;
    transition : all 1500ms;
}
.fadein2 {
    opacity : 0;
    transition : all 10000ms;
}

body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
	background:url(../../img/bg.png) no-repeat left bottom;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@media screen and (max-width: 1000px) {
	body {
		background-size:70%;
	}
}
@media screen and (max-width: 650px) {
	body {
		background:none;
	}
}

	
/* # =================================================================
   # header
   # ================================================================= */
#header div {
	padding-top:40px;
	position:relative;
}

#header div p {
	text-align:center;
	position:absolute;
	top: 150px;
	left: 0;
	right: 0;
	bottom: 0;
	margin:auto;
	z-index:100;
	width:230px;
	height:107px;
}
#header div p a {
	border-bottom:none;
	display:block;
}

#header ul {
	text-align:right;
 	width: 12rem;
	float:right;
}
#header ul li {
	line-height:1.7;
	padding-bottom:5px;
}
#header ul li a {
	border-bottom:none;
  	transition: all .5s ease;
	position: relative;
	text-decoration: none;
}
#header ul li a::after {
	border-bottom: solid 1px #666;
	bottom: -2px;
	content: "";
	display: block;
	position: absolute;
	right: 0;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
	width: 0;
}
#header ul li a:hover::after {
	width: 100%;
}

#header ul li ul li a {
	transition: .5s;
}
#header ul li ul li a::after {
	border-bottom: none;
}

/* スマホmenu */
.drawer-toggle {
	display:none;
}

/* 吹き出し */
.outjump a {
	display: block;
	position: relative;
}

.outjump a span {
  position: absolute;
  filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);
  opacity: 0;
  top: -20px;
  left:10%;
  width:110px;
  padding: 10px;
  border-radius:4px;
  background:#ccc;
  color: #fff;
  font-size:13px;
  line-height: 1;
  transition: .3s;
}
.outjump a span:after {
  position: absolute;
  filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);
  top: 100%;
  left:80px;
  height: 0;
  width: 0;
  border: 6px solid transparent;
  border-top: 6px solid #ccc;
  content: "";
}
.outjump a:hover span {
  opacity: 1;
  top: -50px;
}


/* # =================================================================
   # main
   # ================================================================= */
#content_header {
	margin-bottom:50px;
	align-items: baseline;
	display:flex;
}

.ks {
	margin-top:50px;
}

.ks h1 {
	font-size:30px;
	font-family: 'Quattrocento', serif;

  position: relative;
  width: 5em;
  padding: 15px 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom:5px;
}
.ks h1::before,
.ks h1::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.ks h1::before {
  top: 0;
  left: 0;
  border-top: 1px solid #3f352e;
  border-left: 1px solid #3f352e;
}
.ks h1::after {
  bottom: 0;
  right: 0;
  border-bottom: 1px solid #3f352e;
  border-right: 1px solid #3f352e;
}

.ks h2 {
	font-size:24px;
	margin-bottom:35px;
	font-family: 'Quattrocento', serif;
}

#bread {
	display:flex;
	margin-bottom:35px;
	color:#999;
	font-size:12px;
	font-family: 'Quattrocento', serif;
	
	margin:0 0 0 25px;
}
#bread li:after {
	content:" > ";
	margin:0 7px;
	font-size:10px;
}
#bread li:last-child:after {
	content:"";
	margin:0;
}

#privacy {
	background-color:#fafafa;
	border-radius:12px;
	margin:50px auto;
	padding:25px;
	color:#666;
}

#privacy dl dt {
	margin-top:30px;
	margin-bottom:10px;
	padding:3px;
	border-bottom:dotted 1px #ccc;
}
   

/* # =================================================================
   # footer
   # ================================================================= */
#footer {
	display:flex;
	margin-top:50px;
	justify-content: space-between;
}
#footer a {
	border-bottom:none;
}

#footer dl {
	margin-right:120px;
}

#footer dl dt {
	font-size:42px;
}
#footer dl dt span {
	font-size:15px;
	margin-left:0.5em;
}

#footer dl dd {
	font-size:15px;
	margin-top:3px;
}

#footer dl dd span {
	font-size:22px;
	margin-left:0.25em;
	letter-spacing: -1px;
}

#footer dl dt span,
#footer dl dd span {
	white-space:nowrap;
}

#footer ul {
	display:flex;
	flex-wrap:wrap;
}

#footer dd ul li {
	margin-left:15px;
}

#footer nav>ul li {
	margin-right:35px;
	margin-top:10px;
}
#footer dd ul li:first-child {
	margin-left:0;
}
#footer nav>ul li:last-child {
	margin-right:0;
}
#footer nav>ul li a:hover {
	border-bottom: dotted 1px rgba(128, 128, 128, 0.5);
}
   
#copy {
	text-align:right;
	font-size:12px;
	color:#ccc;
}
.box1 ul {
    font-size: 30px;
}

/* # =================================================================
   # レスポンシブ
   # ================================================================= */
@media screen and (max-width: 800px) {
.inner {
	width:98%;
	padding: 0 15px 0 15px;
}
h2 {
	font-size: 1.5em;
	letter-spacing: 0;
	font-weight: 300;
}
#footer dl dt span {
	display:block;
	margin-left:0;
	margin-top:7px;
}
}

@media screen and (max-width: 650px) {
.sa--lr {
    transition : all 300ms;
}
.sa--down {
    transition : all 300ms;
}
.fadein {
    transition : all 300ms;
}
.fadein2 {
    transition : all 300ms;
}

#header {
	padding-bottom:100px;
}

#header div p {
	top: 100px;
}

/* スマホmenu */
#header ul>li {
    padding-right: 25px;
    padding-top: 25px;
}
#header ul li a::after {
	border-bottom: none;
}

.drawer-open {
  overflow: hidden !important;
}
.drawer-nav {
  position: fixed;
  z-index: 101;
  top: 0;
  overflow: hidden;
  width: 16.25rem;
  height: 100%;
  background-color: #fff;
}
.drawer-brand {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 3.75rem;
  display: block;
  padding:15px;
  text-decoration: none;
}
.drawer-menu-item {
  display: block;
  text-decoration: none;
}

.drawer-overlay {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
}
.drawer-open .drawer-overlay {
  display: block;
}

.drawer--top .drawer-nav {
  top: -100%;
  left: 0;
  width: 100%;
  height: auto;
  max-height: 100%;
  -webkit-transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: top .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.drawer--top.drawer-open .drawer-nav {
  top: 0;
}
.drawer--top .drawer-hamburger,
.drawer--top.drawer-open .drawer-hamburger {
  right: 0;
}

.drawer--right .drawer-nav {
  right: -16.25rem;
  -webkit-transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.drawer--right.drawer-open .drawer-nav,
.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  right:0;
}

.drawer--right.drawer-open .drawer-hamburger {
  right: 16.25rem;
}

.drawer-hamburger {
  position: fixed;
  z-index: 104;
  top: 0;
  display: block;
  box-sizing: content-box;
  width: 2rem;
  padding: 0;
  padding-top: 18px;
  padding-right: .75rem;
  padding-bottom: 30px;
  padding-left: .75rem;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border: 0;
  outline: 0;
  background-color: transparent;
}

.drawer-hamburger:hover {
  cursor: pointer;
  background-color: transparent;
}

.drawer-hamburger-icon {
  position: relative;
  display: block;
  margin-top: 10px;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  width: 100%;
  height: 1px;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  background-color: #999;
}

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  position: absolute;
  top: -10px;
  left: 0;
  content: ' ';
}

.drawer-hamburger-icon:after {
  top: 10px;
}

.drawer-open .drawer-hamburger-icon {
  background-color: transparent;
}

.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
  top: 0;
}

.drawer-open .drawer-hamburger-icon:before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.drawer-open .drawer-hamburger-icon:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  overflow: visible;
  clip: auto;
  width: auto;
  height: auto;
  margin: 0;
}

.drawer--sidebar {
  background-color: #fff;
}
.drawer--sidebar .drawer-contents {
  background-color: #fff;
}

.drawer--navbarTopGutter {
  padding-top: 3.75rem;
}

.drawer-navbar .drawer-navbar-header {
  border-bottom: 1px solid #ddd;
  background-color: #fff;
}

.drawer-navbar {
  z-index: 102;
  top: 0;
  width: 100%;
}

.drawer-navbar--fixed {
  position: fixed;
}

.drawer-navbar-header {
  position: relative;
  z-index: 102;
  box-sizing: border-box;
  width: 100%;
  height: 3.75rem;
  padding: 0 .75rem;
  text-align: center;
}

.drawer-navbar .drawer-brand {
  line-height: 3.75rem;
  display: inline-block;
  padding-top: 0;
  padding-bottom: 0;
  text-decoration: none;
}

.drawer-navbar .drawer-brand:hover {
  background-color: transparent;
}

.drawer-navbar .drawer-nav {
  padding-top: 3.75rem;
}

.drawer-navbar .drawer-menu {
  padding-bottom: 7.5rem;
}

.drawer-dropdown.open > .drawer-dropdown-menu {
  display: block;
}

.drawer-dropdown .drawer-caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 4px;
  -webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
  transition: opacity .2s ease, -webkit-transform .2s ease;
  transition: transform .2s ease, opacity .2s ease;
  transition: transform .2s ease, opacity .2s ease, -webkit-transform .2s ease;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.drawer-dropdown.open .drawer-caret {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.drawer-container {
  margin-right: auto;
  margin-left: auto;
}

#header ul li ul li {
    padding-right: 0;
	padding-top:10px;
}
#header ul li ul li a {
	color:#86B404;
}
#header ul li ul li a:hover {
	color:#A5DF00;
}

}

@media screen and (max-width: 550px) {
#content_header {
	display:block;
}
#bread {
	margin: 0 0 0 0;
}
#footer {
	justify-content: space-between;
}
#footer nav>ul li {
	margin-right:0;
	width:100%;
}
}

@media screen and (max-width: 480px) {
#header div p img {
	width:85%;
	height:auto;
}

#footer dl {
	margin-right:40px;
}
#footer dl dd span {
	font-size:18px;
}
}


@media screen and (min-width: 651px) and (max-width: 2000px) {
#header nav ul li {
	position:relative;
}
#header nav ul li ul {
	  position: absolute;
	  z-index: 9999;
	  top: 0;
	  right: 65px;
	  margin: 0;
	  padding: 0;
	  background-color:#fff;
	  visibility: hidden;
	  opacity: 0;
	  transition: 0s;
}
#header nav ul li ul li {
	  width: 100%;
}
#header nav ul li:hover ul {
  	visibility: visible;
  	opacity: 1;
	  
	border-right:solid 1px #ccc;
}
#header nav ul li ul li a {
  	visibility: hidden;
  	opacity: 0;
  	transition: .5s;
	color:#86B404;
}
#header nav ul li ul li a:hover {
	color:#A5DF00;
}
#header nav ul li:hover ul li a {
  	visibility: visible;
  	opacity: 1;
	padding-right:15px;
}
}