@charset "UTF-8";

/* トップページのみスクロールするとロゴ表示 */
#TOP header h1.header-logo {
	opacity: 0;
	transition: 0.5s;
}

#TOP header.scroll-nav h1.header-logo {
	opacity: 1;
}


/* スライダー */
@-webkit-keyframes zoomOut {
	0% {
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes zoomOut {
	0% {
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	animation: zoomOut 5s linear 0s 1 normal both;  
}

#top_slider {
	padding: 0;
	margin-top: 60px;
}

#top_slider .swiper-wrapper {
	position: relative;
}

#top_slider .swiper-wrapper .slider-mark {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 10;
	max-width: 290px;
}


/* スライダー内スクロールダウン */
#top_slider a.scrolldown {
	display: inline-block;
	position: absolute;
	left: 40px;
	bottom: 0;
	z-index: 2;
	padding: 10px 10px 110px;
	overflow: hidden;
	color: #fff;
	font-size: 13px;
	font-family: 'Josefin Sans', sans-serif;
	line-height: 1;
	letter-spacing: .2em;
	text-transform: uppercase;
	text-decoration: none;
	writing-mode: vertical-lr;
	cursor: pointer;
}

#top_slider a.scrolldown::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 1px;
	height: 100px;
	background: #fff;
	animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	50.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}




#news_section .container {
	max-width: 980px;
	margin: 0 auto;
}

#news_section .contents {
	display: flex;
	justify-content: space-between;
}

#news_section .cont_inner_ttl {
	max-width: 240px;
	min-width: 150px;
	padding-right: 50px;
}

#news_section .cont_inner {
	max-width: 740px;
	width: 100%;
}

#news_section .cont_inner iframe {
	width: 100%;
}

#news_section .cont_inner a {
	margin: 0;
}

#message_section {
	padding: 0;
}

#message_section .container {
	background: linear-gradient(
		to bottom,
		#ffffff calc(8%),
		#f9f4e8 calc(8%),
		#f9f4e8 calc(92%),
		#ffffff calc(92%)
	);
}
@media screen and (max-width: 980px) {
	#message_section .container {
		background: #f9f4e8;
	}
}

#message_section .contents {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#message_section .contents .inner_img {
	width: 48%;
	padding: 0 30px;
}

#message_section .contents .inner_txt {
	width: 48%;
	padding: 50px 0;
}

#message_section .contents .inner_txt p {
	max-width: 450px;
	font-size: 16px;
	line-height: 3.0em;
	text-align: justify;
}

#shindan_section .container {
	max-width: 980px;
	margin: 0 auto;
}

#shindan_section .contents {
	position: relative;
	display: block;
	transition: 0.3s;
}

#shindan_section .contents:hover img {
	opacity: 0.8;
}

#shindan_section .contents .inner {
	position: absolute;
	bottom: 8%;
	right: 3%;
	width: 71%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#shindan_section .contents .inner .txt {
	color: #ffffff;
	font-size: 21px;
	line-height: 1.5em;
	text-decoration: none;
}

#shindan_section .contents .inner .link {
	color: #ffffff;
	font-size: 16px;
	line-height: 1.5em;
	background: #000000;
	border-radius: 50vh;
	border: none;
	padding: 15px 25px;
	width: 225px;
	text-align: left;
	position: relative;
}

#shindan_section .contents .inner .link::after {
	content: "";
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -5px;
	transition: 0.3s;
}

#shindan_section .contents:hover .inner .link::after {
	right: 20px;
}

#products_section .contents {
	background: linear-gradient(to right, transparent 15%, #f0f0f0 15%);
	padding: 100px 0 300px;
}

#products_section .contents .inner {
	display: flex;
	justify-content: space-between;
	max-width: 980px;
	margin: 0 auto;
}

#products_section .contents .inner .cont_inner_ttl {
	max-width: 270px;
	padding-right: 50px;
}

#products_section .contents .inner .cont_inner {
	max-width: 700px;
}

#products_section .contents .inner .cont_inner .ttl {
	font-size: 20px;
	line-height: 1.5em;
	letter-spacing: 0.2em;
	padding-bottom: 30px;
}

#products_section .contents .inner .cont_inner .comment {
	font-size: 16px;
	line-height: 2.5em;
	text-align: justify;
	padding-bottom: 30px;
}

#products_section .contents .inner .cont_inner a {
	margin: 0;
}

#products_section .contents_prod {
	margin-top: -270px;
}

#products_section .contents_prod ul {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}

#products_section .contents_prod ul li {
	width: 24%;
}

#products_section .contents_prod ul li:nth-last-of-type(odd) {
	margin-top: 100px;
}

#products_section .contents_prod ul li .img_box {
	border-radius: 10px;
	overflow: hidden;
}

#products_section .contents_prod ul li:hover .img_box img {
	transform: scale(1.1);
	transition: 0.3s;
}

#products_section .contents_prod ul li .txt_box {
	padding: 0 15px;
}

#products_section .contents_prod ul li .txt_box .ttl {
	padding: 20px 0;
	font-size: 25px;
	line-height: 1.5em;
}

#products_section .contents_prod ul li .txt_box .comment {
	font-size: 15px;
	line-height: 1.8em;
	text-align: justify;
}

#products_section .contents_prod ul li .txt_box .comment span {
	font-size: 20px;
	line-height: 1.8em;
}

#gogyo_section {
	margin-bottom: 100px;
}

#gogyo_section .container {
	background: linear-gradient(to right, #f9f4e8 85%, transparent 85%);
	padding: 100px 0;
}

#gogyo_section .contents {
	display: flex;
	justify-content: space-between;
}

#gogyo_section .inner_txt {
	max-width: 500px;
	margin-left: calc(50vw - 490px);
}

@media screen and (max-width: 980px) {
	#gogyo_section .inner_txt {
		margin-left: 0;
	}
}

#gogyo_section .inner_txt .comment {
	font-size: 16px;
	line-height: 2.0em;
	padding: 30px 0;
	text-align: justify;
}

#gogyo_section .inner_txt a {
	margin: 0;
}

#gogyo_section .inner_img {
	max-width: 700px;
	padding-right: 30px;
	margin-right: auto;
	margin-bottom: -200px;
}



/* スマートフォン用 */
@media screen and (max-width: 768px) {

	#TOP header h1.header-logo {
		opacity: 1;
	}

	#top_slider a.scrolldown {
		left: 0;
	}

	#news_section .container {
		padding: 0 20px;
	}

	#news_section .contents {
		display: block;
	}

	#news_section .cont_inner_ttl {
		padding-right: 0;
	}

	#message_section .container {
		background: linear-gradient(
			to bottom,
			#ffffff calc(3%),
			#f9f4e8 calc(3%)
		);
	}

	#message_section .contents {
		padding: 0 20px;
		display: block;
	}

	#message_section .contents .inner_img {
		width: 100%;
		padding: 0;
	}

	#message_section .contents .inner_txt {
		width: 100%;
	}

	#message_section .contents .inner_txt p {
		max-width: none;
		font-size: 15px;
		line-height: 2.0em;
	}

	#shindan_section .container {
		padding: 0 20px;
	}

	#products_section {
		padding: 0;
	}

	#products_section .container {
		padding: 0 20px;
		background: #f0f0f0;
	}

	#products_section .contents {
		background: none;
		padding: 50px 0 300px;
	}
	
	#products_section .contents .inner {
		display: block;
	}

	#products_section .contents .inner .cont_inner_ttl {
		max-width: none;
		padding-right: 0;
		padding-bottom: 30px;
	}

	#products_section .contents .inner .cont_inner {
		max-width: none;
		padding-bottom: 30px;
	}

	#products_section .contents .inner .cont_inner .ttl {
		font-size: 18px;
		padding-bottom: 15px;
	}

	#products_section .contents .inner .cont_inner .comment {
		font-size: 15px;
		line-height: 2.0em;
	}

	#products_section .contents_prod {
		padding-bottom: 50px;
	}

	#products_section .contents_prod ul {
		flex-wrap: wrap;
	}
	
	#products_section .contents_prod ul li {
		width: 47%;
	}

	#products_section .contents_prod ul li .txt_box {
		padding: 0;
	}

	#products_section .contents_prod ul li .txt_box .ttl {
		font-size: 18px;
		padding: 10px 0;
	}

	#products_section .contents_prod ul li .txt_box .comment {
		font-size: 14px;
	}

	#products_section .contents_prod ul li .txt_box .comment span {
		font-size: 16px;
		line-height: 1.5em;
	}

	#gogyo_section .container {
		background: #f9f4e8;
		padding: 50px 20px;
	}

	#gogyo_section .contents {
		display: block;
	}

	#gogyo_section .inner_txt {
		max-width: none;
		padding-bottom: 30px;
	}

	#gogyo_section .inner_txt .comment {
		font-size: 15px;
	}

	#gogyo_section .inner_img {
		max-width: none;
		padding-right: 0;
	}

}