@charset "utf-8";

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

	グローバル

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

body { min-width: 0px; font-size: 0.9em;}

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}
.ta_center-s_left { text-align: left;}

/* ボックス */
.container, .container02 { width: 100%;}

.box50 { float: none; width: 100%;}

.hidden_s { display: none !important;}

/* margin */
.mb40-20 { margin-bottom: 20px !important;}
.mb60-30, .mb50-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}

.mt60-40 { margin-top: 40px;}

/* ------------------------
	ヘッダー
------------------------ */

.header { padding: 0 70px 0 15px; line-height: 60px;}
.header h1 img { max-height: 38px; width: auto; vertical-align: middle;}

/* ------------------------
	フッター
------------------------ */

.footer_nav.fo12 { font-size: 1em !important;}

body { padding-bottom: 16.5%;}

.fixed_btn {
	position: fixed;
	width: 100%;
	bottom: 0px;
	left: 0px;
	background-color: #F6D99F;
	padding: 1%;
	z-index: 9999;
	display: flex;
	justify-content: center;
}
.fixed_btn li { margin: 0px 0.5%;}

@media only screen and (max-width: 640px) {
  .footer .box01, .footer .box02 { flex-wrap: wrap;}
  .footer .box01 .box_inner { width: 100%;}
  .footer_nav { width: 50%;}
  .footer .logo { padding: 0 15% 25px;}
  .footer .box02 figure:last-child { margin: 0 -15px -20px;}
}


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

	トップページ

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

.bx-controls-direction a { width: 40px; height: 40px;}

.slide_wrap .bx-pager { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.5em 1em; margin-top: 1.5em;}
.slide_wrap .bx-pager a { display: block; border: solid 1px #cccccc; border-radius: 100%; text-indent: -9999px; width: 1em; height: 1em; background: #e6e6e6;}
.slide_wrap .bx-pager a.active { background: #999999; border-color: #999999;}
.bx-controls-direction a { margin-top: -1.25em;}

.ttl_arrow { font-size: min(6.5vw,2em);}

.top_sec01 dl { gap: 1.5em;}
.top_sec01 dt { width: 75px; align-self: flex-start;}

.top_sec02 section, .top_sec02 .box_inner { display: block; width: 100%;}
.top_sec02 .box02 { max-width: 860px;}
.top_sec02 div.box_inner { padding: 0px 15px !important;}
.top_sec02 figure.box_inner { background: none !important; padding-top: 30px; height: auto !important;}
.top_sec02 .sec02 .more_btn a { min-width: 250px;}


.top_heading span { letter-spacing: 0px; padding: 8px 10%; width: auto;}
.top_heading span:before, .top_heading span:after { content: ""; position: absolute; width: 5px; background-color: #000; top: 5px; bottom: 5px;}
.top_heading span.fo_noto { font-size: 2em; padding: 8px 1.5em 12px;}

.top_sec04 ul { margin: auto -1%;}
.top_sec04 li { padding: 0px 1%;}
.top_sec04 .box { width: 100%; height: auto; padding: 45px 15%;}
.top_sec04 .box figure.mb30 { margin-bottom: 15px !important; padding: 0px 32%;}
.top_sec04 h3 { font-size: 1.4em;}

.top_sec05 { background-size: 35% auto;}
.top_sec05 .bx-pager { gap: 1em;}

.top_sec06 a { height: auto; padding: 10vh 20%;}

.top_sec07 li { width: calc((100% - 20px) / 2);}

.top_sec08 .btn_area a { font-size: 1.2em;}

.top_sec09 { padding: 30px 0px;}
.top_sec09 .container { flex-wrap: wrap; padding-right: 15px; justify-content: center; flex-flow: column}
.top_sec09 .btn01 { padding: 0px 17%;}
.top_sec09 h2 { margin: 0 30% 20px;}
.top_sec09 .box01 { width: auto;}
.top_sec09 .box01 .more_btn a { max-width: 475px; padding: 0.6em 2em 1.1em;}

.top_calendar iframe { height: 350px;}

@media only screen and (max-width: 780px) {
	.top_sec04 li { width: 100%; float: none;}
	.top_sec04 .box { border-radius: 20px; padding: 25px 3%; text-align: center;}
	.top_sec04 h3 { font-size: 4vw;}
}

@media only screen and (max-width: 640px) {
  .top_sec02 .hidden_s { display: inline !important;}
}

@media only screen and (max-width: 480px) {
	.top_sec02 .text01 { font-size: 5.6vw;}
	
	.top_sec04 .box figure.mb30 { padding: 0px 40%;}
	.top_sec04 h3 { font-size: 6vw;}
	
	.top_sec06, .top_sec06 section { display: block; width: 100%;}
	.top_sec06 a { padding: 12vh 25%;}
}

@media only screen and (max-width: 640px) {
	.top_sec04 .show_sp { display: inline;}

	.top_sec07 ul { display: block;}
	.top_sec07 li { width: 100%; margin: 0px 0px 15px !important;}
	.top_sec07.top_sns li { margin: 0px 1% 30px !important;}
}


/* ------------------------
	コンテンツ
------------------------ */

/* 共通 */
.more_btn a { font-size: 1em; padding: 10px 35px 13px;}
.more_btn a:after { margin-top: -12px;}

.pagettl { height: auto; padding: 30px 0px;}

.subttl span { letter-spacing: 0px;}

@media only screen and (max-width: 640px) {
	.subttl span { font-size: 2em;}
}

@media only screen and (max-width: 480px) {
.pagettl { font-size: 0.85em; padding: 25px 0px;}
}

@media only screen and (max-width: 380px) {
	.btn_orange a { font-size: 1.2em; padding: 5px 5%;}
}


/* ------------------------
	SALE
------------------------ */

.ttl_arrow.mb50 { font-size: 1.8em; margin-bottom: 40px !important;}

.sale_sec01 h4 { font-size: 1.35em;}

.sale_sec01 .sec04 li { margin-bottom: 30px;}

.sale_sec01 .sec05 h4 { margin: auto;}

.sale_sec02 .subttl { padding: 0px 22%;}

@media only screen and (max-width: 640px) {
	.ttl_arrow.mb50 { font-size: 5.2vw;}
	.sale_sec01 figure.mb30 { margin-bottom: 20px !important;}
	.sale_sec01 .sec03 .show_sp { display: inline;}
	
	.sale_sec02 .show_sp { display: inline;}
	
	.sale_sec01 .sec04 .show_sp { display: inline;}
	.sale_sec01 .sec04 span { font-size: 3vw;}
}


/* ------------------------
	SHOP
------------------------ */

.shop_sec01 .box01 { flex-flow: column; justify-content: center;}
.shop_sec01 .box01 > figure { width: auto;}

.shop_sec03 .box01 { flex-flow: column; justify-content: center;}
.shop_sec03 .box01 > figure { width: auto;}
.shop_sec03 .box02 > figure { width: 22%; align-self: flex-start;}
.shop_sec03 .map iframe { height: 250px;}

@media only screen and (max-width: 640px) {
	.shop_sec02 table, .shop_sec02 tbody, .shop_sec02 tr, .shop_sec02 th, .shop_sec02 td { display: block; width: 100%;}
	.shop_sec02 th { padding-bottom: 0px; padding-left: 0px;}
	.shop_sec02 td { padding-top: 0px; padding-left: 0px;}
	.shop_sec02 tr:first-child th { padding-top: 0px;}
	.shop_sec02 tr:last-child td { padding-bottom: 0px;}
}


/* ------------------------
	BANKIN
------------------------ */

.ban_sec01 { padding-top: 30px;}
.ban_sec01 .ttl_box { gap: 0.5em; font-size: min(4.3vw,2em);}
.ban_sec01 .img01 { width: 3em;}

.ban_sec02 section { flex-flow: column !important;}
.ban_sec02 section .box_inner { width: 100%;}
.ban_sec02 .fo_blue02.fo16 { font-size: min(6.3vw,1.6em) !important;}

.ban_sec03 .box01 { padding: 1em; gap: 1em; font-size: min(2.3vw,1em);}
.ban_sec03 .box01 section { padding: 1em; gap: 1.5em;}
.ban_sec03 .box01 section > figure { width: 20%; align-self: stretch;}
.ban_sec03 .box01 section > figure img { width: 100%; height: 100%; display: block; object-fit: cover;}
.ban_sec03 .img01 { width: 16%; right: -10px;}


/* ------------------------
	recruit
------------------------ */

.heading_large { font-size: 2em;}

.rec_main { padding: 7% 0px 27%;}
.rec_main .text01 { width: 50%; margin-left: 4%;}
.rec_main .pos_ab { font-size: 3.5vw; padding: 0.6em 10px; letter-spacing: 0px; line-height: 1.6;}

.rec_sec01 { padding: 40px 0px;}
.rec_sec01 .text01 { font-size: 1.15em;}
.rec_sec01 .box01 { background: none; display: block;}
.rec_sec01 .box01 .box_inner { width: auto; padding: 30px 20px 0px;}
.rec_sec01 .box01 figure { margin: auto -20px;}

.rec_sec02 { padding: 40px 0px 10px;}
.rec_sec02 ul { justify-content: center;}
.rec_sec02 li { width: 30.3333%; margin: 0px 1.5% 30px;}

.rec_sec03 .pos_ab:after { right: 10px; width: 12px; height: 12px;}
.rec_sec03 li { margin: 0px 2%; max-width: 46%;}

.rec_sec04 { padding: 40px 0px;}

.rec_sec05 .box_inner { width: 355px;}
.rec_sec05 figure { flex: 1;}
.rec_sec05 h3 { font-size: 1.8em;}

.rec_sec07 { padding: 40px 0px 70px;}
.rec_sec07 .back_white { padding: 5%;}
.rec_sec07 dl > * { padding: 0.7em 1em;}
.rec_sec07 dt { width: 8em;}
.rec_sec07 dd { border-bottom: solid 1px #B7B7B7;}

@media only screen and (max-width: 640px) {
	.rec_sec02 .text01 { text-align: left;}
	.rec_sec02 li { width: 47%; font-size: min(3.5vw,1em);}
	.rec_sec02 figure.mb20 { margin-bottom: 15px !important;}

	.rec_sec03 li { width: 100%; max-width: 400px; margin: auto;}
	.rec_sec03 li img { width: 100%;}
	
	.rec_sec05 .container02 { flex-flow: column; gap: 0;}
  .rec_sec05 .box_inner { display: contents;}
	.rec_sec05 figure { width: auto; text-align: center; margin: 0 20% 25px; order: 2;}
	.rec_sec05 .box_inner02 { order: 1;}
	.rec_sec05 h3 { display: table; margin: auto;}
  .rec_sec05 .btn_area { order: 3; width: 100%; text-align: center;}
}

@media only screen and (max-width: 480px) {
	.rec_sec07 dt br { display: none;}
	.rec_sec07 dl, .rec_sec07 dl > * { display: block; width: 100%; margin-bottom: 0px;}
	.rec_sec07 dt { padding: 0.5em 1em;}
	.rec_sec07 dd { border: none; padding: 0.7em 0.5em;}
}


/* ------------------------
	interview
------------------------ */

@media only screen and (max-width: 640px) {
  .int_wrap .box01 { flex-flow: column; gap: 30px; align-items: center;}
  .int_wrap .box01 figure { width: auto;}
  .int_wrap section:nth-of-type(1) figcaption { height: 4em;}
}


/* ------------------------
	number
------------------------ */

.num_wrap .box01 > section { width: 48%;}
.num_wrap section { border-width: 7px;}
.num_wrap h3 { font-size: 1.2em;}

@media only screen and (max-width: 640px) {
	.num_wrap .box01 { display: block;}
	.num_wrap .box01 > section { width: auto;}
  
  .num_wrap .hide_sp { display: none;}
  .num_wrap .show_sp { display: inline;}
  .num_wrap .img02 { padding: 1em 7% 10px;}
  .num_wrap .img03 { padding: 1em 10px 10px;}
}

/* ------------------------
	CONTACT
------------------------ */

.contact_sec01 { padding: 40px 0px;}
.contact_sec01 .sec01 h3.fo16 { padding: 15px; font-size: 1.25em !important;}
.contact_sec01 .sec01 .box_inner { padding: 0 3%; gap: 1em;}

.contact_sec01 .sec02 { padding: 40px 3%;}

.contact_sec th { width: 13em; padding-right: 1em;}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea { font-size: 1.1em; width: 100%;}

.contact_sec .btn_area input { max-width: 250px;}

@media only screen and (max-width: 740px) {
	.contact_sec01 .sec01 .box01, .contact_sec01 .sec01 .box02 { margin-top: 30px;}
}

@media only screen and (max-width: 640px) {
	.contact_sec01 .sec01 .show_sp { display: inline;}
	.contact_sec01 .sec01 .box_inner { padding: 20px 5%; justify-content: center; flex-flow: column; gap: 20px;}
  .contact_sec01 .sec01 .box_inner > figure { display: none;}
  .contact_sec01 .sec01 .text01 { padding: 0 30%;}

	.contact_sec table, .contact_sec tbody, .contact_sec tr, .contact_sec th, .contact_sec td { display: block; width: 100%;}
	.contact_sec th { text-align: left; padding: 0px !important;}
	.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea, .contact_sec select { width: 100%;}
	.contact_sec .check { padding: 0px 0px 10px !important;}
}


/* ------------------------
	STAFF
------------------------ */

.staff_wrap .text01 { font-size: 1em; letter-spacing: 0px;}
.staff_wrap .text02 { font-size: 6.5vw;}

.staff_list li { margin-bottom: 50px;}
.staff_list dl {font-size: 1.1em;}

@media only screen and (max-width: 640px) {
	.staff_list li { width: 46%;}
}

@media only screen and (max-width: 480px) {
	.staff_list li { font-size: 0.8em;}
	.staff_list dl {font-size: 1em;}
}


/* loan */
.loan { padding: 20px 0px;}
.loan p { padding: 0px 10%;}


