@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.home .mv{
	position:relative;
}

.home .mv .box{
	display:flex;
	justify-content:space-between;
}

.home .mv .box-in{
	position:relative;
}

.home .mv .box-in .txt-ico{
	position:absolute;
	left:0;
	right:0;
	bottom:16%;
	margin:0 auto;
	z-index:6;
	text-align:center;
	animation: fuwafuwa 5s ease 0s infinite;
}

@keyframes fuwafuwa{
    0% {
        transform: translate(0, 0);
    }
    50% {
        transform: translate(0, -10%);
    }
    100% {
        transform: translate(0, 0);
    }
}

.home .mv h1{
	margin:-90px 0 0 0;
}

.home .mv .txt{
	margin:130px 0 0 0;
}

.home .mv .img{
	position:absolute;
	bottom:-150px;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
	z-index:2;
}

@media screen and (max-width: 1120px) {
.home .mv .img{
	width:700px;
}
}

.home .mv .ico{
	position:absolute;
	bottom:-400px;
	left:-100px;
}

.about{
	padding:300px 20px 120px 20px;
	background:#F8F6F0;
}

.about .img01{
	position:absolute;
	right:-30px;
	top:-100px;
}

.about .img02{
	position:absolute;
	left:20px;
	top:100px;
}

.about .img03{
	position:absolute;
	left:-30px;
	bottom:-150px;
}

.about .box{
	display:flex;
	justify-content:space-between;
}

.about h2{
	padding:0 0 0 280px;
}

.about .txt-box{
	width:350px;
	padding:300px 0 0 0;
}

.about .txt-box h3{
	font-size:24px;
	color:#B2976E;
	line-height:1.6;
	font-weight:500;
}

.about .txt-box h3 span{
	font-style:italic;
	font-size:13px;
	color:#333333;
	font-family: "Roboto", sans-serif;
	display:block;
}

.about .txt-box .txt{
	padding:20px 0 0 0;
	line-height:1.8;
}

.insta{
	padding:120px 20px;
	background:#F8F6F0;
	text-align:center;
}

.insta h2{
	padding:0 0 50px 0;
}

.service{
	padding:120px 20px;
	background:#B2A684;
	position:relative;
}

.service .box{
	display:flex;
	justify-content:space-between;
}

.service .txt-box{
	width:810px;
}

.service .txt-box .txt{
	text-align:center;
	color:#fff;
	font-size:20px;
	line-height:2.4;
}

.service ul{
	padding:60px 0 0 0;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.service ul li{
	width:400px;
	height:360px;
	background:#FFFFFF;
	text-align:center;
	margin:0 0 10px 0;
}

.service ul li .ico{
	height:180px;
	display:flex;
	justify-content:center;
	align-items:center;
}

.service ul li dl dt{
	font-size:24px;
	line-height:1.6;
	padding:0 0 10px 0;
}

.service ul li dl dd{
	line-height:1.6;
}

.service .wave{
	position:absolute;
	right:-200px;
	bottom:-600px;
}

.menu{
	padding:120px 0 0 20px;
	position:relative;
}

.menu .img01{
	position:absolute;
	left:0;
	top:-240px;
	animation: fuwafuwa 5s ease 0s infinite;
}

.menu .img02{
	position:absolute;
	bottom:-120px;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
}

.menu h2{
	position:absolute;
	top:120px;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
}

.menu .box{
	display:flex;
	justify-content:space-between;
}

.menu .b-box{
	width:520px;
	order:2;
	margin:0 -200px -120px 0;
}

.menu .b-box .box-in{
	padding:40px;
	color:#fff;
	background:#333333;
}

.menu .b-box .box-in .txt{
	font-size:18px;
	line-height:1.8;
}

.menu .b-box .box-in dl{
	padding:20px 0 0 0;
}

.menu .b-box .box-in dl dt{
	font-size:22px;
	line-height:1.6;
	padding:0 0 10px 0;
	color:#989898;
}

.menu .b-box .box-in ul{
	padding:20px 0 10px 0;
}

.menu .b-box .box-in ul li{
	position:relative;
	padding:0 0 10px 20px;
}

.menu .b-box .box-in ul li:after{
	content:"";
	width:8px;
	height:8px;
	background:#C3C3C3;
	border-radius:50%;
	position:absolute;
	left:0;
	top:11px;
}

.menu .b-box .box-in ul li h3{
	font-size:18px;
	line-height:1.6;
	padding:0 0 5px 0;
	color:#989898;
	font-weight:500;
}

.menu .b-box .box-in ul li p{
	line-height:1.6;
}

.menu .l-box{
	margin:260px 340px 0 0;
	min-width:325px;
	width:325px;
	box-sizing:border-box;
}

@media screen and (max-width: 1500px) {
.menu{
	padding:120px 20px 0 20px;
}	
	
.menu h2{
	position:static;
}

.menu .box {
    display:block;
}

.menu .img01 {
    top: -680px;
}
	
.menu .b-box{
	margin:80px auto 0;
	width:100%;
}
	
.menu .b-box .img{
	height:240px;
	background:url(../img/top/menu-photo02.jpg) no-repeat center center;
	background-size:cover;
}
	
.menu .b-box .img img{
	display:none
}

.menu .l-box {
    margin: 60px 0 120px 0;
    min-width: inherit;
    width: 100%;
}

.menu .img02 {
    bottom: -220px;
    left: auto;
    right: 0;
    margin: 0;
	transform: scale(-1, 1);
}
}

.menu .l-box dl{
	padding:0 0 30px 0;
}

.menu .l-box dl dt{
	font-size:24px;
	color:#989898;
	line-height:1.6;
	padding:0 0 10px 0;
}

.menu .l-box dl dd{
	line-height:1.8;
}

.menu .l-box dl dd ul{
	line-height:1.8;
}

.menu .l-box dl dd ul li{
	position:relative;
	padding:0 0 10px 20px;
}

.menu .l-box dl dd ul li:after{
	content:"";
	width:8px;
	height:8px;
	background:#C3C3C3;
	border-radius:50%;
	position:absolute;
	left:0;
	top:8px;
}

.menu .l-box dl dd ul li h3{
	font-size:16px;
	line-height:1.6;
	color:#989898;
	font-weight:500;
}

.m-link a{
	display:inline-block !important;
	padding:0 35px 0 0;
	background:url(../img/top/menu-arrow.png) no-repeat right center;
}

.m-link02 a{
	background:url(../img/top/m-arrow.png) no-repeat right center;
}

.staff{
	padding:260px 20px 120px 20px;
	background:#F8F6F0;
}

.t-box{
	display:flex;
	justify-content:space-between;
}

.t-box .box-in{
	width:810px;
	position:relative;
}

.staff .box-in ul{
	padding:50px 0 0 0;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.staff .box-in ul li{
	width:250px;
	padding:0 0 50px 0;
}

.staff .box-in ul li .txt{
	font-size:14px;
	line-height:1.6;
	padding:10px 0 0 0;
}

.staff .box-in ul li .txt span{
	color:#B2976E;
}

.faq{
	padding:120px 20px;
}

.faq .box-in .ico{
	position:absolute;
	top:-200px;
	right:-100px;
}

.faq .box-in dl:not(:last-child){
	padding:0 0 40px 0;
}

.faq .box-in dl dt{
	font-size:20px;
	line-height:1.6;
	padding:0 0 10px 26px;
	position:relative;
}

.faq .box-in dl dt:after{
	content:"Q.";
	color:#989898;
	position:absolute;
	left:0;
	top:0;
}

.faq .box-in dl dd{
	line-height:1.6;
	padding:0 0 0 20px;
	position:relative;
}

.faq .box-in dl dd:after{
	content:"A.";
	color:#B2976E;
	position:absolute;
	left:0;
	top:0;
}

.voice{
	padding:120px 20px;
	background:#B2A684;
	color:#fff;
}

.voice .box-in .txt,
.recruit .box-in .txt{
	font-size:20px;
	line-height:2.2;
}

.voice .box-in .img,
.recruit .box-in .img{
	padding:80px 0;
}

.recruit{
	padding:120px 20px;
}

.recruit .ico{
	margin:-305px 0 70px -60px;
}

.recruit .txt-box{
	padding:0 0 20px 0;
}

.recruit .txt-box dl{
	padding:0 0 30px 0;
}

.recruit .txt-box dl dt{
	font-size:20px;
	color:#B2976E;
	line-height:1.6;
	padding:0 0 0 20px;
	border-left:5px solid #B2976E;
}

.recruit .txt-box dl dd{
	line-height:1.6;
	padding:15px 0 0 0;
}

@media screen and (max-width: 800px) {
.home .mv .box{
	display:block;
}

.home .mv h1{
	margin:0 -20px;
}

.home .mv .txt{
	display:none;
}

.home .mv .img{
	position:relative;
	bottom:auto;
	width:100%;
	box-sizing:border-box;
	padding:0 20px;
	margin:-20px 0 -200px 0;
}

.home .mv .ico{
	position:absolute;
	bottom:-150px;
	left:-20px;
	width:600px;
}

.about{
	padding:300px 20px 0 20px;
}

.about .img01{
	width:100px;
	right:-20px;
	top:-100px;
}

.about .img02{
	width:70px;
	left:0;
	top:250px;
}

.about .img03{
	position:static;
	text-align:right;
	margin:0 -20px -20px 0;
}

.about .img03 img{
	width:200px;
}

.about .box{
	display:block;
}

.about h2{
	padding:0;
	width:130px;
	margin:0 auto;
}

.about .txt-box{
	width:100%;
	padding:80px 0 0 0;
}

.about .txt-box h3{
	font-size:20px;
}

.about .txt-box h3 span{
	font-size:16px;
}

.about .txt-box .txt{
	padding:20px 0 0 0;
	line-height:1.8;
}

.insta{
	padding:60px 20px;
}

.insta h2{
	padding:0 0 30px 0;
	width:175px;
	margin:0 auto;
}

.service{
	padding:60px 20px;
}

.service .box{
	display:block;
}

.service .box h2{
	width:56px;
	margin:0 auto;
}

.service .txt-box{
	width:100%;
}

.service .txt-box .txt{
	padding:30px 0 0 0;
	text-align:left;
	font-size:14px;
	line-height:2;
}

.service ul{
	padding:40px 0 0 0;
	position:relative;
	z-index:3;
}

.service ul li{
	width:49%;
	height:auto;
	margin:0 0 10px 0;
	box-sizing:border-box;
	padding:20px;
}

/*@media screen and (max-width: 450px) {
.service ul li{
	width:100%;
}
}*/

.service ul li .ico{
	height:100px;
}

.service ul li:nth-child(1) .ico img{
	width:62px;
}
.service ul li:nth-child(2) .ico img{
	width:72px;
}
.service ul li:nth-child(3) .ico img{
	width:63px;
}
.service ul li:nth-child(4) .ico img{
	width:100px;
}

.service ul li dl dt{
	font-size: clamp(10px, 3.5vw, 16px);
}

.service ul li dl dd{
	font-size: 12px;
}

.service .wave{
	right:-200px;
	bottom:-380px;
	width:600px;
}

.menu{
	padding:60px 20px;
}

.menu h2{
	position:static;
	width:56px;
	margin:0 auto;
}

.menu .box {
    display:block;
}

.menu .img01 {
    top: -380px;
	width:106px;
	left:auto;
	right:-20px;
}
	
.menu .b-box{
	margin:60px auto 0;
	width:100%;
	max-width:520px;
}

.menu .b-box .box-in{
	padding:40px 20px;
}

.menu .b-box .box-in .txt{
	font-size:14px;
}
	
.menu .b-box .img{
	height:auto;
}
	
.menu .b-box .img img{
	display:block;
}

.menu .b-box .box-in dl dt{
	font-size:18px;
	padding:0 0 10px 0;
}

.menu .b-box .box-in ul li{
	padding:0 0 10px 17px;
}

.menu .b-box .box-in ul li:after{
	width:8px;
	height:8px;
	top:9px;
}

.menu .b-box .box-in ul li h3{
	font-size:16px;
}

.menu .l-box {
    margin: 40px 0 60px 0;
}

.menu .img02 {
	width:110px;
    bottom: -200px;
}

.menu .l-box dl{
	padding:0 0 30px 0;
}

.menu .l-box dl dt{
	font-size:18px;
	padding:0 0 10px 0;
}

.menu .l-box dl dd ul li{
	padding:0 0 10px 17px;
}

.menu .l-box dl dd ul li:after{
	top:9px;
}

.menu .l-box dl dd ul li h3{
	font-size:16px;
}

.m-link a{
	background:url(../img/top/sp/menu-arrow.png) no-repeat right center;
	background-size:20px;
}

.m-link02 a{
	background:url(../img/top/sp/m-arrow.png) no-repeat right center;
	background-size:20px;
}

.staff{
	padding:120px 20px 60px 20px;
}

.staff .tit-box{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}

.staff .tit-box .img{
	max-width:500px;
	margin:0 -20px 0 0;
}

.staff h2{
	width:56px;
	min-width:56px;
	margin:0 30px 0 0;
}

.t-box{
	display:block;
}

.t-box .box-in{
	width:100%;
}

.staff .box-in ul{
	padding:40px 0 0 0;
}

.staff .box-in ul li{
	width:48%;
	padding:0 0 20px 0;
}

.staff .box-in ul li .txt{
	font-size:12px;
}

.faq{
	padding:60px 20px;
}

.faq h2{
	width:56px;
	margin:0 auto 40px;
	position:relative;
	z-index:3;
}

.faq .box-in .ico{
	top:-380px;
	right:-40px;
	width:245px;
}

.faq .box-in dl:not(:last-child){
	padding:0 0 30px 0;
}

.faq .box-in dl dt{
	font-size:16px;
	padding:0 0 10px 20px;
}

.faq .box-in dl dd{
	padding:0 0 0 20px;
}

.voice{
	padding:60px 20px;
}

.voice h2{
	width:56px;
	margin:0 auto 40px;
	position:relative;
	z-index:3;
}

.voice .box-in .txt,
.recruit .box-in .txt{
	font-size:14px;
	line-height:2;
}

.voice .box-in .img,
.recruit .box-in .img{
	padding:40px 0;
}

.recruit{
	padding:110px 20px 60px 20px;
}

.recruit h2{
	text-align:right;
	padding:0 0 50px 0;
}

.recruit h2 img{
	width:56px;
}

.recruit .ico{
	margin:0;
	position:absolute;
	left:0;
	top:-136px;
	width:160px;
}

.recruit .txt-box{
	padding:0 0 20px 0;
}

.recruit .txt-box dl{
	padding:0 0 30px 0;
}

.recruit .txt-box dl dt{
	font-size:16px;
	padding:0 0 0 15px;
}

.recruit .txt-box dl dd{
	padding:10px 0 0 0;
}
}

/* CONTACT
-------------------------------------------------------------------*/
.contact{
	padding:120px 20px;
	background:#F8F6F0;
}

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

.form dl{
	margin:0 0 30px 0;
}

.form dl dt{
	line-height:1.6;
	display:inline-block;
	margin:0 0 10px 0;
	position:relative;
}

.form dl dt:after{
	content:"任意";
	font-size:14px;
	color:#fff;
	padding:2px 10px;
	background:#989898;
	margin:0 0 0 30px;
	line-height:1.6;
}

.form dl dt.hissu:after{
	content:"必須";
	background:#B2976E;
}

.form input, .form textarea{
    width: 100%;
    font-size: 16px;
    line-height: 1.6;
    padding: 10px;
	background:#FBFBFB;
    box-sizing: border-box;
	font-family: "Noto Sans JP", sans-serif;
	border:1px solid #B2A684;
	border-radius:0;
}

.check input[type="checkbox"] {
    display: none
}

.check input[type="checkbox"]+span {
    display:inline-block;
    position: relative;
    padding-left: 45px;
    line-height: 1.6;
    cursor: pointer;
}

.check input[type="checkbox"]+span::before {
    content: "";
    position: absolute;
    width: 30px;
    aspect-ratio: 1 / 1;
    top: -2px;
    left: 0;
    background: #fff;
    border: 1px solid #DDDDDD;
}

.check input[type="checkbox"]+span::after {
    content: "";
    position: absolute;
    width: 20px;
    aspect-ratio: 1 / 1;
	top: 3px;
    left: 5px;
    background: url(../img/common/check-solid.svg) no-repeat center center;
    background-size: contain;
    opacity: 0;
    transition: .3s
}

.check input[type="checkbox"]:checked+span::after {
    opacity: 1
}

.form .m-check .wpcf7-list-item > label {
    display: block;
    margin: 0 0 5px 0;
}

.form .wpcf7-list-item {
    margin: 0;
}

.conbtn input[type=submit] {
    height: 80px;
	border:2px solid #333333;
    line-height: 76px;
    width: 250px;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    box-sizing: border-box;
    display: block;
	font-family: "Noto Sans JP", sans-serif;
	background:#333333;
	cursor:pointer;
	border-radius:40px;
	transition: all 0.3s;
}

.conbtn input[type=submit]:hover {
    color: #333333;
	background:#fff;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
	padding:5px 0 0 0;
}

.privacy{
	height:270px;
	background:#fff;
	border:1px solid #B2A684;
	padding:40px 30px;
	box-sizing:border-box;
	overflow:auto;
}

.privacy h3{
	font-size:18px;
	font-weight:500;
	color:#B2976E;
	line-height:1.6;
}

.privacy h4{
	font-weight:500;
	color:#B2976E;
	line-height:1.6;
	padding:15px 0 0 0;
}

.privacy p{
	line-height:1.6;
	padding:15px 0 0 0;
}

.privacy ul li{
	margin:10px 0 0 0;
	line-height:1.6;
	position:relative;
	padding:0 0 0 17px;
}

.privacy ul li:after{
	content:"・";
	font-size:14px;
	position:absolute;
	left:0;
	top:2px;
}

.wpcf7-list-item{
	margin:0;
}

.contact .check{
	padding:50px 0;
}

@media screen and (max-width: 800px) {
.contact{
	padding:60px 20px;
}
	
.contact h2{
	width:56px;
	margin:0 auto 40px;
}

.form dl{
	margin:0 0 20px 0;
}

.form dl dt:after{
	font-size:12px;
	margin:0 0 0 20px;
}

.check input[type="checkbox"]+span {
    padding-left: 35px;
}

.check input[type="checkbox"]+span::before {
    width: 25px;
    top: 0;
}

.check input[type="checkbox"]+span::after {
    width: 16px;
	top: 5px;
    left: 4px;
}

.conbtn input[type=submit] {
    height: 60px;
    line-height: 56px;
	margin:0 auto;
    font-size: 16px;
}

.privacy{
	height:300px;
	padding:30px 20px;
}

.privacy h3{
	font-size:16px;
}

.privacy h4{
	padding:10px 0 0 0;
}

.privacy p{
	padding:10px 0 0 0;
}
	
.privacy ul li{
	padding:0 0 0 15px;
}

.privacy ul li:after{
	top:0;
}

.wpcf7-list-item{
	margin:0;
}

.contact .check{
	padding:30px 0;
	text-align:center;
}
}

/* THANKS/404
-------------------------------------------------------------------*/
.thanks_area{
	padding:160px 0;
	text-align:center;
	background:#F8F6F0;
}

.thanks_area h1{
	font-size:28px;
	line-height:1.6em;
	font-weight:600;
	padding:50px 0;
	width:720px;
	border-bottom:1px solid #121B3A;
	margin:0 auto;
}

.thanks_area .txt{
	line-height:2;
	padding:50px 0;
	font-weight:500;
}

.thanks_area .m-btn a {
    width: 200px;
    padding: 0;
	margin:0 auto;
	text-align:center;
}
@media screen and (max-width: 800px) {
.thanks_area{
	padding:60px 20px;
	text-align:left;
}

.thanks_area h1{
	font-size:20px;
	padding:0 0 30px 0;
	box-sizing:border-box;
	width:100%;
	text-align:center;
}

.thanks_area .txt{
	padding:30px 0 40px 0;
}
	
.thanks_area .m-link{
	text-align:center;
}
}