@charset "utf-8";

/* トップページ記述用CSSファイル */


/* #idx-fv
--------------------------------------------*/
.home .main-content {
	background: transparent;
}
@media screen and (max-width: 767px) {
	.idx-fv {
		margin: 25px 0 0;
	}
}
.idx-fv-block {
	position: relative;
	width: 100%;
}

/* 静止画カバー */
.idx-fv-cover {
    position: absolute;
    top: -12vw;
    left: 50%;
    transform: translateX(-50%) scale(1);
    z-index: 100;
	width: 30vw;
	pointer-events: none;    
    /* 初期状態：透明 */
    opacity: 0;    
    /* 滑らかなアニメーションの設定（表示・移動の両方に効く） */
    transition: opacity 1.5s ease-out, top 1.5s ease-in-out, left 1.5s ease-in-out, transform 1.5s ease-in-out;
}
/* フェーズ1：JSでこれがつくと、ふわっと現れる */
.idx-fv-cover.is-visible-cover {
    opacity: 1;
}
/* フェーズ2：JSでこれがつくと、右上に移動して縮小する */
.idx-fv-cover.is-moved {
	top: -3.5vw;
	transform: scale(0.76);
	left: 64vw;
}
@media screen and (min-width: 768px) {
	.idx-fv-cover {
		width: 13vw;
		top: 0;
	}
	.idx-fv-cover.is-moved {
		top: 1vw;
		transform: scale(0.83);
		left: 60vw;
	}
}

/* スライダー本体 */
#index-slider,
.home #header {
	opacity: 0; /* 最初は隠す */
	transition: opacity 1.5s ease; /* ふわっと出すための設定 */
}
#index-slider.is-visible-more,
.home #header.is-visible-more {
	opacity: 1; /* JSでこのクラスを付与して表示させる */
}
#index-slider .owl-item {
    transition: transform 1200ms ease!important;
	padding: 0 4vw;
}
.idx-fv-img img {
	border-radius: 20px;
}
.idx-fv-img .main-btn {
	margin: 2.5vw 0 0 auto;
	letter-spacing: 0;
	font-size: 3.3vw;
	max-width: 50vw;
	width: auto;
	text-align: right;
}
@media screen and (min-width: 768px) {
	#index-slider .owl-stage-outer {
		padding-top: 4vw;
	}
	#index-slider .owl-stage {
		display: flex;
		align-items: flex-end;
	}
	#index-slider .owl-item {
		transform: scale(0.85);
		transform-origin: bottom center;
		padding: 0 2.5vw;
	}
	#index-slider .owl-item.center {
		transform: scale(1.08);
		z-index: 2;
		padding: 0 0 2vw;
	}
	.idx-fv-img img {
		border-radius: 1.6vw;
	}
	.idx-fv-img .main-btn {
		margin: .5vw 0 0 auto;
		font-size: .8vw;
		max-width: 18vw;
	}
}

/* メインタイトル */
.idx-fv-title img {
	width: 100%;
}
.idx-fv-title::after {
	content: '';
	background: url('../image/index/head_stamp.png') no-repeat center/cover;
	width: 16vw;
	height: 16vw;
	display: block;
	opacity: .9;
	margin: 1.7vw 0 0 auto;
}
@media screen and (min-width: 768px) {
	.idx-fv-title::after {
		width: 7.5vw;
		height: 7.5vw;
	}
}

/* 波部分 */
.idx-fv-curve {
	margin-top: -6vw;
	position: relative;
	z-index: 100;
	pointer-events: none;
}
.idx-fv-curve::after {
	content: '';
	background: url('../image/index/head_illust.png') no-repeat center/cover;
	position: absolute;
	bottom: 4vw;
	left: 2vw;
	width: 43vw;
	height: 27vw;
}
@media screen and (min-width: 768px) {
	.idx-fv-curve {
		margin-top: -10.5vw;
	}
	.idx-fv-curve::after {
		bottom: 0;
		left: 9.4vw;
		width: 28.1vw;
		height: 17.7vw;
	}
}


/* index 共通
--------------------------------------------*/
#index-content {
	padding: 40px 0 0;
}
@media screen and (min-width: 768px) {
	#index-content {
		padding: 70px 0 0;
	}
}

/* .idx-ttl */
.idx-ttl {
	font-size: 7.5vw;
	writing-mode: vertical-rl;
	white-space: nowrap;
}
.idx-ttl-sub {
	font-size: 57%;
	letter-spacing: 15%;
	padding: .3em 0 0 .6em;
	line-height: 1;
}
.idx-ttl-main {
	letter-spacing: 15%;
	line-height: 1.7;
}
.idx-ttl-txt {
	font-size: 16px;
	letter-spacing: 15%;
	padding: .3em 0 0;
}
@media screen and (max-width: 767px) {
	.idx-ttl.sp-normal {
		writing-mode: unset;
		white-space: wrap;
	}
	.idx-ttl.sp-normal .idx-ttl-sub {
		padding: 0 0 .5em;
	}
	.idx-ttl.sp-normal .idx-ttl-main {
		letter-spacing: 5%;
		line-height: 1.6;
	}
	.idx-ttl.sp-normal .idx-ttl-txt {
		letter-spacing: 0;
		padding: 1em 0 0;
	}
}
@media screen and (min-width: 375px) {
	.idx-ttl {
		font-size: 28px;
	}
}
@media screen and (min-width: 768px) {
	.idx-ttl {
		font-size: 35px;
	}
	
}


/* #idx-news
--------------------------------------------*/
.idx-news-block {
	position: relative;
	background: #fff;
	padding: 30px 0 35px 25px;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
}
.idx-news-inner {
	display: grid;
	grid-template-columns: 28% 1fr;
}
.idx-news .idx-ttl {
	display: flex;
	flex-direction: row-reverse;
	writing-mode: unset;
	white-space: normal;
	width: fit-content;
}
.idx-news .idx-ttl-sub {
	writing-mode: vertical-rl;
}
.idx-news .idx-ttl-main {
	line-height: 115%;
	width: 1em;
}
.news-list .arcbox:last-of-type {
	border-bottom: none;	
}
.idx-news .renkon::before {
	width: 2em;
	height: 1.9em;
	left: -.3em;
	top: 6.2em;
}
.idx-news .kyuri::after {
	width: 2.3em;
	height: 2.5em;
	left: 1em;
	top: 6.7em;
}
@media screen and (min-width: 375px) {
	.idx-news-inner {
		grid-template-columns: 90px 1fr;
	}
}
@media screen and (max-width: 767px) {
	.idx-news {
		padding: 0 0 0 8vw;
		z-index: 2;
	}
	.idx-news-list {
		margin-top: -10px;
	}
	.idx-news-list .arcbox {
		padding-right: 20px;
	}
	.idx-news-btn {
		width: fit-content;
		margin: 20px 0 0 auto;
		padding-right: 20px;
	}
}
@media screen and (min-width: 768px) {
	.idx-news-block {
		padding: 50px;
		border-radius: 30px;
		max-width: 1030px;
		margin: auto;
		min-height: 330px;
	}
	.idx-news-inner {
		grid-template-columns: 150px 1fr;
		gap: 5%;
	}
	.idx-news-title .idx-ttl {
		padding: 0 0 0 1em;
	}	
	.idx-news-btn {
		position: absolute;
		top: 235px;
		left: 65px;
	}
	.idx-news .renkon::before {
		width: 75px;
		height: 75px;
		bottom: -40px;
		left: 50px;
		top: auto;
	}
	.idx-news .kyuri::after {
		width: 91px;
		height: 96px;
		bottom: -70px;
		left: 95px;
		top: auto;
	}
}


/* #idx-sty
--------------------------------------------*/
.idx-sty {
	margin: -40px 0 50px;
}
.sty-box .idx-ttl {
	position: relative;
	font-size: 9.5vw;	
}
.idx-sty-fv .idx-ttl-txt {
	font-size: 45%;
	margin: 3em 1em 0 0;
}
.sty-box .line2 {
	padding-top: 4.3em;
}
.sty-box .daikon::before {
	width: 2.8em;
	height: 3.2em;
}
.idx-sty-fv .daikon::before {
	bottom: .8em;
	right: 0;
}
.idx-sty .idx-ttl-sub {
	padding: .3em 0 0 1em;
}
@media screen and (max-width: 767px) {
	.idx-sty-fv .box {
		margin: 16vw 0 0;
	}
	.idx-sty-fv .idx-ttl {
		left: 50%;
		transform: translateX(-50%);
	}
}
@media screen and (min-width: 768px) {
	.idx-sty {
		margin: 140px 0 50px;
	}
	.idx-sty-fv {
		display: grid;
		grid-template-columns: 1fr auto;
	}
	.sty-box .idx-ttl {
		font-size: 4.3vw;
	}
	.idx-sty-fv .idx-ttl {
		padding: 0 .4em 0 1.5em;
	}
	.idx-sty-fv .idx-ttl-txt {
		font-size: 40%;
	}
	.idx-sty-fv .daikon::before {
		bottom: -.5em;
	}
}
@media screen and (min-width: 1160px) {
	.sty-box .idx-ttl {
		font-size: 50px;
	}
}

.idx-sty-main {
	margin: 50px 0 0;
}
.idx-sty-main .big span {
	font-size: 125%;
}
.idx-sty-btn {
	margin: 40px 0 0 auto;
	width: fit-content;
}
@media screen and (max-width: 767px) {
	.idx-sty-main .txt {
		margin: 35px 0 0;
	}
}
@media screen and (min-width: 768px) {
	.idx-sty-main {
		display: grid;
		grid-template-columns: 48% 47%;	
		justify-content: center;
		gap: 5%;
		margin: 60px 0 0;
	}
	.idx-sty-main .img {
		order: 2;
	}
	.idx-sty-main .txt {
		order: 1;
		font-size: 20px;
	}
	.idx-sty-btn {
		margin: 45px 0 0;
		padding: 0 0 80px;
	}
}
@media screen and (min-width: 1050px) {
	.idx-sty-main {
		grid-template-columns: auto 450px;
		align-items: center;
	}
	.idx-sty-btn {
		padding: 0;
	}
}


/* #idx-bnr
--------------------------------------------*/
.idx-bnr {
	position: relative;
	z-index: 2;
}
.bnr-area {
	margin: 120px 0 -42vw;
}
.bnr-after {
	height: 25vw;
}
@media screen and (min-width: 768px) {
	.bnr-area {
		margin: 0 0 -53vw;
	}
	.bnr-after {
		height: 48vw;
	}
}
@media screen and (min-width: 1000px) {
	.bnr-area {
		margin: calc(6vw + 50px) 0 calc(-450px - 7vw);
	}
	.bnr-after {
		height: 450px;
	}
}

.bnr-block {
	width: fit-content;
	margin: auto;
}
.bnr-btn {
	background: #D3342E;
	color: #fff;
	font-size: 3vw;
	padding: .5em 1.2em .6em 1.5em;
	border-radius: 3em;
	position: absolute;
	bottom: 1em;
	left: 1em;
	line-height: 1.4;
	max-width: 90%;
	display: flex;
	align-items: center;
}
.bnr-btn::after {
	content: '\f35a';
	font-family: "Font Awesome 7 Free";	
	color: #fff;
	font-weight: 900;
	font-size: 150%;
	margin-left: .5em;
}
.bnr-btn.newtab::after {
	content: '\f08e';
}
@media screen and (max-width: 767px) {
	.bnr-box.link:hover {
		opacity: 1;
	}
}
@media screen and (min-width: 768px) {
	.bnr-btn {
		font-size: 16px;
		right: 1.2em;
		bottom: 1.2em;
		left: auto;
	}
	.bnr-area.type2 .bnr-btn {
		left: 1.2em;
		right: auto;
	}
}

/* #idx-pdt
--------------------------------------------*/
.idx-pdt {
	padding: 35px 0 0;
}
.idx-pdt-block {
	padding: 90px 0 110px;
}
.idx-pdt-title {	
	margin: 0 0 30px;
}
.idx-pdt .hakusai::before {
	width: 2.7em;
	height: 3.3em;
	top: -2.5em;
	left: 6.3em;
}
.idx-pdt .nasu::after {
	width: 1.6em;
	height: 2em;
	top: -3em;
	left: 9.2em;
}
.idx-pdt-list {
	display: flex;
	width: 100%;
	gap: 30px;
	padding: 15px 0 10px;
}
.idx-pdt-list .reco-card {
	width: 230px;
	flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
	.idx-pdt-title .idx-ttl {
		position: relative;
	}
	.idx-pdt-list .reco-img img,
	.idx-pdt-list .reco-noimg {
		height: 160px;
	}
	.idx-pdt-list .reco-img.kaga::before {
		width: 80px;
		height: 80px;
	}
	.idx-pdt-list .reco-card:first-of-type {
		margin-left: 8vw;
	}
	.idx-pdt-list .reco-card:last-of-type {
		margin-right: 8vw;
	}
	.idx-pdt-list .reco-box {
		margin: 0;
	}
	.idx-pdt-btn {
		width: fit-content;
		margin: 30px 0 0 auto;
	}
}
@media screen and (min-width: 768px) {
	.idx-pdt-block {
		position: relative;
		display: grid;
		grid-template-columns: 280px 1fr;
		gap: 3%;
		padding: 0 0 180px;
	}
	.idx-pdt-title {
		position: relative;
		width: fit-content;
		margin: 0 auto;
	}
	.idx-pdt .hakusai::before {
		width: 3.2em;
		height: 3.9em;
		bottom: -1em;
		left: .3em;
		top: auto;
	}
	.idx-pdt .nasu::after {
		width: 2em;
		height: 2.4em;
		bottom: 1em;
		left: 3.6em;
		top: auto;
	}
	.idx-pdt-arw {
		position: absolute;
		top: 0;
		right: 35px;
	}
	.idx-pdt-list {
		gap: 40px;
		padding: 50px 0 15px;
	}
	.idx-pdt-list .reco-card {
		width: 330px;
	}
	.idx-pdt-btn {
		position: absolute;
		bottom: 340px;
		left: 60px;
	}
}
@media screen and (min-width: 1400px) {
	.idx-pdt-list {
		gap: 60px;
	}
	.idx-pdt-list .reco-card {
		width: 400px;
	}
}
@media screen and (min-width: 1600px) {
	.idx-pdt-block {
		grid-template-columns: 400px 1fr;
	}
	.idx-pdt-btn {
		left: 120px;
	}
}



/* #idx-store
--------------------------------------------*/
.idx-store .idx-ttl-main {
	line-height: 1;
}
.idx-store-main .store-ava-box {
	background: #FFF6E5;
}
.idx-store .kabu::before {
	width: 2.8em;
	height: 3em;
	right: 0;
	top: -.8em;
	transform: rotate(60deg);
}
@media screen and (max-width: 767px) {
	.idx-store-title {
		padding: 45px 0 20px;
	}
	.idx-store-cts {
		margin: 0 0 50px;
	}
}
@media screen and (min-width: 768px) {
	.idx-store {
		width: 100%;
		overflow: hidden;
		display: flex;
		justify-content: flex-end;
		padding: 0 0 14vw;
	}
	.idx-store-wrap {
		width: 105%;
		position: relative;
		flex-shrink: 0;
	}
	.idx-store-inner {
		display: grid;
		grid-template-columns: 30% 1fr;
		gap: 5%;
	}
	.idx-store-cts {
		padding: 60px 30px 0;
		display: grid;
		grid-template-columns: auto 1fr;
	}
	.idx-store-main {
		margin: 35px 0 0 40px;
	}
	.idx-store-img1 img {
		width: 100%;
	}
	.idx-store .kabu::before {
		bottom: -3.8em;
		left: -1.3em;
		top : auto;
		right: auto;
		transform: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 1099px) {
	.idx-store-img1 img,
	.idx-store-img2 img {
		object-fit: cover;
		height: 50%;
		width: 100%;
		object-position: bottom;
	}
	.idx-store-img2 {
		position: absolute;
		top: 54%;
		left: 0;
		width: 30%;
	}
}
@media screen and (min-width: 1100px) {
	.idx-store {
		padding: 0 0 8vw;
	}
	.idx-store-wrap {
		width: 115%;
	}
	.idx-store-inner {
		display: grid;
		grid-template-columns: 23% 23% 1fr;
		gap: 3%;
	}
	.idx-store-img1 {
		order: 1;
		margin: auto 0 0;
	}
	.idx-store-img2 {
		order: 2;
	}
	.idx-store-cts {
		order: 3;
	}
	.idx-store-main {
		margin: 35px 0 0 60px;
	}
}
@media screen and (min-width: 1450px) {
	.idx-store {
		justify-content: flex-start;
	}
	.idx-store-wrap {
		width: 2050px;
		left: 50%;
		transform: translateX(-50%);
	}
	.idx-store-inner {
		justify-content: flex-start;
		grid-template-columns: auto auto 800px;
		gap: 60px;
	}
	.idx-store-cts {
		padding: 60px 30px 0 70px;
	}
}



