@charset "utf-8";
*{
	box-sizing: border-box;

}
body,h1,h2,h3,h4,h5,form,ul,li,p,figure{
	list-style: none;
	padding: 0;
	margin: 0;
	font-family: "Zen Old Mincho", serif;
}

input[type=text],
input[type=email],
input[type=tel],
textarea{
	border: 1px solid #ccc;
	padding: 12px;
	border-radius: 4px;
	width: 100%;
	outline: none;
	font-size: 16px;
}

.swiper-container-wrapper {
  width: 100vw;
  height: 100vh;
}
.swiper-slide {
  pointer-events: none;
}
.mv{
	position: fixed;
	width: 100%;
	top:0;
	left: 0
}
.slides{
	position: absolute;
	left: 0;
	top:0;
	width: 100%;
	z-index: 0;
}
.mv .swiper-slide img{
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    object-position: center center;
    display: block;
}
.logo{
	margin-bottom: 10px;
	width: 460px;
}
.logo img{
	width: 100%;
	height: auto
}
.mv h2{
	color: #FFF;
	text-align: center;
	font-weight:bold;
}
.container{
	position: absolute;
	top:0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 200vh
}
.mv-cnt{
	width: 100%;
	height: 70vh;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;

}
.mv-cnt h2{
	color: #FFF;
	font-size: 22px;
	letter-spacing: 2px;
	font-weight: normal;
}

.cnt-1{
	color: #FFF;
	padding-left: 15%;
	padding-bottom: 200px;
}
.cnt-1 h2{
	font-size: 36px;
	margin-bottom: 40px;
}
.cnt-1 h3{
	margin-bottom: 30px;
}
.cnt-1 h3 p{
	color: #FFF;
	font-size: 24px;
	border-bottom: 1px solid #fff;
	padding-bottom: 9px;
	margin-bottom: 15px;
	line-height: 1;
	display: inline-block;
}
.cnt-1 p{
	line-height: 250%;
	font-size: 20px;
}

.cnt-2{
	background: #333;
	padding: 100px 0;
	margin-bottom: 400px;
}
.inner{
	width: 1100px;
	margin: 0 auto;
}
.h2{
	color: #FFF;
	margin-bottom: 35px;
	letter-spacing: 2px
}
.works-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.works-list li{
	width: 31%;
	margin-bottom: 30px;
}
.works-list img{
	width: 100%;
	height: auto
}

.works-list p{
	color: #FFF;
	font-size: 15px;
	padding-top: 4px;
	text-align: center;
	margin-bottom: 8px
}
.works-list span{
	color: #FFF;
	font-size: 13px;
	padding-top: 4px;
	text-align: center;
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 100px;
	line-height: 1;
	padding: 4px 10px;
	margin-right: 5px;
}
.cnt-3{
	background: #2C453B;
	padding: 100px 0;
	margin-bottom: 400px;
}
.box1{
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.box1 .item1{
	width: 28%;
}

.box1 .item2{
	width: 68%;
}
.box1 .item2 h3{
	color: #FFF;
	font-size: 34px;
	margin-bottom: 20px;
}
.box1 .item2 p{
	color: #FFF;
	line-height: 200%;
	margin-bottom: 10px;
}
.ceo{
	color: #FFF;
	text-align: right
}
.box2{
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}
.box2 .item{
	width: 31%;
}
.box2 .item h4{
	color: #FFF;
	margin-bottom: 5px;
	text-align: center;
	font-size: 20px;
}
.box2 .item p{
	color: #FFF;
	padding-top: 5px;
}
.box2 .item figure{
	margin-bottom: 5px;
}
.box2 .item img{
	width: 100%;
	height: auto
}
.slist{
	
}
.slist li{
	display: flex;
	color: #FFF;
	justify-content: space-between;
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #ccc;
}

.slist li:last-child{
	border: none;
	margin-bottom: 0;
}
.slist li img{
	width: 100%;
	height: auto
}
.slist li .item1{
	width: 300px;
}
.slist li .item2{
	width: 770px;
}
.slist li .item2 h3{
	margin-bottom: 8px
}
.tbx{
	background: #ffff;
	padding: 20px;
	text-align: center;
	margin-bottom: 40px;
}
.tbx h3{
	font-size: 22px;
	margin-bottom: 10px;
}
.cnt-4{
	background: #2C453B;
	padding: 100px 0;
	margin-bottom: 400px;
}
.tit1{
	text-align: center;
	font-size: 32px;
	color: #FFF;
	margin-bottom: 50px;
	border-bottom: 3px double #FFF;
	padding-bottom: 15px;
}
.tit1.bk{
	color: #333;
	border-bottom: 3px double #333;
}
.tit1 div{
	font-size: 17px;
}
.cnt-5{
	background: #FFF;
	padding: 100px 0;
	margin-bottom: 400px;
}
.sns{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 40px;
}
.sns li{
	background-image: url("../img/insta.png");
	background-repeat: no-repeat;
	background-size: 50px auto;
	padding-left: 60px;
}
.sns li:last-child{
	border: none
}
.sns li a{
	color: #FFF;
	text-decoration: none;
	display: block;
	padding-right: 25px;
}
#faq_list{
	padding-bottom: 50px;
}
#faq_list .item{
	
}
#faq_list .q{
	display: flex;
	margin-bottom: 10px;
	padding: 20px 10px 10px 10px;
	font-weight: bold;
	border-top: 1px dashed #041C75;
}
#faq_list .item:first-child .q{
	border: none;
}
#faq_list .q div,
#faq_list .answer .inr div{
	color: #041C75;
	font-size: 47px;
	width: 60px;
	font-weight: bold;
	line-height: 1;
	text-align: center
}
#faq_list .q p,#faq_list .answer p{
	padding-top: 14px;
	padding-left: 10px;
	font-size: 20px;
	width: calc(100% - 60px - 62px);
}
#faq_list .answer p{
	font-size: 17px;
}
#faq_list .answer{
	display: none;
	margin-bottom: 20px;
}
#faq_list .answer .inr{
	display: flex;
	background: #F5F5F5;
	padding: 10px;

}
#faq_list .answer .inr div{
	color: #A12828;

}
#faq_list .q a{
	text-decoration: none;
	display: block;
	width: 62px;
}
#faq_list .q a img{
	width: 100%;
	height: auto;
}
.faq_close{
	display: none 
}
.plist{
	
}
.plist-li{
	display: flex;
	border-bottom: 1px solid #fff;
	padding: 20px 0 40px 0;
	margin-bottom: 40px;
}
.plist-li .item1{
	width: 60%;
	color: #FFF;
}
.plist-li .item2{
	width: 40%;
}
.plist-li .item2{
	display: flex
}
.plist-li .item2 img{
	width: 98%;
	height: auto;
	border-radius: 5px;
}
.plist-li .item2 div{
	width: 50%; 
}
.plist-li .item2 p{
	color: #FFF;
	text-align: center;
	font-size: 15px;
	padding-top: 4px;

}
.txt1{
	color:#FFF;
	font-size: 17px;
	line-height: 200%;
	padding-bottom: 40px;
	text-align: center;
}
.sp{ display: none }
.pc{ display: block }
.plist-li .item1{
	padding-right: 30px;
}
.plist-li .item1 p{
	padding-bottom: 30px;
}
.plist-li .item1 strong{
	display: block;
	margin-bottom: 10px;
	font-size: 22px;
	border-left: 4px solid #FFF;
	padding-left: 10px;
}
.plist-li .price{
	text-align: right;
	font-size: 16px;
}
.plist-li .price span{
	text-align: right;
	font-size: 20px;
	display: inline-block;
	padding: 0 5px;
}
.plist-li ul{
	display: flex;
	flex-wrap: wrap;
}
.plist-li ul li{
	font-size: 12px;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 6px;
	border: 1px solid #ccc;
	margin: 0 5px 5px 0;
}
.plist-li h4{
	font-size: 20px;
	margin-bottom: 10px;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
	margin-bottom: 10px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.ta1{
	width: 100%;
	margin-bottom: 40px;
}
.ta1 td,.ta1 th{
	padding: 15px;
	border-bottom: 1px dashed #333;
}
.ta1 th{
	background: #eee;
	width: 200px;
}
.ta2{
	width: 100%;
	margin-bottom: 40px;
}
.ta2 td,.ta2 th{
	padding: 15px;
	border-bottom: 1px dashed #fff;
	color: #FFF !important;
	font-weight: bold
}
.ta2 th{

	width: 200px;
}
#privacy{
	font-size: 14px;
	height: 300px;
	overflow-y: auto;
	width: 100%;
	padding: 15px;
	border: 1px solid #ccc;
	margin-bottom: 30px
}
#privacy p{
	padding-bottom: 15px;
}
.contact .txt1{
	color: #333;	
}
.btn1{
	display: block;
	width: 180px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	background: #041C75;
	border-radius: 4px;
	color: #FFF;
	border: none;
	padding: 15px;
	line-height: 1;
	margin: 0 auto 40px auto;
	text-decoration: none;
}
footer{
	padding:40px 0;
	background: #2C453B;
}
#ftr_logo{
	width: 300px;
	margin: 0 auto 20px auto;
}
#ftr_logo img{
	width: 100%;
	height: auto
}
#ftr_address{
	font-size: 15px;
	text-align: center;
	color: #FFF;
}

#copyright{
	font-size: 15px;
	text-align: center;
	color: #FFF;
}
.scroll{
	width: 35px;
	position: fixed;
	right: 15px;
	top: 50%;
	z-index: 100;
}
.cnt-7{
	background: #4D4D00;
	padding: 100px 0;
	margin-bottom: 400px;

}
.cnt-7 *{
	color: #FFF
}

.cnt-7 ul{
	display: flex;
	width: 100%;
	justify-content: space-between;
	gap:30px;
	margin-bottom: 70px;
}
.cnt-7 li{
	width: 33.3%;
	display: block;
}
.cnt-7 h2{
	border-color: #FFF !important;
}
.cnt-7 h4{
	text-align: center;
	margin-bottom: 20px;
	font-size: 16px;
	display: flex;
	justify-content: center;
	align-items: center
}
.cnt-7 h4 img{
	display: block;
	margin-right: 10px;
}
.cnt-7 h4 span{
	display: block
}
.cnt-7 ul p{
	height: 300px;
	overflow-y: auto;
	font-size: 14px;
	line-height: 180%;
	padding-right: 10px;
}
.cnt-7 ul p::-webkit-scrollbar {
  width: 8px; /* 幅を狭くする */
}

/* スクロールバーのトラック部分（背景） */
.cnt-7 ul p::-webkit-scrollbar-track {
  background: #f0f0f0; /* 背景色 */
  border-radius: 4px;
}

/* スクロールバーのつまみ部分 */
.cnt-7 ul p::-webkit-scrollbar-thumb {
  background: #888; /* 色 */
  border-radius: 4px;
}

/* ホバー時のつまみ */
.cnt-7 ul p::-webkit-scrollbar-thumb:hover {
  background: #555; /* ホバー時の色 */
}
@media screen and (max-width: 768px) {
	.logo{
		width: 90%;
		margin: 0 auto
	}
	.mv h2{
		color: #FFF;
		text-align: center;
		font-weight:bold;
	}
	.container{
		position: absolute;
		top:0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 200vh
	}
	.mv-cnt{
		width: 100%;
		height: 70vh;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;

	}
	.mv-cnt h2{
		color: #FFF;
		font-size: 22px;
		letter-spacing: 2px;
		font-weight: normal;
	}

	.cnt-1{
		color: #FFF;
		padding-left: 5%;
		padding-bottom: 100px;
	}
	.cnt-1 h2{
		font-size: 32px;
		margin-bottom: 30px;
	}
	.cnt-1 h3{
		margin-bottom: 20px;
	}
	.cnt-1 h3 p{
		color: #FFF;
		font-size: 22px;
		border-bottom: 1px solid #fff;
		padding-bottom: 9px;
		margin-bottom: 15px;
		line-height: 1;
		display: inline-block;
	}
	.cnt-1 p{
		line-height: 250%;
		font-size: 18px;
	}
	.inner{
		width: 96%;
		margin: 0 auto;
	}
	.cnt-2{
		background: #333;
		padding: 100px 0;
		margin-bottom: 400px;
	}

	.h2{
		color: #FFF;
		margin-bottom: 35px;
		letter-spacing: 2px
	}
	.works-list{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.works-list li{
		width: 50%;
		margin-bottom: 30px;
	}
	.works-list p{
		color: #FFF;
		font-size: 15px;
		padding-top: 4px;
		text-align: center;
		margin-bottom: 8px
	}
	.works-list span{
		color: #FFF;
		font-size: 13px;
		padding-top: 4px;
		text-align: center;
		display: inline-block;
		border: 1px solid #ccc;
		border-radius: 100px;
		line-height: 1;
		padding: 4px 10px;
		margin-right: 5px;
	}
	.cnt-3{
		background: #2C453B;
		padding: 100px 0;
		margin-bottom: 400px;
	}
	.box1{
		display: flex;
		justify-content: space-between;
		margin-bottom: 50px;
		flex-wrap: wrap
	}
	.box1 .item1{
		width: 96%;
		text-align: center;
		margin: 0 auto
	}

	.box1 .item2{
		width: 100%;
	}
	.box1 .item2 h3{
		color: #FFF;
		font-size: 30px;
		padding-top: 30px;
		line-height: 140%;
		text-align: center;
		margin-bottom: 20px;
	}
	.box1 .item2 p{
		color: #FFF;
		line-height: 200%;
		margin-bottom: 30px;
	}
	.ceo{
		color: #FFF;
	}
	.box2{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 80px;
	}
	.box2 .item{
		width: 100%;
		padding-bottom: 30px
	}
	.box2 .item h4{
		color: #FFF;
		margin-bottom: 5px;
		text-align: center;
		font-size: 20px;
	}
	.box2 .item p{
		color: #FFF;
		padding-top: 5px;
	}
	.box2 .item figure{
		margin-bottom: 5px;
	}
	.box2 .item img{
		width: 100%;
		height: auto
	}
	.slist{

	}
	.slist li{
		display: flex;
		flex-wrap: wrap;
		color: #FFF;
		justify-content: space-between;
		margin-bottom: 30px;
		padding-bottom: 30px;
		border-bottom: 1px solid #ccc;
	}

	.slist li:last-child{
		border: none;
		margin-bottom: 0;
	}
	.slist li img{
		width: 100%;
		height: auto
	}
	.slist li .item1{
		width: 100%;
	}
	.slist li .item2{
		width: 100%;
	}
	.slist li .item2 h3{
		margin-bottom: 8px;
		text-align: center;
		padding-top: 8px;
	}
	.tbx{
		background: #ffff;
		padding: 20px;
		text-align: center;
		margin-bottom: 40px;
	}
	.tbx h3{
		font-size: 22px;
		margin-bottom: 10px;
	}
	.cnt-4{
		background: #2C453B;
		padding: 100px 0;
		margin-bottom: 400px;
	}
	.tit1{
		text-align: center;
		font-size: 28px;
		color: #FFF;
		margin-bottom: 50px;
		border-bottom: 3px double #FFF;
		padding-bottom: 15px;
	}
	.tit1.bk{
		color: #333;
		border-bottom: 3px double #333;
	}
	.tit1 div{
		font-size: 17px;
	}
	.cnt-5{
		background: #FFF;
		padding: 100px 0;
		margin-bottom: 400px;
	}
	.sns{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-top: 40px;
		flex-wrap: wrap;
	}
	.sns li{
		background-image: url("../img/insta.png");
		background-repeat: no-repeat;
		background-size: 50px auto;
		padding-left: 60px;
	}
	.sns li:last-child{
		border: none
	}
	.sns li a{
		color: #FFF;
		text-decoration: none;
		display: block;
		padding-right: 25px;
	}
	
	#faq_list .item{

	}
	#faq_list .q{
		display: flex;
		margin-bottom: 10px;
		padding: 20px 10px 10px 10px;
		font-weight: bold;
		border-top: 1px dashed #041C75;
	}

	#faq_list .q div,
	#faq_list .answer .inr div{
		color: #041C75;
		font-size: 32px;
		width: 40px;
		font-weight: bold;
		line-height: 1;
		text-align: left
	}
	#faq_list .q p,#faq_list .answer p{
		padding-top: 7px;
		padding-left: 0px;
		font-size: 20px;
		width: calc(100% - 40px - 42px);
	}
	#faq_list .answer p{
		font-size: 17px;
	}
	#faq_list .answer{
		display: none;
		margin-bottom: 20px;
	}
	#faq_list .answer .inr{
		display: flex;
		background: #F5F5F5;
		padding: 10px;

	}
	#faq_list .answer .inr div{
		color: #A12828;

	}
	#faq_list .q a{
		text-decoration: none;
		display: block;
		width: 42px;
	}
	#faq_list .q a img{
		width: 100%;
		height: auto;
	}
	.faq_close{
		display: none 
	}
	.sp{ display: block }
	.pc{ display: none }
	
.plist{
	
}
.plist li{
	display: flex;
	border-bottom: 1px solid #fff;
	padding: 20px 0 40px 0;
	margin-bottom: 40px;
	flex-wrap: wrap
}
.plist li .item1{
	width: 100%;
	color: #FFF;
}
.plist li .item2{
	width: 100%;
}
.plist li .item2{
	display: flex
}
.plist li .item2 img{
	width: 98%;
	height: auto;
	border-radius: 5px;
}
.plist li .item2 div{
	width: 50%; 
}
.plist li .item2 p{
	color: #FFF;
	text-align: center;
	font-size: 15px;
	padding-top: 4px;

}
.txt1{
	color:#FFF;
	font-size: 17px;
	line-height: 200%;
	padding-bottom: 40px;
	text-align: center;
}

.plist .item1{
	padding-right: 0px;
}
.plist .item1 p{
	padding-bottom: 30px;
}
.plist .item1 strong{
	display: block;
	margin-bottom: 10px;
	font-size: 22px;
	border-left: 4px solid #FFF;
	padding-left: 10px;
}
.plist .price{
	text-align: right;
	font-size: 16px;
	margin-bottom: 15px;
}
.plist .price span{
	text-align: right;
	font-size: 20px;
	display: inline-block;
	padding: 0 5px;
}
	
.ta1{
	width: 100%;
	margin-bottom: 40px;
}
.ta1 td,.ta1 th{
	display: block;
	width: 100%;
}
.ta1 th{
	background: #eee;
	width: 100%;
}
.ta2{
	width: 100%;
	margin-bottom: 40px;
}
.ta2 td,.ta2 th{
	padding: 15px;
	border-bottom: 1px dashed #fff;
	color: #FFF !important;
	font-weight: bold
}
.ta2 th{

	width: 200px;
}
	.cnt-7{
		padding: 100px 0;
		margin-bottom: 400px;
	}
.cnt-7 ul{
	display: block;
	width: 100%;

	margin-bottom: 70px;
}
.cnt-7 li{
	width: 100%;
	padding: 0 10%;
	display: block;
	margin-bottom: 60px;
}
.cnt-7 li p{
	height: auto
}
}