/* reset */
html, body, div, span, p, a, img, ul, li, section {
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	margin: 0;
	padding: 0;
	margin-top: 0;
}
ul {
	list-style: none;
}
.container {
	width: 100% !important;
}
a {
	outline: none;
	color: #000;
	text-decoration: none;
}
a:link {
	color: #333;
}
a:hover {
	text-decoration: none;
}
/* global */
section {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.ff {
	font-family: 'Cochin', "GFS Didot", Arial, sans-serif;
}
.fs {
	font-family: 'Times New Roman', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif !important;
}
.fs2 {
	font-family: Didot,Didot LT STD,Hoefler Text,Garamond,Times New Roman,serif;
}
section img {
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
}
/* common */
#pageTop {
	position: fixed;
	bottom: 2vw;
	right: 2vw;
	z-index: 9;
}
#pageTop a {
	display: block;
	z-index: 9;
	padding: 8px;
	border-radius: 0;
	width: 35px;
	height: 35px;
	background-color: #231815;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
}
@media screen and (max-width: 767px) {
   /* SP */
	.pc {
		display: none !important;
   }
}
@media screen and (min-width: 768px) {
   /* PC */
	.sp {
		display: none !important;
   }
	.container {
		padding-right: 0px;
		padding-left: 0px;
		margin-right: auto;
		margin-left: auto;
   }
}

/* FS_page_init */
#header {
   /*はじめの高さを設定*/
	height: 7vw;
	width: 100%;
   /*以下はレイアウトのためのCSS*/
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#header.HeightMin {
	position: fixed;
	z-index: 999;
   /*最前面へ*/
	height: 0px;
	animation: DownAnime 0.5s forwards;
	margin-top: -7vw !important;
}
@keyframes DownAnime {
	from {
		opacity: 0;
		transform: translateY(-14vw);
   }
	to {
		opacity: 1;
		transform: translateY(0);
   }
}
main {
	height: 100%;
	padding: 0 0px;
	background-color: #fff;
	transition: all .5s;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media screen and (max-width: 767px) {
	main {
		margin-top: 0vw;
   }
}
@media screen and (min-width: 768px) {
	main {
		margin-top: 0 !important;
   }
}
@media screen and (min-width: 768px) {
	.container {
		padding-right: 0px;
		padding-left: 0px;
		margin-right: auto;
		margin-left: auto;
   }
}
/* foot */
@media screen and (max-width: 767px) {
	.foot_shop {
		background: #000000;
		color: #fff;
		text-align: center;
		font-size: 2.0vw;
		line-height: 3vw;
		padding: 2vw 0vw 2vw;
   }
	.foot_shop a {
		color: #fff;
   }
	.foot_shop a:hover {
		color: #e5e7ff;
   }
}
@media screen and (min-width: 768px) {
	.foot_shop {
		background: #000000;
		color: #fff;
		text-align: center;
		font-size: 0.7vw;
		line-height: 1.1vw;
		padding: 1vw 0vw 1vw;
   }
	.foot_shop a {
		color: #fff;
   }
	.foot_shop a:hover {
		color: #e5e7ff;
   }
}
/* section */
@media screen and (max-width: 767px) {
	main > section {
		margin-bottom: 15vw;
	}
	.head_kv img {
		height: 100%;
	}
	.sec04 .page_link {
		position: relative;
	}
	.nav_links {
		width: 91vw;
		display: flex;
		justify-content: space-between;
		position: absolute;
		left: 0;
		right: 0;
		top: 26vw;
		margin: auto;
	}
	.nav_links > a {
		width: 30vw;
		height: 48vw;
		display: block;
	}
}

@media screen and (min-width: 768px) {
	main > section {
		margin-bottom: 15vw;
	}
	.head_kv img {
		height: 100%;
	}
	.nav {
		position: relative;
	}
	.nav_links {
		width: 74vw;
		display: flex;
		justify-content: space-between;
		position: absolute;
		left: 0;
		right: 0;
		top: 15vw;
		margin: auto;
	}
	.nav_links > a {
		width: 18vw;
		height: 30vw;
		display: block;
	}
	.item_data {
		margin-left: 3vw;
		margin-right: 2vw;
	}
}
img {
    width: 100%;
    height: auto;
}

/* new life 2026
===================================*/
.kv_cnt,
.sec03_ttl_cnt,
.sec04_ttl_cnt{
    position: relative;
}

@media screen and (min-width:768px){
    h1 {
        width: 100%;
        font-size: 5.4vw;
        font-feature-settings: 'palt';
        font-weight: 600 !important;
        letter-spacing: .06em;
        line-height: 1;
        color: #6f8ca4;
        position: absolute;
        top: 41%;
    }
    h1 span {
        font-size: 6.8vw;
    }
    .sec_ttl {
        font-size: 3.4vw;
        font-feature-settings: 'palt';
        letter-spacing: .08em;
        position: absolute;
    }
    .sec03_ttl_cnt .sec_ttl{
        top: 38.5%;
        left: 31%;
    }
    #nl_sld1 {
        padding: 0 0 10vw;
    }
    .nl_sld_cnt {
        text-align: center;
    }
    .nl_item_nm {
        font-size: 2.4vw;
        letter-spacing: .06em;
        line-height: 1.6;
        white-space: nowrap;
    }
    .nl_item_nm span {
        display: inline-block;
        font-size: 1.7vw;
        background: #6f8ca4;
        color: #fff;
        padding: 0 1.2vw;
    }
    .nl_item_nm_sub {
        font-size: 1.6vw;
        letter-spacing: .06em;
        line-height: 1.5;
    }
    .nl_item_price {
        display: flex;
        justify-content: center;
        align-items: baseline;
        gap: 1vw;
        padding-top: 1vw;
        margin-bottom: 1.5vw;
    }
    .nl_item_price1 {
        font-size: 1.2vw;
        letter-spacing: .04em;
        line-height: 1;
        position: relative;
    }
    .nl_item_price1::after {
        display: inline-block;
        content: '';
        height: .1vw;
        width: 10vw;
        background: #333;
        position: absolute;
        top: 48%;
        right: 0;
        transform: rotate(-6deg);
    }
    .nl_item_price1 span {
        font-size: 1.7vw;
    }
    .nl_item_price2 {
        font-size: 1.2vw;
        letter-spacing: .04em;
        line-height: 1;
    }
    .nl_item_price2 span {
        font-size: 2.6vw;
    }
    .nl_item_link {
        display: block;
        width: 100%;
        border: .13vw solid;
        font-size: 1.7vw;
        letter-spacing: .1em;
        line-height: 2.9;
    }
    .nl_item_note {
        font-size: 1.3vw;
        text-align: left;
        padding-top: .8vw;
    }
    #nl_sld1 .splide__pagination{
        bottom: 14%;
    }
    #nl_sld1 .splide__pagination__page,
    #nl_sld2 .splide__pagination__page {
        background: none;
        border: .13vw solid;
        height: .8vw;
        width: .8vw;
        margin: .5vw;
        opacity: 1;
    }
   #nl_sld1 .splide__pagination__page.is-active,
   #nl_sld2 .splide__pagination__page.is-active {
        background: #333;
        transform: scale(1);
    }
    .sec04_ttl_cnt .sec_ttl{
        top: 40%;
        left: 36%;
    }
    #nl_sld2 {
        background: #edf1f4;
        padding: 0 0 10vw;
    }
    #nl_sld2 .splide__pagination {
        bottom: 15%;
    }
}
@media screen and (max-width: 767px) {
    .col-sm-2,
    .col-sm-8 {
        min-height: 0;
    }
    .wrapper main {
        margin-top: 12vw !important;
    }
    h1 {
        width: 100%;
        font-size: 8vw;
        font-feature-settings: 'palt';
        font-weight: 600 !important;
        letter-spacing: .06em;
        line-height: 1;
        color: #6f8ca4;
        position: absolute;
        top: 41%;
    }
    h1 span {
        font-size: 9.8vw;
    }
    .sec_ttl {
        font-size: 4.9vw;
        font-feature-settings: 'palt';
        letter-spacing: .06em;
        position: absolute;
    }
    .sec03_ttl_cnt .sec_ttl{
        top: 39%;
        left: 31%;
    }
    #nl_sld1 {
        padding: 0 0 13vw;
    }
    .nl_sld_cnt {
        text-align: center;
    }
    .nl_item_nm {
        font-size: 3.5vw;
        letter-spacing: .06em;
        line-height: 1.6;
        white-space: nowrap;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1vw;
    }
    .nl_item_nm span {
        display: inline-block;
        font-size: 2.5vw;
        background: #6f8ca4;
        color: #fff;
        padding: 0 1.5vw;
    }
    .nl_item_nm_sub {
        font-size: 2.2vw;
        letter-spacing: .04em;
        line-height: 1.3;
    }
    .nl_item_price {
        display: flex;
        justify-content: center;
        align-items: baseline;
        gap: 1vw;
        padding-top: 1.5vw;
        margin-bottom: 2vw;
    }
    .nl_item_price1 {
        font-size: 1.8vw;
        letter-spacing: .04em;
        position: relative;
    }
    .nl_item_price1::before {
        display: inline-block;
        content: '';
        height: 1px;
        width: 15vw;
        background: #333;
        position: absolute;
        top: 35%;
        right: 0;
        transform: rotate(-5deg);
    }
    .nl_item_price1 span {
        font-size: 2.6vw;
    }
    .nl_item_price2 {
        font-size: 1.8vw;
        letter-spacing: .04em;
    }
    .nl_item_price2 span {
        font-size: 3.9vw;
        letter-spacing: .04em;
    }
    .nl_item_link {
        display: block;
        width: 100%;
        border: 1px solid;
        font-size: 2.5vw;
        letter-spacing: .13em;
        line-height: 3;
    }
    .nl_item_note {
        font-size: 1.9vw;
        text-align: left;
        padding-top: 1vw;
    }
    #nl_sld1 .splide__pagination__page,
    #nl_sld2 .splide__pagination__page {
        background: none;
        border: 1px solid;
        height: 6px;
        width: 6px;
        margin: 3px;
        opacity: 1;
    }
   #nl_sld1 .splide__pagination__page.is-active,
   #nl_sld2 .splide__pagination__page.is-active {
        background: #333;
        transform: scale(1);
    }
    #nl_sld1 .splide__pagination{
        bottom: 10%!important;
    }
    .sec04_cnt .sec_ttl {
        top: 40%;
        left: 36%;
    }
    #nl_sld2 {
        background: #edf1f4;
        padding: 0 0 13vw;
    }
    #nl_sld2 .splide__pagination {
        bottom: 12% !important;
    }
}