@charset "utf-8";

/* ------------------------------------------------------
RESET
------------------------------------------------------ */
html {-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;}
details,menu,figcaption,figure,main,article,aside,footer,header,nav,section {display: block;}
html,body,button,input,optgroup,select,textarea,p,h1,h2,h3,h4,h5,h6,figure,ul,ol,dl,dt,dd {margin: 0;}
ul,ol,dl,dd,dt { list-style: none; padding: 0;}
hr {box-sizing: content-box;height: 0;overflow: visible;}
pre {font-family: monospace, monospace;font-size: 1em;}
a {background-color: transparent;-webkit-text-decoration-skip: objects;outline: none;}
abbr[title] {border-bottom: none;text-decoration: underline;text-decoration: underline dotted;}
code,kbd,samp {font-family: monospace, monospace;font-size: 1em;}
dfn {font-style: italic;}
mark {background-color: #ff0;color: #000;}
small {font-size: 80%;}
sub,sup {font-size: 70%;line-height: 0;position: relative;vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.3em;}
canvas,audio,video {display: inline-block;}
audio:not([controls]) {display: none;height: 0;}
img {border-style: none;}
svg:not(:root) {overflow: hidden;}
button,input {overflow: visible;}
button,select {text-transform: none;}
button,html [type="button"],[type="reset"],[type="submit"] {-webkit-appearance: button;}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {border-style: none;padding: 0;}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
legend {box-sizing: border-box;color: inherit;display: table;max-width: 100%;padding: 0;white-space: normal;}
progress {display: inline-block;vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"],
[type="radio"] {box-sizing: border-box;padding: 0;}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield;outline-offset: -2px;}
[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button;font: inherit;}
summary {display: list-item;}
[hidden],template {display: none;}

/* ------------------------------------------------------
GENERAL
------------------------------------------------------ */
html {
  font-size: 62.5%;
}
body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  background-color: #FFF;
  color: #000;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
}
.clearfix:after {
  content: ' ';
  display: block;
  clear: both;
}
*,*:before,*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
a {
  color: #008756;
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.3s ease;
}
a:hover {
  text-decoration: none;
}
img {
  max-width: 100%;
  height: auto;
}
#wrapper {
  overflow: hidden;
}
.container {
  padding: 0 15px;
  margin: 0 auto;
  width: 100%;
  max-width: 1110px;
}
#main {
  padding-top: 80px;
}
.mt0 {margin-top: 0!important;}
.ind1e {display:block; padding-left: 1em;}
.alignCenter {text-align: center!important;}
.alignRight {text-align: right!important;}
@media (max-width: 768px) {
  .pc {display: none !important;}
  #main {
    padding-top: 55px;
  }
  .mtSp20 {margin-top: 20px!important;}
  .mtSp25 {margin-top: 25px!important;}
  .mtSp30 {margin-top: 30px!important;}
  .plSp15 {padding-left: 15px!important;}
  .fsSp14 {font-size: 1.4rem;}
  .boldSp {font-weight: bold;}
  .mbSp50 {margin-bottom: 50px!important;}
  .mbSp65 {margin-bottom: 65px!important;}
  .mbSp100 {margin-bottom: 100px!important;}
  .sp_pl4e{padding-left: 4em;}
  .mbSp35 {margin-bottom: 35px!important;}
}
@media (min-width: 769px) {
  .sp {display: none !important;}
  .ptPc80 {padding-top: 80px!important;}
  .mtPc15 {margin-top: 15px!important;}
  .mtPc30 {margin-top: 30px!important;}
  .plPc10 {padding-left: 10px!important;}
  .plPc18 {padding-left: 18px!important;}
  .mbPc15 {margin-bottom: 15px!important;}
  .mbPc25 {margin-bottom: 25px!important;}
  .mbPc30 {margin-bottom: 30px!important;}
  .mbPc40 {margin-bottom: 40px!important;}
  .mbPc80 {margin-bottom: 80px!important;}
  .mbPc60 {margin-bottom: 60px!important;}
  .mbPc120 {margin-bottom: 120px!important;}
}
.ffs {font-feature-settings: 'palt';}
@media (max-width: 768px) {
  .ffs_sp {font-feature-settings: 'palt';}
}

/* ------------------------------------------------------
HEADER
------------------------------------------------------ */
#header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #FFF;
  z-index: 50;
}
#logo {
  font-size: 0;
  width: 162px;
}
.headerInner {
  padding: 0 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.headerButton {
  position: absolute;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
}
.headerRecruit {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
  background-color: #f6ae54;
  color: #000;
  height: 45px;
  width: 145px;
  padding: 2px 5px 0;
  border-radius: 30px;
  font-size: 1.8rem;
  font-weight: bold;
  /* letter-spacing: 0.025em; */
  transition: opacity 0.3s ease;
}
.headerRecruit:hover {
  opacity: 0.57;
}
.mainmenu {
  display: flex;
  line-height: 1.3;
  padding-right: calc(145px + 22px);
}
.mainmenu > li > a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  height: 80px;
  padding: 0 22px;
  font-weight: bold;
  font-size: 1.8rem;
  color: #000;
  /* letter-spacing: 0.025em; */
  transition: color 0.3s ease;
}
#news .mainmenu > .navNews > a,
#service .mainmenu > .navServide > a,
#knowledge .mainmenu > .navKnowledge > a,
#strength .mainmenu > .navStrength > a,
#company .mainmenu > .navCompany > a,
.mainmenu > li > a:hover {
  color: #008756;
}
@media (max-width: 1240px) {
  .headerInner {
    padding: 0 15px;
  }
  .headerButton {
    right: 20px;
  }
  .mainmenu > li > a {
    padding: 0 12px;
  }
  .mainmenu {
    padding-right: calc(145px + 12px);
  }
}
@media (max-width: 1080px) {
  #logo {
    width: 15.22vw;
  }
  .mainmenu {
    padding-right: calc(13vw + 1vw);
  }
  .mainmenu > li > a {
    font-size: 1.7vw;
    padding: 0 1vw;
    /* letter-spacing: 0; */
  }
  .headerRecruit {
    font-size: 1.8vw;
    width: 13vw;
  }
}
@media (max-width: 768px) {
  .headerInner {
    padding: 0;
    height: 55px;
  }
  #logo {
    width: 142px;
    padding: 0 0 0 15px;
  }
  .headerButton {
    top: 0;
    bottom: 0;
    right: 0;
    transform: translateY(0);
    display: flex;
    align-items: center;
  }
  .headerRecruit {
    font-size: 1.6rem;
    height: 40px;
    width: 142px;
    margin-right: 65px;
  }
  #nav {
    position: fixed;
    left: 0;
    top: 54px;
    width: 100%;
    height: 100%;
    background-color: #ebf6f2;
    z-index: 20;
    overflow: hidden;
    display: none;
  }
  .navInner {
    height: 100%;
    overflow-y: auto;
    padding: 25px 0 75px;
  }
  .mainmenu {
    display: block;
    padding: 0;
  }
  .mainmenu > li > a {
    height: auto;
    padding: 0 0;
    font-weight: bold;
    font-size: 1.6rem;
    background-color: #008756;
    color: #FFF!important;
    display: block;
    padding: 17px 40px 17px 15px;
    position: relative;
    border-bottom: 1px solid #FFF;
  }
  .mainmenu > li > a::after {
    content: "";
    width: 12px;
    height: 13px;
    background: url(/resona-lease/common/images/arrow06@2x.png) no-repeat 0 0 / 100% auto;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
  }
  .mainmenu > .hasChild > a::after {
    background-image: url(/resona-lease/common/images/open@2x.png);
    width: 18px;
    height: 18px;
  }
  .mainmenu > .hasChild.opened > a::after {
    background-image: url(/resona-lease/common/images/close@2x.png);
  }
  .submenu {
    display: none;
  }
  .submenu li {
    border-bottom: 1px solid #FFF;
  }
  .submenu a {
    display: block;
    text-decoration: none;
    line-height: 1.6;
    font-weight: bold;
    font-size: 1.6rem;
    /* letter-spacing: 0; */
    color: #000;
    padding: 10px 30px;
    position: relative;
  }
  .submenu a::after {
    content: "";
    background: url(/resona-lease/common/images/arrow04@2x.png) no-repeat 0 0 / 100% 100%;
    width: 10px;
    height: 12px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
  }
  .nav--opened .headerRecruit {
    opacity: 0;
  }

  /* Hamburger */
  .hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 100%;
    background-color: #008756;
    font-size: 0;
    cursor: pointer;
    overflow: hidden;
    z-index: 10;
  }
  .hamburger .hamburgerButton {
    position: relative;
    width: 20px;
    height: 18px;
    z-index: 10;
  }
  .hamburger span {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #FFF;
    transform: rotate(0deg);
    transition: all 0.3s ease-in-out;
    z-index: 10;
  }
  .hamburger span:nth-child(1) {
    top: 0;
  }
  .hamburger span:nth-child(2) {
    top: 8px;
  }
  .hamburger span:nth-child(3) {
    top: 16px;
  }
  .nav--opened .hamburger span:nth-child(1) {
    top: 7px;
    transform: rotate(135deg);
  }
  .nav--opened .hamburger span:nth-child(3) {
    top: 7px;
    transform: rotate(-135deg);
  }
  .nav--opened .hamburger span:nth-child(2) {
    opacity: 0;
    left: -30px;
  }
}
@media (min-width: 769px) {
  .hamburger {display: none!important;}
  .submenu {
    display: none!important;
  }
  #nav {display: block!important;}
}

/* ------------------------------------------------------
FOOTER
------------------------------------------------------ */
#footer .container {
  position: relative;
  max-width: 1302px;
}

/* fgroup1 */
.fgroup1 {
  background-color: #008756;
  color: #FFF;
  padding: 70px 0 30px 0;
}
.fgroup1 a {
  color: #FFF;
  text-decoration: none;
}
.frow {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding-right: 120px;
}
.fcol {
  width: calc(100% / 6 - (40px / 6 * 5));
}
.fitem {
  line-height: 1.4;
}
.fitem h3 {
  border-bottom: 1px solid #FFF;
  font-size: 1.5rem;
  font-weight: bold;
  padding-bottom: 5px;
}
.fitem h3 a:hover {
  text-decoration: underline;
}
.flink {
  font-size: 1.3rem;
  font-weight: 500;
  margin-top: 44px;
}
.flink li:not(:last-child){
  margin-bottom: 15px;
}
.flink a:hover {
  text-decoration: underline;
}
.fbutton {
  display: flex;
  justify-content: flex-end;
  margin-top: -20px;
}
.fbutton a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #FFF;
  line-height: 1.3;
  font-size: 1.8rem;
  font-weight: bold;
  /* letter-spacing: 0; */
  width: 205px;
  height: 60px;
  padding: 5px;
  transition: all 0.3s ease;
}
.fbutton a:hover {
  background-color: #FFF;
  color: #008756;
}
.pagetop {
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 5;
  font-size: 0;
  display: none;
}
.pagetop img {
  width: 70px;
}
.pagetop a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1160px) {
  .frow {
    padding-right: 0;
    gap: 25px;
  }
  .fcol {
    width: calc(100% / 6 - (25px / 6* 5));
  }
}
@media screen and (max-width: 768px) {
  .fgroup1 {
    display: none;
  }
  .pagetop img {
    width: 53px;
  }
  .pagetop {
    right: 15px;
    bottom: 15px;
  }
}

/* fgroup2 */
.fgroup2 {
  background-color: #e2e2e2;
  padding: 32px 0;
}
.fnavWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fnavRight {
  border-left: 1px solid #000;
  padding-left: 30px;
}
.fnavVer,
.fnavHor {
  line-height: 1.3;
}
.fnavVer a,
.fnavHor a {
  text-decoration: none;
  font-weight: 500;
  font-size: 1.3rem;
  /* letter-spacing: 0; */
  color: #000;
}
.fnavVer a:hover,
.fnavHor a:hover {
  text-decoration: underline;
}
.fnavHor {
  display: flex;
  flex-wrap: wrap;
}
.fnavHor:not(:last-child) {
  margin-bottom: 10px;
}
.fnavHor li {
  margin-bottom: 5px;
}
.fnavHor li:not(:last-child) {
  position: relative;
  padding-right: 22px;
  margin-right: 16px;
}
.fnavHor li:not(:last-child)::after {
  content: "";
  width: 1px;
  border-left: 1px solid #000;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
}
.fnavVer li:not(:last-child) {
  margin-bottom: 16px;
}
@media screen and (max-width: 1140px) {
  .fnavWrap {
    display: block;
  }
  .fnavRight {
    border-left: none;
    padding: 24px 0 0 0;
    margin-top: 24px;
    border-top: 1px solid #000;
  }
}
@media screen and (max-width: 768px) {
  .fnavHor {
    display: block;
  }
  .fnavHor:not(:last-child) {
    margin-bottom: 0;
  }
  .fnavHor li {
    margin-bottom: 8px;
  }
  .fnavHor li:not(:last-child) {
    margin-right: 0;
    padding-right: 0;
  }
  .fnavHor li:not(:last-child)::after {
    display: none;
  }
  .fnavRight {
    margin-top: 15px;
    padding-top: 13px;
  }
  .fnavVer li:not(:last-child) {
    margin-bottom: 8px;
  }
}

/* fgroup3 */
.fgroup3 {
  padding: 20px 0;
  background-color: #FFF;
}
.resonaGroupRow {
	display: flex;
  flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
  font-size: 0;
}
.resonaGroup {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.resonaGroup dt {
	width: 240px;
}
.resonaGroup dd {
	width: calc(100% - 240px);
	padding-left: 20px;
}
.resonaGroup dd ul {
	display: flex;
	align-items: center;
  gap: 15px;
}
.resonaGroup dd ul .footerLogoResona {
	width: 68px;
}
.resonaGroup dd ul .footerLogoSaitama {
	width: 94px;
}
.resonaGroup dd ul .footerLogo13 {
	width: 72px;
}
.copyright {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.4;
  color: #008756;
  margin-top: 15px;
}
@media screen and (max-width: 900px) {
  .resonaGroupRow figure {
    width: 26vw;
  }
}
@media screen and (max-width: 800px) {
  .fgroup3 {
    padding: 40px 0 25px;
  }
	.resonaGroupRow {
		display: block;
	}
  .resonaGroupRow figure {
    width: 233px;
    margin: 40px auto 0;
  }
	.resonaGroup {
		display: block;
    text-align: center;
	}
	.resonaGroup dt {
		width: auto;
    margin: 0 0 15px;
    padding: 0;
    text-align: center;
	}
	.resonaGroup dt a img {
		width: 202px;
		height: auto;
		margin: 0 auto;
		padding-right: 0;
	}
	.resonaGroup dd {
		width: 210px;
    margin: 0 auto;
    padding-left: 0;
	}
	.resonaGroup dd ul {
		flex-wrap: wrap;
    justify-content: center;
    margin-top: 0;
    gap: 14px;
	}
	.resonaGroup dd ul .footerLogoResona {
		width: 75px;
	}
	.resonaGroup dd ul .footerLogoSaitama {
		width: 109px;
	}
	.resonaGroup dd ul .footerLogo13 {
		width: 86px;
	}
	.resonaGroup dd ul .footerLogoResona > a,
	.resonaGroup dd ul .footerLogoSaitama > a,
	.resonaGroup dd ul .footerLogoKansaimirai > a,
	.resonaGroup dd ul .footerLogoMinato > a {
		display: inline;
		width: 100%;
	}
	.resonaGroup dd ul li img {
		width: 100%;
		vertical-align: bottom;
	}
	.copyright {
    font-size: 1rem;
    text-align: center;
    margin-top: 12px;
  }
}

/* ------------------------------------------------------
MODULES
------------------------------------------------------ */
/* button */
.button {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  text-decoration: none;
  outline: none;
  border: none;
  background-color: #008756;
  border-radius: 40px;
  color: #FFF;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3;
  /* letter-spacing: 0.075em; */
  box-shadow: 4px 4px 2px rgba(0, 0, 0, 0.15);
  padding: 21px 74px 19px 50px;
  position: relative;
  transition: opacity 0.3s ease;
}
.button::after {
  content: "";
  background: url(/resona-lease/common/images/arrow05@2x.png) no-repeat 0 0 / 100% 100%;
  width: 10px;
  height: 12px;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}
.buttonMore {
  font-size: 1.8rem;
  padding: 2px 35px 0 10px;
  width: 180px;
  height: 50px;
  box-shadow: none;
}
.buttonMore::after {
  right: 20px;
}
.button:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {
  .button {
    width: 100%;
    padding: 22px 30px 22px 10px;
    font-size: 1.6rem;
    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.15);
  }
  .button::after {
    right: 10px;
  }
  .buttonMore {
    width: 160px;
    height: 40px;
    font-size: 1.6rem;
    padding: 0 20px 0 10px;
    box-shadow: none;
  }
}

/* page head */
.pageHead {
  background: url(/resona-lease/common/images/bg_head@2x.png) no-repeat center center / cover;
}
.pageHeadInner {
  height: 220px;
  display: flex;
  align-items: center;
}
.pageHeadTitle {
  line-height: 1.3;
  font-weight: bold;
  font-size: 4rem;
  padding-top: 0.05em;
}
@media (max-width: 768px) {
  .pageHead {
    background-image: url(/resona-lease/common/images/bg_head@2x_sp.png);
  }
  .pageHeadInner {
    height: 160px;
  }
  .pageHeadTitle {
    font-size: 2.6rem;
  }
}

/* breadscrumb */
.breadscrumb {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.3;
  padding: 14px 0;
}
.breadscrumb a {
  position: relative;
  margin-right: 6px;
  padding-right: 17px;
  color: #000;
  text-decoration: none;
  transition: color 0.3s ease;
}
.breadscrumb a::after {
  content: ">";
  position: absolute;
  top: -1px;
  right: 0;
  color: #000;
}
.breadscrumb a:hover {
  text-decoration: underline;
  color: #0CA26C;
}
@media (max-width: 768px) {
  .breadscrumb {
    font-size: 1.2rem;
    display: none;
  }
  .breadscrumb a {
    padding-right: 15px;
  }
  .breadscrumb a::after {
    top: -2px;
  }
}
