@charset "utf-8";
/* CSS Document */

/* 特集バナー（1分割・2分割 共通）
------------------------------------------ */
main#mainArea.topPage .gridArea{
	position: relative;
	background: rgba(0,0,0,0.3);
}
main#mainArea.topPage .gridArea .swiperContent.feature .imageArea{
	position: relative;
	overflow: hidden;
}
main#mainArea.topPage .gridArea .swiperContent.feature .imageArea img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
main#mainArea.topPage .gridArea .swiperContent.feature .overlay{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
main#mainArea.topPage .gridArea .swiperContent.feature .textArea{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
main#mainArea.topPage .gridArea .swiperContent.feature .textArea a{
	display: block;
	width: 100%;
	height: 100%;
	color: rgba(255,255,255,1.00);
	background: rgba(0,0,0,0.25);
}
main#mainArea.topPage .gridArea:not(.oneDiv) .swiperContent.feature .textArea a:hover{
	background: rgba(0,0,0,0.35);
	transition: 0.2s;
}
main#mainArea.topPage .gridArea .swiperContent.feature .textContent{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.7;
	text-align: center;
}
main#mainArea.topPage .gridArea .swiperContent.feature .textContent *{
	font-weight: 300;
	white-space: nowrap;
}

/* 特集バナー（1分割）
------------------------------------------ */
main#mainArea.topPage .gridArea.oneDiv .swiperContent.feature .imageArea{
	padding-top: calc(39.92% + 48px);
}
main#mainArea.topPage .gridArea.oneDiv .swiperContent.feature .textContent{
	top: calc(50% - clamp(20px, 15 * (100vw - 768px) / 1152 + 20px, 35px));
	left: 25%;
}
main#mainArea.topPage .gridArea.oneDiv .swiperContent.feature .textContent h2.title{
	font-size: clamp(1.3rem, 1.1 * (100vw - 39rem) / 153 + 1.3rem, 2.4rem);
	margin-bottom: clamp(0.5rem, 0.5 * (100vw - 102.5rem) / 89.5 + 0.5rem, 1rem);
	letter-spacing: 0.2em;
}
main#mainArea.topPage .gridArea.oneDiv .swiperContent.feature .textContent .sub-title{
	font-size: clamp(1rem, 0.2 * (100vw - 102.5rem) / 89.5 + 1rem, 1.2rem);
	margin-bottom: clamp(0.5rem, 0.5 * (100vw - 102.5rem) / 89.5 + 0.5rem, 1rem);
}
main#mainArea.topPage .gridArea.oneDiv .swiperContent.feature .textContent .copy{
	font-size: clamp(1rem, 0.2 * (100vw - 102.5rem) / 89.5 + 1rem, 1.2rem);
}
@media screen and (max-width: 768px) {
main#mainArea.topPage .gridArea.oneDiv .swiperContent.feature .imageArea{
	padding-top: calc(85% + 29px);
}
main#mainArea.topPage .gridArea.oneDiv .swiperContent.feature .textContent{
	top: calc(50% - 20px);
	left: 33.33%;
}
}

/* 特集バナー（2分割）
------------------------------------------ */
main#mainArea.topPage .gridArea.twoDiv .swiperContent.feature .imageArea{
	padding-top: 66.53%;
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.feature .textContent h2.title{
	font-size: clamp(1.3rem, 1.1 * (100vw - 102.5rem) / 89.5 + 1.3rem, 2.4rem);
	margin-bottom: clamp(0.5rem, 0.5 * (100vw - 102.5rem) / 89.5 + 0.5rem, 1rem);
	letter-spacing: 0.2em;
	line-height: 1.5;
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.feature .textContent p{
	margin-bottom: 1.2em;
    margin-top: 1.2em;
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.feature .textContent .sub-title{
	font-size: clamp(1rem, 0.2 * (100vw - 102.5rem) / 89.5 + 1rem, 1.2rem);
	margin-bottom: clamp(0.5rem, 0.5 * (100vw - 102.5rem) / 89.5 + 0.5rem, 1rem);
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.feature .textContent .copy{
	font-size: clamp(1rem, 0.2 * (100vw - 102.5rem) / 89.5 + 1rem, 1.2rem);
}
/* 曇りガラス */
main#mainArea.topPage .gridArea.twoDiv .overlay.frosted{
	background: rgba(255,255,255,0.1);
	
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}
@media screen and (max-width: 1024px) {
main#mainArea.topPage .gridArea.twoDiv .swiperContent.feature .textContent h2.title{
	font-size: clamp(1.3rem, 0.5 * (100vw - 76.8rem) / 25.6 + 1.3rem, 1.8rem);
	margin-bottom: clamp(0.5rem, 0.5 * (100vw - 102.5rem) / 89.5 + 0.5rem, 1rem);
	letter-spacing: 0.2em;
}
}
@media screen and (max-width: 768px) {
main#mainArea.topPage .gridArea.twoDiv .swiperContent.feature .imageArea{
	padding-top: 85%;
}
}

/* バナー画像のみ
------------------------------------------ */
main#mainArea.topPage .gridArea.twoDiv .swiperContent.imgOnly .imageArea{
	padding-top: 66.53%;
	position: relative;
	overflow: hidden;
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.imgOnly .imageArea img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.imgOnly a{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: rgba(255,255,255,1.00);
	background: rgba(0,0,0,0.25);
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.imgOnly a:hover{
	background: rgba(0,0,0,0.35);
	transition: 0.2s;
}
@media screen and (max-width: 768px) {
main#mainArea.topPage .gridArea.twoDiv .swiperContent.imgOnly .imageArea{
	padding-top: 85%;
}
}

/* テキストのみ
------------------------------------------ */
main#mainArea.topPage .gridArea.twoDiv .swiperContent.textOnly {
	padding-top: 66.53%;
	position: relative;
	overflow: hidden;
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.textOnly>a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	color: rgba(0,0,0,1.00);
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.textOnly>a:hover {
	background: rgba(0,0,0,0.1);
	transition: 0.2s;
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.textOnly .textContent{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.5;
	text-align: center;
}
main#mainArea.topPage .gridArea.twoDiv .swiperContent.textOnly .textContent *{
	font-weight: 300;
	white-space: nowrap;
}
@media screen and (max-width: 768px) {
main#mainArea.topPage .gridArea.twoDiv .swiperContent.textOnly {
	padding-top: 85%;
}
}

/* Topic
------------------------------------------ */
main#mainArea.topPage .gridArea.twoDiv .topicArea{
	background: #fff;
	position: relative;
	padding-top: 66.53%;
	overflow: hidden;
}
main#mainArea.topPage .gridArea.twoDiv .topicArea *{
	font-weight: 300;
}
main#mainArea.topPage .gridArea.twoDiv .topicArea a{
	color: rgba(0,0,0,1.00);
}
main#mainArea.topPage .gridArea.twoDiv .topicContent{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.5;
	width: 70%;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent h2{
	text-align: center;
	font-size: clamp(1.3rem, 1.25vw, 2.4rem);
	margin-bottom: 1.5em;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li{
	margin-bottom: 1.5em;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a>dl>dt{
	margin-bottom: 0.3em;
	font-size: clamp(1rem, 0.85vw, 1.3rem);
	color: rgba(0, 0, 0, 0.5);
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a>dl>dd{
	font-size: clamp(1.1rem, 0.85vw, 1.3rem);
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
	letter-spacing: normal;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a:hover>dl>dt{
	color: rgba(0, 0, 0, 0.2);
    transition: 0.2s;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a:hover>dl{
	color: rgba(0, 0, 0, 0.4);
	transition: 0.2s;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent .link a{
	font-size: clamp(1.1rem, 0.85vw, 1.3rem);
	display: inline-block;
	position: relative;
	padding: 0.5em 0.5em 0.5em 1em;
	letter-spacing: normal;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent .link a::before{
	content: "";
    width: 0;
    height: 0;
    border-left: 6px solid rgba(0, 0, 0, 0.2);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
}
@media screen and (max-width: 1024px) {
main#mainArea.topPage .gridArea.twoDiv .topicContent h2{
	font-size: 1.8rem;
	margin-bottom: 10px;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li{
	margin-bottom: 0.5em;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a>dl>dt{
	margin-bottom: 5px;
	font-size: 1.1rem;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a>dl>dd{
	font-size: 1.1rem;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent .link a{
	font-size: 1.1rem;
	padding: 5px 5px 5px 10px;
}
}
@media screen and (max-width: 768px) {
main#mainArea.topPage .gridArea.twoDiv .topicArea{
	padding-top: 85%;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent{
	width: 75%;
	left: calc(50% + 5px);
}
main#mainArea.topPage .gridArea.twoDiv .topicContent h2{
	font-size: 1.2rem;
	margin-bottom: 7px;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li{
	margin-bottom: 0.5em;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a>dl{
	flex-direction: column;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a>dl>dt{
	margin-bottom: 2px;
	font-size: 1rem;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent>ul>li>a>dl>dd{
	font-size: 1rem;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent .link a{
	font-size: 1rem;
	padding: 0 0 0 10px;
}
main#mainArea.topPage .gridArea.twoDiv .topicContent .link a::before{
    border-left: 5px solid rgba(0, 0, 0, 0.2);
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
}
}

/* ブログ部分
------------------------------------------ */
main#mainArea.topPage .gridArea.blogDiv{
	overflow: hidden;
	background: #fff;
}
main#mainArea.topPage .gridArea.blogDiv *{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}
main#mainArea.topPage .gridArea.blogDiv a{
	color: rgba(0,0,0,1.00);
}
main#mainArea.topPage .gridArea.blogDiv .content_01{
	margin-top: clamp(45px, 4.16vw, 80px);
	margin-bottom: clamp(45px, 3.64vw, 70px);
}
main#mainArea.topPage .gridArea.blogDiv .content_02{
	margin-top: clamp(45px, 4.16vw, 80px);
	margin-bottom: clamp(45px, 3.64vw, 70px);
}
main#mainArea.topPage .gridArea.blogDiv .content_03{
	margin-top: clamp(45px, 4.16vw, 80px);
	margin-bottom: clamp(45px, 3.64vw, 70px);
}
main#mainArea.topPage .gridArea.blogDiv h2.title{
	font-size: clamp(1.3rem, 0.833vw, 1.6rem);
	margin-bottom: 1.25em;
	padding-left: clamp(45px, 4.68vw, 90px);
}
main#mainArea.topPage .gridArea.blogDiv h2.title>a{
	font-size: clamp(1rem, 0.85vw, 1.2rem);
	position: relative;
	display: inline-block;
	padding-left: 12px;
	margin-left: 20px;
	white-space: nowrap;
}
main#mainArea.topPage .gridArea.blogDiv h2.title>a:hover{
	color: rgba(0, 0, 0, 0.4);
    transition: 0.3s;
}
main#mainArea.topPage .gridArea.blogDiv h2.title>a::before{
	content: "";
    width: 0;
    height: 0;
    border-left: clamp(4px, 2*(100vw - 1024px) / 896 + 4px, 6px) solid rgba(0, 0, 0, 0.15);
    border-top: clamp(3px, 1*(100vw - 1024px) / 896 + 3px, 4px) solid transparent;
    border-bottom: clamp(3px, 1*(100vw - 1024px) / 896 + 3px, 4px) solid transparent;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
}
main#mainArea.topPage .gridArea.blogDiv .swiper{
	padding-left: clamp(45px, 4.68vw, 90px);
} 
main#mainArea.topPage .gridArea.blogDiv .swiper:nth-of-type(1){
	margin-bottom: 40px;
}
main#mainArea.topPage .gridArea.blogDiv .swiper li.swiper-slide{
	margin-top: 10px;
} 
main#mainArea.topPage .gridArea.blogDiv .swiper dl{
	position: relative;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dt.image{
	position: relative;
	overflow: hidden;
	padding-top: 66.07%;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dt.image span.image-inner{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dt.image img{
	display: block;
	width: 100%;
	height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dt.image span.overlay{
	position: absolute;
	left: 0;
	top:0;
	display: block;
	background: rgba(0,0,0,0.2);
	width: 100%;
	height: 100%;
}
main#mainArea.topPage .gridArea.blogDiv a:hover dt.image span.overlay{
	background: rgba(0,0,0,0.35);
	transition: 0.2s;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.icon{
	position: absolute;
	left: 5px;
	top: -5px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #be956d;
	font-size: 1rem;
	z-index: 10;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.icon span.icon-inner{
	display: inline-block;
	white-space: nowrap;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,1.00);
	line-height: 1.2;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	text-align: center;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.date{
	font-size: clamp(1rem, 0.85vw, 1.1rem);
	margin-top: 1.2em;
	margin-bottom: 0.7em;
	letter-spacing: 0.08em;
	color: rgba(0,0,0,0.5);
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.date span.year::after{
	content: ".";
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.date span.month::after{
	content: ".";
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.title{
	line-height: 1.6;
	font-size: clamp(1rem, 0.85vw, 1.2rem);
	margin-top: 0.7em;
	letter-spacing: 0.08em;
	display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 2; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */
}
/* 新着情報 */
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo{
	width: calc(100% - 40px * 2);
	max-width: 600px;
	margin: 0 auto;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo h2.title{
	font-size: clamp(1.3rem, 0.833vw, 1.6rem);
	padding-bottom: 20px;
    margin-bottom: 30px;
	border-bottom: 1px solid rgba(0,0,0,0.25);
	padding-left: 0;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul{
	height: 150px;
	overflow: auto;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul>li{
	margin-bottom: 1.5em;
	font-size: 1.3rem;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul>li>dl{
	display: flex;
	line-height: 1.5;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul>li>dl>dt{
	white-space: nowrap;
	color: #888888;
	margin-right: 30px;
	flex-basis: auto;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul>li>dl>dd{
	flex: 1;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul::-webkit-scrollbar {
	background: rgba(0,0,0,0.1);
	width:5px;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul::-webkit-scrollbar-thumb {
	background: rgba(0,0,0,0.5);
}
@media screen and (max-width: 1024px) {
main#mainArea.topPage .gridArea.blogDiv h2.title{
	padding-left: 65px;
}
main#mainArea.topPage .gridArea.blogDiv .swiper{
	padding-left: 65px;
} 
}
@media screen and (max-width: 768px){
main#mainArea.topPage .gridArea.blogDiv h2.title{
	font-size: 1.3rem;
	margin-bottom: 10px;
	padding-left: 35px;
}
main#mainArea.topPage .gridArea.blogDiv h2.title span{
	display: none;
}
main#mainArea.topPage .gridArea.blogDiv .swiper{
	padding-left: 35px;
	padding-right: 20px;
} 
main#mainArea.topPage .gridArea.blogDiv .swiper:nth-of-type(1){
	margin-bottom: 30px;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.icon{
	left: 3px;
	top: -4px;
	width: 27px;
	height: 27px;
	font-size: 1rem;
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.icon span.icon-inner{
	-webkit-transform : translate(-50%,-50%)scale(0.7);
	transform : translate(-50%,-50%)scale(0.7);
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.date{
	font-size: 1rem;
	margin-top: 10px;
	margin-bottom: 5px;
	margin-left: -15px;
	-webkit-transform:scale(0.8);
	transform:scale(0.8);
}
main#mainArea.topPage .gridArea.blogDiv .swiper dl dd.title{
	font-size: 1rem;
	margin-top: 5px;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo{
	width: calc(100% - 35px * 2);
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo h2.title{
	padding-bottom: 1em;
    margin-bottom: 1em;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul>li{
	margin-bottom: 1em;
	font-size: 1.1rem;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul>li>dl{
	flex-direction: column;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul>li>dl>dt{
	margin-right: 0;
	margin-bottom: 0.5em;
}
main#mainArea.topPage .gridArea.blogDiv .newItemAndInfo>ul::-webkit-scrollbar {
	width:2px;
}
}