@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/**/
/*==========================================
Common CSS
==========================================*/
body {
  position: relative;
  font-size: clamp(0.875rem, 0.774rem + 0.43vw, 1.125rem); /*375～1300：14～18px*/
  line-height: 1.4;
  color: #000;
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
  font-weight: 400;
  animation: fadein 1s forwards;
  letter-spacing: 0.05em;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
img {
  max-width: 100%;
  vertical-align: middle;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}
.bold {
  font-weight: 700;
}
.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_48 li{
	width: 48%;
}
@media screen and (max-width:768px) {
	.flex {
		display: block;
	}
	.flex_48 li{
		width: 100%;
	}
}
.blue {
	color: #0A5298;
}
.green {
	color: #00A9AD;
}
.orange {
	color: #E8581D;
}
.center {
	text-align: center;
}
.note {
	font-size: 14px;
	line-height: 1.2;
	display: block;
}
/*フォントサイズ*/
.fs18 {
	font-size: 18px;
}
.fs20 {
	font-size: 20px;
}
.fs22 {
	font-size: 22px;
}
.fs24 {
	font-size: 24px;
}
.fs28 {
	font-size: 28px;
}
.fs30 {
	font-size: 30px;
}
@media screen and (max-width:767px) {
	.fs20 {
		font-size: 18px;
	}
	.fs24 {
		font-size: 20px;
	}
}
/*マージン*/
.mar10 {
	margin-bottom: 10px;
}
.mar15 {
	margin-bottom: 15px;
}
.mar20 {
	margin-bottom: 20px;
}
.mar30 {
	margin-bottom: 30px;
}
.mar40 {
	margin-bottom: 40px;
}
.mar50 {
	margin-bottom: 50px;
}
.mar60 {
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .mar50 {
		margin-bottom: 30px;
	}
  .mar60 {
		margin-bottom: 35px;
	}
}

/*-------------
inview
---------------*/
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/*-------------
column
---------------*/
.wrap1200 {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.wrap1000 {
  max-width: 1000px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .wrap1200, .wrap1000 {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/*-------------

---------------*/ :root {
  /*余白*/
  --space120: clamp(3.75rem, 2.23rem + 6.49vw, 7.5rem);
  --space80: clamp(2.5rem, 1.486rem + 4.32vw, 5rem);
  --space60: clamp(1.875rem, 1.115rem + 3.24vw, 3.75rem);
  --space40: clamp(1.25rem, 0.743rem + 2.16vw, 2.5rem);
  --space30: clamp(0.938rem, 0.511rem + 1.82vw, 1.875rem);
  --space20: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
  /*フォント　375～1200間*/
  --fs56: clamp(1.5rem, 0.591rem + 3.88vw, 3.5rem); /*24～56*/
  --fs36: clamp(1.375rem, 0.977rem + 1.7vw, 2.25rem); /*22～36*/
  --fs32: clamp(1.25rem, 0.909rem + 1.45vw, 2rem); /*20～32*/
  --fs24: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem); /*18～24*/
  --fs18: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem); /*14～18*/
  --fs16: clamp(0.75rem, 0.659rem + 0.45vw, 1rem); /*12～16*/
}
/*-------------
表示・非表示
---------------*/
@media screen and (min-width:768px) { /*PC*のみで表示*/
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
@media screen and (max-width:767px) { /*スマホのみで表示*/
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
/*-------------
link
---------------*/
a {
  text-decoration: none;
  color: inherit;
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
  transition: .3s;
  opacity: .8;
}
a:active {
  text-decoration: none;
}
a.page-link {
  text-decoration: underline;
}
/*-------------
電話番号
---------------*/
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
  }
  a[href^="tel:"]:hover {
    text-decoration: underline;
  }
}
/*==========================================
header
==========================================*/
header {
  display: flex;
  background: #fff;
  padding: 0 0 15px 12px;
}
header .higo {
  max-width: 190px;
}
header .code {
  font-size: 10px;
  margin: 12px 0 0 25px;
  text-align: center;
}
header .flex {
  width: 509px;
  display: flex;
  flex-direction: column;
  margin: 12px 0 0 25px;
}
header .flex .flex_top {
  display: flex;
}
header .kfg {
  max-width: 182.72px;
}
header .kagoshima {
  max-width: 127.5px;
}
header .flex .flex_bottom {
  display: flex;
  margin-top: 5px;
}
header .kfgs {
  max-width: 105px;
}
header .kyu_ds {
  max-width: 190.91px;
}
header .creation {
  max-width: 154px;
}
header .flex .flex_top div, header .flex .flex_bottom div {
  margin-right: 30px;
}
@media screen and (max-width:767px) {
  header {
    padding: 0 0 5px 5px;
  }
  header .higo {
    width: 98px;
  }
  header .flex {
    margin-left: 5px;
  }
  header .kfg {
    max-width: 27px;
    margin-left: 0px;
  }
}
/*----------------------------------------------------
main
------------------------------------------------------*/
@media screen and (min-width:768px) {
  main {
    min-width: 1300px;
  }
}
/*----------------------------------------------------
fv
------------------------------------------------------*/
.fv {
  position: relative;
}
.fv img {
  width: 100%;
}

/*----------------------------------------------------
contents_campaign
------------------------------------------------------*/
.contents_campaign {
	background: #EBF5FF;
	border-radius: 100px;
	padding: 100px 0;
}
/*.img900 img{
	max-width: 900px;
}*/
@media screen and (max-width:767px) {
	.contents_campaign {
		border-radius: 30px;
		padding:50px 0;
	}
}
/*条件*/
.joken {
	border-radius: 10px;
	background: #fff;
	margin-bottom: 20px;
}
.joken h3 {
	background: #E8581D!important;
	border-radius: 10px 10px 0 0;
	padding: 5px 0;
}
.joken h3 img {
	width: 80px;
}
.joken p {
	padding: 15px 10px;
}
.sankaku {
	display: table;
	margin: auto;
}
@media screen and (max-width:767px) {
	.sankaku {
		width: 70px;
	}
}
/*対象*/
.contents_campaign .taisyo h3 {
	position: absolute;
	top: -23px;
	left: 0;
	right: 0;
	margin: auto;
	display: table;
	background: #004287;
	border-radius: 35px;
	width: 230px;
	text-align: center;
}
.contents_campaign ul li:nth-child(2) h3 {
	background: #00A9AD;
}
.contents_campaign .taisyo h4 {
	font-size: 22px;
	margin-bottom: 20px;
}
.contents_campaign ul li .taisyo {
	border: 3px solid #0A5298;
	border-radius: 15px;
	position: relative;
	background: #fff;
	padding: 30px 20px 20px 20px;
	margin: 40px auto 30px;
}
.contents_campaign ul li:nth-child(2) .taisyo {
	border: 3px solid #00A9AD;
}
.contents_campaign ul li .taisyo a {
	text-decoration: underline;
	transition: all 0.3S;
}
.contents_campaign ul li .taisyo a:hover {
	text-decoration: none;
}
.contents_campaign ul li .taisyo ul.taisyo_list li a {
	position: relative;
	padding-right: 3px;
}
.contents_campaign ul li .taisyo ul.taisyo_list li a::after {
	content: "";
	background-image: url("images/tab_blue.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width: 16px;
	height: 15px;
	display: inline-block;
	top: 0;
	bottom: 0;
	margin-left:1px;
	margin: auto;
}
.contents_campaign ul li:nth-child(2) .taisyo ul.taisyo_list {
	background: #D4EBE5;
}
.contents_campaign ul li:nth-child(2) .taisyo ul.taisyo_list li a::after {
	background-image: url("images/tab_green.png");
}
.taisyo_border {
	position: relative;
}
.taisyo_border::before {
	content: "";
	background-image: url("images/list_blue_border.png");
	background-repeat: no-repeat;
	background-size: cover;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 3px;
	height: 100%;
	position: absolute;
	display: block;
}

.contents_campaign ul li:nth-child(2) .taisyo_border::before {
	background-image: url("images/list_green_border.png");
}
ul.taisyo_list {
	background: #D2E8F8;
	padding: 10px 0;
	position: relative;
	z-index: 1;
	padding: 15px 8px;
	margin-bottom: 25px;
	align-items: center;
	display: flex!important;
}
ul.taisyo_list:last-of-type {
	margin-bottom: 0;
}
ul.taisyo_list:first-of-type {
	position: relative;
}
ul.taisyo_list::before {
	content: "";
	z-index: 2;
	top: -15px;
	left: 0;
	right: 0;
	margin: auto;
	background-repeat: no-repeat;
	background-size: cover;
	width: 31px;
	height: 31px;
	position: absolute;
}
ul.taisyo_list:first-of-type::before {
	background-image: url("images/list_blue_1.png");
}
ul.taisyo_list:nth-of-type(2)::before {
	background-image: url("images/list_blue_2.png");
}
ul.taisyo_list:nth-of-type(3)::before {
	background-image: url("images/list_blue_3.png");
}
ul.taisyo_list:nth-of-type(4)::before {
	background-image: url("images/list_blue_4.png");
}
.contents_campaign ul li:nth-child(2) ul.taisyo_list:first-of-type::before {
	background-image: url("images/list_green_1.png");
}
.contents_campaign ul li:nth-child(2) ul.taisyo_list:nth-of-type(2)::before {
	background-image: url("images/list_green_2.png");
}
.contents_campaign ul li:nth-child(2) ul.taisyo_list:nth-of-type(3)::before {
	background-image: url("images/list_green_3.png");
}
.contents_campaign ul li:nth-child(2) ul.taisyo_list:nth-of-type(4)::before {
	background-image: url("images/list_green_4.png");
}
ul.taisyo_list li:first-of-type {
	width: 15%!important;
}
ul.taisyo_list li:nth-of-type(2) {
	width: 85%!important;
	padding-left: 10px;
	box-sizing: border-box;
}
ul.taisyo_list p {
	font-size: 14px;
}
ul.taisyo_list .bold {
	font-size: 16px;
	line-height: 1.2;
	display: inline-block;
}
ul.taisyo_list li a {
	position: relative;
}
.support a {
	transition: all 0.3s;
	display: block;
}
.support a:hover {
	transform: scale(1.05,1.05);
}
@media screen and (max-width:767px) {
	.contents_campaign ul li .taisyo {
		margin-top: 35px;
		margin-bottom:50px;	
		padding: 30px 10px 20px 10px
	}
	.contents_campaign .taisyo h4 {
		font-size: 20px;
	}
}
/*ボタン*/
.contents_campaign .button a {
	background: #fff;
	border-radius: 100px;
	padding: 12px;
	text-align: center;
	display: block;
	font-weight: bold;
	transition: all 0.3s;
}
.contents_campaign .button a:hover {
	transform: scale(1.05,1.05);
}
.contents_campaign .button a img {
	max-width: 240px;
	text-align: center;
}
.contents_campaign .button a p {
	display: table;
	margin: auto;
	text-align: center;
	position: relative;
}
.contents_campaign .button a p::after {
	content:"";
	position: absolute;
	background-image: url("images/sankaku_right.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width:13px;
	height:20px;
	top: 0;
	bottom: 0;
	margin: auto 0 auto 6px;
}
@media screen and (max-width:767px) {
	.contents_campaign ul li .taisyo {
		margin-top: 30px;
		margin-bottom:40px;	
	}
	.contents_campaign .taisyo h4 {
		font-size: 20px;
	}
	.contents_campaign ul li:nth-of-type(3) {
		margin-top: 30px;
		margin-bottom: 20px;
	}
	.contents_campaign .button a img {
		max-width: 200px;
		text-align: center;
}
}

/*----------------------------------------------------
content_ryokin
------------------------------------------------------*/
.content_ryokin {
	background: #E8E8E8;
	padding: 60px 0;
	position: relative;
}
.content_ryokin::before {
	content: "";
	background: #E8E8E8;
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100px;
	top:-80px;
}
.content_ryokin .ryokin_scroll {
	overflow-x: scroll;
	width: 1000px;
	margin: 0 auto 30px;
}
.content_ryokin .ryokin_scroll p {
	width: 1250px;
	margin-bottom:10px;
}
/*スクロール*/
/* スクロールバーの幅 */
.content_ryokin .ryokin_scroll::-webkit-scrollbar {
    width: 14px;
}

/* スクロールバーの背景 */
.content_ryokin .ryokin_scroll::-webkit-scrollbar-track {
    background-color: #FFFFFF;
    border-radius: 10px;
}

/* スクロールバーのつまみ部分 */
.content_ryokin .ryokin_scroll::-webkit-scrollbar-thumb {
    background-color: #004287;
    border-radius: 10px;
}
@media screen and (max-width:1100px) {
	.content_ryokin .ryokin_scroll {
		width: 100%;
		max-width: 100%;
	}
	.content_ryokin .ryokin_scroll p {
		width: 720px;
	}
}

/*----------------------------------------------------
overview
------------------------------------------------------*/
.overview {
  background: #FFFAEF;
  padding-top: var(--space120);
  padding-bottom: var(--space120);
}
.overview__ttl {
  color: #0F773C;
  font-size: var(--fs56);
  text-align: center;
  font-weight: 700;
}
.overviewTable {
  margin-top: var(--space40);
}
.overviewTable table tr {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
.overviewTable table th {
  border-right: 1px solid #707070;
  background: #F5F5F5;
  padding: 10px;
}
.overviewTable table td {
  border-right: 1px solid #707070;
  background: #fff;
  padding: var(--space20);
}
.overviewTable table th:first-of-type {
  width: 18.18%;
}
.overviewTable table th {
  width: 27.27%;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
}
.overviewTable table td {
  text-align: center;
  vertical-align: middle;
}
.overviewTable table th.headlineTeiki {
  background: #579535;
  color: #fff;
  border-right: 1px solid #fff;
}
.overviewTable table th.headlineMix {
  background: #0F773C;
  color: #fff;
}
.overviewTable table th:last-child {
  border-right: none;
}
.overviewTable table td:last-child {
  border-right: none;
}
.overviewTable table td.left {
  text-align: left;
}
.overviewTable table dt {
  text-indent: -1em;
  padding-left: 1em;
}
.overviewTable table dd {
  text-indent: -1em;
  padding-left: 2em;
}
.overviewTable table .bold {
  font-weight: 700;
}
@media screen and (max-width:767px) {
  .overviewTable table {
    width: 100%;
    overflow-x: scroll;
  }
  .overviewTable table {
    width: 150%;
  }
}
/*横スクロールのアイコン位置*/
.scroll-hint-icon {
  top: 20%;
}
/*------overviewMix---------*/
.overviewMix {
  border: solid 8px #FFF1C1;
  background: #fff;
  border-radius: 20px;
  padding: var(--space40) 100px var(--space60);
  margin-top: var(--space60);
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
}
.overviewMix__2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 30px;
  gap: 20px;
}
.overviewMix__txt {
  font-weight: 700;
  margin-top: var(--space20);
  line-height: 1.8;
}
.overviewMix__icon {
  margin-top: var(--space20);
}
@media screen and (max-width:767px) {
  .overviewMix {
    padding: var(--space40) 20px var(--space60);
  }
  .overviewMix__2col {
    grid-template-columns: repeat(1, 1fr);
  }
  .overviewMix__icon {
    margin: 0 auto;
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    max-width: 80%;
  }
}
.overviewMix__table {
  margin-top: var(--space40);
}
.overviewMix__table table {
  width: 100%;
}
.overviewMix__table thead th {
  background: #EB6899;
  color: #fff;
  font-weight: 700;
}
.overviewMix__table tr {
  border-bottom: 1px solid #707070;
}
.overviewMix__table thead tr {
  border-bottom: none;
}
.overviewMix__table th {
  background: #F5F5F5;
  padding: 10px;
  width: 20%;
  vertical-align: middle;
  font-weight: 700;
}
.overviewMix__table td {
  padding: var(--space20);
}
.overviewMix__table td dd {
  margin-top: .8em;
}
/*----------------------------------------------------
info
------------------------------------------------------*/
.info {
  padding-top: var(--space60);
  padding-bottom: 100px;
  font-size: var(--fs16);
}
.info__list li::before {
  content: "●";
}
.info__list li {
  text-indent: -1em;
  padding-left: 1em;
}
.infoCnt__ttl {
  color: #0F773C;
  font-size: var(--fs32);
  margin-bottom: 10px;
}
.infoCnt__ttl--2 {
  color: #0F773C;
}
.infoCnt + .infoCnt {
  margin-top: var(--space60);
}
.infoCnt__txt {
  margin-top: 1em;
}
@media screen and (max-width:767px) {
  .info {
    padding-bottom: 60px;
  }
}
/*----------------------------------------------------
footer
------------------------------------------------------*/
footer {
  background: #3c4950;
}
footer .txt-area {
  color: #fff;
  padding-top: 40px;
  padding-bottom: 40px;
  font-size: 0.875rem;
}
footer .txt-area img.logo-higobank {
  max-width: 364px;
}
footer .txt-area p.privacy {
  text-decoration: underline;
  margin-top: 30px;
}
footer .txt-area p.privacy a {
  color: #fff;
}
footer .txt-area p.bankcode {
  margin-top: 10px;
}
footer .txt-area p.copyright {
  font-size: 0.75rem;
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  footer .txt-area img.logo-higobank {
    width: 90%;
  }
}
.contact {
  width: 100%;
  text-align: center;
  position: relative;
  padding-top: 10px;
	color: #fff;
  background: #1264A2;
  width: 100%;
  display: block;
	padding: 20px 0;
}
.contact ul {
	align-items: center;
}
.contact a:hover {
  opacity: 1;
}
.contact p {
	font-size: 14px;
}
.contact ul li:nth-of-type(2) {
	text-align: left;
}
.contact ul li:nth-of-type(2) img {
	max-width: 350px;
}
@media screen and (max-width:767px) {
  .contact img {
    max-width: 80%;
  }
	.contact ul li:nth-of-type(2) img {
		max-width: 280px;
	}
	.contact ul li:nth-of-type(2) {
		text-align: center;
		margin-top:10px;
	}
}
/*----------------------------------------------------
toTop
------------------------------------------------------*/
.toTop {
  position: absolute;
  right: 20px;
  top: -80px;
}
.toTop:hover {
  cursor: pointer;
  opacity: 0.8;
}
.toTop__btn {
  max-width: 50px;
}
@media screen and (max-width:767px) {
  .toTop {
    position: absolute;
    right: 10px;
    top: -50px;
  }
  .toTop__btn {
    max-width: 40px;
  }
}