@charset "utf-8";



html     ,
body     ,
article  ,
section  ,
div      ,
h1       ,
h2       ,
h3       ,
h4       ,
h5       ,
dl       ,
dt       ,
dd       ,
ul       ,
ol       ,
li       ,
p        ,
input    ,
select   ,
textarea {
	margin:0;
	padding:0;
	font-family:"Zen Kaku Gothic Antique", sans-serif, "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color:#555052;
	font-size:14px;
	font-weight:400;
	font-feature-settings:"palt"1;
	line-height:2;
	letter-spacing:0.06em;
	word-break: break-all;
	overflow-wrap: break-word;
	-webkit-text-size-adjust:100%;
	border:none;
}

@media only screen and (max-width:640px){
    
    html     ,
    body     ,
    article  ,
    section  ,
    div      ,
    h1       ,
    h2       ,
    h3       ,
    h4       ,
    h5       ,
    dl       ,
    dt       ,
    dd       ,
    ul       ,
    ol       ,
    li       ,
    p        ,
    input    ,
    select   ,
    textarea {
        font-size:13px;
		line-height:2;
		letter-spacing:0.02em;
    }
}

.en ,
.page2nd main h2 span ,
ul.categoryList li a ,
#topics [class^="category-"] ,
footer > small {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-style: 400;
    letter-spacing:0.6rem;
}

html {overflow-y:scroll; margin-bottom:1px; height:100%;}
body {background:#ebeae9; overflow-x:hidden;}

img {
    max-width:100%;
	margin: 0;
	padding:0;
	vertical-align:bottom;
	line-height:0;
	border:none;
    -webkit-backface-visibility: hidden;}

ul , ol {list-style:none;}
li {list-style-position:outside;}

table {border-collapse:collapse;}
th,td {padding:0; text-align:left; vertical-align:top;}

a {color:#a59484; text-decoration:none; transition: .2s;}
a:hover {opacity:.6;}

p {text-align:justify; text-justify:inter-ideograph;}

* {-webkit-appearance: none;}

::selection {background:#d7d5d2;}
::-moz-selection {background:#d7d5d2;}



@media only screen and (min-width:641px){

    .sp ,
    .SPnav { display:none !important;}
}

@media only screen and (max-width:640px){
    
    .pc ,
    .PCnav { display:none !important;}

}



/* header */

header {
    width:96%;
    padding:20px 2%;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:center; align-items:center;
    position:fixed; top:0; left:0;
    transition: .5s;
    z-index:10000;
}
header h1 {width:120px;}
header h1 a {display:block;}

@media only screen and (min-width:641px){
    
    header.scroll-class {background:rgba(255,255,255,0.9);}
}

@media only screen and (max-width:640px){
    
    header {
        width:90%;
        padding:20px 5%;
        background:none;
    }
    header h1 {width:110px;}
}



/* PCnav */

@media only screen and (min-width:641px){
    
    ul.PCnav {display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;}
    ul.PCnav li a {
        margin:0 12px;
        color:#555052;
        font-size:0.9rem;
        text-align:center;
        letter-spacing:0.05rem;
    }
	ul.PCnav li.sns-i a {
		width:29px;
		display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
	}
    ul.PCnav li.bf a ,
    ul.PCnav li.mf a {
        margin:0 0 0 10px;
        padding:0 10px;
        display:block;
        color:#fff;
        font-size:0.85rem;
    }
    ul.PCnav li.bf a {background:#a59484;}
    ul.PCnav li.mf a {background:#555052;}
}



/* SPnav */

@media only screen and (max-width:640px){
    
    .menu-btn {
        width: 60px;
        height:60px;
        position:fixed; top:0; right:0;
        display:flex; justify-content:center; align-items:center;
        border-radius:0 0 0 3px;
        background:#a59484;
        z-index:20000;
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 30px;
        border-radius: 3px;
        background:#ffffff;
        position:absolute;
        transition: .3s;
    }
    .menu-btn span:before {bottom:8px;}
    .menu-btn span:after {top:8px;}
    
    #menu-btn-check:checked ~ .menu-btn span {background-color:rgba(255, 255, 255, 0);}
    #menu-btn-check:checked ~ .menu-btn span::before {bottom:0; transform:rotate(45deg);}
    #menu-btn-check:checked ~ .menu-btn span::after {top:0; transform:rotate(-45deg);}
    #menu-btn-check {display:none;}
    
    .menu-content {
        width: 100%;
        height:100%;
        position:fixed; top:0; left:100%; /* 画面外へ */
        z-index:10000;
        transition:all 0.5s;
    }
    .menu-content ul {
        width:70%;
        margin: 30px auto 0;
        padding:10px 10% 50px;
        border-radius:3px;
        background:rgba(0,0,0,0.7);
        position:relative;
        z-index:2000;
    }
    .menu-content ul li {
        margin:18px 0 0;
    }
    .menu-content ul li > a {
        width:100%;
        display: block;
        color:#fff;
        font-size:0.9rem;
        line-height:1.2;
        text-align:center;
    }
    .menu-content ul li:first-child a {width:120px; margin:0 auto 30px;}
    
    .menu-content ul li.bfmf {
        padding:15px 0 10px;
        display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
    }
    .menu-content ul li.bfmf a {
        width:46%;
		margin:0 2px;
        padding:9px 0;
        font-size:0.85rem;
    }
    .menu-content ul li.bfmf a:nth-child(1) {background:#fff; color:#555052;}
    .menu-content ul li.bfmf a:nth-child(2) {background:#a59484; letter-spacing:0;}
    
    .menu-content ul li.tel a {
        font-size:1.1rem;
        letter-spacing:0.1rem;
    }
    .menu-content ul li.tel a b {
        font-size:1.8rem;
        font-weight:normal;
    }
    
    #menu-btn-check:checked ~ .menu-content {left:0; /* 画面内へ*/}
	
	.fixedMenu {
		display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
		position:absolute; top:20px; right:76px;
	}
	.fixedMenu a.menu01 {width:29px; margin-right:10px; display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;}
	.fixedMenu a.menu02 {padding:0 8px; color:#fff; font-size:0.85rem; letter-spacing:0; border-radius:2px; background:#555052;}
}



/* main */

.page2nd main h2 {
    margin:0 auto;
    padding:150px 0 0;
	font-size:1.75em;
	line-height:1.125;
	text-align:center;
	word-break:break-word;
}
.page2nd main h2 .en {
	display: block;
	margin-bottom: 0.25em;
	padding-left: 0.1em;
	font-size:3rem;
    font-weight:300;
}
.page2nd main h2 b {
	position: relative;
	padding: 0 25px;
	font-size:1rem;
	font-weight:normal;
}

@media only screen and (max-width:640px){}



/* article / section */

article {
    width:100%;
    margin:0;
}
section {
    width:84%;
    max-width:1000px;
    margin:0 auto;
    padding:150px 0 0;
}
section h3 {
    width:100%;
    margin:0 0 20px;
    color:#a59484;
    font-size:1.5rem;
    line-height:1.5;
}

.page2nd section {
    padding:50px 0 0;
}

@media only screen and (max-width:640px){
    
    section {padding:50px 0 0;}
    section h3 {
        font-size:1.2rem;
        line-height:1.5;
    }
}



/* more */

a.more {
    width:120px;
    margin:30px auto 0;
    padding:0;
    display:block;
    font-size:1rem;
    text-align:center;
    line-height:1;
    letter-spacing:0.3rem;
	position:relative;
}
a.more::before {
	content:"";
	width: 6px;
	height:6px;
	position:absolute; top:0; bottom:0; right:3px;
	margin:auto;
	vertical-align:middle;
	border-top:1px solid #a59484;
	border-right:1px solid #a59484;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}

@media only screen and (max-width:640px){
    
    a.more {margin:20px auto 0;}
}



/* topics */

#topics ul.topicsList {
    width:100%;
    margin:0 auto 50px;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:flex-start; align-items:flex-start;
}
#topics ul.topicsList > li {
    width:30%;
    margin:0 1.5%;
}

#topics ul.topicsList li a {display:block;}

#topics [class^="category-"] {
    margin:15px 0 10px;
    padding:8px 10px 5px 12px;
    display:inline-block;
    color:#fff;
    font-size:0.8rem;
    line-height:1;
    letter-spacing:0.2rem;
}
#topics .category-news {background:#88644c;}
#topics .category-fair {background:#76bea5;}
#topics .category-plan {background:#f0829c;}

#topics ul.topicsList li a h3 {
    width:100%;
    margin:0;
    color:#555052;
    font-size:0.85rem;
    text-align:left;
    line-height:1.8;
}

body#topics ul.topicsList {justify-content:space-between;}
body#topics ul.topicsList > li {width:47%; margin:0 0 70px;}

@media only screen and (max-width:640px){
    
	#topics ul.topicsList {margin:0 0 60px;}
	#topics ul.topicsList > li {width:100%;}
	#topics ul.topicsList li a h3 {font-size:0.9rem;}
	#topics .slick-dots {bottom:-50px;}

	body#topics ul.topicsList > li {width:100%; margin:0;}
	
	body#index #topics {width:100%;}
	body#index #topics ul.topicsList li a {width:90%; margin:0 auto; display:block;}
}



/* footer */

footer {
    width:100%;
    margin: 0 auto;
    padding:60px 0;
    position:relative;
}
footer ul {
	width:100%;
	margin:0 auto 30px;
	display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
footer ul li {margin:5px;}
footer ul li a {
	margin:0;
	padding:0 16px;
	display:block;
	font-size:0.86rem;
	border-radius:50px;
	border:solid 1px #a59484;
}

footer small {
    width:100%;
    margin:0 auto;
    display:block;
    color:#a59484;
    font-size:1rem;
    text-align:center;
    letter-spacing:0.4rem;
}

@media only screen and (max-width:640px){
    
    footer small {font-size:0.85rem;}
}


