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

.contents {
	padding-bottom: 120px;
}

/* contents01 */

.contents01 > div:not(:last-child) {
    margin-bottom: 60px;
}

.contents01 > div.title_contents {
    text-align: center;
    margin-bottom: 45px;
}

.contents01 .title_contents h3 {
    color: var(--color-base);
}

/* contents02 */

.contents02 {
    background-color: var(--color-back01);
    padding: 30px;
    border-radius: 20px;
}

/* contents03 */

.contents03 h2 {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: 0.25em;
    font-weight: var(--base-font-weight);
    text-align: center;
}


/* layout01 */

.layout01 {
    text-align: center;
}

.layout01 h4 {
    font-size: 20px;
    line-height: 1.8;
    letter-spacing: 0.15em;
    font-weight: var(--base-font-weight);
}

.contents03 .layout01 h4 {
    font-size: 17px;
    line-height: 2.2;
    padding: 40px 0px 50px;
}

/* layout02 */

.layout02 {
    text-align: center;
}

.layout02 h5, .layout02 h5 a {
    font-size: 58px;
    line-height: 1.2;
    letter-spacing: 0.05em;
    font-family: var(--number-font);
    font-weight: var(--base-font-weight2);
}

.layout02 h5 {
    position: relative;
    display: inline-block;
    padding-left: 60px;
    margin-bottom: 20px;
}

.layout02 h5::before {
    content: "";
	position: absolute;
left: 0px;
top: 10px;
	background-image: url("../../images/contact/icon-tel.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 49px;
	height: 47px;
}

.layout02 p {
    font-weight: 300;
}


/* layout03 */

.layout03 ul li:not(:last-child) {
    margin-bottom: 15px;
}

.layout03 ul li {
    text-indent: -14px;
    margin-left: 14px;
    line-height: 1.8;
}

/* layout04 */

.layout04 > p {
    margin-bottom: 30px;
    color: var(--color-main);
}


/* contact */

.contact {
    width: 700px;
}

.contact h4, .contact #formWrap h4 {
	line-height: 1.6;
	letter-spacing: 0.05em;
    font-size: 15px;
	font-weight: var(--base-font-weight);
	margin-bottom:20px;
}

.contact #formWrap h5 {
	line-height: 1.6;
	letter-spacing: 0.2em;
	font-size: 22px;
	font-weight: var(--base-font-weight);
	margin-bottom: 20px;
    text-align: center;
}

.contact .box-form {
    text-align: left;
}

.contact .box-input {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    align-items: center;
}

.contact .box-input:last-child {
    align-items: flex-start;
}

.contact .box-input:not(:last-child) {
    margin-bottom: 15px;
}

.contact .box-input .lay01 {
    width: 22%;
}

.contact .box-input:last-child .lay01 {
    padding-top: 15px;
}

.contact .box-input .lay02 {
    flex: 1;
    display: flex;
  justify-content: flex-start;
flex-wrap: wrap;
}

.contact .inputbox {
    display: flex;
  justify-content: flex-start;
flex-wrap: wrap;
    align-items: center;
    gap:15px;
    width: 100%;
}

.contact .box-input2 .inputbox input {
    width: 75%;
}

.contact .whitebox {
    background-color: #FFF;
    border-radius: 8px;
    padding: 15px 20px;
    cursor: pointer;
}

.contact .inputbox input, .contact .inputbox select {
	width:100%;
	border-radius: 8px;
	border-style : solid;
border-color : #FFF;
border-width : 1px;
    background-color: #FFF;
}

.contact .inputbox textarea {
	width:100%;
    max-width: 545px;
	border-radius: 8px;
	border-style : solid;
border-color : #FFF;
border-width : 1px;
}

input,textarea,button, select{
    font-size: 15px;
	margin:0;
	padding:15px 20px;
	font-weight: var(--base-font-weight);
    color: var(--color-base);
    -webkit-appearance: none;
  appearance: none;
}

button.btn-search {
    background-color: #9d8181;
    font-family: var(--base-font);
    font-weight: var(--base-font-weight2);
    letter-spacing: 0.1em;
    border-radius: 8px;
    color: #FFF;
    transition: .5s;
}

button.btn-search:hover {
    background-color:var(--color-main);
}

select{
	cursor: pointer;
    position: relative;
    background-image: url("../../images/common/arrow-select.svg");
background-position: right 10px center;
background-repeat: no-repeat;
background-size: auto 20px;
}

input[type="text"] {
	outline: 0;
	border: 1px solid #FFF;
}

textarea[type="textarea"] {
	border: 1px solid #FFF;
	padding: 15px 20px;
}

.visibility-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

input[type=radio]:checked + .radio-text::after {
  opacity: 1;
}

.contact .radio-text {
  position: relative;
    padding-left: 1.8vw;
    display: block;
    font-weight: 400;
}

.contact .radio-text::before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid #777;
  border-radius: 50%;
}

.contact .radio-text::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 50%!important;
  background-color: var(--color-main);
  position: absolute;
  top: 50%;
  left: 3px;
  transform: translateY(-50%);
  opacity: 0;
}


input[type="checkbox"] {
  position: relative;
  width: 1.5vw;
  height: 1.5vw;
  border: 1px solid #FFF;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
    background-color: #FFF;
    border-radius: 0.4vw;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 0.4vw;
  left: 0.6vw;
  transform: rotate(50deg);
  width: 0.3vw;
  height: 0.6vw;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}

.contact .box-form h5, .contact .box-form p, table.formtable th {
    font-size: 15px;
    font-weight: var(--base-font-weight);
    line-height: 1.2;
    letter-spacing: 0em;
    position: relative;
    margin-bottom: 0px;
}

.contact .box-form h5::after, .contact .box-form p::after {
line-height: 1.2;
    display: inline-block;
    padding-left: 5px;
}

.contact .box-form h5.hissu::after, .contact .box-form p.hissu::after {
    content: "※";
    color: var(--color-main);
}


.button {
	text-align: center;
    padding-top: 30px;
}

button {
	cursor: pointer;
	border:none;
	background-color:rgba(0,0,0,0);
}

button span, a.btn-mail, .btn-box input, .btn-back {
	display:inline-block;
	padding: 20px 35px;
	min-width: 250px;
    font-family: var(--base-font);
	background-color:var(--color-main);
    font-weight: var(--base-font-weight2);
	font-size: 18px;
	color:#FFF;
	letter-spacing:0.05em;
	transition: .5s;
	border : solid rgba(255,255,255,0) 1px;
	border-radius: 8px;
}

button:hover span, a.btn-mail:hover, .btn-box input:hover, .btn-back:hover {
	background-color: var(--color-base);
	opacity: 1;
}

.contents03 a.btn-mail {
	background-color:var(--color-back01);
    color: var(--color-base);
}

.contents03 a.btn-mail:hover {
	background-color:var(--color-main);
    color: #FFF;
}

a.btn-mail {
    position: relative;
}

.btn-box {
	padding-top: 40px;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
	gap:15px;
}


#formWrap {
	width:100%;
	padding: 30px 0px;
	margin:0 auto;
    font-weight: var(--base-font-weight);
    font-size: var(--base-font-size);
	line-height:1.6;
    text-align: left;
    position: relative;
}

table.formtable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}

table.formtable tr {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    align-items: center;
}

table.formtable tr:not(:last-child) {
    margin-bottom: 15px;
}

table.formtable th{
	width: 22%;
}

table.formtable td {
	flex: 1;
	border-radius: 8px;
	border-style : solid;
border-color : #FFF;
border-width : 1px;
	padding: 15px 20px;
    background-color: #FFF;
}


p.text002 {
	padding-top: 20px;
}

span.text003 {
	display:none;
}




.sp-view {
	display: none;
}

