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

html{
	height: 100%;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	font-size: 62.5%;
	letter-spacing: 0.1em;
}

body{
	position: relative;
    width: 100%;
	height: 100%;
	background: #FFF;
	font-size: 16px; font-size: 1.6rem;
	font-feature-settings: "palt" 1;
	line-height: 1.7em;
	color: #666666;
}

main {}
@media screen and (max-width:760px){
	body {
		font-size: 15px; font-size: 1.5rem;
		line-height: 1.7em;
	}
}


/*--------------------------------------------------------------------------------
 HEADER
-------------------------------------------------------------------------------- */
header {
	height: 870px;
	background: url("../img/bg_head.png") 0 0/600px 870px repeat-x;
}

header div.inner {
	margin: 0 auto;
	padding: 30px;
	max-width: 1200px;
	height: 870px;
	background: url("../img/mv.png") center center/850px auto no-repeat;
}

.logo {
	width: 175px;
}
.logo2 {
	width: 241px;
}
.logo3 {
	width: 210px;
}
.logo img, .logo2 img, .logo3 img {width: 100%;}
@media screen and (max-width:760px){
	header {
		height: 650px;
		background: url("../img/bg_head.png") 0 0/auto 100% repeat-x;
	}

	header div.inner {
		height: 650px;
		background: url("../img/mv.png") center 60%/90% auto no-repeat;
	}

	.logo {
		margin: 0 auto;
		width: 160px;
	}
	.logo2 {
		margin: 0 auto;
		width: 200px;
	}
}


/*--------------------------------------------------------------------------------
 NAVIGATION
-------------------------------------------------------------------------------- */
nav {
	display: flex;
	margin: 40px auto 0;
	width: 850px;
}

.navi {
	position: relative;
	width: 170px;
	transition: 0.3s ease-out;
}
.navi img {width: 150px;}

.navi p {
	margin: 0 auto;
	width: 150px;
	height: 60px;
    padding: 0.5em 0 0 0;
	text-align: center;
	font-weight: bold;
    line-height: 1.4em;
}
.navi p.nav_pi, .navi p.nav_pi2 {background: url("../img/arrow_pi.png") center bottom/13px 8px no-repeat;}
.navi p.nav_gr {background: url("../img/arrow_gr.png") center bottom/13px 8px no-repeat;}
.navi p.nav_or {background: url("../img/arrow_or.png") center bottom/13px 8px no-repeat;}

.navi p.nav_pi2 {padding: 0!important;}


.navi a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -999px;
}

.navi:hover {
	transform: scale(1.2, 1.2);
}
@media screen and (max-width:760px){
	nav {
		margin: 30px auto 60px;
		width: 98%;
	}

	.navi {
		width: 20%;
	}
	.navi img {width: 100%;}

	.navi p {
		width: 100%;
        padding: 1.4em 0 0 0;
		font-size: 11px;
	}
}


/*--------------------------------------------------------------------------------
 CONTENTS
-------------------------------------------------------------------------------- */
section {
	margin: 100px 0 0 0;
	padding: 100px 0;
}

h2 {
	margin: 0 0 100px 0;
	padding: 0 0 30px 0;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}

h3 {
	margin: 0 0 40px 0;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

h3 span {font-size: 18px;}
@media screen and (max-width:760px){
	section {
		margin: 0;
		padding: 60px 0;
	}

	h2 {
		margin: 0 0 60px 0;
		padding: 0 0 30px 0;
		font-size: 24px;
	}

	h3 {
		margin: 0 0 30px 0;
		font-size: 20px;
	}
	h3 span {font-size: 16px;}
}

/* ABOUT */
section#about {
	background: linear-gradient(90deg,#FCECEE 0%,#FCECEE 83%,#FFF 83%,#FFF 100%);
}

section#about h2 {
	color: #EA7D8C;
	background: url("../img/line_pi.png") center bottom/80px 6px no-repeat;
}

section#about h3 {
	color: #EA7D8C;
}

.about_txt {
	margin: 0 auto 100px auto;
	padding: 0 510px 80px 40px;
	width: 1000px;
	background: url("../img/bg_about.png") right bottom/600px 385px no-repeat;
}

.about_head {
	margin: 0 0 40px 0;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.7em;
}

.policy {
	margin: 0 0 100px 0;
}

.policy ul {
	margin: 0 auto;
	width: 760px;
}

.policy ul li {
	padding: 18px 10px;
	overflow: hidden;
	border-bottom: 1px solid #c6b9ba;
}
.policy ul li:last-child {border-bottom: none;}

.policy ul li h4 {
	width: 100px;
	float: left;
}
.policy ul li h4 img {width: 100%;}

.policy ul li p {
	padding: 20px 0 0 0;
	width: 620px;
	font-weight: bold;
	float: right;
}

.operation ul {
	margin: auto;
	display: table;
}

.operation ul li {
	padding: 0 0 0 28px;
	margin: 0 0 10px 0;
	background: url("../img/point_pi.png") left center/12px 12px no-repeat;
}
@media screen and (max-width:760px){
	section#about {
		background: #FCECEE;
	}

	.about_txt {
		margin: 0 auto 60px auto;
		padding: 0 0 240px 0;
		width: calc(100% - 40px);
		background: url("../img/bg_about.png") right bottom/80% auto no-repeat;
	}

	.about_head {
		margin: 0 0 25px 0;
		font-size: 19px;
	}

	.policy {
		margin: 0 0 60px 0;
	}

	.policy ul {
		width: calc(100% - 40px);
	}

	.policy ul li {
		padding: 15px 10px;
	}

	.policy ul li h4 {
		margin: 0 auto;
		width: 100px;
		float: none;
	}

	.policy ul li p {
		padding: 10px 0 0 0;
		width: 100%;
		text-align: center;
		float: none;
	}

	.operation ul {
		width: calc(100% - 40px);
	}

	.operation ul li {
		padding: 0 0 0 24px;
		margin: 0 0 8px 0;
		background: url("../img/point_pi.png") left 7px/12px 12px no-repeat;
	}

}

/* SERVICE */
section#service {
	background: linear-gradient(90deg,#FFF 0%,#FFF 17%,#F4F7E0 17%,#F4F7E0 100%);
}

section#service h2 {
	color: #B5CC30;
	background: url("../img/line_gr.png") center bottom/80px 6px no-repeat;
}

section#service h3 {
	color: #B5CC30;
}

.day {
	margin: 0 auto 100px auto;
	padding: 0 40px 0 510px;
	width: 1000px;
	background: url("../img/bg_service.png") 10px bottom/440px auto no-repeat;
}

.day img {
	width: 410px;
}

.mainservice {
	margin: 0 0 100px 0;
}

.mainservice div {
	margin: 0 auto;
	width: 512px;
}
.mainservice div img {width: 100%;}

.person ul {
	margin: auto;
	display: table;
}

.person ul li {
	padding: 0 0 0 28px;
	margin: 0 0 10px 0;
	background: url("../img/point_gr.png") left center/12px 12px no-repeat;
}
@media screen and (max-width:760px){
	section#service {
		background: #F4F7E0;
	}

	.day {
		margin: 0 auto 60px auto;
		padding: 0 0 240px 0;
		width: calc(100% - 40px);
		background: url("../img/bg_service.png") right bottom/80% auto no-repeat;
	}

	.day img {
		width: 100%;
	}

	.mainservice {
		margin: 0 0 60px 0;
	}

	.mainservice div {
		width: calc(100% - 40px);
	}

	.person ul {
		width: calc(100% - 40px);
	}

	.person ul li {
		padding: 0 0 0 24px;
		margin: 0 0 8px 0;
		background: url("../img/point_gr.png") left 7px/12px 12px no-repeat;
	}
}

/* PRICE */
section#price {
	background: linear-gradient(90deg,#FCEBDB 0%,#FCEBDB 83%,#FFF 83%,#FFF 100%);
}

section#price h2 {
	color: #ED760B;
	background: url("../img/line_or.png") center bottom/80px 6px no-repeat;
}

section#price h3 {
	color: #ED760B;
}

.pricelist {
	margin: 0 auto 100px auto;
	padding: 0 460px 0 40px;
	width: 1000px;
	background: url("../img/bg_price.png") right bottom/400px 260px no-repeat;
}

.pricelist table {
	margin: 10px 0;
	width: 500px;
}

.pricelist table tr th, .pricelist table tr td {
	padding: 20px 10px;
	border-top: 1px solid #c5b8ab;
	border-bottom: 1px solid #c5b8ab;
}
.pricelist table tr th {text-align: left;}
.pricelist table tr td {text-align: right;}

.process div {
	margin: 0 auto;
	width: 500px;
}
.process div img {width: 100%;}
@media screen and (max-width:760px){
	section#price {
		background: #FCEBDB;
	}

	.pricelist {
			margin: 0 auto 60px auto;
			padding: 0 0 250px 0;
			width: calc(100% - 40px);
			background: url("../img/bg_price.png") center bottom/80% auto no-repeat;
	}

	.pricelist table {
		width: 100%;
	}

	.process div {
			width: calc(100% - 40px);
	}
}

/* LOCATION */
section#location {
	background: linear-gradient(90deg,#FFF 0%,#FFF 17%,#FCECEE 17%,#FCECEE 100%);
}

section#location h2 {
	color: #EA7D8C;
	background: url("../img/line_pi.png") center bottom/80px 6px no-repeat;
}

section#location h3 {
	color: #333;
}

.gh {
	margin: 0 auto 60px auto;
	width: 1000px;
}

.gh_ttl {
    padding: 0 0 40px 0;
    font-size: 3rem;
    width: 100%;
    margin: auto;
    text-align: center;
}
.gh_ttl span {font-size: 66%;}

.gh_info {
	display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.gh_pct, .gh_map {
    width: 485px
}
.gh_pct img, .gh_map img {
    width: 100%;
    vertical-align: bottom;
}
.gh_map {text-align: right;}
.gh_map a {
    font-size: 1.4rem;
    text-decoration: none;
    color: #666666;
}
.gh_map a:hover {
    text-decoration: underline;
}
.gh_map a::after {
    content: "";
    display: inline-block;
    width: 17px;
    height: 11px;
    background: url("../img/icon_nw_g.png") 4px center/13px 10px no-repeat;
}

.gh_data {
	display: flex;
    justify-content: space-between;
    font-size: 1.4rem;
}
.gh_data_left, .gh_data_right {
    width: 485px;
}
.gh_data_left dl, .gh_data_right dl {
	display: flex;
    border-top: 1px solid #c6b9ba;
}
.gh_data_left dl:last-child,  .gh_data_right dl:last-child {
    border-bottom: 1px solid #c6b9ba;
}
.gh_data_left dl dt, .gh_data_right dl dt {
    width: 23%;
    padding: 10px;
}
.gh_data_left dl dd, .gh_data_right dl dd {
    width: 77%;
    padding: 10px;
}








.home {
	margin: 0 auto 40px auto;
	width: 1000px;
}
.home_ttl {
    padding: 0 0 40px 0;
    font-size: 30px;
    width: 100%;
    margin: auto;
    text-align: center;
}
.home_ttl span {font-size: 66%;}

.home_info {
	display: flex;
}

.home_pct {
	margin: 0 30px 0 0;
	width: 308px;
	height: 230px;
}
.home_pct img {width: 100%;}

.home_map {
	margin: 0 30px 0 0;
}

.home_data table {
	margin: 0;
	width: 330px;
}

.home_data table tr th, .home_data table tr td {
	padding: 9px 7px;
	text-align: left;
	font-size: 14px;
	line-height: 1.7em;
	border-top: 1px solid #D6D6D6;
	border-bottom: 1px solid #D6D6D6;
}
.home_data table tr th {white-space: nowrap;}

.home_data a {
    text-decoration: none;
    color: #666666;
}
.home_data a:hover {
    text-decoration: underline;
}
.home_data a::after {
    content: "";
    display: inline-block;
    width: 19px;
    height: 12px;
    background: url("../img/icon_nw_g.png") 5px center/contain no-repeat;
}

.smality {
    width: 1000px;
    padding: 40px;
    margin: 0 auto;
    background-color: #fff;
    border: #ffb360 2px solid;
    border-radius: 20px;
}
.smality_upper {
    display: flex;
    justify-content: space-between;
}
.smality_logo {width: 200px;}
.smality_pct {width: 330px;}
.smality_logo img, .smality_pct img {width: 100%;}

.smality_txt {width: 330px;}
.smality_txt p:first-child {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5em;
}
.smality_txt p:last-child {
    font-size: 14px;
    line-height: 1.7em;
}

.smality_link {
	position: relative;
	width: 260px;
    height: 40px;
    padding: 6px;
    margin: 30px auto 0;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    background: #ffb360 url("../img/icon_nw.png") 225px center/15px 13px no-repeat;
    border-radius: 20px;
	transition: 0.3s ease-out;
}
.smality_link:hover {
	background-color: #ff9933;
}
.smality_link a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -999px;
}
@media screen and (max-width:760px){
	section#location {
		background: #FCECEE;
	}

    .gh {
		margin: 0 auto 30px auto;
		width: calc(100% - 40px);
    }

    .gh_ttl {
        padding: 0 0 20px 0;
        font-size: 2.5rem;
    }

    .gh_info {
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 20px;
    }
    .gh_pct, .gh_map {
        width: 100%;
    }
    .gh_pct {
        margin: 0 0 20px 0;
    }

    .gh_data {
        flex-wrap: wrap;
        justify-content: center;
    }
    .gh_data_left, .gh_data_right {
        width: 100%;
    }
    .gh_data_left dl:last-child {
        border-bottom: none;
    }
.gh_data_left dl dt, .gh_data_right dl dt {
    width: 30%;
    padding: 10px 0;
}
.gh_data_left dl dd, .gh_data_right dl dd {
    width: 70%;
    padding: 10px 0;
}
    
    
    
    
    
    
	.home {
		margin: 0 auto 30px auto;
		width: calc(100% - 40px);
	}

    .home_ttl {
        padding: 10px 0 20px 0;
        width: 100%;
    }
    .home_ttl_logo {width: 130px;}
    .home_ttl_txt {
        padding: 12px 0 0 0;
        font-size: 17px;
    }

	.home_info {
		flex-direction: column;
	}

	.home_pct {
		margin: 0 0 20px 0;
		width: 100%;
		height: auto;
	}

	.home_map {
		margin: 0 0 20px 0;
		position: relative;
		width: 100%;
		padding-top: 76%;
	}

	.home_map iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.home_data table {
		margin: 0;
		width: 100%;
	}

    .smality {
        width: 90%;
        padding: 20px;
        border-radius: 20px;
    }
    .smality_upper {
        flex-direction: column;
    }
    .smality_logo {
        width: 200px;
        margin: 0 auto;
    }
    .smality_pct {
        width: 100%;
        margin: 0 0 5px 0;
    }
    .smality_txt {width: 100%;}
    .smality_txt p:first-child {
        font-size: 18px;
    }
    .smality_link {
        margin: 15px auto 0;
    }
}

/* CONTACT */
section#contact {
	background: linear-gradient(90deg,#F4F7E0 0%,#F4F7E0 83%,#FFF 83%,#FFF 100%);
}

section#contact h2 {
	color: #B5CC30;
	background: url("../img/line_gr.png") center bottom/80px 6px no-repeat;
}

.contact_txt {
	margin: 0 0 40px 0;
	text-align: center;
}

.contact_info {
	margin: 0 auto;
	padding: 25px 68px;
	width: 380px;
	background-color: #B5CC30;
	border-radius: 20px;
}

.contact_info p {
	width: 244px;
}
.contact_info p img {width: 100%;}

.tel_pc {margin-bottom: 18px; display: block;}
.tel_sp {margin-bottom: 18px; display: none;}

.mail img {transition: opacity 0.3s ease-out;}
.mail img:hover {opacity: 0.5;}

@media screen and (max-width:760px){
	section#contact {
		background: #F4F7E0;
	}

	.contact_txt {
		margin: 0 0 30px 0;
	}

	.contact_info {
		padding: 25px 50px;
		width: calc(100% - 40px);
	}

	.contact_info p {
		width: 100%;
	}

	.tel_pc {display: none;}
	.tel_sp {display: block;}
}

/*--------------------------------------------------------------------------------
 FOOTER
-------------------------------------------------------------------------------- */
footer {
	margin: 100px 0 0 0;
	padding: 55px 0;
	text-align: center;
	color: #FFF;
	background: url("../img/bg_footer.png") left top/10px 10px;
}

.footer_logo {
	margin: 0 auto;
	width: 130px;
}
.footer_logo2 {
	margin: 0 auto;
	width: 267px;
}
.footer_logo img, .footer_logo2 img {width: 100%;}

footer p {
	margin: 18px 0 0 0;
	font-size: 14px;
}
@media screen and (max-width:760px){
	footer {
		margin: 0;
		padding: 30px 0;
	}

	.footer_logo {
		width: 100px;
	}
	.footer_logo2 {
		width: 160px;
	}

	footer p {
		margin: 15px 0 0 0;
	}
}

/*--------------------------------------------------------------------------------
 PAGE TOP
-------------------------------------------------------------------------------- */
#pagetop {
	width: 74px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    cursor:pointer;
}

#pagetop img {
	width: 100%;
	transition: opacity 0.3s ease-out;
}

#pagetop img:hover {
	opacity: 0.5;
}
@media screen and (max-width: 760px) {
	#pagetop {
		width: 50px;
		right: 10px;
		bottom: 10px;
	}
}

