@charset "UTF-8";
.contact_line{
	margin-top: 30px;
	padding: 10px 2.5%;
	border: solid 10px #def4d6;
}
.contact_line .circle{
	width: 100px;
	height: 100px;
	background: #63bc50;
	padding-top: 13px;
	left: -10px;
	top:-10px;
}
@media screen and (max-width: 1200px) {
	.contact_line {
		width: 100%;
		max-width: 630px;
		margin: 30px auto 0;
		float: none !important;
	}
	.contact_line .text {
		width: 80%;
	}
	.contact_line .text .title {
    margin: 0 0 10px 80px;
}
	.contact_line .img {
		margin-top: 20px;
	}
}
@media screen and (max-width: 980px){
	.contact_line .circle{
		padding-top: 20px;
	}
}
@media screen and (max-width: 740px){
	.contact_line .circle{
		width: 80px;
		height: 80px;
		left: -20px;
		top:-50px;
		padding-top:15px;
	}
	.link_wrap{
		margin: 10px 0;
	}
}
/*-----------------------------------

	intro

-----------------------------------*/
#intro #intro_top .text{
	width: 57%;
}
#intro #intro_top .img{
	width: 40%;
	height: 245px;
}
#intro #intro_top .img .bg{
	width: 100%;
	height: 245px;
	object-fit: cover;
}
#intro #intro_top .img .woman{
	right: -90px;
	bottom: 0
}
#intro_line{
	width: 57%;
}
#intro_line .text{
	width: 80%;
}
#intro_line .text .title{
	margin:0 0 10px 80px;
}
#intro_line .img{
	margin-top: 20px;
}
#intro_tel{
	width: 40%;
	margin-top: 30px;
	padding: 20px 2.5%;
	text-align: center;
}
#intro_tel .num{
	padding-left: 50px;
}
#intro_tel .num:before{
	content: url("../img/common/icon_tel_p.svg");
	width: 40px;
	position: absolute;
	left: 0;
}
#intro_tel .link_btn{
	width: 100%;
	box-sizing: border-box;
	margin: 20px auto 0;
}
@media screen and (max-width: 1200px){
	#intro #intro_top .img .woman {
		right: 0;
		bottom: 0;
	}
	#intro_line {
		width: 100%;
	}
	#intro_tel {
		width: 40%;
		max-width: 450px;
		margin:30px auto 0;
		padding: 20px 2.5%;
		float: none!important;
	}
}
@media screen and (max-width: 980px){
	#intro #intro_top .text{
		width: 100%;
		margin-bottom: 20px;
	}
	#intro #intro_top .img{
		width: 100%;
	}
	#intro #intro_top .img .bg{
		width: 100%;
	}
	#intro #intro_top .img .woman{
		width: 50%;
		max-width: 240px;
		right: 0;
	}
	#intro_line{
		width: 100%;
	}
	#intro_line .text {
		width: 100%;
		float: none!important;
	}
	#intro_line .text .title {
		text-align: center;
		margin: 0 0 10px;
	}
	#intro_line .img {
		margin-top: 20px;
		text-align: center;
		float: none!important;
	}
	#intro_tel{
		width: 100%;
		margin-top: 30px;
		padding: 20px 2.5%;
		text-align: center;
	}
	#intro_tel .num{
		display: inline-block;
	}
}
@media screen and (max-width: 740px){
	#intro #intro_top .img{
		width: 100%;
		height: 200px;
	}
	#intro #intro_top .img .bg{
		width: 100%;
		height: 200px;
	}
	#intro_tel .fz48 {
		font-size: 2.4em;
		line-height: 2.4rem;
		padding-left: 40px;
	}
	#intro_tel .num:before {
		width: 30px;
	}
	#intro_line .fz36 {
		font-size: 1.8rem;
		line-height: 2.4rem;
	}
}
/*-----------------------------------

	how

-----------------------------------*/
#how #how_flow ul li{
	width: 49%;
	margin:20px 2% 0 0;
	padding: 20px 2.5%;
}
#how #how_flow ul li:nth-child(2n){
	margin-right: 0;
}
#how #how_flow ul li:first-child,
#how #how_flow ul li:nth-child(2){
	margin-top: 0;
}
#how #how_flow ul li h4{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: solid 2px #d0a758;
}
#how #how_flow ul li .num{
	width: 50px;
	height: 50px;
	display: inline-block;
	margin-right: 20px;
	padding-top: 10px;
}
#how #how_flow ul li .text{
	width: 68%;
	float: left;
}
#how #how_flow ul li .img{
	width: 30%;
	float: right;
}
#how #how_flow ul li .box{
	margin-top: 20px;
	padding: 10px 2.5%;
	border: solid 1px #d0a758;
}
@media screen and (max-width: 740px){
	#how #how_flow ul li{
		width: 100%;
		margin:20px 2% 0 0;
		padding: 15px 2.5%;
	}
	#how #how_flow ul li:first-child,
	#how #how_flow ul li:nth-child(2){
		margin-top: 20px;
	}
	#how #how_flow ul li .text {
		width: 100%;
		float: none!important;
	}
	#how #how_flow ul li .num {
		width: 30px;
		height: 30px;
		margin-right: 10px;
		padding-top: 3px;
	}
}
/*-----------------------------------

	mailform

-----------------------------------*/
#mailform form{
	width: 100%;
    margin: 0 auto;
	background: #fff;
    position: relative;
	margin-top: 30px;
    padding: 40px 40px;
	border-radius:20px;
	box-sizing: border-box;
}
#mailform form dt {
	width: 230px;
    text-align: left;
    float: left;
	position:relative;
    margin-left: 20px;
	padding-bottom: 20px;
}
#mailform form dt span {
    width: 170px;
    padding-top: 8px;
    box-sizing: border-box;
    display: inline-block;
}
#mailform form dt span.require {
    width: 60px;
    height: auto;
    font-size: 14px;
    line-height: 1.4rem;
    color: #fff;
    text-align: center;
    background: #f87b89;
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px 4px;
    border-radius: 10px;
    box-sizing: border-box;
}
#mailform form dd {
    text-align: left;
    letter-spacing: 0.3rem;
    margin-bottom: 30px;
    padding-left: 280px;
	padding-bottom: 20px;
	border-bottom: dashed 1px #ce9a37;
}
#mailform #form_btm .link_btn_wrap {
    width: 360px;
    height: 60px;
	margin-top: 20px;
	padding: 0;
	box-sizing: border-box;
}
#mailform #form_btm .link_btn_wrap input{
	width: 100%;
	height: 100%;
	font-size: 1.8px;
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.2rem;
	font-family: 'Noto Sans CJK JP', "メイリオ", sans-serif;
	color: #fff !important;
	display: inline-block !important;
	background: none;
	position: absolute;
	left: 0;
	border: none;
	margin: 0 auto;
	text-align: center;
	cursor: pointer;
}
#mailform #form_btm .link_btn_wrap:hover input{
	color: #f87b89!important;
}
#mailform #form_btm .reset_btn {
    width: 200px;
    background: #888!important;
    margin-left: 20px;
}
#mailform #form_btm .reset_btn:hover{
	color: #888!important;
	background: #fff!important;
	border: solid 3px #888!important;
}
#mailform #form_btm .reset_btn:hover input{
	color: #888!important;
}
#form_btm .reset_btn:after{
	content: "";
}
#mailform #form_item{
	margin-top: 30px;
	padding: 20px 10px 0;
}
#mailform #form_item dd{
	margin-bottom: 0!important;
	border-bottom: none;
}
#mailform #form_item dd ul {
	margin-top: 10px;
}
#mailform #form_item dd ul li{
	width: 30%;
	float: left;
	position: relative;
	padding-left: 20px;
}
#mailform #form_item dd ul li:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent #ce9a37;
    position: absolute;
    left: 0;
    top: 8px;
}
#mailform #form_line .title{
	width: 30%;
	float: left;
	margin:0 1% 0 7%;
}
#mailform #form_line .detail{
	width: 40%;
	float: left;
	padding-top: 10px;
}
#mailform #form_line .img{
	width: 20%;
	float: left;
	margin-left: 1%;
}
#complete #completebox{
	padding: 20px 2.5%;
}
@media screen and (max-width: 1200px) {
	#mailform #form_line .text {
		width: 100%;
	}
	#mailform #form_line .title {
		width: 100%;
		float: none !important;
		margin: 0;
		box-sizing: border-box;
		text-align: center;
	}
	#mailform #form_line .detail {
		width: 80%;
		float: none;
		padding-top: 10px;
		margin: 0 auto;
	}
	#mailform #form_line .img {
		width: 70%;
		max-width: 290px;
		float: none!important;
		margin: 10px  auto;
	}
}
@media screen and (max-width: 980px) {
	#mailform form{
		width: 100%;
		padding: 20px 2.5% 20px;
	}
	#mailform p.text{
		text-align: left;
	}
}
@media screen and (max-width: 740px){
	#mailform form dt {
		width: 100%;
		font-size: 14px;
		line-height: 1.4rem;
		color: #fff;
		background: #d0a758;
		float: none;
		padding: 5px 2.5%;
		margin:0 0 15px 0;
		box-sizing: border-box;
	}
	#mailform form dt span {
		width: auto;
		padding-top: 0;
		box-sizing: border-box;
		display: inline-block;
	}
	#mailform form dt span.require {
		width: auto;
		height: auto;
		position: static;
		margin-left: 10px;
	}
	#mailform form dd {
		text-align: left;
		letter-spacing: 0.3rem;
		margin-bottom: 15px;
		padding-bottom: 15px;
		padding-left: 0;
	}
	#mailform form .text {
		font-size: 13px;
		line-height: 1.8rem;
	}
	#mailform #form_item dd ul li {
		width: 100%;
		padding-left: 15px;
	}
	#mailform #form_line .img {
		width: 100%;
		max-width: 210px;
		float: none!important;
		margin:20px auto 0;
	}
	#mailform #form_btm .link_btn_wrap  {
		width: 80%;
	}
	#mailform #form_btm .reset_btn {
		width: 60%;
		margin: 10px 0 0;
	}
	#mailform #form_btm .link_btn_wrap input {
		font-size: 1.6px;
		font-size: 1.6rem;
	}
	#complete #completebox{
		text-align: left;
	}
}
/*-----------------------------------

input

-----------------------------------*/
#mailform input[type="text"], 
#mailform input[type="email"], 
#mailform input[type="tel"], 
#mailform input[type="address"],
#mailform textarea {
    font-size: 16px;
    background: #f8f8f8;
	padding: 6px 12px;
    color: #555;
    border: solid 1px #b5b5b5;
    border-radius: 10px;
}
#mailform form input[type="text"], 
#mailform form input[type="email"], 
#mailform form input[type="tel"],
#mailform form input[type="address"] {
	width: 80%;
    height: 35px;
}
#mailform textarea {
    width: 95%;
    height: 200px;
    padding: 6px 12px;
    box-sizing: border-box;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#ccc;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:#ccc;
}
::placeholder{ /* Others */
 color:#ccc
}
.appointment{
	margin-top: 10px;
}
.appointment input{
	width: 30px!important;
	margin: 0 10px;
	display: inline-block;
}
textarea:focus,
input:focus {
	outline: 0;
	border-color: #ccc !important;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(223,223,223,1.00);
	outline:none;
}
@media screen and (max-width: 740px){
	#mailform form input[type="text"], 
	#mailform form input[type="email"],
	#mailform form input[type="tel"],
	#mailform form input[type="address"] {
		width: 100%;
		height: 50px;
		box-sizing:border-box;
	}
	#mailform textarea {
		width: 100%;
		box-sizing: border-box;
	}
	.appointment input{
		width: 40px!important;
		margin: 0 5px;
		padding: 0 5px!important;
		display: inline-block;
	}
}
/*-----------------------------------

radio

-----------------------------------*/
.radiobox li {
	margin: 5px 0;
	padding: 0;
}
input:checked + label::after {
	opacity : 1 ;
}
.visually-hidden {
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
}
label {
  cursor: pointer;
  padding-left: 40px;
  position: relative;
}
label::before,
label::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
label::before {
  background-color: #f8f8f8;
  border: solid 1px #b5b5b5;
  height: 20px;
  width: 20px;
  left: 5px;
}
label::after {
	background-color: #f87b89;
	border: solid 1px #f87b89;
	opacity: 0;
	height: 20px;
	width: 20px;
	left: 5px;
}
input:checked + label::after {
  opacity: 1;
}

@media screen and (max-width: 740px){
	.radiobox_wrap {
		margin-bottom: 20px!important;
		padding-bottom: 20px!important;
		border-bottom: 1px solid #eee;
	}
	.radiobox li {
		font-size: 14px;
		margin: 0 0 0.5rem 0;
		padding: 0;
	}
	label {
		padding-left: 30px;
	}
	label::before {
		height: 15px;
		width: 15px;
	}
	label::after {
		height: 15px;
		width: 15px;
	}
}
/*-----------------------------------

select

-----------------------------------*/
.shop{
	float: left;
	margin: 35px 10px 0 0;
}
.area_wrap {
	overflow: hidden;
	width: 40%;
	text-align: center;
	float: left;
	top: 20px;
	margin-bottom: 20px;
}
.area_wrap select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.area_wrap select::-ms-expand {
    display: none;
}
.area_wrap {
	position: relative;
	background: #f8f8f8;
	padding: 6px 12px;
	color: #555;
	border: solid 1px #b5b5b5;
	border-radius: 10px;
}
.area_wrap::before {
	position: absolute;
	top: 40%;
	right: 5%;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 10px solid #d0a758;
	pointer-events: none;
}
.area_wrap select {
	padding: 8px 38px 8px 8px;
}
#confirm .shop {
    margin:0 10px 0 0;
	display: inline-block;
}
#confirm .area_wrap{
	width: auto;
	background: none;
	border: none;
	position: static;
	margin: 0;
	padding: 0;
	overflow:auto;
	display: inline-block;
}
#confirm .area_wrap::before {
	content: "";
	border: none;
}
/*-----------------------------------
alert/error
-----------------------------------*/
.alert {
    color: #C60000;
    border: 1px solid #C60000;
    background-color: #F7E6E6;
    margin: 10px 0;
    padding: 10px 15px;
}
.error {
    color: #FF0000;
}

/*-----------------------------------

	polcy

-----------------------------------*/
#polcy .wrap{
	padding: 30px 2.5%;
}
#polcy .wrap section{
	padding: 30px 0;
	border-bottom: dashed 1px #ce9a37;
}
#polcy .wrap h4{
	margin-bottom: 0;
	padding-left: 15px;
}
#polcy .wrap h4:before {
    content: "";
    width: 5px;
    height: 30px;
    background: #d0a758;
    position: absolute;
	left: 0;
}
#polcy .wrap p,
#polcy .wrap ul{
	margin-top: 10px;
}
#polcy .wrap ul li{
	position: relative;
	padding:3px 0 3px 20px;
}
#polcy .wrap ul li:before {
    content: "●";
    font-size: 10px;
    color: #d0a758;
    position: absolute;
    top: 0;
    left: 0;
}
#polcy .wrap a{
	color: #d0a758;
	font-weight: 600;
	border-bottom: solid 1px #d0a758;
	box-sizing: border-box;
}
#polcy .wrap a:hover{
	border-bottom:none;
}
@media screen and (max-width: 740px){
	#polcy .wrap{
		padding: 10px 2.5% 20px;
	}
	#polcy .wrap section {
		padding: 20px 0;
	}
}


