@charset 'UTF-8';
.grecaptcha-badge{
	display: none;
}
/* ================================================ */
/* effect
------------------------------------------------------ */
/*ストーカー*/
@media screen and (max-width: 1199px){
	#js-cursor{
		display: none!important;
	}
}
@media screen and (min-width: 1200px){
	#js-cursor{
		top: -9rem; 
		left: -6rem;
		width: 10rem;
		height: 10rem;
		line-height: 10rem;
		pointer-events: none;
		position: fixed;
		background-color:#fff;
		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.js-hover{
		width: 13rem;
		height: 13rem;
		line-height: 13rem;
	}
	#js-cursor::before{
		font-size: 1.3rem;
		content: "VIEW MORE";
		color: #000;
		letter-spacing: 0.05em;
	}
}

/* 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;
}
@media screen and (max-width: 1199px){
	.common-tgl-footer-list>li{
		font-size: 1.3rem;
	}
}
@media screen and (min-width: 1200px){
	.common-tgl-footer-list>li{
		font-size: 1.5rem;
		margin-bottom: 0.7rem;
	}
}
/* ================================================ */
/* 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;
}

/* トップと下層共通
----------------------------------------------------------------------------------------------------*/
.top-concept-ttl{
	line-height: 1.8;
}
.top-concept-ttl::after{
	content: " ";
	display: block;
	width: 12rem;
	height: 1px;
	background-color: #ccc;
	margin-right: auto;
	margin-left: auto;
	margin-top: 1em;
}
@media screen and (max-width: 1199px){
	.top-concept-ttl{
		font-size: 1.8rem;
		font-weight: 500;
	}
}
@media screen and (min-width: 1200px){
	.top-concept-ttl{
		font-size: 2.8rem;
	}
}
/* ================================================ */
/* INFORMATION
------------------------------------------------------ */
.common-information-item a{
	display: flex;
	color: #000;
	text-decoration: none;
	align-items: center;
	transition: .3s;
}
.common-information-item a:hover{
	background-color: #fff;
}
.common-item-img-fit{
	aspect-ratio: 1 / 0.667;
	overflow: hidden;
}
.common-item-img-fit img{
	-o-object-fit: cover;
	   object-fit: cover;
	   height: 100%;
	   width: 100%;
}
.ciitb-cat-date{
	display: flex;
	color: #808080;
}
.common-cat-name{
	padding-right: 2rem;
	position: relative;
	text-transform: uppercase;
}
.common-cat-name::before{
	content: " ";
	background-color: #ccccc2;
	display: block;
	top: calc(50% - 0.6rem);
	right: 0.9rem;
	height: 1.1rem;
	width: 1px;
	position: absolute;
}
@media screen and (max-width: 991px){
	.common-info-item-txt{
		display: none !important;
	}
}
@media screen and (min-width:768px) and (max-width:1199px){
	.common-info-item-txt{
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 1199px){
	.common-information-item a{
		padding-top: 1.6rem;
		padding-bottom: 1.6rem;
	}
	.common-information-item a .common-item-img-fit{
		width: 38.8554%;
	}
	.common-information-item-txt-box{
		width: 61.1446%;
		padding-left: 7.2289%;
	}
	.common-item-ttl{
		font-size: 1.3rem;
	}
	.ciitb-cat-date{
		font-size: 1.2rem;
	}
	.common-information-item-txt-box .common-arrow-ani{
		display: none;
	}
}
@media screen and (min-width: 1200px){
	.common-information-item a{
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	.common-information-item a .common-item-img-fit{
		width: 24.5455%;
	}
	.common-information-item-txt-box{
		width: 75.4545%;
		padding-left: 7.2727%;
		padding-right: 13.6364%;
		position: relative;
	}
	.common-item-ttl{
		font-size: 1.8rem;
	}
	.common-info-item-txt{
		font-size: 1.4rem;
	}
	.ciitb-cat-date{
		font-size: 1.3rem;
	}
	.common-information-item-txt-box .common-arrow-ani{
		position: absolute;
		right: 3.6145%;
		top: calc(50% - 1rem);
	}
}
@media screen and (min-width: 1600px){
	.common-item-ttl{
		margin-bottom: 2rem;
	}
	.common-info-item-txt{
		margin-bottom: 4rem;
	}
}

/* ================================================ */
/* EVENT イベント情報 スライドなど
------------------------------------------------------ */
@media screen and (min-width: 1200px) {
	.top-event-inner {
		width: 88.8889%;
		margin-right: auto;
		margin-left: auto;
	}
}
/*swiper 枚数が足りているとき*/
.top-event-swiper.swiper-initialized .swiper-slide.common-item-event{
	padding-right: 0;
	padding-left: 0;
}
/*swiper 枚数が足りないとき*/
.top-event-swiper:not(.swiper-initialized) .swiper-wrapper{
	justify-content: center;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (min-width: 576px) {
	.top-event-swiper:not(.swiper-initialized) .swiper-wrapper {
		display: flex;
		flex-wrap: wrap;
		width: auto;
	}
}

@media screen and (min-width:576px) and (max-width:991px) {
	.top-event-swiper:not(.swiper-initialized) .swiper-wrapper {
		margin-right: -1.3rem;
		margin-left: -1.3rem;
	}

	.top-event-swiper:not(.swiper-initialized) .swiper-slide {
		padding-right: 1.3rem;
		padding-left: 1.3rem;
	}

	.top-event-swiper:not(.swiper-initialized) .swiper-slide {
		width: calc(100% / 2);
	}
}

@media screen and (min-width:992px) and (max-width:1399px) {
	.top-event-swiper:not(.swiper-initialized) .swiper-wrapper {
		margin-right: -1.6rem;
		margin-left: -1.6rem;
	}

	.top-event-swiper:not(.swiper-initialized) .swiper-slide {
		padding-right: 1.6rem;
		padding-left: 1.6rem;
		width: calc(100% / 3);
	}
}
@media screen and (max-width: 1199px){
	.top-event-swiper:not(.swiper-initialized){
		width: 85.1282%;
	}
}
@media screen and (min-width: 1200px){
	.top-event-swiper:not(.swiper-initialized){
		width: 88.8889%;
	}
}
@media screen and (min-width: 1400px) {
	.top-event-swiper:not(.swiper-initialized) .swiper-wrapper {
		margin-right: -2rem;
		margin-left: -2rem;
	}

	.top-event-swiper:not(.swiper-initialized) .swiper-slide {
		padding-right: 2rem;
		padding-left: 2rem;
		width: 25%;
	}
}

/* ================================================ */
/* イベント情報
------------------------------------------------------ */
.common-item-event a:hover{
	color: #000;
}
.common-event-post-btn{
	border: 2px #ccc solid;
	color: #999;
	max-width: 24rem;
	margin-right: auto;
	margin-left: auto;
	padding-top: 1em;
	padding-bottom: 1em;
	margin-top: 2em;
	transition: .3s;
}
.common-event-post-btn:hover{
	border-color: #333;
	color: #333;
}
.common-event-cat{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgb(0, 0, 0,0.5);
	color: #fff;
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
}
@media screen and (max-width: 1199px){
	.common-item-event{
		margin-bottom: 5.6rem;
	}
}
@media screen and (min-width: 1200px){
	.common-item-event{
		margin-bottom: 9rem;
	}
}
/*img*/
.common-item-event-img-fit img{
	-o-object-fit: cover;
	   object-fit: cover;
	aspect-ratio: 1 / 1;
	width: 100%;
}
/*Event status */
.common-event-post-status{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgb(0, 0, 0,0.6);
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}
/*txt*/
@media screen and (max-width: 1199px){
	.common-item-event-txtbox{
		padding-top: 1.4rem;
	}
	.common-item-event-ttl{
		margin-bottom: 0.7rem;
		font-size: 1.5rem;
	}
	.common-item-event-txtbox .common-event-post-dl.bdt-1-ccccc2-s{
		padding-top: 1.6rem;
	}
}
@media screen and (min-width: 1200px){
	.common-item-event-txtbox{
		padding-top: 2.4rem;
	}
	.common-item-event-ttl{
		margin-bottom: 1.6rem;
		font-size: 1.8rem;
	}
	.common-item-event-txtbox .common-event-post-dl.bdt-1-ccccc2-s{
		padding-top: 1.8rem;
	}
}
/* list */
.common-event-post-dl{
	display: flex;
	flex-wrap: wrap;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.common-event-post-dl dt{
	position: relative;
	padding-right: 1.8rem;
	font-weight: 300;
	margin-bottom: 0.3rem;
}
.common-event-post-dl dt::after{
	content: " ";
	display: block;
	position: absolute;
	background-color: rgb(128, 128, 128,0.7);
	width: 1px;
	height: 1rem;
	right: 1rem;
	top: 0.5rem;
}
.common-event-post-dl dd{
	margin-bottom: 0.3rem;
}
@media screen and (max-width: 767px){
	.common-event-post-dl dt{
		font-weight: 300;
	}
	}
@media screen and (max-width: 1199px){
	.common-event-post-dl{
		font-size: 1.3rem;
	}
	.common-event-post-dl dt{
		width: 6rem;
	}
	.common-event-post-dl dt::after{
		height: 1rem;
	}
	.common-event-post-dl dd{
		width: calc(100% - 6rem);
	}
}
@media screen and (min-width: 1200px){
	.common-event-post-dl{
		font-size: 1.4rem;
	}
	.common-event-post-dl dt{
		width: 6.4rem;
	}
	.common-event-post-dl dt::after{
		height: 1.2rem;
	}
	.common-event-post-dl dd{
		width: calc(100% - 6.4rem);
	}
}

/* ================================================ */
/* WORKS 施工事例
------------------------------------------------------ */
/*****TOP / 下層　共通*****/
.common-works-tag-name{
	margin-bottom: 0.5rem;
	margin-right: 0.5rem;
}
.common-works-tag-name a{
	text-decoration: none;
	color: #808080 !important;
}
.common-works-post-ttl{
	letter-spacing: 0.1em;
	margin-bottom: 0.8rem;
}
@media screen and (max-width: 1199px){
	.common-works-item{
		margin-bottom: 3.5rem;
	}
	.common-works-item .common-item-img-fit{
		margin-bottom: 1.5rem;
	}
	.common-works-post-ttl{
		font-size: 1.3rem;
	}
	.common-works-tag-name{
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1200px){
	.common-works-item{
		margin-bottom: 4.5rem;
	}
	.common-works-item .common-item-img-fit{
		margin-bottom: 2.2rem;
	}
	.common-works-post-ttl{
		font-size: 1.8rem;
	}
	.common-works-tag-name{
		font-size: 1.4rem;
	}
}


/* ================================================ */
/* VOICE  お客様の声 スライドなど
------------------------------------------------------ */
/*swiper 枚数が足りないとき*/
.top-voice-post-swiper:not(.swiper-initialized) .swiper-wrapper {
	display: flex;
	flex-wrap: wrap;
	width: auto;
}
@media screen and (max-width: 575px) {
	.top-voice-post-swiper:not(.swiper-initialized) .swiper-slide {
		width: calc(100% / 2);
	}
}
@media screen and (min-width:576px) and (max-width:1399px){
	.top-voice-post-swiper:not(.swiper-initialized) .swiper-slide {
		width: calc(100% / 3);
	}
}
@media screen and (max-width: 991px){
	.top-voice-container {
		width: 92.5641%;
		margin-left: auto;
	}
	.top-voice-post-swiper:not(.swiper-initialized){
		padding-right: 8.0332%;
	}
	.top-voice-post-swiper:not(.swiper-initialized) .swiper-wrapper {
		margin-right: -0.6rem;
		margin-left: -0.6rem;
	}
	.top-voice-post-swiper:not(.swiper-initialized) .swiper-slide {
		padding-right: 0.6rem;
		padding-left: 0.6rem;
	}
}
@media screen and (min-width: 992px){
	.top-voice-post-swiper:not(.swiper-initialized) {
		margin-right: auto;
		margin-left: auto;
	}
	.top-voice-post-swiper:not(.swiper-initialized) .swiper-wrapper {
		margin-right: -2rem;
		margin-left: -2rem;
	}
	.top-voice-post-swiper:not(.swiper-initialized) .swiper-slide {
		padding-right: 2rem;
		padding-left: 2rem;
		width: calc(100% / 4);
	}
}
@media screen and (min-width:992px) and (max-width:1199px){
	.top-voice-post-swiper:not(.swiper-initialized) {
		width: 85.1282%;
	}
}
@media screen and (min-width: 1200px) {
	.top-voice-post-swiper:not(.swiper-initialized) {
		width: 88.8889%;
	}
	.single-voice-post-wrap .top-voice-post-swiper:not(.swiper-initialized) {
		width: 93.3333%;
	}
	.single-voice-post-wrap .top-voice-post-swiper:not(.swiper-initialized) .common-voice-item {
		margin-bottom: 6.4rem;
	}
}
/* ================================================ */
/* VOICE お客様の声
------------------------------------------------------ */
.common-voice-item a{
	display: block;
	color: #000;
}
.common-voice-item a:hover{
	color: #000;
}
.common-voice-item-img-fit{
	aspect-ratio: 1 / 1.269;
	overflow: hidden;
}
.common-voice-item-img-fit img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.common-voice-post-ttl{
	line-height: 1.9;
	letter-spacing: 0.14em;
}
.common-voice-post-add-name{
	letter-spacing: 0.1em;
}
@media screen and (max-width: 1199px){
	.common-voice-item{
		margin-bottom: 4rem;
	}
	.common-voice-item .common-voice-item-img-fit{
		margin-bottom: 1.6rem;
	}
	.common-voice-post-ttl{
		font-size: 1.3rem;
		margin-bottom: 0.5rem;
	}
	.common-voice-post-add-name{
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1200px){
	.common-voice-item{
		margin-bottom: 9rem;
	}
	.common-voice-item .common-voice-item-img-fit{
		margin-bottom: 2.8rem;
	}
	.common-voice-post-ttl{
		font-size: 1.8rem;
		margin-bottom: 1rem;
	}
	.common-voice-post-add-name{
		font-size: 1.4rem;
	}
}

/* ================================================ */
/* 共通
------------------------------------------------------ */
/*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,.container-single-90,.container-small-100,.container-verysmall,.container-verysmall-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-f9faf8{
	background-color: #f9faf8;
}
.bc-141414{
	background-color: #141414;
}
.bc-292929{
	background-color: #292929;
}
.bc-00693e{
	background-color: #00693e;
}
.bc-ebeee7{
	background-color: #ebeee7;
}
.bc-808080{
	background-color: #808080;
}
.bc-e9f2ee{
	background-color: #e9f2ee;
}

.bc-ccc{
	background-color: #ccc;
}
.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;
}
.bc-f5f5f5{
	background-color: #f5f5f5;
}
/*font*/
.efont {
	font-family: "Cormorant Infant", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.efont-gotxt {
	font-family: "Cormorant Infant","游ゴシック体", "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;
}
.txtmin {
	font-family: "游明朝", 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: "Cormorant Infant", "游明朝", YuMincho,"Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.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-808080{
	color: #808080;
}
.c-f9faf8{
	color: #f9faf8;
}
.c-00693e{
	color: #00693e;
}

.c-787878{
	color: #787878;
}
.c-b9b9b9{
	color: #b9b9b9;
}
.c-001e3c{
	color: #001e3c;
}
.c-54677c{
	color: #54677c;
}
.c-464646{
	color: #464646;
}
.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;
	line-clamp: 1;
    overflow: hidden;
}
.text-2lines {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	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*/
.bdb-1-ccc-s{
	border-bottom: 1px #ccc solid;
}
.bdt-1-ccc-s{
	border-top: 1px #ccc solid;
}

.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;
}
.bdt-1-787878-s{
	border-top: 1px rgba(120,120,120,0.60) solid;
}
.bdb-1-787878-s{
	border-bottom: 1px rgba(120,120,120,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;
}
.maw-240{
	max-width: 24rem;
}
@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*/
	.tbpvr-txt{
		writing-mode: vertical-rl;
		display: inline-block;
		min-height: 10rem;
	}
}
@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-large-single,.container-single-single{
		width: 71.7949%;
	}
	.container-small, .container-large, .container-single,.container-verysmall {
		width: 89.7436%;
	}
	.container-small-small,.container-large-small,.container-single-small,.container-single-1600-small,.container-verysmall-small{
		width: 85.1282%;
	}
	.container-single-90{
		width: 90%;
	}
	.container-large-100,.container-small-100{
		width: 100%;
	}
	/*font*/
	.top-common-e-ttl{
		font-size: 2.2rem;
	}
	.tcet-bottom-j-ttl{
		margin-bottom: 1.4rem;
	}
	.top-bfont{
		font-size: 2.3rem;
	}
	.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;
		line-clamp: 2;
		overflow: hidden;
	}
}
@media screen and (min-width: 1200px) {
	/*container*/
	.container-verysmall,.container-verysmall-small{
		width: 55.5556%;
	}
	.container-single,.container-single-single,.container-single-small,.container-single-90 {
		width: 77.7778%;
	}
	.container-small,.container-small-small,.container-small-100 {
		width: 88.8889%;
	}
	.container-large,.container-large-single,.container-large-small,.container-large-100 {
		width: 93.3333%;
	}
	/*font*/
	.top-common-e-ttl{
		font-size: 2.8rem;
	}
	.tcet-bottom-j-ttl{
		margin-bottom: 1.6rem;
	}
	.top-bfont{
		font-size: 3.6rem;
	}
	.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-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;
		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,.bt_more-a{
	display: block;
	position: relative;
	text-decoration: none;
	letter-spacing: 0.05em;
	z-index: 1;
	transition: .3s;
	border: 2px #333 solid;
	text-align: center;
	color: #333;
}
.bt_more a:hover,.bt_more-a:hover{
	text-decoration: none;
	border-color: #ccc;
	color: #999;
}
.bt_more-inner{
	display: block;
	flex: 1;
	padding-right: 1rem;
}
@media screen and (max-width: 1199px){
	.bt_more a,.bt_more-a{
		font-size: 1.6rem;
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-left: 2rem;
		padding-right: 2rem;
	}
	.bt_more.bt_more-small a{
		font-size: 1.2rem;
		padding-top: 1.35rem;
		padding-bottom: 1.35rem;
		border-radius: 3rem;
	}
}
@media screen and (min-width: 1200px){
	.bt_more a,.bt_more-a{
		font-size: 1.8rem;
		padding-top: 1.2rem;
		padding-bottom: 1.2rem;
		padding-left: 2.4rem;
		padding-right: 2.4rem;
	}
	.bt_more.bt_more-small a{
		font-size: 1.2rem;
		padding-top: 1.35rem;
		padding-bottom: 1.35rem;
	}
}
/*bt_more simple*/
.bt_more-simple{
	display: inline-block;
}
.bt_more-simple a,.bt_more-simpl-a{
	display: inline-block;
	padding-top: 1rem;
	padding-bottom: 1rem;
	padding-right: 2.2rem;
	position: relative;
	color: #000;
	text-decoration: none;
}
.bt_more-simple a:hover,.bt_more-simpl-a:hover{
	color: #000;
}
.bt_more-simple .common-arrow-ani{
	position: absolute;
	top: calc(50% - 1.1rem);
	right: 0;
}
@media screen and (min-width: 1200px){
	.bt_more-simpl-a{
		font-size: 1.3rem;
	}
}

/*******************************
/* フォーム/テーブル
*******************************/
/*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 {
	  aspect-ratio: 1 / 0.618;
	}
}
/*******************************
/* メイン画像
*******************************/
img {
  max-width: 100%;
  height: auto;
}
