@charset "utf-8";
.headline {
	font-size: 4rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	margin-bottom: 20px;
}
.block_head .inner { max-width: 1130px;}
.block_head .cont { display: flex;}
.block_head .desc {
	padding: 0 10px 0 15.5%;
	width: 51.5%;
	padding-bottom: 130px;
}
.block_head .img { width: 48.5%;}
.block_head .img figure {
	margin: 0 calc(-1 * (100vw - 1100px) / 2 - 8px) 0 0;
	width: calc(100% + (100vw - 1100px) / 2 - 8px);
}
.block_head .ttl {
	color: #47b9d7;
	font-size: 2.6rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
	margin: 12% 0 30px;
}
.block_head .txt {
	font-size: 1.4rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
}
.block_head.reverse .cont { flex-direction: row-reverse;}
.block_head.reverse .img figure { margin: 0 0 0 calc(-1 * (100vw - 1100px) / 2);}
.block_head.reverse .ttl { color: #374152;}
.block_head.reverse .headline { text-align: right;}
.block_head.reverse .desc { padding: 0 0 0 12.5%;}
.block_head .thumbnail {
	display: grid;
	grid-template-columns: 48% auto;
	gap: 75px;
	margin-top: 60px;
	padding-left: 70px;
}
.block_head .thumbnail .image_left {
	padding-right: 30px;
	margin-top: -120px;
}
.block_head .thumbnail .image_right { max-width: 230px;}
@media only screen and (max-width: 1130px) {
	.block_head .img figure {
		margin: 0 -15px 0 0;
		width: calc(100% + 15px);
	}
    .block_head.reverse .img figure { margin: 0 0 0 -15px;}
	.block_head .ttl { margin: 10px 0 20px;}
}
@media only screen and (max-width: 1024px) {
	.block_head .ttl {
		font-size: 1.8rem;
		margin: 0 0 10px;
	}
	.block_head .txt {
		font-size: 1.2rem;
		letter-spacing: 0.01em;
	}
    .block_head .desc { padding: 0 10px 0 10%;}
    .block_head.reverse .desc { padding: 0 0 0 10%;}
	.block_head .thumbnail .image_left { margin-top: -30px;}
}
@media only screen and (max-width: 767px) {
	.notes { letter-spacing: 0.05em;}
	.headline {
		font-size: 2.4rem;
		text-align: center;
		margin-bottom: 10px;
	}
	.block_head .cont { display: block;}
	.block_head .desc {
		text-align: center;
		margin-bottom: 20px;
		padding: 0;
		width: 100%;
	}
	.block_head .img { width: 100%;}
    .block_head .img figure { 
        width: calc(100% + 30px);
        margin-left: -15px;
        margin-right: -15px;
    }
	.block_head.reverse .headline { text-align: center;}
	.block_head .thumbnail {
		gap: 30px;
		margin-top: 30px;
		padding-left: 0;
	}
	.block_head .thumbnail .image_left {
		padding-right: 0;
		margin-top: 0;
	}
}
/* sec_variation */
.ov_link {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 99;
}
.list_type {
	display: flex;
    justify-content: center;
    margin: 0 -15px;
	position: relative;
	z-index: 1;
}
.list_type li {
    padding: 0 15px;
	width: calc(100%/3);
}
.list_type li .wrap {
	color: #fff;
	background-color: #2c3340;
	display: block;
	padding: 40px 40px 50px;
    transition: all 0.3s;
    position: relative;
	height: 100%;
}
.list_type li .wrap::before {
	content: "";
	background: url("../imgs/bg_type.png") no-repeat center center / cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.list_type li .wrap a { z-index: 3;}
.list_type li .wrap a:hover { opacity: 1;}
.list_type li .wrap::after {
	content: "";
	width: 100%;
	height: 100%;
	z-index: 1;
	background: rgba(71, 185, 215, .6);
	opacity: 0;
	transition: all .3s;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.list_type li .wrap .cont {
	position: relative;
	z-index: 2;
}
.list_type li .wrap .name {
	font-size: 3rem;
	font-size: 2.2rem;
	letter-spacing: 0.06em;
	line-height: 1;
    display: flex;
    align-items: baseline;
    margin-bottom: 5px;
    position: relative;
	color: #47b9d7;
	transition: all .3s;
}
.list_type li .wrap .name > span {
	font-size: 200%;
    margin-right: 15px;
}
.list_type li .wrap .spec {
	font-size: 2rem;
	font-size: 2.6rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
    position: relative;
}
.list_type li .wrap .spec .big { font-size: 220%;}
.list_type li .wrap .spec .large { font-size: 150%;}
.list_type li .wrap .spec .medium { font-size: 120%;}

.list_type li .wrap .exclusive {
	font-size: 1.2rem;
    letter-spacing: 0.1em;
    position: relative;
	line-height: 1.2;
}
.list_type li .wrap .exclusive .big { font-size: 250%; font-size: 300%}
.list_type li .wrap .exclusive .large { font-size: 184%;font-size: 200%;}
.list_type li .wrap .exclusive .medium { font-size: 150%;}
.list_type li .wrap .desc {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 2.2;
	margin-top: 55px;
}
.list_type li .wrap:hover::after { opacity: 1;}
.list_type li .wrap:hover .name { color: #2c3340;}
.list_type .slick-track { display: flex !important;}
.list_type .slick-slide { height: inherit !important;}
.list_type .slick-arrow {
    height: 25px;
    width: 25px;
}
.list_type .slick-next { right: -60px;}
.list_type .slick-prev { left: -60px;}
.list_type .slick-arrow:before {
    content: "";
    display: block;
    z-index: 2;
    height: 100%;
    width: 100%;
	border: solid #2c3340;
	border-width: 0 2px 2px 0;
	display: inline-block;
	padding: 2px;
}
.list_type .slick-arrow::before { 
	transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
.list_type .slick-next::before {
    transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
@media screen and (max-width: 1400px) {
    .list_type .slick-next { right: -20px;}
    .list_type .slick-prev { left: -20px;}
}
@media screen and (max-width: 1300px) {
    .list_type { padding: 0 30px;}
    .list_type .slick-next { right: 15px;}
    .list_type .slick-prev { left: 15px;}
	.list_type li .wrap { padding: 30px;}
	.list_type li .wrap .desc {
		font-size: 1.2rem;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 1024px) {
	.list_type { margin: 0 -8px;}
	.list_type li { padding: 0 8px;}
	.list_type li .wrap { padding:  20px 15px 25px}
	.list_type li .wrap .name { font-size: 2.6rem; font-size: 2.2rem;}
	.list_type li .wrap .name span { margin-right: 5px;}
	.list_type li .wrap .spec { 
		font-size: 1.6rem;
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	.list_type li .wrap .exclusive { font-size: 1rem;}
	.list_type li .wrap .desc { 
		font-size: 1rem; 
		letter-spacing: 0;
		line-height: 1.8;
		margin: 20px -5px 0 0;
	}
	.list_type .slick-next { right: 10px;}
    .list_type .slick-prev { left: 10px;}
}
@media screen and (max-width: 767px) {
	.list_type { padding: 0 30px;}
    .list_type li .wrap { text-align: center;}
    .list_type li .wrap .name { justify-content: center;}
	.list_type li .wrap .desc { margin: 20px 0 0 0;}
}

.sec_plan { padding: 200px 0 120px;}
@media screen and (max-width: 1024px) {
	.sec_plan { padding: 100px 0 100px!important;}
}
@media screen and (max-width: 767px) {
	.sec_plan { padding: 60px 0 60px!important;}
}
.sec_variation { padding: 205px 0 205px;}
.sec_variation .headline { margin-bottom: 80px;}
.sec_variation.bg02::after {
    content: "";
    background: url(../imgs/variation_bg02.png) no-repeat bottom left / contain;
    position: absolute;
	left: 0;
	right: auto;
	width: 33%;
	height: 100%;
	bottom: 0;
}
@media screen and (max-width: 1024px) {
	.sec_variation .headline { margin-bottom: 40px;}
}
@media screen and (max-width: 767px) {
	.sec_variation .headline { margin-bottom: 30px;}
}
/* */
.mt50{margin-top: 50px;}
.notes {
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.w1000 { max-width: 1000px;}
@media only screen and (max-width: 767px) {
	.notes { letter-spacing: 0.05em;}
	.casbee{text-align: center;}
}