@charset "utf-8";
* {
min-height:0;
min-width : 0;
}
body { font-family: a-otf-futo-min-a101-pr6n, serif; font-weight: 400; font-style: normal; margin: 0; padding: 0; height: 100%;  background-color: #fff; letter-spacing : 0.1em; font-size: 62.5%; color: #4c4948; }
a {	text-decoration: none; color: #fff; transition: 0.3s ease-in-out;  }
p { line-height: 2; }
p.regular { font-size: 1.6em; line-height: 35px; }
p.description { font-size: 1.3em; font-family: a-otf-gothic-bbb-pr6n, sans-serif; font-style: normal; font-weight: 400; color: #4c4948; flex-grow: 1; margin-top: 20px; }
.flex { display: flex; justify-content: space-between; align-items: flex-start; }
.inner { max-width: 75%; width: 100%; margin: 0 auto; }
ul { list-style: none; margin: 0; }

.pc { display: block; }
.sp { display: none; }
.overlay { background: #fff; position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 10000; }

/* 上からフェードイン */
.slide-top { opacity: 0; transform: translate(0, -30px); transition: all 1.5s ease-out; }
/* 下からフェードイン */
.slide-bottom { opacity: 0; transform: translate(0, 30px); transition: all 1.5s ease-out; }
/* 左からフェードイン */
.slide-left { opacity: 0; transform: translate(-20px, 0); transition: all 1.5s ease-out; }
/* 右からフェードイン */
.slide-right { opacity: 0; transform: translate(30px, 0); transition: all 1.5s ease-out; }

/* ぽこぽこinview */
.fadeIn_left { opacity: 0; transform: translate(-10%, 0); transition: .8s; }
.fadeIn_left.is-show { transform: translate(0, 0); opacity: 1; }
.fadeIn_up { opacity: 0; transform: translate(0, 0); transition: 1s; }
.fadeIn_up.is-show { transform: translate(0, 0); opacity: 1; }
.element { opacity: 0; }

/*ページトップ*/
.pagetop { position: fixed; right: 25px; bottom: 30px; width: 60px; height: 60px; background: #2f2f2f; border-radius: 50%; text-align: center; z-index: 999; }
.pagetop a { color: #fff; text-align: center; line-height: 60px; font-size: 0.7em; letter-spacing: 0.2em; display: block; }
.pagetop a:hover { opacity: .5; }

header{ width:100%; text-align: center; }
header .fix-header { background:url(../images/header_bg.png); background-repeat: repeat-x; top: -90px; left: 0; text-align: center; width: 100%; margin: 0 auto; color: #fff; position: fixed; opacity:0; z-index: 1000; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); }
header .fix-header-contents { max-width: 90%; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
header .fix-header ul{ list-style-type: none; }
header .fix-header li{float:left; margin-right:32px; }
header .fix-header li a,.fix-header li a:visited{ color: #fff; text-decoration: none; }
header .fix-header li:last-child{ margin-right:0; }
header .header-logo img { max-width:218px; margin: 10px 0; }
header p.phone { font-size: 2.5em; color: #2d2d2d; }
header p.phone::before { content: ''; display: inline-block; background: url(../images/icon_phone.png); width: 14px; height: 21px; background-repeat: no-repeat; background-size: contain; margin-right: 8px; }

section , footer { background: url(../images/bg_pt.png); background-repeat: repeat; background-size: 50%; }

#Mainvisual_wrap { position: fixed; top: 0; left: 0; right: 0; z-index: -1; height: 100vh; background: url('../images/main_visual.png')bottom center / cover no-repeat; display: flex; justify-content: center; align-items: center; }
#Mainvisual_wrap .logo { display: flex; justify-content: center; align-items: center; }
#Mainvisual_wrap .logo img { max-width: 275px; height: auto; margin: 0 auto; }

#Greeting { margin-top: 100vh; padding: 145px 0 147px; position: relative; z-index: 111; background:url(../images/txt_greeting.png); background-repeat: no-repeat; margin-bottom: 200px; }
#Greeting p { color: #fff; }
#Greeting .greeting_lead { margin-bottom: 100px; }
#Greeting h1 { font-size: 5.5em; color: #fff; margin-bottom: 40px; }
#Greeting .txt_area { width: 70%; margin-right: 5%; }
#Greeting .illust img { max-width: 380px; height: auto; }
#Greeting .greeting_img01 img { position: relative; width: 43%; height: 100%; left: 13%; bottom: 30px; }
#Greeting .greeting_img02 img { position: absolute; bottom: -60px; right: 11%; width: 34%; height: auto; z-index: 555; }
#Greeting .dropshadow { position: relative; -webkit-filter:drop-shadow(0px 10px 10px rgba(74,24,24,.7)); -moz-filter:drop-shadow(0px 10px 10px rgba(74,24,24,.7)); -ms-filter:drop-shadow(0px 10px 10px rgba(74,24,24,.7)); filter:drop-shadow(0px 10px 10px rgba(74,24,24,.7)); }

#Business { position: relative; padding-bottom: 140px; }
#Business .txt_business img { position: absolute; top: -13%; right: 0; } 
#Business h2 { position: relative; font-size: 2.5em; text-align: center; color: #fff; margin-bottom: 55px; }
#Business h3 { font-size: 2em; color: #b42418; line-height: 25px; }
#Business .business_wrap ul { display: flex; flex-wrap: wrap; justify-content: space-between; text-align: center; }
#Business .business_wrap ul li { position: relative; width: calc(100% / 3); background: url(../images/washi.png) no-repeat 100%; z-index: 1; }
#Business .business_wrap ul li:nth-child(even)::before { content: ""; color: transparent; background-color: rgba(226,208,188,.4); position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; }
#Business .item_wrap { padding: 60px 40px; }
#Business .item_wrap img { width: 80%; height: auto; margin-bottom: 30px; }

#form { background: #fff; padding: 100px 0; }
#form dl { font-size: 1.5em; }
#form dl dt { margin: 40px 0 5px; }
#form .must { color: #8a0000; margin-left: 5px; }
#form .policy_box { width: 100%; height: 150px; border: 1px solid #c8c8c8; overflow: scroll; padding: 20px; box-sizing: border-box; margin-top: 40px; font-family: a-otf-gothic-bbb-pr6n, sans-serif; font-weight: 400; color: #4E494A; line-height: 1.8em; }
#form .policy_box p.policy_ttl { font-weight: 600; }
#form label { margin-top: 20px; margin-right: 30px; display: inline-block; letter-spacing: .05em; }
#form .btn { max-width: 500px; width: 100%; margin: 85px auto 0 auto; }
#form dl input[type="text"] { font-family: a-otf-gothic-bbb-pr6n, sans-serif; font-style: normal; font-weight: 400; -webkit-appearance: none; appearance: none; border: 1px solid #c8c8c8; height: 40px; width: 100%; box-sizing: border-box; padding: 20px 10px; font-size: 1em; resize: none; outline: none; }
#form dl textarea { font-family: a-otf-gothic-bbb-pr6n, sans-serif; font-style: normal; font-weight: 400; -webkit-appearance: none; appearance: none; border: 1px solid #c8c8c8; width: 100%; box-sizing: border-box; padding: 10px; font-size: 15px; color: #4c4948; resize: none; outline: none; width: 100%; }
#form .more_btn { font-family: a-otf-gothic-bbb-pr6n, serif; font-weight: 400; font-style: normal; width: 300px; display: flex; justify-content: center; align-items: center; margin: 0 auto; border-radius: 50px; margin: 40px auto 88px; color: #fff; font-size: 1.5em; resize: none; outline: none; border: none; }
#form .more_btn input { background: none; border: none; outline: none; width: 100%; height: 35px; cursor: pointer; }
#form label { font-size: 15px; }

/* チェックボックス02 */
input[type=checkbox] { display: none; }
.checkbox02 { box-sizing: border-box; cursor: pointer; display: inline-block; padding: 5px 0 5px 25px; position: relative; width: auto; }
.checkbox02::before { background: #fff; border: 1px solid #c8c8c8; content: ''; display: block; height: 16px; left: 0; margin-top: -8px; position: absolute; top: 50%; width: 16px; }
.checkbox02::after { border-radius: 3px; border-right: 5px solid #c71528; border-bottom: 3px solid #c71528; content: ''; display: block; height: 20px; left: 7px; margin-top: -16px; opacity: 0; position: absolute; top: 50%; transform: rotate(45deg); width: 9px; }
#form .form_ttl { font-size: 3.0em; }
#form .form_ttl::after { content: ''; display: inline-block; background: url(../images/txt_contact.png); width: 85px; height: 18px; background-size: contain; background-repeat: no-repeat; margin-left: 2%; vertical-align: 2px; }
input[type=checkbox]:checked + .checkbox02::before { border-color: #666; }
input[type=checkbox]:checked + .checkbox02::after { opacity: 1; }
input[type="submit"][disabled] { background: #ccc; cursor: default; }
input[type="submit"] {font-family: a-otf-gothic-bbb-pr6n, serif; font-weight: 400; font-style: normal; background: #2f2f2f; width: 300px; padding:10px 20px; display: flex; justify-content: center; align-items: center; margin: 0 auto; border-radius: 50px; margin: 40px auto 88px; color: #fff; font-size: 1.5em; resize: none; outline: none; border: none; -webkit-appearance: none; }
input , textarea { font-size: 15px; color: #4c4948; border-radius: 0; }

footer { padding: 90px 0 20px; text-align: center; color: #fff; }
footer .owner { font-size: 1.4em; margin-bottom: 20px; }
footer address { font-size: 1.4em; font-family: a-otf-gothic-bbb-pr6n, sans-serif; font-style: normal; font-weight: 400; line-height: 22px; margin-bottom: 75px; }
footer img.footer_logo { width: 192px; height: auto; margin-bottom: 20px; }
footer small { font-size: 1.2em; }

/*mail.php*/
p.error_messe{ font-size: 1.6em; line-height: 35px; text-align: left; margin:10px 0; color:#8a0000; }
.exp_e { font-size: 1.6em; line-height: 35px; text-align: left; margin-bottom:20px; }
.send_area { margin: 50px auto; display: flex; justify-content: space-between; }
.submit_btn { font-family: a-otf-futo-min-a101-pr6n, serif; font-weight: 400; font-style: normal; /* background: #a2a2a2; */ width: 300px; display: flex; justify-content: center; align-items: center; margin: 0 auto; border-radius: 50px; margin: 40px auto 88px; color: #fff; font-size: 1.5em; resize: none; outline: none; border: none;}
.submit_btn input:hover { background: #323232; color: #FFF; transition: .3s; cursor: pointer; }
.back_btn { font-family: a-otf-futo-min-a101-pr6n, serif; font-weight: 400; font-style: normal; background: #a2a2a2; width: 300px; display: flex; justify-content: center; align-items: center; margin: 0 auto; border-radius: 50px; margin: 40px auto 88px; color: #fff; font-size: 1.5em; resize: none; outline: none; border: none; }
.back_btn input:hover { background: #FF6164; color: #FFF; transition: .3s; cursor: pointer; }

#Form_container { background: #FFF; margin: 150px 0 200px; }
#Form_container .form_ttl { font-size: 3.0em; margin-bottom: 50px; }
#Form_container .form_ttl::after { content: ''; display: inline-block; background: url(../images/txt_caution.png); width: 85px; height: 18px; background-size: contain; background-repeat: no-repeat; margin-left: 2%; vertical-align: 2px; }
table.formTable { width: 100%; margin: 0 auto; border-collapse: collapse; font-size: 1.6em; line-height: 35px; }
table.formTable th { padding: 10px 0; }
table.formTable th { width: 30%; font-weight: normal; text-align: left; }
table.formTable:first-child th { border-top: 1px solid #ccc; }
table.formTable th { border-bottom:0; }
input[type="submit"], input[type="reset"], input[type="button"] { display:block; padding: 10px 20px; cursor: pointer; }
.send_area .back_btn { background: #ccc; }

@media screen and (max-width: 414px) {
	.pc { display: none; }
	.sp { display: block; }
}

@media screen and (max-width: 960px) {
	.pc { display: none; }
	.sp { display: block; }
	.inner { width: 90%; max-width: initial; }
	.flex { flex-direction: row-reverse; }
	header .fix-header-contents { padding: 15px 0; }
	header p.phone_sp { display: inline-block; background: url(../images/icon_phone.png); width: 23px; height: 33px; background-repeat: no-repeat; background-size: contain; margin-right: 10px; z-index: 9999; }
	header .header-logo img { margin: initial; }
	#Greeting { padding-bottom: 350px; }
	#Greeting .txt_area { margin-right: 0; }
	#Greeting .dropshadow { display: flex; justify-content: center; align-items: center; }
	#Greeting .greeting_img01 img { width: 100%; left: 0; }
	#Greeting .greeting_img02 img { top: -110px; right: initial; width: 60%; }
	#Greeting .illust { position: absolute; left: 5%; top: 31%; }
	#Greeting .greeting_lead { margin-bottom: 500px; }
	#Business .business_wrap ul { display: block; }
	#Business .business_wrap ul li { width: 100%; background-position: center; background-size: cover; }
	#Business .txt_business img { top: -2%; right: 0; max-width: 640px; }
}

@media screen and (max-width: 640px) {
	p.description { width: 80%; text-align: left; margin: 20px auto 0; }
	header .fix-header-contents { padding: initial; }
	header .header-logo img { margin: 10px 0; }
	#Greeting { padding-bottom: 200px; }
	#Greeting .illust { top: 43%; }
	#Business .txt_business img { max-width: 640px; top: -70px; right: 0; left: 0; }
	#Greeting .greeting_img02 img { width: 75%; top: -75px; right: initial; }
	#Mainvisual_wrap { background: url('../images/main_visual_sp.png'); background-repeat: no-repeat; background-size: cover; z-index: -1;}
	input[type="submit"] { width: 250px; }
	.back_btn { width: 250px; }
}

@media screen and (max-width: 414px) {
	p.description {width: 100%; }
	p.regular { font-size: 1.4em; line-height: 32px; }
	header .header-logo img { max-width: 180px; }
	#Mainvisual_wrap { display: inherit; }
	#Mainvisual_wrap .logo img { max-width: 260px; width: 70%; margin-right: 5%; margin-top: 18%; }
	#Greeting { background-size: 30%; padding-bottom: 95px; }
	#Greeting .illust { top:56%; }
	#Greeting .illust img { max-width: 60%; }
	#Greeting h1 { margin-bottom: 30px; font-size: 3.5em; }
	#Greeting .greeting_lead { margin-bottom: 350px; }
	#Greeting .greeting_img02 img { top: -55px; }
	#Business .item_wrap img { width: 100%; }
	#Business .txt_business img { max-width: 100%; }
	.checkbox02 { padding: 0 0 0 30px;  }
	footer { padding: 70px 0 20px; }
	footer small { font-size: 1em; }
	
	/*mail.php*/
	table.formTable tr th , table.formTable tr td { width: 100%; }
	.send_area { display: block; max-width: 414px; }
	.send_area .back_btn { margin-bottom: 10px; }
}
@media screen and (max-width: 375px) {
	#Mainvisual_wrap .logo img { max-width: 236px; }
	#Greeting .illust { top: 58%; }
}
@media screen and (max-width: 320px) {
	#Mainvisual_wrap .logo img { max-width: 201px; }
	#Greeting .illust { top: 63%; }
	footer { padding: 50px 0 20px; }
	footer address { width: 95%; margin: 0 auto 25px; }
}