@charset "utf-8";
/* CSS Document */

*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

img{
	vertical-align:bottom;
	max-width:100%;
}

html{
	font-size:62.5%;
}

body{
	font-size:1.8rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
	color:#333333;
	line-height:1.6;
}

a{
	text-decoration:none;
}

ul,ol{
	list-style:none;
}

h1{
	margin:0 auto;
	width:300px;
}

h2{
	font-weight:700;
	font-size:2.8rem;
	text-align:center;
	color:#0068ff;
	margin-bottom:30px;
}

header{
	padding:20px 0;
	background-color:#ffffff;
}

.inner{
	margin:0 auto;
	padding:0 15px;
}

.cta{
	padding:20px 0;
}

.cta1{
	display:none;
}

.cta p{
	width:200px;
	font-size:2.0rem;
	margin:0 auto 20px;
	border-radius:2.0rem;
	text-align:center;
	font-weight:700;
	line-height:4.6rem;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .5);
}

.cta p:first-child{
	background-color:#FF1E00;
}

.cta p:last-child{
	background-color:#FFAA00;
}

.cta p a{
	display:block;
	color:#ffffff;
}

.top{
	height:500px;
	background-image:url("../images/ai77.png");
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	position:relative;
}

.top p{
	font-weight:700;
	background-color:#ffffff;
}

.top p:first-child{
	position:absolute;
	padding:0 17px;
	font-size:2.0rem;
	line-height:4.0rem;
	bottom:200px;
	right:0px;
}

.top p:nth-child(2), .top p:nth-child(3){
	position:absolute;
	padding:0 17px;
	font-size:2.8rem;
	line-height:5.2rem;
	right:0px;
}

.top p:nth-child(2){
	bottom:125px;
}

.top p:nth-child(3){
	bottom:50px;
}

.nayami-container{
	padding:60px 0 40px;
	background-color:#0068ff;
}

.nayami{
	text-align:center;
	font-weight:700;
	font-size:2.4rem;
	color:#ffffff;
	margin-bottom:15px;
}

.nayami-contents{
	padding:10px;
	margin-bottom:30px;
	background-color:#ffffff;
}

.nayami-contents ul{
	border:solid 2px #0015FF;
	padding:10px;
	font-size:2.0rem;
}

.nayami-contents ul li:before{
	content:"\f14a";
	font-family: "Font Awesome 6 Free";
	color:#FF1E00;
	display:inline-block;
	padding-right:1.0rem;
}

.omakase{
	text-align:center;
	font-size:2.4rem;
	font-weight:600;
	color:#ffffff;
	margin-bottom:15px;
}

.omakase span{
	color:#FF1E00;
	font-weight:700;
	font-size:3.2rem;
	display:inline-block;
	padding-right:0.8rem;
}

.service{
	padding:60px 0;
	background-color:#eeeeee;
}

.service-container div{
	width:90%;
	margin:0 auto 40px;
	padding:10px 10px 25px;
	border-radius:10px;
	background-color:#ffffff;
	text-align:center;
}

.service-container div h3{
	font-size:2.2rem;
	margin-bottom:10px;
}

.service-container div figure{
	width:75%;
	margin:0 auto 5px;
}

.service-container div figure img{
	width:100%;
}

.zirei{
	padding:60px 0;
}

.zirei-contents{
	margin-bottom:50px;
}

.zirei-contents figure{
	width:75%;
	margin:0 auto 20px;
}

.zirei-contents figure img{
	width:100%;
}

.zirei-contents h3{
	font-size:2.2rem;
	text-align:center;
	margin-bottom:15px;
}

.zirei-contents dl div{
	display:flex;
	justify-content:flex-start;
	margin-bottom:10px;
}

.zirei-contents dl div:last-of-type{
	color:#0068ff;
}

.zirei-contents dl dt{
	width:14%;
	font-weight:700;
}

.zirei-contents dl dd{
	width:80%;
}

.zirei-contents dl div:last-child dd{
	color:#ffffff;
	background-color:#0068ff;
	padding:10px;
	border-radius:5px;
	font-weight:700;
	font-size:2.0rem;
}

.gyousyu > p{
	font-size:2.0rem;
	font-weight:700;
	text-align:center;
	margin-bottom:20px;
	color:#0068ff;
}

.gyousyu ul li ul{
	display:flex;
	justify-content:space-between;
	width:345px;
	margin:0 auto;
}

.gyousyu ul li ul li{
	width:75px;
	padding:10px;
	border:solid 3px #0068ff;
	border-radius:10px;
	margin-bottom:15px;
}

.gyousyu ul li ul li figure{
	width:80%;
	margin:0 auto 5px;
}

.gyousyu ul li ul li p{
	text-align:center;
	color:#0068ff;
	font-size:1.2rem;
	font-weight:600;
}

.keiyaku{
	padding:60px 0 40px;
	background-color:#eeeeee;
}

.keiyaku ol li{
	width:90%;
	margin:0 auto 30px;
	background-color:#ffffff;
	border:solid 2px #0068ff;
	border-radius:10px;
}

.keiyaku ol li .step{
	text-align:center;
	font-size:2.2rem;
	font-weight:600;
	color:#ffffff;
	background-color:#0068ff;
	line-height:5.0rem;
	border-radius:10px 10px 0 0;
}

.keiyaku ol li div{
	padding:15px;
}

.keiyaku ol li div figure{
	width:40%;
	margin:20px auto;
}

.keiyaku ol li div p{
	text-align:center;
	font-weight:700;
	font-size:2.2rem;
	margin-bottom:15px;
}

.aisatsu{
	padding:60px 0;
}

.aisatsu figure{
	width:85%;
	margin:0 auto 20px;
}

.aisatsu p:first-of-type{
	margin-bottom:20px;
}

.faq{
	padding:60px 0;
	background-color:#eeeeee;
}

.ac {
  width: 100%;
  margin: 0 auto;
}

.ac-parent {
	position: relative;  /* 追加 */
	border-bottom: 1px solid #ffffff;
	background-color: #0068ff;
	color: #ffffff;
	padding:10px 30px 10px 1.0rem;
	cursor: pointer;
}

/* 擬似要素で下三角形を作成 */
.ac-parent:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 45%;
	right: 15px;
	width: 10px;
	height: 10px;
	border-right: 3px solid #ffffff;
	border-bottom: 3px solid #ffffff;
	transform: translateY(-50%) rotate(45deg);
	transition: .3s;
}

/* オープン時にopenクラスを付与 */
.ac-parent.open:after {
	transform: rotate(225deg);
}

.ac-child {
  display: none;
  padding: 1em 0.5em;
  background-color: #ffffff;
  text-align: center;
}

.contact{
	padding:60px 0 40px;
	background-color:#0068ff;
	color:#ffffff;
}

.contact h2{
	color:#ffffff;
}

.contact form{
	margin:0 auto 50px;
	width:85%;
}

.contact form div{
	margin-bottom:20px;
}

.contact form label{
	display:block;
	margin-bottom:7px;
}

.contact form label span{
	display:inline-block;
	background-color:#ff0000;
	padding:3px 7px;
	margin-left:8px;
	font-size:1.4rem;
}

.contact form input[type="text"],.contact form input[type="email"],.contact form textarea{
	width:100%;
	padding:0 5px;
	line-height:3.5rem;
	border:0;
	border-radius:5px;
	background-color:#eeeeee;
}

.contact form textarea{
	resize:none;
	line-height:1.5;
	padding:5px;
	height:120px;
}

.contact form input[type="submit"]{
	display:block;
	width:150px;
	background-color:#ff0000;
	font-size:2.0rem;
	font-weight:500;
	color:#ffffff;
	line-height:4.0rem;
	border:0;
	border-radius:10px;
	margin-left:auto;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .5);
}

.gaiyou{
	padding:60px 0;
}

.gaiyou dl div{
	display:flex;
	justify-content:flex-start;
	border-bottom:solid 1px #333333;
	padding:10px;
}

.gaiyou dl div:first-child{
	border-top:solid 1px #333333;
}

.gaiyou dl dt{
	width:30%;
	font-weight:700;
}

.gaiyou dl dd{
	width:66%;
}

footer{
	text-align:center;
	padding:30px 0;
	color:#ffffff;
	background-color:#333333;
}

footer p:first-child{
	margin-bottom:15px;
}

footer p:first-child a{
	text-decoration:underline;
	color:#ffffff;
}

@media screen and (min-width:768px){
	
	.inner{
		padding:0 30px;
	}
	
	h1{
		margin:0;
	}
	
	h2{
		font-size:3.6rem;
		margin-bottom:50px;
	}
	
	header .inner{
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	
	.cta{
		display:flex;
		justify-content:space-between;
		align-items:center;
		width:430px;
		margin:0 auto;
	}
	
	.cta1{
		margin:0;
		padding:0;
	}
	
	.cta1 p{
		margin:0;
	}
	
	.top p:first-child{
		font-size:2.6rem;
		line-height:4.4rem;
		bottom:240px;
	}

	.top p:nth-child(2), .top p:nth-child(3){
		font-size:3.4rem;
		line-height:5.8rem;
	}

	.top p:nth-child(2){
		bottom:145px;
	}

	.top p:nth-child(3){
		bottom:50px;
	}
	
	.nayami-container{
		padding:100px 0 80px;
	}
	
	.nayami{
		font-size:3.0rem;
		margin-bottom:50px;
	}
	
	.nayami-contents{
		width:85%;
		margin:0 auto 50px;
	}
	
	.nayami-contents ul{
		padding:20px;
		line-height:1.8;
	}
	
	.omakase{
		font-size:3.2rem;
		margin-bottom:40px;
	}
	
	.omakase span{
		font-size:4.0rem;
	}
	
	.service{
		padding:100px 0 60px;
	}
	
	.service-container{
		display:flex;
		justify-content:space-between;
		align-items:flex-start;
	}
	
	.service-container div{
		width:40%;
		padding:20px 20px 40px;
		margin-bottom:60px;
	}
	
	.zirei{
		padding:100px 0;
	}
	
	.zirei-contents{
		display:flex;
		justify-content:space-between;
		align-items:center;
		margin-bottom:70px;
	}
	
	.zirei-contents:last-of-type{
		flex-direction:row-reverse;
	}
	
	.zirei-contents figure{
		width:30%;
	}
	
	.zirei-contents > div{
		width:60%;
	}
	
	.zirei-contents > div:last-of-type{
		margin-left:25px;
	}
	
	.zirei-contents div h3{
		margin-bottom:25px;
	}
	
	.gyousyu ul{
		display:flex;
		justify-content:space-between;
		width:705px;
		margin:0 auto;
	}
	
	.gyousyu ul li:first-of-type ul{
		margin-right:15px;
	}
	
	.keiyaku{
		padding:100px 0 80px;
	}
	
	.keiyaku ol{
		width:85%;
		display:flex;
		justify-content:space-between;
		align-items:flex-start;
		margin:0 auto 20px;
	}
	
	.keiyaku ol li{
		width:30%;
	}
	
	.aisatsu{
		padding:100px 0;
	}
	
	.aisatsu-container{
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	
	.aisatsu-container figure{
		width:30%;
		margin-bottom:0;
	}
	
	.aisatsu-container div{
		width:60%;
	}
	
	.faq{
		padding:100px 0;
	}
	
	.ac{
		width:85%;
		max-width:800px;
	}
	
	.ac-parent{
		padding-left:30px;
	}
	
	.contact{
		padding:100px 0;
	}
	
	form{
		max-width:800px;
	}
	
	.gaiyou{
		padding:100px 0;
	}
	
	.gaiyou dl{
		width:85%;
		max-width:800px;
		margin:0 auto;
	}
	
	.gaiyou dl dt{
		width:25%;
	}
	
	.gaiyou dl dd{
		width:65%;
	}
}

@media screen and (min-width:1025px){
	
	.inner{
		width:1024px;
		margin:0 auto;
	}
	
}
