@charset "UTF-8";
html {
  overflow-y: scroll;
	}

body {
  line-height: 1;
	}

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-size: 100%;
  font: inherit;
  vertical-align: baseline;
	}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
	}

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;
	}

img {
  vertical-align: bottom;
  max-width: 100%;
	}

.cf::after {
  content: "";
  display: block;
  clear: both;
	}

input,
button,
textarea,
select {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /*vertical-align:baseline;*/
	}

input::-ms-clear {
  visibility: hidden;
	}
input::-ms-reveal {
  visibility: hidden;
	}

html {
  font-size: 62.5%;
  overflow: auto;
	}

body {
  font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, sans-serif;
  color: #402D21;
	font-weight: 400;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.5px;
  letter-spacing: 0.05rem;
  background: #FFF;
  overflow-x: hidden;
	}

.roof {
	position: relative;
	}

.roof::before {
  content: "";
  position: absolute;
  top: 0;
	left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
	border-top: 40px solid #f4eee1;
  border-right: 800px solid #f4eee1;
  border-left: 800px solid #f4eee1;
  border-bottom: 150px solid transparent;
	z-index: -1;
	}

/*********************************************
 font style
*********************************************/

.tl { text-align: left; }
.tc { text-align: center; }
.tr { text-align: right; }

.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }

.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }

.fwbd { font-weight: bold; }
.fw300 { font-weight: 300; }
.kome { font-size: 11px; font-size: 1.1rem; padding-right: 2px; vertical-align:top; }
.fs13 { font-size: 13px; font-size: 1.3rem; }
.fs14 { font-size: 14px; font-size: 1.4rem; }
.lh22 { line-height: 2.2em; }

br.sp { display: none; }
br.pc { display: block; }

/*********************************************
 a style
*********************************************/

a:link { color: #402D21; text-decoration: none; }
a:visited { color: #402D21; text-decoration: none; }
a:hover { color: #402D21; text-decoration: none; opacity: 0.7; }
a:active { color: #402D21; text-decoration: none; }

a.txLink { color: #1471fc; text-decoration: underline; }

/*********************************************
 header
*********************************************/

header {
	font-family: 'Noto Sans JP', sans-serif;
  padding: 40px 0;
	}

header .hdLine {
	margin-bottom: 45px;
	}
header .hdLine .wrap {
	display: table;
  box-sizing: border-box;
	}
header .hdLine p,
header .hdLine nav {
  display: table-cell;
  vertical-align: bottom;
	}
header .hdLine p > span {
	display: inline-block;
	font-size: 13px;
  font-size: 1.3rem;
	background-color: #f0d73c;
	padding: 3px 10px;
	}
header .hdLine nav {
	padding-right: 150px;
	}
header .hdLine nav ul {
  display: table;
  margin: 0 0 0 auto;
	}
header .hdLine nav ul li {
  display: table-cell;
	font-size: 12px;
  font-size: 1.2rem;
  text-align: center;
	padding: 0 10px;
	}
header .hdLine nav ul li a {
	background : linear-gradient(transparent 70%, #f0d73c 50%);
	}
header .hdLine nav ul li a:link,
header .hdLine nav ul li a:visited,
header .hdLine nav ul li a:hover,
header .hdLine nav ul li a:active {
  color: #402D21;
	}

header .hdBox {
	position: relative;
	height: 60px;
	}
header .hdBox .logo {
	position: absolute;
	max-width: 450px;
  width: 48%;
	top: 0;
	left: 0;
	}
header .hdBox .btn {
	position: absolute;
	top: -73px;
	right: 0;
	font-family: 'Gentium Book Plus', serif;
	font-size: 21px;
	font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1.2;
	}
header .hdBox .btn a {
	position: relative;
	padding-left: 15px;
	border-bottom: 2px solid #402D21;
	}
header .hdBox .btn a::before {
	position: absolute;
	display: inline-block;
	content: "";
	bottom: -1px;
	left: 0;
	width: 1em;
  height: 1em;
	background: url(../img/common/tel.svg) no-repeat;
	background-size: 12px;
	}
header .hdBox .btn a:link,
header .hdBox .btn a:visited,
header .hdBox .btn a:hover,
header .hdBox .btn a:active {
  color: #402D21;
	}
header .hdBox nav {
	position: absolute;
	right: 0;
	width: 48%;
  max-width: 450px;
	}
header .hdBox .sublNavi {
	display: none;
	}

/*********************************************
 footer
*********************************************/

footer {
	font-family: 'Noto Sans JP', sans-serif;
  background-color: #f4eee1;
	}

footer .contactBox {
  padding: 30px 0;
	text-align: center;
	}
footer .contactBox .txt {
	display: inline-block;
	margin-bottom: 20px;
	}
footer .contactBox .txt span {
	border-bottom: 1px solid #402D21;
	}
footer .contactBox dl {
  display: table;
  margin: 0 auto;
  box-sizing: border-box;
	}
footer .contactBox dl dt,
footer .contactBox dl dd {
  display: table-cell;
  vertical-align: middle;
	}
footer .contactBox dl dt {
  font-weight: 700;
  padding-right: 20px;
	}
footer .contactBox dl dd {
  padding: 0 20px;
  border-left: 1px solid #402D21;
	}
footer .contactBox dl .tel {
	font-family: 'Gentium Book Plus', serif;
	font-size: 21px;
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1.2;
	}
footer .contactBox dl .tel a {
	position: relative;
	padding-left: 15px;
	}
footer .contactBox dl .tel a::before {
	position: absolute;
	display: inline-block;
	content: "";
	bottom: -1px;
	left: 0;
	width: 1em;
  height: 1em;
	background: url(../img/common/tel.svg) no-repeat;
	background-size: 12px;
	}
footer .contactBox dl .tel a:link,
footer .contactBox dl .tel a:visited,
footer .contactBox dl .tel a:hover,
footer .contactBox dl .tel a:active {
  color: #402D21;
	}

footer .copyright {
  padding-bottom: 20px;
	line-height: 1.4;
	font-size: 10px;
  font-size: 1rem;
	}

footer #pageTop {
  position: fixed;
  bottom: 10px;
  right: 10px;
	z-index: 1000;
	}
footer #pageTop a {
  position: relative;
  background-color: #402D21;
  width: 46px;
  height: 46px;
  display: block;
  border-radius: 50%;
	}
footer #pageTop a::before {
  display: block;
  position: absolute;
  content: "";
  top: 19px;
  left: 17px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
	}

/*********************************************
 wrapper
*********************************************/

.wrapper,
.wrap {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
	}

/* ---------------------------------
 twoClm
---------------------------------- */

.twoClm {
	padding: 20px 0 4em;
  letter-spacing: -0.5em;
}

.twoClm .mainBox,
.twoClm .sideBox {
  display: inline-block;
  letter-spacing: 0.5px;
  letter-spacing: 0.05rem;
  vertical-align: top;
	}
	
.twoClm .mainBox {
  width: 75%;
	padding-bottom: 60px;
	border-bottom: 1px solid #000;
	}
.twoClm .mainBox .txt {
	line-height: 1.7;
	}
	
.twoClm .sideBox {
	font-family: 'Noto Sans JP', sans-serif;
  width: 25%;
	}
	
.twoClm .img {
	margin-bottom: 40px;
	}

/*********************************************
 h style
*********************************************/

.pageTtl {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 27px;
  font-size: 2.7rem;
	line-height: 1;
	letter-spacing: 0.1em;
	padding: 0 0 1.6em;
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	}

.pageCap {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 24px;
  font-size: 2.4rem;
	letter-spacing: 0.08em;
	margin-bottom: 20px;
	}

.pageTxt {
	line-height: 1.7;
	}

.ttl1 {
	position: relative;
  text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 22px;
  font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-indent: 0.15em;
	padding: 2.5em 0 1.2em;
	margin-bottom: 3.5em;
	}
.ttl1::before {
  position: absolute;
  bottom: 0;
  left: calc(50% - 25px);
  width: 50px;
  height: 5px;
  content: '';
  background: #f0d73c;
	}

.ttl2 {
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 19px;
  font-size: 1.9rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	margin-bottom: 20px;
	padding-left: 30px;
	}
.ttl2::before {
	position: absolute;
	top: 2px;
	left: 0;
	content: '';
	display: inline-block;
	width: 22px;
	height: 22px;
	background-image: url(../img/common/ic.png);
	background-size: contain;
	background-repeat: no-repeat;
  }

.ttl3 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	letter-spacing: 0.08em;
	margin-bottom: 15px;
}
.ttl3 span {
	padding-bottom: 3px;
	border-bottom: 1px solid #000;
}
	
.ttl4 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 22px;
  font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-indent: 0.15em;
	padding: 2.5em 0 0;
	margin-bottom: 3.5em;
	text-align: center;
}
.ttl4 span {
	position: relative;
	display: inline-block;
	}
.ttl4 span::before,
.ttl4 span::after {
	position: absolute;
	bottom: 7px;
	height: 1.6rem;
	content: '';
	}
.ttl4 span::before {
	border-left: solid 2px;
	left: -20px;
	transform: rotate(-30deg);
	}
.ttl4 span::after {
	border-right: solid 2px;
	right: -20px;
	transform: rotate(30deg);
	}

.pageLnk ul li {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	padding: 8px 0;
	line-height: 1;
	}
.pageLnk ul li a {
	display: inline-block;
  position: relative;
	padding-bottom: 7px;
	}
.pageLnk ul li a::after {
	position: absolute;
	content: '';
  display: block;
  background-color: #f0d73c;
  bottom: 0;
  left: 0;
	width: 0;
  height: 2px;
  transition: .2s all;
	}
.pageLnk ul li a:hover::after {
  width: 100%;
	}

.underline {
	background: linear-gradient(transparent 75%, #f6f1e5 75%);
	}

/*********************************************
 button
*********************************************/

.btn1 {
  margin-bottom: 20px;
	}
.btn1 a {
  display: block;
  color: #FFFFFF;
  text-align: center;
  background: #000000;
  padding: 10px;
  border-radius: 6px;
	}

.btn2 {
  margin-bottom: 20px;
	}
.btn2 a {
  display: block;
  color: #FFFFFF;
  text-align: center;
  background: #B79C06;
  padding: 10px;
  border-radius: 6px;
	}

.btn3 {
  margin-bottom: 20px;
	}
.btn3 a {
  display: block;
  color: #B79C06;
  text-align: center;
  border: 2px solid #000000;
  padding: 8px;
  border-radius: 6px;
	}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

   main.css
   
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.mb0 { margin-bottom: 0 !IMPORTANT; }
.pb0 { padding-bottom: 0 !IMPORTANT; }

/*********************************************
 imgClm
*********************************************/

.imgClm20,
.imgClm30,
.imgClm40 {
  padding-bottom: 4em;
	}

.imgClm20 .clm,
.imgClm30 .clm,
.imgClm40 .clm {
  letter-spacing: -0.5em;
  margin-bottom: 3em;
	}
	
.imgClm20 .clm .img,
.imgClm20 .clm .txt,
.imgClm30 .clm .img,
.imgClm30 .clm .txt,
.imgClm40 .clm .img,
.imgClm40 .clm .txt {
  display: inline-block;
  letter-spacing: 0.5px;
  letter-spacing: 0.05rem;
  vertical-align: top;
	}

.imgClm20 .clm .txt,
.imgClm30 .clm .txt,
.imgClm40 .clm .txt {
  padding: 0 0 0 5%;
  box-sizing: border-box;
	}

/* ---------------------------------
 imgClm20
---------------------------------- */

.imgClm20 .clm .img {
  width: 20%;
	}

.imgClm20 .clm .txt {
  width: 80%;
	}

/* ---------------------------------
 imgClm30
---------------------------------- */

.imgClm30 .clm .img {
  width: 30%;
	}

.imgClm30 .clm .txt {
  width: 70%;
	}

/* ---------------------------------
 imgClm40
---------------------------------- */

.imgClm40 .clm .img {
  width: 40%;
	}

.imgClm40 .clm .txt {
  width: 60%;
	}

/*********************************************
 grdClm
*********************************************/

.grdClm2,
.grdClm3,
.grdClm4,
.grdClm5,
.topClm {
  letter-spacing: -0.5em;
  margin-left: -30px;
	padding-bottom: 4em;
	}

.grdClm2 .clm,
.grdClm3 .clm,
.grdClm4 .clm,
.grdClm5 .clm,
.topClm .clm {
  display: inline-block;
  letter-spacing: 0.5px;
  letter-spacing: 0.05rem;
  vertical-align: top;
  padding: 0 0 1.5em 30px;
  box-sizing: border-box;
	}

.grdClm1 .clm .img,
.grdClm2 .clm .img,
.grdClm3 .clm .img,
.grdClm4 .clm .img,
.grdClm5 .clm .img,
.topClm .clm .img {
  margin-bottom: 10px;
	}

/* ---------------------------------
 grdClm1
---------------------------------- */

.grdClm1 {
  padding-bottom: 4em;
	}

.grdClm1 .clm {
  width: 100%;
	}

/* ---------------------------------
 grdClm2
---------------------------------- */

.grdClm2 {
  margin-left: -50px;
	}

.grdClm2 .clm {
  width: 50%;
	padding: 0 0 1.5em 50px;
	}

.grdClm2 .clm .img {
  margin-bottom: 30px;
	}

/* ---------------------------------
 grdClm3
---------------------------------- */

.grdClm3 .clm {
  width: 33.33333333%;
	}

/* ---------------------------------
 grdClm4
---------------------------------- */

.grdClm4 .clm {
  width: 25%;
	}

/* ---------------------------------
 grdClm5
---------------------------------- */

.grdClm5 .clm {
  width: 20%;
	}

/* ---------------------------------
 topClm
---------------------------------- */

.topClm .clm {
  width: 33.33333333%;
	}

/*********************************************
 icon
*********************************************/

.ic {
  position: relative;
  padding: 0 0 0 20px;
	}
.ic::before, .ic::after {
  display: block;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
	}

/* --- arw1 --- */

.arw1_r::before {
  top: 9px;
  width: 3px;
  height: 3px;
  border-top: 2px solid #402D21;
  border-right: 2px solid #402D21;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
	}

/*********************************************
 dlPrt
*********************************************/

.dlPrt1 dl {
  letter-spacing: -0.5em;
  border-bottom: 2px solid #f6f1e7;
	}
.dlPrt1 dl:first-child {
  border-top: 2px solid #f6f1e7;
	}
.dlPrt1 dl dt,
.dlPrt1 dl dd {
  display: inline-block;
  letter-spacing: 0.5px;
  letter-spacing: 0.05rem;
  padding: 0.8em 0.5em;
	vertical-align: top;
	box-sizing: border-box;
	}
.dlPrt1 dl dt {
	font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  width: 20%;
	}
.dlPrt1 dl dd {
  width: 80%;
	}

.dlPrt2 dl {
  letter-spacing: -0.5em;
	border-top: 1px solid #ebe9e5;
	margin-bottom: 15px;
	}
.dlPrt2 dl dt,
.dlPrt2 dl dd {
  display: inline-block;
  letter-spacing: 0.5px;
  letter-spacing: 0.05rem;
  padding: 5px 0.8em;
	vertical-align: top;
	box-sizing: border-box;
	}
.dlPrt2 dl dt {
	font-family: 'Nanum Gothic', sans-serif;
  font-weight: 700;
	letter-spacing: 0.2rem;
	text-align: center;
  width: 25%;
	background-color: #f6f5f2;
	}
.dlPrt2 dl dd {
  width: 75%;
	}

/*********************************************
 loading
*********************************************/

#loadBox {
	width: 100vw;
  height: 100vh;
  transition: all 0.5s;
  background-color: #f4eee1;
	position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
	}

.loaded {
  opacity: 0;
  visibility: hidden;
	}

/*********************************************
 slick
*********************************************/

/* ---------------------------------
 rectangle
---------------------------------- */
.rectangle {
  width: 100%;
	}

/*********************************************
 lastSidebar
*********************************************/

#lastOverlay {
  width: 100%;
  height: 100%;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9997;
  background: rgba(0, 0, 0, 0.5);
	}

body.noscroll {
  width: 100%;
  position: fixed;
  left: 0;
  right: 0;
  overflow: hidden;
	}

#drMenuRwd .ttl {
  display: none;
	}
	
#drMenuRwd .globalNavi {
  width: 100%;
  display: table;
  text-align: center;
  border-left: 1px solid #402D21;
	}
	
#drMenuRwd .globalNavi li {
  display: table-cell;
	width: 33.3333%;
  vertical-align: middle;
  border-right: 1px solid #402D21;
	font-size: 15px;
	font-size: 1.5rem;
	}
#drMenuRwd .globalNavi li a {
  display: block;
  padding: 5px 0;
	letter-spacing: 0.1em;
	font-weight: 500;
	}
#drMenuRwd .globalNavi li a span {
	display: block;
  color: #cec8bb;
	font-family: 'Quicksand', sans-serif;
	font-size: 10px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	font-weight: 500;
	padding-top: 3px;
	}
#drMenuRwd .globalNavi li a:link,
#drMenuRwd .globalNavi li a:visited,
#drMenuRwd .globalNavi li a:hover,
#drMenuRwd .globalNavi li a:active {
  color: #402D21;
	}

.triggerBtn {
  display: none;
	}

#menuTrigger,
#menuTrigger span {
  display: inline-block;
  box-sizing: border-box;
  -webkit-transition: all .4s;
	transition: all .4s;
	}
#menuTrigger {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #402D21;
	}			
#menuTrigger span {
  width: 22px;
  height: 2px;
  position: absolute;
  left: 10px;
  background-color: #FFFFFF;
	}
	
#menuTrigger span:nth-of-type(1) {
  top: 13px;
	}
#menuTrigger span:nth-of-type(2) {
  top: 19px;
	}
#menuTrigger span:nth-of-type(3) {
  bottom: 13px;
	}
	
#menuTrigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
  transform: translateY(6px) rotate(-45deg);
	}
#menuTrigger.active span:nth-of-type(2) {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	}
#menuTrigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
	}

/*********************************************
 slick
*********************************************/

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
	}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
  z-index: 1;
	}
.slick-list:focus {
  outline: none;
	}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
	}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
	}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
	}
.slick-track::before,
.slick-track::after {
  content: "";
  display: table;
	}
.slick-track::after {
  clear: both;
	}
	
.slick-loading .slick-track {
  visibility: hidden;
	}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
	}
[dir="rtl"] .slick-slide {
  float: right;
	}
	
.slick-slide img {
  display: block;
  width: 100%;
	}
	
.slick-slide.slick-loading img {
  display: none;
	}
	
.slick-slide.dragging img {
  pointer-events: none;
	}

.slick-initialized .slick-slide {
  display: block;
	}

.slick-loading .slick-slide {
  visibility: hidden;
	}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
	}

.slick-arrow.slick-hidden {
  display: none;
	}

/* --- loading --- */

.slick-loading .slick-list {
  background: #FFFFFF url(../html/img/common/loader.gif) center center no-repeat;
	}

/* --- Arrows --- */

.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  font-size: 0;
  line-height: 0;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  display: block;
  z-index: 2;
	}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
	}
	
.slick-prev:hover::before,
.slick-prev:focus::before,
.slick-next:hover::before,
.slick-next:focus::before {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	}

.slick-prev.slick-disabled::before,
.slick-next.slick-disabled::before {
  opacity: .25;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
	}

.slick-prev::before,
.slick-next::before {
  opacity: .75;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
  display: block;
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 4px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
	}

.slick-prev {
  left: 25px;
	}
.slick-prev::before {
  right: 0;
  border-bottom: 2px solid #000;
  border-left: 2px solid #000;
	}

.slick-next {
  right: 25px;
	}
.slick-next::before {
  left: 0;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
	}

/*
[dir='rtl'] .slick-prev {
  right: 25px;
  left: auto;
}
[dir='rtl'] .slick-prev:before {
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
[dir='rtl'] .slick-next {
  right: auto;
  left: 25px;
}
[dir='rtl'] .slick-next:before {
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
*/

/* --- Dots --- */

.slick-dotted.slick-slider {
  margin-bottom: 80px;
	}

.slick-dots {
  position: absolute;
  height: 10px;
  bottom: -30px;
  display: block;
  width: 100%;
  text-align: center;
  letter-spacing: -0.4em;
	}

.slick-dots li {
  position: relative;
  display: inline-block;
  letter-spacing: 0.5px;
  letter-spacing: 0.05rem;
  width: 10px;
  height: 10px;
  margin: 0 10px;
	}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  color: transparent;
  background: transparent;
	}

.slick-dots li button:hover::before,
.slick-dots li button:focus::before {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	}

.slick-dots li button::before {
  display: block;
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #000;
  border-radius: 50%;
  opacity: .25;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
  cursor: pointer;
	}

.slick-dots li.slick-active button::before {
  opacity: .75;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
	}

/*********************************************
 other
*********************************************/

/* ---------------------------------
 illust
---------------------------------- */

.illust {
	position: relative;
	}

.illust01 {
	position: absolute;
	top: -40px;
	right: 2%;
	z-index: 100;
	width: 80px;
	}

.illust02 {
	position: absolute;
	bottom: -70px;
	left: 7%;
	z-index: 100;
	width: 90px;
	}

.illust03 {
	position: absolute;
	top: 135px;
	right: 10%;
	z-index: 100;
	width: 85px;
	}

/* ---------------------------------
 slogan
---------------------------------- */

.slogan {
	position: relative;
	}
	
.slogan .box {
	text-align: center;
	padding: 50px 0;
	}
	
.slogan .box .t01 {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	margin-bottom: 15px;
	font-size: 13px;
	font-size: 1.3rem;
	letter-spacing: 0.08em;
	}
.slogan .box .t01::before,
.slogan .box .t01::after {
	position: absolute;
	top: 0.3rem;
	height: 1.5rem;
	content: '';
	}
.slogan .box .t01::before {
	border-left: solid 1px;
	left: 0;
	transform: rotate(-30deg);
	}
.slogan .box .t01::after {
	border-right: solid 1px;
	right: 0;
	transform: rotate(30deg);
	}
	
.slogan .box .t02 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
	font-size: 2rem;
	letter-spacing: 0.12em;
	font-weight: 500;
	}
	
.slogan .box .t03 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	line-height: 2.5;
	padding-bottom: 20px;
	}
	
.slogan .img {
	text-align: center;
	}

/* ---------------------------------
 topClm
---------------------------------- */

.topClm .clm {
	position: relative;
	}
	
.topClm h2 {
	position: absolute;
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #FFF;
	padding: 22px 12px 15px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 700;
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	top: 0;
	left: 25px;
	}
.topClm h2::before {
	position: absolute;
	top: 0;
	left: 10px;
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(../img/common/ic.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
  }
	
.topClm .txt .btn {
	position: relative;
	text-align: right;
	padding-top: 10px;
	}
.topClm .txt .btn a {
	display: inline-block;
  position: relative;
	padding: 0 8px 4px 2px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 13px;
	font-size: 1.3rem;
	}
.topClm .txt .btn a::before {
	position: absolute;
	content: '';
  display: block;
  background-color: #f0d73c;
  bottom: 0;
  left: 0;
	width: 100%;
  height: 2px;
  transition: .2s all;
	}
.topClm .txt .btn::after {
	display: block;
  position: absolute;
  content: "";
  bottom: 10px;
  right: -2px;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 3px solid transparent;
  border-left: 3px solid #000000;
	}

/* ---------------------------------
 gaiyou
---------------------------------- */

.gaiyou .dlPrt1 {
	width: 80%;
	margin: 0 auto;
	}

/* ---------------------------------
 shisetsu
---------------------------------- */

.shisetsu .grdClm3 .img {
	margin-bottom: 5px !IMPORTANT;
	}

.shisetsu .grdClm3 .txt {
	font-size: 13px;
	font-size: 1.3rem;
	}

/* ---------------------------------
 encho
---------------------------------- */

.encho p {
	margin-bottom: 2em;
	}

.sign {
	text-align: right;
	font-weight: bold;
	padding: 10px 20px 0 0;
	margin-bottom: 0 !IMPORTANT;
	}

/* ---------------------------------
 gmap
---------------------------------- */

.gmap iframe {
  width: 100%;
	height: 400px;
	margin-bottom: 30px;
}

.gmap .txt {
	text-align: center;
	padding-bottom: 20px;
	}

.gmap .txt p:first-child {
	font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
	margin-bottom: 5px;
	}

/* ---------------------------------
 chikai
---------------------------------- */

.chikai {
	display: table;
	width: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	}

.chikai .ttl {
	display: table-cell;
	width: 45%;
	vertical-align: middle;
	text-align: center;
	}

.chikai .ttl .sm span {
	font-weight: normal;
	font-size: 15px;
  font-size: 1.5rem;
	background: linear-gradient(transparent 75%, #f6f1e5 75%);
	}

.chikai .ttl h4 {
	position: relative;
	display: inline-block;
	font-weight: 700;
	font-size: 24px;
  font-size: 2.4rem;
	letter-spacing: 0.08em;
	text-indent: 0.08em;
	line-height: 1.5;
	}
.chikai .ttl h4::before,
.chikai .ttl h4::after {
	position: absolute;
	bottom: 0.8rem;
	height: 1.7rem;
	content: '';
	}
.chikai .ttl h4::before {
	border-left: solid 2px;
	left: -16px;
	transform: rotate(-30deg);
	}
.chikai .ttl h4::after {
	border-right: solid 2px;
	right: -16px;
	transform: rotate(30deg);
	}

.chikai .ttl .bg {
	font-size: 32px;
  font-size: 3.2rem;
	}

.chikai .txt {
	display: table-cell;
	width: 55%;
	}

.chikai ul {
	padding-left: 20px;
	}

.chikai ul li span {
	font-size: 25px;
  font-size: 2.5rem;
	font-family: 'Gentium Book Plus', serif;
	font-weight: bold;
	font-style: italic;
	padding-right: 15px;
	}
	
/* ---------------------------------
 shokuiku
---------------------------------- */

.shokuiku {
	padding-bottom: 6em;
	}
	
.shokuiku .grdClm3 {
	padding-bottom: 0;
	}

/* ---------------------------------
 schedule
---------------------------------- */
	
.schedule .month {
	text-align: right;
	line-height: 1;
	width: 100%;
	padding-right: 5px;
	box-sizing: border-box;
	}

.schedule .month .num {
	font-family: 'Nanum Gothic', sans-serif;
	font-size: 30px;
  font-size: 3rem;
  font-weight: 700;
	padding-left: 4px;
	}

.schedule .month .ex {
	position: relative;
	display: inline-block;
	font-family: 'Nanum Gothic', sans-serif;
	font-size: 13px;
  font-size: 1.3rem;
	font-weight: 700;
	background: linear-gradient(transparent 60%, #ffe965 75%);
	}

.schedule ul {
	padding-bottom: 15px;
	}

.schedule ul li {
	border-bottom: 1px solid #ebe9e5;
	padding: 5px 0;
	}
	
/* ---------------------------------
 ichinichi
---------------------------------- */

.ichinichi .img img {
	margin-bottom: 15px;
	}


@media only screen and (max-width: 768px){
	
	.roof::before {
		border-top: 40px solid #f4eee1;
		border-right: 500px solid #f4eee1;
		border-left: 500px solid #f4eee1;
		border-bottom: 180px solid transparent;
		}

	/*********************************************
	 font style
	*********************************************/
	
	br.sp { display: block; }
	br.pc { display: none; }
	
	span .sp { display: block; }
	span .pc { display: none; }
	
	/*********************************************
	 header
	*********************************************/
	
	header {
    padding: 10px 0 25px;
		}
		
	header .hdLine {
    margin-bottom: 30px;
		}
  header .hdLine .wrap p {
    padding: 0;
		font-size: 10px;
		font-size: 1rem;
		}
	header .hdLine p > span {
    background-color: transparent;
    padding: 0;
		font-size: 11px;
    font-size: 1.1rem;
		border-bottom: 1px solid #7f7267;
		line-height: 2;
		}
	header .hdLine nav {
    display: none;
		}
		
	header .hdBox,
	header .hdBox .logo {
    position: initial;
		}
	header .hdBox {
    height: auto;
		}
	header .hdBox .logo {
		width: 97%;
		margin: 0 auto 22px;
		text-align: center;
		}
	header .hdBox .btn {
		position: initial;
		text-align: center;
		font-size: 19px;
    font-size: 1.9rem;
	}
	header .hdBox .btn a {
		border-bottom: none;
		background-color: #f5e167;
		border-radius: 7px;
		padding: 1px 10px 3px 25px;
		}
	header .hdBox .btn a::before {
		bottom: 4px;
		left: 10px;
		background-size: 11px;
		}
	header .hdBox .sublNavi {
    display: block;
		padding: 15px;
		}
	header .hdBox .sublNavi li {
		font-size: 14px;
		font-size: 1.4rem;
		padding: 10px 0;
		}
	header .hdBox .sublNavi a {
		display: block;
		}
	header .hdBox .sublNavi a:link,
	header .hdBox .sublNavi a:visited,
	header .hdBox .sublNavi a:hover,
	header .hdBox .sublNavi a:active {
		color: #402D21;
		}
	header .hdBox .sublNavi a.ic {
		padding: 0 0 0 15px;
		}
		
	/*********************************************
	 footer
	*********************************************/
	
	footer {
		margin-top: 10px;
		}
	footer .contactBox {
		padding: 30px 0 0;
		}
  footer .contactBox dl {
    display: block;
    text-align: center;
		}
  footer .contactBox dl dt, footer .contactBox dl dd {
    display: block;
    vertical-align: top;
    padding: 0;
		}
  footer .contactBox dl dd {
    border-left: none;
    margin-bottom: 15px;
		}
  footer .contactBox dl .tel {
		font-size: 19px;
    font-size: 1.9rem;
		}
	footer .contactBox dl .tel a {
    padding-left: 15px;
		}
	footer .contactBox dl .tel a::before {
		bottom: -1px;
		background-size: 11px;
		}
		
	/*********************************************
	 wrapper
	*********************************************/
	
  .wrapper,
  .wrap {
    padding: 0 15px;
		}
	
	.contents .wrapper {
    padding: 0 20px;
		}
		
	/* ---------------------------------
	 twoClm
	---------------------------------- */
	
	.twoClm {
    padding: 10px 0 2em;
    letter-spacing: -0.5em;
		}
		
  .twoClm .mainBox {
    width: 100%;
		}
		
  .twoClm .sideBox {
    width: 100%;
    margin-left: 0;
		}
		
	.twoClm .img {
    margin-bottom: 20px;
		}
		
	/*********************************************
	 h style
	*********************************************/
	
	.pageTtl {
		font-size: 21px;
		font-size: 2.1rem;
		font-weight: 500;
		text-align: center;
		padding: 1em 0;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		border-top: solid 2px #e9e4da;
		border-bottom: solid 2px #e9e4da;
		}
	
	.pageCap {
		font-size: 20px;
		font-size: 2rem;
		margin-bottom: 12px;
		}
	
	.ttl1 {
    padding: 2.5em 0 1em;
    margin-bottom: 2.5em;
		}
	
	.ttl4 {
		margin-bottom: 2em;
		}
		
	.pageLnk {
		text-align: center;
		}
	.pageLnk ul {
		display: flex;
		justify-content: center;
		flex-wrap:wrap;
		padding: 20px 0;
		}
	.pageLnk ul li {
		font-size: 13px;
		font-size: 1.3rem;
		padding: 0 7px;
		margin-bottom: 10px;
		}
	.pageLnk ul li a::after {
		background-color: #f0d73c;
		width: 100%;
		}
	
	/*********************************************
	 imgClm
	*********************************************/
	
  .imgClm20 .clm .img {
    width: 30%;
		}
  .imgClm20 .clm .txt {
    width: 70%;
		}
		
  .imgClm30 .clm .img {
    width: 35%;
		}
  .imgClm30 .clm .txt {
    width: 65%;
		}
	
	.imgClm20,
	.imgClm30,
	.imgClm40 {
		padding-bottom: 20px;
		}

	/*********************************************
	 grdClm
	*********************************************/
	
  .grdClm3 .clm {
    width: 50%;
		}
		
  .grdClm4 .clm {
    width: 50%;
		}
		
  .grdClm5 .clm {
    width: 25%;
		}
		
	.topClm {
		padding-top: 15px;
		}
	.topClm .clm {
		position: static;
		width: 100%;
		letter-spacing: -0.5em;
		}
	.topClm .clm .img,
	.topClm .clm .txt {
		display: inline-block;
		letter-spacing: 0.5px;
		letter-spacing: 0.05rem;
		vertical-align: top;
		}
	.topClm .clm .txt {
		padding: 0 0 0 5%;
		box-sizing: border-box;
		font-size: 13px;
		font-size: 1.3rem;
		}
	.topClm .clm .img {
		width: 35%;
		}
	.topClm .clm .txt {
		width: 65%;
		}
	.topClm h2 {
		position: relative;
		background-color: transparent;
		padding: 0 0 0 26px;
		margin-bottom: 10px;
		-ms-writing-mode: lr-tb;
		writing-mode: lr-tb;
		left:0;
		}
	.topClm h2::before {
		top: 2px;
		left: 0;
		width: 20px;
		height: 20px;
		}
	
	/*********************************************
	 lastSidebar
	*********************************************/
	
	.lastSidebar {
    width: 60%;
    height: 100%;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9998;
    overflow: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    background: #FFFFFF;
		}
	
  #drMenuRwd .ttl {
    display: block;
    padding: 20px 15px;
		font-weight: bold;
		font-size: 13px;
		font-size: 1.3rem;
		}
  #drMenuRwd .globalNavi {
    display: block;
    border-left: none;
    border-top: 1px solid #BBBBBB;
		}
  #drMenuRwd .globalNavi li {
    display: block;
    width: 100%;
    text-align: left;
    border-right: none;
    border-bottom: 1px solid #BBBBBB;
		}
  #drMenuRwd .globalNavi li a {
    padding: 15px;
		}
	
  .triggerBtn {
    width: 42px;
    height: 40px;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    z-index: 9999;
    background: none;
		}
	
	.illust01 {
		display: none;
		}
		
	.illust02 {
		bottom: -45px;
		left: 4%;
		width: 70px;
		}
		
	.illust03 {
		top: 170px;
		right: 2%;
		width: 70px;
		}
	
	/* ---------------------------------
	 ichinichi
	---------------------------------- */
	
	.ichinichi .grdClm2 .clm .img {
    margin-bottom: 0;
		}
		
}

@media only screen and (min-width: 769px){
	
	/*********************************************
	 header
	*********************************************/
	
  header .acMenu .btn {
    display: none !IMPORTANT;
		}
  header .acMenu .box {
    display: block !IMPORTANT;
		}
	
	/*********************************************
	 lastSidebar
	*********************************************/
		
  .lastSidebar {
    display: block !important;
    right: auto !important;
		}
}

@media only screen and (max-width: 480px){
		
	/*********************************************
	 header
	*********************************************/
	
	header {
    padding: 10px 0 25px;
		}	
		
	/* ---------------------------------
	 twoClm
	---------------------------------- */
	
  .twoClm .mainBox,
  .twoClm .sideBox {
    display: block;
		}
	.twoClm .mainBox {
		padding-bottom: 30px;
		}
	
	/*********************************************
	 h style
	*********************************************/
	
	.pageTtl {
		font-size: 20px;
		font-size: 2rem;
		padding: 18px 0;
		}
	
	.ttl1 {
    font-size: 19px;
    font-size: 1.9rem;
    padding: 1em 0;
    margin-bottom: 1.6em;
		}
	.ttl1::before {
    left: calc(50% - 20px);
    width: 40px;
		}
	
	.ttl2 {
		font-size: 17px;
		font-size: 1.7rem;
		}
	
	.ttl4 {
		font-size: 19px;
    font-size: 1.9rem;
		margin-bottom: 1.5em;
		}
	
	.ttl4 span::before,
	.ttl4 span::after {
		bottom: 5px;
		}
	
	/*********************************************
	 imgClm
	*********************************************/
	
	.imgClm20,
	.imgClm30,
	.imgClm40 {
		padding-bottom: 0;
		}
		
	.imgClm20 .clm .img,
	.imgClm20 .clm .txt,
	.imgClm30 .clm .img,
	.imgClm30 .clm .txt,
	.imgClm40 .clm .img,
	.imgClm40 .clm .txt {
		display: block;
		width: 100%;
		}
		
	.imgClm20 .clm .txt,
	.imgClm30 .clm .txt,
	.imgClm40 .clm .txt {
		padding: 0;
		}
		
	.imgClm20 .clm .img,
	.imgClm30 .clm .img,
	.imgClm40 .clm .img {
		margin-bottom: 15px;
		}

	/*********************************************
	 grdClm
	*********************************************/
	
	.grdClm2,
	.grdClm3,
	.grdClm4,
	.grdClm5,
	.topClm {
    padding-bottom: 0;
		}
		
	.grdClm2 .clm,
  .grdClm3 .clm,
	.grdClm5 .clm {
    width: 100%;
		}
		
  .grdClm5 .clm::after {
    content: "";
    display: block;
    clear: both;
		}
  .grdClm5 .clm .img{
    float: left;
    width: 25%;
    margin-bottom: 0;
    margin-right: 10px;
		}
	
	/*********************************************
	 dlPrt
	*********************************************/

  .dlPrt1 dl dt {
    width: 25%;
		}
		
  .dlPrt1 dl dd {
    width: 75%;
		}
		
	/*********************************************
	 lastSidebar
	*********************************************/	
	
  .lastSidebar{
    width: 80%;
		}
	
	/*********************************************
	 other
	*********************************************/
	
	/* ---------------------------------
	 illust
	---------------------------------- */
	
	.illust02 {
		bottom: -20px;
		left: 3%;
		width: 50px;
		}
		
	.illust03 {
		top: 128px;
		right: -5px;
		width: 50px;
		}
	
	/* ---------------------------------
	 gaiyou
	---------------------------------- */
	
	.gaiyou .dlPrt1 {
		width: 100%;
		}
	
	/* ---------------------------------
	 shisetsu
	---------------------------------- */
	
	.shisetsu {
		padding-bottom: 20px;
		}
	
	.shisetsu .grdClm3 {
		padding-bottom: 30px;
		}
	
	/* ---------------------------------
	 encho
	---------------------------------- */
	
	.encho .img {
		text-align: center;
		margin-bottom: 25px !IMPORTANT;
		}
	.encho .img img {
		width: 65%;
		}
	
	.torikumi .img {
		margin-bottom: 25px !IMPORTANT;
		}
	
	.torikumi .ttl2 {
		margin-bottom: 15px;
		}
	
	/* ---------------------------------
	 slogan
	---------------------------------- */
	
	.slogan .box {
    padding: 30px 0;
		}
		
	.slogan .box .t01 {
    margin-bottom: 10px;
		}
		
	.slogan .box .t03 {
		line-height: 2;
		padding-bottom: 10px;
		}
	
	/* ---------------------------------
	 gmap
	---------------------------------- */
	
	.gmap iframe {
		width: 100%;
		height: 300px;
		}
	
	.gmap .txt {
		padding-bottom: 10px;
		}
		
	/* ---------------------------------
	 chikai
	---------------------------------- */
	
	.chikai {
		display: block;
		width: 100%;
		}
	
	.chikai .ttl {
		display: block;
		width: 100%;
		padding: 0 0 20px;
		background-size: 100px 100px;
		}
	
	.chikai .ttl h4 {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		font-size: 26px;
		font-size: 2.6rem;
		letter-spacing: 0.08em;
		line-height: 1.2;
		}
	
	.chikai .ttl .sm {
		font-weight: 500;
		font-size: 17px;
		font-size: 1.7rem;
		}
	
	.chikai .ttl .bg {
		font-size: 32px;
		font-size: 3.2rem;
		}
	
	.chikai .txt {
		display: block;
		width: 100%;
		}
	
	.chikai ul {
		font-size: 16px;
		font-size: 1.6rem;
		padding-left: 20px;
		}
	
	.chikai ul li span {
		font-size: 25px;
		font-size: 2.5rem;
		font-family: 'Gentium Book Plus', serif;
		font-weight: bold;
		font-style: italic;
		padding-right: 15px;
		}
	
	/* ---------------------------------
	 encho
	---------------------------------- */
	
	.encho p {
		margin-bottom: 1.5em;
		}
	
	.sign {
    padding: 0 20px 0 0;
		}
		
	/* ---------------------------------
	 shokuiku
	---------------------------------- */
	
	.shokuiku {
		padding-bottom: 3em;
		}

	.shokuiku .img {
		margin-bottom: 0 !IMPORTANT;
		}
	
	/* ---------------------------------
	 torikumi
	---------------------------------- */
	
	.torikumi {
		padding-bottom: 2rem;
		}
		
}

@media (min-width: 1px){

}
