﻿@charset "utf-8";
/* #top-movie */
#top-movie {
	position: relative;
	width: 100%;
	height: 840px;
}
#top-movie .movie {
	position: absolute;	
	width: 1920px;
	height: 840px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);	
}
#top-movie .bottom {
	position: absolute;
	width: 1920px;
	height: 162px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
#top-movie .mt {
	width: 1920px;
	height: 162px;
	background: url(../img/bg-mt01.png) no-repeat bottom center;
    animation: anim1 0.5s ease-in;
    -webkit-animation: mt1 1s ease-in;
	animation-delay: 1s;
}
@keyframes mt1 {
	0%{
		-webkit-transform:scaleY(1);
		-moz-transform:scaleY(1);
		-ms-transform:scaleY(1);
		-o-transform:scaleY(1);
		transform:scaleY(1);
		transform-origin: bottom center;
	}
	50%{
		-webkit-transform:scaleY(1.2);
		-moz-transform:scaleY(1.2);
		-ms-transform:scaleY(1.2);
		-o-transform:scaleY(1.2);
		transform:scaleY(1.2);
		transform-origin: bottom center;
	}
	70%{
		-webkit-transform:scaleY(1);
		-moz-transform:scaleY(1);
		-ms-transform:scaleY(1);
		-o-transform:scaleY(1);
		transform:scaleY(1);
		transform-origin: bottom center;
	}
	85%{
		-webkit-transform:scaleY(1.05);
		-moz-transform:scaleY(1.05);
		-ms-transform:scaleY(1.05);
		-o-transform:scaleY(1.05);
		transform:scaleY(1.05);
		transform-origin: bottom center;
	}

	100%{
		-webkit-transform:scaleY(1);
		-moz-transform:scaleY(1);
		-ms-transform:scaleY(1);
		-o-transform:scaleY(1);
		transform:scaleY(1);
		transform-origin: bottom center;
	}
}
#top-movie .frame {
	position: absolute;
	bottom: 20px;
    left: 50%;
    display: block;
    width: 30px;
    height: 55px;
    margin: 0 auto 10px;
    border: 1px solid #666;
    border-radius: 15px;
    transform: translateX(-50%);
}
#top-movie .anime {
	position: absolute;
	bottom: 65px;
    left: 50%;
	text-align: center;
}
#top-movie .ball {
	width: 13px;
	height: 13px;
	animation: ball 1.5s infinite;
}
@keyframes ball {
  0% {
    transform: translate(-50%, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(-50%, 30px);
    opacity: 0;
  }
}
#top-movie .scroll {
	width: 220px;
	height: 14px;
	position: absolute;
	bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
}
#top-movie .scroll p {
	text-align: center;
    font-family: Times, "Times New Roman", Georgia, serif;
	font-size: 13px;
	letter-spacing: 0.1em;
	color: #999;
	font-weight: 600;
	margin: 0;
}
/* #top-intro */
#top-intro {
	width: 100%;
	height: auto;
	background: url(../img/top-intro-bg.png) no-repeat center bottom, url(../img/bg01.png) repeat-y center top;
	padding: 0 0 100px;
}
#top-intro .wrap {
	position: relative;
	width: 1100px;
	height: 1070px;	
	margin: 0 auto;
}
#top-intro h2 {
	position: absolute;
	width: 190px;
	height: 570px;
	right: 0;
	top: 0;	
	margin: 0;
	padding: 0;
}
#top-intro .desc {
	position: absolute;
	width: 660px;
	height: 450px;
	left: 0;
	bottom: 0;
	writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
}
#top-intro .desc p {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	letter-spacing: 0.1em;
	line-height: 190%;
	font-size: 17px;
	margin: 0 0 0 30px;
	color: #222;
	font-weight: 600;
}
#top-intro .box01 {
	position: absolute;
	left: 0;
	top: 0;	
	overflow: hidden;
	width: 910px;
	height: 570px;/* 表示サイズ */
}
#top-intro .box01 .img {
	position: relative;
	top: -90px;
	width: 910px;
	height: 750px;/* 実際の画像サイズ */
	background: url("../img/top-intro01.jpg") 0 0 no-repeat;
}
#top-intro .box02 {
	position: absolute;
	right: 0;
	bottom: 0;
	overflow: hidden;
	width: 390px;
	height: 450px;/* 表示サイズ */
}
#top-intro .box02 .img {
	position: relative;
	top: -75px;
	width: 390px;
	height: 600px;/* 実際の画像サイズ */
	background: url("../img/top-intro02.jpg") 0 0 no-repeat;
}
#top-intro .box03 {
	position: absolute;
	left: 8px;
	top: 8px;	
	overflow: hidden;
	width: 894px;
	height: 554px;
	box-sizing: border-box;
	border: 1px solid #fff;
}
#top-intro .box04 {
	position: absolute;
	right: 8px;
	bottom: 8px;
	overflow: hidden;
	width: 374px;
	height: 434px;
	box-sizing: border-box;
	border: 1px solid #fff;
}
/* #top-info */
#top-info {
	width: 100%;
	height: 700px;
	background: url(../img/bg-shadow.png) no-repeat center top, url(../img/top-info-bg.jpg) no-repeat center center;
	padding: 100px 0 100px 0;
	box-sizing: border-box;
}
#top-info .wrap {
	position: relative;
	width: 1100px;
	height: auto;	
	margin: 0 auto;
}
#top-info .left {
	float: left;
	width: 550px;
	height: 500px;	
	box-sizing: border-box;
	padding: 85px 30px 0;
	background: url(../img/top-info-left-bg.png) no-repeat center center;
	text-align: center;
    filter: drop-shadow(0 8px 8px rgba(0,0,0,0.3));
}
#top-info .right {
	float: right;
	width: 500px;
	height: 500px;	
	text-align: center;
    filter: drop-shadow(0 8px 8px rgba(0,0,0,0.3));
}
#top-info h2 {
	display: inline-block;	
	padding: 0;
	margin: 0 auto 30px;
	border: 1px solid #666; 
}
#top-info h2 img {
	vertical-align: bottom;	
}
#top-info dl {
	overflow: hidden;
	padding: 20px 0;
	margin: 0;
	border-bottom: 1px solid #666;
	box-sizing: border-box;
}
#top-info dl dt {
	float: left;
	clear: both;
	letter-spacing: 0.1em;
	font-weight: 600;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	width: 90px;
}
#top-info dl dd {
    float: right;
	width: 390px;
	margin: 0;
	padding: 0;
    overflow: hidden;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	background: url(../img/top-info-arrow.png) no-repeat right center;
	text-align: left;
}
#top-info dl dt a,
#top-info dl dd a {
	font-size: 15px;
	letter-spacing: 0.1em;
	transition: all 0.5s ease;	
	text-decoration: none;
	color: #222;
	font-weight: 600;
    
    /* 以下、長文見出しの改行処理 */
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
    /* ここまで */
}
#top-info dl dd a { width: 96%;/* 上記、改行処理のための width 指定 */}
#top-info dl dt a:hover,
#top-info dl dd a:hover {
	color: #3f5714;	
	transition: all 0.5s ease;
	text-decoration: underline;
}
#top-info .bt {
	transition: all 0.5s ease;
	margin-top: 40px;	
	display: block;
}
#top-info .bt:hover {
	transition: all 0.5s ease;
	transform: translateY(3px);	
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
#top-plan {
	width: 100%;
	height: auto;
	background: url(../img/bg05.png) no-repeat center bottom, url(../img/bg04.png) no-repeat center top, url(../img/bg01.png) repeat-y center top;
	padding: 100px 0;
}
#top-plan .wrap01 {
	margin: 0 auto 60px;
	width: 1100px;	
	height: 43px;
	text-align: center;
}
#top-plan h2 {
	margin: 0 auto;
	padding: 0;
}
#top-plan h2 img {
	vertical-align: bottom;	
}
#top-plan .wrap02 img {
	vertical-align: bottom;	
}
#top-plan .wrap02 a img {
	transition: all 0.5s ease;
}
#top-plan .wrap02 a:hover img {
	transition: all 0.5s ease;
	opacity: 0.8;
}
#top-plan .wrap02 {
	position: relative;
    display: flex;
    justify-content: space-between;
	width: 1100px;
	margin: 0 auto 4em;
}
#top-plan .wrap02 .side {
    display: inline-block;
    width: 276px;
}
#top-plan .wrap02 .side .bn01 {
	width: 276px;
	height: 276px;
	top: 0;
	left: 0;
	background: #000;
}
#top-plan .wrap02 .side .bn02 {
	width: 276px;
	height: 123px;
    margin-bottom: 1em;
	background: #000;
}
#top-plan .wrap02 .side .bn03 {
	width: 276px;
	height: 123px;
	background: #000;
}
#top-plan .wrap02 .main {
    display: inline-block;
    width: 764px;
}
#top-plan .wrap02 .main .plan {
	width: 764px;
}
#top-plan .main .plan h3 {
	height: 55px;
	box-sizing: border-box;
	border-bottom: 1px dashed #999;	
	margin: 0 auto 10px;
	padding-bottom: 10px;
}
#top-plan .main .plan h3 a {
	font-size: 17px;
	letter-spacing: 0.1em;
	line-height: 120%;
	font-weight: 600;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	color: #3f5714;		
	transition: all 0.5s ease;
	text-decoration: none;
}
#top-plan .main .plan h3 a:hover {
	color: #7f2f2f;	
	transition: all 0.5s ease;
}
#top-plan .main .plan a img {
    display: block;
    width: 206px;
    height: 154px;
    object-fit: cover;
}
#top-plan .main .plan p {
	color: #222;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	letter-spacing: 0.1em;
	line-height: 150%;
	font-size: 16px;
	margin: 0;
	font-weight: 500;
}
#top-plan .wrap02 .plan .box {
	overflow: hidden;
	width: 100%;
    padding: 1em 0;
	border-bottom: 1px solid #999;
	box-sizing: border-box;
}
#top-plan .wrap02 .plan .box:first-of-type {
	border-top: 1px solid #999;
}
#top-plan .wrap02 .plan .box .left {
	float: left;
	width: 538px;
}
#top-plan .wrap02 .plan .box .right {
	float: right;
	width: 206px;
	background: #000;	
}
#top-plan .wrap02 .bn04 {
	position: absolute;	
	width: 535px;
	height: 276px;
	bottom: 0;
	left: 50%;
    transform: translateX(-50%);
	background: #000;
}
#top-plan .wrap02 .bn05 {
	position: absolute;	
	width: 535px;
	height: 276px;
	bottom: 0;
	right: 0;
	background: #000;
}
/* #top-search */
#top-search {
	width: 100%;
	height: 100px;
	background: url(../img/bg01.png) repeat-y center top;
	overflow: hidden;
	margin: -1px auto 0;
	padding: 50px 0;
}
#top-search .wrap {
	width: 1100px;
	height: 100px;
	margin: 0 auto;	
	box-sizing: border-box;
	border: 1px solid #fff;
	background: url(../img/search-wrap-bg.png) no-repeat center center, url(../img/search-bg.png) no-repeat center center;
    filter: drop-shadow(0 8px 8px rgba(0,0,0,0.3));
}
#top-search .wrap h2 {
	width: 176px;
	margin: 0;	
}
#top-search .wrap h2 img {
	vertical-align: middle;
	border-right: 1px solid #fff;
}
#top-search .wrap .left {
	float: left;
	width: 200px;
	height: 80px;
	box-sizing: border-box;
	padding-top: 20px;
}
#top-search .wrap .right {
	float: right;
	position: relative;
	width: 840px;
	height: 100px;
}

.price_message {margin: 2rem 0;}
.price_message p{    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    letter-spacing: 0.1em;
    line-height: 190%;
    font-size: 17px;
    margin: 0 0 30px;
    color: #222;
    font-weight: 600;
}}