@charset "UTF-8";

img { max-width: 100%; }
a { color: #2D5A9D; }


/* ---------------------------------------------------------------------------------------------
	Icon - 各種アイコン
---------------------------------------------------------------------------------------------*/

.list_arrow li::before { color: #2D5A9D; }


/* ---------------------------------------------------------------------------------------------
	Heading
---------------------------------------------------------------------------------------------*/
.Ttl01 { background: #2D5A9D; }

.ib_Ttl02 { font-size: 1.3em; color: #545454; background: #F1F1F1; border-radius: 7px; padding: 7px; margin-bottom: 2.5%; }
.ib_Ttl02::before { border-left: 5px solid #2D5A9D; content: ""; border-radius: 50px; margin: 0 12px 0 6px; }


/* ---------------------------------------------------------------------------------------------
	index.html - インターネットバンキングトップページ
---------------------------------------------------------------------------------------------*/

#ib_index section { margin-bottom: 3em; }
#ib_index figure.top-image { margin-bottom: .5em; }

@media screen and ( max-width:670px ) {
	#ib_index section { margin-bottom: 2em; }
	#ib_index figure.top-image [src*="pc"] { display: none; }
	#ib_index .info-list .date { font-weight: bold; }
}
@media screen and ( min-width:671px ), print {
	#ib_index figure.top-image [src*="sp"] { display: none; }
}


.btn_login { text-align: center; }
.btn_login a { font-size: 1.3em; display: inline-block; color: #7C7352; background: #FED24D; border-radius: 5px; text-decoration: none; border-bottom: solid 4px #E1AC00; padding: .5em 10%; }
.btn_login a::before { font-family: "Font Awesome 5 Free"; content: "\f2f6"; font-weight: bold; margin-right: 5px; }
.btn_login a:hover { transform: translateY(4px); transition: .6s; }


/*お知らせ*/
.info-list { margin-left: 1em; }
.info-list > div { display: flex; margin-bottom: 1em; }
.info-list > div a { color: #2D5A9D; }
.info-list > div a[href$=".pdf"]::after { margin-left: 5px; font-family: "Font Awesome 5 Free"; content: "\f1c1"; font-weight: bold; margin-right: 5px; }
.info-list .date { margin-right: 1em; }
@media screen and ( max-width:670px ) {
	.info-list > div { display: inherit; }
}

/*過去のお知らせ*/
.info-old { width: 100%; height: 100%; z-index: 10; overflow: hidden; }

.info-old input { display: none; }

@media screen and (max-width: 599px) {
  .info-old { max-width: 100%; }
}

.info-old > div { display: block; position: relative; margin-left: 1em; }

.info-old > div input + label {
	cursor: pointer;
	display: block;
	-webkit-transition: background-color 0.25s ease-in-out 0.5s, color 0.25s ease-in-out 0.5s;
	transition: background-color 0.25s ease-in-out 0.5s, color 0.25s ease-in-out 0.5s;
}

.info-old label { width: 10em; text-align: center; text-decoration: underline; cursor: pointer; margin: 0 auto; }
.info-old label::before { }

.info-old > div input ~ div {
	visibility: hidden;
	max-height: 0;
	padding: 0;
	opacity: 0;
	-webkit-transition: all 0.5s ease 0s, opacity 0.25s ease 0s, padding 0s ease 0s;
	transition: all 0.5s ease 0s, opacity 0.25s ease 0s, padding 0s ease 0s;
}
.info-old > div input ~ div .content { padding: 0px; }
.info-old > div input:checked + label {
	-webkit-transition: background .5s ease .5s, border .5s ease 0.5s;
	transition: background .5s ease .5s, border .5s ease .5s;
	color: #000;
	text-decoration: none;
}
.info-old > div input:checked ~ div {
	display: block;
	opacity: 1;
	visibility: visible;
	max-height: 2000px;
	-webkit-transition: all .5s ease 0s, opacity .25s ease 0s, padding 0s ease 0s;
	transition: all .5s ease 0s, opacity .25s ease 0s, padding 0s ease 0s;
	margin-top: .5em;
}

.info-old h4 { color: #096; margin-bottom: .5em; }
.info-old .content { margin-bottom: 1em; }


.info-old .link { color: #096; font-weight: bold; text-decoration: underline; cursor: pointer; }
.info-old .link:hover { text-decoration: none; }

.info-old .info-list { margin: 0; }



#ib_index [class*="_menu"] { width: 85%; display: flex;  flex-wrap: wrap; margin: 0 auto; }
#ib_index [class*="_menu"] a { position: relative; font-size: .938em; font-weight: bold; border-bottom: solid 4px; text-align: center; text-decoration: none; border-radius: 5px; line-height: 1; padding: 3%; margin: 0 1.6% 3% 1.6%;; }

/*
#ib_index .security_menu { justify-content: space-between; }
#ib_index .service_menu { justify-content: ; }
*/
#ib_index .security_menu a { width: 30%; color: #F0C950; background: #FAF4DA; border-color: #F0C950; }
#ib_index .service_menu a { width: 30%; color: #458DC8; background: #DAE8F5; border-color: #458DC8; }

#ib_index [class*="_menu"] a:hover { transform: translateY(4px); transition: .6s; }
#ib_index [class*="_menu"] a::before { position: relative; display: block; font-family: "Font Awesome 5 Free"; font-size: 5.8em; font-weight: 900; margin-bottom: 8%; }
#ib_index [class*="_menu"] a span { line-height: 1.5; position: relative; }

#ib_index img { width: 100%; }

#ib_index .security_menu a:nth-child(1)::before { content: "\f505"; }
#ib_index .security_menu a:nth-child(2)::before { content: "\e076"; }
#ib_index .security_menu a:nth-child(3)::before { content: "\f084"; }
#ib_index .security_menu a:nth-child(3) span { position: relative; top: .8em; }

#ib_index .service_menu a:nth-child(1)::before { content: "\f05a"; }
#ib_index .service_menu a:nth-child(2)::before { content: "\f0d6"; }
#ib_index .service_menu a:nth-child(3)::before { content: "\f328"; }
#ib_index .service_menu a:nth-child(4)::before { content: "\f14a"; }
#ib_index .service_menu a:nth-child(5)::before { content: "\f059"; }
#ib_index .service_menu a:nth-child(6)::before { content: "\f108"; }
#ib_index .service_menu a:nth-child(7)::before { content: "\f15b"; }
#ib_index .service_menu a:nth-child(8)::before { content: "\f02d"; }
#ib_index .service_menu a:nth-child(9)::before { content: "\f084"; }


.contact_tel { text-align: center; font-size: 2.5em; }
.contact_tel::before { display: inline-block; vertical-align: middle; position: relative; bottom: 5px; content: ""; background-image: url(../../img/freedial2.jpg); width: 50px; height: 30px; background-size: 100%; background-repeat: no-repeat; background-position: 50% 50%; margin-right: 10px; }

hr { border-top: dotted 1px #ccc; margin: 10px 0px; }


@media screen and ( max-width:670px ) {
	#ib_index [class*="_menu"] { display: inherit; width: 100%; }
	#ib_index [class*="_menu"] a { display: block; width: 100%; font-size: .9em; padding: 7%; z-index: 2; margin: 0 1.6% 3% 0; }
	#ib_index [class*="_menu"] a::before { width: 1em; position: absolute; font-size: 2.5em; top: 50%; left: 5%; transform: translateY(-50%); font-size: 10vw; z-index: -1; }
	#ib_index .security_menu a:nth-child(3) span { position: relative; top: 0; }
	.contact_tel { text-align: center; font-size: 2em; }
}

@media screen and ( min-width:671px ) and ( max-width:1023px ) {
	#ib_index [class*="_menu"] { width: 100%; }
	#ib_index [class*="_menu"] a { font-size: 1.4vw; }
}

/* ---------------------------------------------------------------------------------------------
	onetime.html - ワンタイムパスワード
---------------------------------------------------------------------------------------------*/

#ib_onetime .ttl4 { font-size: 1.4em; border-bottom: 1px solid; margin-bottom: 1em; padding-left: .5em; }
#ib_onetime .cautionary_points dt { font-weight: bold; text-indent: -.5em; margin-bottom: .5em; }
#ib_onetime .cautionary_points dd { border-bottom: 1px dotted #ccc; padding-bottom: 1em; margin: 0 0 1em 1em; }
#ib_onetime .cautionary_points dd:last-of-type {border: none;}
#ib_onetime .modal_content dt { font-size: 1.2em; background: #68B8FF; color: #fff; border-radius: 7px; margin-bottom: 10px; padding: .5em 1em; }
#ib_onetime .modal_content dd { margin: 0 0 4em 1em; }
#ib_onetime .modal_content dd p { margin-bottom: .8em; }
#ib_onetime .modal_content figure { width: 100%; text-align: center; }
#ib_onetime .modal_content img { max-width: 100%; }

/* ---------------------------------------------------------------------------------------------
	qa.html - Q&A
---------------------------------------------------------------------------------------------*/

#ib_QA .security dt { color: #FF8484; font-weight: bold; }
#ib_QA .security dd { margin: 0 0 1em 1.6em; }

.accbox { width: 100%; height: 100%; z-index: 10; background: white; overflow: hidden; }

.accbox input { display: none; }

@media screen and (max-width: 599px) {
  .accbox { max-width: 100%; }
}

.accbox > div { display: block; position: relative; margin: auto auto .5em 1em; }

.accbox > div input + label {
	cursor: pointer;
	display: block;
	-webkit-transition: background-color 0.25s ease-in-out 0.5s, color 0.25s ease-in-out 0.5s;
	transition: background-color 0.25s ease-in-out 0.5s, color 0.25s ease-in-out 0.5s;
}

.accbox label { text-decoration: underline; cursor: pointer; }
.accbox label::before {
    color: #2D5A9D;
	font-family: 'Bookman Old Style';
	font-weight: 900;
	content: "\Q.";
	font-size: 1em;
    text-indent: 1em;
	vertical-align: 0px;
	text-decoration: none;
	margin-right: 5px;
}

.accbox > div input ~ div {
	visibility: hidden;
	max-height: 0;
	padding: 0;
	opacity: 0;
	-webkit-transition: all 0.5s ease 0s, opacity 0.25s ease 0s, padding 0s ease 0s;
	transition: all 0.5s ease 0s, opacity 0.25s ease 0s, padding 0s ease 0s;
}
.accbox > div input ~ div .content {
	border: 1px solid #ccc;
	padding: 15px;
}
.accbox > div input:checked + label {
	-webkit-transition: background .5s ease .5s, border .5s ease 0.5s;
	transition: background .5s ease .5s, border .5s ease .5s;
	color: #000;
	text-decoration: none;
}
.accbox > div input:checked ~ div {
	display: block;
	opacity: 1;
	visibility: visible;
	max-height: 2000px;
	-webkit-transition: all .5s ease 0s, opacity .25s ease 0s, padding 0s ease 0s;
	transition: all .5s ease 0s, opacity .25s ease 0s, padding 0s ease 0s;
	margin-top: .5em;
}

.accbox h4 { color: #096; margin-bottom: .5em; }
.accbox .content { margin-bottom: 1em; }

.accbox .content::before {
	color: #2D5A9D;
	font-family: 'Bookman Old Style';
	font-weight: 900;
    content: "A.";
	display: inline;
	font-size: 1em;
    text-indent: 1em;
	vertical-align: 0px;
	text-decoration: none;
	margin-right: 5px;
}

.accbox .link { color: #096; font-weight: bold; text-decoration: underline; cursor: pointer; }

.accbox .link:hover { text-decoration: none; }

/* ---------------------------------------------------------------------------------------------
	modal window
---------------------------------------------------------------------------------------------*/

.modal_wrap input { display: none; height: 100%; }

.modal_overlay {
	display: flex;
	justify-content: center;
	overflow-y: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	transition: opacity 0.5s, transform 0s 0.5s;
	transform: scale(0);
}

.modal_trigger {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.modal_box { width: 100%; overflow-y: auto; }

.modal_content {
	width: 100%;
	position: relative;
	align-self: flex-start;
	max-width: 1000px;
	padding: 30px 30px 15px;
	box-sizing: border-box;
	background: #fff;
	transition: 0.5s;
	margin: 2em auto;
	z-index: 9999;
}

@media screen and ( min-width:671px ) and ( max-width:1023px ) {
	.modal_content { max-width: 95%; }
}

@media screen and ( max-width:670px ) {
	.modal_content { max-width: 95%; }
}

.close_button { position: absolute; top: 14px; right: 16px; font-size: 28px; cursor: pointer; }
.bottom_close_button { width: 100%; text-align: center; font-size: 26px; cursor: pointer; margin-bottom: 2em; }

.modal_wrap input:checked ~ .modal_overlay { opacity: 1; transform: scale(1); transition: opacity 0.5s; }
.open_button label { cursor: pointer; }
.modal_link { color: #2D5A9D; cursor: pointer; text-decoration: underline; transition: .6s; }
.modal_link:hover { text-decoration: none; transition: .6s;}

/* ---------------------------------------------------------------------------------------------
	security.html - セキュリティ
---------------------------------------------------------------------------------------------*/

#security figure { text-align: center; }
#security img { max-width: 100%; }

/* ---------------------------------------------------------------------------------------------
	service.html - サービスのご案内
---------------------------------------------------------------------------------------------*/

/*#service th { background: #eee; }*/
#service .table_contents th:first-child { width: 25%; }
#service .table_times { table-layout: fixed; }
#service .table_times th { text-align: left; }
#service .table_times tr:first-child th { text-align: center; }
#service .table_times th:first-child { width: 25%; }
#service .table_handling_charge1 { width: auto; max-width: 500px }
#service .table_handling_charge1 th { width: 25%; }
#service .table_handling_charge2 { table-layout: fixed; margin-bottom: 1em; }
#service .table_terminal { table-layout: fixed; margin-bottom: 1em; }
#service ul.sumally-note { border: 1px solid #ccc; padding: 1.5em 1.5em 1.5em 2.5em; }
#service dd { margin: 0 0 1em 2em; }

/* ---------------------------------------------------------------------------------------------
	riyou.html - ご利用にあたって
---------------------------------------------------------------------------------------------*/

#riyou h3 { font-size: 1.2em; color: #747474; text-align: center;  margin-bottom: 1em; }
#riyou h3 span { color: #69f; }
#riyou div.block { background: #f5f5f5; border-radius: 5px;  margin: 0 auto 3em auto; padding: 1.5em; }
#riyou .arrow { display: block; width: 10px; text-align: center; height: 0; border-style: solid; border-width: 15px 20px 0 20px; border-color: #dcdcdc transparent transparent transparent; margin: 0 auto 2em auto; }
#riyou .fa-caret-down { font-size: 30px; color: #dcdcdc; width: 100%; margin: 0 auto; }
#riyou #Card .cardtable1 { vertical-align: top; }
#riyou #Card .cardtable2 { table-layout: fixed; text-align: center; }
#riyou #Card .cardtable2 th, #riyou #Card .cardtable2 td { border: 1px solid #666; }
#riyou #Card .cardtable2 th { background: #ccc; width: 45px; }
#riyou #Card .cardtable2 td { white-space: nowrap; }


#riyou button[data-izimodal-open*=".riyou_Card"] { width: auto; color: #2D5A9D; background: none; border: none; text-decoration: underline; cursor: pointer; margin: 0; padding: 0; }

.riyou_Card .dialogbox { padding: 2em; }
.riyou_Card .dialogbox .cardtable1 { vertical-align: top; }
.riyou_Card .dialogbox .cardtable2 { table-layout: fixed; text-align: center; }
.riyou_Card .dialogbox .cardtable2 th, .riyou_Card .dialogbox .cardtable2 td { border: 1px solid #666; }
.riyou_Card .dialogbox .cardtable2 th { background: #ccc; width: 45px; }
.riyou_Card .dialogbox .cardtable2 td { white-space: nowrap; }


/* ---------------------------------------------------------------------------------------------
	zeikin.html - 税金･各種料金の払込み
---------------------------------------------------------------------------------------------*/

#zeikin th { background: #F1F1F1; }
#zeikin .table-Ttl { background: #dcdcdc; text-align: left; }
#zeikin .table01-0 { border: 1px solid #fff0; }
#zeikin .table01-0 td:nth-child(1) { width: 145px; }
#zeikin .table01-0 th, #zeikin .table01-0 td { border: 1px solid #fff; }
#zeikin .table01-1 td:nth-child(1), #zeikin .table01-2 td:nth-child(1), #zeikin .table01-3 td:nth-child(1) { width: 24%; }
#zeikin .table01-1 td:nth-child(2), #zeikin .table01-2 td:nth-child(2), #zeikin .table01-3 td:nth-child(2) { width: 12%; text-align: center; white-space: nowrap; }
#zeikin .table01-4 { width: 580px; }
#zeikin .table01-5 { width: auto; max-width: 580px; }
#zeikin .table01-5 th { width: 25%; }
#zeikin .table01-6 { table-layout: fixed; max-width: 580px; }

@media screen and ( max-width:670px ) {
	#zeikin .table01-0 td { display: block; }
	#zeikin .table01-0 td:nth-child(1) { width: 100%; }
	#zeikin .table01-0 td figure { text-align: center; }
	#zeikin .table01-4 { width: 100%; }
}
