@charset "utf-8";

.home_top {
	position: relative;
	width: 100%;
	margin-bottom: 5em;
}
.home_top .home_top_title {
	position: absolute;
    top: 50%;
    left: 0;
	right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 90%;
	max-width: 1200px;
	box-sizing: content-box;
	margin: auto;
	vertical-align: middle;
	padding: 2em 5%;
	color: #FFF;
	text-align: left;
	z-index: 100;
	pointer-events: none;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.home_top .home_top_title span {
	display: inline-block;
	margin-bottom: 2em;
	font-size: 1.5rem;
	line-height: 1;
	pointer-events: auto;
}
.home_top .home_top_title h1 {
	display: inline-block;
	font-size: 3.5rem;
	font-weight: normal;
	line-height: 1.5;
	pointer-events: auto;
}

.photo_scroll {
	width: 100%;
}
.photo_scroll .carousel-cell {
	width: 100%!important;
}
.photo_scroll .carousel-cell img {
	width: 100%!important;
	height: 100%!important;
}
.flickity-prev-next-button {
	height: 5rem!important;
	width: 5rem!important;
}
.flickity-button {
	background-color: transparent!important;
	color: rgba(255,255,255,0.6)!important;
}
.flickity-button:hover {
	background-color: rgba(255,255,255,0.15)!important;
	color: rgba(255,255,255,1.0)!important;
}
@media screen and (max-width: 1240px) {
	.home_top .home_top_title {
		width: auto;
		padding: 2em calc(5% + 2.5em);
	}
	.home_top .home_top_title span {
		margin-bottom: 1.0em;
	}
	.home_top .home_top_title h1 {
		font-size: 3.0rem;
	}
}
@media screen and (max-width: 920px) {
	.home_top {
		margin-bottom: 0;
	}
	.home_top .home_top_title {
		padding: 2em 5%;
	}
	.home_top .home_top_title span {
		margin-bottom: 1.0em;
		font-size: 1.0rem;
	}
	.home_top .home_top_title h1 {
		font-size: 2.0rem;
	}
	.flickity-button {
		display: none;
	}
}
@media screen and (max-width: 540px) {
	.home_top .home_top_title h1 {
		font-size: 1.3rem;
	}
}


.box_home_bg_ttl_p {
	width: 100%;
	margin-bottom: 5em;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.box_home_bg_ttl_p .scr_bg {
	width: 100%;
	height: 48rem;
	padding: 6rem 5%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-attachment: fixed;
	text-align: left;
}
.box_home_bg_ttl_p .scr_bg h2 {
	width: 100%;
	max-width: 1200px;
	margin: auto;
	font-size: 3.7rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.7;
	color: #FFF;
}
.box_home_bg_ttl_p .scr_bg span {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.box_home_bg_ttl_p .box_home_bt_p {
	box-sizing: content-box;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 0 auto;
	padding: 7rem 5% 0 5%;
}
.box_home_bg_ttl_p .box_home_bt_p p {
	font-size: 1.1em;
	line-height: 2.5;
	padding: 0 0 2em 0;
	text-align: left;
}
@media screen and (max-width: 920px) {
	.box_home_bg_ttl_p .scr_bg h2 {
		font-size: 3.0rem;
		line-height: 1.5;
	}
	.box_home_bg_ttl_p .box_home_bt_p p {
		font-size: 1.0em;
		line-height: 2.0;
	}
}
@media screen and (max-width: 700px) {
	.box_home_bg_ttl_p .scr_bg h2 {
		font-size: 2.5rem;
	}
}

.box_banlist {
	width: 100%;
	margin: auto;
	padding: 5em 5%;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.box_banlist .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.box_banlist a {
	position: relative;
	display: block;
	margin-bottom: 3em;
	width: 48%;
	background-size: cover;
	text-align: center;
	color: #FFF;
}
.box_banlist a > div {
	width: 100%;
	height: 21rem;
	padding: 2.5rem 2.0rem;
	background-color: rgba(0,0,0,0.55);
	transition: all 300ms 0s ease;
}
.box_banlist a:hover > div {
	background-color: rgba(0,0,0,0.65);
}
.box_banlist a h3 {
	display: block;
	font-size: 2.2em;
	line-height: 1;
	margin: 0 auto 0.4em auto;
}
.box_banlist a .botsubttl h3 {
	margin-top: 4rem;
}
.box_banlist a .botnotsubttl h3 {
	margin-top: 3rem;
}
.box_banlist a h4 {
	display: block;
	font-size: 1.5em;
	line-height: 1;
	margin: 0 auto;
}
.box_banlist a .bar {
	display: block;
	width: 100%;
	max-width: 7em;
	background-color: #C3A732;
	margin: 0 auto 2.0rem auto;
	padding: 0.55em 1em;
	font-size: 1.4em;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-radius: 4em;
}
.box_banlist a small {
	display: block;
	font-size: 1.3em;
	margin: 0 auto 2.0em auto;
}
.box_banlist a small::before {
	content: '- ';
}
.box_banlist a small::after {
	content: ' -';
}
.box_banlist span.but_arrow_w {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2em;
	margin: auto;
}
@media screen and (max-width: 920px) {
	.box_banlist {
		padding: 0 5%;
	}
	.box_banlist a > div {
		height: 18rem;
		padding: 2.0rem 1.5rem;
	}
	.box_banlist a h3 {
		font-size: 1.8em;
	}
	.box_banlist a .botsubttl h3 {
		margin-top: 2rem;
	}
	.box_banlist a .botnotsubttl h3 {
		margin-top: 2rem;
	}
	.box_banlist a .bar {
		padding: 0.3em 1em;
		font-size: 1.2em;
	}
	.box_banlist a h4 {
		font-size: 1.3em;
	}
	.box_banlist span.but_arrow_w {
		max-width: 60%;
		padding: 0.8em;
	}
}
@media screen and (max-width: 700px) {
	.box_banlist a {
		width: 100%;
		margin-bottom: 1em;
	}
	.box_banlist a > div {
		height: auto;
		padding: 2.0rem 1.5rem 7.0rem 1.5rem;
	}
}

.box_works {
	width: 100%;
	margin: 5em auto;
	padding: 6em 5% 2em 5%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-attachment: fixed;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.box_works .inner {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.box_works h2 {
	margin: 0 auto 1.5rem auto;
	font-size: 2.6rem;
	font-weight: normal;
	line-height: 1;
	color: #FFF;
}
.box_works h3 {
	margin: 0 auto 5rem auto;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1;
	color: #FFF;
}
.box_works h3::before {
	content: "- "
}
.box_works h3::after {
	content: " -"
}
.box_works .work_photos {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto 4rem auto;
}
.box_works .work_photos img {
	width: 24%;
	border: 2px solid #FFF;
}
.box_works .but_arrow_w {
	margin: 0 auto 4rem auto;
}
@media screen and (max-width: 700px) {
	.box_works .work_photos {
		flex-wrap: wrap;
	}
	.box_works .work_photos img {
		width: 48%!important;
		margin-bottom: 1.5em
	}
}


.box_events {
	width: 100%;
	margin: 0 auto 5em auto;
	padding: 4em 5% 0 5%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-attachment: fixed;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.box_events .inner {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.box_events h2 {
	margin: 0 auto 1.5rem auto;
	font-size: 2.6rem;
	font-weight: normal;
	line-height: 1;
	color: #000;
}
.box_events h3 {
	margin: 0 auto 5rem auto;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1;
	color: #55301B;
}
.box_events h3::before {
	content: "- "
}
.box_events h3::after {
	content: " -"
}
.box_events #iemiru-cms-index-page {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto 4rem auto;
}
.box_events #iemiru-cms-index-page > div {
	width: 32%;
}
.index-page__events-event-img-wrap img {
	text-align: center;
}
.index-page__events-event-img-wrap img {
	height: 220px;
	object-fit: cover;
	margin: auto;
}
.index-page__events-event-labels {
	display: flex;
	justify-content: space-between;
	margin: 1.5em 0;
	font-weight: bold;
}
.index-page__events-event-labels .label-event {
	width: 70%;
	padding: 0.5em 1em;
	background-color: #55301B;
	color: #FFF;
}
.index-page__events-event-labels .label-yoyaku {
	width: 26%;
	padding: 0.5em 0;
	background-color: #FFF;
	color: #808080;
	border: 1px solid #707070;
}
.index-page__events-event-name {
	text-align: left;
}
.index-page__events-event-name a {
	display: block;
	margin-bottom: 1em;
	font-size: 1.2em;
	font-weight: bold;
	color: #000;
}
.index-page__events-event-date,
.index-page__events-event-address {
	display: block;
	margin-bottom: 0.5em;
	text-align: left;
	font-weight: bold;
	font-size: 0.95em;
}
.index-page__events-event-date__title {
	display: inline-block;
	padding: 0.2em 0.7em;
	margin-right: 0.5em;
	background-color: #808080;
	font-weight: bold;
	color: #FFF;
}
@media screen and (max-width: 920px) {
	.box_events #iemiru-cms-index-page {
		flex-wrap: wrap;
		margin-bottom: 0;
	}
	.box_events #iemiru-cms-index-page > div {
		width: 100%;
		margin-bottom: 3em;
	}
	.index-page__events-event-name a {
		font-size: 1em;
	}
	.index-page__events-event-img-wrap img {
		height: 350px;
		object-fit: contain;
	}
}
@media screen and (max-width: 540px) {
	.box_events {
		margin: 0 auto 3em auto;
	}
	.index-page__events-event-img-wrap img {
		height: auto;
		width: 100%;
	}
}

.box_youtube {
	width: 100%;
	padding: 0 5%;
	margin: 0 auto 8em auto;
}
.box_youtube .inner {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.box_youtube .inner a {
	display: flex;
}
.box_youtube .inner a div {
	border: 1px solid #707070;
}
.box_youtube .inner a div:first-child {
	border-right: none;
}
@media screen and (max-width: 700px) {
	.box_youtube {
		margin: 0 auto 5em auto;
	}
	.box_youtube .inner a {
		flex-wrap: wrap;
	}
	.box_youtube .inner a div {
		width: 100%;
	}
	.box_youtube .inner a div img {
		width: 100%;
	}
}

.box_news {
	width: 100%;
	padding: 5em 5%;
	margin: 0 auto 5em 0;
	background-color: #F0F0F0;
}
.box_news .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.box_news h3 {
	font-size: 1.5em;
	letter-spacing: -0.1em;
	margin-bottom: 1.5rem;
	font-weight: bold;
}
.box_news .inner div:first-child {
	width: 25%;
}
.box_news .inner div:first-child a {
	margin-left: 0;
	font-size: 1.1em;
	color: #000;
	font-weight: bold;
	transition: all 300ms 0s ease;
}
.box_news .inner div:first-child a:hover {
	margin-left: 0.5em;
}
.box_news .inner div:first-child a::after {
	content: ">";
	margin-left: 1em;
	transition: all 300ms 0s ease;
}
.box_news .inner div:first-child a:hover::after {
	content: ">";
	margin-left: 1.5em;
}
.box_news .inner div:last-child {
	width: 70%;
}
.box_news .inner article {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 2px dotted #999;
}
.box_news .inner article:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border: none;
}
.box_news article h4 {
	width: 22%;
	text-align: center;
	padding: 0.5em 0;
	border-radius: 3em;
	color: #FFF;
}
.box_news article h4.news {
	background-color: #C3A732;
}
.box_news article h4.media {
	background-color: #97715B;
}
.box_news article h4.blog {
	background-color: #55301B;
}
.box_news article p {
	width: 75%;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.box_news article p span {
	display: inline-block;
	margin-right: 1.5em;
}
.box_news article p a {
	color: #000;
}
@media screen and (max-width: 920px) {
	.box_news .inner {
		flex-wrap: wrap;
	}
	.box_news h3 {
		margin-bottom: 1.0rem;
	}
	.box_news .inner div:first-child {
		width: 100%;
		margin-bottom: 2.0rem;
	}
	.box_news .inner div:last-child {
		width: 100%;
	}
}
@media screen and (max-width: 700px) {
	.box_news .inner div:last-child article {
		flex-wrap: wrap;
	}
	.box_news article h4 {
		width: 100%!important;
		max-width: 12em;
		padding: 0.3em 2em;
		margin: 0 auto 1em auto;
	}
	.box_news article p {
		width: 100%;
	}
	.box_news article p span {
		display: block;
		margin-right: 0em;
		margin-bottom: 0.0em;
	}
}

.box_welcome {
	width: 100%;
	margin: 0 auto 8em auto;
	padding: 4em 5% 0 5%;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.box_welcome .inner {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.box_welcome h2 {
	margin: 0 auto 1.5rem auto;
	font-size: 2.6rem;
	font-weight: normal;
	line-height: 1;
	color: #000;
}
.box_welcome h3 {
	margin: 0 auto 5rem auto;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1;
	color: #55301B;
}
.box_welcome h3::before {
	content: "- "
}
.box_welcome h3::after {
	content: " -"
}
.box_welcome section {
	display: flex;
	justify-content: space-between;
}
.box_welcome section div {
	width: 32%;
}
.box_welcome section img {
	margin-bottom: 1.5em;
}
.box_welcome section h4 {
	margin-bottom: 1.5em;
	font-size: 1.2em;
}
.box_welcome section a.but_arrow_w {
	padding: 0.8em;
	border: 1px solid #666;
}
@media screen and (max-width: 920px) {
	.box_welcome section a.but_arrow_w {
		padding: 0.6em;
		max-width: 10em;
	}
	.box_welcome section a.but_arrow_w::before {
		width: 3rem;
	}
	.box_welcome section a.but_arrow_w:hover::before {
		width: 0.2rem;
	}
}
@media screen and (max-width: 700px) {
	.box_welcome {
		margin-bottom: 2em;
	}
	.box_welcome section {
		flex-wrap: wrap;
	}
	.box_welcome section div {
		width: 100%;
		margin-bottom: 4em;
	}
	.box_welcome section div img {
		width: 100%;
	}
}

.box_flow {
	width: 100%;
	margin: 0 auto 5em auto;
	padding: 7em 5%;
	background-image: url("../images/home/bg_flow.jpg");
	background-size: cover;
	background-position: center center;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.box_flow .inner {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.box_flow h3 {
	margin-right: 3em;
	font-size: 2.2em;
	color: #FFF;
	text-align: left;
	line-height: 1.8;
}
.box_flow h3 span {
	position: relative;
	display: block;
}
.box_flow h3 span::after {
	position: absolute;
	right: -0.8em;
	top: 0.4em;
	width: 3.0em;
	height: 1em;
	content: "";
	display: block;
	background-image: url("../images/home/arrow_flow.png");
	background-repeat: no-repeat;
	background-size: contain;
}
.box_flow a.but_arrow_w {
	padding: 2em;
	max-width: 20em;
}
@media screen and (max-width: 920px) {
	.box_flow h3 {
		margin-right: 2em;
		font-size: 1.4em;
	}
	.box_flow a.but_arrow_w {
		padding: 1em;
		max-width: 12em;
	}
}
@media screen and (max-width: 700px) {
	.box_flow {
		padding: 2em 5%;
	}
	.box_flow .inner {
		flex-wrap: wrap;
	}
	.box_flow h3 {
		width: 100%;
		margin-right: 0;
		margin-bottom: 1em;
		font-size: 1.2em;
		text-align: center;
	}
	.box_flow h3 span::after {
		right: auto;
		left: 11em;
		display: none;
	}
	.box_flow a.but_arrow_w {
		padding: 0.5em;
		margin: auto;
	}
}