@charset "UTF-8";
/* CSS Document */

body,
div,
dl,dt,dd,
ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,td {
	margin:0;
	padding:0;
}

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

fieldset,img {
   border:0;
}

address,
caption,
cite,
code,
dfn,
em,strong,
th,
var {
   font-style:normal;
   font-weight:normal;
}

ol,ul {
   list-style:none;
}

caption,th {
   text-align:left; 
}

h1,h2,h3,h4,h5,h6 {
   font-size:100%;
   font-weight:normal;
}

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

abbr,acronym {
   border:0;
}





* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 100%;
}
body {
	width: 100%;
	height:100%;
	margin: 0 auto;
	font-size: 14px;
	font-family: "游ゴシック Medium",YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Helvetica, Arial, "メイリオ", Meiryo, sans-serif;
	line-height: 1.8;
	background:url(../images/common/bg.png) repeat-y center top;
	background-size:100%;
	color: #897764;
	position: relative;
	
}
a {
  text-decoration: none;
  color: #897764;
  -webkit-transition: all 1s linear;
  -moz-transition: all 1s linear;
  -ms-transition: all 1s linear;
  -o-transition: all 1s linear;
  transition: all 1s linear;
}
a:hover {
  text-decoration: underline;
}
h1, h2, h3, p, ul, ol, li {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-weight:normal;
}
p {
  margin-bottom:16px;
}
img {
  border: 0;
}
table{
	margin: 1em 0 1.5em;
	}
table th {
	padding: 10px;
}
table td {
	padding: 10px;
}
hr{
	clear:both;
	text-decoration:none;
	border:none;
	border-bottom:1px solid #717071;
	margin-bottom:20px;
}

*[data-unlockdate] {
  display: none;
}

img {
	width:auto;
	max-width:100%;
	height:auto;
}
.container {
	margin: 0 auto 0 auto;
	padding: 0 20px;
	max-width: 1080px;
}
.pc{display :none;}
.clr{
	clear:both;
}
@media only screen and (min-width: 768px) {
body {
	font-size: 16px;
}
.container {
	padding: 0;
}
.content {
	padding: 0;
}
.pc{display :block;}
.sp{display:none;}
}


#wrap {
    width: 100%;
    margin: 0 auto;
    padding: 32px 0 0;
	background:url(../images/common/bg2.png) repeat-y center top;
	background-size:100%;
}

#visual { width:100%;text-align:center; margin:0;padding:0px 0 0;
	min-height:300px;
	line-height:0;
}

@media only screen and (min-width: 768px) {
#wrap {
    margin: 0 auto;
    padding: 60px 0 0;
}
#visual { text-align:center; margin:0 auto;padding:0;}
}


#header{
	width:100%;
	padding:10px 0 10px;
	background-color: #FFF;
}
#header .container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0 10px;

}
#header h1#logo{
	text-align:left;
	margin-top:4px;
}
#header h1#logo img{width:85%;}


@media only screen and (min-width: 768px) {
#header{padding:0;}
#header .container {
	justify-content: flex-end;
	padding:5px 0 5px;
	max-width: 1280px;
}

#header h1#logo{
	margin-right:auto;
}
#header h1#logo img{width:100%;}

}


footer {
    font-size: 10px;
    letter-spacing: 0;
    padding: 40px 0 20px;
    clear: both;
	width:100%;
	text-align:center;
}
footer p {
	margin-bottom:0;
	margin:0 3px;
}
footer a {
	font-size:1.2rem;
	font-weight:bold;
}
footer a:hover {
	text-decoration:none;
}
@media only screen and (min-width: 768px) {
  footer {
    padding: 60px 0 20px;
    font-size: 12px;
  }
footer p {
	margin:0 10px;
}
}


.nav-button {
  display: none;
}



.nav-wrap.open {
  display: block;
}

.nav-wrap.close {
  display: none;
}


@media screen and (min-width: 768px) {
#nav{
	min-width:1200px;
	margin:0 auto;
}
#nav ul{
	width:100%;
	margin:0 auto;
	display: flex !important;
	align-items:center;
	justify-content: space-around;
}

#nav li {
  margin: 0;
  line-height:1.1;
	text-align: center;
  padding:0;
}

#nav a {
  color: #897764;
  text-decoration: none;
  font-size:15px;
	display:block;
	padding:20px 0;
	position: relative;
}

#nav ul li a:hover{
  color: #897764;
}
#nav li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 15%;
    width: 70%;
    height: 1px;
    background:#897764;
    transition: all .3s;
    transform: scale(0, 1);
    transform-origin: center top;/*上部中央基点*/
}

/*現在地とhoverの設定*/
#nav li a:hover::after {
    transform: scale(1, 1);
}

}

@media screen and (max-width: 767px) {
.navBox{
	padding:6rem 2rem;
}
p.tpLink{
	text-align:center;
}
body .pure-container p.tpLink a{
	font-size:1.3em;
	font-weight:bold;
}
.navBlock{
	display: flex;
	flex-wrap: wrap; /* flex-flow:column;はアイテムを縦に並べる */
	margin-top:30px;
	margin-bottom:30px;
  justify-content: center;
  align-items: center;
}
.navBlock .nBox{
	padding:2rem 10px;
	margin:0 1% 20px;
	width:48%;
	text-align:center;
}
}