@charset 'UTF-8';

/* ================================================ */
/* effect
------------------------------------------------------ */
/*page transition*/
.page-transition-ani .page-transition-ani-bg {
	background: #000;
	display: block;
	content: "";
	position: fixed;
	z-index: 999999;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	animation-duration: 0.4s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	animation-name: PageAnime-transition;
}
@keyframes PageAnime-transition {
	0% {
		transform-origin: bottom;
		transform: scaleY(1);
	}
	0.001% {
		transform-origin: top;
	}
	100% {
		transform-origin: top;
		transform: scaleY(0);
	}
}

.pta-before.is-active .page-transition-ani-bg {
	background: #000;
	display: block;
	content: "";
	position: fixed;
	z-index: 999999;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	animation-duration: 0.4s;
	animation-timing-function: ease-in;
	animation-fill-mode: forwards;
  animation-name: PageAnime-before;
}
@keyframes PageAnime-before {
	0% {
		transform-origin: bottom;
		transform: scaleY(0);
	}
	100% {
		transform-origin: bottom;
		transform: scaleY(1);
	}
}

/*ani line*/
.common-ani-line{
	opacity: 0;
	width: 0;
	height: 1px;
}
.common-ani-line.on,.on .common-ani-line,.common-ani-line.cal-visible{
	width: 100%;
	opacity: 0.6;
}
@media screen and (max-width: 1199px){
	.common-ani-line{
		transition: width 1s ease-out;
	}
}
@media screen and (min-width: 1200px){
	.common-ani-line{
		transition: width 1.6s ease-out;
	}
}

/*ストーカー*/
#js-cursor{
    pointer-events: none;
    position: fixed;
    background-color:rgba(60,60,60,0.80);
    border-radius: 50%;
    transform: translate(0,0);
    z-index: 10000;
    opacity: 0;
    transition: opacity 0.3s ease-out,width 0.3s ease-in-out,height 0.3s ease-in-out,line-height 0.3s ease-in-out;
	text-align: center;
}
#js-cursor::before{
	content: "More";
	color: #fff;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 1199px){
	#js-cursor{
		top: -4rem; 
		left: -4.5rem;
		width: 5rem;
		height: 5rem;
		line-height: 5rem;
	}
	#js-cursor.js-hover{
		width: 7rem;
		height: 7rem;
		line-height: 7rem;
	}
	#js-cursor::before{
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1200px){
	#js-cursor{
		top: -8rem; 
		left: -9rem;
		width: 10rem;
		height: 10rem;
		line-height: 10rem;
	}
	#js-cursor.js-hover{
		width: 14rem;
		height: 14rem;
		line-height: 14rem;
	}
	#js-cursor::before{
		font-size: 1.7rem;
	}
}

/* tgl footer 共通
----------------------------------------------------------------------------------------------------*/
.common-tgl-footer-list{
	padding-left: 0;
	margin-bottom: 0;
}
.common-tgl-footer-list>li{
	list-style: none;
}
.common-tgl-footer-list>li a{
	text-decoration: none;
	color: #787878;
}
@media screen and (max-width: 1199px){
	.common-tgl-footer-list>li{
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1200px){
	.common-tgl-footer-list>li{
		font-size: 1.4rem;
	}
}

/* last
--------------------------- */
.common-tgl-footer-last a{
	transition: .3s;
}
.common-tgl-footer-last a:hover{
	opacity: 0.6;
}
@media screen and (min-width:576px) and (max-width:1199px){
	.ctfl-linkblank-list li:not(:last-of-type){
		margin-right: 4rem;
	}
}
@media screen and (max-width: 1199px){
	.common-tgl-footer-last{
		padding-top: 6rem;
		padding-bottom: 7rem;
	}
}
@media screen and (min-width: 1200px){
	.common-tgl-footer-last{
		padding-top: 10rem;
		padding-bottom: 10rem;
	}
	.ctfl-linkblank-list li:not(:last-of-type){
		margin-right: 3rem;
	}
}
/*上*/
.common-tgl-footer-last-add-linkblank-wrap{
	margin-bottom: 4rem;
}
.ctfl-linkblank-list{
	margin-bottom: 0;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
}
.ctfl-linkblank-list li{
	list-style: none;
	font-size: 1.3rem;
}
.ctfl-linkblank-list li a{
	text-decoration: none;
	color: #787878;
	padding-right: 2rem;
	background-image: url("../images/arrow/arrow-link.svg");
	background-repeat: no-repeat;
	background-position: center right;
	background-size: 1rem;
}
@media screen and (min-width: 768px){
	.common-tgl-footer-last-add-linkblank-wrap{
		display: flex;
		justify-content: space-between;
	}
	.ctfl-add{
		letter-spacing: 0.05em;
	}
}
@media screen and (min-width:768px) and (max-width:1199px){
	.ctfl-add{
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1200px){
	.ctfl-add{
		font-size: 1.4rem;
	}
	/*list*/
	.ctfl-linkblank-list li:not(:last-of-type){
		margin-right: 3rem;
	}
}
/*下*/
.ctfl-sns-wrap{
	display: flex;
}
.ctfl-sns-item{
	width: 5rem;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
}
@media screen and (min-width: 576px){
	.common-tgl-footer-last-sns-copy-wrap{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.ctfl-sns-wrap{
		order: 2;
		margin-right: -2rem;
		margin-left: -1.5rem;
	}
	/*copy*/
	.ctfl-copy{
		order: 1;
		line-height: 1;
	}
}
@media screen and (max-width: 1199px){
	/*copy*/
	.ctfl-copy{
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1200px){
	/*copy*/
	.ctfl-copy{
		font-size: 1.3rem;
	}
}
/* ================================================ */
/* swiper arrow
------------------------------------------------------ */
.common-arrow{
	position: relative;
	border-width: 1px;
	border-style: solid;
	transition: .3s;
	border-radius: 1.5rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.common-simple-arrow{
	position: relative;
	text-align: center;
}
.common-arrow-prev svg{
	-webkit-transform: rotate(180deg);
	        transform: rotate(180deg);
}
.common-arrow .arrow-slide-icon,.common-simple-arrow .arrow-slide-icon{
	fill: none;
	stroke-miterlimit: 10;
	stroke-width: 2px;
	transition: .3s;
}
@media screen and (max-width: 1199px){
	.common-arrow{
		width: 5rem;
		height: 2rem;
	}
	.common-arrow svg,.common-simple-arrow svg{
		width: 1.2rem;
	}
	.common-simple-arrow{
		width: 2.2rem;
	}
}
@media screen and (min-width: 1200px){
	.common-arrow{
		width: 8rem;
		height: 3rem;
	}
	.common-simple-arrow{
		width: 2.5rem;
	}
	.common-arrow svg,.common-simple-arrow svg{
		width: 1.5rem;
	}
}
/*common-arrow bc000*/
.common-arrow.bc-000{
	border-color: #000;
}
.common-arrow.bc-000:hover{
	background-color: #fff;
}
.common-arrow.bc-000 .arrow-slide-icon {
	stroke: #fff;
}
.common-arrow.bc-000:hover .arrow-slide-icon {
	stroke: #000;
}
/*common-simple-arrow c000*/
.common-simple-arrow.c-000 .arrow-slide-icon {
	stroke: #000;
	opacity: 0.6;
}

/* ================================================ */
/* swiper pagenation
------------------------------------------------------ */
.common-swiper-pagenation{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.common-swiper-pagenation .swiper-pagination-bullet{
	display: block;
	width: 1.9rem;
}
.common-swiper-pagenation .swiper-pagination-bullet::before{
	content: " ";
	display: block;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	border: 1px;
	border-style: solid;
	margin-right: auto;
	margin-left: auto;
	transition: .3s;
}
/*bc000*/
.bc-000 .common-swiper-pagenation .swiper-pagination-bullet{
	border-color: #fff;
}
.bc-000 .common-swiper-pagenation .swiper-pagination-bullet.swiper-pagination-bullet-active::before{
	background-color: #fff;
}
/*bcfff*/
.bc-fff .common-swiper-pagenation .swiper-pagination-bullet{
	border-color: #000;
}
.bc-fff .common-swiper-pagenation .swiper-pagination-bullet.swiper-pagination-bullet-active::before{
	background-color: #000;
}

/* ================================================ */
/* swiper fadezoom ani
------------------------------------------------------ */
@-webkit-keyframes zoom {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
@keyframes zoom {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

/* トップと下層共通
----------------------------------------------------------------------------------------------------*/
/* ================================================ */
/* HOUSE STUDIO トップページ/施工事例フッター
------------------------------------------------------ */
.top-studio-txt-wrap{
	display: flex;
	justify-content: space-between;
}
.top-studio-txt-tel-btn{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.top-studio-txt-ttl{
	padding-bottom: 1rem;
}
@media screen and (max-width: 767px){
	.top-studio-ttl+.common-row .common-col:not(:last-of-type){
		margin-bottom: 4.6rem;
	}
}
@media screen and (max-width: 1199px){
	.top-studio-ttl{
		margin-bottom: 6rem;
	}
	.top-studio-img{
		margin-bottom: 3rem;
	}
}
@media screen and (min-width: 1200px){
	.top-studio-ttl{
		margin-bottom: 14rem;
	}
	.top-studio-img{
		margin-bottom: 4rem;
	}
	/*txt*/
	.top-studio-txt-ttl{
		padding-left: 1.666666666666667%;
	}
	.top-studio-txt-ttl .top-common-e-ttl{
		margin-bottom: 1.6rem;
	}
}
/* ================================================ */
/* BUILDING A HOUSE トップページsp/コンセプト
------------------------------------------------------ */
@media screen and (min-width:768px) and (max-width:991px){
	.top-house-inner{
		display: flex;
		flex-wrap: wrap;
		margin-right: -1.6rem;
		margin-left: -1.6rem;
	}
	.top-house-item{
		width: 50%;
		padding-right: 1.6rem;
		padding-left: 1.6rem;
	}
	.top-house-item:nth-of-type(2)>.h-100{
		border-top: 1px rgba(70,70,70,0.60) solid;
	}
}
@media screen and (max-width: 991px){
	.top-house-item>.h-100{
		padding-top: 4rem;
		padding-bottom: 3rem;
	}
	.top-house-item:first-of-type>.h-100{
		border-top: 1px rgba(70,70,70,0.60) solid;
	}
	.top-house-item-img{
		margin-bottom: 3.2rem;
	}
	.top-house-txt-main{
		padding-top: 3rem;
		margin-bottom: 2.4rem;
	}
}
@media screen and (max-width: 1199px){
	.top-house-ttl{
		margin-bottom: 5rem;
	}
}
@media screen and (min-width: 1200px){
	.top-house-ttl{
		margin-bottom: 13rem;
	}
}
/* ================================================ */
/* TWO MODEL HOUSE トップページ/モデルハウス
------------------------------------------------------ */
.top-model-block-img{
	overflow: hidden;
}
.top-model-block-img img{
	transform: scale(1.4);
	transition: 2s ease-out;
}
.on .top-model-block-img img{
	transform: scale(1);
}
@media screen and (max-width: 767px){
	.top-model-block-img{
		margin-bottom: 3rem;
	}
}
@media screen and (min-width: 768px){
	.top-model-block{
		display: flex;
		align-items: center;
	}
	.top-model-block-img{
		width: 59.74025974025974%;
	}
	.tmb-pc-order-2{
		order: 2;
	}
	/*txt*/
	.top-model-block-txt{
		width: 40.25974025974026%;
	}
	.top-model-block-txt.tmb-pc-order-1{
		padding-right: 5%;
		order: 1;
	}
}
@media screen and (min-width:768px) and (max-width:991px){
	/*txt*/
	.top-model-block-txt{
		padding-left: 5%;
	}
	.top-model-block-txt.tmb-pc-order-1{
		padding-left: 0;
	}
}
@media screen and (min-width: 992px){
	/*txt*/
	.top-model-block-txt{
		padding-left: 10.38961038961039%;
	}
	.top-model-block-txt.tmb-pc-order-1{
		padding-left: 7.792207792207792%;
	}
}
@media screen and (max-width: 1199px){
	/*txt*/
	.top-model-block-txt .top-common-e-ttl{
		margin-bottom: 2.6rem;
	}
	.top-model-block-txt .top-common-min-ttl{
		margin-bottom: 0.8rem;
		letter-spacing: 0.07em;
	}
	.top-model-block-txt .pc-fsize-18{
		margin-bottom: 2.4rem;
	}
}
@media screen and (min-width: 1200px){
	/*txt*/
	.top-model-block-txt .top-common-e-ttl{
		margin-bottom: 9rem;
	}
	.top-model-block-txt .pc-fsize-18{
		margin-bottom: 8rem;
	}
}

/* ================================================ */
/* 複数の投稿で共通
------------------------------------------------------ */
.common-works-post-dl{
	display: flex;
	margin-bottom: 0;
	flex-wrap: wrap;
	line-height: 1.6;
}
.common-works-post-dl dt{
	padding-right: 0.2em;
	margin-bottom: 0;
}
.common-works-post-dl dd{
	margin-bottom: 0;
}
@media screen and (max-width: 1199px){
	.common-works-post-ttl+.common-works-post-dl{
		padding-top: 2.4rem;
	}
	.common-works-post-dl dt{
		width: 7.5rem;
	}
	.common-works-post-dl dd{
		width: calc(100% - 7.5rem);
	}
}
@media screen and (min-width: 1200px){
	.common-works-post-dl{
		font-size: 1.4rem;
	}
	.common-works-post-ttl+.common-works-post-dl{
		padding-top: 4rem;
	}
	.common-works-post-dl dt{
		width: 6.285714285714286em;
	}
	.common-works-post-dl dd{
		width: calc(100% - 6.285714285714286em);
	}
}

/* ================================================ */
/* ABOUT US 固定ページ共通
------------------------------------------------------ */
/*contents*/
.top-about-txt-wrap{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.top-about-txt-ttl{
	padding-bottom: 1rem;
}
.top-about-item>a{
	display: block;
	text-decoration: none;
}
@media screen and (max-width: 1199px){
	.top-about-txt-wrap{
		padding-top: 3.2rem;
	}
}
@media screen and (min-width: 1200px){
	.top-about-txt-wrap{
		padding-top: 3.8rem;
	}
}

/* ================================================ */
/* NEWS / BLOG /COLUMN 共通
------------------------------------------------------ */
.common-news-item a:hover{
	color: #000;
}
.common-news-item-date{
	margin-bottom: 0;
	line-height: 1;
}
.common-news-item-main{
	position: relative;
}
.common-news-item-ttl{
	margin-bottom: 0;
}
@media screen and (max-width: 575px){
	.common-news-item-main{
		margin-top: 0.8rem;
	}
	.common-news-item a{
		display: block;
	}
}
@media screen and (min-width: 576px){
	.common-news-item-main{
		flex: 1;
	}
	.common-news-item a{
		display: flex;
		align-items: center;
	}
	.common-news-item-date-wrap{
		width: 12rem;
	}
}
@media screen and (max-width: 1199px){
	.common-news-item a{
		padding-top: 4rem;
		padding-bottom: 2.4rem;
	}
	.common-news-item-date{
		font-size: 1.2rem;
	}
	.common-news-item-ttl{
		font-size: 1.4rem;
	}
}
@media screen and (min-width: 1200px){
	.common-news-item-date{
		font-size: 1.4rem;
	}
	.common-news-item-ttl{
		font-size: 1.6rem;
		letter-spacing: 0.1em;
	}
}
/*hover ani*/
.hover-ani-left-right-bc a{
	position: relative;
	z-index: 1;
}
.hover-ani-left-right-bc a::before{
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fafafa;
	z-index: -1;
	-webkit-transform: scale(0,1);
	        transform: scale(0,1);
	-webkit-transform-origin: right top;
	        transform-origin: right top;
	transition: -webkit-transform .3s;
	transition: transform .3s;
	transition: transform .3s, -webkit-transform .3s;
}
.hover-ani-left-right-bc a:hover::before{
	-webkit-transform: scale(1,1);
	        transform: scale(1,1);
	-webkit-transform-origin: left top;
	        transform-origin: left top;
}
/*hover ani color*/
.bc-fafafa .hover-ani-left-right-bc a::before{
	background-color: #fff;
}
/*hover ani opacity*/
.hover-ani-opacity a{
	transition: .6s;
}
.hover-ani-opacity a:hover{
	opacity: 0.6;
}

/* ================================================ */
/* BLOG / COLUMN 共通
------------------------------------------------------ */
@media screen and (max-width: 1199px){
	.common-blog-column-wrap .common-news-item{
		border-bottom: 1px rgba(220,220,220,0.60) solid;
	}
}
@media screen and (min-width: 1200px){
	.common-blog-column-wrap .common-news-item a{
		padding-top: 1.4rem;
		padding-bottom: 1.4rem;
	}
}

/* ================================================ */
/* VOICE お客様の声
------------------------------------------------------ */
.common-voice-item a{
	display: block;
}
.common-voice-item a:hover{
	color: #000;
}
.common-voice-item a:hover .common-voice-item-txtbox{
	opacity: 0.6;
}
.common-voice-item-img-fit{
	aspect-ratio: 1 / 0.7;
	overflow: hidden;
}
.common-voice-item-img-fit img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.common-voice-item-txtbox{
	transition: .3s;
}
.common-voice-item-ttl{
	line-height: 1.6;
	padding-top: 0.4em;
}
@media screen and (max-width: 767px){
	.common-voice-item .common-voice-item-img-fit{
		width: 91.02564102564103%;
	}
	.common-voice-item-txtbox{
		margin-right: auto;
		margin-left: auto;
		width: 82.05128205128205%;
	}
}
@media screen and (max-width: 1199px){
	.common-voice-item-txtbox{
		padding-top: 2.8rem;
	}
	.common-voice-item-ttl{
		font-size: 1.6rem;
	}
}
@media screen and (min-width: 1200px){
	.common-voice-item-txtbox{
		padding-top: 3.2rem;
	}
	.common-voice-item-ttl{
		font-size: 1.8rem;
	}
}

/* ================================================ */
/* WORKS 施工事例
------------------------------------------------------ */
/*****TOP / 下層　共通*****/
@media screen and (max-width: 1199px){
	.top-works-wrap{
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
	.top-works-wrap .bt_more{
		padding-top: 4.8rem;
	}
}
@media screen and (min-width: 1200px){
	.top-works-wrap{
		padding-top: 15rem;
		padding-bottom: 15rem;
	}
	.top-works-wrap .bt_more{
		padding-top: 9rem;
	}
}
/*ttl*/
@media screen and (max-width: 767px){
	.top-works-ttl-wrap{
		margin-bottom: 5.6rem;
	}
	.top-works-ttl-wrap .top-common-e-ttl{
		margin-bottom: 4.8rem;
	}
}
@media screen and (min-width: 768px){
	.top-works-ttl-wrap{
		display: flex;
	}
	.top-works-ttl-wrap .top-common-e-ttl{
		width: 40%;
	}
	.top-gallery-ttl-txt{
		width: 60%;
	}
}
@media screen and (max-width: 1199px){
	.top-works-ttl-wrap{
		margin-bottom: 5rem;
	}
}
@media screen and (min-width: 1200px){
	.top-works-ttl-wrap{
		margin-bottom: 11rem;
	}
}

/*****PC / sp　共通*****/
/*text*/
.common-works-post-city-name{
	line-height: 1;
}
.cwp-city{
	padding-right: 1.2rem;
}
@media screen and (max-width: 767px){
	.common-works-post-container a{
		display: block;
	}
	.common-works-post-text{
		width: 82.05128205128205%;
		margin-right: auto;
		margin-left: auto;
		padding-bottom: 3.2rem;
	}
}
@media screen and (min-width: 768px){
	.common-works-post-container a{
		display: flex;
		align-items: center;
	}
	.common-works-post-text{
		width: 40%;
		padding-right: 5%;
	}
	.common-works-post-thmnbnail{
		width: 60%;
	}
}
@media screen and (min-width:768px) and (max-width:1199px){
	.common-works-post-container{
		width: 82.05128205128205%;
		margin-right: auto;
		margin-left: auto;
	}
}
@media screen and (max-width: 1199px){
	.common-works-post-container a{
		padding-top: 3.4rem;
		padding-bottom: 3rem;
	}
	/*txt*/
	.common-works-post-ttl{
		font-size: 1.6rem;
	}
}
@media screen and (min-width: 1200px){
	.common-works-post-container{
		width: 72.22222222222222%;
		margin-right: auto;
		margin-left: auto;
	}
	.common-works-post-container a{
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	/*txt*/
	.common-works-post-ttl{
		font-size: 2rem;
	}
}
/*ani*/
.common-works-post-container a{
	pointer-events: none;
}
.on .common-works-post-container a{
	pointer-events: auto;
}
.common-works-post-text{
	opacity: 0;
	transition: 1.5s linear 0.5s;
}
.on .common-works-post-text{
	opacity: 1
}
.common-works-post-thmnbnail{
	position: relative;
	right: -10rem;
	opacity: 0;
	transition: right 2s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 1.5s linear 0.5s;
}
.on .common-works-post-thmnbnail{
	right: 0;
	opacity: 1;
}
/*****PC*****/
.common-works-post-thmnbnail-pc{
	display: flex;
	margin-right: -1rem;
	margin-left: -1rem;
	justify-content: flex-end;
}
.common-works-post-thmnbnail-pc-item{
	width: 50%;
	padding-right: 1rem;
	padding-left: 1rem;
}
@media screen and (max-width: 767px){
	.common-works-post-thmnbnail-pc{
		justify-content: center;
	}
}
@media screen and (min-width: 768px){
	.common-works-post-thmnbnail-pc{
		justify-content: flex-end;
	}
}
/*****sp*****/
.common-works-post-thmnbnail-sp-swiper .common-swiper-pagenation{
	padding-top: 2.4rem;
}
/******色分け******/
.common-works-post-container a.c-fff:hover{
	color: #fff;
}
.common-works-post-container a.c-000:hover{
	color: #000;
}

/*hoverani*/
.cwpti-works-img-fit {
	overflow: hidden;
	position: relative;
}
.cwpti-works-img-fit img {
	transition: .6s;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.cwpti-works-img-fit:hover img {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
@media screen and (max-width: 767px){
	.cwpti-works-img-fit {
		aspect-ratio: 1 / 0.731;
	}
}
@media screen and (min-width: 768px){
	.cwpti-works-img-fit {
		aspect-ratio: 1 / 0.737;
	}
}
.common-works-post-wrap .effbox .common-works-post-container+.common-works-ani-line-last{
	display: none;
}
.common-works-post-wrap .effbox:last-of-type .common-works-post-container+.common-works-ani-line-last{
	display: block;
}

/* ================================================ */
/* イベント情報
------------------------------------------------------ */
.common-item-event a:hover{
	color: #000;
}
/*img*/
.common-item-event-img-fit img{
	-o-object-fit: cover;
	   object-fit: cover;
	aspect-ratio: 1 / 0.742;
	width: 100%;
}
/*txt*/
@media screen and (max-width: 1199px){
	.common-item-event-txtbox{
		padding-top: 2rem;
	}
	.common-item-event-ttl{
		margin-bottom: 1.2rem;
	}
}
@media screen and (min-width: 1200px){
	.common-item-event-txtbox{
		padding-top: 2.4rem;
	}
	.common-item-event-ttl{
		margin-bottom: 2rem;
	}
}
/*Event status */
.common-event-post-status{
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: center;
	font-size: 1.3rem;
	width: 7rem;
	height: 7rem;
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 0.1em;
	line-height: 1.3;
}
@media screen and (max-width: 1199px){
	.common-item-event .position-relative{
		padding-bottom: 1.8rem;
	}
}
@media screen and (min-width: 1200px){
	.common-item-event .position-relative{
		padding-bottom: 3.6rem;
	}
}

/* ================================================ */
/* 共通
------------------------------------------------------ */
/*container*/
.container-small, .container-large, .container-single,.container-small-small,.container-large-single,.container-large-100, .container-single-single,.container-large-small,.container-single-small,.container-single-1600-small {
  margin-right: auto;
  margin-left: auto;
}
.mra-mla {
  margin-right: auto;
  margin-left: auto;
}
.bc-fff {
  background-color: #fff;
}
.bc-000{
	background-color: #000;
}
.bc-fefef9{
	background-color: #fefef9;
}
.bc-fafafa{
	background-color: #fafafa;
}
.bc-dcdcdc{
	background-color: #dcdcdc;
}
.bc-464646{
	background-color: #464646;
}
.bc-646464{
	background-color: #646464;
}
.bc-787878{
	background-color: #787878;
}
.bc-ef4e34{
	background-color: #ef4e34;
}
.bc-b4b4b4{
	background-color: #b4b4b4;
}
/*font*/
.efont {
	font-family: 'Satoshi', sans-serif;
	font-weight: 400;
}
.efont-gotxt {
	font-family: 'Satoshi',"游ゴシック体", "Yu Gothic", YuGothic,"Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-weight: 400;
}
.top-common-e-ttl{
	line-height: 1; 
	letter-spacing: 0.05em;
}
.top-bfont{
	line-height: 1;
	letter-spacing: 0.02em;
}
.common-17-14-txt{
	line-height: 2;
}

.lh-1{
	line-height: 1;
}
.lh-15{
	line-height: 1.5;
}
.lh-16{
	line-height: 1.6;
}
.lh-17{
	line-height: 1.7;
}
.lh-20{
	line-height: 2;
}
.m-ml {
  margin-left: -0.5em;
}
.fwm {
  font-weight: 500;
}
.under {
  text-decoration: underline;
}
.ls-001{
	letter-spacing: 0.01em;
}
.ls-005{
	letter-spacing: 0.05em;
}
.ls-007{
	letter-spacing: 0.07em;
}
.ls-008{
	letter-spacing: 0.08em;
}
.ls-01{
	letter-spacing: 0.1em;
}
.c-fff{
	color: #fff;
}
.c-000{
	color: #000;
}
.c-787878{
	color: #787878;
}
.c-b9b9b9{
	color: #b9b9b9;
}
.c-001e3c{
	color: #001e3c;
}
.c-54677c{
	color: #54677c;
}
.txtmin {
	font-family: "Shippori Mincho","游明朝", YuMincho,"Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 400;
}
.txtGot {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.efont-txtmin{
	font-family: "Satoshi", "游明朝", YuMincho,"Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.txt-kome {
  display: flex;
}
.txt-kome .tk-icon {
  width: 1.2em;
}
.txt-kome .tk-main {
  width: calc(100% - 1.2em);
}
.txt-small{
	font-size: 0.8em;
}
.text-1lines {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
.text-2lines {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.zindex-2{
	z-index: 2;
}
/*hoverani*/
.img-scale {
  overflow: hidden;
  position: relative;
}
.img-scale img {
  transition: .6s;
}
a:hover .img-scale img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.link-img-opacity a img{
	transition: .3s;
}
.link-img-opacity a:hover img{
	opacity: 0.6;
}
.transition-03{
	transition: .3s;
}
/*rayout*/
.bdt-1-464646-s{
	border-top: 1px rgba(70,70,70,0.60) solid;
}
.bdb-1-464646-s{
	border-bottom: 1px rgba(70,70,70,0.60) solid;
}
.bdb-1-b4b4b4-s{
	border-bottom: 1px #b4b4b4 solid;
}
.bdb-1-dcdcdc-s{
	border-bottom: 1px rgba(220,220,220,0.60) solid;
}
.maw-200{
	max-width: 20rem;
}
@media screen and (max-width: 575px){
	.br-pc {
		display: none!important;
	}
	/*font*/
	.top-caption{
		font-size: 1.7rem;
	}
}
@media screen and (min-width:576px) and (max-width:1199px){
	/*font*/
	.top-caption{
		font-size: 2rem;
	}
}
@media screen and (max-width: 767px) {
	.br-tab {
		display: none;
	}
}
@media screen and (min-width: 768px) {
	.sp-linkkill{
		pointer-events: none;
	}
	/*font*/
	.top-bfont-pc-vertical-rl{
		display: flex;
		justify-content: space-between;
	}
	.top-bfont-pc-vertical-rl .efont{
		order: 2;
		padding-bottom: 0;
	}
	.top-bfont-pc-vertical-rl .txtmin{
		order: 1;
		line-height: 1;
	}
	.tbpvr-txt{
		writing-mode: vertical-rl;
		display: inline-block;
		min-height: 10rem;
	}
}
@media screen and (min-width:768px) and (max-width:1199px){
	/*font*/
	.top-bfont-pc-vertical-rl{
		width: 5.6rem;
	}
}
@media screen and (max-width: 991px){
	.br-max-991{
		display: none;
	}
}
@media screen and (min-width: 992px) {
	.br-sp-lg {
		display: none;
	}
}
@media screen and (max-width: 1199px) {
	/*container*/
	.container-small, .container-large, .container-single {
		width: 92.30769230769231%;
	}
	.container-small-small,.container-large-small,.container-single-small,.container-single-1600-small{
		width: 82.05128205128205%;
	}
	.container-large-single,.container-single-single{
		width: 71.79487179487179%;
	}
	.container-large-100{
		width: 100%;
	}
	/*font*/
	.top-common-e-ttl{
		font-size: 2.2rem;
	}
	.tcet-bottom-j-ttl{
		margin-bottom: 1.4rem;
	}
	.top-bfont{
		font-size: 3.8rem;
	}
	.common-17-14-txt{
		font-size: 1.4rem;
	}
	.sp-fsize-12{
		font-size: 1.2rem;
	}
	.sp-fsize-13{
		font-size: 1.3rem;
	}
	.sp-fsize-14{
		font-size: 1.4rem;
	}
	.sp-fsize-15{
		font-size: 1.5rem;
	}
	.sp-fsize-16{
		font-size: 1.6rem;
	}
	.sp-fsize-18{
		font-size: 1.8rem;
	}
	
	.top-bfont-bdb-f,.top-bfont-bdb-5f7184{
		padding-bottom: 1rem;
	}
	.top-common-e-min-ttl-wrap .top-bfont{
		padding-bottom: 1.6rem;
	}
	.top-common-min-ttl{
		font-size: 2.2rem;
	}
	.top-common-18-14-txt{
		font-size: 1.4rem;
	}
	.common-sp-tbmb-24{
		margin-bottom: 2.4rem;
	}
	.text-2lines-sp {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}
}
@media screen and (min-width: 1200px) {
	/*container*/
	.container-small,.container-small-small {
		width: 72.22222222222222%;
	}
	.container-large,.container-large-single,.container-large-small,.container-large-100 {
		width: 85.55555555555556%;
	}
	.container-single,.container-single-single,.container-single-small {
		width: 55.55555555555556%;
	}
	/*font*/
	.top-common-e-ttl{
		font-size: 2.8rem;
	}
	.tcet-bottom-j-ttl{
		margin-bottom: 1.6rem;
	}
	.top-bfont{
		font-size: 5.2rem;
	}
	.common-17-14-txt{
		font-size: 1.7rem;
	}
	.pc-fsize-13{
		font-size: 1.3rem;
	}
	.pc-fsize-14{
		font-size: 1.4rem;
	}
	.pc-fsize-17{
		font-size: 1.7rem;
	}
	.pc-fsize-18{
		font-size: 1.8rem;
	}
	.pc-fsize-20{
		font-size: 2rem;
	}
	
	.top-bfont-bdb-f,.top-bfont-bdb-5f7184{
		padding-bottom: 2.4rem;
	}
	.top-bfont-pc-vertical-rl{
		width: 8rem;
	}
	.top-common-e-min-ttl-wrap .top-bfont{
		padding-bottom: 3.2rem;
	}
	.top-common-min-ttl{
		font-size: 3rem;
	}
	.top-common-18-14-txt{
		font-size: 1.7rem;
	}
	.top-caption{
		font-size: 2.5rem;
	}
	.common-pc-tbmb-16{
		margin-bottom: 1.6rem;
	}
	.common-pc-tbmb-32{
		margin-bottom: 3.2rem;
	}
	.common-pc-tbmb-56{
		margin-bottom: 5.6rem;
	}
	.text-1lines-pc {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
	}
}
@media screen and (min-width:1200px) and (max-width:1599px){
	.container-single-1600-small {
		width: 72.22222222222222%;
	}
}
@media screen and (min-width: 1600px){
	.container-single-1600-small {
		width: 55.55555555555556%;
	}
}

/*******************************
/* 枠
*******************************/
.common-row{
	display: flex;
	flex-wrap: wrap;
}
.common-row-50 .common-col{
	width: 50%;
}
.common-row-25 .common-col{
	width: 25%;
}
.common-row-33 .common-col{
	width: calc(100% / 3);
}
@media screen and (max-width: 575px){
	.common-row-33-991-50-sp-100 .common-col{
		width: 100%;
	}
}
@media screen and (min-width:575px) and (max-width:991px){
	.common-row-33-991-50-sp-100 .common-col{
		width: 50%;
	}
}
@media screen and (max-width: 767px){
	.common-row-25-767-50 .common-col{
		width: 50%;
	}
	.common-row-50-767-100 .common-col,.common-row-33-991-50-767-100 .common-col{
		width: 100%;
	}
}
@media screen and (min-width: 768px){
	.common-row-25-767-50 .common-col{
		width: 25%;
	}
	.common-row-50-767-100 .common-col{
		width: 50%;
	}
}
@media screen and (min-width:768px) and (max-width:991px){
	.common-row-33-991-50-767-100 .common-col{
		width: 50%;
	}
}
@media screen and (max-width: 991px){
	.common-row-33-991-50 .common-col{
		width: 50%;
	}
}
@media screen and (min-width: 992px){
	.common-row-33-991-50 .common-col,.common-row-33-991-50-sp-100 .common-col,.common-row-33-991-50-767-100 .common-col{
		width: calc(100% / 3);
	}
}
@media screen and (max-width: 1199px){
	.cr-prpl-100,.cr-prpl-80,.cr-prpl-60,.cr-prpl-50,.cr-prpl-40{
		margin-right: -1rem;
		margin-left: -1rem;
	}
	.cr-prpl-100 .common-col,.cr-prpl-80 .common-col,.cr-prpl-60 .common-col,.cr-prpl-50 .common-col,.cr-prpl-40 .common-col{
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
@media screen and (min-width: 1200px){
	.cr-prpl-100{
		margin-right: -5rem;
		margin-left: -5rem;
	}
	.cr-prpl-100 .common-col{
		padding-left: 5rem;
		padding-right: 5rem;
	}
	.cr-prpl-80{
		margin-right: -4rem;
		margin-left: -4rem;
	}
	.cr-prpl-80 .common-col{
		padding-left: 4rem;
		padding-right: 4rem;
	}
	.cr-prpl-60{
		margin-right: -3rem;
		margin-left: -3rem;
	}
	.cr-prpl-60 .common-col{
		padding-left: 3rem;
		padding-right: 3rem;
	}
	.cr-prpl-50{
		margin-right: -2.5rem;
		margin-left: -2.5rem;
	}
	.cr-prpl-50 .common-col{
		padding-right: 2.5rem;
		padding-left: 2.5rem;
	}
	.cr-prpl-40{
		margin-right: -2rem;
		margin-left: -2rem;
	}
	.cr-prpl-40 .common-col{
		padding-right: 2rem;
		padding-left: 2rem;
	}
}

/*******************************
/* p/m
*******************************/
@media screen and (max-width: 1199px){
	/*pt*/
	.pc-pt-20{
		padding-top: 1rem;
	}
	.pc-pt-30{
		padding-top: 1.5rem;
	}
	.pc-pt-40{
		padding-top: 2rem;
	}
	.pc-pt-50{
		padding-top: 2.5rem;
	}
	.pc-pt-60{
		padding-top: 3rem;
	}
	.pc-pt-70{
		padding-top: 3.5rem;
	}
	.pc-pt-80{
		padding-top: 4rem;
	}
	.pc-pt-90{
		padding-top: 4.5rem;
	}
	.pc-pt-100{
		padding-top: 5rem;
	}
	.pc-pt-110{
		padding-top: 5.5rem;
	}
	.pc-pt-120{
		padding-top: 6rem;
	}
	.pc-pt-130{
		padding-top: 6.5rem;
	}
	.pc-pt-140{
		padding-top: 7rem;
	}
	.pc-pt-150{
		padding-top: 7.5rem;
	}
	.pc-pt-160{
		padding-top: 8rem;
	}
	.pc-pt-180{
		padding-top: 9rem;
	}
	.pc-pt-200,.pc-pt-240-sp-100,.pc-pt-280-sp-100{
		padding-top: 10rem;
	}
	/*pb*/
	.pc-pb-20{
		padding-bottom: 1rem;
	}
	.pc-pb-30{
		padding-bottom: 1.5rem;
	}
	.pc-pb-40{
		padding-bottom: 2rem;
	}
	.pc-pb-50{
		padding-bottom: 2.5rem;
	}
	.pc-pb-60{
		padding-bottom: 3rem;
	}
	.pc-pb-70{
		padding-bottom: 3.5rem;
	}
	.pc-pb-80{
		padding-bottom: 4rem;
	}
	.pc-pb-90{
		padding-bottom: 4.5rem;
	}
	.pc-pb-100{
		padding-bottom: 5rem;
	}
	.pc-pb-110{
		padding-bottom: 5.5rem;
	}
	.pc-pb-120{
		padding-bottom: 6rem;
	}
	.pc-pb-130{
		padding-bottom: 6.5rem;
	}
	.pc-pb-140{
		padding-bottom: 7rem;
	}
	.pc-pb-150{
		padding-bottom: 7.5rem;
	}
	.pc-pb-160{
		padding-bottom: 8rem;
	}
	.pc-pb-170{
		padding-bottom: 8.5rem;
	}
	.pc-pb-180{
		padding-bottom: 9rem;
	}
	.pc-pb-200,.pc-pb-220-sp-100,.pc-pb-240-sp-100,.pc-pb-250-sp-100,.pc-pb-280-sp-100{
		padding-bottom: 10rem;
	}
	/*mt*/
	.pc-mt-80{
		margin-top: 4rem;
	}
	.pc-mt-100{
		margin-top: 5rem;
	}
	/*mb*/
	.pc-mb-20{
		margin-bottom: 1rem;
	}
	.pc-mb-30{
		margin-bottom: 1.5rem;
	}
	.pc-mb-40{
		margin-bottom: 2rem;
	}
	.pc-mb-50{
		margin-bottom: 2.5rem;
	}
	.pc-mb-60{
		margin-bottom: 3rem;
	}
	.pc-mb-70{
		margin-bottom: 3.5rem;
	}
	.pc-mb-80{
		margin-bottom: 4rem;
	}
	.pc-mb-90{
		margin-bottom: 4.5rem;
	}
	.pc-mb-100{
		margin-bottom: 5rem;
	}
	.pc-mb-110{
		margin-bottom: 5.5rem;
	}
	.pc-mb-120{
		margin-bottom: 6rem;
	}
	.pc-mb-130{
		margin-bottom: 6.5rem;
	}
	.pc-mb-140{
		margin-bottom: 7rem;
	}
	.pc-mb-150{
		margin-bottom: 7.5rem;
	}
	.pc-mb-160{
		margin-bottom: 8rem;
	}
	.pc-mb-170{
		margin-bottom: 8.5rem;
	}
	.pc-mb-180{
		margin-bottom: 9rem;
	}
	.pc-mb-200-sp-100,.pc-mb-230-sp-100,.pc-mb-240-sp-100,.pc-mb-320-sp-100{
		margin-bottom: 10rem;
	}
}
@media screen and (min-width: 1200px){
	/*pt*/
	.pc-pt-20{
		padding-top: 2rem;
	}
	.pc-pt-30{
		padding-top: 3rem;
	}
	.pc-pt-40{
		padding-top: 4rem;
	}
	.pc-pt-50{
		padding-top: 5rem;
	}
	.pc-pt-60{
		padding-top: 6rem;
	}
	.pc-pt-70{
		padding-top: 7rem;
	}
	.pc-pt-80{
		padding-top: 8rem;
	}
	.pc-pt-90{
		padding-top: 9rem;
	}
	.pc-pt-100{
		padding-top: 10rem;
	}
	.pc-pt-110{
		padding-top: 11rem;
	}
	.pc-pt-120{
		padding-top: 12rem;
	}
	.pc-pt-130{
		padding-top: 13rem;
	}
	.pc-pt-140{
		padding-top: 14rem;
	}
	.pc-pt-150{
		padding-top: 15rem;
	}
	.pc-pt-160{
		padding-top: 16rem;
	}
	.pc-pt-180{
		padding-top: 18rem;
	}
	.pc-pt-200{
		padding-top: 20rem;
	}
	.pc-pt-240-sp-100{
		padding-top: 24rem;
	}
	.pc-pt-280-sp-100{
		padding-top: 28rem;
	}
	/*pb*/
	.pc-pb-20{
		padding-bottom: 2rem;
	}
	.pc-pb-30{
		padding-bottom: 3rem;
	}
	.pc-pb-40{
		padding-bottom: 4rem;
	}
	.pc-pb-50{
		padding-bottom: 5rem;
	}
	.pc-pb-60{
		padding-bottom: 6rem;
	}
	.pc-pb-70{
		padding-bottom: 7rem;
	}
	.pc-pb-80{
		padding-bottom: 8rem;
	}
	.pc-pb-90{
		padding-bottom: 9rem;
	}
	.pc-pb-100{
		padding-bottom: 10rem;
	}
	.pc-pb-110{
		padding-bottom: 11rem;
	}
	.pc-pb-120{
		padding-bottom: 12rem;
	}
	.pc-pb-130{
		padding-bottom: 13rem;
	}
	.pc-pb-140{
		padding-bottom: 14rem;
	}
	.pc-pb-150{
		padding-bottom: 15rem;
	}
	.pc-pb-160{
		padding-bottom: 16rem;
	}
	.pc-pb-170{
		padding-bottom: 17rem;
	}
	.pc-pb-180{
		padding-bottom: 18rem;
	}
	.pc-pb-200{
		padding-bottom: 20rem;
	}
	.pc-pb-220-sp-100{
		padding-bottom: 22rem;
	}
	.pc-pb-240-sp-100{
		padding-bottom: 24rem;
	}
	.pc-pb-250-sp-100{
		padding-bottom: 25rem;
	}
	.pc-pb-280-sp-100{
		padding-bottom: 28rem;
	}
	/*mt*/
	.pc-mt-80{
		margin-top: 8rem;
	}
	.pc-mt-100{
		margin-top: 10rem;
	}
	/*mb*/
	.pc-mb-20{
		margin-bottom: 2rem;
	}
	.pc-mb-30{
		margin-bottom: 3rem;
	}
	.pc-mb-40{
		margin-bottom: 4rem;
	}
	.pc-mb-50{
		margin-bottom: 5rem;
	}
	.pc-mb-60{
		margin-bottom: 6rem;
	}
	.pc-mb-70{
		margin-bottom: 7rem;
	}
	.pc-mb-80{
		margin-bottom: 8rem;
	}
	.pc-mb-90{
		margin-bottom: 9rem;
	}
	.pc-mb-100{
		margin-bottom: 10rem;
	}
	.pc-mb-110{
		margin-bottom: 11rem;
	}
	.pc-mb-120{
		margin-bottom: 12rem;
	}
	.pc-mb-130{
		margin-bottom: 13rem;
	}
	.pc-mb-140{
		margin-bottom: 14rem;
	}
	.pc-mb-150{
		margin-bottom: 15rem;
	}
	.pc-mb-160{
		margin-bottom: 16rem;
	}
	.pc-mb-170{
		margin-bottom: 17rem;
	}
	.pc-mb-180{
		margin-bottom: 18rem;
	}
	.pc-mb-200-sp-100{
		margin-bottom: 20rem;
	}
	.pc-mb-230-sp-100{
		margin-bottom: 23rem;
	}
	.pc-mb-240-sp-100{
		margin-bottom: 24rem;
	}
	.pc-mb-320-sp-100{
		margin-bottom: 32rem;
	}
	.pc-only-mb-130{
		margin-bottom: 13rem;
	}
}

/* ================================================ */
/* btn
------------------------------------------------------ */
/*bt_more*/
.bt_more a{
	display: inline-block;
	position: relative;
	text-decoration: none;
	letter-spacing: 0.05em;
	padding-left: 1.8rem;
	z-index: 1;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.bt_more a:hover{
	text-decoration: none;
}
.bt_more a::before{
	content: " ";
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	display: block;
	border-width: 1px;
	border-style: solid;
	position: absolute;
	top: calc(50% - 0.4rem);
	left: 0;
}
.bt_more a span.d-inline-block{
	position: relative;
	line-height: 1.5;
}
.bt_more a span.d-inline-block::before,.bt_more a span.d-inline-block::after{
	content: " ";
	display: block;
	width: 100%;
	height: 1px;
}
.bt_more a span.d-inline-block::before{
	-webkit-transform: scale(0,1);
	        transform: scale(0,1);
	-webkit-transform-origin: right top;
	        transform-origin: right top;
	transition: transform .3s .3s;
	bottom: 0;
	left: 0;
	position: absolute;
}
.bt_more a:hover span.d-inline-block::before{
	-webkit-transform: scale(1,1);
	        transform: scale(1,1);
	-webkit-transform-origin: left top;
	        transform-origin: left top;
}
.bt_more a span.d-inline-block::after{
	transform: scale(1, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
.bt_more a:hover span.d-inline-block::after{
	transform: scale(0, 1);
	transform-origin: right top;
}
@media screen and (max-width: 1199px){
	.bt_more a{
		font-size: 1.4rem;
	}
}
@media screen and (min-width: 1200px){
	.bt_more a{
		font-size: 1.7rem;
	}
}
/*bt_more colorF*/
.bt_more a.c-fff{
	color: #fff;
}
.bt_more a.c-fff:hover{
	color: #fff;
}
.bt_more a.c-fff::before{
	border-color: #fff;
}
.bt_more a.c-fff span.d-inline-block::before,.bt_more a.c-fff span.d-inline-block::after{
	background-color: rgba(255,255,255,0.60);
}
/*bt_more color0*/
.bt_more a.c-000{
	color: #000;
}
.bt_more a.c-000:hover{
	color: #000;
}
.bt_more a.c-000::before{
	border-color: rgba(160,160,160,0.60);
}
.bt_more a.c-000 span.d-inline-block::before,.bt_more a.c-000 span.d-inline-block::after{
	background-color: rgba(0,0,0,0.60);
}

/*******************************
/* フォーム/テーブル
*******************************/
/*table*/
.normal-table {
	max-width: 100%;
	border-top: 1px rgba(148,148,148,0.25) solid;
	letter-spacing: 0.08em;
	line-height: 1.6;
}
.normal-table th {
	vertical-align: top;
	font-weight: 500;
}
.normal-table td {
	vertical-align: middle;
	text-align: left;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: rgba(148,148,148,0.25);
}
.normal-table td a{
	color: #000;
	text-decoration: none;
}
@media only screen and (max-width:767px) {
	.normal-table th {
		padding: 1.6rem 0 0.8rem;
		width: 100%;
		display: block;
		font-size: 1.5rem;
	}
	.normal-table td {
		padding: 0.8rem 0 1.6rem;
		width: 100%;
		display: block;
	}
}
@media screen and (min-width: 768px) {
	.normal-table th {
		width: 22.2%;
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: rgba(148,148,148,0.25);
		padding-right: 2%;
		padding-left: 2%;
	}
	.normal-table td {
		width: 77.8%;
	}
}
@media screen and (min-width:768px) and (max-width:1399px) {
	.normal-table th {
		padding-top: 1.6rem;
		padding-left: 1.6rem;
	}
	.normal-table td {
		padding: 1.6rem 0;
	}
}
@media screen and (min-width: 1400px) {
	.normal-table th {
		padding-top: 3.7rem;
		padding-bottom: 3.7rem;
	}
	.normal-table td {
		padding: 3.7rem 0;
	}
}
/*************
/* 汎用リスト
*************/
.dotted-list{
	padding-left: 0;
}
.dotted-list li{
	list-style: none;
	position: relative;
}
ul.dotted-list>li{
	padding-left: 1em;
}
ul.dotted-list>li::before{
	content: "・";
}
ul.dotted-list.dotted-list-square>li::before{
	content: "▪️";
}
ol.dotted-list>li{
	padding-left: 1.4em;
}
ol.dotted-list{
	counter-reset: listNumber 0;
}
ol.dotted-list>li::before{
	counter-increment: listNumber 1;
	content: counter(listNumber) ".";
}
.dotted-list>li::before{
	top: 0;
	left: 0;
	display: block;
	position: absolute;
}
.dotted-list li:not(:last-of-type){
	margin-bottom: 0.6em;
}
/*リスト入れ子の場合*/
.dotted-list-sub{
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
ol.dotted-list.dotted-list-sub>li::before{
	content: counter(listNumber) "";
	width: 1.6em;
	height: 1.6em;
	line-height: 1.6em;
	border-radius: 50%;
	border: 1px rgba(150,150,150, 0.6) solid;
	font-size: 0.7em;
	top: 0.5em;
	text-align: center;
}
/*連番強制削除*/
ol.dotted-list>li.dotted-list-ol-skip,ul.dotted-list>li.dotted-list-dotted-none{
	padding-left: 0;
}
ol.dotted-list.dotted-list-sub>li.dotted-list-ol-skip::before,ul.dotted-list>li.dotted-list-dotted-none::before{
	display: none;
}
/*******************************
/* youtube　レスポンシブ対応
***************************/
.ggmap {
  position: relative;
  width: 100%;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.ggmap-view {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 0.733;
}
.youtube iframe,.ggmap iframe,.ggmap-view iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (max-width: 767px){
	.ggmap {
		aspect-ratio:1 / 1;
	}
}
@media screen and (min-width: 768px){
	.ggmap {
	  padding-top: 46%;
	}
}
/*******************************
/* メイン画像
*******************************/
img {
  max-width: 100%;
  height: auto;
}
