@charset "utf-8";
@import url("root.css");
/***************************************
-------------- CONTACT --------------
***************************************/

.mv_box h2 {
    line-height: 1.6;
}

.mv_box p{width: 100%;}

.tel{text-align: center;}
.tel a{font-size: 50px;}
.tel i{font-size: 45px;padding: 0 10px 0 0;}

.sec_title {
    font-size: 5rem;
    margin: 100px auto 20px;
}
.form {

    margin: 30px auto 60px;
    width: 100%;
}

.form p{
    margin: 20px auto 20px;
    width: 100%;
    font-size: 16px;
}

.form_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin:40px auto 40px;
}
.form_img img{width: 100%;}
.form_txt {width: 45%;padding: 0 5% 0 0;}
.form_img { width: 45%;margin: 0 0 0 0;}




p.subtitle {
  display: block;
  text-align: center;
  margin: 0 auto var(--sp-space);
}
p.subtitle a {
  color: var(--base-color01);
  text-decoration: underline;
}

.con_box {
width: 60%;
margin: 40px auto;
border: 5px solid #eeeeee;
padding: 20px;
text-align: center;
font-size: 20px;
}

.con_box span{
font-size: 14px;
}




span.must {
  display: block;
  width: 48px;
  font-size: calc(1.8rem * 0.7 );
  text-align: center;
  background: var(--base-color_r);
  color: var(--base-color_w);
  border-radius: 4px;
  margin-right: 10px;
  padding: 5px;
}

section form {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
}
.mailform {
  display: flex;
  flex-wrap: wrap;
  width: 1200px;
  justify-content: space-between;
  align-items:stretch;
  margin-bottom: 10px;
  margin: 0 auto;
  
}

form dt {
  display: flex;
  flex-wrap: wrap;
  align-items:center;
  width: 30%;
  padding-bottom: 20px;
  font-size: 1.8rem;
  padding: 20px;
  background-color: var(--base-color01);
  color: #ffffff;
  border-bottom: 1px solid #ffffff;
}




form dd {
  width: 70%;
  font-size: 1.8rem;
  padding: 20px 40px;
    border-bottom: 1px solid var(--sub-color01);
    border-right: 1px solid var(--sub-color01);
}

.dd_top{
    border-top: 1px solid var(--sub-color01);
}

form dd.upload,
form dd.select {
  width: 60%;
}

form dd.check,{
  width: 100%;
}

form dd.check label,
form dd.upload input {
  font-size: 1.8rem;
}

form dd.select select {
  background: var(--base-color03);
}

input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 5px;
    border: 1px solid #333;
    font-size: 1.8rem;
    box-sizing: border-box;
    vertical-align: bottom;
    background-color: #ffffff;
}
#mailformpro select {
    padding: 8px;
    border: 1px solid #333;
    font-size: 1.6rem;
    box-sizing: border-box;
    width: 300px;
}
button[type="submit"] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(75%, 400px);
    padding: 15px;
    border: none;
    background: var(--base-color01);
    color: var(--base-color_w);
    text-align: center;
    margin: 5rem auto;
    font-size: 1.8rem;
    border-radius: 12px;
}
button[type="submit"]:hover {
  opacity: 0.8;
  cursor: pointer; 
}

#mailformpro input[type="checkbox"] {
  all: revert;
}

input[type="date"]{
    border: 1px solid #333;
    font-size: 1.6rem;
        padding: 8px;


}

select {
-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
appearance: auto; /* 標準のスタイルを無効にする */
}

option {
font-size: 16px;
}

.kibou_title{
font-size: 16px;
font-weight: bold;
border-bottom: 1px solid var(--sub-color01);
padding: 0 0 5px 0;
}


form ul {
display:flex;
flex-wrap: wrap;
justify-content: flex-start;
width:fit-content;
}

form ul li{
padding: 0 20px 0 0;
}





.radio-1 {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
    font-size: 18px;
}

.radio-1 label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
        font-size: 18px;
}

.radio-1 label::before,
.radio-1 label:has(:checked)::after {
    border-radius: 50%;
    content: '';
}

.radio-1 label::before {
    width: 18px;
    height: 18px;
    background-color: #e6edf3;
}

.radio-1 label:has(:checked)::after {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background-color:var(--base-color01);
    animation: anim-radio-1 .3s linear;
}



@keyframes anim-radio-1 {
    0% {
        box-shadow: 0 0 0 1px transparent;
    }
    50% {
        box-shadow: 0 0 0 10px #f2f2f233;
    }
    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}

.radio-1 input {
    display: none;
}





.massage_onayami dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 40px auto;
}

.massage_onayami dd{
width: 48%;
margin: 0 2% 2% 0;
border-radius: 10px;
background-color: var(--sub-color00);
padding:20px 40px;
}

.massage_onayami dd:nth-child(2n){
width: 48%;
margin: 0 0 2% 0;
}

.onayami_sb {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size:24px;
    line-height: 2;
    padding: 0 0;
    text-align: center;
    border-bottom: 2px solid var(--base-color01);
    color: var(--base-color01);
    position:relative;
    margin: 0 auto 10px;
    
}

.onayami_sb::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #be8264 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
}
.onayami_menu {
    font-weight: 700;
    padding: 0 0;
    line-height:1.6;
    text-align: center;
}

.onayami_menu a {
    font-weight: 700;
    font-size:34px;
    padding: 0 0;
    line-height:2;
    text-align: center;
}

.onayami_menu i {
    font-size:30px;
    padding: 0 15px 0 0;

}


.onayami_kakaku {
    font-weight: 700;
    font-size:18px;
    padding: 0 0;
    line-height:2;
    text-align: center;
    background-color: var(--base-color01);
    color: var(--base-color_w);
    border-radius: 50px;
    margin: 10px auto 0;
}
.massage_onayami p{
font-size: 14px;
padding:5px 0;
margin: 0;
text-align: center;
}

.carrier
{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin: 20px auto;
}
.carrier li{padding: 0 20px 0 0;}
.carrier a{font-size: 14px;}
.carrier i{font-size: 14px;padding:5px 5px 5px 0;color: #cc0000;}


@media screen and (max-width: 768px) {
.sec_title {
    font-size: 2.8rem;
    margin: 50px auto 20px;
}
.tel{text-align: center;}
.tel a{font-size: 30px;}
.tel i{font-size: 25px;padding: 0 10px 0 0;}

.form {

    margin: 40px auto 40px;
    width:100%;
}

.form p{
    margin:10px auto 10px;
    width: 100%;
    font-size: 16px;
}

.form_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin:20px auto 20px;
}
.form_img img{width: 100%;}
.form_txt {width: 100%;padding: 0;}
.form_img { width: 100%;margin:20px auto;}

.form_txt a {width: 100%;}


p.subtitle {
  display: block;
  text-align: center;
  margin: 0 auto var(--sp-space);
}
p.subtitle a {
  color: var(--base-color01);
  text-decoration: underline;
}

.con_box {
width: 60%;
margin: 40px auto;
border: 5px solid #eeeeee;
padding: 20px;
text-align: center;
font-size: 20px;
}

.con_box span{
font-size: 14px;
}




span.must {
  display: block;
  width: 48px;
  text-align: center;
  border-radius: 4px;
  margin-right: 10px;
  padding: 5px;
}

section form {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
}
.mailform {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  align-items:stretch;
  margin-bottom: 10px;
  margin: 0 auto;
      border: 1px solid var(--sub-color01);
  
}

form dt {
  display: flex;
  flex-wrap: wrap;
  align-items:center;
  width: 100%;
  padding-bottom: 20px;
  font-size: 1.8rem;
  padding: 20px;

}




form dd {
  width: 100%;
  font-size: 1.8rem;
  padding: 20px 20px;
    border-bottom: 0px solid var(--sub-color01);
    border-right: 0px solid var(--sub-color01);
}

.dd_top{
    border-top: 1px solid var(--sub-color01);
}

form dd.upload,
form dd.select {
  width: 60%;
}

form dd.check,{
  width: 100%;
}

form dd.check label,
form dd.upload input {
  font-size: 1.8rem;
}

form dd.select select {
  background: var(--base-color03);
}

input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 5px;
    border: 1px solid #333;
    font-size: 1.8rem;
    box-sizing: border-box;
    vertical-align: bottom;
    background-color: #ffffff;
}
#mailformpro select {
    padding: 8px;
    border: 1px solid #333;
    font-size: 1.6rem;
    box-sizing: border-box;
    width: 100%;
}
button[type="submit"] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(75%, 400px);
    padding: 15px;
    border: none;
    background: var(--base-color01);
    color: var(--base-color_w);
    text-align: center;
    margin: 5rem auto;
    font-size: 1.8rem;
    border-radius: 12px;
}
button[type="submit"]:hover {
  opacity: 0.8;
  cursor: pointer; 
}

#mailformpro input[type="checkbox"] {
  all: revert;
}

input[type="date"]{
    border: 1px solid #333;
    font-size: 1.6rem;
        padding: 5px;


}

select {
-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
appearance: auto; /* 標準のスタイルを無効にする */
}

option {
font-size: 16px;
}

.kibou_title{
font-size: 16px;
font-weight: bold;
border-bottom: 1px solid var(--sub-color01);
padding: 0 0 5px 0;
}


form ul {
display:flex;
flex-wrap: wrap;
justify-content: flex-start;
width:fit-content;
}

form ul li{
padding: 10px 0;
width: 100%;
}






.radio-1 {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
    font-size: 18px;
}

.radio-1 label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
        font-size: 18px;
}

.radio-1 label::before,
.radio-1 label:has(:checked)::after {
    border-radius: 50%;
    content: '';
}

.radio-1 label::before {
    width: 18px;
    height: 18px;
    background-color: #e6edf3;
}

.radio-1 label:has(:checked)::after {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background-color:var(--base-color01);
    animation: anim-radio-1 .3s linear;
}



@keyframes anim-radio-1 {
    0% {
        box-shadow: 0 0 0 1px transparent;
    }
    50% {
        box-shadow: 0 0 0 10px #f2f2f233;
    }
    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}

.radio-1 input {
    display: none;
}





.massage_onayami dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 40px auto;
}

.massage_onayami dd{
width: 100%;
margin: 0 auto 20px;
border-radius: 10px;
background-color: var(--sub-color00);
padding:10px 10px;
}

.massage_onayami dd:nth-child(2n){
width: 100%;
margin: 0 auto;
}

.onayami_sb {
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    font-size:24px;
    line-height: 2;
    padding: 0 0;
    text-align: center;
    border-bottom: 2px solid var(--base-color01);
    color: var(--base-color01);
    position:relative;
    margin: 0 auto 10px;
    
}

.onayami_sb::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #be8264 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
}
.onayami_menu {
    font-weight: 700;
    padding: 0 0;
    line-height:1.6;
    text-align: center;
}

.onayami_menu a {
    font-weight: 700;
    font-size:34px;
    padding: 0 0;
    line-height:2;
    text-align: center;
}

.onayami_menu i {
    font-size:30px;
    padding: 0 15px 0 0;

}


.onayami_kakaku {
    font-weight: 700;
    font-size:14px;
    padding: 0 0;
    line-height:2;
    text-align: center;
    background-color: var(--base-color01);
    color: var(--base-color_w);
    border-radius: 50px;
    margin: 0 auto 0;
}
.massage_onayami p{
font-size: 14px;
padding:5px 0;
margin: 0;
text-align: center;
}

.carrier
{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin: 20px auto;
}
.carrier li{padding: 0 20px 0 0;}
.carrier a{font-size: 14px;}
.carrier i{font-size: 14px;padding:5px 5px 5px 0;color: #cc0000;}
}