/* CSS Document */
body {
    font-family: "Zen Maru Gothic", serif !important;
    font-weight: 500;
    font-style: normal;
}

input, textarea{
    /*bodyと同じフォントcssを入れる*/
    font-family: "Zen Maru Gothic", serif !important;
    font-weight: 500;
    font-style: normal;
}

main#toppage {
    margin-top: -7.77rem;
}

.nodisplay{
	/*display: none;*/
}

.read01{
	min-height: 31.76rem;/*470*/
}
.read02, .read03{
	min-height: 22.30rem;/*400*/
}
section#a07 .btns{
	min-height: 34.46rem;/*510*/
}

/*-------------------------------------------------------------------*/
/*ローディング画面*/
.loading {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    background: url("../image/top/loading_bg.jpg") no-repeat;
	background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    opacity: 1;
    visibility: visible;
}
.loading.is-active {
    opacity: 0;
    visibility: hidden;
}
.loading-animation {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
}
.loading-animation.is-active {
    opacity: 1;
    visibility: visible;
}
.loading-animation > dl {
    display: flex;
    flex-direction: column;
    align-items: center;
	position: relative;
}
.loading-animation > dl dt{
	font-size: 2.09rem;/*31*/
    font-weight: 300;
	color: #158422;
	letter-spacing: 0.4em;
	line-height: 216%;
	text-align: center;
}
.loading-animation > dl dd {
	position: absolute;
	bottom: -9.46rem/*140*/
}

/*-----------------------------------------------------------*/
/*ファーストビュー*/
section#firstview {
    background: url("../image/top/firstv_bg.webp") no-repeat;
    background-size: cover;
    width: 100%;
    height: 61.89rem; /*916*/
    position: relative;
	margin-top: 7.50rem;/*111*/
}
section#firstview::before {
    content: '';
    display: block;
    width: 100%;
    height: 226px; /*226*/
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    position: absolute;
    bottom: 0;
}
#firstview .inner {
    width: 89.86rem; /*1330*/
    height: 50.54rem; /*748px*/
    margin: 0 auto;
    position: relative;
}

#firstview .zoom-fade {
	opacity: 0;
	transition: .4s;
    position: absolute;
    top: 4.93rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}
#firstview .zoom-fade.slick-initialized {
	opacity: 1;
}
#firstview .zoom-fade .slick-list{
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
	overflow: hidden;
}
.zoom-fade__item {
    height: 50.54rem !important;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.zoom-fade__item:nth-child(1) {
    background-image: url("../image/top/slide02.webp");
}
.zoom-fade__item:nth-child(2) {
    background-image: url("../image/top/slide03.webp");
}
.zoom-fade__item:nth-child(3) {
    background-image: url("../image/top/slide04.webp");
}
.zoom-fade__item:nth-child(4) {
    background-image: url("../image/top/slide05.webp");
}
.add-animation {
    animation: zoom-fade 10s both;
}
@keyframes zoom-fade {
  0% {
    transform: scale(1.15);
  }

  100% {
    transform: scale(1);  
  }
}

#firstview .zoom-fade .slick-dots{
	right: 0;
	bottom: -2.03rem;
	width: fit-content;
	margin: 0;
	display: flex;
	gap: 0 9px;
}
#firstview .zoom-fade .slick-dots li{
	width: 0.88rem;
	height: 0.88rem;
}
#firstview .zoom-fade .slick-dots li > button{
	width: 100%;
	height: 100%;
	border: 1px solid #fff;
	box-sizing: border-box;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}
#firstview .zoom-fade .slick-dots li.slick-active > button{
	background-color: #fff;
}
#firstview .zoom-fade .slick-dots li > button:before{
	display: none;
}

/*待ち時間人数*/
#firstview #latency {
    position: absolute;
    top: 10.14rem;
    right: 0.68rem;
    width: 12.97rem;
    height: 12.97rem;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
#firstview #latency::before {
    content: '';
    display: block;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    background-color: #fff;
}
#firstview #latency > dl {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
#firstview #latency > dl dt {
    font-size: 1.49rem; /*22*/
    color: #ec5a24;
    text-align: center;
    padding-bottom: 0.68rem;
    border-bottom: 2px solid #77d889;
}
#firstview #latency > dl dd {
    padding-top: 0.34rem;
    font-size: 1.22rem; /*18*/
    text-align: center;
}
#firstview #latency > dl dd > span {
    font-size: 1.69rem; /*25*/
    color: #ec5a24;
}
/*職員募集バナー*/
#firstview #recruitbnr {
    position: absolute;
    top: 32.00rem;
    right: 3.00rem;
	z-index: 1;
}
#firstview #recruitbnr div{
    width: 20.0rem;
    height: 6.00rem;
}
#firstview #recruitbnr a{
	padding-left: 30px;
	justify-content: center;
	font-size: 1.55rem;
	letter-spacing: 0.2em;
	border-radius: 15px;
	border: 2px solid #fff;
	background-color: #22b1bb;
}
#firstview #recruitbnr a:hover{
	color: #22b1bb;
	background-color: #fff;
}
#firstview #recruitbnr a::after {
    content: '';
    display: block;
    background: url(../image/common/icon_recruit2.svg) no-repeat;
    background-size: contain;
    width: 2.57rem;
    height: 2.57rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 26px;
    right: auto;
}
#firstview #recruitbnr a:hover::after {
    background: url(../image/common/icon_recruit.svg) no-repeat;
    background-size: contain;
}
#firstview #recruitbnr a::before {
    background: url(../image/common/btn_parts01.svg) no-repeat;
    background-size: contain;
}
#firstview #recruitbnr a:hover::before {
    background: url(../image/common/btn_parts10.svg) no-repeat;
    background-size: contain;
}

/*キャッチテキスト*/
#firstview h2.catchtxt {
    position: absolute;
    bottom: -4.05rem; /*60*/
    right: 0;
}
/*診療時間ボタン*/
#officehours_info {
    overflow-x: hidden;
}
#officehours_info .menu-trigger {
    display: inline-block;
    width: 3.24rem;
    height: 24.05rem; /*356*/
    vertical-align: middle;
    cursor: pointer;
    position: absolute;
    top: 34.46rem;/*510*/
    left: 0;
    z-index: 100;
    transform: translateX(0);
    transition: transform .5s;
}
#officehours_info .menu-trigger.active {
    transform: translateX(34.12rem);
}
/*スクロールしたら左固定*/
#officehours_info .menu-trigger.posfixed, #officehours_info nav.posfixed{
	position: fixed;
}
#officehours_info .menu-trigger > p {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #39b04a;
    -webkit-border-top-right-radius: 10px;
    -webkit-border-bottom-right-radius: 10px;
    -moz-border-radius-topright: 10px;
    -moz-border-radius-bottomright: 10px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.42rem; /*21*/
    color: #fff;
    letter-spacing: 0.1em;
}
#officehours_info .menu-trigger > p::before {
    content: '';
    display: block;
    background: url("../image/top/arrow01_r.png") no-repeat;
    background-size: contain;
    width: 1.22rem;
    height: 2.09rem;
    position: absolute;
    bottom: 1.42rem;
    left: 0;
    right: 0;
    margin: auto;
}
#officehours_info .menu-trigger.active > p::before {
    background: url("../image/top/arrow01_l.png") no-repeat;
    background-size: contain;
}
#officehours_info nav {
    width: 34.12rem;
    height: 24.05rem;
    background-color: #fff;
    position: absolute;
    top: 34.46rem;/*510*/
    left: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1.01rem 0;
    transform: translate(-34.12rem);
    transition: all .5s;
    box-shadow: 0px 0px 15px -5px rgba(139, 183, 193, 0.50);
}
#officehours_info nav.open {
    transform: translateZ(0);
}
#officehours_info nav li {
    color: #fff;
    text-align: center;
    padding: 0.68rem 0;
}
/*スクロールバー*/
.scrolldown1 {
    position: absolute;
    right: 2.36rem;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 8.45rem;
}
.scrolldown1 span {
    position: absolute;
    left: -0.65rem;
    top: -4.50rem;
    color: #39b04a;
    font-size: 0.95rem; /*14*/
    letter-spacing: 0.4em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.scrolldown1::after {
    content: "";
    position: absolute;
    top: 0;
    width: 1px;
    height: 313px;
    background: #39b04a;
    /*線の動き1.4秒かけて動く。永遠にループ*/
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
}
@keyframes pathmove {
    0% {
        height: 0;
        top: 0;
        opacity: 0;
    }
    30% {
        height: 5.07rem;
        opacity: 1;
    }
    100% {
        height: 0;
        top: 8.45rem;
        opacity: 0;
    }
}
/*-----------------------------------------------------------*/
/*セクション共通*/

section:not(#firstview) {
  content-visibility: auto;
  contain-intrinsic-size: 1000px;
}

section h2.type01 {
    font-family: "Zen Maru Gothic", serif;
    font-size: 2.03rem;/*30*/
	font-weight: 500;
    color: #e81c24;
    letter-spacing: 0.2em;
    position: relative;
    display: flex;
    justify-content: center;
    gap: 0 2.50rem;
}
section h2.type01::before, section h2.type01::after {
    content: '';
    display: inline-block;
    background: url("../image/top/titleparts01.png") no-repeat;
    background-size: contain;
    width: 2.09rem;
    height: 2.84rem;
}
section h2.type02 {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0 1.62rem;
}
section h2.type02::before {
    content: '';
    display: block;
    background: url("../image/top/titleparts02.png") no-repeat;
    background-size: contain;
    width: 4.66rem;
    height: 6.28rem;
}
section h2.type02 > dl {
    font-family: "Zen Maru Gothic", serif;
    letter-spacing: 0.2em;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 3.1rem;
}
section h2.type02 > dl dt {
    font-size: 1.89rem;/*28*/
    font-weight: 500;
    color: #39b04a;
}
section h2.type02 > dl dd {
    font-size: 1.76rem;/*26*/
    font-weight: 500;
}
section h2.type03 {}
section h2.type03 > dl {
    font-family: "Zen Maru Gothic", serif;
    letter-spacing: 0.2em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.23rem 0;
}
section h2.type03 > dl dt {
    font-size: 1.89rem;/*28*/
    font-weight: 500;
    color: #39b04a;
    position: relative;
    display: flex;
	align-items: center;
	gap: 0 1.35rem;
}
section h2.type03 dl dt::before, section h2.type03 dl dt::after{
    content: '';
    display: block;
    background: url("../image/common/icon_titleparts.svg") no-repeat;
    background-size: contain;
    width: 1.62rem;
    height: 2.36rem;
}
section h2.type03 > dl dd {
    font-size: 1.76rem;/*26*/
    font-weight: 500;
}
section h2.type04 {
    position: relative;
}
section h2.type04 > dl {
    padding-left: 10.00rem;
    padding-bottom: 4.05rem;
    font-family: "Zen Maru Gothic", serif;
    letter-spacing: 0.2em;
    display: flex;
    align-items: center;
    gap: 0 2.36rem;
}
section h2.type04 > dl::before {
    content: '';
    display: block;
    background: url("../image/top/titleparts03.png") no-repeat;
    background-size: contain;
    width: 32.77rem;
    height: 15.20rem;
    position: absolute;
    top: -4.53rem;
    left: 6.08rem;
}
section h2.type04 > dl dt {
    font-size: 1.89rem;/*28*/
    font-weight: 500;
    color: #f28e1e;
    position: relative;
    letter-spacing: 0.2em;
}
section h2.type04 > dl dd {
    font-size: 1.76rem;/*26*/
    font-weight: 500;
    letter-spacing: 0.2em;
}
section h2.type05 {
    position: relative;
}
section h2.type05::before {
    content: '';
    display: block;
    background: url("../image/common/icon_pagetitleparts.svg") no-repeat;
    background-size: contain;
    width: 3.04rem;
    height: 6.28rem;
    position: absolute;
    bottom: 0;
    left: 0;
}
section h2.type05 > dl {
    height: 5.88rem;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding-left: 4.26rem;
    font-family: "Zen Maru Gothic", serif;
    letter-spacing: 0.2em;
}
section h2.type05 > dl dt {
    font-size: 1.35rem;/*20*/
    color: #39b04a;
}
section h2.type05 > dl dd {
    font-size: 2.03rem;/*30*/
}
/*CMS読み込み*/
section .postlist ul.post_list {
    width: 100%;
    list-style: none;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}
section .postlist ul.post_list li {
    width: 29.7%; /*340*/
}
section .postlist ul.post_list li .post_cov {
    width: 100%;
    height: 27.77rem; /*411*/
    border-radius: 1.35rem; /*20*/
    box-shadow: 0px 0px 10px 0px rgba(87, 108, 119, 0.2);
    background: url("../image/pages/link_ico.svg")no-repeat #fff right 1.69rem bottom 1.82rem;
    background-size: 1.15rem auto; /*17*/
    transition: 0.5s all;
    overflow: hidden;
	position: relative;
	cursor: pointer;
}
section .postlist ul.post_list li .post_cov:hover {
    background: url("../image/pages/link_ico.svg")no-repeat #fff right 1.19rem bottom 1.82rem;
    background-size: 1.15rem auto; /*17*/
    transition: 0.5s all;
}
section .postlist ul.post_list li .post_cov .thumb {
    width: 100%;
    height: 14.59rem; /*216*/
    overflow: hidden;
	display: flex;
	justify-content: center;
}
section .postlist ul.post_list li .post_cov .thumb img{
    /* width: 100%; */
    width: auto;
    height: 100%;
    /* object-fit: cover; */
    transition: 1s all;
}
section .postlist ul.post_list li .post_cov:hover .thumb img {
    transform: scale(1.1, 1.1);
    transition: 1s all;
}
section .postlist ul.post_list li .post_cov .date_area {
    padding: 1.35rem 1.69rem 1.89rem; /*20 25 28*/
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
section .postlist ul.post_list li .post_cov .date_area p.date_txt {
    width: calc(100% - 11.42rem);
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #808080;
}
section .postlist ul.post_list li .post_cov .date_area .category {
    width: 11.42rem; /*169*/
}
section .postlist ul.post_list li .post_cov .date_area .category a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 2.03rem; /*30*/
    border-radius: 30px;
    background: #7cbc20;
    font-size: 1.01rem; /*15*/
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #fff;
}
/*
section .postlist ul.post_list li .post_cov .date_area .category a.cat.taisetsu {
    background: #e81c24;
}
section .postlist ul.post_list li .post_cov .date_area .category a.cat2 {
    background: #7cbc20;
}
section .postlist ul.post_list li .post_cov .date_area .category a.cat.taisou {
    background: #cf145a;
}
section .postlist ul.post_list li .post_cov .date_area .category a.cat.faq {
    background: #a17c52;
}
section .postlist ul.post_list li .post_cov .date_area .category a.cat1 {
    background: #16a2d3;
}
section .postlist ul.post_list li .post_cov .date_area .category a.cat.keiji {
    background: #2e318d;
}
section .postlist ul.post_list li .post_cov .date_area .category a.cat.syourei {
    background: #00a498;
}
section .postlist ul.post_list li .post_cov .date_area .category a.blog {
    background: #f28e1e;
}
*/

section .postlist ul.post_list li .post_cov .date_area .category a + a{
	display: none;
}

section .postlist ul.post_list li .post_cov .date_area .category a.cat13{
	background: #e81c24;
}

section .postlist ul.post_list li .post_cov .date_area .category a.cat2{
	background: #7cbc20;
}

section .postlist ul.post_list li .post_cov .date_area .category a.cat3{
	background: #008d45;
}

section .postlist ul.post_list li .post_cov .date_area .category a.cat14{
	background: #cf145a;
}

section .postlist ul.post_list li .post_cov .date_area .category a.cat15{
	background: #a17c52;
}

section .postlist ul.post_list li .post_cov .date_area .category a.cat1{
	background: #16a2d3;
}

section .postlist ul.post_list li .post_cov .date_area .category a.cat16{
	background: #2e318d;
}

section .postlist ul.post_list li .post_cov .date_area .category a.cat17{
	background: #00a498;
}

section .postlist ul.post_list li .post_cov .date_area .category a.blog{
	background: #f28e1e;
}

section .postlist ul.post_list li .post_cov p.post_tit {
    padding: 0 1.69rem; /*25*/
    box-sizing: border-box;
    font-weight: 500;
    line-height: 1.4375;
    letter-spacing: 0.05em;
    color: #333333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
section .postlist ul.post_list li .post_cov p.blog_category {
    padding: 0 1.69rem;
    box-sizing: border-box;
	position: absolute;
	bottom: 1.82rem;/*27*/
}
section .postlist ul.post_list li .post_cov p.blog_category a {
    font-size: 0.88rem; /*15*/
    font-weight: 500;
    letter-spacing: 0.05em;
}
/*
section .postlist ul.post_list li .post_cov p.blog_category a.cat5 {
    color: #0071b7;
}
section .postlist ul.post_list li .post_cov p.blog_category a.cat6 {
    color: #ec5a24;
}
section .postlist ul.post_list li .post_cov p.blog_category a.cat7 {
    color: #cf145a;
}
section .postlist ul.post_list li .post_cov p.blog_category a.cat.staff {
    color: #00a498;
}
*/

section .postlist ul.post_list li .post_cov p.blog_category + p.blog_category{
	display: none;
}

section .postlist ul.post_list li .post_cov p.blog_category a.cat5{
	color: #0071b7;
}

section .postlist ul.post_list li .post_cov p.blog_category a.cat6{
	color: #ec5a24;
}

section .postlist ul.post_list li .post_cov p.blog_category a.cat7{
	color: #cf145a;
}


section .postlist ul.post_list li .post_cov p.blog_category a.cat18{
	color: #00a498;
}

section .postlist ul.post_list li .post_cov p.blog_category.case a{
	color: #00a498;
}

section .tolist {
    margin: 3.18rem auto 0;
    width: 16.96rem;
    height: 4.39rem;
}
section .tolist > a {
    padding-left: 0;
    justify-content: center;
	letter-spacing: 0.2em;
}
/*-----------------------------------------------------------*/
section#a01 {
    position: relative;
}
section#a01::before {
    content: '';
    display: block;
    width: 54.9%; /*812*/
    height: 100vh;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 0.15) 0%, rgba(92, 221, 233, 0.15) 100%);
    position: absolute;
    top: 0;
    left: 0;
}
section#a01 > .inner {
    padding: 4.19rem 0 7.97rem;
    position: relative;
}
section#a01 .tolist {
    width: 8.78rem;/*130*/
    height: 3.51rem;/*52*/
    position: absolute;
    top: 0.47rem;
    right: 0;
}
section#a01 .tolist a{
	justify-content: flex-start;
	padding-left: 2.09rem;/*31*/
}
section#a01 .postlist {
    margin-top: 3.24rem;
    display: flex;
    flex-direction: column;
    gap: 1.22rem 0;
}
section#a01 .postlist > a {
    width: 100%;
    height: 100%;
    padding: 1.69rem 2.36rem;
    position: relative;
    display: flex;
    border: 1px solid #ec5a24;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    background-color: #fff;
    box-sizing: border-box;
    box-shadow: 0px 0px 15px 0 rgba(139, 183, 193, 0.50);
}
section#a01 .postlist > a:hover {
    background-color: #fcf9eb;
    opacity: 1.0;
}
section#a01 .postlist > a::before {
    content: '';
    display: block;
    background: url("../image/common/btn_parts03.png") no-repeat;
    background-size: contain;
    width: 1.15rem;
    height: 0.61rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 2.03rem;
}
section#a01 .postlist > a dl {
    display: flex;
	align-items: center;
}
section#a01 .postlist > a dl dt {
    width: 8.24rem;
    font-family: "Noto Sans JP", serif;
    color: #808080;
	font-weight: 500;
	letter-spacing: 0.1em;
}
section#a01 .postlist > a dl dd {
    width: calc(100% - 8.20rem);
    font-family: "Noto Sans JP", serif;
    font-size: 1.35rem;/*20*/
	letter-spacing: 0.05em;
}

/*-----------------------------------------------------------*/
section#a02 {
    position: relative;
    background: url("../image/top/bg_a02.webp") no-repeat;
    background-size: cover;
}
section#a02 > .inner {
    padding: 4.19rem 0 0;
    position: relative;
}
section#a02 .columns {
    display: flex;
}
section#a02 .columns > .txt {
    width: calc(100% - 44.1%);
}
section#a02 .columns > .txt .catch {
    margin-top: 3.85rem;
}
section#a02 .columns > .txt .catch > dl dt {
    font-size: 2.09rem;/*31*/
    color: #158422;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 174%;
}
section#a02 .columns > .txt .catch > dl dd {
    margin-top: 3.51rem;
    color: #39b04a;
    letter-spacing: 0.3em;
    line-height: 175%;
}
section#a02 .columns > .image {
    width: 44.1%;
    margin-top: -6.28rem;
}
section#a02 .column {
    margin-top: 2.36rem;
    font-size: 1.22rem;/*18*/
    text-align: center;
    line-height: 200%;
    letter-spacing: 0.2em;
}
section#a02 .column > p {
    line-height: 200%;
}
section#a02 .column > p:not(:first-of-type) {
    margin-top: 3.38rem;
}
section#a02 .images {
	margin-top: 2.70rem;
    padding-bottom: 2.43rem;
    display: flex;
    gap: 0 1.96rem;
    position: relative;
}
section#a02 .images::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    width: 90.3%; /*1336*/
    height: 26.89rem;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-border-bottom-right-radius: 80px;
    -moz-border-radius-bottomright: 80px;
    border-bottom-right-radius: 80px;
}
section#a02 .images > div {
	width: 100%;
    z-index: 1;
}
section#a02 .images > div:nth-child(even){
}
section#a02 .images > div:nth-child(2){
}
section#a02 .images > div > img {
    width: 100%;
    height: auto;
}

/*-----------------------------------------------------------*/
/*a03*/
section#a03 {
    position: relative;
}
section#a03::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 0.23) 0%, rgba(92, 221, 233, 0.23) 100%);
    -webkit-border-top-left-radius: 100px;
    -webkit-border-bottom-left-radius: 100px;
    -moz-border-radius-topleft: 100px;
    -moz-border-radius-bottomleft: 100px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    width: 50.1%;
    height: 29.26rem; /*433*/
    position: absolute;
    top: 5.54rem;
    right: 0;
}
section#a03 h2 {
    position: relative;
    z-index: 0;
}
section#a03 > .inner {
    padding: 5.47rem 0 0;
}
section#a03 .postlist {
    margin-top: 3.38rem;
}
/*-----------------------------------------------------------*/
/*a04*/
section#a04 {
    position: relative;
}
section#a04::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(275deg, rgba(211, 255, 0, 0.49) 0%, rgba(92, 221, 233, 0.49) 100%);
    width: 100%;
    height: 26.89rem;
    position: absolute;
    bottom: 0;
}
section#a04 > .inner {
    padding: 10.34rem 0 5.61rem;
}
section#a04 .postlist {}
/*-----------------------------------------------------------*/
section#a05 {
    position: relative;
    width: 100%;
}
section#a05::before{
	content: '';
	display: block;
    background: url("../image/top/bg_a05.webp") no-repeat;
    background-size: cover;
    width: 100%;
	height: 30.95rem;
	position: absolute;
	top: 0;
}
section#a05::after{
	content: '';
	display: block;
    background: url("../image/top/bg_a05-2.webp") no-repeat;
    background-size: cover;
    width: 100%;
	height: 46.62rem;
	position: absolute;
	top: 30.95rem;
	z-index: -1;
}

section#a05 > .inner {
    padding: 87px 0 67px;
    position: relative;
}
section#a05 > .inner::before{
    content: '';
	display: block;
	background: url(../image/top/bg_a05.webp) no-repeat;
	background-size: cover;
	width: 100%;
	height: 30.95rem;
	position: absolute;
	top: 0;
}

section#a05 h2 {}
section#a05 h2 dl{
	font-weight: 500;
}
section#a05 h2 dl dt {
    font-size: 1.35rem;/*20*/
}
section#a05 h2 dl dd {
    font-size: 2.03rem;/*30*/
}
section#a05 .columns {
    display: flex;
    gap: 0 7.23rem;/*107*/
}
section#a05 .columns > .image {
    width: 44.9%;
}
section#a05 .columns > .image img {
    width: 100%;
    height: auto;
    -webkit-border-top-right-radius: 20px;
    -webkit-border-bottom-right-radius: 20px;
    -moz-border-radius-topright: 20px;
    -moz-border-radius-bottomright: 20px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}
section#a05 .columns > .txt {
    width: calc( 100% - 44.9% );
}
section#a05 .columns > .txt .catch {
    margin-top: 3.85rem;
	position: relative;
	z-index: 1;
}
section#a05 .columns > .txt .catch > dl {
    max-width: 31.15rem; /*461*/
}
section#a05 .columns > .txt .catch > dl dt {
    font-size: 1.55rem; /*23*/
    color: #39b04a;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 174%;
}
section#a05 .columns > .txt .catch > dl dd {
    margin-top: 1.01rem;
	font-size: 1.22rem;/*18*/
    letter-spacing: 0.05em;
    line-height: 172%;
}

section#a05 .column {
    margin-top: 1.01rem;
    margin-bottom: 4.26rem;
    font-size: 1.22rem;/*18*/
    text-align: center;
    line-height: 200%;
    letter-spacing: 0.2em;
}
section#a05 .column > p:not(:first-of-type) {
    margin-top: 1em;
}

section#a05 .images {
    padding-bottom: 2.36rem;
    display: flex;
    gap: 0 1.96rem;
    position: relative;
}
section#a05 .images::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    width: 90.3%; /*1336*/
    height: 26.89rem;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-border-bottom-right-radius: 80px;
    -moz-border-radius-bottomright: 80px;
    border-bottom-right-radius: 80px;
}
section#a05 .images > div {
    width: 100%;
    z-index: 1;
}
section#a05 .images > div > img {
    width: 100%;
    height: auto;
}
section#a05 .topage {
    margin: 3.38rem auto 0 5.41rem;
    width: 16.96rem;
    height: 4.39rem;
}
section#a05 .topage > a{
	font-size: 1.22rem;/*18*/
    justify-content: center;
	letter-spacing: 0.2em;
	padding-left: 0;
}
section#a05 .btns {
    width: 73.72rem; /*1091*/
    margin: -1.42rem auto 0;
    display: flex;
    justify-content: space-between;
    gap: 0 2.50rem;
}
section#a05 .btns > a {
    width: 100%;
    height: 25.20rem;
    display: flex;
    position: relative;
}
section#a05 .btns > a:hover {
    opacity: 1.0;
}
section#a05 .btns > a::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    width: 100%;
    height: 25.20rem;
    position: absolute;
    top: 0.54rem;
    right: -0.54rem;
}
section#a05 .btns > a::after {
    content: '';
    display: block;
    background: url("../image/common/btn_parts06.png") no-repeat;
    background-size: contain;
    width: 1.22rem;
    height: 0.47rem;
    position: absolute;
    bottom: 2.36rem;
    right: 1.49rem;
    transition: 0.5s all;
}
section#a05 .btns > a:hover::after {
    right: 2.23rem;
    transition: 0.5s all;
}
section#a05 .btns > a > dl {
    width: 100%;
    height: 100%;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    background-color: #fff;
    z-index: 0;
    position: relative;
}
section#a05 .btns > a > dl dt {
    width: 100%;
    height: 14.80rem; /*219*/
    overflow: hidden;
    -webkit-border-top-left-radius: 20px;
    -webkit-border-top-right-radius: 20px;
    -moz-border-radius-topleft: 20px;
    -moz-border-radius-topright: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
section#a05 .btns > a > dl dt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 1s all;
}
section#a05 .btns > a:hover > dl dt img {
    transform: scale(1.1, 1.1);
    transition: 1s all;
}
section#a05 .btns > a > dl dd {
    position: relative;
    padding: 1.08rem 0 2.30rem 4.19rem;
}
section#a05 .btns > a > dl dd::before {
    content: '';
    display: block;
    background: url("../image/top/img09.svg") no-repeat;
    background-size: contain;
    width: 1.55rem;
    height: 3.31rem;
    position: absolute;
    top: 1.01rem;
    left: 1.49rem;
}
section#a05 .btns > a > dl dd .en {
    color: #39b04a;
    font-size: 0.88rem; /*13*/
	letter-spacing: 0.2em;
}
section#a05 .btns > a > dl dd .jp {
    margin-top: 1.69rem;
    font-size: 1.35rem; /*20*/
	letter-spacing: 0.1em;
}

/*-----------------------------------------------------------*/
section#a06 {
    position: relative;
}
section#a06::before {
    content: '';
    display: block;
    background-color: #fff;
    width: 82.8%;
    height: 27.57rem;
    position: absolute;
    top: 0;
    left: 0;
}
section#a06::after {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 0.28) 0%, rgba(92, 221, 233, 0.28) 100%);
    -webkit-border-bottom-right-radius: 80px;
    -moz-border-radius-bottomright: 80px;
    border-bottom-right-radius: 80px;
    width: 82.8%;
    height: 27.57rem;
    position: absolute;
    top: 0;
    left: 0;
}
section#a06 > .inner {
    width: 100%;
    margin: 0 auto;
    padding: 4.66rem 0 8.58rem;
	position: relative;
	z-index: 1;
}
section#a06 h2 {}
section#a06 .btns {
    width: 51.82rem; /*767*/
    margin: 3.18rem auto 0;
    display: flex;
    justify-content: space-between;
    gap: 0 5.95rem;
}
section#a06 .btns > a {
    width: 100%;
    height: 20.81rem;
    position: relative;
}
section#a06 .btns > a::before {
    content: '';
    display: block;
    background: url("../image/common/btn_parts06.png") no-repeat;
    background-size: contain;
    width: 1.55rem;
    height: 0.68rem;
    position: absolute;
    bottom: 0.27rem;
    right: 2.57rem;
    transition: 0.5s all;
}
section#a06 .btns > a:hover::before {
    right: 2.23rem;
    transition: 0.5s all;
}
section#a06 .btns > a:hover {
    opacity: 1.0;
}
section#a06 .btns > a .image {
    width: 21.82rem;
    position: relative;
}
section#a06 .btns > a .image > p{
    width: 100%;
    height: 100%;
	overflow: hidden;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
section#a06 .btns > a .image::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    width: 21.82rem;
    height: 15.81rem;
    position: absolute;
    top: 2.02rem;
    right: -1.22rem;
	z-index: -1;
}
section#a06 .btns > a .image p > img {
    width: 100%;
    height: 100%;	
    object-fit: cover;
    transition: 1s all;
}
section#a06 .btns > a:hover .image p > img {
    transform: scale(1.1, 1.1);
    transition: 1s all;
}

section#a06 .btns > a .txt {
    margin-top: 2.77rem;
    font-size: 1.42rem; /*21*/
    text-align: center;
	letter-spacing: 0.1em;
}

/*-----------------------------------------------------------*/
section#a07 {
    position: relative;
}
section#a07::before {
    content: '';
    display: block;
    background: url("../image/top/bg_a07.webp") no-repeat;
    background-size: cover;
    width: 100%;
    height: 28.18rem; /*417*/
    position: absolute;
    top: 0;
    z-index: -1;
}
section#a07 > .inner {
    padding: 5.54rem 0 9.59rem;
}
section#a07 .txts {
	width: 50.47rem;/*747*/
    margin: 2.64rem auto 0;
	/*font-size: 1.22rem;/*18*/
	color: #4d4d4d;
	letter-spacing: 0.05em;
    text-align: center;
	line-height: 170%;
}
section#a07 .btns {
    margin: 3.11rem auto 0;
    display: flex;
	justify-content: center;
    flex-wrap: wrap;
    gap: 3.78rem 2.23rem;
}
section#a07 .btns > a {
    width: calc(25% - 2.23rem);
    height: 15.68rem; /*232*/
    position: relative;
}
section#a07 .btns > a::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    width: 100%;
    height: 100%;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    position: absolute;
    top: 0.54rem;
    left: 0.54rem;
}
section#a07 .btns > a::after{
    content: '';
        display: block;
        background: rgb(211, 255, 0);
        background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
        width: 100%;
        height: 100%;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        border-radius: 10px;
        position: absolute;
	    top: 0;
        z-index: -1;
    }

section#a07 .btns > a:hover::after {
	/*
    right: 2.23rem;
    transition: 0.5s all;
	*/
}
section#a07 .btns > a > dl {
    width: 98%;
    height: 98%;
    background-color: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.95rem 0;
    box-sizing: border-box;
    margin: 2px;
}

section#a07 .btns > a dl::after {
    content: '';
    display: block;
    background: url("../image/common/btn_parts09.png") no-repeat;
    background-size: contain;
    width: 1.55rem;
    height: 0.68rem;
    position: absolute;
    bottom: 0.81rem;
    right: 0.61rem;
    transition: 0.5s all;
}
section#a07 .btns > a > dl dd {
    font-size: 1.69rem; /*25*/
}

/*-----------------------------------------------------------*/
section#a08 {
    position: relative;
}
section#a08::before {
    content: '';
    display: block;
    background: url("../image/top/bg_a08.webp") no-repeat;
    background-size: cover;
    width: 100%;
    height: 41.69rem; /*617*/
    position: absolute;
    top: 9.53rem;
    z-index: -1;
}
section#a08 .inner .inn {
    width: 79.39rem; /*1175*/
    min-height: 27.03rem; /*400*/
	margin: 2.36rem auto 0;
	overflow: hidden;
    position: relative;
}
section#a08 .inner .inn .maps {
    width: 51.9%; /*610*/
    position: absolute;
    top: 1.35rem;
    left: 0;
}
section#a08 .inner .inn .maps iframe{
    width: 100%;
    height: 25.00rem; /*370*/
}

section#a08 .inner .inn .txts {
    width: 58.3%; /*385*/
    margin: 3.78rem 0 0 auto;
    background-color: rgba(255, 255, 255, 0.71);
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    padding: 3.04rem 0 10.20rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
section#a08 .inner .inn .txts > dl {
    display: flex;
    gap: 0 1.01rem;
    position: relative;
    padding-bottom: 2.03rem;
}
section#a08 .inner .inn .txts > dl::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    width: 100%;
    height: 0.41rem;
    position: absolute;
    bottom: 0;
}
section#a08 .inner .inn .txts > dl dd {}
section#a08 .inner .inn .txts > dl dd > div {
    margin-top: 0.34rem;
    font-size: 1.62rem; /*24*/
	color: #333;
	font-weight: 500;
    letter-spacing: 0.2em;
}
section#a08 .inner .inn .txts > dl dd > p {
    letter-spacing: 0.2em;
    line-height: 175%;
}
section#a08 .inner .inn .txts > ul {
    padding-top: 2.03rem;
}
section#a08 .inner .inn .txts > ul li:not(:first-child) {
    margin-top: 1em;
    letter-spacing: 0.2em;
}
section#a08 .inner .inn .txts > ul li span {
    color: #39b04a;
}
section#a08 .infomation {
    width: 67.57rem; /*1000*/
    margin: -5.61rem auto 0;/*83*/
    padding: 1.49rem 2.03rem;
    background-color: #fff;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    position: relative;
    display: flex;
    gap: 0 2.09rem;
}
section#a08 .infomation::before {
    content: '';
    display: block;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -0.54rem;
    right: -0.54rem;
    z-index: -1;
}
section#a08 .infomation .image {
    width: 31.49rem;/*466*/
}
section#a08 .infomation .txts {
    width: calc( 100% - 31.49rem - 2.09rem );
}
section#a08 .infomation .txts dl {
    display: flex;
    gap: 0 0.68rem;
}
section#a08 .infomation .txts dl dt {
    width: calc(100% - 10.61rem);
    padding-top: 2.30rem;
}
section#a08 .infomation .txts dl dt .hd {
    font-size: 1.62rem;/*24*/
    color: #39b04a;
    letter-spacing: 0.2em;
}
section#a08 .infomation .txts dl dt > p {
    margin-top: 2.03rem;
    letter-spacing: 0.2em;
    line-height: 175%;
	font-size: 108%;/*13.5*/
}
section#a08 .bnrs {
    width: 67.57rem; /*1000*/
    margin: 4.19rem auto 3.78rem;
    display: flex;
    justify-content: space-between;
	gap: 0 1.76rem;/*26*/
}
section#a08 .bnrs > a {
    filter: drop-shadow(0 0 10px rgba(87, 108, 119, 0.20));
}

/*-----------------------------------------------------------*/
section#a09 {
	position: relative;
    background: rgb(211, 255, 0);
    background: linear-gradient(95deg, rgba(211, 255, 0, 1) 0%, rgba(92, 221, 233, 1) 100%);
}
section#a09 .inner {
	padding: 2.70rem 0 6.08rem;
}

section#a09 .infotxts {
    background-color: #fff;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
	padding: 1.35rem 0;
}

section#a09 .infotxts > .lead{
	font-size: 1.22rem;/*18*/
	letter-spacing: 0.1em;
	text-align: center;
}

section#a09 .infotxts dl{
    display: flex;
	justify-content: center;
	align-items: center;
	/*gap: 0 2.50rem;/*37*/
}
section#a09 .infotxts dl dt{
}
section#a09 .infotxts dl dt:nth-of-type(1), section#a09 .infotxts dl dt:nth-of-type(3){
	width: 31%;
}
section#a09 .infotxts dl dt:nth-of-type(2){
	width: 35%;
}
section#a09 .infotxts dl dt:first-of-type{
    text-align: right;
	font-size: 1.89rem;/*28*/
	color: #008D45;
	letter-spacing: 0.1em;
}
section#a09 .infotxts dl dt:nth-of-type(2), section#a09 .infotxts dl dt:nth-of-type(2) > a{
	font-size: 3.18rem;/*47*/
	color: #008D45;
	letter-spacing: 0.1em;
    text-align: center;
}
section#a09 .infotxts dl dt:nth-of-type(2) > a{
	position: relative;
	padding-left: 3.04rem;
}
section#a09 .infotxts dl dt:nth-of-type(2) > a::before{
	content: '';
	display: inline-block;
	background: url("../image/top/icon_tel_1.png") no-repeat;
	background-size: contain;
	width: 2.57rem;
	height: 2.84rem;
	position: absolute;
	top: 1.15rem;
	left: 0;
}
section#a09 .infotxts dl dt:last-of-type{
	color: #E81C24;
	line-height: 100%;
	letter-spacing: 0.1em;
    text-align: left;
}

/*アコーディオン*/
/*アコーディオン全体*/
section#a09 .accordion-area {
    list-style: none;
    width: 100%;
    margin: 2.50rem auto 0;
}
section#a09 .accordion-area li {
}
section#a09 .accordion-area section {
    background-color: #fff;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
}
/*アコーディオンタイトル*/
section#a09 .title {
    position: relative; /*+マークの位置基準とするためrelative指定*/
	height: 6.08rem;
    cursor: pointer;
    font-size: 1.89rem;/*28*/
	font-weight: 500;
	color: #008D45;
	letter-spacing: 0.1em;
    transition: all .5s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #008D45;
	box-sizing: border-box;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;	
}
/*アイコンの＋と×*/
section#a09 .title::before, section#a09 .title::after {
    content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;

}
section#a09 .title::before{
    left: 3.11rem;
	background: url("../image/top/icon_mail_1.svg") no-repeat;
	background-size: contain;
	width: 4.05rem;
	height: 3.18rem;
}
section#a09 .title::after{
    right: 3.11rem;
	background: url("../image/top/icon_plus.svg") no-repeat;
	background-size: contain;
	width: 3.85rem;
	height: 3.92rem;
}
/*　closeというクラスがついたら形状変化　*/
section#a09 .title.close::after {
	background: url("../image/top/icon_minus.svg") no-repeat;
	background-size: contain;
}
/*アコーディオンで現れるエリア*/
section#a09 .box {
    display: none; /*はじめは非表示*/
    padding: 2.03rem 0 6.42rem;
}

/*フォーム*/

section#a09 #form_wrap{
	width: 67.57rem;/*1000*/
	margin: 0 auto;
}

section#a09 #form_wrap .lead{
	text-align: center;
}

/*STEP*/
.steplists{
    max-width: 41.55rem;/*615*/
    width: 100%;
    margin: 2.91rem auto 0;
    display: flex;
    gap: 0 1.01rem;
}
.steplists dl{
    width: calc( 100% / 3 );
    height: 3.04rem;
    display: flex;
    gap: 0 1.01rem;
    align-items: center;
    justify-content: center;
    background-color: #fff;
	border: 1px solid #39B04A;
	box-sizing: border-box;
    color: #000;
}
.steplists dl.now{
    background-color: #39B04A;
    color: #fff;
}

/*フォーム*/
.qanda.border{
    width: 100%;
    margin: 2.36rem auto 0;
    border-top: 1px solid #AEAEAE;
}

/*設問1件（ガワ）*/
.qanda .question{
    width: calc( 100% - 4.05rem );
    margin: 1.69rem auto 0;
    display: flex;
    position: relative;
    padding-bottom: 1.69rem;
}
.qanda .question:first-of-type{
    margin: 3.72rem auto 0;
}

/*ラベル*/
.qanda .question .label{
    width: 18.24rem;
}
.qanda .question .label dl{
    height: 3.38rem;
    display: flex;
    align-items: center;
    gap: 0 1.35rem;
}
.qanda .question .label dl dt{
    color: #fff;
    background-color: #EC2028;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;    
    width: 3.38rem;
    height: 2.03rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.qanda .question .label dl dt.gray{
    background-color: #AEAEAE;
}

/*フィールド*/
.qanda .question .field{
    width: calc( 100% - 18.24rem );
}
.qanda .question .field dl.zipcode:first-of-type {
    border-bottom: 0px !important;
}

/*記入例*/
.qanda .question .kinyurei{
    font-size: 0.95rem;/*14*/
    color: #575757;
    position: absolute;
    bottom: 0;
}

/*※flex*/
.qanda .question .field dl.flex{
    display: flex;
    gap: 0 1.01rem;
    align-items: center;
}
.qanda .question .field dl.flex:first-of-type{
    margin-bottom: 1.35rem;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid #AEAEAE;
}

.qanda .question .field dl.flex dt{
    width: 10.47rem;
    text-align: right;
}
.qanda .question .field dl.flex dd{
    width: calc( 100% - 10.47rem );
}
.qanda .question .field dl.flex dd.green{
    color: #1B6000;
    font-size: 1.55rem;/*23*/
    font-weight: bold;
}

/*※郵便番号*/
.qanda .question .field dl.flex.zipcode{
    margin-bottom: -1.69rem;
}
.qanda .question .field dl.flex.zipcode dt{
    width: 22.97rem;
    text-align: left;
}
.qanda .question .field dl.flex.zipcode dd{
    width: calc( 100% - 22.97rem );
    color: #333333;
    font-size: 1.01rem;/*15*/
}

/*プルダウン*/
.qanda .question .field .select{
    position: relative;
}
.qanda .question .field .select::before{
    position: absolute;
    top: 1.22rem;
    right: 1.69rem;
    width: 1.42rem;
    height: 1.08rem;
    content: "";
    display: block;
    background-image: url("../image/top/icon_select.png") ;
    background-position: center;
    background-size: 1.49rem 1.08rem;
    pointer-events: none;
}
.qanda .question .field .select select{
    width: 100%;
    height: 3.38rem;
    border: 1px solid #000;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    font-size: 1.08rem;/*16*/
    padding: 0 1.69rem;
}

/*input（text）*/
.qanda .question .field input[type=text]{
    width: 100%;
    height: 3.38rem;
    background-color: #F9F9F9;
    border: 1px solid #949494;
    box-sizing: border-box;
    text-indent: 1.69rem;
    font-size: 1.08rem;/*16*/
}

/*テキストエリア*/
.qanda .question .field textarea{
    width: 100%;
    height: 8.78rem;
    background-color: #F9F9F9;
    border: 1px solid #949494;
    box-sizing: border-box;
    padding: 1.69rem;
    font-size: 1.08rem;/*16*/
}

/*※個人情報*/
.qanda .question .field dl.read{
    width: 100%;
	height: 12.84rem;
	border: 1px solid #C7C7C7;
	box-sizing: border-box;
	overflow-y: scroll;
}
.qanda .question .field dl.read > h4{
    font-size: 1.35rem;/*20*/
	font-weight: bold;
}
.qanda .question .field dl.read dd{
    padding: 1.01rem 0.41rem;
}

.qanda .question .field dl.checkbox{
	margin-top: 1.69rem;
    display: flex;
    align-items: center;
    width: calc( 100% - 2.70rem ); 
    background-color: #F2F2F2;
    padding: 1.01rem 0.41rem;
}
.qanda .question .field dl.checkbox dd{
    display: flex;
    align-items: center;
    gap: 0 1.01rem;
}

input[type=checkbox] {
    display: none; /* 標準スタイル */
}
.sample_label {
    position: relative; /* ボックスの位置を指定する */
    padding: 0 0 0 3.04rem; /* ボックス内側の余白を指定する */
}
.sample_label:after, .sample_label:before {
    position: absolute; /* ボックスの位置を指定する */
    content: ""; /* ボックスのコンテンツ */
    display: block; /* ブロックレベル要素化する */
    top: 50%; /* 上部から配置の基準位置を決める */
}
.sample_label:after {
    left: 0.27rem; /* 左から配置の基準位置を決める */
    margin-top: -0.95rem; /* チェック枠の位置 */
    width: 2.03rem; /* ボックスの横幅を指定する */
    height: 2.03rem; /* ボックスの高さを指定する */
    border: 1px solid #000; /* ボックスの境界線を実線で指定する */
    border-radius: 50%; /* ボックスの角丸を指定する */
    background-color: #fff;
}
.sample_label:before {
    left: 0.61rem; /* 左から配置の基準位置を決める */
    margin-top: -0.61rem; /* チェックマークの位置 */
    width: 1.49rem; /* ボックスの横幅を指定する */
    height: 1.49rem; /* ボックスの高さを指定する */
    background: #0071B7;/* ボックスの背景色を指定する */
    border-radius: 50%; /* ボックスの角丸を指定する */
    z-index: 2;
    opacity: 0; /* 要素を透過指定する */
}
input[type=checkbox]:checked + .sample_label:before {
    opacity: 1; /* 要素を表示する */
}
.sample_label:hover:after {
    border-color: #0171bd; /* ボックスの境界線を実線で指定する */
}

.qanda .question .field dl.checkbox dd a{
    padding-right: 3.04rem;
    position: relative;
    color: #0071B7;
}
.qanda .question .field dl.checkbox dd a::after{
    content: '';
    display: block;
    background-image: url("image/icon_tab.png");
    background-size: 1.42rem;
    background-repeat: no-repeat;
    width: 1.42rem;
    height: 1.42rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0.68rem;
}

/*送信ボタン*/
.sendbtns{
    margin: 3.04rem auto 0;
    display: flex;
    justify-content: center;
    gap: 0 1.01rem;
}

.sendbtns input[type=submit], .sendbtns input[type=button]{
    cursor: pointer;
    border: 0;
    width: 20.54rem;/*304*/
    height: 4.93rem;/*73*/
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;    
    font-size: 1.55rem;/*23*/
	font-weight: 500;
    letter-spacing: 0.1em;
    position: relative;
	border: 1px solid;
	box-sizing: border-box;
	transition: 0.3s;
}

.sendbtns .next, .sendbtns .back{
    position: relative;
}
.sendbtns .next::after, .sendbtns .back::after{
    content: '';
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.28rem;
    height: 1.28rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
.sendbtns .next::after{
    background-image: url("../image/common/btn_parts01.svg");
    right: 1.35rem;
}
.sendbtns .next:hover::after{
    background-image: url("../image/common/btn_parts04.svg");
    right: 1.35rem;
}
.sendbtns .back::after{
    left: 1.35rem;
}

.sendbtns input[type=submit]{
    background-color: #39B04A;
    color: #fff;
	border-color: #39B04A;
}
.sendbtns input[type=submit]:hover{
    background-color: #fff;
    color: #39B04A;
}
.sendbtns input[type=button]{
    background-color: #39B04A;
    color: #fff;
	border-color: #39B04A;
}
.sendbtns input[type=button]:hover{
    background-color: #fff;
    color: #39B04A;
}

/*確認画面*/
.steplists.margin{
    margin: 2.36rem auto 0;    
}

#form_wrap .infotxt{
    width: 100%;
    margin: 2.36rem auto 0;    
    text-align: center;
}

#form-tbl{
    width: calc( 100% - 4.05rem );
    margin: 4.05rem auto 0;    
}

#form-tbl table{
    width: 100%;
}
#form-tbl table tr{
    display: block;
    border-bottom: 1px solid #949494;
    padding: 1.69rem 0;
}
#form-tbl table tr th{
    width: 18.24rem;
}
#form-tbl table tr td{
    width: calc( 100% - 18.24rem );
}

/*-----------------------------------------------------------*/
/*ipad横向き時*/
@media screen and (max-width: 1500px) and (orientation: landscape) {
	#firstview #latency, #firstview #recruitbnr{
        right: 6.0rem;
	}
	#firstview .inner {
		width: 90%;
	}	
	section#a05 .btns {
        margin: 3.0rem auto 0;
    }	
    section#a08 .bnrs {
		justify-content: center;
    }	
	section#a08 .bnrs > a {
        transform: translateZ(0);
		width: 100%;
		display: block;
    }	
	section#a08 .bnrs > a img{
		width: 100%;
		height: auto;
    }	

	
	
   
}/*ここまで*/


/*ipad縦向き時*/
@media screen and (min-width: 820px) and (orientation: portrait) {
	#firstview #latency, #firstview #recruitbnr{
        right: 3.0rem;
	}
	#firstview .inner {
		width: 90%;
	}	

	section#a05 .btns {
        margin: 3.0rem auto 0;
    }	
	
	section#a08 .btns {
		justify-content: center;
    }	
	section#a08 .bnrs > a {
        transform: translateZ(0);
		width: 100%;
		display: block;
    }	
	section#a08 .bnrs > a img{
		width: 100%;
		height: auto;
    }	
	
 
}/*ここまで*/






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