@charset 'UTF-8';

/*-----------------------------------------------
8px:50.0%
9px:56.3%
10px:62.5%
11px:68.8%
12px:75.0%
13px:81.3%
14px:87.5%
15px:93.8%
16px:100%
17px:106.3%
18px:112.5%
19px:118.8%
20px:125.0%
21px:131.3%
22px:137.5%
23px:143.8%
24px:150.0%
-----------------------------------------------*/
body {
	min-width: auto;
}
.inner {
	width:90%;
}
/* -------------------------------------
 mainVisual スライド 2024.09 NEW
----------------------------------------*/
#mainVisual #slide {
	margin-bottom: 0;
	overflow: hidden;
	padding-bottom: 1em;
}
#mainVisual .slick-slide {
	position: relative;
	height: 100%;
	overflow: hidden;
	padding-bottom: 1em;
}
#mainVisual .slick-slide .bg {
	position: relative;
	height: 100%;
	overflow: hidden;
}
#mainVisual .slick-slide .bg img {
	width: 100%;
	height: auto;
	max-width: none;
}
#mainVisual .slick-slide .txt {
	position: absolute;
	z-index: 1;
	left: 0;
	right: 0;
	top: 7%;
	bottom: 0;
	margin: auto;
	height: 20.31vw;
	width: 29.69vw;
	max-width: 570px;
	max-height: 380px;
}
#mainVisual .slick-slide .txt img {
	width: 100%;
}
#mainVisual .slick-slide.slide01 .txt {
	right: 11%;
	left: initial;
}
#mainVisual .slick-slide.slide03 .txt {
	right: 11%;
	left: initial;
}
#mainVisual .slick-slide.slide04 .txt {
	right: initial;
	left: 11.5%;
	top: 4%;
	width: 50.94vw;
	max-width: 880px;
}
#mainVisual .slick-slide.slide04 .txt.icon {
	right: 10%;
	left: initial;
	top: 0;
	width: 19.79vw;
}
#mainVisual .slick-slide .txt span {
	display: block;
	margin: 3.13vw auto 0 auto;
	width: max(100px, 8.07vw);
}
#mainVisual .slick-slide.slide04  .txt span {
	margin-left: 0;
}
#mainVisual .slick-slide.slide04 .txt.icon {
	max-width: 230px;
}
@media (max-width: 767px) {
	#mainVisual .slick-slide {
		max-height: none;
	}
	#mainVisual .slick-slide .bg img {
		width: auto;
		height: 70vw;
		position: relative;
		right: 16vw;
	}
	#mainVisual .slick-slide.slide02 .bg img {
		right: 18vw;
	}
	#mainVisual .slick-slide.slide03 .bg img {
		right: 30vw;
	}
	#mainVisual .slick-slide .txt {
		height: 35.45vw;
		width: 51.82vw;
		top: 0;
	}
	#mainVisual .slick-slide.slide01 .txt {
		right: 0;
		left: 0;
	}
	#mainVisual .slick-slide.slide03 .txt {
		left: initial;
		right: 5%;
	}
	#mainVisual .slick-slide.slide04 .txt {
		left: 12%;
		width: 80%;
	}
	#mainVisual .slick-slide.slide04 .txt.icon {
		top: 26%;
		right: 17%;
		width: 24vw;
	}
	#mainVisual .slick-slide .txt span {
		width: 22vw;
		margin-top: 4vw;
	}
}
@media (min-width: 1400px) {
	#mainVisual .slick-slide {
		padding: 0 2vw;
		max-width: 1400px;
		width: 100% !important;
    }
	#mainVisual .slick-current {
		max-width: 1400px;
		width: 100% !important;
		margin: auto;
	}
}
/*ドットインジケーター*/
#mainVisual .slick-dots {
	position: relative;
	bottom: -1em;
	z-index: 1;
}
#mainVisual .slick-dots li button:before {
	font-size: min(15px, 3vw);
	line-height: 2;
	width: min(20px, 4vw);
	height: min(20px, 4vw);
}
#mainVisual .slick-dots li.slick-active button:before {
	color: #3f2615;
	opacity: 1;
}
/*左右の矢印*/
#mainVisual .slick-prev,
#mainVisual .slick-next {
	z-index: 99;
	width: min(50px, 5vw);
	height: min(50px, 5vw);
	background-size: contain;
}
#mainVisual .slick-prev:hover, 
#mainVisual .slick-next:hover {
	opacity: 0.7;
}
#mainVisual .slick-prev:before, 
#mainVisual .slick-next:before {
	content:"";
}
#mainVisual .slick-prev {
	background-image: url(../img/top/slide_movie_prev.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	left: 3vw;
}
#mainVisual .slick-next {
	background-image: url(../img/top/slide_movie_next.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	right: 3vw;
}
@media (max-width: 430px) {
	#mainVisual .slick-prev,
	#mainVisual .slick-next {
		top: 43%;
	}
}
@media (min-width: 1500px) {
	#mainVisual .slick-prev {
		background-image: url(../img/top/slide_movie_prev02.png);
		left: calc(((100% - 1400px) / 2) - 3vw);
	}
	#mainVisual .slick-next {
		background-image: url(../img/top/slide_movie_next02.png);
		right: calc(((100% - 1400px) / 2) - 3vw);
	}
}

/* -------------------------------------
 mainVisual スライド zoomアニメーション用
----------------------------------------
#mainVisual {
	position: relative;
	overflow: hidden;
	width: 100%;
	z-index: 1;
}
#mainVisual #slide {
	position: relative;
	top:0;
	left:0;
	width:100%;
	max-width:100%;
	overflow:hidden;
	z-index: 1;
}
#mainVisual #slide li {
	max-height: 700px;
	position: relative;
	width: 100%;
	text-align:center;
}
#mainVisual #slide li img {
	height: auto;
	width: 90%;
	max-width: none;
	position: relative;
	left: 0;
	top: 0;
	margin:0 auto;
}
@media screen and (max-width:414px) {
	#mainVisual #slide li img {
		height: 80vw;
		left: -25vw;
		top: 20px;
		width: auto;
	}
}
#slide .slide-animation {
		animation: fadezoom 4s 0s forwards;
}
@keyframes fadezoom {
	0% {
		transform: scale(1.5);
	}
	100% {
		transform: scale(1.2);
	}
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
	#mainVisual #slide div,
	#mainVisual #slide ul,
	#mainVisual #slide li,
	#mainVisual #slide li img {
		overflow:hidden;
		margin: 0 auto;
		text-align: center;
	}
}
*/
/* -------------------------------------
top_mv 動画用
----------------------------------------
#top_mv {
	position: relative;
}
#top_mv #movie {
	position: relative;
	background-color:#fff;
}
#top_mv #movie video {
	width: 100%;
	
}
#top_mv iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.spmv {
	position: relative;
}
.spmv {
	position: relative;
	padding: 50% 0;
	overflow: hidden;
}
.mv_img {
	position: absolute;
	top:0;
}
@media screen and (max-width: 896px) and (orientation: landscape) {
	.spmv {
		padding: 40% 0;
	}
}
.spmv img {
	max-width: auto;
	max-width: inherit;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -1000px;
	right: -1000px;
	margin: auto;
	height: 100%;
}
.spmv .mvBtn {
	display: block;
	width: 90%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	margin: auto;
	text-align: center;
	background-color: rgba(64,38,21,0.9);
	letter-spacing: 0.05em;
	padding: 14px 0;
	color: #fff;
	font-size: 120%;
}
.spmv iframe {
	width: 100%;
	height: 200px;
}
.iziModal {
	width: 90%;
	text-align: center;
	box-shadow: none;
	background: transparent!important;
}
.iziModal .iziModal-iframe {
	height: 40vw!important;
}
.iziModal .close {
	display: block;
	position: absolute;
	right: 0;
	top: -30px;
	width: 50px;
	height: 50px;
	cursor: pointer;
	z-index: 10;
	padding: 0;
}
.iziModal .close > a {
	display: block;
	width: 50px;
	height: 50px;
	padding: 0;
}
.iziModal .close > a {
	position: relative;
}

.iziModal .close > a:before,
.iziModal .close > a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 2px;
	background-color: #fff;
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}

.iziModal .close > a:before {
	top: 24px;
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}

.iziModal-navigate-caption {
	display: none!important;
}
@media (orientation: landscape){
	.iziModal .iziModal-iframe {
		height: 30vw!important;
		width: 80%!important;
	}
}
*/
/* -------------------------------------
#news
----------------------------------------*/
#news {
	position: relative;
	padding: 0 0 40px;
}/*
#news:before {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	content: "";
	display: block;
	width: 100%;
	height: 400px;
	margin: auto;
	background-image: url(../img/common/wallpaper04.png);
	background-repeat: repeat;
	background-position: left top;
	z-index: 0;
}*/
#news .newsInner {
	position: relative;
	display: flex;
	justify-content: space-between;
	z-index: 1;
}
#news .newsInner:before,
#news .newsInner:after {
	content: none;
}
#news .newsList {
	position: relative;
	flex-basis: calc(100% - 200px);
	margin-right: 2%;
	/*padding-bottom: 40px;*/
}
#news .newsList li {
	width: 32.5%;
	float: left;
	margin-right: 1.2%;
	margin-bottom:40px;
}
#news .newsList li:nth-child(3n) {
	margin-right: 0;
}
#news .newsList .all {
	background-image: url(../img/common/arrow02.png);
	background-repeat: no-repeat;
	background-position: 95px center;
	background-color: #3f2615;
	border-radius: 3px;
	color: #fff;
	padding: 5px 25px 5px 15px;
	font-size: 87.5%;
	position: absolute;
	bottom: 0;
	right: 0;
}
#news .newsImage {
	position: relative;
	text-align: center;
	overflow: hidden;
	padding: 37% 0;
}
#news .newsImage img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-height: 100%;
}
#news .newsDetail {
	padding: 5px 0 0;
}
#news .newsDetail .date {
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	font-size: 13px;
}
#news .newsDetail .new,
#news .newsDetail .category {
	display: inline-block;
	vertical-align: middle;
	font-size: 75.0%;
	line-height: 1;
	text-align: center;
	color: #fff;
	background-color: #27a639;
	margin-left: 8px;
	padding: 5px 1em 3px;
}
#news .newsDetail .new {
	background-color: #ba5448;
}
#news .newsDetail .title {
	font-size: 15px;
	font-weight: 600;
	padding-top: 10px;
}
#news #categoryListNav {
	flex-basis: 200px;
	display:table;
	background-color: #fff;
	padding: 25px 20px 15px;
	border: 2px solid #f5f3ef;
	box-sizing: border-box;
}
.tagList {
	padding-top: 10px;
}
.tagList .tag {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	font-size: 81.3%;
	color: #6caf42;
	margin-right: 8px;
}
.tagList .tag a {
	color: #6caf42;
}
.tagList .tag:before {
	content: "#";
	padding: 0 2px 0 0;
}
@media screen and (max-width:767px){
	#news {
		position: relative;
		padding: 0 0 30px;
	}
	/*#news:before {
		height: 160px;
	}*/
	#news .newsInner {
		display: block;
	}
	#news .newsList .all {
		display: none;
	}
	#news .newsList {
		padding-bottom: 20px;
	}
	#news .newsList,
	#news .categoryList {
		flex-basis: auto;
		padding-bottom: 40px;
	}
	#news .newsList li,
	#news .newsList li:nth-child(3n) {
		width: /*80%*/auto;
		float: none;
		margin: 0 auto;
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid #f5f3ef;
	}
	#news .newsList li:last-child {
		border:none;
		padding-bottom:0;
		margin-bottom:0;
	}
	#news .newsDetail .date {
		font-size: 13px;
		padding-bottom: 4px;
	}
	#news .newsDetail .title {
		font-size: 13px;
		line-height: 1.6;
	}
	#news #categoryListNav {
		flex-basis: auto;
		display:block;
	}
}
/* -------------------------------------
	news
----------------------------------------*/
#top_news {
	background-image: url(../img/common/wallpaper01.png);
	background-repeat: repeat-x;
	background-position: left bottom;
	padding: 80px 0 60px;
	margin-top: -10px;
}
#top_news>div {
	max-width: 1000px;
	margin: auto;
}
#top_news .newsWrap>div {
	float: left;
	margin-right: 30px;
	text-align: center;
}
#top_news>div>div p {
	font-size: 81.3%;
}
#top_news .newsWrap ul {
	float: left;
}
#top_news .news_link {
	text-align: center;
	margin-top: 30px;
}
#top_news .news_link a {
	background-image: url(../img/common/arrow02.png);
	background-repeat: no-repeat;
	background-position: 90% center;
	background-color: #3f2615;
	border-radius: 30px;
	display: inline-block;
	color: #fff;
	padding: 5px 40px;
	letter-spacing:0.1em;
}
.news ul dt,
.news ul dd,
.news ul dd p {
	display: inline-block;
	vertical-align:top;
}
.news ul dd p {
	padding: 0 0 0 17px;
	width:520px;
}
.news ul li {
	width: 800px;
	background-image: url(../img/common/arrow05.png);
	background-repeat: no-repeat;
	background-position: right center;
	border-bottom: 1px solid rgba(73,73,73,0.2);
	padding-top: 0.6em;
	padding-bottom: 0.6em;
}
.news ul li:first-child {
	padding-top: 0;
}
.news ul dt {
	width: 100px;
}
.news ul dd div {
	display: inline-block;
	font-size: 75.0%;
	color: #fff;
	width: 55px;
	text-align: center;
	margin-right: 4px;
}
#bottom_news {
	background-image: url(../img/common/wallpaper.png);
	background-repeat: repeat;
	background-position: left top;
	padding: 30px 0 60px;
}
#bottom_news ul li {
	width: 100%;
}
#bottom_news dt {
	width: 120px;
}
#bottom_news dl .icon {
	min-width: 130px;
}
#bottom_news.news ul dd p {
	width: auto;
}
@media screen and (max-width: 1410px) {
	#top_news>div {
		padding: 0 4%;
	}
	.news ul li {
		width: 100%;
	}
}
@media screen and (max-width: 896px) and (orientation: landscape) {
	#top_news{
		display: none;
	}
}
@media screen and (max-width:767px){
	#top_news{
		display: none;
	}
	#bottom_news dt {
		width: auto;
		margin-right: 5px;
	}
	.news ul dd {
		width: 95%;
	}
	#bottom_news dl .icon {
		width: auto;
	}
	.news ul dd p {
		font-size: 112.5%;
		width:auto;
	}
	#bottom_news {
		padding: 20px 0;
	}
}
/* -------------------------------------
	news + movie
----------------------------------------*/
/*#top_news>div {
	width:1180px;
	padding:0 10px;
}
#top_news .box_news {
	float:left;
	text-align:left;
	width:590px;
	margin-right:0;
}
#top_news .box_news ul {
	width:100%;
	margin:20px 0 30px 0;
}
#top_news .box_news ul li {
	width:100%;
}
#top_news .box_news ul dt {
	width:17%;
	font-size: 85%;
	padding-top:6px;
}
#top_news .box_news ul dd {
	width:82%;
}
#top_news .box_news ul dd p {
	width:82%;
	padding:0;
	font-size: 85%;
}
#top_news .box_news ul dd div {
	width:13%;
	margin-right:1%;
}
#top_news .movie {
	width: auto;
	float:right;
	margin-right:0;
}
#top_news .movie .movie_inner {
	border:5px solid #fff;
	width: auto;
	height:260px;
}
#top_news .movie p {
	position: relative;
	background-color: #1967a8;
	color: #fff;
	padding: 5px 0;
	margin-bottom: 5px;
	font-size: 90%;
	z-index:1;
}
#top_news .movie p::after {
	position: absolute;
	content: '';
	top: 100%;
	left: 48%;
	border: 15px solid transparent;
	border-top: 15px solid #1967a8;
	width: 0;
	height: 0;
}
@media screen and (max-width:767px){
	#top_news {
		display: block;
		padding: 24px 0 30px;
		margin-top: 43px;
	}
	#top_news>div {
		width:auto;
	}
	#top_news .box_news {
		float: none;
		width:auto;
		display:none;
	}
	#top_news .movie {
		margin:0 auto;
		float:none;
	}
	#top_news .movie .movie_inner {
		position: relative;
		padding-bottom: 56.25%; 
		height: 0;
		overflow: hidden;
	}
	#top_news .movie_inner iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border:none;
	}
}*/
/* -------------------------------------
	features
----------------------------------------*/
#features {
	background-image: url(../img/top/features_bg.jpg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: cover;
	margin-top: 50px;
}
#features>div>div {
	float: left;
	margin-top: 240px;
	width:42%;
}
#features>div>div>h2 {
	margin-bottom: 30px;
}
#features .advance{
	font-weight:bold
}
#features #features_slide {
	float: right;
	/*width: 580px;*/
	width: 51.6%;
	height: 540px;
	text-align: center;
	position:relative;
	margin: 50px 4.5% 50px 0;
}
#features #features_slide>ul {
	background-image: url(../img/common/wallpaper.png);
	background-repeat: repeat;
	background-position: left top;
	padding: 60px 0;
	
}
#features #features_slide>ul li {
	position: relative;
}
#features #features_slide dt span {
	display: block;
	font-size: /*13*/18px;
}
#features #features_slide dt {
	font-size: 35px;
	line-height: 1.4;
	margin-bottom: 30px;
	color: #3f2615;
	padding:0 5%;
}
#features #features_slide dd {
	color: #000000;
	text-align: left;
	line-height: 2.0;
	margin-bottom: 40px;
	padding:0 18%;
}
#features #features_slide dd>ul li {
	list-style-position: outside;
	list-style-type: disc;
	margin-left:5px;
	line-height:1.5;
	margin-bottom:10px;
	font-size:16px;
	letter-spacing:0.05em;
}
#features #features_slide>ul li a {
	background-image: url(../img/common/arrow02.png);
	background-repeat: no-repeat;
	background-position: 120px center;
	position: absolute;
	bottom: 0;
	right: 15%;
	background-color: #3f2615;
	border-radius: 3px;
	color: #fff;
	padding: 5px 30px 5px 20px;
	font-size: 100%;
}
/* slick */
#features_slide .slick-slide img {
	display: inline;
}
#features_slide .slick-dots {
	position: relative;
}
#features_slide .slick-dots li button:before {
	font-size: 15px;
}
#features_slide .slick-dots li.slick-active button:before {
	color: #3f2615;
	opacity: 1;
}
#features_slide .slick-dots li.slick-active button:before {
	color: #3f2615;
	opacity: 1;
}
#features_slide .slick-prev,
#features_slide .slick-next {
	width:52px;
	height:52px;
}
#features_slide .slick-prev:before,
#features_slide .slick-next:before {
	content:"";
}
#features_slide button.slick-prev,
#features_slide button.slick-next {
	z-index:2;
}
#features_slide .slick-prev {
	cursor: pointer;
	left:-26px;
}
#features_slide .slick-next {
	cursor: pointer;
	right:-26px;
}
#features_slide .slick-arrow {
	z-index:3;
}
#features_slide #arrows .slick-hover {
	opacity: 0.8;
}
@media screen and (max-width:1200px){
	#features #features_slide dt br.pcbr {
		display:none;
	}
}
@media screen and (max-width:900px){
	#features {
		margin: 20px 0 0 0; 
		background: none;
	}
	#features>div>div,
	#features #features_slide {
		float: none;
	}
	#features>div>div {
		background-image: url(../img/top/features_bg.jpg);
		background-repeat: no-repeat;
		background-position: left center;
		background-size: cover;
		margin-top: 0;
		padding: 30px 0;
		text-align: center;
		width:auto;
	}
	#features>div>div>h2 {
		margin-bottom: 15px;
	}
	#features>div>div>h2 img {
		width: 70%;
	}
	#features>div>div>img {
		width: 80%;
	}
	#features #features_slide {
		background: none;
		width: 100%;
		margin: 0;
		padding: 0;
		height: auto;
	}
	#features #features_slide>ul {
		padding: 30px 0 20px 0;
		margin-bottom: 0;
	}
	#features #features_slide dt {
		font-size:21px;
		font-weight:600;
		margin-bottom: 15px;
	}
	#features #features_slide dt span {
		font-size: 12px;
		margin-top:5px;
	}
	#features_slide .slick-next {
		right: 1%;
		width: 35px;
	}
	#features_slide .slick-prev {
		left: 1%;
		width: 35px;
	}
	#features_slide .slick-next img,
	#features_slide .slick-prev img {
		width: 100%;
	}
	#features #features_slide dd {
		margin-bottom: 20px;
		padding:0 17%;
	}
	#features #features_slide dd>ul li {
		margin-bottom:8px;
		font-size:12px;
	}
	#features #features_slide>ul li a {
		position: relative;
		right:0;
		background-position: right 5% center;
	}
	#features_slide .slick-dots {
		bottom: 0;
	}
	#features_slide .slick-list {
		padding-bottom: 8px;
	}
}
@media screen and (max-width:767px){
	#features>div>div,
	#features #features_slide {
		float: none;
	}
	#features>div>div {
		background-image: url(../img/top/features_bg.jpg);
		background-repeat: no-repeat;
		background-position: left center;
		background-size: cover;
		margin-top: 0;
		padding: 30px 0;
		text-align: center;
	}
	#features>div>div>h2 {
		margin-bottom: 15px;
	}
	#features>div>div>h2 img {
		width: 70%;
	}
	#features>div>div>img {
		width: 90%;
	}
	#features #features_slide {
		background: none;
		width: 100%;
		margin: 0;
		padding: 0;
		height: auto;
	}
	#features #features_slide>ul {
		padding: 20px 0;
		margin-bottom: 0;
	}
	#features_slide .slick-next {
		right: 1%;
		width: 35px;
	}
	#features_slide .slick-prev {
		left: 1%;
		width: 35px;
	}
	#features_slide .slick-next img,
	#features_slide .slick-prev img {
		width: 100%;
	}
	#features #features_slide dd {
		margin-bottom: 20px;
		padding:0 17%;
	}
	#features #features_slide>ul li a {
		position: relative;
		right:0;
		background-position: right 5% center;
	}
	#features_slide .slick-dots {
		bottom: 0;
	}
	#features_slide .slick-list {
		padding-bottom: 8px;
	}
}

