/* 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 -------------------------------------------------------------- */
@media screen and (max-width: 767px) {
	#pageTop2 {
		position: fixed;
		bottom: 3vw;
		right: 2vw;
		z-index: 10000;
	}
}

@media screen and (min-width: 768px) {
	#pageTop2 {
		position: fixed;
		bottom: 2vw;
		right: 2vw;
		z-index: 10000;
	}
}

#pageTop2 {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s ease, visibility .3s ease;
}

#pageTop2.is-show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

#pageTop2 img {
	width: 100%;
}

#pageTop2 a {
	display: block;
	padding: 8px;
	width: 35px;
	height: 35px;
	background: #231815;
	text-align: center;
}

#pageTop2 a:hover {
	background: #fff;
}


#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: 5%;
	}
	.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: 5%;
	}
	.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,
.sec02_01,
.sec02_02,
.sec02_03,
.sec03_01,
.sec0_01_item,
.sec07_01_foot{
    position: relative;
}

@media screen and (min-width:768px){
    h1 {
		width: 100%;
	    font-size: 3.3vw;
    	font-feature-settings: 'palt';
	    font-weight: 400 !important;
	    letter-spacing: .26em;
    	line-height: 1.5;
	    color: #ffffff;
    	position: absolute;
	    top: 11%;
    }
	.sec02{
		padding-bottom: 8%;
	}
	.sec02_01_ttl {
		position: absolute;
		bottom: 11%;
		color: #ffffff;
		font-size: 3.1vw;
		line-height: 1.5;
		text-align: center;
		left: 0;
		right: 0;
		margin: 0 auto;
		font-weight: 500;
		letter-spacing: 0.08em;
	}
	.sec02_01_ttl span{
		border-bottom: 3px solid #fff;
		padding-bottom: 0.5vw;
	}
	.sec02_02_ttl,
	.sec02_03_ttl {
        position: absolute;
	    bottom: 11%;
    	color: #34588b;
	    font-size: 3.5vw;
    	line-height: 1.3;
	    left: 0;
    	right: 0;
	    margin: 0 auto;
    	text-align: center;
	    letter-spacing: 0.07em;
	}
	.sec02_02b,
	.sec02_03b{
		padding:0vw 4.5vw;
	}
	.sec02_02b img,
	.sec02_03b img{
		width: 100%;
		height: auto;
	}
	.sec02_02b_img span,
	.sec02_03b_img span{
		position: absolute;
		clip: rect(0 0 0 0);
	}
	.sec02_03b_txt{
		font-size: 1.1vw;
    	line-height: 1.5;
	    padding: 1vw 0vw;
	    color: #666;
	}
	.sec03_01{
		background: linear-gradient(to bottom, transparent 50%, #dfe4eb 50%);
		padding-bottom: 6%;
	}
	.sec03_01 img{
		width: 100%;
		height: auto;
	}
	.sec03_01_link{
		display: grid;
	    grid-template-columns: repeat(3, 1fr);
    	gap: 1vw;
	    position: absolute;
    	bottom: 23%;
	    height: 49%;
    	width: 100%;
	    padding: 0 3.5vw;
	}
	.sec03_01_link a:hover,
	.sec03_01_link a:focus,
	.sec03_01_link a:active{
		background: #ffffff2e;
	}
	.sec04_01,
	.sec05_01,
	.sec06_01 {
		background:#dfe4eb;
		padding: 5% 6%;
	}
	.sec0_01_ttl1{
		background: #fff;
	    padding: 0.5vw 1vw;
    	text-align: center;
	    width: 40%;
    	margin: 0 auto;
    	line-height: 1;
	    font-size: 2.1vw;
    	letter-spacing: 0.1em;
	    color: #103a77;
    	margin-bottom: 7%;
	}
	.sec0_01_ttl2{
		text-align: center;
	    color: #103a77;
    	font-size: 2.75vw;
	    line-height: 1.6;
    	letter-spacing: 0.05em;
	    padding: 0vw 0vw 4vw;
	}
	.sec0_01_icn{
		width: 6%;
		margin: 0 auto;
		margin-bottom: 8%;
	}
	.sec0_01_icn img{
		width: 100%;
		height: auto;
	}
	.sec0_01_item{
	}
	.sec0_01_item_ttl,
	.sec0_01_item_ttl_hfbp,
	.sec0_01_item_ttl_alt,
	.sec0_01_item_ttl_aq,
	.sec0_01_item_ttl_al{
		position: absolute;
	    top: 51%;
    	font-size: 3.2vw;
	    color: #1c1c1c;
    	line-height: 1;
	    letter-spacing: 0.1em;
    	transform: scaleY(0.9);
	    display: inline-block;
    	left: 5.5%;
	}
	.sec0_01_item_ttl_hfbp{
	    top: 53%;
	}
	.sec0_01_item_ttl_alt{
	    top: 47.5%;
	}
	.sec0_01_item_ttl_aq{
	    top: 53%;
		left:6.5%;
	}
	.sec0_01_item_ttl_al{
	    top: 51%;
		left:6.0%;
	}
	.sec0_01_item_ttl sup,
	.sec0_01_item_ttl_hfbp sup{
		font-size:2vw;
	}
	.sec0_01_link{
		display: block;
		padding: 5% 11% 11%;
	}	
	.sec0_01_link img{
		width: 100%;
		height: auto;
		opacity: 1.0;
		transition: opacity 0.3s ease;
	}
	.sec0_01_link img:hover,
	.sec0_01_link img:focus{
		opacity: 0.5;
	}
	.sec06_02{
		border-top: 1px solid #666666;
	    color: #000000;
    	font-size: 1.5vw;
	    line-height: 1.7;
    	padding: 2vw 0vw;
	    font-weight: lighter;
	}
	.sec07_01_foot_ttl{
        position: absolute;
		top: 27%;
		font-size: 3.5vw;
	    color: #ffffff;
    	line-height: 1.5;
	    text-align: center;
    	letter-spacing: 0.14em;
	    margin: 0 auto;
    	left: 0;
	    right: 0;
	}
}
@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: 5.2vw;
    	font-feature-settings: 'palt';
	    font-weight: 400 !important;
	    letter-spacing: .26em;
    	line-height: 1.5;
	    color: #ffffff;
    	position: absolute;
	    top: 11%;
    }
	.sec02{
		padding-bottom: 8%;
	}
	.sec02_01_ttl {
		position: absolute;
		bottom: 11%;
		color: #ffffff;
		font-size: 4.5vw;
		line-height: 1.5;
		text-align: center;
		left: 0;
		right: 0;
		margin: 0 auto;
		font-weight: 500;
		letter-spacing: 0.08em;
	}
	.sec02_01_ttl span{
		border-bottom: 2px solid #fff;
		padding-bottom: 0.7vw;
	}
	.sec02_02_ttl,
	.sec02_03_ttl {
        position: absolute;
	    bottom: 11%;
    	color: #34588b;
	    font-size: 5.0vw;
    	line-height: 1.3;
	    left: 0;
    	right: 0;
	    margin: 0 auto;
    	text-align: center;
	    letter-spacing: 0.1em;
	}
	.sec02_02b,
	.sec02_03b{
		padding:0vw 4.5vw;
	}
	.sec02_02b img,
	.sec02_03b img{
		width: 100%;
		height: auto;
	}
	.sec02_02b_img span,
	.sec02_03b_img span{
		position: absolute;
		clip: rect(0 0 0 0);
	}
	.sec02_03b_txt{
		font-size: 1.6vw;
	    line-height: 1.5;
    	padding: 1.5vw 0vw 2vw;
	    color: #666;
	}
	.sec03_01{
		background: linear-gradient(to bottom, transparent 50%, #dfe4eb 50%);
		padding-bottom: 6%;
	}
	.sec03_01 img{
		width: 100%;
		height: auto;
	}
	.sec03_01_link{
		display: grid;
	    grid-template-columns: repeat(3, 1fr);
    	gap: 1vw;
	    position: absolute;
    	bottom: 23%;
	    height: 49%;
    	width: 100%;
	    padding: 0 5vw;
	}
	.sec03_01_link a:hover,
	.sec03_01_link a:focus,
	.sec03_01_link a:active{
		background: #ffffff2e;
	}
	.sec04_01,
	.sec05_01,
	.sec06_01 {
		background:#dfe4eb;
		padding: 5% 6%;
	}
	.sec0_01_ttl1{
		background: #fff;
	    padding: 1.0vw 1vw;
    	text-align: center;
	    width: 40%;
    	margin: 0 auto;
	    line-height: 1;
    	font-size: 3.0vw;
	    letter-spacing: 0.15em;
    	color: #103a77;
	    margin-bottom: 8%;
	}
	.sec0_01_ttl2{
		text-align: center;
	    color: #103a77;
    	font-size: 4.2vw;
	    line-height: 1.6;
    	letter-spacing: 0.05em;
	    padding: 0vw 0vw 5vw;
	}
	.sec0_01_icn{
		width: 6%;
		margin: 0 auto;
		margin-bottom: 8%;
	}
	.sec0_01_icn img{
		width: 100%;
		height: auto;
	}
	.sec0_01_item{
	}
	.sec0_01_item_ttl,
	.sec0_01_item_ttl_hfbp,
	.sec0_01_item_ttl_alt,
	.sec0_01_item_ttl_aq,
	.sec0_01_item_ttl_al{
		position: absolute;
	    top: 51%;
    	font-size: 4.5vw;
	    color: #1c1c1c;
    	line-height: 1;
	    letter-spacing: 0.1em;
    	transform: scaleY(0.9);
	    display: inline-block;
    	left: 5.5%;
	}
	.sec0_01_item_ttl_hfbp{
	    top: 53%;
	}
	.sec0_01_item_ttl_alt{
	    top: 47.5%;
	}
	.sec0_01_item_ttl_aq{
	    top: 53%;
		left:6.5%;
	}
	.sec0_01_item_ttl_al{
	    top: 51%;
		left:6.0%;
	}
	.sec0_01_item_ttl sup,
	.sec0_01_item_ttl_hfbp sup{
		font-size:3vw;
	}
	.sec0_01_link{
		display: block;
		padding: 5% 11% 11%;
	}	
	.sec0_01_link img{
		width: 100%;
		height: auto;
		opacity: 1.0;
		transition: opacity 0.3s ease;
	}
	.sec0_01_link img:hover,
	.sec0_01_link img:focus{
		opacity: 0.5;
	}
	.sec06_02{
		border-top: 1px solid #666666;
	    color: #000000;
    	font-size: 2.4vw;
	    line-height: 1.7;
    	padding: 2vw 0vw 0vw;
	    font-weight: 200;
	}
	.sec07_01_foot_ttl{
        position: absolute;
		top: 27%;
		font-size: 5.5vw;
	    color: #ffffff;
    	line-height: 1.4;
	    text-align: center;
    	letter-spacing: 0.14em;
	    margin: 0 auto;
    	left: 0;
	    right: 0;
	}

}



