
@charset "utf-8";

div.contener{
width: 100%;
max-width: 700px;
transform: translateX(-50%);
height: 100%;
position: fixed;
left: 50%;
overflow-y:scroll
}

div.normal_contener{
width: 100%;
max-width: 700px;
margin: 0px auto;
padding: 50px 5%
}

div.job_contener{
width: 100%;
max-width: 700px;
margin: 0px auto;
padding: 50px 0px 0px 0px
}

main.main{
width: 90%;
position: absolute;
left:50%;
top:50%;
transform: translate(-50%,-50%)
}

main.normal_main{
width: 90%;
margin: 0px auto;
padding-top: 60px
}

/*--------------------breadcrumb--------------------*/

ol.contents {
width: 90%;
margin: 0px auto;
font-size: 12px;
border-bottom: solid 1px #dcdcdc;
padding: 80px 0px 20px 0px;
margin-bottom: 20px;
font-weight: 500
}

ol li{
display:inline-block;
list-style: none;
vertical-align: middle
}

ol li:after{
content: '»';
font-size: 14px;
margin: 0px 5px 0px 5px;
color:#999
}

ol li:last-child:after{
content: '';
display: none;
}

ol li a {
text-decoration: none;
color: #000;
}

ol li:first-child a{
background: url(../img/icon/home.png) no-repeat left center;
background-size: 12px;
padding-left: 20px;
}

ol li a:hover {
text-decoration: underline;
}

/*--------------------other contents--------------------*/

section.contents{
width: 94%;
height: 70vh;
overflow-y: auto;
margin: 0px auto;
border:solid 1px #e8e8e8;
padding: 20px;
margin-bottom: 20px;
border-radius: 10px;
}

section.normal_contents h2.contents{
width: 90%;
margin: 0px auto 20px auto
}

h2.contents{
font-weight: 600;
font-size:30px;
color:#f857a6;
align-items: center;
margin-bottom: 20px
}

h2.contents:after{
content: "";
width: 100%;
height: 1px;
background: #f857a6;
display: block;
margin-top: 5px;
}

i.h2{
font-size: 34%;
font-style: normal;
font-weight: 600;
color: #999;
display: inline-block;
vertical-align: middle
}

i.h2:before{
content: "";
width: 30px;
height: 1px;
background: #999;
display: inline-block;
margin: 0px 5px 0px 5px;
vertical-align: middle;
}

article.contents{
margin-bottom: 30px;
}

h3.contents{
font-size:14px;
font-weight: 600;
margin-bottom: 30px;
}

h4.contents{
font-size: 12px;
font-weight: 400;
line-height: 2.0
}

div.more{
width: 90%;
margin: 30px auto 30px auto
}

/*--------------------form--------------------*/

a.form{
width:200px;
height:40px;
display: inline-block;
border-radius: 2px;
border:none;
font-size: 15px;
margin-bottom: 20px;
color:#000;
background: #dcdcdc;
line-height: 40px;
}

label.shop_input_txt{
width: 100%;
border:solid 1px #dcdcdc;
height: 46px;
border-radius: 5px;
overflow: hidden;
margin-bottom: 20px
}

label.regist_submit{
width:100%;
height:46px;
background: #f857a6;
border-radius: 5px;
margin-bottom: 15px;
color: #fff
}

option{
width:100%;
padding: 20px 0px 20px 20px;
}

div.check{
width: 100%;
margin: 0px auto 20px auto;
font-size:14px;
}

label.checkbox{
width: 20px;
height: 20px;
border:solid 1px #dcdcdc;
display: inline-block;
vertical-align: middle;
margin-right: 10px;
}

a.checkbox{
color:#000;
text-decoration: underline
}

h2.form{
text-align: center;
margin-bottom: 40px
}

div.regist_txt{
border-bottom: solid 1px #dcdcdc;
padding-bottom: 15px;
margin-bottom: 15px
}

p.txt{
font-size:12px
}

a.account_login{
text-align: center;
display: block;
color:#5397ed;
font-size:14px;
font-weight: 600;
margin-bottom: 20px
}

ul.form{
margin-bottom: 10px;
text-align: left;
font-size: 14px;
display: block;
}

ul.form li{
display: block;
width:100%;
margin-bottom: 5px;
}

li.flexbox{
display: flex!important;
align-items: center
}

li.form_title{
color: #f857a6;
font-size:18px;
font-weight: 600;
margin-bottom: 10px
}

img.form_logo{
width: 70%;
margin: 0px auto 20px auto;
}

ul.form_result{
border-bottom: solid 1px #dcdcdc;
text-align: left;
font-size: 14px;
color:#666;
}

ul.form_result li{
padding: 15px 0px 15px 0px
}

ul.form_result li:first-child{
width:30%;
text-align: center;
border-right: solid 1px #dcdcdc;
}

ul.form_result li:nth-of-type(2){
padding-left: 20px;
}

span.required{
color:#f857a6;
}

h3.account{
margin-bottom: 15px
}

h5.account{
font-size:12px;
font-weight: 500;
margin-bottom: 15px
}

a.account{
color: #f857a6;
text-decoration: underline
}

div.social_login{
border:solid 1px #dcdcdc;
padding: 15px;
border-radius: 4px;
margin-bottom: 20px
}

h3.social_login{
font-size: 16px;
margin-bottom: 10px
}

div.g_id_signin{
margin-bottom: 15px;

}

.nsm7Bb-HzV7m-LgbsSe {
width: 100%!important;
height: 44px!important
}

a.x_log_in{
background: #000;
height: 44px;
display: block;
border-radius: 4px;
margin-bottom: 15px;
position: relative
}

a.x_log_in:before{
content: "";
width: 20px;
height: 20px;
top:50%;
transform: translateY(-50%);
background: url(../img/icon/x_wh.png) no-repeat center;
background-size: 100%;
position: absolute;
left: 5%
}

a.line_log_in{
background: #06C755;
height: 44px;
display: block;
border-radius: 4px;
position: relative
}

a.line_log_in:before{
content: "";
width: 20px;
height: 20px;
top:50%;
transform: translateY(-50%);
background: url(../img/icon/line_wh.png) no-repeat center;
background-size: 100%;
position: absolute;
left: 5%
}

button.x_log_in{
width: 100%;
height: 100%;
border:none;
background: none;
color: #fff
}

div#g_id_onload{
margin: 0px auto
}

h4.social_login{
text-align: center;
font-size:14px;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px
}

h4.social_login:before{
content: "";
width: 40%;
height: 1px;
background: #dcdcdc
}

h4.social_login:after{
content: "";
width: 40%;
height: 1px;
background: #dcdcdc
}


a.social_login{
width: 100%;
height: 42px;
text-align: center;
display: block;
line-height: 42px;
font-weight: 500;
font-size: 16px;
}

a.google_login{
border:solid 2px #f857a6;
border-radius: 5px;
color:#f857a6;
}

h3.mail_send{
font-size: 14px;
color:#444;
margin-bottom: 20px;
text-align: center;

}

h3.mail_send small{
display: block;
}

a.regist_back{
width:90%;
height:46px;
margin: 0px auto;
font-size:13px;
display: block;
line-height: 46px;
background: linear-gradient(to right, #ff5858 0%, #ff5858 30%, #f857a6 100%);
border-radius: 5px;
color:#fff;
text-align: center;
font-weight: 600;
}

p.login_copyright{
font-size:13px;
text-align: center;
margin-top: 20px
}

/*--------------------search--------------------*/


section#search{
padding: 80px 5% 20px 5%;
border-bottom: solid 1px #efefef
}

h3.result{
font-size:14px;
margin-bottom: 15px;
}

span.result{
font-size:18px;
display: inline-block;
color:#f857a6;
font-weight: 600;
margin: 0px 2px 0px 2px;
}

label.result_select{
display: block;
border: 3px solid #eee;
height: 50px;
border-radius: 8px;
position: relative
}

label.result_select:after{
content: "▼";
font-size:11px;
color:#f857a6;
position: absolute;
top:50%;
transform: translateY(-50%) scale(1.5, 1);
right: 15px;
}

label.result_select select{
width: 100%;
border:none;
}

div.search_wrap{
width: 92%;
margin: 0px auto 20px auto;
}

a.search,figure.search{
display: block;
background: #fff;
border-radius: 10px;
padding: 15px 4% 15px 4%;
color:#333;
box-shadow: 3px 3px 3px #dcdcdc;
margin-bottom: 15px
}

h3.search_name{
font-size: 18px;
}

h4.search_address{
font-size: 11px;
font-weight: 500;
color:#777;
margin-bottom: 10px;
}

div.search{
display: flex;
align-items: start;
justify-content: space-between
}

p.search_image{
width: 35%;
aspect-ratio: 3 / 2.5;
}

img.search_image{
width: 100%;
height: 100%;
object-fit: cover
}

article.search{
width: 65%;
padding-left: 15px
}

p.search{
font-size: 12px;
font-weight: 500;
color:#666;
display: flex;
align-items: center
}

p.clock:before{
content: '';
margin-right: 5px;
width: 14px;
height: 14px;
background: url(../img/search/clock.png) no-repeat;
background-size: cover
}

p.holiday:before{
content: '';
margin-right: 5px;
width: 14px;
height: 14px;
background: url(../img/search/holiday.png) no-repeat;
background-size: cover
}

p.holiday{
margin-bottom: 5px
}

h3.wage{
display: flex;
align-items: center;
font-weight: 500;
font-size:13px;
margin-bottom: 5px
}

span.wage{
background: #000;
padding: 0px 10px;
color: #fff;
border-radius: 3px;
font-size:10px;
margin-right: 5px
}

span.noon{
background: #f39800
}

span.night{
background:#f857a6;
margin-left: 5px
}

/*--------------------pager--------------------*/

ul#pager{
text-align: center;
width: 90%;
margin: 0px auto 30px auto;
}

ul#pager li{
width:40px;
height:40px;
display: inline-block;
border-radius: 50%;
font-size:11px;
margin: 0px 2px 0px 2px
}

.current{
background: #dcdcdc;
border-radius: 50%;
color:#000!important;
font-weight: bold;
}

ul#pager li a{
display: block;
width:100%;
height:100%;
color:#999;
border-radius: 50%;
border:solid 1px #dcdcdc;
display: flex;
justify-content: center;
align-items: center;
}

/*--------------------job--------------------*/

div.job_container{
background: #fff;
margin-top: 105px
}

section.job_header{
width: 94%;
margin: 0px auto;
padding: 20px 0px 20px 0px;
border-bottom: solid 1px #dcdcdc;
margin-bottom: 30px
}

h1.job_header{
color: #f857a6;
font-size:13px;
margin-bottom: 10px
}

h3.job_header{
font-size:16px;
line-height: 1.4;
margin-bottom: 15px
}

ul.job_header_slide {
width: 70%;
margin: 0px auto
}

li.job_header_slide{
width: 100%;
aspect-ratio: 3 / 2;
}

ul.job_header_slide li img{
width: 100%;
height: 100%;
object-fit: cover
}

h4.job_header{
text-align: center;
font-size:12px;
margin-bottom: 15px
}

div.job_sns{
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 30px
}

a.job_sns{
width: 30px;
height: 30px;
border-radius: 50%;
margin: 0px 15px 
}

div.job_header_movie{
width: 90%;
margin: 0px auto;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 15px
}

h5.job_header_movie{
font-size:14px
}

a.job_header_movie{
color:#f857a6;
text-decoration: underline;
font-size:14px
}

a.job_header_offer{
width: 94%;
text-align: center;
border-radius: 6px;
margin: 0px auto 10px auto;
font-size:16px;
display: block;
padding: 15px 0px 15px 10px;
color: #fff;
background: #f857a6 url("../img/icon/mobile.png") no-repeat center left 55px;
background-size: 35px
}

div.job_header_offer{
width: 94%;
margin: 0px auto 30px auto;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: solid 1px #dcdcdc;
padding-bottom: 20px
}

a.job_header_offer_line{
color: #61c850;
border: solid 1px #61c850;
background: #fff;
border-radius: 6px;
text-align: center;
display: block;
padding: 10px;
margin-bottom: 15px
}

a.job_header_offer_tel{
width: 49%;
color: #61c850;
border: solid 1px #61c850;
background: #fff;
border-radius: 6px;
text-align: center;
height: 54px;
padding-top: 2px
}

h4.job_header_offer_tel{
font-size:18px;
}

h4.job_header_offer_tel:before{
content: "";
width: 22px;
height: 22px;
background: url(../img/icon/icon0053.png) no-repeat;
background-size: 100%;
display: inline-block;
margin-right: 5px;
vertical-align: middle
}

p.job_header_offer_tel{
font-size:12px;
}

a.job_header_offer_keep{
width: 49%;
color: #13131e;
border: solid 1px #bcbcb3;
border-radius: 6px;
text-align: center;
height: 54px;
font-size:14px;
line-height: 50px;
text-indent: 14px;
background: url(../img/icon/star.png) no-repeat center left 12px;
background-size: 20px;
box-shadow: 0px 1px 1px #bcbcb3
}


ul.job{
margin-bottom: 15px;
display: flex;
}

ul.job_space,ul.job_space li{
display: block;
}

ul.job_space{
width: 94%;
margin: 0px auto;
padding-bottom: 15px;
border-bottom: solid 1px #dcdcdc;
margin-bottom: 15px
}

li.job_left{
display: block;
padding: 0px 3% 0px 3%
}

li.job_right{
display: none;
}

li.job_space_title{

padding-bottom: 15px
}

p.job_space_title_image{
width: 24px;
height: 24px;
display: inline-block;
border-radius: 12px;
vertical-align: middle;
margin-right: 5px;
position: relative
}

p.job_space_title_image img{
width: 22px;
position: absolute;
top:50%;
left: 50%;
transform: translate(-50%,-50%)
}

h3.job_space_title{
font-size:15px;
color:#f857a6;
display: inline-block;
vertical-align: middle
}

h4.job_space{
font-size:14px;
}

a.google_map{
width: max-content;
display: block;
padding: 0px 50px 0px 50px;
height: 50px;
line-height: 42px;
border-radius: 25px;
color:#f857a6;
font-size:14px;
border:solid 1px #f857a6;
margin-top: 20px
}

h4.gray{
color:#888
}

h5.job_space{
padding-top: 10px;
font-size:13px;
font-weight: 400;
line-height: 1.4
}

li.job_space{
padding-bottom: 20px;
font-size:13px;
}

div.job_barometer{
width: 86%;
margin: 0px auto 20px auto;
border: 1px solid #ccc;
padding: 15px;
border-radius: 4px;
}

section.job_space{
width: 94%;
margin: 0px auto;
}

h3.job_space{
font-size: 18px;
margin-bottom: 15px;
}

div.job_space{
border: 1px solid #ccc;
overflow: hidden;
border-radius: 4px;
margin-bottom: 15px;
padding: 15px
}

h3.job_space:before{
content: "";
width: 7px;
height: 18px;
display: inline-block;
background: #f857a6;
margin-right: 5px;
vertical-align: middle;
}

 a.list_article_tel {
display: block;
width: 100%;
font-size: 15px;
padding: 10px;
color: #f857a6;
border: 1px solid #f857a6;
box-shadow: 0 -1px 0 #f857a6 inset;
background: #fff;
font-weight: 700;
border-radius: 6px;
text-align: center;
margin-bottom: 10px
}

.list_article_translation {
width: 100%;
text-align: center;
border-radius: 6px;

font-size: 16px;
display: block;
padding: 14px 4px 14px 10px;
color: #fff;
background: #f857a6;
background-size: 35px;
}

.list_article_translation::before {
content: "";
width: 24px;
height: 24px;
display: inline-block;
vertical-align: middle;
margin-right: 5px;
background: url(../img/icon/mobile.png) no-repeat center;
background-size: 100%;
}

/*--------------------job movie--------------------*/

section.job_space_movie{
width: 94%;
margin: 0px auto;
border: 1px solid #f857a6;
border-radius: 4px;
margin-bottom: 15px
}

h3.job_space_movie{
padding: 8px 10px;
color: #fff;
font-size: 16px;
background: #f857a6 url(../img/icon/job_page_movie.png) no-repeat center left 10px;
text-indent: 25px;
background-size: 22px;
margin-bottom: 15px
}

ul.job_space_movie{
width: 100%;
margin: 0px auto;
display: block;
}

ul.job_space_movie li{
display: block;
}

video.job_space_movie{
width: 84%;
margin: 0px auto;
display: block
}

li.job_space_movie_right{
padding: 15px
}

h3.job_space_movie_right{
font-size:18px;
line-height: 1.4;
border-bottom: solid 1px #ccc;
padding-bottom: 10px;
margin-bottom: 10px;
}

h4.job_space_movie_right{
font-size:14px;
line-height: 1.5;
font-weight: 400
}

div.job_image{
margin-bottom: 15px
}

p.job_image{
margin-bottom: 10px;
padding: 2px; 
border: 1px solid #ccc; 
}

h3.job_image{
text-align: center;
font-size:11px;
margin-bottom: 10px
}

article.job_image{
border:solid 1px #f857a6;
padding: 40px 10px 10px 10px;
position: relative;
border-radius: 4px;
}

section.list_grid_right{
width: 94%;
margin: 0px auto;
border:solid 1px #ccc;
padding: 5px;
border-radius: 6px;
margin-bottom: 10px;
background: #fff
}

h2.list_grid_right_keep{
padding: 10px 0px 10px 0px;
background: #ffefd9;
text-align: center;
font-size:14px;
margin-bottom: 15px
}

h2.list_grid_right_keep span{
display: inline-block;
margin: 0px 5px 0px 5px;
font-size:26px;
color:#f857a6;
}

h2.list_grid_right{
padding: 10px 0px 10px 0px;
background: #f2f2f2;
text-align: center;
font-size:14px;
margin-bottom: 15px
}

article.list_grid_right{
width: 94%;
margin: 0px auto;
}

h3.list_grid_right_keep{
font-size:13px;
color:#666;
margin-bottom: 10px
}

h4.list_grid_right_keep{
font-size:12px;
color:#999;
line-height: 1.4
}

a.list_grid_right{
width: 94%;
margin: 0px auto;
display: block;
border-bottom: solid 1px #ccc;
padding: 10px 0px 10px 0px;
position: relative
}

a.list_grid_right:after{
content: "";
width: 12px;
height: 12px;
display: block;
position: absolute;
top:50%;
transform: translateY(-50%);
right: 0px;
background: url(../img/icon/arrow_gray.png) no-repeat center;
background-size: 12px;
}

h3.list_grid_right{
font-size:13px;
color:#666;
margin-bottom: 10px
}

h3.list_grid_right span{
display: inline-block;
margin: 0px 5px 0px 5px;
color:#f857a6;
}

h4.list_grid_right{
color:#f857a6;
font-size:15px;
text-decoration: underline;
}

ul.list_grid_right{
margin-top: 10px;
display: flex
}

li.list_grid_right_image{
width:20%
}

li.list_grid_right{
padding-left: 10px;
}

p.list_grid_right{
font-size:11px;
color:#666
}

div.list_article_icon{
display: flex;
align-items: center;
justify-content: flex-start;
margin-bottom: 10px;
flex-wrap:wrap
}

div.list_article_icon p{
padding: 0 5px;
font-size: 10px;
line-height: 1.5;
border: 1px solid #e8e8e2;
color: #666;
border-radius: 10px;
margin-bottom: 5px;
margin-right: 2px
}

p.new_recruit{
color: #fff;
font-size: 11px;
border-color: #ffc832!important;
background-color: #ffc832;
}

.dealer{
color: #f857a6!important
}

.dealer_bk{
background: #f857a6!important
}


/*-------------------search page--------------------*/

div.search_contener{
width: 100%;
max-width: 700px;
margin: 0px auto
}

section#search{
background: #f3f3f3;
padding: 20px;
font-weight: 600
}

div.narrow_down_split{
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 5px;
}

label.narrow_down{
display: block;
background: #fff;
position: relative;
border: 3px solid #eee;
border-radius: 8px; 
background: #fff;
font-size: 14px;
}

label.split{
width: 49%;
display: flex;
align-items: center;
padding: 12px 10px;
color: #757575;
}

label.keyword{
padding-left: 80px;
margin-bottom: 10px
}

label.keyword:before{
content: "キーワード";
display:block;
color: #f857a6;
margin-right: 10px;
position: absolute;
left: 10px;
top:50%;
transform: translateY(-50%);
}

abel.keyword input[type="text"]{
font-weight: 700;
border-radius: 8px;
}

a.narrow_down{
width: 100%;
height: 100%;
display: block;
color: #f857a6;
}

label.split:after{
content: "＋";
position: absolute;
right: 10px;
top:50%;
transform: translateY(-50%);
line-height: 20px;
width: 20px;
height: 20px;
border-radius: 50%;
background: #f857a6;
text-align: center;
font-weight: 400;
color:#fff
}


div.narrow_down_submit{
width: 100%!important;
font-size: 16px;
font-weight: 700;
border-radius: 8px;
height: 50px;
background: #f857a6;
position: relative;
}

div.narrow_down_submit input[type="submit"] {
width: 100%;
height:100%;
text-indent: -9999px;
background: transparent;
position: relative;
z-index: 1
}

span.narrow_down_submit{
display: block;
position: absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
color:#fff;
}

span.narrow_down_submit:before{
content: "";
width: 20px;
height: 20px;
display: inline-block;
margin-right: 8px;
vertical-align: middle;
background: url(../img/icon/narrow_down.png) no-repeat center;
background-size: 100%;
position: relative;
top:-1px
}

section.result{
padding: 20px;
border-bottom: solid 1px #eee;
margin-bottom: 20px;
}

h3.result{
font-size:14px;
margin-bottom: 15px;
}

span.result{
font-size:18px;
display: inline-block;
color:#f857a6;
font-weight: 600;
margin: 0px 2px 0px 2px;
}

label.result_select{
display: block;
border: 3px solid #eee;
height: 50px;
border-radius: 8px;
position: relative
}

label.result_select:after{
content: "▼";
font-size:11px;
color:#f857a6;
position: absolute;
top:50%;
transform: translateY(-50%) scale(1.5, 1);
right: 15px;

}

label.keyword{
height: 52px
}

label.result_select select{
width: 100%;
border:none;
}

.s_none{
display: none;
}

.c_none{
display: none;
}

div.commitment{
margin-top: 20px
}

p.commitment{
position: relative;
border-radius: 5px;
background: #888;
display: inline-block;
font-size: 13px;
font-weight: 700;
height: 26px;
color: #fff;
line-height: 26px;
padding: 0px 25px 0px 10px;
margin: 0 5px 5px 0;
cursor: pointer;
}

p.commitment:after{
content: "";
width: 11px;
height: 11px;
background: url(../img/icon/close_w.png) no-repeat center;
background-size: cover;
position: absolute;
top:50%;
transform: translateY(-50%);
right: 10px;
}

/*--------------------user_form--------------------*/

div.form_container_mobile{
height: 100%;
min-height: 100vh;
background: rgba(34,34,34,.8);
}

div.user_form_slider{
width: 94%;
margin: 0px auto;
overflow: hidden
}

ul.user_form_slider{
width: 100%;
padding: 30px 0% 0px 0%;
display: flex;
transition: transform 0.3s;
list-style: none;

}

.user_form_slider li {
flex: 0 0 100%;
padding: 0; 
box-sizing: border-box; 
}

div.user_form_title{
display: flex;
align-items: flex-start;
margin-bottom: 25px
}

p.user_form_image{
width: 40px;
height: 40px;
border-radius: 50%;
overflow: hidden;
background: url(../img/icon/apple_touch_icon.png) no-repeat center;
background-size: 100%
}

p.user_form_txt {
display: inline-block;
position: relative;
margin-left: 10px;
padding: 13px 15px;
width: 75%;
color: #222;
font-size: 16px;
line-height: 23px;
border-radius: 10px;
box-sizing: border-box;
background: #fff;
font-weight: 600
}

p.user_form_txt:after {
content: "";
display: block;
position: absolute;
top: 5px;
left: -10px;
width: 15px;
height: 10px;
background: url(../img/icon/download.svg) no-repeat;
background-size: contain
}

div.user_form{
width: 86%;
margin: 0 auto;
padding: 28px 20px 20px;
border-radius: 15px;
box-sizing: border-box;
background: #fff;
}

h3.user_form{
color: #222;
font-size: 14px;
margin-bottom: 10px
}

label.user_form_select,label.user_form_input{
display: block;
height: 50px;
color: #444;
font-size: 16px;
background-color: #efefef;
border: 1px solid #ccc;
border-radius: 10px;
margin-bottom: 15px
}

label.user_form_select select{
width: 100%;
height: 50px;
background: url(../img/icon/select.svg) no-repeat;
background-position: right 8px center;
background-size: 10px auto;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 10px;
border:none;
}

div.user_form_next,a.user_form_next{
width: 195px;
height: 50px;
display: block;
margin: 0px auto 0px auto;
color: #fff;
text-align: center;
font-size: 16px;
font-weight: 700;
line-height: 50px;
letter-spacing: .1em;
border-radius: 25px;
background:#f857a6;
border: none; 
}

a.user_form_next{
margin: 20px auto 0px auto;
}

input[type="submit"]{
width: 195px;
height: 50px;
display: block;
margin: 0px auto 0px auto;
color: #fff;
text-align: center;
font-size: 16px;
font-weight: 700;
line-height: 50px;
letter-spacing: .1em;
border-radius: 25px;
background: #f857a6;
border: none; 
}

p.user_form_previous{
margin-top: 20px;
text-align: center;
text-decoration: underline;
}

div.absolute_type{
position: absolute;
}

label.birth{
width: 32%;
display: inline-block;
background: #fff
}

p.user_form_next{
width: 195px;
height: 50px;
display: block;
margin: 0px auto 0px auto;
color: #fff;
text-align: center;
font-size: 16px;
font-weight: 700;
line-height: 50px;
letter-spacing: .1em;
border-radius: 25px;
background: #dcdcdc;
border: none; 
}

.user_form_submit {
width: 195px!important;
height: 50px!important;
margin: 0px auto 0px auto;
color: #fff;
text-align: center;
font-size: 16px;
font-weight: 700;
line-height: 50px;
letter-spacing: .1em;
border-radius: 25px;
background: #f857a6!important;
border: none; 
}

/*--------------------confirmation--------------------*/

div.form_container{
display: none
}


div.confirmation_container{
height: 100%;
max-width: 700px;
margin: 0px auto;
min-height: 100vh;
background: #f7f7f8;
padding: 50px 5% 10px 5%
}


h2.confirmation{
text-align: center;
font-size:20px;
color:#666;
margin-bottom: 20px
}

div.confirmation{
pointer-events: none;
margin-bottom: 20px
}

p.confirmation{
margin-bottom: 5px;
text-indent: 10px
}

span.confirmation{
display: inline-block;
background: #f857a6;
margin-left: 5px;
text-align: center;
text-indent: 0px;
color:#fff;
padding: 2px 10px 2px 10px;
font-size:11px;
border-radius: 3px;
}

label.confirmation{
display: block;
height: 50px;
color: #444;
font-size: 16px;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 10px;
margin-bottom: 15px
}

div.confirmation_submit{
width: 100%;
display: flex;
justify-content:center;
align-items: center
}

a.confirmation_submit{
width: 70%;
margin-left: 10px;
font-size: 14px;
display: block;
height: 50px;
background: #fff url(../img/icon/arrow_pnk.png) no-repeat center right 20px;
background-size: 14px;
color: #f857a6;
line-height: 50px;
text-align: center;
border-radius: 25px;
}

input[type="submit"].confirmation_submit{
width: 70%;
max-width: 300px;
height: 48px;
-webkit-appearance: none;
border:none;
text-align: center;
font-size:14px;
background: #f857a6;
margin-left: 5px;
margin-bottom: 15px;
display: block;
font-weight: bold;
color:#fff;
border-radius: 24px;
}

article.confirmation{
text-align: center;
margin-bottom: 40px
}

h4.confirmation{
line-height: 1.8
}

a.mailto{
color:#f857a6;
text-decoration: underline
}

/*--------------------faq--------------------*/

section#faq{
padding: 30px 0px 30px 0px;
background: #222
}

article.faq{
width: 92%;
margin: 0px auto 15px auto;
padding: 10px;
background: #fff;
border-radius: 15px;
text-align: left;
color:#666;
box-shadow: 2px 2px 4px #999
}

h3.faq{
font-size:13px;
font-weight: 600;
padding: 16px 40px 16px 10px;
position: relative;
display: flex;
align-items: center;
line-height: 1.4
}

h3.faq:after{
content: '';
width: 20px;
height: 20px;
position: absolute;
top:50%;
right: 15px;
transform: translateY(-50%);
background: url(../img/faq/plus.png) no-repeat center;
background-size: cover;
transition: transform 0.3s ease-in-out;
}

h3.faq.minus:after {
background: url('../img/faq/minus.png') no-repeat center;
background-size: cover;
transform: translateY(-50%) rotate(180deg);
}

span.faq{
font-size:26px;
height: 26px;
display: block;
line-height: 1;
margin-right: 15px;
text-align: center;
color: #f857a6;
}

h4.faq{
font-size:14px;
font-weight: 500;
padding: 10px 10px 10px 60px;
line-height: 1.8;
border-top:solid 1px #efefef;
text-align: justify;
display: none
}

h3.request{
color: #f857a6;
font-size:14px;
line-height: 1.3;
margin-bottom: 10px
}

h4.request {
color: #444;
font-size: 12px;
line-height: 1.4;
font-weight: 500;
margin-bottom: 10px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
transition: all 0.8s ease;
max-height: 4.2em; /* 1.4 line-height × 3行 */
}

h4.request.expanded {
-webkit-line-clamp: unset;
display: block;
max-height: 800px; /* 適当な大きさでOK */
}

p.click_more,a.click_more{
display: block;
background: #f857a6;
text-align: center;
padding: 12px 0px;
color: #fff;
border-radius: 3px
}

p.click_more{
margin-bottom: 20px
}


