@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 {
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }
  
/* Global Reset & Standards ---------------------- */
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
html { font-size:18px }
body { font-family: "Sawarabi Mincho", serif; font-size: 100%; line-height:1; color:#333; font-weight:nomal; position: relative; -webkit-font-smoothing: antialiased; }
img { border:0px; max-width: 100%}
figure { margin: 0 }

/* The Grid ---------------------- */
.row { width:1260px; max-width: 100%; min-width: 600px; margin: 0 auto; }
.row .row { width: auto; max-width: none; min-width: 0; margin: 0 -8px; }
.row.collapse .column,
.row.collapse .columns { padding: 0 }
.row .row { width: auto; max-width: none; min-width: 0; margin: 0 -8px; }
.row .row.collapse { margin: 0 }
.column,
.columns { float: left; min-height: 1px; padding: 0 8px; /* position: relative;*/ }
.column.centered,
.columns.centered { float: none; margin: 0 auto; }
[class*="column"] + [class*="column"]:last-child { float: /*right*/left }
[class*="column"] + [class*="column"].end { float: left }
.one,.row .one { width: 8.33333% }
.two,.row .two { width: 16.66667% }
.threes,.row .threes { width: 20% }
.three,.row .three { width: 25% }
.four,.row .four { width: 33.33333% }
.five,.row .five { width: 41.66667% }
.six,.row .six { width: 50% }
.seven,.row .seven { width: 58.33333% }
.eight,.row .eight { width: 66.66667% }
.nine,.row .nine { width: 75% }
.ten,.row .ten { width: 83.33333% }
.eleven,.row .eleven { width: 91.66667% }
.twelve,.row .twelve { width: 100% }
.row:before,.row:after { content: ""; display: table; }
.row:after { clear: both }
img,object,embed { height: auto }
object,embed { height: 100% }
img { -ms-interpolation-mode: bicubic }

/* google map ---------------------- */
.ggmap { position:relative;  /*padding-bottom: 56.25%; padding-top: px;*/ height: 224px; overflow: hidden; }
.ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 90%; height: 100%; }


h1,h2,h3,h4,h5,h6,p,a{ font-family: "Sawarabi Mincho"; color: #333; text-rendering: optimizeLegibility; line-height: 1;  }
p { font-size: 18px; font-size: 1.0rem; line-height: 1.59; letter-spacing: 0.125em; }
h1 { font-size: 63px; font-size: 3.5rem; line-height: 1; }
h2 { font-size: 30px; font-size: 1.666rem; line-height: 1;}
h3 { font-size: 21px; font-size: 1.166rem; line-height: 1; }
h4 { font-size: 18px; font-size: 1.0rem; line-height: 1;}
h5 { font-size: 16px; font-size: 0.888rem; line-height: 1;}
.kome { font-size: 13px; font-size: 0.72rem; line-height: 1; }

.mb9{ margin-bottom:9px;}
.mb18{ margin-bottom:18px;}
.mb21{ margin-bottom:21px;}
.mb30{ margin-bottom:30px;}
.mb37{ margin-bottom:37px;}
.mb52{ margin-bottom:52px;}
.mb63{ margin-bottom:63px;}
.mb89{ margin-bottom:89px;}
.mb126{ margin-bottom:126px;}
i { margin-right:1%; }
.pdl37 { padding-left:37px; }
.pdr37 { padding-right:37px; }
.noleftmargin { margin-left: 0px; padding-left: 0px;}
.nomargin { margin: 0px; padding: 0px;}
.norightmargin { margin-right: 0px; padding-right: 0px;}

.tar { text-align:right;}
.tac { text-align: center;}

.onlymobile { display:none; }

ul { list-style:none; }
a { text-decoration: none; }

#page-top { font-size:100%; position: fixed; bottom: 21px; right: 21px; margin-bottom:5px;}
#page-top a { color: #fff;  background:#4f1266; text-decoration: none; padding: 20px 23px; text-align: center; display: block; border-radius: 50px;}
#page-top a:hover {text-decoration: none; opacity:0.6;}

.copyright p{ font-size: 13px; font-size: 0.72rem; line-height: 1; padding:6px; color: #666;}

/* CONTENT ---------------------- */

header{ padding:52px 0px; }
header img{ display: block; margin: 0 auto; }
nav { text-align: right;}
nav ul{ }
nav li { display:inline-block; margin-right:12px;}
nav li:last-child { margin-right:0px;  }
nav li a{  display:block; -webkit-transition: all .8s; transition: all .8s; }
nav li a:hover { animation: rumble 0.8s linear infinite; }
@keyframes rumble{
	0%	{transform:rotate(0deg)	translate(0,0);}
	12.5%	{transform:rotate(0.4deg)	translate(1px,-1px);}
	25%	{transform:rotate(0.8deg)	translate(0px,1px);}
	37.5%	{transform:rotate(0.4deg)	translate(-1px,0);}
	50%	{transform:rotate(0deg)	translate(0,0);}
	62.5%	{transform:rotate(-0.4deg)	translate(1px,0);}
	75%	{transform:rotate(-0.8deg)	translate(0,1px);}
	87.5%	{transform:rotate(-0.4deg)	translate(-1px,-1px);}
	100%	{transform:rotate(0deg)	translate(0,0);}
}

.flexslider-container{ margin-bottom: 89px; }

.title { padding: 126px 0px 89px; }
.title h1{ text-align:center; padding-bottom:33px; letter-spacing: 0.125em; }
.title h4{ text-align:center; color:#4f1266; letter-spacing: 0.25em;}

section.top{ margin-bottom: 89px;}

.textzone{ position: relative;}
.textzone img{ width: 50%;} 
.section-text{ width: 50%; height: 100%; position: absolute; top: 0px; left: 50%; display: flex; flex-direction: column; justify-content: center; padding: 0 37px;}
.section-text p{ margin-bottom: 57.69px; }

a.button{ color:#fff; font-size: 21px; font-size: 1.166rem; line-height: 1;  padding:13px; width: 197px; background-color: #4f1266; letter-spacing: 0.125em; display: block; text-align: center;  }
a.button:hover{ background-color: #45285a; }

/*p span.pen{ background: linear-gradient(transparent 60%, #e9c01c 50%); }
h2 span.pen{ background: url("../img/pen.png") repeat-x; background-position: 0px 25px; }*/

.flexbox{ flex-wrap: wrap; -ms-flex-wrap: wrap; display: flex; display:-webkit-box; display:-ms-flexbox; display: -webkit-flex;}
article{ margin-bottom: 72px; }
article img{ display: block; }
article p.date{ padding: 21px 0px 8px; font-size: 13px; font-size: 0.72rem; line-height: 1; font-family: "Noto Sans JP";}
article h3 a{ font-size: 18px; font-size: 1.0rem; line-height: 1.333; letter-spacing: 0.07em; color:#4f1266;}
article a img:hover{ opacity: 0.8; }
article h3 a:hover{ text-decoration: underline; }
article p.tag-but{ padding: 0px; margin-bottom: 0px; letter-spacing: 0;}
article p.tag-but a{ font-size: 13px; font-size: 0.72rem; line-height: 1; padding: 4px 2px; border: 1px solid; display: inline-block; margin-bottom: 0px; margin-right: 4px; color: #333 !important; text-decoration: none !important;}
article p.tag-but a:hover{ background-color: rgba(79,18,102,0.2); }

#blog { margin-bottom: 89px;}
#blog a.button{ margin: 26px auto 0px; }

#address h2{ font-weight: bold; letter-spacing: 0.125em; padding-bottom: 13px;}
#address p{ margin-bottom: 33px;}
#address a.button{ margin: 26px auto 0px; margin-bottom: 89px; }

.line{ border: 1px dotted #4f1266; }
footer{ padding: 63px 0px; }
footer h1 img{ display: block; margin: 0 auto;}
.copyright { text-align: center; }


/* CONTENT SUB ---------------------- */

ul.pan{ display: block;  margin-bottom: 37px;}
ul.pan li{ display: inline-block; font-size: 13px; font-size: 0.72rem; line-height: 1.59; letter-spacing: 0.25em; }
/*ul.pan li:after{ content: " > "; }*/
ul.pan li a:hover{ color:#4f1266; background-color: rgba(79,18,102,0.2); }

.pager{ margin-top: 63px;}

#single{ padding-top: 126px;}
.single {padding: 0px 4.35%;}

#archive .title { padding: 26px 0px 89px; }
#archive .title h1{ text-align:left; padding-bottom:0px;  }
#archive .title { padding: 26px 0px 89px; }
#archive .title h1{ text-align:left; padding-bottom:0px;  }

article.contents { margin-bottom: 63px; }
article.contents p.date{ font-size: 13px; font-size: 0.72rem; line-height: 1; padding: 26px 0px 4px;}
article.contents h1{ font-size: 30px; font-size: 1.666rem; line-height: 1.333; font-weight: bold; padding: 13px; background-color: rgba(79,18,102,1); letter-spacing: 0.06em; margin-bottom: 45px; color:#fff; font-family: "Noto Sans JP";}
article.contents h2{ font-size: 30px; font-size: 1.666rem; line-height: 1.333; color: #4f1266; letter-spacing: 0.06em; margin: 110.5px 0 10.5px; padding: 12px 8px 14px 13px; border-left: 6px solid #4f1266; border-bottom: 1px solid #4f1266; font-weight: bold; background-color: rgba(79,18,102,0.2);font-family: "Noto Sans JP";}
article.contents h3{ padding: 8px 8px 8px 13px; border-left: 6px solid #333; border-bottom: 1px solid #333; margin:73.5px 0 10.5px; color: #333; letter-spacing: 0.06em; font-weight: bold; background-color: rgb(102,102,102,0.15); line-height: 1.333; font-family: "Noto Sans JP";}
article.contents h4{ font-size: 21px; font-size: 1.166rem; letter-spacing: 0.06em; font-weight: bold; padding-left: 1.1em; position: relative; margin: 1.6em 0px 10.5px;font-family: "Noto Sans JP";}
article.contents h4:before{content: ""; position: absolute; top: .1em; left: 0; -webkit-transform: rotate(50deg); -ms-transform: rotate(50deg); transform: rotate(50deg); width: 8px; height: 12px; border-right: 3px solid #4f1266; border-bottom: 3px solid #4f1266; 
}
article.contents p{ font-size: 16px; font-size: 0.888rem; line-height: 1.777; padding: 1.6em 0px 1.6em; font-family: "Noto Sans JP"; }
article.contents strong{ font-weight: bold;}
article.contents img{ padding: 1em 0 0.6em; }
article.contents a{ color: #4f1266; line-height: 1.59; font-weight: bold; text-decoration: underline; font-family: "Noto Sans JP"; }
article.contents a:hover{ background-color: rgba(79,18,102,0.2); }
article.contents iframe{ padding:7.5px 0px 10.5px; }
article.contents p.tag-but{ padding: 0px; margin-bottom: 37px;}
article.contents p.tag-but a{font-size: 13px; font-size: 0.72rem; line-height: 1; padding: 4px; border: 1px solid; display: inline-block; margin-bottom: 0px; margin-right: 4px; color: #333 !important; text-decoration: none !important;}
article.contents table{ border-collapse: collapse; width: 80%; margin: 1em 0; border: 1px #4f1266 solid; border-bottom: 1px #4f1266 solid; }
article.contents table tr { border-bottom: 1px #4f1266 dotted;  }
article.contents table td{ vertical-align: middle; font-size: 16px; padding:14px 18px 14px 26px; border-right: 1px #4f1266 dotted; }

.page-contents{ padding: 0 16.66%;}

.sidebar{ padding-top: 26px; padding-left: 74px;}
.sidebar h2{ padding-bottom: 21px; border-bottom: 1px solid #333;}
.sidebar table{ border-collapse: collapse; width: 100%; margin-bottom: 89px; }
.sidebar table tr{ border-bottom: 1px dotted #333; }
.sidebar table th { padding: 13px 0px 13px 13px; width: 99px; }
.sidebar table td { padding: 13px; vertical-align: top; }
.sidebar table td p.date{font-size: 13px; font-size: 0.72rem; line-height: 1;padding: 3px 0px 6px; color: #666; font-family: "Noto Sans JP";}
.sidebar table td h3 a{ font-size: 16px; font-size: 0.888rem; line-height: 1; letter-spacing: 0.125em; color: #4f1266; font-family: "Noto Sans JP";}
.sidebar table td h3 a:hover{ text-decoration: underline; }
.sidebar table th a img:hover{ opacity: 0.8; }
.sidebar table.cate td h3 a{ text-decoration: none; }
.sidebar table.cate td h3 a span{ font-size: 13px; font-size: 0.72rem; } 

table.mail { border-collapse: collapse; width: 100%; margin-top: 74px;  }
table.mail tr {  }
table.mail th{ text-align:right; width:33.3%; vertical-align: middle; font-size: 16px;}
table.mail th span { color:#4f1266; font-size:10px; font-size: 0.62rem; line-height:1;  }
table.mail td{ padding:14px 18px 14px 26px; width:66.7%; }
table.mail input[type="text"] { width:80%; }
table.mail textarea { width:90%; }
input[type="submit"],input[type="reset"] { color:#fff; padding:12px 26px;  font-size: 16px; font-size: 1.00rem; line-height: 1;
background: #4f1266; border: none; }
input[type="submit"]:hover, input[type="reset"]:hover{ cursor : pointer; opacity: 0.9; background-color: #4f1266; }












/* --------------------------------- */
/* Responsive ---------------------- */
@media only screen and (max-width: 1024px) {
	.column,.columns { padding: 0 12px;}
	/* top */
	.section-text{ padding: 0 12px 0 24px;}
	
	/* SUB  ↓サブページのレスポンシブCSS　*/
	.subpage { padding: 0 12%;}
	
}/* /1024 */

@media only screen and (max-width: 768px) {
	html { font-size:16px }
	.pdl16 { padding-left:8px; }
	.pdr16 { padding-right:8px; }
	.onlymobile { display:inherit; }
	.onlypc { display:none;}
	
	/* top */
	.title{ padding: 89px 0px 57px; }
	.textzone{ text-align: center; }
	.textzone img{ width: 70%; padding-bottom:30px;}
	.section-text { width: 100%; position: static; left: 0; }
	.section-text a{ margin:0 auto; }
	
	/* SUB  ↓サブページのレスポンシブCSS　*/
	.subpage { padding: 0 12px;}
	.sidebar table td p.date{ margin-bottom: 0px;}

	
	
}/* /768 */
	

@media only screen and ( max-width: 540px) {
	html { font-size:14px }
	body { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; width: 100%; min-width: 0; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
	.row { width: 100% !important;; max-width: 100%; min-width: 1px; margin: 0 auto; } 
	.column, .columns { width: auto !important; float: none; }
	.column:last-child, .columns:last-child { float: none }
	[class*="column"] + [class*="column"]:last-child {float: none;}
	.column:before, .columns:before, .column:after, .columns:after { content: ""; display: table; }
	.column:after, .columns:after { clear: both }
	.offset-by-one, .offset-by-two, .offset-by-three, .offset-by-four, .offset-by-five, .offset-by-six, .offset-by-seven, .offset-by-eight, .offset-by-nine, .offset-by-ten { margin-left: 0 !important }
	.push-two, .push-three, .push-four, .push-five, .push-six, .push-seven, .push-eight, .push-nine, .push-ten { left: auto }
	.pull-two, .pull-three, .pull-four, .pull-five, .pull-six, .pull-seven, .pull-eight, .pull-nine, .pull-ten { right: auto }
	/* Mobile 4-column Grid */
	.row .mobile-one { width: 25% !important; float: left; padding: 0 5px; }
	.row .mobile-one:last-child { float: right }
	.row .mobile-one.end { float: left }
	.row.collapse .mobile-one { padding: 0 }
	.row .mobile-two { width: 50% !important; float: left; /*padding: 0 5px;*/ padding: 0 10px 0px 0px; margin-bottom:10px;}
	.row .mobile-two:last-child {  float: /*right*/left }
	.row .mobile-two.end { float: left }
	.row.collapse .mobile-two { padding: 0 }
	.row .mobile-three { width: 75% !important; float: left; padding: 0 15px; }
	.row .mobile-three:last-child { float: right }
	.row .mobile-three.end { float: left }
	.row.collapse .mobile-three { padding: 0 }
	.row .mobile-four { width: 100% !important; float: left; padding: 0 15px; }
	.row .mobile-four:last-child { float: right }
	.row .mobile-four.end { float: left }
	.row.collapse .mobile-four { padding: 0 }
	
	/* ALL */
	nav { margin-top: 52px;}
	nav ul li{ margin-right: 0px; width: 13%; }
	/* top */
	.textzone img{ width: 100%; }
	.section-text{ text-align: left; padding: 0px; }
	

	/* SUB  ↓サブページのレスポンシブCSS　*/
	
	
	
 }/* /540 */
