@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

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

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	color: #302D2C;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	cursor: pointer;
}
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
select,
textarea {
    width: 100%;
    border: .1rem solid #C9C9C9;
    height: 4.8rem;
    padding: 0 1.7rem;
    font-size: 1.6rem;
    font-weight: 500;
    outline: none;
}

textarea {
	padding: 1rem 1.7rem;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

/*** タブレット 768x ~ 1200px***/
@media screen and (min-width: 768px) and (max-width: 1200px) {
    html {
        font-size: 0.83vw;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
}

body {
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: normal;
    color: #000;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.is-popup {
	overflow: hidden;
	height: 100vh;
	width: 100%;
}
@media screen and (max-width: 767px) {
	body {
		font-size: 1.4rem;
	}
}

/* !Base Fonts -------------------------------------------------------------- */
a {
    color: #000;
    text-decoration: none;
    transition: all 0.5s;
}

a:hover {
    text-decoration: underline;
    transition: all 0.5s;
}

.op img, .op input , .op button {
    transition: opacity 0.5s ease-out;
}

.op:hover img, .op:hover input , .op:hover button {
    opacity: .7;
    transition: opacity 0.5s ease-out;
}

a[href^="tel:"] {
    cursor: default;
    pointer-events:none;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {

	a:hover {
	    text-decoration: none;
	}

    a[href^="tel:"] {
        cursor: pointer;
        pointer-events: inherit;
    }
}

.is-hide {
	display: none !important;
}

.is-pc {
    display: block;
}

.is-sp {
    display: none;
}
.anchor {
	position: relative;
}
.anchor-area {
	position: absolute;
	top:-14rem;
	z-index: -1;
}
.en-font01 {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
@media screen and (max-width: 767px) {
    .is-pc {
        display: none;
    }

    .is-sp {
        display: block;
    }
	.anchor-area {
		position: absolute;
		top:-6.5rem;
		z-index: -1;
	}

}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	width: 100%;
	overflow: hidden;
	padding-top: 13.9rem;
	background: rgba(244,226,214,.43);
	position: relative;
}
#wrapper::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url('../img/top/bg.png');
	background-size: 100% auto;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	#wrapper {
		padding-top: 6.25rem;
	}
}
/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999;
	width: 100%;
}

.header-inner {
	padding-left: 10.3rem;
	background: #fff;
	width: 100%;
	height: 7.6rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-logo {
	width: 17.4rem;
}
.header-in {
	display: flex;
	height: 100%;
}
.header-links ul {
	display: flex;
	height: 100%;
	align-items: center;
}
.header-links  li {
    padding-left: 5rem;
}
.header-links a:hover {
    text-decoration: none;
    opacity: .7;
}
.header-contact {
	margin-left: 7rem;
}
.header-contact a {
	width: 25rem;
	height: 100%;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 2rem;
	color: #fff;
	background: #1E0F0D;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.header-contact a::before {
	display: none;
	content: '';
	background: url('../img/common/icon_document_white.svg') left center no-repeat;
	width: 2.868rem;
	height: 3.756rem;
	background-size: 100% auto;
	margin-right: 3rem;
}
.header_tel {
    display: inline-block;
    margin-right: 10px;
    width: 2.4rem;
    height: auto;
}
.header-contact a:hover {
    text-decoration: none;
    opacity: .7;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	#header {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 999;
		width: 100%;
	}
	
	.header-inner {
		padding-left: 1.5rem;
		height: 6.25rem;
	}
	
	.header-logo {
		width: 11.4rem;
	}
	.header-in {
		display: flex;
		height: 100%;
	}
	.header-contact {
		margin-left: 0;
	}
	.header-contact a {
		width: 14.6rem;
		font-size: 1.2rem;
		font-weight: bold;
		letter-spacing: 0.05em;
		line-height: 1.33;
		background: #8B101C;
	}
	.header-contact a::before {
		display: none;
		content: '';
		background: url('../img/common/icon_document_white.svg') left center no-repeat;
		width: 2.5rem;
		height: 3.5rem;
		background-size: 100% auto;
		margin-right: 2rem;
	}
	.header_tel {
		margin-right: 5px;
		width: 15px;
		height: auto;
	}
	.header-contact a:hover {
	    text-decoration: none;
	    opacity: .7;
	}
	.btn-menu {
		display: block;
	    width: 6.15rem;
	    height: 100%;
	    position: relative;
	    cursor: pointer;
		background: #000000;
	}
	
	.btn-menu span {
	    position: absolute;
	    width: 2.8rem;
	    height: .2rem;
	    background-color: #fff;
	    left: 1.85rem;
	    transition: .6s ease;
	}
	
	.btn-menu span:first-child {
	    top: 1.85rem;
	}
	
	.btn-menu span:nth-child(2) {
	    top: 50%;
	    margin-top: -.1rem;
	}
	
	.btn-menu span:last-child {
	    bottom: 1.85rem;
	}
	
	.btn-menu.is-active span:first-child {
	    transform: translateY(1.2rem) rotate(30deg);
	    transition: .6s ease;
	}
	
	.btn-menu.is-active span:nth-child(2) {
	    opacity: 0;
	    transition: .6s ease;
	}
	
	.btn-menu.is-active span:last-child {
	    transform: translateY(-1.2rem) rotate(-30deg);
	    transition: .6s ease;
	}
}

/* !global navigation
---------------------------------------------------------- */
#g-navi {
	background: #8B101C;
}
#g-navi ul {
	max-width: 98rem;
	width: 100%;
	margin: 0 auto;
	height: 6.3rem;
	display: flex;
	align-items: center;
}
#g-navi ul li {
	width: 16.66%;
	position: relative;
	text-align: center;
}
#g-navi ul li:last-child {
	padding-left: 3rem;
}
#g-navi ul li+li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 0.1rem;
	height: 1.6rem;
	background: #FFFFFF;
}
#g-navi a {
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.31;
	color: #fff;
	white-space: nowrap;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	#g-navi {
		background: #8B101C;
		display: none;
		width: 100%;
		height: calc(100vh - 6.25rem);
		position: fixed;
		left: 0;
		top: 6.25rem;
		z-index: 10;
		-webkit-overflow-scrolling: touch;
		padding: 2.5rem 0 4rem;
		flex-direction: column;
		justify-content: space-between;
		align-items: stretch;
	}
	#g-navi > ul {
		height: auto;
		display: block;
	}
	#g-navi > ul > li {
		width: 100%;
		text-align: center;
		margin-top: 1rem;
	}
	#g-navi ul li:last-child {
		padding-left: 0rem;
	}
	#g-navi ul li+li::before {
		content: unset;
	}
	#g-navi a {
		font-size: 1.4rem;
	}
	#g-navi > .header-links {
		background: rgba(255,241,245,.8);
		margin-top: 5rem;
		height: 10rem;
	}
	#g-navi > .header-links ul {
		display: flex;
		justify-content: center;
		height: 100%;
		align-items: center;
	}
	#g-navi > .header-links  li {
	    padding-left: 0;
	}
	#g-navi > .header-links a:hover {
	    opacity:1;
	}
}


/* !main Visual
---------------------------------------------------------- */
#main-visual img {
	width: 100%;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {}

/* !contents
---------------------------------------------------------- */
.inner {
	max-width: 144.7rem;
	padding: 0 1.5rem;
	width: 100%;
	margin: 0 auto;
}
.inner02 {
	max-width:  131rem;
}

/* !footer
---------------------------------------------------------- */
#footer {
	padding: 10.9rem 0 3.3rem;
}
.footer-logo {
	width: 19.5rem;
	margin: 0 auto;
}
.footer-navi {
	margin-top: 3.4rem;
	background: #8B101C;
}
.footer-navi ul {
	max-width: 98rem;
	width: 100%;
	margin: 0 auto;
	height: 6.3rem;
	display: flex;
	align-items: center;
}
.footer-navi ul li {
	width: 16.66%;
	position: relative;
	text-align: center;
}
.footer-navi ul li:last-child {
	padding-left: 3rem;
}
.footer-navi ul li+li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 0.1rem;
	height: 1.6rem;
	background: #FFFFFF;
}
.footer-navi a {
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.31;
	color: #fff;
	white-space: nowrap;
}
#copyright {
	text-align: center;
	margin-top: 3.7rem;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.35;
	color: #030303;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	#footer {
		padding: 6.2rem 0 1.7rem;
	}
	.footer-logo {
		width: 16.62rem;
	}
	.footer-navi {
		margin-top: 2.5rem;
	}
	.footer-navi ul {
		height: auto;
		display: block;
		padding: 2.5rem 0;
	}
	.footer-navi ul li {
		width: 100%;
		margin-top: 0.8rem;
	}
	.footer-navi ul li:last-child {
		padding-left: 0;
	}
	.footer-navi ul li+li::before {
		content: unset;
	}
	.footer-navi a {
		font-size: 1.2rem;
		font-weight: 500;
	}
	#copyright {
		margin-top: 1.8rem;
		font-size: 0.95rem;
	}
}


/* !About
---------------------------------------------------------- */
.background-wrap {
	background: -webkit-linear-gradient(bottom, rgba(230,245,255,.21), rgba(255,233,233,.21));
	position: relative;
}
.background-wrap::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url('../img/top/bg.png');
	background-size: cover;
}
.hd-title {
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 2;
	color: #803819;
	text-align: center;
}
.top-text {
	margin-top: 5rem;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.83;
	text-align: center;
	color: #803819;
}
.box-info {
	margin-top: 5rem;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2.15;
	color: #030303;
}
.box-info p+p {
	margin-top: 3.2rem;
}
.about {
	padding-top: 6.4rem;
}
.about-area {
	/* max-width: 74rem; */
	max-width: 66rem;
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.about-img01 {
	position: absolute;
	top: 7.8rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	width: 39.5rem;
	margin-left: -64rem;
}
.about-img02 {
	position: absolute;
	bottom: -13.5rem;
	right: 50%;
	transform: translateX(50%);
	z-index: 3;
	width: 58.4rem;
	margin-right: -64rem;
}
.about-box {
	position: relative;
}
.about-box::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6.3rem;
	z-index: -1;
	width: 67.9rem;
	height: 68.5rem;
	margin-left: -48.6rem;
	background: url('../img/top/bg_01.png') no-repeat;
	background-size: 100% auto;
}
.about-btn {
	margin: 3rem 0;
	z-index: 10;
}
.about-btn a {
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	background: #803819;
	width: 100%;
	height: 4rem;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content:space-between;
	border-radius: 3.1rem;
	padding: 30px;
}
.about-btn a::after {
	content: '';
	background: url('../img/common/icon_link_right_white.svg') right center no-repeat;
	width: 1rem;
	height: 0.8rem;
	background-size: auto;
	margin-left: 3.1rem;
}
.about-btn a:hover {
	text-decoration: none;
	opacity: .7;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.background-wrap {
		background: -webkit-linear-gradient(bottom, rgba(230,245,255,.21), rgba(255,233,233,.21));
		position: relative;
	}
	.background-wrap::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		background: url('../img/top/bg.png');
		background-size: cover;
	}
	.hd-title {
		font-size: 3rem;
		font-weight: bold;
		letter-spacing: 0.12em;
		line-height: 2;
		color: #803819;
		text-align: center;
	}
	.top-text {
		margin-top: 2.3rem;
		font-size: 1.5rem;
		line-height:2;
	}
	.box-info {
		margin-top: 3.4rem;
		font-size: 1.2rem;
		line-height: 1.875;
	}
	.box-info p+p {
		margin-top: 3.7rem;
	}
	.about {
		padding-top: 1.2rem;
	}
	.about-box::before {
		left: 0;
		top: auto;
		bottom: -18.2rem;
		width: 33.95rem;
		height: 34.25rem;
		margin-left: -17rem;
	}
	.about-btn {
		margin: 1.6rem 0;
	}
	.about-btn a {
		font-size: 1.5rem;
		width: 34.5rem;
		height: 3.7rem;
		border-radius: 3.7rem;
	}
	.about-btn a::after {
		margin-left: 4.15rem;
	}
	.about-btn a:hover {
		opacity: 1;
	}
	
}


/* !Messeage
---------------------------------------------------------- */
.messeage {
	padding: 19.1rem 0 28.1rem;
}
.messeage-area {
	position: relative;
	display: flex;
	max-width: 114rem;
	width: 100%;
	margin: 0 auto;
	padding-left: 8.4rem;
}
.messeage-side {
	width: 36.1rem;
	margin-top: 2rem;
}
.messeage-side img {
	width: 100%;
}
.messeage-main {
	margin-left: 11.2rem;
	width: calc(100% - 47.3rem);
	position: relative;
}
.messeage-main::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -25.6rem;
	z-index: -1;
	width: 67.9rem;
	height: 68.5rem;
	margin-right: -48.6rem;
	background: url('../img/top/bg_02.png') no-repeat;
	background-size: 100% auto;
}
.messeage-main dl {
	display: flex;
	align-items: center;
	margin-top: 5.9rem;
}
.messeage-main dt {
	font-size: 2.2rem;
	color: #030303;
	letter-spacing: 0.05em;
	line-height: 1.72;
	font-weight: 500;
}
.messeage-main dd {
	font-size: 2.6rem;
	color: #030303;
	letter-spacing: 0.05em;
	line-height: 1.46;
	font-weight: bold;
	margin-left: 3.1rem;
}
.messeage-img {
	position: absolute;
	bottom: -10.6rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	width: 45.2rem;
	margin-left: -64rem;
}
.messeage-main .hd-title {
	text-align: left;
}
.messeage-main .top-text {
	text-align: left;
	font-size: 2.2rem;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.messeage {
		padding: 8.15rem 0 8.65rem;
	}
	.messeage-area {
		display: block;
		padding-left: 0;
	}
	.messeage-side {
		width: 15.5rem;
		margin: 0 auto;
		margin-top: 3rem;
	}
	.messeage-side img {
		height: auto;
	}
	.messeage-main {
		margin-left:0;
		width: 100%;
	}
	.messeage-main::after {
		bottom: 5.1rem;
		width: 33.95rem;
		height: 34.25rem;
		margin-right: -7.25rem;
	}
	.messeage-main dl {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 6.5rem;
	}
	.messeage-main dt {
		font-size: 1.4rem;
		line-height: 1.71;
		padding-top: 0.2rem;
	}
	.messeage-main dd {
		font-size: 1.7rem;
		margin-left: 2.2rem;
		line-height: 1.47;
	}
	.messeage-img {
		position: absolute;
		bottom: -10.6rem;
		left: 50%;
		transform: translateX(-50%);
		z-index: 3;
		width: 45.2rem;
		margin-left: -64rem;
	}
	.messeage-main .hd-title {
		text-align: center;
	}
	.messeage-main .top-text {
		text-align: center;
		font-size: 1.5rem;
	}
}


/* !Lineup
---------------------------------------------------------- */

.lineup {
	padding: 13.5rem 0 13rem;
	background: rgba(244,226,214,.43);
	position: relative;
}
.lineup::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url('../img/top/bg.png');
	background-size: cover;
}
.lineup-list  {
	margin-top: 4.3rem;
}
.lineup-list ul {
	display: flex;
	margin-left: -3rem;
}
.lineup-list li {
	margin-left: 3rem;
	width: calc(25% - 3rem);
	position: relative;
}
.lineup-img {
	position: relative;
	width: 100%;
	padding-top: 204.33%;
}
.lineup-img img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.lineup-text {
	position: absolute;
	left: 2.5rem;
	top: 2.6rem;
	z-index: 3;
	width: 5rem;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.lineup {
		padding: 7.6rem 0 8.5rem;
	}
	.lineup-list  {
		margin-top: 3rem;
	}
	.lineup-list ul {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1.5rem;
	}
	.lineup-list li {
		margin-left: 1.5rem;
		width: calc(50% - 1.5rem);
		margin-bottom: 5rem;
	}
	.lineup-img {
		position: relative;
		width: 100%;
		padding-top: 187.87%;
	}
	.lineup-text {
		position: absolute;
		left: 1.5rem;
		top: 1.3rem;
		z-index: 3;
		width: 3.1rem;
	}
	.lineup-text  img {
		height: auto;
	}
}


/* !Movie
---------------------------------------------------------- */
.movie {
	padding-top: 3.4rem;
}
.movie .anchor-area {
	position: absolute;
	top:-10rem;
	z-index: -1;
}
.movie-area {
	display: flex;
	justify-content: space-between;
	max-width: 114rem;
	width: 100%;
	margin: 4.3rem auto 0;
}
.movie-item {
	width: calc(50% - 5.9rem);
}
.movie-item .item .img {
	display: block;
	position: relative;
	width: 100%;
	padding-top: 66.66%;
}
.movie-item .item video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	object-fit: cover;
}
.movie-item .item {
	position: relative;
}
.movie-item .item .icon {
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: all 0.45s; 
    width: 6.7rem;
    height: 6.7rem;
    margin: auto;
    overflow: hidden;
    z-index: 5;
}
.movie-item .item .icon:after{
	content:"";
	position: absolute;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%);
	width: 6.7rem;
	height: 6.7rem;
	background: url('../img/common/icon_play.svg') center no-repeat;
	background-size: 100% 100%;
}

.movie-title {
	text-align: center;
	margin-top: 5.1rem;
	line-height: 1.35;
	color: #302D2C;
	font-size: 2rem;
	font-weight: 500;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.movie {
		padding-top: 8.15rem;
	}
	.movie .anchor-area {
		top:0rem;
	}
	.movie-area {
		display: block;
		padding: 0 1.5rem;
		margin: 3.2rem auto 0;
	}
	.movie-item {
		width: 100%;
		margin-top: 4.1rem;
	}
	.movie-item .item .icon {
	    width: 4.15rem;
	    height: 4.15rem;
	}
	.movie-item .item .icon:after{
		width: 4.15rem;
		height: 4.15rem;
	}
	.movie-title {
		margin-top: 2.1rem;
		font-size: 1.4rem;
	}
}


/* !Topics
---------------------------------------------------------- */
.topics {
	padding-top: 13.8rem;
}
.topics-list {
	margin-top: 4.3rem;
}
.topics-list ul {
	display: flex;
	flex-wrap: wrap;
	margin-left: -2.5rem;
}
.topics-list li {
	width: calc(25% - 2.5rem);
	margin-left: 2.5rem;
}
.topics-list a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.topics-img {
	position: relative;
	width: 100%;
	padding-top: 71%;
}
.topics-img img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.topics-info {
	margin-top: 1.8rem;
	color: #030303;
	font-weight: 500;
	letter-spacing: 0.05em;
	padding-right: 2.7rem;
	position: relative;
}
.topics-info::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 3;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 100%;
	background: url('../img/common/icon_arrow_right_white.svg') #803819 center no-repeat;
}
.topics-info .date {
	font-size: 1.4rem;
	line-height: 1.37;
}
.topics-info .name {
	margin-top: 1rem;
	font-size: 1.6rem;
	line-height: 1.31;
}
.topics-info .text {
	margin-top: 1.3rem;
	font-size: 1.4rem;
	line-height: 1.37;
	overflow : hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
.topics-btn {
	margin-top: 7rem;
}
.topics-btn a {
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	background: #803819;
	width: 30.6rem;
	height: 4rem;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3.1rem;
}
.topics-btn a::after {
	content: '';
	background: url('../img/common/icon_link_right_white.svg') right center no-repeat;
	width: 1rem;
	height: 0.8rem;
	background-size: auto;
	margin-left: 3.1rem;
}
.topics-btn a:hover {
	text-decoration: none;
	opacity: .7;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.topics {
		padding-top: 7.2rem;
	}
	.topics-list {
		margin-top: 0.1rem;
	}
	.topics-list ul {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1.5rem;
	}
	.topics-list li {
		width: calc(50% - 1.5rem);
		margin-left: 1.5rem;
		margin-top: 2.9rem;
		position: relative;
	}
	.topics-list li::before {
		content: '';
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 3;
		border-radius: 100%;
		width: 1.5rem;
		height: 1.5rem;
		background: url('../img/common/icon_arrow_right_white.svg') #803819 center no-repeat;
		border-radius: 0.9rem auto;
	}
	.topics-list a:hover {
		opacity: 1;
	}
	.topics-img {
		padding-top: 69.69%;
	}
	.topics-info {
		margin-top: 2.1rem;
		padding-right:0;
	}
	.topics-info::before {
		content: unset;
	}
	.topics-info .date {
		font-size: 1.2rem;
	}
	.topics-info .name {
		margin-top: 0.9rem;
		font-size: 1.2rem;
	}
	.topics-info .text {
		margin-top: 1.4rem;
		font-size: 1.2rem;
		line-height: 1.37;
	}
	.topics-btn {
		margin-top: 4.27rem;
	}
	.topics-btn a {
		font-size: 1.5rem;
		width: 34.5rem;
		height: 3.7rem;
		border-radius: 3.7rem;
		line-height: 1;
		max-width: 100%;
	}
	.topics-btn a::after {
		margin-left: 3.7rem;
	}
	.topics-btn a:hover {
		opacity: 1;
	}
}

/* !Instagram 
---------------------------------------------------------- */

.instagram {
	padding-top: 13.5rem;
}
.instagram-list {
	margin-top: 3.4rem;
}
.instagram-list ul {
	display: flex;
	flex-wrap: wrap;
	margin-left: -2.5rem;
}
.instagram-list li {
	width: calc(25% - 2.5rem);
	margin-left: 2.5rem;
}
.instagram-img {
	position: relative;
	width: 100%;
	padding-top: 100%;
}
.instagram-img img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.instagram {
		padding-top: 8.13rem;
	}
	.instagram-list {
		margin-top: 3rem;
	}
	.instagram-list ul {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1.5rem;
	}
	.instagram-list li {
		width: calc(50% - 1.5rem);
		margin-left: 1.5rem;
		margin-top: 1.5rem;
	}
}

/* !Accesss
---------------------------------------------------------- */
.access {
	padding: 13.5rem 0 13.3rem;
}
.access-area {
	display: flex;
	margin-top: 4.3rem;
}
.access-map {
	width:50%
}
.map-ifram {
	width: 100%;
	height: 100%;
	position: relative;
	padding-top: 49.0625%;
}
.map-ifram iframe {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
}
.access-img {
	width:50%
}

.access-img img {
	width:100%
}

.access-info {
	margin-top: 7.2rem;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.33;
	text-align: center;
	color: #030303;
}
.access-info p+p {
	margin-top: 2.2rem;
}
.access-contact {
	display: flex;
	justify-content: center;
	margin-top: 5.7rem;
}
.access-contact .access-btn+.access-btn {
	margin-left: 6.9rem;
}
.access-contact .access-btn a,
.access-contact .access-btn span {
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	background: #803819;
	width: 27.2rem;
	height: 5.4rem;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3.1rem;
}
.access-contact .access-btn .tel::before {
	content: '';
	background: url('../img/common/icon_tel.svg') left center no-repeat;
	width: 1.62rem;
	height: 2.3rem;
	background-size: auto;
	margin-right: 1.2rem;
}
.access-contact .access-btn .fax::before {
	content: '';
	background: url('../img/common/icon_fax.svg') left center no-repeat;
	width: 2.436rem;
	height: 2.464rem;
	background-size: auto;
	margin-right: 1.2rem;
}
.access-contact .access-btn a:hover {
	text-decoration: none;
	opacity: .7;
}
.access-bnr {
	margin-top: 7.2rem;
}
.access-bnr p {
	text-align: center;
}
.access-bnr .access-contact {
	margin-top: 1.8rem;
}
.access-bnr .access-contact .access-btn a {
	background: none;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.access {
		padding: 8.15rem 0 9rem;
	}
	.access-area {
		display: block;
		margin-top: 3rem;
	}
	.access-map {
		width:100%
	}
	.map-ifram {
		width: 100%;
		height: 100%;
		position: relative;
		padding-top: 68.26%;
	}
	.access-img {
		width:100%
	}
	.access-img img {
		height: auto;
	}
	.access-info {
		margin-top: 4rem;
		font-size: 1.2rem;
		line-height: 1.875;
	}
	.access-info p+p {
		margin-top: 2.35rem;
	}
	.access-contact {
		display:block;
		justify-content: center;
		margin-top: 4.3rem;
	}
	.access-contact .access-btn+.access-btn {
		margin-left: 0rem;
		margin-top: 2.2rem;
	}
	.access-contact .access-btn a,
	.access-contact .access-btn span {
		font-size: 1.5rem;;
		background: #803819;
		width: 34.5rem;
		height: 3.7rem;
	}
	.access-contact .access-btn .tel::before {
		margin-right: 1.5rem;
	}
	.access-contact .access-btn .fax::before {
		margin-right: 1.5rem;
	}
	.access-contact .access-btn  a:hover {
		opacity: 1;
	}
	.access-bnr .access-contact .access-btn a {
		height: auto;
	}
	.access-bnr .access-contact .access-btn a img {
		width: 80%;
		height: auto;
	}
}

/* !Infomation
---------------------------------------------------------- */
.infomation {
	background: #C62C14;
	position: relative;
	padding: 0.1rem 0;
}
.infomation::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: url('../img/top/ingomation_bg.png') repeat;
	width: 100%;
	height: 100%;
	background-size: cover;
}
.infomation-wrap {
	background: #FFFEFC;
	position: relative;
	z-index: 5;
	padding: 0 8rem;
} 
.infomation-area {
	padding: 10rem 0 12.9rem;
	max-width: 130rem;
	width: 100%;
	margin: 0 auto;
	border-left: 0.5rem solid #803819;
	border-right: 0.5rem solid #803819;
}
.infomation-area .box-info {
	max-width: 90rem;
	width: 100%;
	margin: 7.7rem auto 10.2rem;
}
.infomation-contact {
	max-width: 128rem;
	padding: 0 7rem;
	width: 100%;
	margin: 0 auto;
}
.contact-list__item {
	display: flex;
	align-items: center;
}
.contact-list__item.top {
	align-items: flex-start;
}
.contact-list__item+.contact-list__item {
	margin-top: 3rem;
}
.contact-list__item dt {
	width: 34rem;
	margin-right: 13.7rem;
	padding-left: 17.6rem;
	position: relative;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	color: #302D2C;
	white-space: nowrap;
}
.contact-list__item dd {
	width: calc(100% - 47.7rem);
}
.form-email__confirm {
	margin-top: 2.1rem;
}
.contact-list__item .radio-value {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.35;
	color: #302D2C;
	display: inline-block;
	position: relative;
	padding-left: 4rem;
}
.contact-list__item .form-radio {
	display: flex;
	flex-wrap: wrap;
}
.contact-list__item .form-radio label {
	margin-right: 2rem;
	margin-bottom: 1rem;
}
.contact-list__item .form-radio label input[type=radio] {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
}

.contact-list__item .radio-value:before {
	width: 2.9rem;
	height: 2.9rem;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	content: '';
	background: #fff;
	border: .1rem solid #C9C9C9;
	border-radius: 100%;
}
.contact-list__item .form-radio02 .radio-value:before {
	width: 2.9rem;
	height: 2.9rem;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	content: '';
	background: #fff;
	border: .1rem solid #C9C9C9;
	border-radius: 0;
}
.contact-list__item .radio-value:after {
	width: 2.6rem;
	height: 2.6rem;
	position: absolute;
	left: .1rem;
	top: .1rem;
	z-index: 2;
	content: '';
	background:#C62C14;
	border: .6rem solid #fff;
	border-radius: 100%;
	opacity: 0;
}

.contact-list__item .form-radio02 .radio-value:after {
	border-radius: 0;
}

label input[type=radio]:checked + .radio-value:after,
label input[type=checkbox]:checked + .radio-value:after  {
	opacity: 1;
}
.contact-list__item.address-item label {
	display: flex;
}
.contact-list__item.address-item input[type=text] {
	width: 19.8rem;
}
.contact-list__item.address-item dd {
	display: flex;
	align-items: flex-start;
}
.contact-list__item.address-item dd label {
	display: flex;
	flex-direction: column;
}
.address-value {
	margin-left: 1.2rem;
	width: 13rem;
	height: 4.8rem;
	border-radius: 0.5rem;
	background: #C9C9C9;
	border-radius: 0.1rem solid #707070;
	border: 0.1rem solid #707070;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
}
.contact-list .contact-list__item dt .is-required {
	position: absolute;
	left: 0;
	top: 0;
    width: 7.6rem;
    height: 3.1rem;
    background-color: #C62C14;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    color: #fff;
	border-radius: 0.5rem;
}
.contact-list .contact-list__item dt .is-required.is-hidden {
	opacity: 0;
	position: absolute;
}
.contact-agree__notes {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.31;
	margin-top: 1.2rem;
	color: #C62C14;
}
.contact-list__item textarea {
	height: 34.5rem;
}
.contact-submit {
    margin-top: 9rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact-submit input[type=submit],
.contact-submit input[type=button] {
   color: #FFFFFF;
   font-size: 1.8rem;
   font-weight: bold;
   letter-spacing: 0.2em;
   background: url('../img/common/icon_link_right_white.svg') right 5.8rem center #803819 no-repeat;
   width: 30.5rem;
   height: 4rem;
   margin: 0 auto;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 2rem;
   border: 0.1rem solid #803819;
   margin: 0 .5rem;
}

.contact-submit input[type=button].back {
   color: #803819;
   background: url('../img/common/icon_link_left_brown.svg') 5.8rem center #fff no-repeat;
   border: 0.1rem solid #803819;
}

.half-item input {
	width: 42.5rem;
}
.address-select select {
	width: 14.6rem;
	background: url('../img/common/icon_select.svg') right 2.2rem center no-repeat;
}
/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.infomation-wrap {
		padding: 0 1.4rem;
	} 
	.infomation-area {
		padding: 6.75rem 1.15rem 6rem;
		border-left: 0.25rem solid #803819;
		border-right: 0.25rem solid #803819;
	}
	.infomation-contact {
		padding: 0;
	}
	.infomation-area .box-info {
		margin: 2.5rem auto 8.65rem;
	}
	.contact-list__item {
		display: block;
	}
	.contact-list__item dt {
		width:100%;
		margin-right: 0;
		padding-left: 0;
		margin-bottom: 1.7rem;
		font-size: 1.4rem;
	}
	.confirm .contact-list__item dt {
		font-weight: bold;
	}
	.contact-list__item dd {
		width: 100%;
	}
	.contact-list__item input::-webkit-input-placeholder {
	 font-size: 1.2rem;
	 color: #969696;
	 }
	.form-email__confirm {
		margin-top: 2.1rem;
	}
	.contact-list__item .radio-value {
		font-size: 1.4rem;
		padding-left: 3.85rem;
	}
	.contact-list__item .form-radio {
		display: flex;
		flex-direction: column;
	}
	.contact-list__item .form-radio label+label {
		margin-top: 1.5rem;
	}
	.contact-list__item .form-radio label {
		margin-right: 6.5rem;
		margin-bottom: 0;
		white-space: nowrap;
	}
	.contact-list__item .radio-value:before {
		width: 2.1rem;
		height: 2.1rem;
	}
	.contact-list__item .form-radio02 .radio-value:before {
		width: 2.1rem;
		height: 2.1rem;
	}
	.contact-list__item .radio-value:after {
		width: 1.4rem;
		height: 1.4rem;
		position: absolute;
		left: .3rem;
		top: .3rem;
		z-index: 2;
		content: '';
		background:#C62C14;
		border: 0 ;
		opacity: 0;
	}
	.contact-list__item .form-radio02 .radio-value:after {
		width: 1.4rem;
		height: 1.4rem;
	}
	label input[type=radio]:checked + .radio-value:after  {
		opacity: 1;
	}
	.contact-list__item.address-item label {
		display: flex;
	}
	.contact-list__item.address-item input[type=text] {
		width: 19.8rem;
	}
	.contact-list__item.address-item dd {
		display: flex;
		align-items: flex-start;
	}
	.contact-list__item.address-item dd label {
		display: flex;
		flex-direction: column;
	}
	.address-value {
		margin-left: 1.2rem;
		width: 13rem;
		height: 4.8rem;
		border-radius: 0.5rem;
		background: #C9C9C9;
		border-radius: 0.1rem solid #707070;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.6rem;
		font-weight: bold;
		color: #fff;
	}
	.contact-list .contact-list__item dt .is-required {
		position:relative;
	    width: 5.35rem;
	    height: 2.196rem;
		margin-right: 1.7rem;
	    background-color: #C62C14;
	    display: inline-flex;
	    font-size: 1.4rem;
		padding-top: 0.1rem;
		border-radius: 0.25rem;
	}
	.contact-agree__notes {
		font-size: 1.3rem;
		margin-top: 1.6rem;
	}
	.contact-list__item textarea {
		height: 43.7rem;
	}
	.contact-submit {
	    margin-top: 4.35rem;
	    flex-direction: column;
	}
	
	.contact-submit input[type=submit],
	.contact-submit input[type=button] {
	   font-size: 1.5rem;
	   line-height: 1;
	   background: url('../img/common/icon_link_right_white.svg') right 3.5rem center #803819 no-repeat;
	   width: 25.5rem;
	   height: 3.7rem;
	   border-radius: 1.85rem;
	   margin: .5rem 0;
	}

	.contact-submit input[type=button].back {
	   background: url('../img/common/icon_link_left_brown.svg') 3.5rem center #fff no-repeat;
	}
	.half-item input {
		width: 100%;
	}
	.address-select select {
		width:13.38rem;
		background: url('../img/common/icon_select.svg') right 1.9rem center no-repeat;
	}
}

.box{
  width: 220px;
  padding: 20px;
  margin:0 20px 20px 0;
  background: #666;
  color: #fff;
  box-sizing:border-box;
}



/*==================================================
ふわっ
===================================*/


/* fadeUp */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fade-up {
    opacity: 0;
}

.danger {
	display: none;
}

.danger.error {
	display: block;
}

.access-info dl {
	margin: 2.2rem auto 0;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 600px;
	text-align: left;
}
.access-info dt {
	margin-bottom: 1.2rem;
}
.access-info dd {
	width: 100%;
	margin-bottom: 2.2rem;
}


/*==================================================
ここから新しいclass 追記
===================================*/

.event-title{
	font-size: 3.2rem;
}

.event-b{
	text-align: center;
	color:#803819 ;
	font-size: 1.8rem;
}

.event-description{
	font-size: 1.6rem;
	margin-bottom:3.2rem;
	width: 100%;
	
}

.event-description li{
	border-bottom: #803819 solid 1px;
	padding:16px 24px;
	width: 100%;

}
.event-video{
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  display: block;
  margin-top:5.6rem;
  margin-bottom:8.0rem;
}

event-access-map {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.event-access-map {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.event-access-map iframe {
  width: 100%;
  height: 450px;   /* ← PCでの理想サイズ */
  border: 0;
  display: block;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.event-title{
	font-size: 2.4rem;
	line-height: 1.5;
}
 .event-access-map iframe {
    height: 300px;   /* ← スマホだけ小さく */
  }

}