.slick-dotted.slick-slider {
    margin-bottom: 60px;
}
/*------------------------------------*\
  基本
\*------------------------------------*/
html {
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
body {
	overflow-x: hidden;
	font-size: 100%;
	background:#f9f9f9;
	font-family: 'Noto Sans JP', serif;
	font-weight: 400;
}
._innerContent{
	margin:0 auto;
	max-width:75rem
}

.small {
	font-size:0.9rem;
}
.lead {
	font-size: 1.05em;
	line-height: 1.9;
}
.lead.line {
	font-size: 1.05em;
	line-height: 1.9;
	padding:0 0 10px 0;
	border-bottom:1px solid #bbb;
	margin-bottom:4vh;
}
.section_inner {
    max-width: 75rem;
    margin: 0 auto;
}

strong.price {
	color:#C00;
	font-size:1.4em;
}
.require{
	background:#c00;
	color:#FFF;
	font-size:0.8rem;
	padding:1px 5px;
	border-radius:4px;
}
.red{
	color:#C00;
}
.mt0 {
	margin-top:0px;
}
.mt5 {
	margin-top:5px;
}
.mt10 {
	margin-top:10px;
}
.mt20 {
	margin-top:20px;
}
.mt30 {
	margin-top:30px;
}
.mb0 {
	margin-bottom:0px;
}
.mb5 {
	margin-bottom:5px;
}
.mb10 {
	margin-bottom:10px;
}
.mb20 {
	margin-bottom:20px;
}
.mb30 {
	margin-bottom:30px;
}
.bnr {
	margin:10px 0;
}
.font-en{
font-family: 'Arizonia', cursive;
}
.title-en{
	font-family:serif;
}
figure{
	margin:0 0 10px 0;
}
figure.padding{
	padding:30px;
	background:#FFF;
}
.inner {
	padding:1rem;
}

/*--------------------------------
 ly
--------------------------------*/
.ly_inner{
	max-width:64em;
	margin:0 auto;
}
.ly_padding{
	padding:40px 0 0 70px;/*PCは左固定ナビの分空ける*/
}
.ly_mv{
	max-width:80em;
	margin:0 auto;
}
/*--------------------------------
 video
--------------------------------*/
.video-container {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.video-container iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
video{
	width:100%;
}
/*--------------------------------
 img
--------------------------------*/
img.img-circle {
	border-radius:50%;
}
img.img-small {
	max-width:240px;
	height:auto;
}
a:link, a:active, a:visited {
	color:#000;
}
a img {
	box-shadow:0 0 0 #000;
	transition:all linear 200ms;
}
a img:hover {
	opacity:0.7;
}
a .frame {
	color:#000;
}
a .frame:hover {
	color:#888;
}
img.border {
	border:1px solid #ccc;
}
img.grayfilter {
	-webkit-filter: grayscale(1); /* Webkit */
	filter: gray; /* IE6-9 */
	filter: grayscale(1); /* W3C */
}
.shadow {
	box-shadow:0 0 6px rgba(0,0,0,0.3);
	transition:all ease-in-out 0.3s;
}
.shadow:hover {
	background:#f7f7f7;
	box-shadow:0 0 0 rgba(0,0,0,0.3);
}
/*--------------------------------
 header
--------------------------------*/
header {
	height:80px;
	background:#FFF;
}
header h1.logo {
	margin:0 auto;
	padding:10px 0;
	line-height:1;
	text-align:center;
	font-family: 'Playfair Display', serif;
	font-size:1.9rem;
}

.desc {
	font-size:0.8rem;
	margin:3px 0 0 0;
	text-align:center;
	color:#000;
}
header .flex-header{
	display:flex;
	flex-direction:row-reverse;
	align-items:center;
}
header .flex-header .flex-item{
	display:flex;
	align-items:center;
	background:#000;
	height:80px;/*headrの高さと合わせる*/
}
header .flex-header .flex-item.contact{
	background:#FFF;
}
header .flex-header .flex-item.mailmag{
	background:#ec8d05;
}
header .flex-header .flex-item a{
	display:block;
	color:#dd6584;
	font-weight:700;
	padding:15px;
}
header .flex-header .flex-item a i{
	font-size:1.5rem;
}
.navWrapper {
	background:#FFF;
	padding-top:20px;
}
.navWrapper.fixed {
	position:fixed;
	top:0;
	left:0;
	z-index:10;
	width:100%;
}

 @media (min-width:40em) {
.tel {
	margin:10px 0;
}
header h1.logo {
	font-size:4rem;
}
}
/*--------------------------------
 content
--------------------------------*/
.titleBox {
	background:#e70000;
	position:relative;
}
.titleBox h2 {
	color:#FFF;
	font-size:1.7em;
	text-align:center;
	padding:7px;
}
.titleBox h3 {
	color:#FFF;
	font-size:1.5em;
	border:none;
	margin:0;
	text-align:center;
	padding:7px;
}
.fullWidth {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: initial;
}
#primary {
	margin:0 auto;
	max-width:1100px;
	padding:1vh 20px 20px;
}
#primary.fullWidth {
	width:100%;
	max-width:inherit;
}
#archives {
	padding:1vh 20px 20px;
}
section {
	position:relative;
	margin-bottom:50px;
}
article {
	margin:30px 0;
}
section#case {
	padding:40px 0;
	background:#f1f1f1;
}
/* 吹き出し本体 */
.balloon {
	position: relative;
	padding: 20px;
	background:#FFF;
	border:3px solid #dd6584;
	border-radius:10px;
}
.balloon a{
	color:#dd6584;
}
/* アイコンを下に表示 */
.balloon::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 20px;
	bottom: -15px;
	border-top: 15px solid #dd6584;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
}
span.question {
	font-size:1.7em;
	color:#1284b3;
	font-weight:700;
}
span.answer {
	font-size:1.7em;
	color:#e70000;
	font-weight:700;
}
.visual {
	position:relative;
	height:240px;
	background:url(../img/visual_default.jpg) no-repeat top center;
	background-size:cover;
}
.visual .title-en{
	position:absolute;
	top:calc(50% - 50px);
	left:40px;
	line-height:1;
	color:rgba(255,255,255,.4);
	font-size:4em;
	font-family:serif;
}
body.post-type-archive .visual{
	position:relative;
	height:240px;
	background:url(../img/visual_archive.jpg) no-repeat top center;
	background-size:cover;	
}
/*------------------------
 * H
 * -------------------------*/
h1, h2, h3, h4, h5, h6 {
	font-weight:700;
}

.titleInner {
	position:absolute;
	top:30%;
	width:100%;
}
.titleInner h1 .letters{
	font-size:1.8rem;
	color:#b3a158;
	padding:0 0 0 40px;
}
.titleInner h1 .letters span{
	font-size:0.7em;
	color:#000;
	display:block;
}
section p, section li {
	font-size:1em;
	line-height:1.8;
}
section .title-header {
	text-align:center;
	font-size:0.9rem;
	margin-bottom:4vh;
}
section h2{
	position:relative;
	margin-bottom:1em;
	font-size:1.3rem;
	color:#af9a09;
	padding-bottom:.3em;
	border-bottom:1px solid #AAA;
}
p + h2{
	margin-top:2em;
}
section h1{
	position:relative;
	margin-bottom:30px;
	font-size:1.4rem;
	color:#000;
}
section h1 span {
	font-weight:normal;
	display:block;
	font-size:0.6em;
	line-height:1;
	padding-top:7px;
}
section h1.blog-title {
	color:#000;
	font-size:1.2rem;
	padding:30px 0;
	text-align:center;
}
section h3 {
	font-weight:bold;
	font-size:1.1rem;
	margin-bottom:1rem;
	color:#b09233;
}

section h3 span {
	font-family: "メイリオ", Meiryo, "ヒラギノ;角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight:normal;
	font-size:0.8em;
}
section h3 span.num {
	font-size:1.4em;
}
h4 {
	color:#000;
	font-size:1.05rem;
	font-weight:700;
}
h5 {
	color:#444;
	font-weight:700;
	font-size:1.05rem;
}
div.number{
	font-size:2rem;
	font-weight:700;
	color:#666;
}
.bottomArea{
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
}

/*------------------------
 * numList
 * -------------------------*/
.numList{
	display:flex;
	align-items:center;
	margin-bottom:10px;
}
.numList span.num{
	width:1.2em;
	font-size:2rem;
	font-weight:700;
	border-right:1px solid #CCC;
}
.numList .text{
	flex:1;
	padding-left:1em;
}

/*------------------------
 * flow
 * -------------------------*/
.svg-sprite{
	position: absolute; 
	width: 0; 
	height: 0; 
	overflow: hidden;
}

.downallow {
	position:relative;
	width:100%;
	height:30px;
	margin-bottom:20px;
}

.downallow svg{
	position:absolute;
  top:0;
	left:50%;
  transform: translateX(-50%);
	width:30px;
	height:20px;
	fill:#392213;
}

/*------------------------
 * hr
 * -------------------------*/
hr.center{
	height:2px;
	background:#C00;
	width:200px;
	border:none;
	margin:6vh auto;
	animation:hrAni 2s ease forwards;
}
hr.center.mid{
	background:#720707;
}
hr.center.new{
	background:#1a3fa7;
}
@keyframes hrAni{
	0%{transform:scaleX(0)}
	100%{transform:scaleX(1)}
}

/*------------------------
 * flex-wrapper
 * -------------------------*/
.flex-wrapper{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.flex-wrapper.two .flex-one{
	width:48%;
}
.flex-wrapper.three .flex-one{
	width:32%;
}
.flex-wrapper.three .flex-two{
	width:64%;
}
.flex-wrapper.four .flex-one{
	width:24%;
}
.flex-wrapper.four .flex-three{
	width:72%;
}
.flex-wrapper.five .flex-one{
	width:18%;
}


/*--------------------------
 * flex-grid
 * -------------------------*/
.grid-wrapper{
	display:grid;
	grid-template-columns:1fr 1fr;
	column-gap:7px;
	margin-bottom:40px;
}
.grid-wrapper.four{
	grid-template-columns:1fr 1fr ;
}
.grid-wrapper .grid-item{
	background:#FFF;
	margin-bottom:7px;
}
.grid-wrapper .grid-item .textBox{
	padding:10px;
}
.postslider .textBox{
	padding:10px ;
}

@media(min-width:40em){
.grid-wrapper{
	grid-template-columns:1fr 1fr 1fr;
}	
.grid-wrapper.four{
	grid-template-columns:1fr 1fr 1fr 1fr;
}	
.grid-wrapper .grid-item .textBox{
	padding:10px 20px;
}
}

/*------------------------
 * label
 * -------------------------*/
.label{
	border-radius:4px;
	background:#666;
	font-weight:bold;
	margin:0 3px;
}
.label a{
	color:#FFF;
}

/*------------------------
 * box
 * -------------------------*/
.box {
	background:#6b5b29;
	width:300px;
	text-align:center;
	position:relative;
	color:#FFF;
	font-size:1.5rem;
	margin:0 auto;
	cursor:pointer;
}
.box .inner{
	padding:20px;
}
.box a{
	color:#FFF;
}
.box h3.tab {
	position: relative;
	background:#C00;
	padding:5px;
	color:#FFF;
	font-size:1.2rem;
}
.box h3.tab:after {
	position: absolute;
	display:inline-block;
	content:"";
	top:-2px;
	margin-left:5px;
	border-bottom: 41px solid transparent;
	border-left: 41px solid #C00;
}
.box h5 {
	position:absolute;
	color:#FFF;
	padding:2px 3px;
	margin:0;
	font-size:0.8rem;
}
.box.kado {
	background:url(img/title_support_bg_sp.png) no-repeat -10px 0;
}
.box.kado p {
	padding:10px;
	color:#C00;
}
/*------------------------
 * innerBox
 * -------------------------*/
.innerBox {
	position:relative;
}
.innerBox .date {
	position:absolute;
	top:10px;
	background:#C00;
	padding:1px 5px;
	color:#FFF;
	font-size:0.9rem;
}

/*--------------------------------
 news
--------------------------------*/
ul.news {
	margin:0 0 20px 0;
	padding:0;
}
ul.news li {
	display:flex;
	flex-wrap:wrap;
	padding:7px 0;
	border-bottom:1px dotted #CCC;
}
ul.news li .date {
	width:12%;
	font-size:0.9rem;
	font-weight:700;
	color:#dd6584;
}
ul.news li .tag {
	width:12%;
}
ul.news li .tag .label{
	width:8em;
	text-align:center;
	border-radius:3px;
	background:#000;
}
ul.news li .title {
	width:68%;
}
/*--------------------------------
 treatise
--------------------------------*/
ul.treatise{
	margin:0;
	padding:0;
}
ul.treatise li{
	list-style:none;
	padding:7px 3px;
	border-bottom:1px solid #CCC;
}
ul.treatise li .flex-date{
	width:4em;
}
ul.treatise li .flex-text{
	flex:1;
}
ul.treatise li .date{
	color:#666;
}
/*--------------------------------
 check
--------------------------------*/
ul.check li{
	font-size:1.1rem;
	list-style:none;
	background:url(../img/icon_check.png?456) no-repeat 0 16px;
	background-size:18px;
	border-bottom:1px dotted #ccc;
	padding:7px 0 7px 26px;
}

/*--------------------------------
 number
--------------------------------*/
ul.number {
	margin:0 0 20px 0;
	padding:0;
}
ul.number li {
	display:flex;
	flex-wrap:wrap;
	padding:7px;
	border:1px dotted #AAA;
	margin-bottom:10px;
}
ul.number li span{
	display:inline-block;
	border-right:1px solid #AAA;
	font-size:1.1rem;
	font-weight:700;
	padding:0 10px;
	margin-right:10px;
}
ul.number li div.text{
	flex:1;
}


/*--------------------------------
 primary
--------------------------------*/
#primary .widget {
	margin:0 0 30px 0;
}
#primary .widget ul{
	margin:0;
}
#primary .widget ul li{
	list-style:none;
	display:inline-block;
	margin:7px 7px 7px 0;
	background:#dd6584;
	color:#FFF;
	padding:5px 20px;
	border-radius:20px;
	box-shadow:5px 5px 0 #ccc;
}
#primary .widget ul li a{
	color:#FFF;
	display:block;
}
#primary .widget ul li:hover{
}
/*--------------------------------
 secondary
--------------------------------*/
#secondary {
	padding:3vh 0 0;
}
#secondary .widget {
	margin:0 0 30px 0;
}
#secondary h3 {
	color:#000;
	font-size:0.9em;
	text-align:center;
	padding:15px 10px;
	border:1px solid #bbb;
	margin-bottom:0;
}
#secondary ul {
	margin:0;
	padding:0 0 20px 0;
}
#secondary ul li {
	list-style:none;
	border-bottom:1px dotted #bbb;
	font-size:0.9em;
}
#secondary ul li a {
	display:block;
	padding:5px 10px;
}
#secondary ul li a:hover {
	background:#f7f7f7;
}
/*--------------------------------
 footer
--------------------------------*/
.fixed_footer{
	position:fixed;
	bottom:5px;
	left:0;
	width:100%;
	justify-content:center;
	flex-wrap:wrap;
	display:flex;
	z-index:100;
}
.fixed_footer div{
	margin: 0 5px;
}

footer{
	position:relative;
	padding:60px 10px 40px;
	margin:120px 0 20px 0;
	background:#f0ede4;
}
footer #contactArea{
	background:#FFF;
	padding:20px;
	max-width:640px;
	margin:-120px auto 30px;
}

footer #contactArea .title{
	font-weight:700;
	font-size:2rem;
}

footer #contactArea .button{
	background:#5f980d;
	color:#FFF;
	padding:10px 40px;
}

footer #contactArea .button:hover{
	background:#FFF;
	color:#5f980d;
}

footer .footer-logo{
	max-width:200px;
}
footer ul.link {
	margin:20px 0;
}

footer ul.link li{
list-style:none;
	padding:5px 0;
}

footer .menu {
	display:block;
	font-size:0.9rem;
	margin:0;
}
footer .menu li {
    position: relative;
	font-size:0.9rem;
	line-height:1.3;
	list-style:none;
}
footer .menu li a{
    color: #222;
	padding:7px 0 7px 16px;
}

.copyright {
	font-size:0.8rem;
	padding-bottom:80px;
}

@media(max-width:40em){
.fixed_footer div{
		width:48%;
	margin:0 2px;
}
footer .menu li a{
	font-size:0.85rem;
	}
}
/*--------------------------------
 table
--------------------------------*/
table.table {
	width:100%;
	border-top:1px solid #444;
}
table.table th, table.table td {
	line-height:1.8;
}
table.unstriped tbody {
	background-color: transparent;
}
table.price thead th,
table.table-bordered thead th{
	background:#999;
	color:#FFF;
}
table.unstriped th {
	text-align:left;
}
table tbody, table tfoot, table thead {
	border: none;
}

table.table-bordered th {
	border:1px solid #bbb;
	background:#f4f4f4;
}
table.table-bordered td {
	border:1px solid #bbb;
}
@media (min-width:40em){
	table .w33{
		width:33%;
	}
}
/*--------------------------------
 label
--------------------------------*/
.lavel.gray {
	background:#666;
}

/*--------------------------------
 accordion
--------------------------------*/
.acMenu dt figure{
margin-top:-60px;
 }
.acMenu dt{
display:block;
cursor:pointer;
	font-weight:normal;
	margin-bottom:5vh;
 }
.acMenu dd{
    display:none;
	margin-bottom:5vh;
}
.accordion {
    background: transparent;
}
.accordion-content {
    background: transparent;
}
/*--------------------------------
 tab
--------------------------------*/
.tabs {
	background: transparent;
	border: none;
}
.tabs-title {
	margin-right: 10px;
}
.tabs-title>a {
	display: block;
	background: #a9a8a8;
	color:#FFF;
	padding: 0.8rem 0.6rem;
	line-height: 1;
	font-size: 0.9rem;
	font-weight:700;
	border-radius:8px 8px 0 0;
}
.tabs-title>a:hover {
	color:#FFF;
	background: #888;
}
.tabs-title>a:focus, .tabs-title>a[aria-selected=true] {
	background: #e70000;
	color:#FFF;
}
.tabs-content {
	background: transparent;
	border: none;
	overflow:auto;
	border-top:8px solid #e70000;
	padding-top:20px;
}
.tabs-panel {
	padding: 0;
}
/*-------------------------------------------------
 right-nav
-------------------------------------------------*/
#right-nav {
    position: fixed;
    top: 60px;
    right: 0;
	z-index:2;
}
#right-nav .nav01{
	background:#000;
}
#right-nav .nav02{
	background:#b3a158;
}
/*-------------------------------------------------
 bottom-nav
-------------------------------------------------*/
#bottom-nav{
	 position: fixed;
	display:flex;
	flex-wrap:wrap;
    bottom: 0;
    left: 0;
	width:100%;
	z-index:2;
}
#bottom-nav .nav01{
	width:50%;
	text-align:center;
	background:#000;
}
#bottom-nav .nav02{
	width:50%;
	text-align:center;
	background:#b3a158;
}
/*--------------------------------
 form
--------------------------------*/
input {
	margin:0;
}
input.medium {
	width:10em;
	display:inline-block;
}
input.small {
	width:4em;
	display:inline-block;
}
label {
	display: inline-block;
}
table.table th, table.table td {
	line-height:1.8;
}
/*---------------------
.wp-pagenavi
-----------------------*/
.wp-pagenavi {
	margin:10px 0 20px 0;
}
.wp-pagenavi:after {
	display:block;
	clear:both;
}
.wp-pagenavi a, .wp-pagenavi span {
	text-decoration: none;
	font-size:0.8em;
	border: 1px solid #ccc;
	padding: 7px 12px;
	margin: 2px;
	color:#666;
}
.wp-pagenavi span.current {
	background:#ccc;
	border: 1px solid #ccc;
}

/*--------------------------------
 breadcrumbs
--------------------------------*/
.breadcrumbs {
	font-size:0.8em;
	padding:10px 0;
	margin-bottom:30px;
}
/*--------------------------------
 button
--------------------------------*/
a.button,button,input[type=submit] {
	position:relative;
	border:none;
	color:var(--color--black);
	background:var(--color--white);
	border:2px solid var(--color--black);
	padding:12px 40px;
	font-weight:700;
	z-index:2;
	font-size:1.1em;
	transition:all linear .2s;
}
a.button:hover{
	color:var(--color--black);
	background:var(--color--white);
	box-shadow:0 0 10px rgba(0,0,0,0.3);
}
a.button.full {
	display:block;
	width:100%;
	font-weight:bold;
	text-align:center;
}
table td .button{
	margin-bottom:0;
}
a.button.white {
	background:#FFF;
	border:1px solid #dd6584;
	padding:12px 40px;
	color:#dd6584!important;
}
a.button svg {
    position: absolute;
    top: calc(50% - 6px);
    right: 2%;
	width:10px;
	height:10px;
    fill: #FFF;
}
a.button.middle {
	width:300px;
	margin:7px auto;
}
a.button.large {
	padding:20px 30px;
	font-size:1.1rem;
	margin:20px 0;
}

a.button span{
	font-size:0.7em;
}
a.button.wine{
	background:#720707;
}
a.button.wine svg{
	fill:#720707;
}
a.button.blue{
	background:#1a3fa7;
}
a.button.blue svg{
	fill:#1a3fa7;
}
@media(min-width:40em){
a.button.full {
	display:block;
	width:100%;
	font-size:1.4rem;
	font-weight:bold;
	text-align:center;
}
a.button.round {
	border-radius:32px;
}

}
/*--------------------------------
 accordion
--------------------------------*/
.accordion-title {
	font-size: 1rem;
	border:1px solid #ccc;
}
.accordion-title a:link, .accordion-title a:active, .accordion-title a:visited {
	color: #C00;
}
.accordion-content {
	font-size: 1rem;
	border:none;
}
.accordion-title span.icon-q {
	display:inline-block;
	padding:3px 5px;
	background:#C00;
	color:#FFF;
	text-align:center;
	margin-right:10px;
}
.accordion-content span.icon-a {
	display:inline-block;
	padding:3px 5px;
	background:#1a3fa7;
	color:#FFF;
	text-align:center;
	margin-right:10px;
}
/*--------------------------------
 subpage
--------------------------------*/
.frame {
	background:#f1f1f1;
}
.frame.blue {
	background:#daf2f6;
}
.frame .inner {
	padding:15px;
}
.frame p {
	margin-bottom:0;
}
.borderBox{
	border:1px solid #ccc;
	padding:2vh;
	margin:4vh auto;
}
.shadowbox {
	padding:3vh;
	box-shadow:0 0 10px #ddd;
	background:#C00;
}
.shadowbox.mid {
	background:#720707;
}
.shadowbox.new {
	background:#1a3fa7;
}
.shadowbox h2.maintitle {
	color:#FFF;
}
.shadowbox h4 {
	color:#FFF;
	text-align:center;
}
.circle {
	background:#e70000;
	width:100px;
	height:100px;
	padding:35px 5px;
	color:#FFF;
	border-radius:50%;
	text-align:center;
	margin:0 auto;
}
span.tag {
	display:inline-block;
	margin-bottom:5px;
	background:#666;
	color:#FFF;
	font-size:0.8em;
	padding:2px 7px;
}

/*--------------------------------
 blog
--------------------------------*/

/*--------------------------------
 sitemap
--------------------------------*/
.sitemap li{
	list-style:none;
	padding:10px 0;
	border-bottom:1px solid #ccc;
}

/*--------------------------------
 job
--------------------------------*/
.blogitem{
	margin:2vh 0;
	background:#51ad89;
	border:1px solid #ccc;
}
.blogitem .inner{
	padding:2vh;
}
.blogitem .date{
	font-size:0.9rem;
	color:#FFF;
	padding:0;
	margin:0;
}
.blogitem h3{
	font-size:1rem;
	color:#FFF;
	padding:0;
	margin:0;
}
.blogitem:hover .date,
.blogitem:hover h3{
	color:#51ad89;
	
}
.blogitem .button.large{
	margin:0;
}
@media(min-width:40em){
.blog-wrapper{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.blog-wrapper:after{
	content:'';
	display:block;
}
.blog-wrapper .blogitem{
	width:32%;
}
}


/*--------------------------------
 flex-wrapper
--------------------------------*/
@media only screen and (min-width:40em) {
.flex-wrapper {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.flex-wrapper .flex-one{
	width:48%;
}
.flex-wrapper .flex-one.vertical-center{
	display:flex;
}
}
/*--------------------------------
 responsive table
--------------------------------*/
.table-scroll {
	overflow-x: auto;
}
.table-scroll table {
	width: auto;
}

/*---------------------
 * responsive
 * ------------------------*/
@media only screen and (max-width:40em) {
header a.button {
	display:block;
	width:100%;
	margin-top:15px;
}
table.stack tbody tr{
	margin-bottom:20px;
}
footer .menu li {
	font-size:0.8rem;
}
footer .menu li a{
    color: #666;
	padding:8px 5px;
}
footer .menu li:before {
	display:none;
}
.flex-wrapper.two .flex-one{
	width:100%;
	margin-bottom:3vh;
}
.flex-wrapper.three .flex-one{
	width:100%;
	margin-bottom:3vh;
}
.flex-wrapper.four .flex-one{
	width:100%;
	margin-bottom:3vh;
}
.flex-wrapper.four .flex-three{
	width:100%;
	margin-bottom:3vh;
}
.flex-wrapper.five .flex-one{
	width:100%;
	margin-bottom:3vh;
}
}
@media only screen and (min-width:40em) {
.visual {
	margin-left:40px;
}
.visual .title-en{
	font-size:7em;
}
#primary {
	padding:1vh 30px 1vh 70px;
}
#archives {
	padding:1vh 30px 1vh 70px;
}	
	#primary .entry-content{
		padding-left:40px;
	}
		#primary .breadcrumbs{
		padding-left:40px;
	}
#footer{
	margin-left:40px;		
}	
#primary.fullWidth {
  border:none;
}
.right-text{
		padding:0 70px 0 0;
}
.titleBox:after {
	display:block;
	content:'';
	clear:both;
}
.titleBox h2 {
	position:absolute;
	width:100%;
	top:35%;
}
section h1 {
	font-size:1.9rem;
}
section h2 {
	font-size:1.7rem;
}
section h2.left-title {
	font-size:1.5rem;
}
section h3 {
	font-size:1.1rem;
}

h2.interview-title {
	font-size:1rem;
}
section h1.blog-title {
	font-size:2rem;
}
.flow{
	text-align:center;
}
.bottomArea{
		display:none;
}
}

@media only screen and (min-width: 64em) {
.navWrapper {
	background:#FFF;
}
.visual {
	height:320px;
}
body.post-type-archive .visual{
	height:320px;
}
.submitArea {
    max-width: 640px;
    margin: 5vw auto;
}
section .title-header{
		margin-bottom:6vh;
}
section h2 {
	font-size:1.7rem;
}
section h2.maintitle {
	font-size:1.7rem;
}
section h3 {
	font-size:1.2rem;
}

.tabs-title>a {
	display: block;
	background: #a9a8a8;
	color:#FFF;
	padding: 0.8rem 1rem;
	line-height: 1;
	font-size: 1rem;
	font-weight:700;
	border-radius:8px 8px 0 0;
}
}
/*Video*/
.video-container {
	width:100%;
}
/*innerImage*/
.innerImage {
	position:relative;
	overflow:hidden;
}
.innerImage img {
	width:100%;
	transition:all linear 0.3s;
}
.innerImage:hover img {
	transform:scale(1.1, 1.1);
	opacity:0.8;
	cursor:pointer;
}
.innerImage article {
	position:absolute;
	top:35%;
	width:100%;
	text-align:center;
}
.innerImage article h3 {
	display:inline-block;
	padding:7px 20px;
	color:#FFF;
	background:rgba(0,0,0,0.6);
	border:none;
}

/*------------------------------------*\
  印刷用
\*------------------------------------*/
@media print {
a[href]:after {
	content: "" !important;
}
abbr[title]:after {
	content: "" !important;
}
}



/*Image animation*/
.inner_image {
	overflow:hidden;
	position:relative;
}
.inner_image:before {
  position: absolute;
  z-index: 1;
  background: #b3a158;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  -webkit-transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transition: -webkit-transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transition: transform .5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, -webkit-transform .8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  -webkit-transform: translateY(0);
  transform: translateY(0)
}
.inner_image.is-visible:before {
    -webkit-transform: translateY(101%);
    transform: translateY(101%);
}

/*================
 * 左固定ナビ
 * ================= */
/*トグルボタン*/
.toggleBar{
	position: fixed;
	top:0;
	left:0;
	width:50px;
	height:100vh;
	background:#000;
		-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	z-index:10;
}

.toggleBar .triggerBtn{
	position:absolute;
	left:calc(50% - 25px);
	top:10px;
	left:0;
	display:block;
	padding:10px;
	width:50px;
	height:60px;
	cursor:pointer;
}
.toggleBar .triggerBtn span{
	position:absolute;
	display:block;
	width:30px;
	height:2px;
	background-color:#FFF;
		-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
.toggleBar .triggerBtn span:nth-child(1){
	top:5px;
}
.toggleBar .triggerBtn span:nth-child(2){
	top:15px;
}
.toggleBar .triggerBtn span:nth-child(3){
	top:25px;
}
.toggleBar.active .triggerBtn span:nth-child(1){
	top:10px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.toggleBar.active .triggerBtn span:nth-child(2),.toggleBar.active .triggerBtn span:nth-child(3){
	top:10px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*ナビゲーション*/

.toggleBar .site-logo{
	margin:60px 12px 10px;
}
.toggleBar.active{
	top:0;
	left:0;
}
.toggleBar .contact{
	position:absolute;
	top:auto;
	bottom:0;
	right:0;
	display:block;
	width:100%;
	height:60px;
	padding:7px 7px;
	z-index:10;
	pointer-events:auto;
}
.toggleBar svg{
	width:36px;
}
.toggleMenu{
	position: fixed;
	top:0;
	left:-400px;
	width:400px;
	height:100vh;
	padding:40px 20px 40px 80px;
	background:#f7f7f7;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	z-index:9;
}
.toggleMenu.active{
	left:0;
	top:0;
}

.toggleMenu ul.menu{
	list-style:none;
	margin:0 auto;
	display:block;
}
.toggleMenu ul.menu li{
	padding:10px 0;
	font-family: 'Noto Serif JP',serif;
	display:block;
}
.toggleMenu ul.menu li a{
	color:#000;
}

@media(max-width:40em){
.toggleMenu{
	position: fixed;
	top:-500px;
	left:0;
	width:100vw;
	height:auto;
	padding:20px;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	z-index:9;
}
.toggleBar{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height:50px;
	text-align:center;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	z-index:10;
}
.toggleBar .site-logo{
	margin:9px 50px 0 50px;
	max-width:220px;
}
.toggleBar .triggerBtn{
	left:10px;
	top:7px;
}
.toggleMenu ul{
	list-style:none;
	margin:0 auto;
}
.toggleMenu ul li{
	padding:10px 0;
	font-family: 'Noto Serif JP',serif;
}
.toggleMenu.active{
	top:50px;
}
.toggleBar .contact{
	position:absolute;
	top:0;
	right:7px;
	display:block;
	width:40px;
	height:100%;
	padding-top:7px;
}
.toggleBar svg{
	width:32px;
}
}

/*ブロックエディター向け*/

.wp-block-table table th,
.wp-block-table table td{
    border:1px solid #CCC;
}
.wp-block-table.has-th table tbody tr td:first-child{
   white-space: nowrap;
	background:#f4f4f4;
	font-weight:700;
}
.wp-block-table table thead th{
   text-align:center;
	background:#666;
	color:#FFF;
}
tbody tr:nth-child(even) {
    background-color: #FFF;
}

/*目次*/
.outline{
	border:1px dotted #D8D8D8;
	padding:10px 20px;
	margin:20px auto;
	display:inline-block;
}
.outline__list{
	list-style:none;
	margin:0;
	padding-left:20px;
}
.outline__list li{  
	margin-bottom:7px;
}
.outline__toggle{display: none;}
.outline__switch::before{
	content:"開く";
	cursor:pointer;
	border: solid 1px #D8D8D8;
	padding:5px;
	font-size:1.2rem;
	margin-left:5px;
	border-radius: 5px;
}
.outline__toggle:checked + .outline__switch::before{content:"閉じる"}
.outline__switch + .outline__list{
	overflow:hidden;
	width:0;
	height:0;
	margin-top:0;
	margin-left:-20px;
	transition: 0.2s;
}
.outline__toggle:checked + .outline__switch + .outline__list{
	width:auto;
	height: auto;
	margin-top:20px;
	transition: 0.2s;
}
.outline__item:before {content: normal;}
.outline__link{
	display:inline-block;
	color:#191919 !important;
}
.outline__link:hover{border:none;}
.outline__number{
	display: inline-block;
	color:#7F7F7F;
	background:#F2F2F2;
	padding:3px 6px;
	font-weight:400;
	font-size:1.2rem;
	margin-right: 5px;
}
