@charset "utf-8";

/*------------------------------------------------------------------------------

##　reset

--------------------------------------------------------------------------------*/
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-style:normal;
    font-weight: normal;
    font-size: 100%;
    vertical-align: baseline;
}
 
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
 
html{
  overflow-y: scroll;
  line-height: 1.15;
	font-size: 62.5%;
}
 
blockquote, q {
    quotes: none;
}
 
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
 
input, textarea{
    margin: 0;
    padding: 0;
}
 
ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse;
    border-spacing:0;
}
 
caption, th{
    text-align: left;
}
 
a:focus {
    outline:none;
}
 
.both{
    clear:both;
}
 
.inline_block {  
    display: inline-block;  
    *display: inline;  
    *zoom: 1;  
}

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

p { line-height: 1.7;}

.mt10   { margin-top: 10px !important;}
.mt20   { margin-top: 20px !important;}
.mt30   { margin-top: 30px !important;}
.mt40   { margin-top: 40px !important;}
.mt1em { margin-top: 1em !important;}
.text-L { text-align: left !important;}
.text-R { text-align: right !important;}
.text-C { text-align: right !important;}

/* グローバル変数 */
:root {
  --font-en: "Crimson Text", serif;
	--font-min: "Zen Old Mincho", serif;
	--font-go: "Noto Sans JP", sans-serif;
	--font-color-base: #ffffff;
}


/*------------------------------------------------------------------------------

　##　base layout

--------------------------------------------------------------------------------*/

/*body*/
body {
	margin: 0;
  color: #ffffff;
	font-size: 1.4em;
	font-family: "Noto Sans JP", "游ゴシック" , "Yu Gothic" ,"Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-weight: 400;
	-webkit-text-size-adjust: 100%;
	overflow: hidden;
	background-color: #719720;
}

a {
	color: #ffab31;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

.main-container {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: content-box;
	position: relative;
	overflow-wrap: break-word;
	z-index: 1;
}

.container {
	position: relative;
}

/*------------------------------------------------------------------------------
　　loading
--------------------------------------------------------------------------------*/
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 20000;
	/*display: flex;
  align-items: center;
  justify-content: center;*/
}
#loader-bg-low {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 20000;
}
#loading-txt {
  width: 100%;
	width: 100vw;
	height: 100%;
  position: relative;
	display: inline-block;
	z-index: 2;
}
#loading-txt .loading-item {
	width: 120px;
	display: inline-block;
	position: absolute;
  top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	opacity: 0;
}
#loading-txt .loading-item img {
	width: 100%;
}
.close #loading-txt .loading-item {
	transition: all 1.5s ease 0.3s;
	animation: blurtxtanime 0.5s ease-out forwards 1.2s;
}
@keyframes blurtxtanime {
  from {
		/*filter: blur(0);*/
		opacity: 1.0;
  }
  to {
		filter: blur(50px);
		opacity: 0;
  }
}

@media only screen and (min-width:768px) {
#loading-txt .loading-item {
	width: 150px;
}
}
@media only screen and (min-width:1024px) {
#loading-txt .loading-item {
	width: 180px;
}
}

/*#loading-txt .loading-item .loading-copy span.wrap {
  overflow: hidden;
  display: block;
}
#loading-txt .loading-item .loading-copy span.wrap span {
  position: relative;
	bottom: -1.5em;
}
#loading-txt .loading-item .loading-copy span.wrap span.move {
	animation: uptxtanime 0.5s ease-out forwards 0.1s;
}*/

/*#loading-txt .loading-item .loading-logo {
	width: 70%;
  max-width: 100px;
	max-height: 130px;
  margin: 25px auto 0;
}*/
#loader-bg .cover {
  position: absolute;
  width: 100%;
  height: 100%;
  /*transition: all 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);*/
	z-index: 0;
	transform: scale(1, 0);
  transform-origin: 0 0;
}
#loader-bg.close .cover {
	animation: loadercover 2.6s cubic-bezier(0.87, 0, 0.13, 1) forwards;
}
#loader-bg.close .cover.right {
	animation-delay: 0.2s;
}
@keyframes loadercover {
  0% {
    transform: scale(0, 1);
    transform-origin: 0 0;
  }
  35% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 100% 0;
  }
  100% {
    transform: scale(0, 1);
    transform-origin: 100% 0;
  }
}
@media screen and (max-width:767px) and (orientation: landscape) {
    
}
@media only screen and (min-width:768px) {
	
}
@media only screen and (min-width:1024px) {

}


/*------------------------------------------------------------------------------
　　header
--------------------------------------------------------------------------------*/
.globalheader {
	width: 100%;
  height: 60px;
	background-color: #000000;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.globalheader .headerwrap {
	width: 100%;
	box-sizing: border-box;
}
@media only screen and (min-width:768px) {
	.globalheader {
		height: 60px;
	}
}
@media only screen and (min-width:1024px) {
	.globalheader {
		height: 80px;
	}
	.globalheader .headerwrap {
		width: 100%;
		margin: 0;
		box-sizing: border-box;
		transition: all 0.5s ease;
	}
}
@media only screen and (min-width:1200px) {

}

/*------------------------------------------------------------------------------
　　globalnav
--------------------------------------------------------------------------------*/
.fat-nav {
  display: block;
}
.headerwrap .gnavi {
	display: none;
}
.headerwrap .sub-gnavi {
	display: none;
}
.fat-nav.active {
	display: block;
}

/*fatnav css*/
.hamburger {
  display: block;
  width: 60px;
  height: 60px;
  padding: 30px 0 0;
  position: fixed;
  top: 0;
  left: 15px;
  z-index: 10000;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
	box-sizing: border-box;
	/* background-color: #1b1c1d; */
	/*border: 1px solid #044567;*/
	/* border-radius: 50%; */
	transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
	/*opacity: 0;
	transform : translateX(30px);*/
}
.hamburger__icon {
  width: 40px;
  margin: 0 auto 0 10px;
  position: relative;
}
/*.hamburger:hover .hamburger__icon {
  width: 40px;
}*/
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
  display: block;
  height: 2px;
  background-color: #fff;
  transition-property: background-color, transform, width;
  transition-duration: 0.4s;
}
.hamburger__icon:before, .hamburger__icon:after {
  width: 40px;
}
.hamburger__icon:before, .hamburger__icon:after {
  position: absolute;
  content: "";
}
.hamburger__icon:before {
  top: -7px;
}
.hamburger__icon:after {
  top: 7px;
}
.hamburger__icon {
  top: 0;
	/*background: transparent;*/
}
.hamburger.active {
  visibility: visible !important;
}
.hamburger.active .hamburger__icon {
	width: 0;
  /*background-color: transparent;*/
}
.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #fff;
}
.hamburger.active .hamburger__icon:before {
  transform: translateY(7px) rotate(225deg);
}
.hamburger.active .hamburger__icon:after {
  transform: translateY(-7px) rotate(-225deg);
}

.fat-nav {
  top: 0;
  left: 0;
  z-index: 10000;
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  opacity: 1.0 !important;
	/*background: rgba(0, 0, 0, 0.6);*/
}
.fat-nav__wrapper {
  height: 100%;
  margin-right: 100%;
  display: block;
  table-layout: fixed;
  text-align: center;
  background-color: #000000;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.fat-nav.active {
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
	transition: all 0.2s ease;
}
.fat-nav.active .fat-nav__wrapper {
  height: 100%;
  margin-right: 0;
  transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
}
.fat-nav ul {
  width: 100%;
  display: block;
  margin: 0 auto;
  padding: 120px 0 0;
  text-align: left;
}
.fat-nav ul li {
  width: 100%;
  list-style-type: none;
  text-align: center;
  margin: 0;
  padding: 0 15px;
  position: relative;
	box-sizing: border-box;
}
.fat-nav ul li:first-child::before {
	width: calc(100% - 30px);
	height: 1px;
	content: "";
	display: inline-block;
	background-color: #555;
	position: absolute;
	top: -1px;
	right: 15px;
}
.fat-nav ul li::after {
	width: calc(100% - 30px);
	height: 1px;
	content: "";
	display: inline-block;
	background-color: #555;
	position: absolute;
	bottom: 0;
	right: 15px;
}
.fat-nav ul li a {
  width: 100%;
  padding: 25px 20px;
  color: #fff;
  letter-spacing: 0.1em;
  display: block;
	font-family: 'Shippori Mincho', serif;
  font-weight: 600;
  text-decoration: none;
  text-align: left;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  transition: all 0.3s ease;
}
.fat-nav ul li a:hover {
  color: #fff;
	background-color: #2f2e2b;
}

.fat-nav ul li.level--first span.en {
  color: #fff;
  letter-spacing: 0.1em;
	font-size: 20px;
	font-weight: 400;
	font-family: 'Bebas Neue', cursive;
  text-decoration: none;
	display: block;
}
.fat-nav ul li.level--first span.jp {
  padding: 5px 0 0;
  color: #fff;
  letter-spacing: 0.1em;
	font-size: 12px;
	font-weight: 400;
  text-decoration: none;
	display: block;
}

/*contact*/
.globalheader .h-inner .contact {
	width: -moz-fit-content;
	width: fit-content;
	display: flex;
	justify-content: flex-end;
	margin: 0 0 0 auto;
	z-index: 10001;
	position: relative;
}
.globalheader .h-inner .contact .btn-form,
.globalheader .h-inner .contact .btn-num {
	height: 60px;
}
.globalheader .h-inner .contact a,
.globalheader .h-inner .contact a {
	display: block;
	background-color: #b81c22;
	position: relative;
}
.globalheader .h-inner .contact a::before {
	display: block;
	background-color: #b81c22;
	position: relative;
}
.globalheader .h-inner .contact .btn-form a img,
.globalheader .h-inner .contact .btn-num a img {
	height: 60px;
}
@media only screen and (min-width:768px) {
	.hamburger {
		top: 0;
		right: 25px;
	}
	.fat-nav.active .fat-nav__wrapper {
		height: 100%;
		margin-right: calc(100% - 350px);
		transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);
	}
	.fat-nav ul {
		padding: 110px 0 30px;
	}
}
@media only screen and (min-width:1024px) {
	.hamburger {
		display: none;
	}
	.fat-nav {
		display: none;
	}
	.headerwrap .gnavi {
		display: block;
	}

	.globalheader .h-inner .contact .btn-form,
	.globalheader .h-inner .contact .btn-num {
		height: 80px;
	}
	.globalheader .h-inner .contact a,
	.globalheader .h-inner .contact a {
		display: block;
		background-color: #b81c22;
		position: relative;
		text-decoration: none;
	}
	.globalheader .h-inner .contact .btn-form a::before {
		width: 0;
		height: 100%;
		margin: 0 auto;
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		background-color: #d8a91c;
		transition: 0.2s ease;
		z-index: 0;
	}
	.globalheader .h-inner .contact .btn-form a:hover::before {
		width: 100%;
	}
	.globalheader .h-inner .contact .btn-form a img,
	.globalheader .h-inner .contact .btn-num a img {
		height: 80px;
		position: relative
	}

	/*--------------------gnavi*/
.headerwrap .gnavi {
	height: 80px;
	padding: 0;
	box-sizing: content-box;
	text-align: left;
	position: fixed;
	top: 0;
	left: 20px;
	display:  flex;
	z-index: 10000;
	pointer-events: all;
}
.gnavi ul {
	box-sizing: border-box;
  display:flex;
  flex-wrap:wrap;
  align-content: center;
  align-items:flex-start;
}
.gnavi ul li {
	display:  inline-block;
	padding: 0;
  position: relative;
	z-index: 2;
}
.gnavi ul li:nth-child(n+2) {
	margin-left: 5px;
}
.gnavi ul li:nth-child(n+2)::before {
	width: 1px;
	height: 20px;
	content: "";
	display: inline-block;
	border-left: 1px solid #999;
	position: absolute;
	top: 30px;
	left: 0;
}
.gnavi ul li a {
	height: 80px;
	padding: 0 15px;
	display: block;
	font-size: min(1.3671vw , 16px);
	font-family: var(--font-min);
	font-feature-settings: "pkna"; /*safari 改行対策*/
	font-weight: 700;
	line-height: 80px;
	letter-spacing: 0.1em;
	color: #fff;
	transition: all 0.2s ease;
  position: relative;
  z-index: 1;
	box-sizing: border-box;
}
.globalheader.low .gnavi ul li a {
	color: #333;
}
.gnavi ul li:hover,
.gnavi ul li a:hover,
.gnavi ul li a:hover span {
	text-decoration: none;
	color: #d8a91c;
	transition: all 0.2s ease;
}
}
/*------------------------------------------------------------------------------
　　footer
--------------------------------------------------------------------------------*/

/*footerArea
--------------------------------------*/
.footerArea {
	margin: 50px 0 0;
	padding: 30px 20px;
	background-color: #fff;
	text-align: center;
}
.footerArea .innerwrap h2 {
  font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #222;
}
.footerArea .innerwrap .logo {
		margin: 20px 0 0;
	}
.footerArea .innerwrap .logo img {
  max-width: 240px;
	margin: 0 auto;
}
.footerArea .innerwrap .logo .name {
	margin: 10px 0 0;
  font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #222;
}
.footerArea .innerwrap .add {
	margin: 20px 0 0;
  font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.7;
	color: #222;
}
.footerArea footer {
  width: 100%;
  margin: 0;
  padding: 30px 0 0;
}
.footerArea footer .policy {
	padding: 0 0 1.5em;
  text-align: center;
}
.footerArea footer .copyright {
	font-size: 12px;
  font-family: var(--font-en);
  line-height: 1.0;
  color: #222;
  text-align: center;
}
@media only screen and (min-width:1024px) {
	.footerArea {
		margin: 50px 0 0;
		padding: 50px 20px;
		background-color: #fff;
		text-align: center;
	}
	.footerArea .innerwrap h2 {
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.05em;
		line-height: 1.5;
		color: #222;
	}
	.footerArea .innerwrap .logo {
		margin: 30px 0 0;
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}
	.footerArea .innerwrap .logo img {
		max-width: 240px;
		margin: 0;
	}
	.footerArea .innerwrap .logo .name {
		width: -moz-fit-content;
		width: fit-content;
		margin: 0 0 0 20px;
		font-size: 26px;
		font-weight: 700;
		letter-spacing: 0.05em;
		line-height: 1.0;
		color: #222;
	}
	.footerArea .innerwrap .add {
		margin: 30px 0 0;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: 1.7;
		color: #222;
	}
	.footerArea footer {
		width: 100%;
		margin: 0;
		padding: 30px 0 0;
	}
	.footerArea footer .policy {
		padding: 0 0 1.5em;
		text-align: center;
	}
	.footerArea footer .copyright {
		font-size: 12px;
		font-family: var(--font-en);
		line-height: 1.0;
		color: #222;
		text-align: center;
	}
}

/*------------------------------------------------------------------------------

　##　共通

--------------------------------------------------------------------------------*/


/*-----------見出しタイトル共通----------*/

/*---md01---*/
.title {
	text-align: center;
}
.title.center {
	text-align: center;
}
.title .en {
	font-size: 32px;
  font-family: var(--font-en);
	font-weight: 400;
  line-height: 1.0;
	letter-spacing: 0.05em;
  color: #eddbc7;
}
.title h2 {
	font-size: 16px;
  font-family: var(--font-min);
	font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.7;
  color: #fff;
}
@media only screen and (min-width:768px) {

}
@media only screen and (min-width:1024px) {
	.title .en {
		font-size: 40px;
	}
	.title h2 {
		font-size: 18px;
	}
}

/*sp br削除*/
.br-pc {
	display: none;
}
.br-tb {
	display: none;
}
.br-sp {
	display: inline;
}
@media only screen and (min-width:768px) {
.br-pc {
	display: inline;
}
.br-sp {
	display: none;
}
}
@media only screen and (min-width:1024px) {
.br-pc {
	display: inline;
}
.br-tb {
	display: inline;
}
.br-sp {
	display: none;
}
}


/*------------------------------------------------------------------------------

　##　toppage

--------------------------------------------------------------------------------*/

/* main visual
---------------------------------------*/
.mv {
  width: 100%;
	margin: 60px 0 0;
  padding: 0;
	box-sizing: border-box;
	position: relative;
	background-color: #fff;
}
.mv .innerwrap {
	position: relative;
}
.mv picture {
	width: 100%;
	display: block;
}
.mv picture img {
	width: 100%;
}
.mv h1 {
	width: 45%;
	margin: 4.5572vw auto 0;
	position: absolute;
	inset: 0;
}
.mv .txt {
	width: 85%;
	margin: 50.7812vw auto 0;
	position: absolute;
	inset: 0;
}
.mv ul {
	padding: 0 6.5104vw 4.5572vw;
}
.mv ul li {
	color: #222;
	font-family: var(--font-min);
	font-size: 12px;
	line-height: 1.7;
}
@media only screen and (min-width:768px) {
	.mv {
		width: 100%;
		margin: 60px 0 0;
	}
	.mv picture {
		width: 100%;
		display: block;
	}
	.mv picture img {
		width: 100%;
	}
	.mv h1 {
		width: 17.7777%;
		margin: 4.1666vw auto 0 5vw;
		position: absolute;
		inset: 0;
	}
	.mv .txt {
		width: 37.7777%;
		margin: 4.1666vw auto 0;
		position: absolute;
		inset: 0;
	}
	.mv ul {
		padding: 0 6.5104vw 3vw;
	}
	.mv ul li {
		color: #222;
		font-family: var(--font-min);
		font-size: 12px;
		line-height: 1.7;
	}
	.mv .guidanse,
	.mv .guidanse img {
		width: 100%;
	}
	
}
@media only screen and (min-width:1024px) {
	.mv {
		width: 100%;
		margin: 80px 0 0;
	}
}
@media only screen and (min-width:1600px) {

}

/* sec__location
---------------------------------------*/
.top .sec__location {
	padding: 60px 20px;
}
.top .sec__location .secwrap {
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
.top .sec__location .secwrap .lead {
	margin: 25px 0 0;
	font-size: 18px;
	font-family: var(--font-min);
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: 0.05em;
}
.top .sec__location .secwrap .map {
	width: 100%;
	margin: 25px 0 0;
}
.top .sec__location .secwrap .map img {
	width: 100%;
}
.top .sec__location .secwrap .location-pic {
	width: 100%;
}
.top .sec__location .secwrap .location-pic li {
	margin: 25px 0 0;
}
.top .sec__location .secwrap .location-pic li figure,
.top .sec__location .secwrap .location-pic li figure img {
	width: 100%;
}
.top .sec__location .secwrap .location-pic li figcaption {
	margin: 5px 0 0;
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.top .sec__location .secwrap .list {
	margin: 30px 0 0;
}
.top .sec__location .secwrap .list .list-table {
	margin: 15px 0 0;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	box-sizing: border-box;
}
.top .sec__location .secwrap .list .list-table h3 {
	padding: 8px 10px;
	background-color: #231815;
	text-align: center;
	font-weight: 500;
	font-size: 14px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	box-sizing: border-box;
}
.top .sec__location .secwrap .list .list-table table {
	width: 100%;
}
.top .sec__location .secwrap .list .list-table table th {
	width: 50%;
	padding: 5px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	text-align: left;
	box-sizing: border-box;
	vertical-align: middle;
}
.top .sec__location .secwrap .list .list-table table td {
	padding: 5px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	font-size: 12px;
	line-height: 1.5;
	text-align: right;
	box-sizing: border-box;
	vertical-align: middle;
}
.top .sec__location .secwrap .list .list-table table td.way { width: 12%; text-align: center; }
.top .sec__location .secwrap .list .list-table table td.time { width: 19%; }
.top .sec__location .secwrap .list .list-table table td.distance { width: 19%; }

.top .sec__location .secwrap .list .list-table .bg-green {background-color: #8baa3d;}
@media only screen and (min-width:768px) {
	.top .sec__location {
		padding: 100px 40px;
	}
	.top .sec__location .secwrap .lead {
		margin: 35px 0 0;
		font-size: 22px;
		text-align: center;
	}
	.top .sec__location .secwrap .map {
		width: 100%;
		margin: 35px 0 0;
	}
	.top .sec__location .secwrap .location-pic {
		padding: 20px 0 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top .sec__location .secwrap .location-pic li {
		width: 48%;
		margin: 30px 0 0;
	}
	.top .sec__location .secwrap .location-pic li figure,
	.top .sec__location .secwrap .location-pic li figure img {
		width: 100%;
	}
	.top .sec__location .secwrap .location-pic li figcaption {
		margin: 5px 0 0;
		color: #fff;
		font-size: 12px;
	}
	.top .sec__location .secwrap .list {
		margin: 30px 0 0;
	}
	.top .sec__location .secwrap .list .list-table {
		margin: 0;
		display: flex;
	}
	.top .sec__location .secwrap .list .list-table h3 {
		width: 2.7em;
		padding: 8px 10px;
		font-size: 14px;
		writing-mode: vertical-rl;
	}
	.top .sec__location .secwrap .list .list-table table {
		width: calc(100% - 2.7em);
	}
	.top .sec__location .secwrap .list .list-table table th {
		padding: 5px;
		font-size: 12px;
	}
	.top .sec__location .secwrap .list .list-table table td {
		padding: 5px;
		font-size: 12px;
	}
	.top .sec__location .secwrap .list .list-table:nth-child(n+2) h3 {
		border-top: none;
	}
	.top .sec__location .secwrap .list .list-table .bt-none {border-top: none;}
}
@media only screen and (min-width:1024px) {
	.top .sec__location {
		padding: 140px 40px;
	}
	.top .sec__location .secwrap .lead {
		margin: 50px 0 0;
		font-size: min(2.5390vw, 36px);
	}
	.top .sec__location .secwrap .map {
		margin: 50px 0 0;
	}
	.top .sec__location .secwrap .location-pic {
		padding: 10px 0 0;
	}
	.top .sec__location .secwrap .location-pic li {
		width: 31.6666%;
		margin: 40px 0 0;
	}
	.top .sec__location .secwrap .location-pic li figure,
	.top .sec__location .secwrap .location-pic li figure img {
		width: 100%;
	}
	.top .sec__location .secwrap .location-pic li figcaption {
		margin: 5px 0 0;
		font-size: 14px;
	}
	.top .sec__location .secwrap .list {
		margin: 60px 0 0;
	}
	.top .sec__location .secwrap .list .list-table {
		display: flex;
	}
	.top .sec__location .secwrap .list .list-table h3 {
		width: 2.6em;
		padding: 8px 10px;
		font-size: 16px;
		writing-mode: vertical-rl;
	}
	.top .sec__location .secwrap .list .list-table table {
		width: calc(100% - 2.6em);
	}
	.top .sec__location .secwrap .list .list-table table th {
		padding: 10px;
		font-size: 14px;
	}
	.top .sec__location .secwrap .list .list-table table td {
		padding: 10px;
		font-size: 14px;
	}
}

/* sec__landplan
---------------------------------------*/
.top .sec__landplan {
	padding: 60px 20px;
}
.top .sec__landplan .secwrap {
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
.top .sec__landplan .secwrap .parcelmap {
	width: 100%;
	margin: 25px auto 0;
}
.top .sec__landplan .secwrap .parcelmap img {
	width: 100%;
}
.top .sec__landplan .secwrap .list {
	margin: 30px 0 0;
}
.top .sec__landplan .secwrap .list .list-table {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	box-sizing: border-box;
}
.top .sec__landplan .secwrap .list .list-table table {
	width: 100%;
}
.top .sec__landplan .secwrap .list .list-table table th {
	width: 20%;
	padding: 10px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	box-sizing: border-box;
	vertical-align: middle;
	background-color: #8baa3d;
}
.top .sec__landplan .secwrap .list .list-table table td {
	width: 80%;
	padding: 10px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	font-size: 12px;
	line-height: 1.5;
	box-sizing: border-box;
	vertical-align: middle;
}
@media only screen and (min-width:768px) {
	.top .sec__landplan {
		padding: 80px 40px;
	}
	.top .sec__landplan .secwrap .parcelmap {
		width: 80%;
		margin: 50px auto 0;
	}
	.top .sec__landplan .secwrap .list {
		margin: 30px 0 0;
	}
	.top .sec__landplan .secwrap .list .list-table table {
		width: 100%;
	}
	.top .sec__landplan .secwrap .list .list-table table th {
		width: 20%;
		padding: 10px;
		font-size: 14px;
	}
	.top .sec__landplan .secwrap .list .list-table table td {
		width: 80%;
		padding: 10px;
		font-size: 14px;
		text-align: center;
	}
}
@media only screen and (min-width:1024px) {
	.top .sec__landplan {
		padding: 100px 40px;
	}
	.top .sec__landplan .secwrap .parcelmap {
		width: 80%;
		margin: 50px auto 0;
	}
	.top .sec__landplan .secwrap .list {
		margin: 30px 0 0;
	}
	.top .sec__landplan .secwrap .list .list-table table th {
		width: 30%;
		padding: 15px;
		font-size: 16px;
	}
	.top .sec__landplan .secwrap .list .list-table table td {
		width: 70%;
		padding: 15px;
		font-size: 16px;
	}
}

/* sec__plan
---------------------------------------*/
.top .sec__plan {
	padding: 60px 0;
}
.top .sec__plan .plan-pic {
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top .sec__plan .plan-pic figure {
	width: 100%;
	position: relative;
}
.top .sec__plan .plan-pic figure img {
	width: 100%;
}
.top .sec__plan .plan-pic figure:nth-child(n+2) {
	width: 49%;
	margin: 2% 0 0;
}
.top .sec__plan .plan-pic figure figcaption {
	position: absolute;
	bottom: 5px;
	left: 5px;
	font-size: 12px;
	line-height: 1.5;
}
.top .sec__plan .secwrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10px;
}
.top .sec__plan .secwrap .lead {
	width: 80%;
	margin: 25px auto 0;
}
.top .sec__plan .secwrap .lead img {
	width: 100%;
}
.top .sec__plan .secwrap .plan {
	margin: 20px 0 0;
	padding: 20px;
	background-color: #fff;
}
.top .sec__plan .secwrap .plan .name img {
	width: 100%;
}
@media only screen and (min-width:768px) {
	.top .sec__plan {
		padding: 80px 0;
	}
	.top .sec__plan .plan-pic {
		margin: 30px 0 0;
	}
	.top .sec__plan .plan-pic figure {
		width: 49.4444%;
	}
	.top .sec__plan .plan-pic figure:nth-child(n+2) {
		width: 24.7222%;
		margin: 0;
	}
	.top .sec__plan .secwrap {
		padding: 0 40px;
	}
	.top .sec__plan .secwrap .lead {
		width: 61%;
		margin: 6.6666% auto 0;
	}
	.top .sec__plan .secwrap .plan {
		margin: 35px 0 0;
		padding: 6.6666% 8.3333%;
	}
	.top .sec__plan .secwrap .plan .name {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.top .sec__plan .secwrap .plan figure {
		width: 90%;
		margin: 0 auto;
	}
	.top .sec__plan .secwrap .plan .name .price,
	.top .sec__plan .secwrap .plan .name .det {
		width: 49.0%;
	}
}
@media only screen and (min-width:1024px) {
	.top .sec__plan {
		padding: 100px 0;
	}
	.top .sec__plan .plan-pic {
		margin: 50px 0 0;
	}
	.top .sec__plan .secwrap .plan {
		margin: 50px 0 0;
	}
}

/* sec__safe
---------------------------------------*/
.top .sec__safe {
	padding: 60px 20px;
}
.top .sec__safe .secwrap {
	max-width: 1200px;
	margin: 0 auto;
}
.top .sec__safe .secwrap .concept {
	margin: 30px 0 0;
}
.top .sec__safe .secwrap .concept .col img {
	width: 100%;
}
.top .sec__safe .secwrap .concept figure {
	width: 100%;
	margin: 20px auto 0;
}
.top .sec__safe .secwrap .concept figure img {
	width: 100%;
}
.top .sec__safe .secwrap .safe-item {
	margin: 50px 0 0;
}
.top .sec__safe .secwrap .safe-item h3 {
	padding: 10px 12px;
	background-color: #231815;
	font-size: 16px;
	font-weight: 500;
	font-family: var(--font-min);
	line-height: 1.7;
	letter-spacing: 0.05em;
	text-align: center;
}
.top .sec__safe .secwrap .safe-item.standard .innerwrap {
	margin: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.top .sec__safe .secwrap .safe-item.standard .innerwrap figure {
	width: 100%;
	margin: 2% 0 0;
	position: relative;
}
.top .sec__safe .secwrap .safe-item.standard .innerwrap figure img {
	width: 100%;
}
.top .sec__safe .secwrap .safe-item.standard .innerwrap figure figcaption {
	position: absolute;
	bottom: 5px;
	left: 5px;
	font-size:12px;
	line-height: 1.5;
}
.top .sec__safe .secwrap .safe-item.standard .innerwrap figure:nth-child(n+3) {
	width: 49%;
}
.top .sec__safe .secwrap .safe-item.tecone .innerwrap .col .frame {
	margin: 15px 0 0;
	padding: 15px;
	border: 1px solid #fff;
	box-sizing: border-box;
	font-size: min(4.2vw ,18px);
	font-family: var(--font-min);
	line-height: 1.7;
	text-align: center;
}
.top .sec__safe .secwrap .safe-item.tecone .innerwrap .col p {
	margin: 10px 0 0;
	font-size: 14px;
	font-family: var(--font-min);
	line-height: 1.7;
}
.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic {
	margin: 15px 0 0;
}
.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic {
	margin: 15px 0 0;
}
.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic figure {
	width: 100%;
	margin: 2% 0 0;
	position: relative;
}
.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic figure img {
	width: 100%;
}
.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic figure figcaption {
	position: absolute;
	bottom: 5px;
	right: 5px;
	font-size:12px;
	line-height: 1.5;
}
.top .sec__safe .secwrap .safe-item.warranty ul {
	margin: 15px 0 0;
}
.top .sec__safe .secwrap .safe-item.warranty ul li {
	width: 100%;
	margin: 5px 0 0;
}
.top .sec__safe .secwrap .safe-item.warranty ul li img {
	width: 100%;
}
@media only screen and (min-width:768px) {
	.top .sec__safe {
		padding: 80px 40px;
	}
	.top .sec__safe .secwrap .concept {
		margin: 40px 0 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top .sec__safe .secwrap .concept .col {
		width: 53%;
		margin: 2% 0 0;
	}
	.top .sec__safe .secwrap .concept figure {
		width: 44%;
		margin: 0;
	}
	.top .sec__safe .secwrap .safe-item {
		margin: 70px 0 0;
	}
	.top .sec__safe .secwrap .safe-item h3 {
		padding: 10px 12px;
		font-size: 16px;
		text-align: left;
	}
	.top .sec__safe .secwrap .safe-item.standard .innerwrap {
		margin: 15px 0 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top .sec__safe .secwrap .safe-item.standard .innerwrap figure {
		width: 29.5833%;
		margin: 0;
	}
	.top .sec__safe .secwrap .safe-item.standard .innerwrap figure figcaption {
		font-size:12px;
	}
	.top .sec__safe .secwrap .safe-item.standard .innerwrap figure:nth-child(n+3) {
		width: 19.1666%;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap {
		margin: 15px 0 0;
		display: flex;
		justify-content: space-between;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .col {
		/* width: 30.8333%; */
		width: 40%;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .col .frame {
		margin: 0;
		padding: 15px;
		font-size: min(1.8229vw ,18px);
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .col p {
		margin: 10px 0 0;
		font-size: min(1.8229vw ,15px);
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic {
		width: 56%;
		margin: 0;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic figure {
		width: 40%;
		margin: 0;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic figure:nth-child(2) {
		width: 58%;
		margin: 0;
	}
	.top .sec__safe .secwrap .safe-item.warranty ul {
		margin: 2% 0 0;
		display: flex;
		justify-content: space-between;
	}
	.top .sec__safe .secwrap .safe-item.warranty ul li {
		width: 49%;
		margin: 0;
	}
}
@media only screen and (min-width:1024px) {
.top .sec__safe {
		padding: 100px 40px;
	}
	.top .sec__safe .secwrap .concept {
		margin: 50px 0 0;
	}
	.top .sec__safe .secwrap .concept .col {
		width: 53%;
	}
	.top .sec__safe .secwrap .concept figure {
		width: 44%;
	}
	.top .sec__safe .secwrap .safe-item {
		margin: 80px 0 0;
	}
	.top .sec__safe .secwrap .safe-item h3 {
		padding: 12px 20px;
		font-size: 20px;
	}
	.top .sec__safe .secwrap .safe-item.standard .innerwrap {
		margin: 15px 0 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top .sec__safe .secwrap .safe-item.standard .innerwrap figure {
		width: 29.5833%;
		margin: 0;
	}
	.top .sec__safe .secwrap .safe-item.standard .innerwrap figure figcaption {
		font-size:12px;
	}
	.top .sec__safe .secwrap .safe-item.standard .innerwrap figure:nth-child(n+3) {
		width: 19.1666%;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap {
		margin: 25px 0 0;
		display: flex;
		justify-content: space-between;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .col {
		/* width: 30.8333%; */
		width: 40%;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .col .frame {
		margin: 0;
		padding: 25px 15px;
		font-size: min(1.8229vw ,20px);
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .col p {
		margin: 10px 0 0;
		font-size: min(1.7578vw ,18px);
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic {
		width: 56%;
		margin: 0;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic figure {
		width: 40%;
		margin: 0;
	}
	.top .sec__safe .secwrap .safe-item.tecone .innerwrap .pic figure:nth-child(2) {
		width: 58%;
		margin: 0;
	}
}

/* sec__outline
---------------------------------------*/
.top .sec__outline {
	padding: 40px 20px 30px;
}
.top .sec__outline .secwrap {
	max-width: 1200px;
	margin: 0 auto;
}
.top .sec__outline .secwrap .list {
	margin: 30px 0 0;
}
.top .sec__outline .secwrap .list .list-table {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	box-sizing: border-box;
}
.top .sec__outline .secwrap .list .list-table table {
	width: 100%;
}
.top .sec__outline .secwrap .list .list-table table th {
	width: 30%;
	padding: 10px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	text-align: left;
	box-sizing: border-box;
	vertical-align: middle;
	background-color: #8baa3d;
}
.top .sec__outline .secwrap .list .list-table table td {
	width: 70%;
	padding: 10px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	font-size: 12px;
	line-height: 1.5;
	box-sizing: border-box;
	vertical-align: middle;
}
.top .sec__outline .secwrap .list .list-table:nth-child(n+2) table tr:first-child th,
.top .sec__outline .secwrap .list .list-table:nth-child(n+2) table tr:first-child td {
	border-top: none;
}
.top .sec__outline .secwrap .txt {
	margin: 15px 0 0;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.05em;
}
.top .sec__outline .secwrap ul {
	margin: 15px 0 0;
}
.top .sec__outline .secwrap ul li {
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0.05em;
}
@media only screen and (min-width:768px) {
	.top .sec__outline {
		padding: 60px 20px 40px;
	}
	.top .sec__outline .secwrap .list {
		margin: 40px 0 0;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.top .sec__outline .secwrap .list .list-table {
		width: 49%;
	}
	.top .sec__outline .secwrap .list .list-table table th {
		width: 30%;
		padding: 10px;
		font-size: 12px;
	}
	.top .sec__outline .secwrap .list .list-table table td {
		width: 70%;
		padding: 10px;
		font-size: 12px;
	}
	.top .sec__outline .secwrap .list .list-table:nth-child(n+2) table tr:first-child th,
	.top .sec__outline .secwrap .list .list-table:nth-child(n+2) table tr:first-child td {
		border-top: 1px solid #fff;
	}
	.top .sec__outline .secwrap .txt {
		margin: 15px 0 0;
		font-size: 12px;
	}
	.top .sec__outline .secwrap ul {
		margin: 15px 0 0;
	}
	.top .sec__outline .secwrap ul li {
		font-size: 12px;
	}
}
@media only screen and (min-width:1024px) {
	.top .sec__outline {
		padding: 80px 20px 40px;
	}
	.top .sec__outline .secwrap .list {
		margin: 40px 0 0;
	}
	.top .sec__outline .secwrap .list .list-table table th {
		width: 30%;
		padding: 15px;
		font-size: 14px;
	}
	.top .sec__outline .secwrap .list .list-table table td {
		width: 70%;
		padding: 15px;
		font-size: 14px;
	}
	.top .sec__outline .secwrap .txt {
		margin: 20px 0 0;
	}
}