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

.main-img {
	margin-bottom: 100px;
}

.maincontents-inner > section:not(:last-child) {
	margin-bottom: 120px;
}


/* layout01 */

.layout01 {
	text-align: center;
	width: 100%;
	background-image: url("../common/images/midashi01.svg");
background-position: center bottom;
background-repeat: no-repeat;
background-size: 1060px auto;
	padding-bottom: 50px;
	margin-bottom: 80px;
}

.layout01 h4 {
	font-size: 35px;
line-height: 1.4;
letter-spacing: 0.2em;
font-weight: 300;
	margin-bottom: 30px;
}

.layout01 p {
	line-height: 2;
	display: flex;
    align-items: flex-start;
}

.layout01 p::before,
.layout01 p::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #ea764f;
}

.layout01 p::before {
    margin-right: 70px;
}

.layout01 p::after {
    margin-left: 70px;
}


/* layout02 */

.layout02 {
	width: 1060px;
	border-radius: 40px;
	background-color: #FFF;
	overflow: hidden;
	text-align: center;
}

.layout02 .box-inner {
	padding: 40px 0px;
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	gap:0px 40px;
	text-align: left;
	background : rgba(234, 118, 79, 0.2);
}

.layout02 h4 {
	font-size: 33px;
line-height: 1.2;
letter-spacing: 0.2em;
font-weight: 300;
	padding: 40px 0px 15px;
}

.layout02 h5 {
	font-family: "Josefin Sans", sans-serif;
	font-size: 17px;
line-height: 0.8;
	color: #FFF;
letter-spacing: 0.1em;
font-weight: 400;
	padding: 10px 30px 5px;
	display: inline-block;
	background-color: #ea764f;
}

.layout02 p {
	padding: 30px 0px;
}

.layout02 ul li {
	font-size: 21px;
line-height: 1.2;
letter-spacing: 0.1em;
font-weight: 300;
}

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

/* layout03 */

.layout03 {
	width: 1200px;
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	gap:60px;
	text-align: center;
}

.layout03 .box {
	width: 330px;
}

.layout03 .lay01 {
	border-radius: 25px;
	padding: 35px 20px;
	background-color: #ea764f;
}

.layout03 .box:nth-child(even) .lay01 {
	background-color: #595757;
}

.layout03 .lay02 {
	padding: 20px 20px 0px;
	text-align: left;
}

.layout03 h4, .layout03 h5 {
color: #FFF;
letter-spacing: 0.1em;
font-weight: 300;
}

.layout03 h4 {
	font-family: "Josefin Sans", sans-serif;
	font-size: 34px;
line-height: 1;
	position: relative;
	padding-top: 50px;
}

.layout03 h4::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	font-size: 50px;
}

.layout03 .box:nth-child(1) h4::before {
	content: "01";
}

.layout03 .box:nth-child(2) h4::before {
	content: "02";
}

.layout03 .box:nth-child(3) h4::before {
	content: "03";
}

.layout03 h5 {
	font-size:26px;
line-height: 1.4;
	letter-spacing: 0.1em;
	border-top-style : solid;
border-color : rgba(255, 255, 255, 0.5);
border-width : 1px;
	padding-top: 20px;
	margin-top: 20px;
}

.layout03 p {
	font-size: 14px;
}


/* layout04 */

.layout04 {
	width: 1060px;
}

.layout04 .box, .contact {
	border-radius: 40px;
	background-color: #FFF;
}

.layout04 .box:not(:last-child) {
	margin-bottom: 50px;
}

.layout04 table {
	width: 100%;
}

.layout04 table td {
	text-align: left;
	padding: 30px 60px;
	line-height: 1.8;
}

.layout04 table td:first-child {
	text-align: center;
	white-space: nowrap;
	border-right-style : solid;
border-color : rgba(0, 0, 0, 0.5);
border-width : 1px;
}


/* layout05 */

.layout05 {
	text-align: center;
	margin-bottom: 50px;
}

.layout05 h4, .layout05 h4 a {
	font-family: "Josefin Sans", sans-serif;
	font-size: 50px;
color: #ea764f;
line-height: 1.2;
	letter-spacing: 0.05em;
font-weight: 400;
}

.layout05 h4 {
	padding-top: 10px;
}

.layout05 h4::before {
	content: "TEL.";
	font-size: 22px;
}

.layout05 h5 {
	padding-top: 20px;
}

.layout05 h5 a {
color: #FFF;
line-height: 1.2;
letter-spacing: 0.05em;
font-weight: 400;
	display: inline-block;
	padding: 15px 40px;
	background-color: #ea764f;
	border-radius: 60px;
	border-style : solid;
border-color : #ea764f;
border-width : 1px;
}

.layout05 h5 a:hover {
color: #ea764f;
	background-color: #FFF;
	opacity: 1;
}

.layout05 p {
	font-size: 20px;
}

/* layout06 */

.layout06 {
	text-align: center;
	padding-top: 100px;
	display: none;
}

.layout06 img {
	width: auto;
}

.layout06 h5 {
	font-size: 30px;
line-height: 1.2;
letter-spacing: 0.2em;
font-weight: 300;
	margin-bottom: 30px;
}


/*contact*/
.contact {
	width: 1060px;
	padding: 40px 100px;
	display: none;
}

.contact table {
	width: 100%;
}

.contact table .box {
	margin-bottom:5px;
}

.contact table tr {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
	align-items: center;
	padding: 15px 0px;
}

.contact table tr.t-end {
	align-items: flex-start;
}

.contact table tr td {
	color: #000;
	line-height:1.6;
}

.contact table tr td:first-child {
	flex: 1;
	padding-right: 20px;
}

.contact table tr td:last-child {
	width: 650px;
}

.contact table span.sp-view {
	display: none;
}

.contact table tr td input {
	width:100%;
	border-style : solid;
border-color : #b2b2b2;
border-width : 1px;
}

.contact table tr td input.radio {
	width: 15px;
}

.contact table tr td textarea {
	width:100%;
	border-style : solid;
border-color : #b2b2b2;
border-width : 1px;
}

.contact table tr.errer td {
	color: #f3516c;
	vertical-align: middle;
}


.contact span.c01 {
	font-size: 16px;
	line-height: 1.6;
	color: #f3516c;
	vertical-align: top;
	display: inline-block;
	padding-left: 10px;
}

p.text02 {
	line-height: 1.6;
}


input,textarea,button{
	margin:0;
	padding:10px;
	font-size:100%;
}

td div.space {
	margin-top: 20px;
}

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

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


.button {
	text-align: center;
	margin-top: 50px;
}

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

.button img {
	height:40px;
	width:auto;
}

button span, a.btn-mail, .btn-box input, .btn-back, .center-box input {
	display:inline-block;
	padding:15px 50px;
	background-color:#ea764f;
	color:#FFF;
	font-weight: 500;
	letter-spacing:0.1em;
	transition: .5s;
	border : solid #ea764f 1px;
}

button:hover span, a.btn-mail:hover, .btn-box input:hover, .btn-back:hover, .center-box input:hover {
	background-color: #FFF;
	color: #ea764f;
}


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

.formtable input  {
	width: 100%;
}


#formWrap {
	width:100%;
	margin:0 auto;
	line-height:1.6;
	font-size:16px;
}
table.formtable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formtable td, table.formtable th {
	border-bottom-style : solid;
border-color : rgba(0,0,0,0.3);
border-width : 1px;
	padding: 20px 0px;
	line-height:1.6;
	text-align: left;
}	
table.formtable th{
	white-space: nowrap;
	width: 200px;
}

p.error_messe{
	margin:5px 0;
	color:red;
}


.contact h4 {
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: normal;
	margin-bottom:30px;
}

.contact h5 {
	line-height: 1.6em;
	letter-spacing: 0.4em;
	font-size: 20px;
	font-weight: normal;
	text-align: center;
	margin-bottom: 20px;
}

span.text003 {
	display:none;
}

.contents03 {
	display: none;
}



.sp-view {
	display: none;
}
