* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	list-style: none;
	text-decoration: none;
}

html {
	font-size: 62.5%;
}

html,
body {
	overflow-x: hidden;
}

a {
	color: #000;
	text-decoration: none;
}
a:hover {
	color: #000;
}
a:active {
	color: #000;
}


img {
	image-rendering: -webkit-optimize-contrast;
	max-width: 100%;
	width: 100%;
	vertical-align: bottom;
}

input,
button {
	box-sizing: border-box;
	border: none;
	outline: none;
}

textarea {
	box-sizing: border-box;
	border: none;
	outline: none;
}

select {
	border: none;
	outline: none;
}

table {
	display: block;
}


/* ---------------------
		共通部
---------------------- */
.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

.sp_inline {
	display: none !important;
}

.pc64 {
	display: block !important;
}

.sp64 {
	display: none !important;
}

@media screen and (max-width: 979px) {
	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	.sp_inline {
		display: inline-block !important;
	}
}

@media screen and (max-width: 640px) {
	.pc64 {
		display: none !important;
	}

	.sp64 {
		display: block !important;
	}
}


/* ----------------------
	[ 来場予約ボタン ]
	来場予約ボタン無
	body class=no_reserv
	
	来場予約ボタン有
	body class=reserv
------------------------ */
.reserv #gnav03 a.visit_btn{
	display: block;
}
.no_reserv #gnav03 a.visit_btn,
.visit_btn_sp{
	display: none;
}
@media screen and (max-width: 979px) {
	.outline_btn_sp {
		display: block !important;
	}
	.no_reserv .visit_btn_sp {
		display: none !important;
	}
}

body {
	font-family: "MFW-TBGoPro-Regular";
	/* font-feature-settings: "palt"; */
	text-size-adjust: 100%;
	font-size: 16px;
	line-height: 2em;
}
body .about,body.page{
	line-height: 1.4;
}
@media screen and (max-width: 740px) {
	body {
		font-size: 12px;
	}
}

h3 {
	font-size: 3.6rem;
	line-height: 1.5em;
	margin-bottom: 30px;
}
@media screen and (max-width: 740px) {
	h3 {
		font-size: 2.4rem;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 380px) {
	h3 {
		font-size: 1.6rem;
	}
}
h3 .large {
	font-size: 4rem;
}
@media screen and (max-width: 740px) {
	h3 .large {
		font-size: 3rem;
	}
}
@media screen and (max-width: 380px) {
	h3 .large {
		font-size: 2rem;
	}
}

h4 {
	font-size: 2.4rem;
	line-height: 1.5em;
	margin-bottom: 30px;
}
@media screen and (max-width: 740px) {
	h4 {
		font-size: 2rem;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 380px) {
	h4 {
		font-size: 1.6rem;
	}
}

p {
	font-size: 16px;
}
@media screen and (max-width: 740px) {
	p {
		font-size: 12px;
	}
}
@media screen and (max-width: 380px) {
	p {
		font-size: 10px;
	}
}

.center {
	text-align: center;
}

img.center {
	display: block;
	margin: 0 auto;
}

.blue {
	color: #1b1c80;
}

.base_w {
	max-width: 1280px;
	margin: 0 auto;
}

.base_mw {
	max-width: 740px;
	margin: 0 auto;
}

a.link_btn, button.link_btn {
	display: block;
	width: 100%;
	margin: 30px auto 0;
	padding: 1rem;
	text-align: center;
	font-size: 1.5rem;
	transition: 0.3s;
	color: #fff;
	cursor: pointer;
	background: #a9bed9 url("../images/common/arrow_right.svg") 95% center no-repeat;
	background-size: 50px;
}
a.link_btn:hover, button.link_btn:hover {
	background: rgba(169, 190, 217, 0.7) url("../images/common/arrow_right.svg") 103% center no-repeat;
	background-size: 50px;
}
a.link_btn.soon, button.link_btn.soon {
	background: #e0e0e0;
}


.life_slider a.link_btn, .life_slider button.link_btn,
.campaign_slider a.link_btn, .campaign_slider button.link_btn,
.slider_one a.link_btn,.slider_one button.link_btn{
	background: #a9bed9 url("../images/common/arrow_right_slider.svg") 70% center no-repeat;
	background-size: 90%;
	position: relative;
	height: 50px;
}
.life_slider a.link_btn span, button.link_btn span,
.slider_one a.link_btn span {
	position: absolute;
	left: 25px;
		top: 10px;
}
.life_slider a.link_btn:hover, .life_slider button.link_btn:hover,
.campaign_slider a:hover, .campaign_slider button.link_btn:hover,
.slider_one a.link_btn:hover, .slider_one button.link_btn:hover {
	cursor: pointer;
	background: rgba(169, 190, 217, 0.7) url("../images/common/arrow_right_slider.svg") 103% center no-repeat;
		background-size: 90%;
}

@media screen and (max-width: 740px) {
	a.link_btn, button.link_btn {
		margin: 10px auto 0;
		padding: 0.7rem 0.5rem;
		font-size: 1.2rem;
		line-height: 1.5rem;
	}
	a.link_btn, button.link_btn {
	  background-size: 25px;
  }
}
@media screen and (max-width: 380px) {
	a.link_btn, button.link_btn {
		font-size: 1rem;
	}
}

.col2 {
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.col2 div, .col2 a, .col2 li {
	width: 48%;
}

.col3 {
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.col3 div, .col3 a, .col3 li {
	width: 32%;
}
@media screen and (max-width: 740px) {
	.col3 div, .col3 a, .col3 li {
		width: 100%;
		margin-bottom: 30px;
	}
}

.scrollLeft {
	opacity: 0;
	transform: translateX(200px);
	transition: 1.5s;
}
.scrollLeft.scrollLeftOff {
	opacity: 1;
	transform: translateX(0px);
}

.scrollIn {
	opacity: 0;
	transform: translateY(60px);
	transition: 2s;
}
.scrollIn.scrollInOff {
	opacity: 1;
	transform: translateY(0px);
}

header {
	width: 100%;
	margin: 0 auto;
	padding: 10px;
	position: fixed;
	top: 0;
	z-index: 888;
	transition: 0.3s;
	line-height: 2em;
}
header.show {
	background-color: rgba(240, 240, 240, 0.8);
}
@media screen and (max-width: 979px) {
	header.show {
		background-color: transparent;
	}
}
@media screen and (max-width: 979px) {
	header {
		padding: 0;
	}
	header.show {
		transform: translateY(-150px);
		transform: translateY(0px);
	}
}
header #gnav01 {
	width: 100%;
}
@media screen and (max-width: 979px) {
	header #gnav01 {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		transition: 0.3s;
	}
}
header #gnav01 h1 {
	display: block;
	width: 10%;
}
@media screen and (max-width: 979px) {
	header #gnav01 h1 {
		width: 15%;
		padding: 10px;
	}
}
@media screen and (max-width: 740px) {
	header #gnav01 h1 {
		width: 23%;
	}
}
header #gnav01 #toggle {
	display: none;
}
@media screen and (max-width: 979px) {
	header #gnav01 #toggle {
		display: block;
		width: 8%;
		background-color: #a9bed9;
		padding: 3% 2%;
		cursor: pointer;
		transition: 0.3s;
	}
}
@media screen and (max-width: 979px) and (max-width: 740px) {
	header #gnav01 #toggle {
		width: 12%;
	}
}
@media screen and (max-width: 979px) {
	header #gnav01 #toggle span {
		display: block;
		margin: 0 auto;
		position: relative;
	}
}
@media screen and (max-width: 979px) {
	header #gnav01 #toggle span:before {
		content: "";
		position: absolute;
		top: 10px;
	}
}
@media screen and (max-width: 979px) {
	header #gnav01 #toggle span:after {
		content: "";
		position: absolute;
		top: 20px;
	}
}
@media screen and (max-width: 979px) {
	header #gnav01 #toggle span, header #gnav01 #toggle span:before, header #gnav01 #toggle span:after {
		display: block;
		width: 100%;
		height: 1px;
		background-color: #fff;
		transition: all 0.3s;
		backface-visibility: hidden;
	}
}
@media screen and (max-width: 979px) {
	header #gnav01 #toggle.open {
		transform: translateY(0px);
	}
	header #gnav01 #toggle.open span {
		background-color: transparent;
	}
	header #gnav01 #toggle.open span:after {
		transform: rotate(45deg) translate(-7px, -7px);
	}
	header #gnav01 #toggle.open span:before {
		transform: rotate(-45deg);
	}
}
header #gnav02 {
	transition: 1s;
	transform: translateY(-150px);
	width: 100%;
	margin-top: 0px;
}
@media screen and (max-width: 979px) {
	header #gnav02 {
		display: none;
	}
}
header #gnav02.show {
	transform: translateY(0px);
}
header #gnav02 nav#menu {
	max-width: 100%;
	margin: 20px auto 0;
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
header #gnav02 nav#menu a {
	display: block;
	width: 11%;
	font-size: 14px;
	text-align: center;
	color: #000;
}
header #gnav02.show {
	transform: translateY(0px);
}
header #gnav03 {
	transition: 1s;
	transform: translateY(-150px);
	width: 70%;
	margin: 0 0 0 auto;
	display: flex;
	flex-flow: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	position: fixed;
	top: 0px;
	right: 10px;
	z-index: 999;
}
@media screen and (max-width: 979px) {
	header #gnav03 {
		display: none;
	}
}
header #gnav03 a {
	display: block;
	width: 25%;
	padding: 10px;
	margin-left: 10px;
	text-align: center;
	color: #000;
	background-color: #a9bed9;
}
header #gnav03 a.map_btn {
	display: block;
	width: 20%;
	background-color: transparent;
}
@media screen and (max-width: 979px) {
	header #gnav03 a.map_btn {
		display: none;
	}
}
header #gnav03.show {
	transform: translateY(0px);
}

.header_new{
	position: relative;
}
.header_new:after {
	content: 'new';
	color: #c40000;
	text-transform: uppercase;
	font-size: 9px;
	top: -10px;
	right: 20px;
	position: absolute;
}
@media screen and (max-width: 979px) {
	.header_new:after {
		top: 3px;
		right: unset;
		left: 10px;
	}
}

#sp_nav {
	display: none;
	width: 100%;
	margin: 0 auto;
	padding: 65px 10px 10px;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 777;
	position: fixed;
	line-height: 2em;
}
#sp_nav nav {
	width: 100%;
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
#sp_nav nav a {
	display: block;
	font-size: 14px;
	text-align: center;
	color: #000;
	width: 49%;
	margin-bottom: 10px;
	border: 1px solid #000;
	color: #000;
}
@media screen and (max-width: 979px) {
	#sp_nav.open {
		display: block;
	}
}

.sp-bottom {
	display: none;
}
@media screen and (max-width: 979px) {
	.sp-bottom {
		display: block;
		position: fixed;
		bottom: 0;
		z-index: 999;
		width: 100%;
		background-color: #fff;
		box-shadow: 0px -3px 3px rgba(0, 0, 0, 0.2);
		display: flex;
		flex-flow: row;
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	.sp-bottom a {
		display: block;
		position: relative;
		box-sizing: border-box;
		width: 24.5%;
		height: auto;
		padding: 2%;
		background-color: #a9bed9;
		text-align: center;
		color: #fff;
	}
	.sp-bottom a img {
		display: block;
		margin: 0px auto 15px;
	}
	.sp-bottom a p.txt {
		display: block;
		position: absolute;
		bottom: 2%;
		right: 10%;
		left: 10%;
		font-size: 12px;
		line-height: 2em;
	}
}
@media screen and (max-width: 979px) and (max-width: 380px) {
	.sp-bottom a p.txt {
		font-size: 10px;
	}
}

main {
	margin-top: 0px;
}
footer {
	line-height: 2em;
}
@media screen and (max-width: 740px) {
	footer {
		margin-bottom: 120px;
	}
}
footer .prevnext {
	max-width: 100%;
	height: 180px;
	margin: 180px auto 0px;
	display: flex;
	flex-flow: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
@media screen and (max-width: 740px) {
	footer .prevnext {
		height: 90px;
		margin: 120px auto 60px;
	}
}
footer .prevnext a {
	display: block;
	width: 49.5%;
	padding: 50px;
	position: relative;
	background: url("../images/common/prevnext_bg.jpg");
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center center;
	background-color: rgba(169, 190, 217, 0.8);
	background-blend-mode: soft-light;
	transition: 0.3s;
	color: #fff;
	text-align: center;
	z-index: 0;
}
@media screen and (max-width: 740px) {
	footer .prevnext a {
		padding: 20px;
	}
}
footer .prevnext a::before {
	display: block;
	content: url("../images/common/arrow_right.svg");
	width: 100px;
	height: 20px;
	position: absolute;
	top: 80px;
	right: 10px;
}
@media screen and (max-width: 740px) {
	footer .prevnext a::before {
		width: 50px;
		width: 30px;
		height: 10px;
		top: 40px;
	}
}
footer .prevnext a.reverse::before {
	display: block;
	content: url("../images/common/arrow_left.svg");
	width: 100px;
	height: 20px;
	position: absolute;
	top: 80px;
	left: 10px;
}
@media screen and (max-width: 740px) {
	footer .prevnext a.reverse::before {
		width: 50px;
		width: 30px;
		height: 10px;
		top: 40px;
	}
}
footer .prevnext a .large {
	font-size: 3rem;
}
@media screen and (max-width: 740px) {
	footer .prevnext a .large {
		font-size: 2rem;
	}
}
footer .prevnext a:hover {
	background-size: 110%;
}
footer .footer_nav {
	max-width: 100%;
	margin: 180px auto 120px;
	display: flex;
	flex-flow: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
}
@media screen and (max-width: 740px) {
	footer .footer_nav {
		margin: 120px auto 60px;
	}
}
@media screen and (max-width: 979px) {
	footer .footer_nav {
		flex-wrap: wrap;
	}
}
footer .footer_nav a {
	display: block;
	width: 12.3%;
	padding: 10px;
	background-color: #a9bed9;
	text-align: center;
	color: #fff;
	line-height: 1.2em;
}
@media screen and (max-width: 979px) {
	footer .footer_nav a {
		width: 49.5%;
		margin-bottom: 1%;
	}
}
footer .footer_nav a .en {
	font-size: 12px;
}
footer .tel {
	max-width: 600px;
	margin: 0px auto 120px;
	text-align: center;
}
@media screen and (max-width: 740px) {
	footer .tel {
		margin: 0 auto 60px;
	}
}
footer .tel a {
	display: block;
	font-family: "MFW-TBGoStd-Medium";
	font-size: 5.4rem;
	font-weight: bold;
	margin: 10px auto;
}
@media screen and (max-width: 740px) {
	footer .tel a {
		font-size: 3.6rem;
	}
}
footer .tel a img {
	width: 60px;
}
@media screen and (max-width: 740px) {
	footer .tel a img {
		width: 40px;
	}
}
footer .map {
	max-width: 600px;
	margin: 0px auto 120px;
	text-align: center;
}
@media screen and (max-width: 740px) {
	footer .map {
		width: 90%;
		margin: 0 auto 60px;
	}
}
footer .map .gallery_address {
	background-color: #000;
	color: #fff;
	padding: 10px;
}
footer .recommend {
	max-width: 100%;
	margin: 0px auto 60px;
	padding: 20px;
	background-color: #e0e0e0;
}
footer .recommend .recommend_slider {
	max-width: 1280px;
	margin: 30px auto;
}
@media screen and (max-width: 979px) {
	footer .recommend .recommend_slider {
		width: 200%;
	}
}
@media screen and (max-width: 979px) {
	footer .recommend .recommend_slider {
		margin: 15px auto;
	}
}
@media screen and (max-width: 979px) {
	footer .recommend .recommend_slider .slick-dots {
		display: block;
		width: 50%;
		margin: 0px auto;
	}
}
footer .recommend .recommend_slider a {
	display: block;
	width: 30%;
	margin: 0px 10px 0px;
	transition: 0.3s;
}
footer .recommend .recommend_slider a:hover {
	opacity: 0.5;
}
footer .recommend .recommend_slider a .txt {
	background-color: #fff;
	padding: 10px;
}
footer .recommend .recommend_slider a .txt .pre {
	color: #1b1c80;
	font-size: 12px;
}
footer a.company_logo {
	display: block;
	margin: 0 auto 60px;
}
footer a.company_logo img {
	display: block;
	max-width: 400px;
	margin: 0 auto;
}
@media screen and (max-width: 740px) {
	footer a.company_logo img {
		width: 90%;
	}
}
footer a.brand_logo {
	display: block;
	border-top: 1px solid #000;
}
footer a.brand_logo img {
	display: block;
	max-width: 300px;
	margin: 30px auto;
}
@media screen and (max-width: 740px) {
	footer a.brand_logo img {
		width: 80%;
	}
}
footer address {
	padding: 10px;
	text-align: center;
	color: #000;
	font-size: 14px;
	font-style: normal;
}
@media screen and (max-width: 740px) {
	footer address {
		font-size: 12px;
	}
}
@media screen and (max-width: 380px) {
	footer address {
		font-size: 10px;
	}
}

/**nolink**/
#menu a.no_link,#sp_nav a.no_link{
	pointer-events: none;
	opacity: .3;
}
.footer_nav a.no_link{
	color: #ccdbf0;
	pointer-events: none
}

.first_view .main_slider {
	max-width: 100%;
	z-index: 0;
}

/*TOPメインビジュアル高さ調整*/
.first_view .main_slider div {
	height: 100vh;
	height: 153vh;
	background-repeat: no-repeat;
	background-size:100%;

	background-position: top center;
}
@media screen and (max-width: 1440px) {
	.first_view .main_slider div {
		height: 700px;
		height: 1200px;
	}
}
@media screen and (max-width: 940px) {
	.first_view .main_slider div {
		height: 800px;
	}
}
@media screen and (max-width: 740px) {
	.first_view .main_slider div {
		height: 500px;
	}
}
.first_view .main_slider div.slide01 {
	background-image: url("../images/top/slide01_pc.jpg");
}
@media screen and (max-width: 979px) {
	.first_view .main_slider div.slide01 {
		background-image: url("../images/top/slide01_sp.jpg");
	}
}
.first_view .main_slider div.slide02 {
	background-image: url("../images/top/slide02_pc.jpg");
}
@media screen and (max-width: 979px) {
	.first_view .main_slider div.slide02 {
		background-image: url("../images/top/slide02_sp.jpg");
	}
}
.first_view .main_slider div.slide03 {
	background-image: url("../images/top/slide03_pc.jpg");
}
@media screen and (max-width: 979px) {
	.first_view .main_slider div.slide03 {
		background-image: url("../images/top/slide03_sp.jpg");
	}
}

/*TOP、info位置*/
.first_view .information {
	position: relative;
	z-index: 666;
	width: 94%;
	max-width: 1200px;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.3);
	margin: -60px auto 120px;
	padding: 20px 2%;
}
@media screen and (max-width: 1280px) {
	.first_view .information {
		width: 90%;
		margin: -60px auto 60px;
	}
}
@media screen and (max-width: 740px) {
	.first_view .information {
		margin: -30px auto 60px;
	}
}
.first_view .information p.name {
	font-size: 3rem;
	line-height: 2em;
	font-weight: bold;
}
@media screen and (max-width: 740px) {
	.first_view .information p.name {
		font-size: 2rem;
	}
}

.first_view .information p.price {
	font-size: 3rem;
	line-height: 2em;
	font-weight: bold;
}
@media screen and (max-width: 740px) {
	.first_view .information p.price {
		font-size: 2rem;
	}
}
.first_view .information p.price .large {
	font-family: "MFW-TBGoStd-Medium";
	font-size: 4rem;
}
@media screen and (max-width: 740px) {
	.first_view .information p.price .large {
		font-size: 2rem;
	}
}
.first_view .information p.price .red {
	color: #af272d;
}


.first_view .information h2 {
	font-size: 3rem;
	line-height: 2em;
}
@media screen and (max-width: 740px) {
	.first_view .information h2 {
		font-size: 2rem;
	}
}


.first_view .information .box {
	font-size: 60%;
	border: solid 1px #111;
	vertical-align: 4px;
	margin: 0 5px 5px;
	padding: 0 5px;
}
.first_view .information .cmnt {
	font-size:50%;
  font-size: 1.5rem;
	text-align:left;
	margin-left: 66%;
}
@media screen and (max-width: 979px) {
	.first_view .information .cmnt {
    font-size: 1rem;
		margin-left: 48%;
	}
}
@media screen and (max-width: 640px) {
	.first_view .information .cmnt {
		text-align:center;
		margin-left: auto;
		margin-right: auto;
	}
}

ul.merit {
	max-width: 1280px;
	margin: 80px auto 120px;
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media screen and (max-width: 1280px) {
	ul.merit {
		width: 90%;
		margin: 40px auto 60px;
		/* margin: 170px auto 60px; */
	}
}

ul.merit li {
	display: block;
	width: 32%;
	border: 2px solid #a9bed9;
	padding: 20px;
	text-align: center;
	font-size: 2rem;
	line-height: 3.6rem;
	font-weight: bold;

	display: flex;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width: 1280px) {
	ul.merit li {
		width: 100%;
		margin: 0 auto 10px;
	}
}
@media screen and (max-width: 1280px) {
	ul.merit li {
		font-size: 1.8rem;
	}
}
ul.merit li .large {
	font-family: "MFW-TBGoStd-Medium";
	font-size: 2.8rem;
}
ul.merit li .small {
	font-size: 1.6rem;
}
@media screen and (max-width: 1280px) {
	ul.merit li .large {
		font-size: 2rem;
	}
	ul.merit li .small {
		font-size: 1.0rem;
	}
}
ul.merit li .red {
	color: #af272d;
}

.campaign_slider {
	max-width: 1280px;
	margin: 60px auto;
}
@media screen and (max-width: 979px) {
	.campaign_slider {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.campaign_slider {
		width: 100%;
	}
}
.campaign_slider .slick-slide {
	margin: 0 20px 200px;
}
.slick-dots > li:first-child:last-child {
	display: none;
}
@media screen and (max-width: 979px) {
	.campaign_slider .slick-dots {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	.slick-dots > li:first-child:last-child {
		display: block;
	}
}
@media screen and (max-width: 768px) {
	.campaign_slider .slick-dots {
		width: 100%;
	}
}
.campaign_slider a {
	display: block;
	width: 32%;
	z-index: 0;
	transition: 0.3s;
}
.campaign_slider a .txt {
	z-index: 555;
	max-width: 100%;
	margin: 0px auto -180px;
	padding: 15px;
	background-color: rgba(255, 255, 255, 0.8);
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 979px) {
	.campaign_slider a .txt {
		padding: 10px;
	}
}
.campaign_slider a .txt button.link_btn {
	display: block;
	width: 100%;
}

a.covid {
	display: block;
	max-width: 600px;
	font-size: 1.8rem;
	line-height: 1.5em;
	margin: 120px auto 120px;
}
@media screen and (max-width: 740px) {
	a.covid {
		width: 90%;
		font-size: 1.4rem;
	}
}

.update {
	max-width: 600px;
	margin: 120px auto 120px;
}
@media screen and (max-width: 740px) {
	.update {
		max-width: 90%;
		margin: 60px auto 80px;
	}
}

/*↓更新履歴増えた時用*/
/* .update {
	max-width: 720px;
  }
  .update ul{
	max-height: 250px;
	overflow-y: scroll;
  }
  @media screen and (max-width: 740px) {
	.update ul{
	  max-height: 230px;
	  max-width: 90%;
	  margin: 60px auto 80px;
	}
  } */
  /*更新履歴増えた時用*/

.update ul li {
	border-bottom: 1px solid #000;
	padding: 20px;
	overflow: hidden;
}
.update ul li span{
	display: block;
}
.update ul li span.date{
	float: left;
	margin-right: 20px;
}
.update ul li span.txt{
	float: left;
}
@media screen and (max-width: 740px) {
	.update ul li {
		padding: 10px;
	}
	.update ul li span.date{
		float: none;
		margin-right: 0px;
	}
	.update ul li span.txt{
		float: none;
	}
}

#calendar {
	width: 100%;
	margin: 0 auto 120px;
}
#calendar table.table {
	font-family: "MFW-TBGoStd-SuperLight";
	box-sizing: border-box;
	display: block;
	max-width: 840px;
	margin: 20px auto;
	overflow-x: scroll;
}
#calendar table.table th {
	padding: 10px;
}

.remodal_covid {
	max-width: 70%;
}
@media screen and (max-width: 979px) {
	.remodal_covid {
		max-width: 95%;
	}
}

.point {
	display: block;
	max-width: 100%;
	margin: 0 auto;
	height: 1200px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	position: relative;
	z-index: 10;
}
.point .base_w {
	position: relative;
}
@media screen and (max-width: 740px) {
	.point {
		height: 600px;
	}
}
.point .base_w {
	position: relative;
}
.point .base_w a.txt {
	display: block;
	position: absolute;
	cursor: pointer;
	top: 400px;
	width: 40%;
	background-color: rgba(255, 255, 255, 0.9);
	padding: 30px;
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.3);

}
@media screen and (max-width: 979px) {
	.point .base_w a.txt {
		top: 350px;
		width: 75%;
		height: auto;
	}
}
@media screen and (max-width: 740px) {
	.point .base_w a.txt {
		padding: 15px;
	}
}
.point .base_w a.txt.left {
	left: 0;
}
.point .base_w a.txt.right {
	right: 0;
}
.point .base_w a.txt img {
	max-width: 100px;
	margin-bottom: 30px;
}
@media screen and (max-width: 740px) {
	.point .base_w a.txt img {
		max-width: 60px;
		margin-bottom: 0px;
	}
}

.point01 {
	background-image: url("../images/top/point01.jpg");
	position: relative;
	z-index: 3;
}
.point02 {
	background-image: url("../images/top/point02.jpg");
	position: relative;
	z-index: 2;
}
.point03 {
	background-image: url("../images/top/point03.webp");
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 800px) {
	.point01 {
		background-image: url("../images/top/point01_sp.jpg");
		position: relative;
		z-index: 3;
		background-size: cover;
	  }
	  
	  .point02 {
		background-image: url("../images/top/point02_sp.jpg");
		position: relative;
		z-index: 2;
		background-size: cover;
	  }
	  /* .point03 {
		background-image: url("../images/top/point03_sp.jpg");
		position: relative;
		z-index: 2;
		background-size: cover;
	  } */
}

.brand {
	max-width: 100%;
	margin: 180px auto;
}
@media screen and (max-width: 740px) {
	.brand {
		margin: 120px auto;
	}
}
.brand .costbalance {
	padding: 30px;
	height: 500px;
	background-image: url("../images/top/brand_bg.jpg");
	background-repeat: no-repeat;
	background-attachment: local;
	background-position: center center;
	background-size: cover;
	position: relative;
}
.brand .costbalance .txt {
	max-width: 740px;
	position: absolute;
	right: 1%;
	left: 1%;
	bottom: 0;
	margin: -60px auto 60px;
	padding: 30px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.3);
	text-align: center;
}
.brand .group {
	padding: 30px;
	height: 600px;
	background-image: url("../images/top/group_bg.jpg");
	background-repeat: no-repeat;
	background-attachment: local;
	background-position: center center;
	background-size: cover;
	position: relative;
}
.brand .group .txt {
	max-width: 740px;
	position: absolute;
	right: 1%;
	left: 1%;
	bottom: 0;
	margin: -60px auto 60px;
	padding: 30px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.3);
	text-align: center;
}

.brand .group .txt h4 {
	font-size: 2.4rem;
}
.brand .group .txt h4.h4_group{
	font-size: 3.2rem;
	margin-bottom: 0;
}
.brand .group .txt h4 sup {
	font-size: 12px;
}
.brand .group p.cap{
	font-size: 12px;
	margin: 0px auto 30px;
	text-align: right;
}

@media screen and (max-width: 740px) {
	.brand .group .txt h4 {
		font-size: 1.8rem;
	}
	.brand .group .txt h4.h4_group{
		font-size: 2.2rem;
	}
	.brand .group p.cap{
		margin: 30px auto;
	}
	.brand .costbalance {
		background-image: url("../images/top/brand_bg_sp.jpg");
		/* background-size: 100% 100%; */
	}
}
.brand .group .txt h4 img.group_logo {
	display: block;
	margin: 10px auto;
}
.brand .group .txt ul {
	margin: 0px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.brand .group .txt ul li {
	width: 32%;
	margin-bottom: 10px;
	border: 1px solid #000;
	display: block;
	text-align: center;
}
@media screen and (max-width: 740px) {
	.brand .group .txt ul li {
		width: 48.5%;
	}
}

img.headline {
	max-width: 300px;
	max-width: unset;
	height: 45px;
	width: auto;
	margin: 0 auto 20px;
}
@media screen and (max-width: 740px) {
	.headline {
		width: 50%;
	}
	img.headline {
		height: 30px;
	}
}

.life_slider {
	width: 100%;
	margin: 0 auto;
	max-width: 1280px;
}
@media screen and (max-width: 979px) {
	.life_slider {
		width: 200%;
	}
}
@media screen and (max-width: 768px) {
	.life_slider {
		width: 100%;
	}
}
.life_slider .slick-slide {
	margin: 0 10px 30px;
}
@media screen and (max-width: 979px) {
	.life_slider .slick-dots {
		display: block;
		width: 50%;
		width: 75%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 768px) {
	.life_slider .slick-dots {
		width: 100%;
	}
}
.life_slider a {
	display: block;
	width: 33%;
	transition: 0.3s;
}
.life_slider a .txt {
	max-width: 100%;
	padding: 30px;
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 740px) {
	.life_slider a .txt {
		padding: 15px;
	}
}
.life_slider a .txt h4 {
	display: block;
	/* height: 70px; */
}
@media screen and (max-width: 740px) {
	.life_slider a .txt h4 {
		/* height: 50px; */
	}
}
.life_slider a .txt p {
	display: block;
	height: 60px;
	margin: 20px auto;
}
@media screen and (max-width: 380px) {
	.life_slider a .txt p {
		height: 40px;
	}
}
.life_slider a .txt img {
	max-width: 100px;
}
@media screen and (max-width: 740px) {
	.life_slider a .txt img {
		max-width: 60px;
	}
}
.life_slider a:hover {
	opacity: 0.8;
}

.outline {
	margin: 120px auto;
}
@media screen and (max-width: 740px) {
	.outline {
		margin: 60px auto;
	}
}
.outline table {
	width: 740px;
	margin: 0 auto 30px;
	border-collapse: collapse;
	table-layout: fixed;
}
@media screen and (max-width: 740px) {
	.outline table {
		width: 90%;
	}
}
.outline table tr {
	width: 100%;
	min-width: 740px;
	border-bottom: 1px solid #000;
}
.outline table tr th {
	width: 32%;
	padding: 2%;
	text-align: left;
	border-right: 1px solid #000;
}
.outline table tr td {
	width: 60%;
	min-width: 440px;
	padding: 2%;
	text-align: left;
}
.outline a.link_btn {
	box-sizing: border-box;
	max-width: 740px;
	margin: 0 auto;
}
@media screen and (max-width: 740px) {
	.outline table tr td {
		width: 60%;
		min-width: 200px;
	}
	.outline a.link_btn {
		width: 90%;
	}
}

#floating {
	display: block;
	max-width: 300px;
	position: fixed;
	bottom: 1%;
	right: 1%;
	z-index: 888;
	cursor: pointer;
	transition: 0.3s;
}
@media screen and (max-width: 979px) {
	#floating {
		max-width: 200px;
		bottom: 8%;
	}
}
#floating:hover {
	transform: translateY(10px);
}
#floating.hidden {
	display: none;
}
#floating .banner {
	position: relative;
}
#floating .banner img {
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.3);
}
#floating .banner #close_floating {
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	right: 0;
	box-shadow: none;
}

#modal {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	z-index: 1000;
	background-color: rgba(0, 0, 0, 0.7);
	transition: 0.3s;
	transform: translateY(100%);
}
#modal.show {
	transform: translateY(0%);
}
#modal .modal_inner {
	max-width: 700px;
	margin: 100px auto;
	position: relative;
}
#modal .modal_inner #close_modal {
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	right: 0;
}

@media screen and (max-width: 979px) {
	.life_slider .slick-list,
	.campaign_slider .slick-list {
		padding: 0 30% 0 0!important;
	}
}

/*slider_調整*/
.slider_one{
	max-width: 387px;
	width: 100%;
	margin: 0 auto;
}
.slider_one .slick-list {
padding: 0 0% 0 0 !important;
}
.slider_one a .txt {
	z-index: 555;
	max-width: 100%;
	margin: 0px auto;
	padding: 15px;
	background-color: rgba(255, 255, 255, 0.8);
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 979px){
	.slider_one{
		width: 90%;
		margin: 0 auto;
	}
	.slider_one a .txt {
		padding: 10px;
	}
}

.c_list_warning,
.c_list_warning_text {
	width: 100%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 979px){
	.c_list_warning {
		max-width: 90%;
	}
	.c_tab_box .c_list_warning {
		max-width: 100%;
	}
	.c_list_warning_text {
		max-width: 100%;
	}
}
