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



/* contents-top */

.contents-top {
	width: 100%;
}

.contents-top img {
	width: 100%;
height: auto;
}

.link01 a {
    font-size: var(--base-font-size3);
    color: var(--color-main);
    font-weight: var(--base-font-weight);
line-height: 1.2;
    background-color: var(--color-sub2);
    display: inline-block;
    padding: 1.3vw 5vw;
    text-align: center;
    border-radius: 4.4vw;
    border-style : solid;
border-color : #FFF;
border-width : 2px;
    position: relative;
    transition: .2s;
}

.contents07 .link01 a, .contents02 .link01:last-child a {
    color: #FFF;
    background-color: var(--color-main);
}

.link01 a:hover {
    opacity: 1;
    color: #FFF;
    background-color: var(--color-main);
}

.contents07 .link01 a:hover, .contents02 .link01:last-child a:hover {
    color: var(--color-main);
    background-color: var(--color-sub2);
}

.link01 a::before {
    content: "";
	position: absolute;
right: 1.8vw;
top: 0px;
	background-image: url("../../images/common/btn-more_off.svg");
background-position: right center;
background-repeat: no-repeat;
	background-size: auto 2vw;
	width: 2vw;
	height: 100%;
    transition: .2s;
}

.contents07 .link01 a::before {
	background-image: url("../../images/common/btn-more_on.svg");
}

.link01 a:hover::before {
	background-image: url("../../images/common/btn-more_on.svg");
}

.contents07 .link01 a:hover::before {
	background-image: url("../../images/common/btn-more_off.svg");
}



/* title_contents-top */

.title_contents-top {
	text-align: center;
	margin-bottom: 3.7vw;
}

.title_contents-top h2, .title_contents-top h3 {
line-height: 1.2;
letter-spacing: 0.05em;
}

.title_contents-top h2 {
    font-family: var(--title-font);
	font-size: var(--base-font-size2);
    color: var(--color-sub);
    font-weight: var(--base-font-weight2);
    line-height: 0.8;
}

.title_contents-top h3 {
	color: var(--color-main);
    font-size: 3vw;
	padding-top: 1.5vw;
    position: relative;
    padding-bottom: 3vw;
}

.title_contents-top h3::after {
	content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	background-image: url("../../images/top/line01.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
    height: 0.75vw;
}

.title_contents-top p {
	padding-top: 2vw;
    font-size: var(--base-font-size2);
}

/* container */

.container {
	width: 100%;
    padding-top: 6.6vw;
    padding-top: 5vw;
}

/* main-img-top */

.main-img-top {
  width: 100%;
    position: relative;
}

.main-img-top::after {
  content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/frame-slide.svg");
background-position: center top;
background-repeat: no-repeat;
	background-size: 95% auto;
	width: 100%;
	height: 100%;
}

.main-img-top img {
  width: 100%;
height: auto;
}

/* contents01 */


.contents01 {
    padding-bottom: 20vw;
    position: relative;
}

.contents01::before {
    content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	background-image: url("../../images/top/frame-back01a.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 10vw;
    margin-bottom: -2px;
}

.contents01 .box-inner {
    padding-left: 5%;
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    position: relative;
}

.contents01 .box-inner::before {
    content: "";
	position: absolute;
right: 0px;
bottom: 0px;
	background-image: url("../../images/top/icon01.svg");
background-position: right bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 50%;
	height: 12vw;
    margin-bottom: -5vw;
}

.contents01 .box-detail {
    flex: 1;
    padding-top: 3.7vw;
}

/* layout-pagemenu */

.layout-pagemenu {
    width: 40%;
}

.layout-pagemenu .inner {
    position: relative;
    width: 100%;
    height: 37vw;
}

.layout-pagemenu .box {
    position: absolute;
}

.layout-pagemenu .f01 {
    left: 0px;
top: 0px;
    width: 57%;
}

.layout-pagemenu .f02 {
    right: 5%;
top: 8vw;
    width: 35%;
}

.layout-pagemenu .f03 {
    left: 25%;
top: 16vw;
    width: 40%;
}

.layout-pagemenu .f04 {
    right: 0px;
top: 23.5vw;
    width: 35%;
}

.layout-pagemenu .f05 {
    left: 15%;
bottom: 0px;
    width: 40%;
}

.layout-pagemenu h6 a {
    position: relative;
    display: block;
}

.layout-pagemenu h6 a::before {
   content: "";
	position: absolute;
	background-image: url("../../images/common/link-arrow01.svg");
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 2.5vw;
    height: 2.5vw;
    transition: .5s;
}

.layout-pagemenu .f01 h6 a::before, .layout-pagemenu .f03 h6 a::before, .layout-pagemenu .f05 h6 a::before {
    background-position: left bottom;
}

.layout-pagemenu .f02 h6 a::before, .layout-pagemenu .f04 h6 a::before {
    background-position: right bottom;
}

.layout-pagemenu .f01 h6 a, .layout-pagemenu .f04 h6 a {
    padding-bottom: 8px;
}

.layout-pagemenu .f01 h6 a::before {
    left: 7vw;
    bottom: 0px;
}

.layout-pagemenu .f02 h6 a::before {
    right: 2vw;
    bottom: 0px;
}

.layout-pagemenu .f03 h6 a::before {
    left: 3vw;
    bottom: 2vw;
}

.layout-pagemenu .f04 h6 a::before {
    right: 1.5vw;
    bottom: 0px;
}

.layout-pagemenu .f05 h6 a::before {
    left: 1.5vw;
    bottom: 0px;
}

.layout-pagemenu h6 a:hover {
   opacity: 1;
}

.layout-pagemenu h6 a:hover::before {
   margin-bottom: -0.7vw;
}

.contents01 h2 {
    font-family: var(--title-font);
    color: var(--color-main);
    font-weight: var(--base-font-weight2);
    font-size: 2.4vw;
    line-height: 0.8;
    letter-spacing: 0.05em;
}

.contents01 p {
    font-size: 1.4vw;
    padding-top: 4.4vw;
line-height: 2.2;
}


/* contents02 */

.contents02 {
	width: 100%;
	text-align: center;
    padding-bottom: 5.8vw;
}

.contents02 .title_contents-top {
	width: 100%;
    background-color: #FFF;
    padding: 5vw 0px 3vw;
    margin-bottom: 0px;
}

/* modal-schedule */

.modal-schedule .box-title {
    background-color: #C4D3E6;
    padding: 3.3vw 0px 2.6vw;
}

.modal-schedule .box-detail {
    text-align: left;
    padding: 5.9vw 1.5vw 1.5vw;
    position: relative;
background-position: right 3.6vw bottom 5.1vw;
background-repeat: no-repeat;
background-size: 25% auto;
}

.modal-schedule01 .box-detail {
    background-image: url("../../images/top/icon-schedule01b.svg");
}

.modal-schedule02 .box-detail {
    background-image: url("../../images/top/icon-schedule02b.svg");
}

.modal-schedule .box-detail::after {
   content: "";
	position: absolute;
left: 0px;
top: 0px;
background-position: center top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
    margin-top: -4vw;
}

.modal-schedule01 .box-detail::after {
	background-image: url("../../images/top/icon-schedule01a.svg");
	height: 10.3vw;
}

.modal-schedule02 .box-detail::after {
	background-image: url("../../images/top/icon-schedule02a.svg");
	height: 11.4vw;
}

.modal-schedule .box-time {
    width: 88%;
    position: relative;
}

.modal-schedule .box-time::before {
    content: "";
	position: absolute;
left: 7.35vw;
top: 0.5vw;
	width: 0.5vw;
	height: 98%;
    display: block;
    background-color: #EDE0D6;
}

.modal-schedule02 .box-time::before {
top: 1.5vw;
	height: 95%;
}

.modal-schedule .box {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    align-items: center;
    margin-bottom: 4.4vw;
}

.modal-schedule .box:last-child {
    margin-bottom: 0px;
}

.modal-schedule01 .box:nth-child(3), .modal-schedule02 .box:nth-child(2) {
    align-items: flex-start;
    margin-bottom: 0.7vw;
}

.modal-schedule .box .lay01 {
    width: 8.8vw;
}

.modal-schedule .box .lay02 {
    flex: 1;
    padding-left: 1.8vw;
}

.modal-schedule .box-text {
    text-align: right;
    padding-top: 2.9vw;
}


.modal-schedule h3 {
    line-height: 1.4;
    font-size: 1.6vw;
    letter-spacing: 0.05em;
color: var(--color-main);
font-weight: var(--base-font-weight2);
}

.modal-schedule h4 {
    font-family: var(--title-font);
font-weight: var(--base-font-weight);
    font-size: 1vw;
    line-height: 0.8;
    letter-spacing: 0.05em;
color: #FFF;
    background-image: url("../../images/top/text-time.svg");
background-position: left top;
background-repeat: no-repeat;
background-size: auto 100%;
    width: 7vw;
    height: 2.2vw;
    padding-right: .6vw;
    display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
    text-align: center;
    position: relative;
}

.modal-schedule h4::after {
    content: "";
	position: absolute;
right: 0px;
top: 0.4vw;
	width: 1.6vw;
	height: 1.6vw;
    border-radius: 50%;
    display: block;
    background-color: var(--color-sub2);
    margin-right: -1.5vw;
}

.modal-schedule h5 {
    line-height: 1.4;
    letter-spacing: 0.05em;
    font-size: var(--base-font-size2);
font-weight: var(--base-font-weight);
    padding: 1.5vw 2.2vw;
    background-color: rgba(196,211,234,0.45);
    border-radius: 1.5vw;
    margin-top: 0.7vw;
    display: inline-block;
}

.modal-schedule .box-title p {
    font-size: var(--base-font-size2);
    padding-top: 0.4vw;
}

.modal-schedule .box p {
    font-size: var(--base-font-size2);
    line-height: 1.4;
}

.modal-schedule .box p span {
    font-size: 1vw;
}

.modal-schedule .box-text p {
    font-size: 0.95vw;
    line-height: 1.4;
    font-weight: 400;
}


/* layout-about */

.layout-about-wrap {
	width: 100%;
    background-color: #FFF;
}

.layout-about {
	width: 100%;
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    border-radius: 9.2vw 9.2vw 0px 0px;
    overflow: hidden;
    padding-bottom: 2.5vw;
}

.layout-about .box-job {
	width: 50%;
    position: relative;
}

.layout-about .box-job .box-link {
	position: absolute;
left: 0px;
bottom: 0px;
    width: 100%;
    margin-bottom: -2.5vw;
}

.layout-about .box-job .box-link .link01:last-child {
	display: none;
}

.layout-about .box-job .inner {
	width: 100%;
    height: 100%;
    padding: 5vw 5vw 7vw;
}

.layout-about .box-job01 .inner {
	background-color: #C4D3E6;
}

.layout-about .box-job02 .inner {
	background-color: #D4E1E8;
}

.layout-about .box-img {
	position: relative;
    padding: 2vw 0px 3.5vw;
}

.layout-about .box-img::before {
    content: "";
	position: absolute;
right: 0px;
bottom: 0px;
	background-image: url("../../images/top/icon02b.svg");
background-position: right bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 50%;
	height: 7vw;
    margin-bottom: -5vw;
}

.layout-about .box-job01 .box-img::before {
	background-image: url("../../images/top/icon02b.svg");
}

.layout-about .box-job02 .box-img::before {
	background-image: url("../../images/top/icon02c.svg");
}

.box-jobpoint {
	text-align: left;
    position: relative;
    padding-top: 6.2vw;
}

.box-jobpoint::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/text-point.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 5vw;
}

.box-jobpoint .box {
	position: relative;
    padding-left: 9.5vw;
}

.box-jobpoint .box:not(:last-child) {
	margin-bottom: 2.5vw;
}

.box-jobpoint .box::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
background-position: left center;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 8vw;
	height: 100%;
}

.box-job01 .box:nth-child(1)::before, .modal-jobpoint01 .box:nth-child(1)::before {
	background-image: url("../../images/top/point01a.svg");
}

.box-job01 .box:nth-child(2)::before, .modal-jobpoint01 .box:nth-child(2)::before {
	background-image: url("../../images/top/point02a.svg");
}

.box-job01 .box:nth-child(3)::before, .modal-jobpoint01 .box:nth-child(3)::before {
	background-image: url("../../images/top/point03a.svg");
}

.box-job02 .box:nth-child(1)::before, .modal-jobpoint02 .box:nth-child(1)::before {
	background-image: url("../../images/top/point01b.svg");
}

.box-job02 .box:nth-child(2)::before, .modal-jobpoint02 .box:nth-child(2)::before {
	background-image: url("../../images/top/point02b.svg");
}

.box-job02 .box:nth-child(3)::before, .modal-jobpoint02 .box:nth-child(3)::before {
	background-image: url("../../images/top/point03b.svg");
}

.layout-about h3 {
	font-size: 1.5vw;
color: #FFF;
line-height: 1.2;
letter-spacing: 0.05em;
    background-color: var(--color-sub);
    font-weight: var(--base-font-weight);
    padding: 1.3vw 0px;
    border-radius: 4.4vw;
    display: inline-block;
    min-width: 21vw;
    margin-bottom: 2vw;
}

.box-jobpoint h4 {
   font-size: var(--base-font-size3);
color: var(--color-main);
font-weight: var(--base-font-weight);
line-height: 1.2;
letter-spacing: 0.05em;
    margin-bottom: 0.7vw;
}

.layout-about-img {
	width: 100%;
    position: relative;
    padding-top: 6vw;
    background-image: url("../../images/top/frame-back01b.svg");
background-position: center bottom 10vw;
background-repeat: no-repeat;
background-size: 100% auto;
}

.layout-about-img::before {
	content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	background-image: url("../../images/top/icon03.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: 85% auto;
	width: 100%;
	height: 100%;
    margin-bottom: -4vw;
}

.layout-about-img .inner {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    align-items: flex-start;
    position: relative;
}

.layout-about-img .inner .box {
	width: 18vw;
    border-radius: 20px;
    overflow: hidden;
}

.layout-about-img .inner .box:nth-child(even) {
	margin-top: 10vw;
}



/* contents03 */

.contents03 {
	width: 100%;
    padding-bottom: 8vw;
}

.contents03 .box-inner {
    position: relative;
    padding-top: 5vw;
    padding-bottom: 8.8vw;
}

.contents03 .box-inner::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/back01.svg");
background-position: center;
background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 102%;
    z-index: -1;
}

/* layout-point */

.layout-point {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    align-items: flex-start;
    position: relative;
    padding-top: 2vw;
    text-align: center;
}

.layout-point::before {
    content: "";
	position: absolute;
right: 0px;
top: 0px;
	background-image: url("../../images/top/icon04b.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 40%;
	height: 16.8vw;
    margin-top: -8vw;
    margin-right: -5vw;
}

.layout-point::after {
    content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	background-image: url("../../images/top/icon04a.svg");
background-position: left bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 40%;
	height: 14vw;
    margin-bottom: -8vw;
    margin-left: -3vw; 
}

.layout-point .box-wrap {
    width: 31%;
}

.layout-point .box {
    width: 100%;
    background-color: #FFF;
    border-radius: 1.5vw;
    padding: 1.8vw;
    padding-top: 2.5vw;
    position: relative;
    min-height: 33vw;
}

.layout-point .box:nth-child(2) {
    margin-top: 6.6vw;
}

.layout-point .box:nth-child(3) {
    margin-top: 13.2vw;
}

.layout-point .box::after {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
    margin-top: -1.2vw;
    font-family: var(--title-font);
    color: var(--color-sub);
font-weight: var(--base-font-weight2);
font-size: 2.3vw;
line-height: 0.8;
}

.layout-point .slider-point01 .box::after {
    content: "01";
}

.layout-point .slider-point02 .box::after {
    content: "02";
}

.layout-point .slider-point03 .box::after {
    content: "03";
}

.layout-point .box-img img {
    width: auto;
    height: 10vw;
}

.layout-point h4 {
    font-size: 1.7vw;
color: var(--color-main);
font-weight: var(--base-font-weight3);
line-height: 1.4;
letter-spacing: 0.05em;
    margin-bottom: 1.5vw;
}

.layout-point p {
    text-align: left;
    padding-top: 2.2vw;
}


/* contents04 */

.contents04 {
	width: 100%;
	position: relative;
}

.contents04::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/frame-back02.svg");
background-position: center top;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 14.7vw;
    margin-top: -12.5vw;
}

.contents04 .title_contents-top {
	padding-top: 1vw;
}


/* modal-interview */

.modal-interview {
    text-align: left;
}

.modal-interview .lay01, .modal-interview .lay03 {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    flex-direction: row-reverse;
    gap:2.2vw;
}

.modal-interview .lay01 .box-detail {
    flex: 1;
    position: relative;
}

.modal-interview .lay01 .box-detail::before {
    content: "";
	position: absolute;
right: 0px;
bottom: 2.2vw;
	background-image: url("../../images/top/icon10b.svg");
background-position: right bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 4.2vw;
	height: 4vw;
}

.modal-interview .lay01 .box-name {
    position: absolute;
left: 0px;
bottom: 0px;
}

.modal-interview .lay01 .box-img {
    width: 26.5vw;
}

.modal-interview .lay02 {
    padding: 2.9vw 0px 4vw;
}

.modal-interview .lay03 .box-text {
    flex: 1;
    position: relative;
    padding-top: 5vw;
}

.modal-interview .lay03 .box-text::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/text-interview.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 4.2vw;
}

.modal-interview .lay03 .box-img {
    width: 19.1vw;
    position: relative;
}

.modal-interview .lay03 .box-img::after {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/common/icon-btntop.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 5vw;
	height: 4.5vw;
    margin-top: -0.5vw;
}

.modal-interview h3, .modal-interview h5, .modal-interview h6 {
color: var(--color-main);
line-height: 1.4;
letter-spacing: 0.05em;
font-weight: var(--base-font-weight);
}

.modal-interview h3 {
    font-size: 2vw;
    font-weight: var(--base-font-weight2);
    padding-top: 0.7vw;
    line-height: 1.6;
}

.modal-interview h4 {
    font-weight: var(--base-font-weight);
    font-size: var(--base-font-size);
color: #FFF;
line-height: 1.2;
    letter-spacing: 0.05em;
    background-color: var(--color-sub);
    padding: 0.7vw 2.5vw;
    text-align: center;
    border-radius: 4.4vw;
    display: inline-block;
}

.modal-interview h5 {
    font-size: 0.95vw;
    padding: 1.1vw 0px 0.4vw;
}

.modal-interview h6 {
    font-size: 2.1vw;
}

.modal-interview h6::after {
    content: "さん";
    display: inline-block;
    font-size: var(--base-font-size);
    padding-left: 5px;
}


/* layout-interview */

.layout-interview {
	width: 100%;
    position: relative;
    background-color: #FFF6E6;
    padding: 2.9vw 0px 9.5vw;
}

.layout-interview .box-inner {
    display: flex;
  justify-content: flex-start;
flex-wrap: wrap;
    gap:11vw 5.8vw;
    padding-top: 7.3vw;
    position: relative;
}

.layout-interview .box-inner::before {
   content: "";
	position: absolute;
right: 1.4vw;
top: 0px;
	background-image: url("../../images/top/icon05.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 30%;
	height: 9.4vw;
    margin-top: -20.5vw;
}

.layout-interview .box {
    width: 36.7vw;
    position: relative;
}

.layout-interview a {
    display: block;
    position: relative;
}

.layout-interview a:hover {
   opacity: 1;
}

.layout-interview .box::before, .layout-interview .box a::after {
    content: "";
	position: absolute;
right: 0px;
bottom: 0px;
	background-image: url("../../images/top/btn02_off.svg");
background-position: right bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 12vw;
	height: 10.3vw;
    margin-bottom: -2.5vw;
    margin-right: -2.5vw;
}

.layout-interview .box::before {
    z-index: 1;
}

.layout-interview .box a::after {
	background-image: url("../../images/top/btn02_on.svg");
    z-index: 2;
    opacity: 0;
    transition: .2s;
}

.layout-interview a:hover::after {
    opacity: 1;
}

.layout-interview .box-box {
    background-color: #FFF;
    border-radius: 20px;
    padding: 3.3vw;
    padding-bottom: 0px;
    padding-left: 18.4vw;
    position: relative;
    height: 19vw;
}

.layout-interview .box-box::before {
    content: "";
	position: absolute;
left: 0px;
bottom: 0px;
background-position: left bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 50%;
	height: 26.5vw;
    margin-left: -0.7vw;
}

.layout-interview .interview01 .box-box::before {
	background-image: url("../../images/top/icon-staff01.png");
}

.layout-interview .interview02 .box-box::before {
	background-image: url("../../images/top/icon-staff02.png");
}

.layout-interview .interview03 .box-box::before {
	background-image: url("../../images/top/icon-staff03.png");
}

.layout-interview .interview04 .box-box::before {
	background-image: url("../../images/top/icon-staff04.png");
}

.layout-interview .box-box::after {
    content: "";
	position: absolute;
right: 2.9vw;
top: 0px;
	min-width: 35%;
    font-weight: var(--base-font-weight2);
    font-size: var(--base-font-size);
color: #FFF;
line-height: 1.2;
    background-color: var(--color-sub);
    padding: 0.9vw 1.5vw;
    text-align: center;
    border-radius: 4.4vw;
    margin-top: -1.5vw;
}

.layout-interview .interview01 .box-box::after, .layout-interview .interview03 .box-box::after, .layout-interview .interview04 .box-box::after {
    content: "家事代行キャスト";
}

.layout-interview .interview02 .box-box::after {
    content: "ハウスクリーニング技術者";
}

.layout-interview h4, .layout-interview h5 {
color: var(--color-main);
line-height: 1.4;
letter-spacing: 0.05em;
font-weight: var(--base-font-weight);
}

.layout-interview h4 {
    font-size: 0.95vw;
}

.layout-interview h5 {
    font-size: 2.1vw;
    margin-bottom: 1.5vw;
}

.layout-interview h5::after {
    content: "さん";
    display: inline-block;
    font-size: var(--base-font-size);
    padding-left: 5px;
}

.layout-interview ul li {
    font-size: var(--base-font-size);
    font-weight: var(--base-font-weight);
    line-height: 1.4;
    text-indent: -0.7vw;
    margin-left: 0.7vw;
}

.layout-interview ul li:not(:last-child) {
    margin-bottom: 0.7vw;
}

.layout-interview ul li::before {
    content: "#";
}


/* contents05 */

.contents05 {
	width: 100%;
	text-align: center;
    position: relative;
}

.contents05::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/frame-back03.svg");
background-position: center top;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 15vw;
    margin-top: -2.2vw;
}

.contents05 .title_contents-top {
	position: relative;
}

.contents05 .title_contents-top::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/icon06.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 7.4vw;
	height: 6.4vw;
}


/* modal-training */

.modal-training h3 {
    color: var(--color-main);
    font-weight: var(--base-font-weight2);
    font-size: 1.9vw;
line-height: 1.4;
letter-spacing: 0.05em;
    margin-bottom: 20px;
}

.modal-training p {
    text-align: left;
    width: 30vw;
    margin: 0px auto;
}


/* layout-training */

.layout-training {
	width: 100%;
    position: relative;
    padding: 9.7vw 0px 11vw;
}

.layout-training .title_contents-top {
    padding-top: 5vw;
}

.layout-training .box {
    padding: 0px 1.8vw;
}

.layout-training .box a {
    background-color: #FFF;
    display: block;
    padding: 2.2vw;
    border-radius: 20px;
    position: relative;
}

.layout-training .box a::before {
    content: "";
	position: absolute;
right: 2.2vw;
bottom: 2.2vw;
	background-image: url("../../images/common/btn-more_off.svg");
background-position: right bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 2.6vw;
	height: 2.6vw;
}

.layout-training h6 {
    font-weight: var(--base-font-weight);
    color: var(--color-main);
    font-size: 1.6vw;
line-height: 1.4;
letter-spacing: 0.05em;
    padding-top: 1.5vw;
}


/* contents06 */

.contents06 {
    width: 100%;
    position: relative;
}

.contents06::after {
   content: "";
	position: absolute;
right: 0px;
top: 0px;
	background-image: url("../../images/top/icon07.svg");
background-position: center top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 16.4vw;
    margin-top: -7.2vw;
}

.contents06 .box-inner {
    position: relative;
    border-radius: 9.2vw 9.2vw 0px 0px;
    overflow: hidden;
    background-color: #FFF;
    padding: 6.6vw 0px;
}

.contents06 .title_contents-top, .contents08 .title_contents-top {
    text-align: left;
}

.contents06 .title_contents-top h3, .contents07 .title_contents-top h3, .contents08 .title_contents-top h3 {
	padding-bottom: 0px;
}

.contents06 .title_contents-top h3::after, .contents07 .title_contents-top h3::after, .contents08 .title_contents-top h3::after {
    display: none;
}


/* layout-feature */

.layout-feature {
    display: flex;
  justify-content: center;
flex-wrap: wrap;
    gap:0px 4.4vw;
}

.layout-feature .box {
    width: 21.3vw;
    position: relative;
    padding-top: 3.7vw;
}

.layout-feature .box::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
background-position: center top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 8vw;
}

.layout-feature .feature01::before {
	background-image: url("../../images/top/text-feature01.svg");
}

.layout-feature .feature02::before {
	background-image: url("../../images/top/text-feature02.svg");
}

.layout-feature .feature03::before {
	background-image: url("../../images/top/text-feature03.svg");
}

.layout-feature .box-number {
background-position: center;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 22.8vw;
    text-align: center;
    padding-top: 5.9vw;
    margin-bottom: 2.2vw;
}

.layout-feature .feature01 .box-number {
	background-image: url("../../images/top/back-feature01.svg");
}

.layout-feature .feature02 .box-number {
	background-image: url("../../images/top/back-feature02.svg");
}

.layout-feature .feature03 .box-number {
	background-image: url("../../images/top/back-feature03.svg");
}

.layout-feature .box-detail {
	padding: 0px 0.7vw;
}

.layout-feature h4 {
    font-family: var(--title-font);
    font-weight: var(--base-font-weight3);
    color: var(--color-main);
    font-size: 6.3vw;
line-height: 0.8;
}

.layout-feature h4::after {
    content: "";
    font-family: var(--base-font);
    font-size: 1.9vw;
line-height: 1.2;
}

.layout-feature .feature01 h4::after {
    content: "歳";
}

.layout-feature .feature02 h4::after {
    content: "時間";
}

.layout-feature .feature03 h4::after {
    content: "%";
}

.layout-feature h5 {
    font-size: var(--base-font-size2);
    font-weight: var(--base-font-weight2);
line-height: 1.6;
}

.layout-feature p {
line-height: 1.6;
    padding-top: 1.1vw;
}

/* contents07 */

.contents07 {
	width: 100%;
	text-align: center;
    position: relative;
    background-color: #F0F0F0;
    padding-bottom: 3vw;
}

.contents07::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/frame-back04.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 7.4vw;
    margin-top: -2px;
}

.contents07::after {
	content: "";
	position: absolute;
left: 5.1vw;
top: 2vw;
	background-image: url("../../images/top/icon08a.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 11vw;
	height: 8.1vw;
}


/* modal-recruit */

.modal-recruit .box-title, .modal-faq .box-title {
    position: relative;
    height: 6vw;
}

.modal-recruit .box-title::before {
 content: "";
	position: absolute;
right: 5%;
bottom: 0px;
background-position: right top;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 10.2vw;
	height: 7.4vw;
    margin-top: -1.5vw;
}

.modal-recruit01 .box-title::before {
	background-image: url("../../images/top/img-recruit01.png");
}

.modal-recruit02 .box-title::before {
	background-image: url("../../images/top/img-recruit02.png");
}

.modal-recruit03 .box-title::before {
	background-image: url("../../images/top/img-recruit03.png");
    right: 0%;
}

.modal-recruit .box-detail .box {
    position: relative;
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    align-items: center;
    text-align: left;
    border-bottom-style : solid;
border-color : #CBCBCB;
border-width : 1px;
    padding: 1.5vw 0.4vw;
}

.modal-recruit .box-detail .box:first-child {
    border-top-style : solid;
}

.modal-recruit .box-detail .lay01 {
    flex: 1;
}

.modal-recruit .box-detail .lay02 {
    width: 35.2vw;
}

.modal-recruit .box-link {
    padding-top: 2.9vw;
}


/* modal-faq */

.modal-faq .box-title::before {
 content: "";
	position: absolute;
left: 18%;
top: 0px;
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 40%;
	height: 6vw;
    margin-top: -0.6vw;
}

.modal-faq01 .box-title::before {
	background-image: url("../../images/top/icon-modal_faq01.svg");
}

.modal-faq02 .box-title::before {
	background-image: url("../../images/top/icon-modal_faq02.svg");
}

.modal-faq .box {
    padding: 2vw 0.4vw;
    text-align: left;
}

.modal-faq .box:not(:last-child) {
     border-bottom-style : solid;
border-color : #CBCBCB;
border-width : 1px;
}


.modal-recruit h3, .modal-recruit h4, .modal-recruit h5, .modal-faq h3, .modal-faq h4, .modal-faq h5 {
font-weight: var(--base-font-weight2);
    color: var(--color-main);
line-height: 1.4;
letter-spacing: 0.05em;
}

.modal-recruit h3, .modal-faq h3 {
    font-size: 1.9vw;
}

.modal-recruit h4, .modal-faq h4 {
    font-size: var(--base-font-size2);
    padding-top: 0.4vw;
}

.modal-faq h5 {
    position: relative;
    padding-left: 2.94vw;
    margin-bottom: 1vw;
}

.modal-faq h5::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
    font-family: var(--title-font);
    font-size: var(--base-font-size3);
    margin-top: -3px;
}

.modal-faq .box:nth-child(1) h5::before {
    content: "Q1.";
}

.modal-faq .box:nth-child(2) h5::before {
    content: "Q2.";
}

.modal-faq .box:nth-child(3) h5::before {
    content: "Q3.";
}

.modal-faq .box:nth-child(4) h5::before {
    content: "Q4.";
}

.modal-faq .box:nth-child(5) h5::before {
    content: "Q5.";
}

.modal-faq .box:nth-child(6) h5::before {
    content: "Q6.";
}

.modal-faq p {
    line-height: 1.8;
}

.modal-recruit h6 a {
    font-size: var(--base-font-size2);
    font-weight: var(--base-font-weight);
color: #FFF;
line-height: 1.2;
letter-spacing: 0.05em;
    display: inline-block;
    padding: 1.25vw 4.4vw;
    background-color: var(--color-main);
    border-radius: 4.4vw;
}

.modal-recruit h6 a:hover {
    opacity: 1;
    color: var(--color-main);
    background-color: var(--color-sub2);
}

.modal-recruit p span {
    font-size: 0.95vw;
}
.modal-recruit ul {
	list-style: outside;
	margin-left: 1.1vw;
}

.modal-recruit ul li {
    padding-left: 0vw;
    position: relative;
    line-height: 1.6;
	list-style-type:disc;
	
}

.modal-recruit ul.text-mini li {
    font-size: 0.95vw;
}

.modal-recruit ul li:not(:last-child) {
    margin-bottom: 0.7vw;
}

.modal-recruit ul li::before {
    /*content: "";
	position: absolute;
left: 5px;
top: 10px;
	width: 5px;
	height: 5px;
    display: block;
    border-radius: 50%;
    background-color: var(--color-base);*/
}

/* layout-recruit */

.layout-recruit {
    position: relative;
    padding: 5.3vw 0px;
}

.layout-recruit::before {
    content: "";
	position: absolute;
right: 16vw;
top: 11vw;
	background-image: url("../../images/top/icon08b.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 18vw;
	height: 8.5vw;
}

.layout-recruit .title_contents-top {
    padding-top: 5vw;
}

.layout-recruit .lay01, .layout-recruit .lay02 {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
}

.layout-recruit .lay01 .box {
   width: 24.2vw;
    height: 32.4vw;
    background-color: #FFF;
    position: relative;
    border-radius: 12vw;
    overflow: hidden;
}

.layout-recruit .lay01 .box a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 5.1vw;
}

.layout-recruit .lay01 .box a:hover {
    opacity: 1;
}

.layout-recruit .lay01 .box a::before, .layout-recruit .lay01 .box a::after {
    content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	background-image: url("../../images/top/btn03_off.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 8.4vw;
}

.layout-recruit .lay01 .box a::before {
     z-index: 1;
}

.layout-recruit .lay01 .box a::after {
	background-image: url("../../images/top/btn03_on.svg");
    z-index: 2;
    opacity: 0;
    transition: .2s;
}

.layout-recruit .lay01 a:hover::after {
    opacity: 1;
}

.layout-recruit .lay01 .box-img img {
   width: 70%;
}

.layout-recruit .lay01 h4 {
    min-height: 5.1vw;
    font-size: 1.8vw;
    letter-spacing: 0.05em;
    line-height: 1.4;
color: var(--color-main);
    font-weight: var(--base-font-weight);
    display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
}

.layout-recruit .lay01 h5 {
    padding: 0.7vw 0px 1.8vw;
    line-height: 1.2;
    letter-spacing: 0.05em;
    font-size: var(--base-font-size3);
color: var(--color-sub);
    font-weight: var(--base-font-weight);
}


.layout-recruit .lay02 {
    padding-top: 4.4vw;
}

.layout-recruit .lay02 .link01 a {
    min-width: 36.7vw;
}

/* contents08 */

.contents08 {
    position: relative;
    margin-bottom: 8.8vw;
}

.contents08 .box-inner {
    position: relative;
}

.contents08 .box-img {
    position: relative;
}

.contents08 .box-img::before {
   content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/frame-message.png");
background-position: center top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 101%;
}

.contents08 .box-detail {
    position: absolute;
left: 0px;
top: 0px;
    width: 100%;
    height: 100%;
    display: flex;
  justify-content: flex-end;
    align-items: center;
flex-wrap: wrap;
    padding-top: 5.5vw;
}

.contents08 .box-detail .inner {
    width: 42%;
    padding-right: 9vw;
    position: relative;
}

.contents08 .box-detail .inner::before {
    content: "";
	position: absolute;
right: 9vw;
top: 0px;
	background-image: url("../../images/top/icon09b.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 6.25vw;
	height: 5.6vw;
    margin-top: -2.2vw;
}

.contents08 .box-detail .inner::after {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/icon09a.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 7.4vw;
	height: 6.4vw;
    margin-top: -19.8vw;
    margin-left: -22vw;
}

.contents08 h6 {
    text-align: right;
    padding-top: 2.9vw;
    font-weight: var(--base-font-weight);
}


/* contents09 */

.contents09 {
    position: relative;
    text-align: center;
}

.contents09::after {
    content: "";
	position: absolute;
left: 8.8vw;
top: 0px;
	background-image: url("../../images/top/icon10a.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 22vw;
	height: 14vw;
    margin-top: -8vw;
}

.contents09-contact::after {
    display: none;
}

.contents09 .box-inner {
    position: relative;
    border-radius: 9.2vw 9.2vw 0px 0px;
    overflow: hidden;
    background-color: #F3DDBB;
}

.contents09-contact .box-inner {
    border-radius: 0px;
}


.contents09 .title_contents-top {
    position: relative;
}

.contents09 .title_contents-top::before {
    content: "";
	position: absolute;
right: 0px;
top: 0px;
	background-image: url("../../images/top/icon10b.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 4.2vw;
	height: 3.9vw;
}

.contents09 .title_contents-top h3 {
    padding-top: 0px;
}

.contents09 .layout01 {
    padding: 9.5vw 0px 7.4vw;
}

.contents09 .layout01 .inner {
    display: flex;
  justify-content: center;
flex-wrap: wrap;
    gap:0px 7.4vw;
}

.contents09 .layout01 .box {
    position: relative;
    width: 30.8vw;
    height: 30.8vw;
}

.contents09 .layout01 .box::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	height: 100%;
    display: block;
    background-color: #FFF;
    border-radius: 50%;
    z-index: 0;
}

.contents09 .layout01 .box a {
    display: block;
    position: relative;
    height: 100%;
    padding-top: 2.2vw;
}

.contents09 .layout01 .box img {
    width: 88%;
}

.contents09 .layout01 .box:hover a:hover {
    opacity: 1;
}

.contents09 .layout01 .box a::before {
   content: "";
	position: absolute;
left: 0px;
bottom: 2.2vw;
	background-image: url("../../images/common/link-arrow01.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 2.8vw;
    transition: .5s;
}

.contents09 .layout01 .box:hover a::before {
bottom: 1.5vw;
}

.contents09 .layout02, .contents09 .layout03 {
    padding: 11vw 0px 8.8vw;
    position: relative;
    background-color: #FFF6E6;
}

.contents09 .layout03 {
    background-color: #EDE0D6;
}

.contents09-contact .layout03 {
    padding-top: 0vw;
}

.contents09 .layout02::before, .contents09 .layout03::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/frame-back05.svg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 6.6vw;
    margin-top: -2px;
}

.contents09 .layout03::before {
	background-image: url("../../images/top/frame-back06.svg");
}

.contents09-contact .layout03::before {
	display: none;
}

.contents09 .layout02 h3, .contents09 .layout03 h3 {
    margin-bottom: 3.7vw;
}

.contents09 .layout02 h3 img, .contents09 .layout03 h3 img {
    width: 26.5vw;
}

.contents09 .layout02 .inner {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
}

.contents09 .layout02 .box {
    background-color: #FFF;
    width: 37.5vw;
    height: 20.6vw;
    border-radius: 1.5vw;
    display: flex;
  justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
    flex-direction: column;
    gap:2.2vw 0px;
    padding-top: 4.2vw;
}

.contents09 .layout02 .box-box {
    display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
    flex-direction: column;
    gap:1.1vw 0px;
}

.contents09 .layout02 h6 a {
    font-size: var(--base-font-size3);
    font-weight: var(--base-font-weight);
color: #FFF;
line-height: 1.2;
letter-spacing: 0.05em;
    display: inline-block;
    border-radius: 4.4vw;
    padding: 0.9vw 0px;
    width: 20.5vw;
    position: relative;
}

.contents09 .layout02 h6 a:hover {
    opacity: 1;
}

.contents09 .layout02 .box:nth-child(1) h6 a {
    background-color: var(--color-main);
}

.contents09 .layout02 .box:nth-child(1) h6 a::before {
    content: "";
	position: absolute;
right: 2.2vw;
top: 1.1vw;
	background-image: url("../../images/common/icon-link_off.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 0.95vw;
	height: 0.95vw;
    transition: .2s;
}

.contents09 .layout02 .box:nth-child(1) h6 a:hover::before {
	background-image: url("../../images/common/icon-link_on.svg");
}


.contents09 .layout02 .box:nth-child(2) h6 {
    padding-left: 5.1vw;
}

.contents09 .layout02 .box:nth-child(2) h6 a {
    background-color: #02B901;
}

.contents09 .layout02 .box:nth-child(2) h6 a::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/common/icon-line.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 4.2vw;
	height: 4.2vw;
    margin-left: -5.1vw;
    margin-top: -0.5vw;
}

.contents09 .layout02 .box:nth-child(1) h6 a:hover, .contents09 .layout02 .box:nth-child(2) h6 a:hover {
    background-color: var(--color-sub2);
    color: var(--color-main);
}

.contents09 .layout02 p {
    font-size: var(--base-font-size2);
}

.contact {
    width: 63.2vw;
    padding-top: 3.7vw;
}

.contact #formWrap h4 {
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: var(--base-font-weight);
	margin-bottom:2.2vw;
}

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

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

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

.contact .box-input .lay02 {
    display: flex;
  justify-content: flex-start;
flex-wrap: wrap;
    gap:1.1vw 1.5vw;
    padding-top: 1.1vw;
}

.contact .inputbox {
    display: flex;
  justify-content: flex-start;
flex-wrap: wrap;
    align-items: center;
    gap:0.7vw;
}

.contact .box-input2 .inputbox, .contact .box-input3 .inputbox, .contact .box-input4 .inputbox {
    width: auto;
}

.contact .box-input5 {
    width: 85%;
}

.contact .box-input5 .inputbox p {
    width: 30%;
}

.contact .box-input5 .inputbox input {
    flex: 1;
}

.contact .box-input5 .inputbox:nth-child(1) {
    width: 35%;
}
.contact .box-input5 .inputbox:nth-child(2) {
    width: 60%;
}
.contact .box-input5 .inputbox:nth-child(1) p, .contact .box-input5 .inputbox:nth-child(2) p {
    width: auto;
}
.contact .box-input5 .inputbox:nth-child(1) p:nth-child(2) {
    width: 60%;
}
.contact .box-input5 .inputbox:nth-child(2) p:nth-child(2) {
    width: 80%;
}
.contact .box-input5 .inputbox:nth-child(1) p input, .contact .box-input5 .inputbox:nth-child(2) p input {
    width: 100%;
}
.contact .box-input5 .inputbox:nth-child(3),.contact .box-input5 .inputbox:nth-child(4),.contact .box-input5 .inputbox:nth-child(5) {
    width: 100%;
}
.contact .box-input5 .inputbox:nth-child(3) p,.contact .box-input5 .inputbox:nth-child(4) p,.contact .box-input5 .inputbox:nth-child(5) p{
	width: 30%;
}
.contact .box-input5 .inputbox:nth-child(3) p:nth-child(2),.contact .box-input5 .inputbox:nth-child(4) p:nth-child(2) ,.contact .box-input5 .inputbox:nth-child(5) p:nth-child(2)  {
    width: 65%;
}
.contact .whitebox {
    background-color: #FFF;
    border-radius: 0.7vw;
    padding: 0.7vw;
    cursor: pointer;
}

.contact .box-input3 .whitebox {
    min-width: 9.5vw;
}

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

.contact .box-input4 .inputbox select {
    width: 9.5vw;
}

.contact .box-input5 .inputbox select {
    width: 78%;
}

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

input,textarea,button, select{
	margin:0;
	padding:0.7vw;
	font-size:100%;
	font-weight: var(--base-font-weight);
    color: var(--color-base);
}

select{
	cursor: pointer;
    position: relative;
    
}

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

textarea[type="textarea"] {
	border: 1px solid #FFF;
	padding: 0.7vw;
}
.radio .wpcf7-list-item-label{
	margin-right: 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 {
    font-size: var(--base-font-size);
    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 {
    font-size: 1vw;
color: #FFF;
line-height: 1.2;
letter-spacing: 0.1em;
    display: inline-block;
    padding: 0.4vw 1.5vw;
    border-radius: 4.4vw;
    margin-left: 0.7vw
}

.contact .box-form h5.hissu::after, .contact .box-form p.hissu::after {
    content: "必須";
    background-color: var(--color-sub);
}

.contact .box-form h5.ninni::after, .contact .box-form p.ninni::after {
    content: "任意";
    background-color: #959595;
}


.button {
	text-align: center;
	margin-top: 3.7vw;
}

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:1.3vw 5.8vw;
	background-color:var(--color-main);
	color:#FFF;
	font-weight: var(--base-font-weight2);
	letter-spacing:0.05em;
	transition: .5s;
	border : solid rgba(255,255,255,0) 1px;
	border-radius: 4.4vw;
}

button:hover span, a.btn-mail:hover, .btn-box input:hover, .btn-back:hover {
	background-color: var(--color-sub2);
    color:var(--color-main);
	opacity: 1;
}
.button input {
	cursor: pointer;
	border:none;
	background-color:rgba(0,0,0,0);
}
.button input, a.btn-mail, .btn-box input, .btn-back {
	display:inline-block;
	padding:1.3vw 5.8vw;
	background-color:var(--color-main);
	color:#FFF;
	font-weight: var(--base-font-weight2);
	letter-spacing:0.05em;
	transition: .5s;
	border : solid rgba(255,255,255,0) 1px;
	border-radius: 4.4vw;
	margin-left: 80px;
}

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

a.btn-mail {
    position: relative;
}

.box-telnumber {
    display: flex;
  justify-content: space-between;
flex-wrap: wrap;
    width: 100%;
}

.contact .box-telnumber p {
    font-size: 0.8vw;
    line-height: 1.2;
}

.btn-box {
	padding-top: 2.9vw;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
	gap:0.7vw;
    position: relative;
}

.btn-box::after, a.btn-mail::after {
	content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	width: 100%;
	height: 30px;
    display: block;
    background-color: #EDE0D6;
    margin-bottom: -30px;
}

.checktext {
    padding-top: 3.7vw;
}

.checktext .box-check {
    padding-top: 2.2vw;
    display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
    gap:0.7vw;
}

.checktext p a {
    text-decoration: underline;
    color: var(--color-main);
}

.checktext .box-text {
    padding-top: 2.5vw;
}


#formWrap {
	width:100%;
	padding-top: 4.4vw;
	padding-bottom: 4.4vw;
	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;
    flex-direction: column;
    gap:1.1vw;
}

table.formTable tr:not(:last-child) {
    margin-bottom: 2.9vw;
}

table.formTable th{
	width: 100%;
}

table.formTable td {
	width: 100%;
	border-radius: 0.7vw;
	border-style : solid;
border-color : #FFF;
border-width : 1px;
	padding: 0.7vw 1.1vw;
    background-color: #FFF;
}


span.text003 {
	display:none;
}



.contents-top .sp-view {
	display: none;
}

.contact .inputbox.full{
	width: 100%;
}
.contact .inputbox.full p{
	width: 100%;
}