@charset "UTF-8";

/*-------------------------------------------
common
-------------------------------------------*/
.wrapper {
	max-width: 700px;
	width: 100%;
	padding: 100px 0;
	margin: auto;
}


/*-------------------------------------------
Mainvisual
-------------------------------------------*/
.mainvisual {
	background: var(--wh);
	height: 400px;
	position: relative;
}

.mainvisual img {
	display: block;
	width: 600px;
	margin-left: auto;
	margin-right: auto;
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*-------------------------------------------
open
-------------------------------------------*/
.open {
	position: relative;
	width: 100%;
	height: 300px;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.open_title {
	margin: 0 auto;
}

.open_back {
	position: absolute;
	right: 20%;
	top: -3%;
}

.open_ttl {
	font-size: 3rem;
	color: var(--bl);
	text-align: center;
}

.open_date {
	color: var(--bl);
	font-weight: 600;
}

.open p {
	color: var(--bl);
	font-weight: 600;
	text-align: center;
	font-size: 22px;
	letter-spacing: 3px;
	margin-top: 4rem;
}

.open_subttl {
	text-align: center;
	font-weight: 600;
	font-size: 3rem;
	color: #E10000;
	border: 3px solid #E10000;
	padding: 10px;
	display: inline-block;
	margin: 20px 0 40px;
}

/*-------------------------------------------
Aisatsu
-------------------------------------------*/
.aisatsu {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.aisatsu h2 {
	color: var(--wh);
	text-align: center;
	padding: 0.5em;
	font-size: 24px;
	letter-spacing: 10px;
	background: var(--libl);
	max-height: 60px;
	border-radius: 10px;
	margin-bottom: 30px;
}

.aisatsu_txt {
	color: var(--bk);
	font-size: 16px;
	line-height: 30px;
	text-align: left;
	margin-top: 300px;
	margin: 0 auto;
}

.aisatsu_name {
	font-size: 20px;
	text-align: right;
}

/*-------------------------------------------
blog
-------------------------------------------*/
.blog {
	background: var(--bg);
}

.blog h2 {
	color: var(--wh);
	text-align: center;
	padding: 0.5em;
	font-size: 24px;
	letter-spacing: 10px;
	background: var(--libl);
	max-height: 60px;
	border-radius: 10px;
	margin-bottom: 65px;
}

.news-list {
	list-style: none outside;
	margin: 0;
	padding: 0;
	margin-top: 50px;
}

.news-list .item a {
	display: flex;
	flex-wrap: wrap;
	flex-wrap: nowrap;
	text-decoration: none;
	color: #333;
	border-bottom: 1px solid #CCC;
	padding: 20px 20px;
	position: relative;
}

.news-list .item a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 9px;
	height: 9px;
	margin: auto;
	border-top: 2px solid var(--bk);
	border-right: 2px solid var(--bk);
	transform: rotate(45deg);
	box-sizing: border-box;
}

.news-list .item:first-child a {
	border-top: 1px solid #CCC;
}

.news-list .item .date {
	margin: 0;
	min-width: 120px;
	font-size: 16px;
	color: #999;
	padding: 0 20px 0 0;
}

.news-list .item .title {
	margin: 0;
	width: 100%;
}

.news-list .item a:hover .title {
	color: #004483;
}

@media screen and (max-width: 767px) {
	.news-list .item a {
		flex-wrap: wrap;
	}

	.news-list .item .date {
		min-width: 100px;
	}

	.news-list .item .title {
		margin-top: 10px;
	}
}

/* アメブロリスト */
.news-list dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	border-top: 1px solid #ccc;
}

.news-list dt,
.news-list dd {
	box-sizing: border-box;
}

.news-list dt {
	display: flex;
	align-items: center;
	width: 20%;
	padding: 20px;
	color: #999;
	border-bottom: 1px solid #ccc;
}

.news-list dd {
	position: relative;
	display: flex;
	align-items: center;
	width: 80%;
	margin-left: 0;
	border-bottom: 1px solid #ccc;
}

.news-list dd a {
	position: relative;
	width: 100%;
	padding: 20px;
	color: #333;
	overflow-wrap: break-word;
}

.news-list dd a:hover {
	color: var(--bl);
}

.news-list dd::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 9px;
	height: 9px;
	margin: auto;
	border-top: 2px solid var(--bk);
	border-right: 2px solid var(--bk);
	transform: rotate(45deg);
	box-sizing: border-box;
}

@media (max-width: 968px) {
	.news-list dt {
		padding: 10px;
	}

	.news-list dd::after {
		right: 0;
	}

}

/* 装飾 */

* {
	box-sizing: border-box;
}

a {
	text-decoration: none;
}


.btn a {
	position: relative;
	display: block;
	width: fit-content;
	padding: 15px 3rem;
	background-color: var(--bl);
	border-radius: 40px;
	font-size: 2.4rem;
	color: var(--wh);
	text-decoration: none;
	text-align: center;
	margin: 0px auto 10rem;
}

.btn a:hover {
	background: var(--libl);
}


/*-------------------------------------------
outline
-------------------------------------------*/
.outline {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.outline h2 {
	color: var(--wh);
	text-align: center;
	padding: 0.5em;
	font-size: 24px;
	letter-spacing: 10px;
	background: var(--libl);
	max-height: 60px;
	border-radius: 10px;
}

.outline_kamoku {
	text-align: center;
	font-size: 22px;
	margin: 30px auto;
}

.outline_yasumi {
	color: var(--libl);
	font-size: 18px;
	padding: 1rem 2rem;
	border: 1px solid var(--libl);
	border-radius: 10px;
	text-align: center;
	margin: 3rem auto 0;
}

.outline_pc {
	max-width: 700px;
}

.outline_sp {
	display: none;
}

/*-------------------------------------------
access
-------------------------------------------*/
.access {
	background: var(--bg);
}

.access h2 {
	color: var(--wh);
	text-align: center;
	padding: 0.5em;
	font-size: 24px;
	letter-spacing: 10px;
	background: var(--libl);
	max-height: 60px;
	border-radius: 10px;
}

.access p {
	text-align: center;
	font-size: 20px;
	margin: 30px auto;
}

.access iframe {
	text-align: center;
	width: 100%;
	height: 300px;
}

/*  _pagetop
---------------------------------------------*/
.pagetop {
	position: fixed;
	right: 0;
	bottom: 0;
	margin: 0 5rem 5rem 0;
	z-index: 100;
}

.pagetop_btn {
	display: block;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	color: var(--wh);
	background: var(--bl);
	width: 60px;
	height: 60px;
	border-radius: 50%;
	text-align: center;
	box-shadow: 0px 4px 6px rgb(0 0 0 / 18%);
	transition: .3s;
}

.pagetop_btn:hover {
	color: var(--wh);
	background: var(--libl);
	transition: .3s;
}

.pagetop_btn span {
	display: inline-block;
	width: 100%;
	line-height: 1;
}

.pagetop_btn i {
	font-size: 2.4rem;
	line-height: 0;
}

@media (max-width: 1600px) {
	.pagetop {
		margin: 0 3rem 2rem 0;
	}
}

/*-------------------------------------------
nopage
-------------------------------------------*/
.nopage {
	text-align: center;
}

.nopage_ttl {
	color: var(--bl);
	font-size: 5rem;
}

/*-------------------------------------------
footer
-------------------------------------------*/
.footer {
	background-color: var(--bl);
	padding: 1.5rem;
	height: 310px;
}

.footer img {
	display: block;
	width: 500px;
	margin-left: auto;
	margin-right: auto;
	padding: 40px 0px 0px 0px;
}

.footer_address {
	color: var(--wh);
	font-size: 18px;
	text-align: center;
	margin-top: 20px;
}

.footer_credit {
	color: var(--wh);
	font-size: 10px;
	padding: 20px 20px;
	text-align: center;
	margin-top: 20px;
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 768px) {

	/*-------------------------------------------
  common
  -------------------------------------------*/
	.wrapper {
		max-width: inherit;
		padding: 70px 15px;
	}

	.btn a {
		font-size: 1.6rem;
	}

	/*-------------------------------------------
  Mainvisual
  -------------------------------------------*/
	.mainvisual {
		height: 250px;
	}

	.mainvisual img {
		display: block;
		width: 300px;
		margin-left: auto;
		margin-right: auto;
	}

	/*-------------------------------------------
  open
  -------------------------------------------*/
	.open {
		position: relative;
		width: 100%;
		height: 300px;
		padding: 2rem;
	}

	.open_back {
		right: 0;
		bottom: 0;
		top: inherit;
	}

	.open p {
		color: var(--bl);
		text-align: center;
		font-size: 1.6rem;
		letter-spacing: 3px;
		margin-top: 4rem;
		font-weight: 500;
	}

	.open_ttl {
		font-size: 2.4rem;
		text-align: center;
		color: var(--bl);
	}

	.sma {
		display: block;
	}

	/*-------------------------------------------
  outline
  -------------------------------------------*/
	.outline_sp {
		display: block;
	}

	.outline_pc {
		display: none;
	}

	/*-------------------------------------------
  access
  -------------------------------------------*/
	.access_map {
		width: 100%;
	}

	.access p {
		font-size: 18px;
	}
}