@charset "UTF-8";
.title{}
.title_en{
	color: #7D7D76;
	font-size: clamp(1.6rem, calc(100vw / 1600 * 28), 2.8rem);
}
.title_jp{
	padding-top: clamp(4px, calc(100vw / 1600 * 12), 12px);
	font-size: clamp(1.8rem, calc(100vw / 1600 * 40), 4rem);
}

main {
	margin-top: 0;
}

.bnr_contact,
.bnr_yoyaku{
	display: block;
	color: #fff;
	padding: clamp(8px, calc(100vw / 1600 * 20), 20px);
	box-sizing: border-box;
	transition: 0.6s;
}

.bnr_contact{
	background: #182158;
}
.bnr_yoyaku{
	background: #91181D;
}

@media screen and (min-width: 768px) {}

@media screen and (min-width: 1480px) {}


/* =====================
  header
===================== */
header {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: clamp(16px, calc(100vw / 1600 * 32), 32px) clamp(20px, calc(100vw / 1600 * 40), 40px);
	z-index: 999999;
	width: 100%;
	box-sizing: border-box;
}
.logo {
	width: clamp(48px, calc(100vw / 1600 * 86), 86px);
}
.header_btn {
	display: none;
}
.footer_btn {
	position: fixed;
	bottom: 0;
	left: 0;
	display: flex;
	z-index: 100;
	width: 100%;
	font-size: clamp(1.3rem, calc(100vw / 1600 * 16), 1.6rem);
}
.footer_btn a {
	width: 100%;
	padding: 12px;
}
header .bnr_contact,
header .bnr_yoyaku {
	width: clamp(100px, calc(100vw / 1600 * 190), 190px);
	font-size: clamp(1.2rem, calc(100vw / 1600 * 16), 1.6rem);
}

.footer-otoiawase-link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: clamp(20px, calc(100vw / 1600 * 40), 40px);
}
.footer-contents .bnr_contact,
.footer-contents .bnr_yoyaku{
	text-align: center;
	width: clamp(240px, calc(100vw / 1600 * 500), 500px);
	font-size: clamp(1.5rem, calc(100vw / 1600 * 24), 2.4rem);
	padding: clamp(20px, calc(100vw / 1600 * 40), 40px) clamp(40px, calc(100vw / 1600 * 80), 80px);
}
@media screen and (min-width: 768px) {
	.header_btn {
		display: flex;
		gap: clamp(8px, calc(100vw / 1600 * 12), 12px);
		align-items: center;
	}
	.footer-otoiawase-link {
		flex-direction: row;
	}
	.footer-contents .bnr_contact,
	.footer-contents .bnr_yoyaku{
		text-align: center;
		width: clamp(240px, calc(100vw / 1600 * 500), 500px);
		font-size: clamp(1.5rem, calc(100vw / 1600 * 24), 2.4rem);
	}
	.footer_btn {
		display: none;
	}
}
@media screen and (min-width: 1600px) {}

/* =====================
  mv
===================== */

.mv{
	position: relative;
}

.mv + .footer-contents{
	margin-top: 0;
}
.mv + .footer-contents .footer-otoiawase{
	margin-top: 20px;
}


.mv_inner{}
.mv_copy {
	position: absolute;
	top: clamp(100px, calc(100vw / 1600 * 168), 168px);
	left: 0;
	max-width: clamp(480px, calc(100vw / 1600 * 660), 660px);
	padding: 20px;
	z-index: 1;
}
.mv_announcement{
	position: relative;
	width: 100%;
	margin: auto;
	text-align: center;
}
.mv_photo {
	position: relative;
}
.mv_photo figcaption {
	position: absolute;
	left: 1%;
	bottom: 1%;
	color: #fff;
	z-index: 1;
}
.mv_announcement_txt01{
	width: clamp(300px, calc(100vw / 1600 * 890), 890px);
	margin: 0 auto;
	padding-top: clamp(40px, calc(100vw / 1600 * 80), 80px);
}
.mv_announcement_txt01 figcaption{
	margin-top: 12px;
	font-size: clamp(1.3rem, calc(100vw / 1600 * 16), 1.6rem);
	line-height: 1.2;
}
.mv_announcement_txt02{
	width: clamp(300px, calc(100vw / 1600 * 1100), 1100px);
	margin: clamp(12px, calc(100vw / 1600 * 20), 20px) auto 0;
	padding-top: clamp(12px, calc(100vw / 1600 * 20), 20px);
	border-top: 1px solid #231815;
}
.mv_announcement_txt02 figcaption{
	padding-top: clamp(8px, calc(100vw / 1600 * 12), 12px);
	font-size: clamp(1.3rem, calc(100vw / 1600 * 16), 1.6rem);
}
.mv_announcement_txt03{
	width: clamp(208px, calc(100vw / 1600 * 520), 520px);
	margin: clamp(32px, calc(100vw / 1600 * 60), 60px) auto 0;
}
.mv_announcement_wappen {
	position: absolute;
	top: clamp(-100px, calc(100vw / 1600 * -120), -120px);
	right: -2vw;
	width: clamp(140px, calc(100vw / 1600 * 300), 300px);
	z-index: 1;
}

@media screen and (min-width: 768px) {
	.mv_copy {
	top: clamp(80px, calc(100vw / 1600 * 168), 168px);;
	left: clamp(80px, calc(100vw / 1600 * 160), 160px);
}

}
@media screen and (min-width: 1600px) {}


/* =====================
  landplan
===================== */
.landplan {
	padding: clamp(32px, calc(100vw / 1600 * 1342), 60px) clamp(12px, calc(100vw / 1600 * 20), 20px) clamp(12px, calc(100vw / 1600 * 12), 12px);
	background: url(../images/lp/bg_landplan.jpg) center center no-repeat;
	background-size: cover;
}
.landplan_img {
	width: clamp(300px, calc(100vw / 1600 * 1342), 1342px);
	margin: 30px auto 0;
}
.landplan_img .note {
	padding-top: clamp(8px, calc(100vw / 1600 * 12), 12px);
	text-align: right;
}
@media screen and (min-width: 768px) {.landplan_img {
	margin: 0 auto 0;
}
}
@media screen and (min-width: 1600px) {}

/* =====================
  access
===================== */
.access {
	padding-top: clamp(48px, calc(100vw / 1600 * 96), 96px);
}
.access_inner{
}
.access_inner + .note {
	padding-top: clamp(24px, calc(100vw / 1600 * 48), 48px);
	text-align: right;
}
.access_inner_left{}
.access_inner_right{}
.access_img{margin-top: clamp(32px, calc(100vw / 1600 * 60), 60px);}
.access_img .note{padding-top: clamp(4px, calc(100vw / 1600 * 12), 12px);
text-align: right;}

@media screen and (min-width: 768px) {
	.access_inner{
	display: flex;
	grid-gap: clamp(24px, calc(100vw / 1600 * 48), 48px);
}
}
@media screen and (min-width: 1600px) {}


/* =====================
  location
===================== */
.location {
	padding-top: clamp(48px, calc(100vw / 1600 * 96), 96px);
}
.location .title {
	text-align: center;
}
.location_inner{
	max-width: width: clamp(400px, calc(100vw / 1600 * 1460), 1460px);
	padding: 0 clamp(20px, calc(100vw / 1600 * 40), 40px) 0;
}
.location_inner .note {
	padding-top: clamp(24px, calc(100vw / 1600 * 48), 48px);
	text-align: right;
}
.location_list{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: clamp(20px, calc(100vw / 1600 * 40), 40px) auto 0;
	gap: clamp(12px, calc(100vw / 1600 * 40), 40px) clamp(12px, calc(100vw / 1600 * 20), 20px);
}
.location_list .item{
	max-width: clamp(160px, calc(100vw / 1600 * 350), 350px);
}
.location_list_name{
	padding-top: clamp(6px, calc(100vw / 1600 * 12), 12px);
	font-size: clamp(1.2rem, calc(100vw / 1600 * 18), 1.8rem);
}
.location_list_note{
	padding-top: clamp(4px, calc(100vw / 1600 * 8), 8px);
	font-size: clamp(1.2rem, calc(100vw / 1600 * 16), 1.6rem);
}

@media screen and (min-width: 768px) {}
@media screen and (min-width: 1600px) {}


/* =====================
  map
===================== */
.map {
	padding: clamp(48px, calc(100vw / 1600 * 96), 96px) 20px 0;
}
.map .title {
	text-align: center;
}
.map_inner{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: clamp(20px, calc(100vw / 1600 * 40), 40px) auto 0;
	gap: clamp(12px, calc(100vw / 1600 * 40), 40px) clamp(12px, calc(100vw / 1600 * 20), 20px);
}
.map_inner_map {
	max-width: clamp(400px, calc(100vw / 1600 * 900), 900px);
	border: 2px solid #231815;
}
.map_inner_maplarge {
	max-width: clamp(400px, calc(100vw / 1600 * 530), 530px);
	border: 2px solid #A40808;
}
.maplarge_title{
	padding: clamp(4px, calc(100vw / 1600 * 8), 8px);
	color: #fff;
	font-size: clamp(1.6rem, calc(100vw / 1600 * 20), 2rem);
	text-align: center;
	background: #A40808;
}
.map_mapcode{
	padding: clamp(12px, calc(100vw / 1600 * 20), 20px);
	border-top: 2px solid #A40808;
}
.map_mapcode_no{
	display: flex;
	align-items: center;
	font-size: clamp(2rem, calc(100vw / 1600 * 40), 4rem);
}
.map_mapcode_no::before{
	content: "";
	background: url(../images/lp/img_mapcode.png) center center no-repeat;
	width: clamp(80px, calc(100vw / 1600 * 106), 106px);
	aspect-ratio: 107 / 38;
	margin-right: clamp(4px, calc(100vw / 1600 * 12), 12px);
	background-size: cover;
}
.map_mapcode .note {
	padding-top: clamp(12px, calc(100vw / 1600 * 20), 20px);
}

@media screen and (min-width: 768px) {}
@media screen and (min-width: 1600px) {}


/* =====================
  map
===================== */
.outline {
	padding: clamp(48px, calc(100vw / 1600 * 96), 96px) 20px 0;
}
.outline .title {
	text-align: center;
}
.outline .title_jp {
	margin-bottom: clamp(36px, calc(100vw / 1600 * 52), 52px);
	text-align: center;
	font-size: clamp(1.6rem, calc(100vw / 1600 * 32), 3.2rem);
}
.outline_inner{
	max-width: clamp(400px, calc(100vw / 1600 * 1240), 1240px);
	margin: clamp(24px, calc(100vw / 1600 * 40), 40px) auto 0;
}
.outline_list{
	border-bottom: 1px solid #E1E1E1;
}
.outline_list + .title {
	padding-top: clamp(32px, calc(100vw / 1600 * 60), 60px);
}
.outline_list .first{
	border-top: 1px solid #E1E1E1;
}
.outline_list_title,
.outline_list_lead {
	padding: clamp(12px, calc(100vw / 1600 * 20), 20px) clamp(12px, calc(100vw / 1600 * 40), 40px);
	font-size: clamp(1.4rem, calc(100vw / 1600 * 18), 1.8rem);
}
.outline_list_title{
	width: 100%;
	background-color: #EFEFEF;
}
.outline_list_lead{
	width: 100%;
}
.outline_caption{
	padding-top: clamp(36px, calc(100vw / 1600 * 48), 48px);
	padding-bottom: clamp(36px, calc(100vw / 1600 * 48), 48px);
}
@media screen and (min-width: 768px) {
	.outline_list{
		display: flex;
		border-bottom: 1px solid #E1E1E1;
	}
	.outline_list_title{
		width: clamp(280px, calc(100vw / 1600 * 280), 280px);
	}
	.outline_list_lead{
		width: calc(100% - clamp(280px, calc(100vw / 1600 * 280), 280px));
	}

}
@media screen and (min-width: 1600px) {}




/* =====================
  point
===================== */
.point {
  margin-top: 40px;
  padding: 20px 0;
  background-color: #f6f4e1;
}

.point-list {}

.point-list .item {
  width: 100%;
  padding: 16px 0;
  text-align: center;
}

.point-list .item {
  border-bottom: 1px solid #dcdcdc;
}

.point-list .item:last-of-type {
  border-bottom: none;
}

.point-list .item .point-sub {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
}

.point-list .item .point-main {
  vertical-align: baseline;
  margin-top: 8px;
}

.point-list .item .point-main.flx {
  display: flex;
  justify-content: center;
  align-items: center;
}

.point-list .item .point-main span {
  font-size: 1.4rem;
}

.point-list .item .point-main .mini {
  font-size: 1rem;
  line-height: 1em;
}

@media screen and (min-width: 768px) {
  .point {
    margin-top: calc(100vw / 1440 * 40);
    padding: calc(100vw / 1440 * 40) 0;
  }

  .point-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .point-list .item {
    position: relative;
    width: 33%;
    padding: calc(100vw / 1440 * 28) 0;
    border-right: 1px solid #dcdcdc;
    border-bottom: none;
    text-align: center;
  }

  .point-list .item:nth-of-type(3n) {
    border-right: none;
  }

  .point-list .item:nth-of-type(3) {
    border-bottom: none;
  }

  .point-list .item {}

  .point-list .item .point-sub {
    height: calc(100vw / 1440 * 32);
    font-size: 1.6rem;
  }

  .point-list .item .point-main {
    margin-top: calc(100vw / 1440 * 12);
  }

  .point-list .item .point-main.flx {}

  .point-list .item .point-main span {
    font-size: calc(100vw / 1440 * 20);
  }

  .point-list .item .point-main .mini {}

}

@media screen and (min-width: 1480px) {
  .point {
    margin-top: 80px;
    padding: 40px 0;
    border-top: 1px solid #DCDCDC;
    background: none;
  }

  .point-list {}

  .point-list .item {
    position: relative;
    width: 25%;
    padding: 14px 0;
    text-align: center;
    border-right: none;
  }

  .point-list .item {
    border-bottom: none;
  }

  .point-list .item::after {
    position: absolute;
    top: 0;
    display: block;
    content: "";
    width: 1px;
    height: 108px;
    background-color: #707070;
    transform: rotate(10deg);
  }

  .point-list .item:first-of-type::after {
    display: none;
  }

  .point-list .item .point-sub {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 32px;
    font-size: 1.6rem;
  }

  .point-list .item .point-main {
    vertical-align: baseline;
    margin-top: 8px;
  }

  .point-list .item .point-main.flx {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .point-list .item .point-main span {
    font-size: 1.6rem;
  }

  .point-list .item .point-main .mini {
    font-size: 1rem;
    line-height: 1em;
  }
}



/* =====================
  concept
===================== */
.concept {
  background: url(../img/top/img_concept_bg.jpg) center center no-repeat;
  background-size: cover;
  padding: 26px 0 8px;
  text-align: center;
}

.concept-en {}

.concept-logo {
  max-width: 140px;
  margin: 40px auto 0;
}

.concept-title {
  margin-top: 20px;
  text-indent: 1em;
}

.concept .t-lead {
  margin-top: 20px;
  margin-bottom: 40px;
  line-height: 2em;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .concept {
    padding: calc(100vw / 1440 * 52) 0 calc(100vw / 1440 * 8);
  }

  .concept-en {}

  .concept-logo {
    max-width: 160px;
    margin: calc(100vw / 1440 * 72) auto 0;
  }

  .concept-title {
    margin-top: calc(100vw / 1440 * 24);
  }

  .concept .t-lead {
    margin-top: calc(100vw / 1440 * 40);
    margin-bottom: calc(100vw / 1440 * 80);
    text-align: center;
    line-height: 2.5em;
  }
}

@media screen and (min-width: 1480px) {
  .concept {
    padding: 52px 0 8px;
  }

  .concept-en {}

  .concept-logo {
    margin: 72px auto 0;
  }

  .concept-title {
    margin-top: 24px;
  }

  .concept .t-lead {
    margin-top: 40px;
    margin-bottom: 80px;
  }
}



/* =====================
  category
===================== */
.category {
  margin-top: 52px;
}

.category .category-list {
  margin-top: 40px;
}

.category .category-photo {
  position: relative;
  width: 92%;
  margin: auto;
}

.category .category-photo .caption {
  position: absolute;
  bottom: 0.5em;
  right: 1em;
}

.category .category-text {
  width: 92%;
  margin: 20px auto 0;
  text-align: center;
}


.category .category-title {
  margin-top: 20px;
}

.category a.link-more {
  width: 280px;
  margin: auto;
  margin-top: 32px;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .category {
    margin-top: calc(100vw / 1440 * 100);
  }

  .category .category-list {
    display: flex;
    align-items: center;
    margin-top: calc(100vw / 1440 * 80);
  }

  .category .category-list[photo-type="right"] {
    flex-direction: row-reverse;
  }

  .category .category-photo {
    position: relative;
    width: 48%;
    margin: 0;
  }

  .category .category-photo .caption {}

  .category .category-text {
    width: auto;
    margin: 0;
    text-align: left;
  }

  .category .category-list[photo-type="left"] .category-text {
    padding-left: calc(100vw / 1440 * 100);
  }

  .category .category-list[photo-type="right"] .category-text {
    padding-right: calc(100vw / 1440 * 40);
  }

  .category .category-title {
    margin-top: calc(100vw / 1440 * 40);
  }

  .category a.link-more {
    margin: 0;
    margin-top: calc(100vw / 1440 * 60);
    font-size: 1.6rem;
  }

}

@media screen and (min-width: 1480px) {
  .category {
    margin-top: 100px;
  }

  .category .category-list {
    margin-top: 80px;
  }

  .category .category-list[photo-type="right"] {}

  .category .category-photo {
    width: 52%;
  }

  .category .category-photo .caption {}

  .category .category-text {}

  .category .category-list[photo-type="left"] .category-text {
    padding-left: 100px;
  }

  .category .category-list[photo-type="right"] .category-text {
    padding-right: 40px;
  }

  .category .category-title {
    margin-top: 40px;
  }

  .category a.link-more {
    width: 280px;
    margin-top: 60px;
  }

}



/* =====================
  bnr-model
===================== */
.bnr-model {
  display: none;
}

.bnr-model.sp {
  margin-top: 12px;
}

.bnr-model a {
  display: block;
  background: rgb(131, 18, 21);
  background: linear-gradient(22deg, rgba(131, 18, 21, 1) 0%, rgba(193, 56, 35, 1) 63%);
  padding: 4px 0;
  box-sizing: border-box;
}

.bnr-model a:hover {
  opacity: 0.8;
  background: linear-gradient(230deg, rgba(131, 18, 21, 1) 0%, rgba(193, 56, 35, 1) 63%);
}

.bnr-model-inner {
  width: 100%;
  padding: 16px 24px;
  border-top: 2px solid #FFF100;
  border-bottom: 2px solid #FFF100;
  text-align: center;
}

.bnr-model-inner img {
  width: auto;
  height: 26px;
  margin-top: 8px;
}

.bnr-model-inner img:first-of-type {}

.bnr-model-dtl {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  height: 34px;
  font-size: 1.4rem;
  line-height: 1em;
  color: #C13823;
  background: #fff;
  max-width: 152px;
  border: 1px solid #fff;
  margin: 8px auto 0;
}

@media screen and (min-width: 768px) {
  .bnr-model {}

  .bnr-model a {
    padding: calc(100vw / 1440 * 8) 0;
  }

  .bnr-model a:hover {}

  .bnr-model-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(100vw / 1440 * 20) calc(100vw / 1440 * 40);
  }

  .bnr-model-inner img {
    margin-top: 0;
    height: calc(100vw / 1440 * 40);
  }

  .bnr-model-inner img:first-of-type {
    margin-right: calc(100vw / 1440 * 10);
  }

  .bnr-model-dtl {
    max-width: calc(100vw / 1440 * 180);
    margin: 0;
    margin-left: calc(100vw / 1440 * 20);
    font-size: calc(100vw / 1440 * 18);
  }
}

@media screen and (min-width: 1480px) {
  .bnr-model {}

  .bnr-model a {
    display: block;
    background: rgb(131, 18, 21);
    background: linear-gradient(22deg, rgba(131, 18, 21, 1) 0%, rgba(193, 56, 35, 1) 63%);
    padding: 8px 0;
    box-sizing: border-box;
  }

  .bnr-model a:hover {
    opacity: 0.8;
    background: linear-gradient(230deg, rgba(131, 18, 21, 1) 0%, rgba(193, 56, 35, 1) 63%);
  }

  .bnr-model-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 20px 40px;
    border-top: 2px solid #FFF100;
    border-bottom: 2px solid #FFF100;
  }

  .bnr-model-inner img {
    display: block;
    width: auto;
    height: 40px;
  }

  .bnr-model-inner img:first-of-type {
    margin-right: 8px;
  }

  .bnr-model-dtl {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80%;
    height: 34px;
    font-size: 1.8rem;
    line-height: 1em;
    color: #C13823;
    background: #fff;
    max-width: 152px;
    border: 1px solid #fff;
    margin-left: 20px;
  }
}





@keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

@-webkit-keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
