@charset "UTF-8";

*{
	box-sizeing:border-box;
	margin:0;
	padding:0;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
}
ul{
	list-style:none;
}

a{
	color: #333;
	text-decoration: none;
}



/*―――― ヘッダー ――――*/
header{
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(128,234,255,1) 100%);	width:100%;
	height:80px;
	padding:0 0 10px;
	position:fixed;
	top:0;
	left:0;
	border-bottom:2px solid #777;
	z-index:90;
}

/*
横幅を決めて左右にできる余白を均等に配分する
これがmargin:0 auto;で要素を左右中心に配置する仕組みです
*/
#head-box{
	display: flex;
	width:1200px;
	margin:0 auto;
}

#header-left{
	display: flex;
	width:1000px;
	justify-content:space-between;
}

.for-img{
	display:block;
	width:250px;
}

.for-img img{
	width:100%;
}

.line{
text-align:right;
}

nav{
	width:600px;
}

nav li{
	border-bottom:3px dotted #274a78;

}

.menu{
	width:600px;
	display:flex;
	justify-content:space-between;
}

.menu__link{
	display: block;
	padding: 8px 20px;
}

.menu__link:hover{
	background-color: #ebebeb;
	color: #666;
}

.drop-menu {
	position: absolute;
	transition: all .3s;
}

.drop-menu__link {
	display: none; 
	background-color: lavender;
	padding: 5px 20px;
}

.drop-menu__link:hover {
	background-color: thistle;
}

/* ドロップダウン出現後のスタイル */
.drop-menu__link.is-active {
	display: block;
}

/* フリーダイヤル */

.tel-box{
	width:200px;
	background: rgb(132,162,212);
	background: linear-gradient(90deg, rgba(132,162,212,1) 0%, rgba(132,162,212,0.7223681709011729) 0%);
	color:#fff;
	text-align:center;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.tel-box dt{
	font-size:0.7rem;
}

.tel-box dd{
	font-size:1.3rem;
}

.tel-box img{
	width:25px;
	position:relative;
	top:1px;
	padding-right:5px;
}


/*―――――レスポンシブ――――――*/

@media screen and (max-width: 1100px) {

	.line{
		position:fixed;
		bottom:10px;
		right:10px;
	}

	.tel-box{
		padding:10px;
		position:fixed;
		bottom:10px;
		left:10px;
		background: rgb(132,162,212);
		background: linear-gradient(90deg, rgba(132,162,212,1) 0%, rgba(132,162,212,0.7223681709011729) 0%);
	}

/* ボタンの基本スタイル */
	#nav-btn{
		position:fixed;
		top:20px;
		right:10px;
		width:75px;
		height:40px;
		border-radius:5px;
		background:#2d596c;
		color:#fff;
		text-align:center;
		line-height:40px;
		font-size:0.8rem;
		cursor:pointer;
	}

/* 疑似要素で「メニュー」文字表示 */
	#nav-btn::before{
		content:'MENU';
	}

/* クラスclose-btnがついたら「閉じる」に上書き */
	#nav-btn.close-btn::before{
		content:'CLOSE';
	}

/* メニューリストの基本スタイルとボタンを押す前の位置 */
	.menu{
		display:block;
		height:100vh;
		position:fixed;
		z-index:90;
		top:92px;
		right:-110vw;
		width:100vw;
		background: rgb(187,200,230);
		background: linear-gradient(90deg, rgba(187,200,230,1) 0%, rgba(187,200,230,0.898838759136467) 0%);		transition:right 1s;
	}

/* ボタンを押した時に上書きされる位置 */
	.menu.btn-active{
		right:0;
	}

/* マウスホバードロップダウンを解除 */
	.drop-menu{
		position: static;
	}

	.drop-menu__link{
		display:block; 
		background: rgb(230,230,250);
		background: linear-gradient(90deg, rgba(230,230,250,1) 0%, rgba(230,230,250,0.9044410000328256) 0%);		padding: 5px 40px;
	}

}


/* -------------ページ全体の背景---------------- */

body{
	background:url(images/111634.jpg);
	margin-top:100px;

}

/* ――――――――メイン動画―――――――― */

#main-pic video{
	width:100%;
	height:auto;
	margin:0 auto;
}


/*――――――――会社紹介――――――――*/


#intro{
	text-align:center;
	line-height:2;
	padding:80px 0;
}

#intro ul{
	width:1000px;
	margin:100px auto 0;
	display:flex;
	justify-content:space-between;
}

#intro li{
	width:32%;
}

#intro a{
	display:block;
	padding:50px 10px;
	border-radius:5px;
	position:relative;
}

#intro span{
	font-size:17px;
	display:block;
	color:#fff;
	width:270px;
	height:46px;
	line-height:46px;
	margin:0 auto;
	border-radius:5px;
	position:absolute;
	top:-23px;
	left:50%;
	transform:translate(-50%,0);
}
/*
上記positionの左右方向動かし方
left:50%; で親の左端から親の横幅の半分右へ
transform:translate(-50%,0); で要素自体の横幅の半分左へ
*/


#intro-A span{
background-color:#6c2d54;
}

#intro-A a{
background-color:rgba(108,45,84,0.2);
}

#intro-B span{
background-color:#2d596c;
}

#intro-B a{
background-color:rgba(45,89,108,0.2);
}

#intro-C span{
background-color:#466c2d;
}

#intro-C a{
background-color:rgba(70,108,45,0.2);
}


/*―――――レスポンシブ――――――*/


@media screen and (max-width: 1020px) {

#intro ul{
	width:80%;
	max-width:400px;
	display:block;
}

#intro li{
	width:100%;
	margin:60px 0;
}

}
@media screen and (max-width: 700px) {
	#intro {
		padding: 40px 0;
  }

	#intro ul {
		margin: 40px auto 0;
	}

	#intro li {
		padding: 20px;
	}

	#intro a {
		padding: 20px;
	}
}

/*――――3つのPoint――――*/
#point{
	padding:10px 10px 30px 10px;
	text-align:center;
	border-top:2px solid #274a78;
}

#point h1{
	background:#274a78/*青藍*/;
	color:#fff;
	text-align:center;
	font-size:1.4rem;
	width:90%;
	font-weight:bold;
	border:4px solid #274a78/*青藍*/;
	border-radius:5px;
	padding:10px 0;
	margin:0 auto 30px;
	position:relative;
	top:-40px;
}

h1{
	text-align:center;
}

#fb1,#fb2,#fb3{
	margin:0 auto;
	display:flex;
	justify-content:center;
}

#fb1 img,#fb2 img,#fb3 img{
	width:400px;
	height:250px;
	transition: all 1.3s;
}

.f-i-img{
	opacity:0;
}

.point1,.point2,.point3{
	background:#fdeff2/*薄桜*/;
	aspect-ratio:1 / 1;
	margin-top:50px;
	margin-bottom:50px;
	width:300px;
	height:200px;
	padding:30px;
	display:flex;
	flex-direction:culumn;
	justify-content:center;
	opacity:0;
	transition: all 2s;

}

.fadeIn {
	opacity:1;
}


/*―――――レスポンシブ――――――*/


@media screen and (max-width: 900px) {
	#point {
		padding: 10px 5px 20px 5px; 
	}

	#point h1 {
		font-size: 1.2rem; 
		width: 100%;
		padding: 8px 0;
		top: -30px;
}
	#point h2 {
		font-size:1rem;
		font-style:bold;
}
	#point p {
		font-size:0.7rem;
}

	#fb1, #fb2, #fb3 {
		flex-direction: column;
		align-items: center;
		margin-bottom: 20px;
	}

	#fb1, #fb3 {
		flex-direction: column-reverse;
	}

	#fb1 img, #fb2 img, #fb3 img {
		width: 50%;
		height: auto;
	}

	.point1, .point2, .point3 {
		width: 50%;
		height: auto;
		padding: 20px;
		margin-top: 0px;
	}
}

/*――――よくある質問――――*/
#q-a{
	background-color:#84a2d4/*青藤色*/;
	padding:10px 10px 30px 10px;
	text-align:center;
}
#q-a h3{
	background:#274a78/*青藍*/;
	color:#fff;
	text-align:center;
	font-size:1.4rem;
	width:90%;
	font-weight:bold;
	border:4px solid #274a78/*青藍*/;
	border-radius:5px;
	padding:10px 0;
	margin:0 auto 30px;
	position:relative;
	top:-30px;
}
.area01{
background-color:#84a2d4/*青藤色*/;
}

.inner {
	max-width:750px;
	margin: 20px auto;
}
.qa_box{
margin-bottom: 20px;
}
.qa_box .qa_q {
	background-color: #274a78/*青藍*/;
	border: 1px solid #274a78/*青藍*/;
	padding: 20px 25px;
	position: relative;
	cursor: pointer;
	color: #fff;
}
.toggle_icon {
	position: absolute;
	top: 50%;
	right: 2rem;
	width: 20px;
	height: 20px;
	margin-top: -15px;
}
.toggle_icon:before{
	position: absolute;
	content: "▼";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
}

.qa_q.open .toggle_icon:before{
	position: absolute;
	content: "―";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
}

.qa_box .qa_a {
	display: none;
	padding: 25px 30px;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	background: #fff;
}

h4{
	padding-left: 35px;
	position: relative;
	line-height: 1.5;
	font-size: 20px;
}

h4::before {
	position: absolute;
	left: 0;
	content: "Q．";
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}

.a_txt {
	display: block;
	padding-left: 35px;
	position: relative;
	line-height: 1.5;
	text-align:left;
}

.a_txt::before {
	position: absolute;
	left: 0;
	content: "A．";
	color: #DE0000;
	font-size: 20px;
	font-weight: bold;
}
#q-a a{
	display:block;
	font-size:1.1rem;
	width:260px;
	font-weight:bold;
	border:4px solid #84a2d4/*青藤色*/;
	border-radius:15px;
	padding:5px;
	text-align:center;
	position:relative;
	background:#fff;
	margin:30px auto 0;
}



.a_txt span{
	font-size:1.3rem;
	color:red;
}
#q-a ul{
	text-align:left;
}

/*―――――レスポンシブ――――――*/


@media screen and (max-width: 1000px) {
	#q-a {
		padding: 10px 5px 20px 5px;
	}

	#q-a h3 {
		font-size: 1.2rem;
		width: 95%;
		padding: 8px 0;
		top: -20px;
	}

	.inner {
		max-width: 90%;
		margin: 10px auto;
}

	.qa_box .qa_q {
		padding: 15px 20px;
		font-size: 0.8rem;
	}

	.toggle_icon {
		right: 0.8rem;
		width: 15px;
		height: 15px;
	}

	.qa_box .qa_a {
		padding: 20px 25px;
	}

	h4 {
		font-size: 1.2rem;
	}

	.a_txt {
		font-size: 0.95rem;
		padding-left: 25px;
	}

	.a_txt span {
		font-size: 1.1rem;
	}

	#q-a a {
		font-size: 1rem;
		width: 90%;
		padding: 10px;
		border-radius: 10px;
		margin: 20px auto 0;
	}
}

@media screen and (max-width: 700px) {
	#q-a {
		padding: 10px 5px 20px 5px;
	}

	#q-a h3 {
		font-size: 1.2rem;
		width: 95%;
		padding: 8px 0;
		top: -20px;
	}

	.inner {
		max-width: 90%;
		margin: 10px auto;
	}

	.qa_box {
		width: 100%;
	}

	.qa_q, .qa_a {
		padding: 15px;
	}

	.toggle_icon {
		right: 10px;
	}

	h4, .a_txt {
		font-size: 1rem;
	}

	#q-a a {
		width: 90%;
		margin: 20px auto 0;
	}
}

footer{
	background-color:#274a78/*青藍*/;
	color:#fff;
	text-align:center;
}
