@charset "UTF-8";
body {
  min-width: 375px;
  color: #444444;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: calc(19 / 16);
  letter-spacing: 0.03em;
}
.wholewrapper {
  position: relative;
}
.wholewrapper:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  content: "";
  width: 100%;
  height: 450px;
  background-color: #E9F6FF;
}
@media screen and (max-width: 1024px) {
  .wholewrapper:before {
    height: 270px;
  }
}
.wholewrapper * {
  box-sizing: border-box;
}
.wholewrapper *::before, .wholewrapper *::after {
  box-sizing: border-box;
}
a {
  text-decoration: none;
}
ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
span.br {
  display: block;
}
span.br_pc {
  display: block;
}
@media screen and (max-width: 767px) {
  span.br_pc {
    display: inline;
  }
}
@media screen and (max-width: 767px) {
  span.br_sp {
    display: block;
  }
}
.header {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  height: 172px;
  padding-right: 285px;
  position: relative;
  z-index: 899;
}
@media screen and (max-width: 1356px) {
  .header {
    padding-right: 235px;
  }
}
@media print, screen and (max-width: 1200px) {
  .header {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 980px) {
  .header {
    padding-right: 75px;
  }
}
@media screen and (max-width: 767px) {
  .header {
    height: auto;
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .header.active {
    position: fixed;
    width: 100%;
    height: 100%;
    padding: 0 0 20px 14px;
    background-color: #E9F6FF;
    transition: background-color 0.2s;
    overflow-y: auto;
  }
}
@media screen and (max-width: 767px) {
  .header.active .title {
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  .header.active nav {
    position: absolute;
    top: 0;
    height: auto;
    padding-bottom: 100px;
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .header.active nav ul.depth1 {
    visibility: visible;
    opacity: 1;
    transition: visibility 0.2s, opacity 0.2s;
    pointer-events: auto;
  }
}
@media screen and (max-width: 767px) {
  .header.active nav ul.contact_menu li a[href^=tel] {
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .header.active nav ul.contact_menu li a[href^=tel] span.phone_number {
    position: absolute;
    top: 51px;
    right: -47px;
    color: #444444;
    font-weight: 400;
    font-size: 20px;
    line-height: calc(32 / 20);
    letter-spacing: 0;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .header.active nav ul.contact_menu li a[href^=tel] span.phone_number:before {
    display: inline-block;
    content: "";
    width: 24px;
    height: 24px;
    margin-right: 2px;
    margin-bottom: -5px;
    background: url(../media/images/common/phone.svg) center / 100% no-repeat;
    filter: grayscale(1);
  }
}
.header .title {
  width: 420px;
  height: 172px;
  padding: 58px 81px;
  background-color: #fff;
  border-bottom-right-radius: 30px;
}
@media screen and (max-width: 1356px) {
  .header .title {
    width: 300px;
    padding: 58px 20px;
  }
}
@media print, screen and (max-width: 1200px) {
  .header .title {
    position: absolute;
    top: 0;
    left: 0;
    height: 70px;
    padding: 12px 30px;
    border-bottom-right-radius: 20px;
  }
}
@media screen and (max-width: 767px) {
  .header .title {
    position: fixed;
    width: 200px;
    height: 72px;
    padding: 21px 21px 21px 15px;
    border-bottom-right-radius: 15px;
  }
}
.header h1 {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 288px;
  aspect-ratio: 5.2363636364;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .header h1 {
    width: 164px;
    aspect-ratio: 5.2903225806;
  }
}
.header h1 span.logo {
  flex: 0 0 87px;
  margin-right: 12px;
}
@media screen and (max-width: 767px) {
  .header h1 span.logo {
    flex: 0 0 60px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 767px) {
  .header h1 span.name {
    height: 87%;
  }
}
.header h1 span img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 1356px) {
  .header h1 {
    width: 100%;
  }
}
.header h1 span.logo {
  flex: 0 0 87px;
  margin-right: 12px;
}
@media screen and (max-width: 1024px) {
  .header h1 span.logo {
    flex: 0 0 45px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 767px) {
  .header h1 span.logo {
    flex: 0 0 50px;
    margin-right: 7px;
  }
}
.header h1 .name {
  flex: 1 1 auto;
}
@media print, screen and (min-width: 768px) {
  .header nav {
    padding-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .header nav {
    position: fixed;
    top: 0;
    right: 0;
    height: 0;
    width: 100%;
  }
}
.header nav ul.depth1 {
  display: flex;
  align-items: center;
  flex-flow: row wrap-reverse;
  justify-content: flex-end;
  width: 780px;
  gap: 10px 22px;
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 {
    display: flex;
    flex-flow: row wrap;
    gap: 0;
    width: calc(100% - 14px);
    visibility: hidden;
    opacity: 0;
    padding: 8px 29px 21px 31px;
    margin-top: 112px;
    margin-right: 0;
    margin-left: auto;
    background-color: #fff;
    border-radius: 15px 0 0 15px;
    transition: visibility 0.2s, opacity 0.2s;
    pointer-events: none;
  }
}
.header nav ul.depth1 li.depth1 {
  font-weight: 400;
  font-size: 16px;
  line-height: calc(26 / 16);
  letter-spacing: 0;
  /*
				&:not(.lm9):not(.lm10):not(.lm11) {
					@include media(notsp) {

						&:hover {
							> a {
								&::before {

									width: 16px;
									height: 16px;
									background-color: $primary;
									border-radius: 8px;
								}
							}
						}
					}
				}
				*/
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1 {
    position: relative;
  }
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1:hover ul.depth2 {
    visibility: visible;
    opacity: 1;
    transition: visibility 0.2s, opacity 0.2s;
  }
}
.header nav ul.depth1 li.depth1:not(.active) > a::before {
  background-color: #fff;
  width: 12px;
  height: 12px;
  border-radius: 6px;
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106) {
    padding-bottom: 22px;
    position: relative;
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106) {
    width: 100%;
    border-bottom: 1px solid #D7D8D9;
  }
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106)::before {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    content: "";
    width: 100%;
    height: 4px;
    background-color: transparent;
    transition: background-color 0.2s;
  }
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106):hover::before {
    background-color: #75C62F;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106):nth-child(1) a::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    display: block;
    content: "";
    width: 68px;
    height: 100%;
    background: url(../media/images/common/home.svg) center / 24px no-repeat;
    border-bottom: 1px solid #969798;
  }
}
.header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106) > a {
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106) > a {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    width: 100%;
    height: 56px;
    padding-left: 22px;
  }
}
.header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106) > a::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  content: "";
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1:not(.lm9):not(.lm10):not(.lm11):not(.lm86):not(.lm87):not(.lm90):not(.lm104):not(.lm105):not(.lm106) > a::before {
    background-color: #75C62F;
  }
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1.active {
    font-weight: 500;
  }
}
.header nav ul.depth1 li.depth1.active a {
  cursor: default;
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1.active:not(.lm9):not(.lm10):not(.lm11) > a::before {
    width: 16px;
    height: 16px;
    background-color: #75C62F;
    border-radius: 8px;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.has_children > a:after {
    position: absolute;
    right: 0;
    bottom: -1px;
    display: block;
    content: "";
    width: 68px;
    height: 100%;
    background: url(../media/images/common/expand_more.svg) center / 24px no-repeat;
    border-bottom: 1px solid #969798;
  }
}
.header nav ul.depth1 li.depth1.lm9, .header nav ul.depth1 li.depth1.lm10, .header nav ul.depth1 li.depth1.lm11, .header nav ul.depth1 li.depth1.lm86, .header nav ul.depth1 li.depth1.lm87, .header nav ul.depth1 li.depth1.lm90, .header nav ul.depth1 li.depth1.lm104, .header nav ul.depth1 li.depth1.lm105, .header nav ul.depth1 li.depth1.lm106 {
  font-weight: 400;
  font-size: 14px;
  line-height: calc(26 / 14);
  letter-spacing: 0;
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1.lm9, .header nav ul.depth1 li.depth1.lm10, .header nav ul.depth1 li.depth1.lm11, .header nav ul.depth1 li.depth1.lm86, .header nav ul.depth1 li.depth1.lm87, .header nav ul.depth1 li.depth1.lm90, .header nav ul.depth1 li.depth1.lm104, .header nav ul.depth1 li.depth1.lm105, .header nav ul.depth1 li.depth1.lm106 {
    margin-left: 3px;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9, .header nav ul.depth1 li.depth1.lm10, .header nav ul.depth1 li.depth1.lm11, .header nav ul.depth1 li.depth1.lm86, .header nav ul.depth1 li.depth1.lm87, .header nav ul.depth1 li.depth1.lm90, .header nav ul.depth1 li.depth1.lm104, .header nav ul.depth1 li.depth1.lm105, .header nav ul.depth1 li.depth1.lm106 {
    width: calc(100% / 3);
    height: 46px;
    margin-top: 19px;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:nth-last-child(3), .header nav ul.depth1 li.depth1.lm10:nth-last-child(3), .header nav ul.depth1 li.depth1.lm11:nth-last-child(3), .header nav ul.depth1 li.depth1.lm86:nth-last-child(3), .header nav ul.depth1 li.depth1.lm87:nth-last-child(3), .header nav ul.depth1 li.depth1.lm90:nth-last-child(3), .header nav ul.depth1 li.depth1.lm104:nth-last-child(3), .header nav ul.depth1 li.depth1.lm105:nth-last-child(3), .header nav ul.depth1 li.depth1.lm106:nth-last-child(3) {
    width: 32%;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:nth-last-child(3) a, .header nav ul.depth1 li.depth1.lm10:nth-last-child(3) a, .header nav ul.depth1 li.depth1.lm11:nth-last-child(3) a, .header nav ul.depth1 li.depth1.lm86:nth-last-child(3) a, .header nav ul.depth1 li.depth1.lm87:nth-last-child(3) a, .header nav ul.depth1 li.depth1.lm90:nth-last-child(3) a, .header nav ul.depth1 li.depth1.lm104:nth-last-child(3) a, .header nav ul.depth1 li.depth1.lm105:nth-last-child(3) a, .header nav ul.depth1 li.depth1.lm106:nth-last-child(3) a {
    padding-right: 13px;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:nth-last-child(3) a:before, .header nav ul.depth1 li.depth1.lm10:nth-last-child(3) a:before, .header nav ul.depth1 li.depth1.lm11:nth-last-child(3) a:before, .header nav ul.depth1 li.depth1.lm86:nth-last-child(3) a:before, .header nav ul.depth1 li.depth1.lm87:nth-last-child(3) a:before, .header nav ul.depth1 li.depth1.lm90:nth-last-child(3) a:before, .header nav ul.depth1 li.depth1.lm104:nth-last-child(3) a:before, .header nav ul.depth1 li.depth1.lm105:nth-last-child(3) a:before, .header nav ul.depth1 li.depth1.lm106:nth-last-child(3) a:before {
    left: 41%;
    background: url(../media/images/common/mail.svg) center / 100% no-repeat;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:nth-last-child(2), .header nav ul.depth1 li.depth1.lm10:nth-last-child(2), .header nav ul.depth1 li.depth1.lm11:nth-last-child(2), .header nav ul.depth1 li.depth1.lm86:nth-last-child(2), .header nav ul.depth1 li.depth1.lm87:nth-last-child(2), .header nav ul.depth1 li.depth1.lm90:nth-last-child(2), .header nav ul.depth1 li.depth1.lm104:nth-last-child(2), .header nav ul.depth1 li.depth1.lm105:nth-last-child(2), .header nav ul.depth1 li.depth1.lm106:nth-last-child(2) {
    width: 36%;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:nth-last-child(2) a:before, .header nav ul.depth1 li.depth1.lm10:nth-last-child(2) a:before, .header nav ul.depth1 li.depth1.lm11:nth-last-child(2) a:before, .header nav ul.depth1 li.depth1.lm86:nth-last-child(2) a:before, .header nav ul.depth1 li.depth1.lm87:nth-last-child(2) a:before, .header nav ul.depth1 li.depth1.lm90:nth-last-child(2) a:before, .header nav ul.depth1 li.depth1.lm104:nth-last-child(2) a:before, .header nav ul.depth1 li.depth1.lm105:nth-last-child(2) a:before, .header nav ul.depth1 li.depth1.lm106:nth-last-child(2) a:before {
    background: url(../media/images/common/location_on.svg) center / 100% no-repeat;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:nth-last-child(1), .header nav ul.depth1 li.depth1.lm10:nth-last-child(1), .header nav ul.depth1 li.depth1.lm11:nth-last-child(1), .header nav ul.depth1 li.depth1.lm86:nth-last-child(1), .header nav ul.depth1 li.depth1.lm87:nth-last-child(1), .header nav ul.depth1 li.depth1.lm90:nth-last-child(1), .header nav ul.depth1 li.depth1.lm104:nth-last-child(1), .header nav ul.depth1 li.depth1.lm105:nth-last-child(1), .header nav ul.depth1 li.depth1.lm106:nth-last-child(1) {
    width: 32%;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:nth-last-child(1) a, .header nav ul.depth1 li.depth1.lm10:nth-last-child(1) a, .header nav ul.depth1 li.depth1.lm11:nth-last-child(1) a, .header nav ul.depth1 li.depth1.lm86:nth-last-child(1) a, .header nav ul.depth1 li.depth1.lm87:nth-last-child(1) a, .header nav ul.depth1 li.depth1.lm90:nth-last-child(1) a, .header nav ul.depth1 li.depth1.lm104:nth-last-child(1) a, .header nav ul.depth1 li.depth1.lm105:nth-last-child(1) a, .header nav ul.depth1 li.depth1.lm106:nth-last-child(1) a {
    padding-left: 13px;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:nth-last-child(1) a:before, .header nav ul.depth1 li.depth1.lm10:nth-last-child(1) a:before, .header nav ul.depth1 li.depth1.lm11:nth-last-child(1) a:before, .header nav ul.depth1 li.depth1.lm86:nth-last-child(1) a:before, .header nav ul.depth1 li.depth1.lm87:nth-last-child(1) a:before, .header nav ul.depth1 li.depth1.lm90:nth-last-child(1) a:before, .header nav ul.depth1 li.depth1.lm104:nth-last-child(1) a:before, .header nav ul.depth1 li.depth1.lm105:nth-last-child(1) a:before, .header nav ul.depth1 li.depth1.lm106:nth-last-child(1) a:before {
    left: 56%;
    background: url(../media/images/common/sitemap.svg) center / 100% no-repeat;
  }
}
.header nav ul.depth1 li.depth1.lm9:not(:last-child), .header nav ul.depth1 li.depth1.lm10:not(:last-child), .header nav ul.depth1 li.depth1.lm11:not(:last-child), .header nav ul.depth1 li.depth1.lm86:not(:last-child), .header nav ul.depth1 li.depth1.lm87:not(:last-child), .header nav ul.depth1 li.depth1.lm90:not(:last-child), .header nav ul.depth1 li.depth1.lm104:not(:last-child), .header nav ul.depth1 li.depth1.lm105:not(:last-child), .header nav ul.depth1 li.depth1.lm106:not(:last-child) {
  position: relative;
}
.header nav ul.depth1 li.depth1.lm9:not(:last-child):after, .header nav ul.depth1 li.depth1.lm10:not(:last-child):after, .header nav ul.depth1 li.depth1.lm11:not(:last-child):after, .header nav ul.depth1 li.depth1.lm86:not(:last-child):after, .header nav ul.depth1 li.depth1.lm87:not(:last-child):after, .header nav ul.depth1 li.depth1.lm90:not(:last-child):after, .header nav ul.depth1 li.depth1.lm104:not(:last-child):after, .header nav ul.depth1 li.depth1.lm105:not(:last-child):after, .header nav ul.depth1 li.depth1.lm106:not(:last-child):after {
  position: absolute;
  top: 50%;
  right: -12px;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 17px;
  background-color: #D7D8D9;
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9:not(:last-child):after, .header nav ul.depth1 li.depth1.lm10:not(:last-child):after, .header nav ul.depth1 li.depth1.lm11:not(:last-child):after, .header nav ul.depth1 li.depth1.lm86:not(:last-child):after, .header nav ul.depth1 li.depth1.lm87:not(:last-child):after, .header nav ul.depth1 li.depth1.lm90:not(:last-child):after, .header nav ul.depth1 li.depth1.lm104:not(:last-child):after, .header nav ul.depth1 li.depth1.lm105:not(:last-child):after, .header nav ul.depth1 li.depth1.lm106:not(:last-child):after {
    right: 0;
    bottom: 0;
    transform: unset;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.lm9 a, .header nav ul.depth1 li.depth1.lm10 a, .header nav ul.depth1 li.depth1.lm11 a, .header nav ul.depth1 li.depth1.lm86 a, .header nav ul.depth1 li.depth1.lm87 a, .header nav ul.depth1 li.depth1.lm90 a, .header nav ul.depth1 li.depth1.lm104 a, .header nav ul.depth1 li.depth1.lm105 a, .header nav ul.depth1 li.depth1.lm106 a {
    display: flex;
    align-items: flex-end;
    flex-flow: row wrap;
    justify-content: center;
    width: 100%;
    height: 100%;
    white-space: nowrap;
    position: relative;
  }
  .header nav ul.depth1 li.depth1.lm9 a:before, .header nav ul.depth1 li.depth1.lm10 a:before, .header nav ul.depth1 li.depth1.lm11 a:before, .header nav ul.depth1 li.depth1.lm86 a:before, .header nav ul.depth1 li.depth1.lm87 a:before, .header nav ul.depth1 li.depth1.lm90 a:before, .header nav ul.depth1 li.depth1.lm104 a:before, .header nav ul.depth1 li.depth1.lm105 a:before, .header nav ul.depth1 li.depth1.lm106 a:before {
    position: absolute;
    top: -3px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    content: "";
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1:not(li.depth1.open) a, .header nav ul.depth1 li.depth1:not(li.depth1.active) a {
    transition: color 0.2s;
  }
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1:not(li.depth1.open) a:hover, .header nav ul.depth1 li.depth1:not(li.depth1.active) a:hover {
    color: #969798;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.open > a:after, .header nav ul.depth1 li.depth1.active > a:after {
    background-image: url(../media/images/common/expand_less.svg);
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.open ul.depth2, .header nav ul.depth1 li.depth1.active ul.depth2 {
    padding: 11px 25px 13px;
    visibility: visible;
    opacity: 1;
    border-top: 1px solid #D7D8D9;
    transition: visibility 0.3s, opacity 0.3s, padding 0.3s, border-top 0.2s;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1.open ul.depth2 li.depth2, .header nav ul.depth1 li.depth1.active ul.depth2 li.depth2 {
    visibility: visible;
    opacity: 1;
    font-weight: 400;
    font-size: 15px;
    line-height: calc(32 / 15);
    letter-spacing: 0;
    transition: visibility 0.2s, opacity 0.2s, line-height 0.2s;
  }
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1 ul.depth2 {
    position: absolute;
    top: 47px;
    left: 50%;
    transform: translateX(-50%);
    width: 216px;
    padding: 12px 0;
    background-color: #fff;
    border-radius: 0 0 10px 10px;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s, opacity 0.2s;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1 ul.depth2 {
    display: block;
    padding: 0 25px;
    border-top: 0 solid #D7D8D9;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s, padding 0.3s, border-top 0.2s;
  }
}
.header nav ul.depth1 li.depth1 ul.depth2 li.depth2 {
  font-weight: 400;
  font-size: 15px;
  line-height: calc(32 / 15);
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1 ul.depth2 li.depth2 {
    visibility: hidden;
    opacity: 0;
    font-weight: 400;
    font-size: 15px;
    line-height: calc(0 / 15);
    letter-spacing: 0;
    line-height: 0;
    transition: visibility 0.2s, opacity 0.2s, line-height 0.2s;
  }
}
.header nav ul.depth1 li.depth1 ul.depth2 li.depth2 a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1 ul.depth2 li.depth2 a {
    justify-content: flex-start;
    padding-left: 23px;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.depth1 li.depth1 ul.depth2 li.depth2 a:before {
    position: absolute;
    top: 7px;
    left: -7px;
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    background: #fff url(../media/images/top/chevron_right.svg) center/24px 24px no-repeat;
    filter: grayscale(1);
  }
}
@media print, screen and (min-width: 768px) {
  .header nav ul.depth1 li.depth1 ul.depth2 li.depth2 a:hover {
    background-color: #EEF8E5;
    color: #444444;
    transition: background-color 0.2s;
  }
}
.header nav ul.depth1 li.depth1 a {
  color: #444444;
}
.header nav ul.contact_menu {
  position: absolute;
  right: 0;
  bottom: 80px;
}
@media screen and (max-width: 980px) {
  .header nav ul.contact_menu {
    top: 22px;
    right: 16px;
    bottom: unset;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul.contact_menu {
    display: flex;
    flex-flow: row-reverse wrap;
    gap: 7px;
    top: 16px;
    right: 62px;
  }
}
.header nav ul.contact_menu li {
  width: 232px;
  height: 58px;
  font-weight: 400;
  font-size: 20px;
  line-height: calc(26 / 20);
  letter-spacing: 0;
}
@media screen and (max-width: 1356px) {
  .header nav ul.contact_menu li {
    width: 195px;
  }
}
@media screen and (max-width: 980px) {
  .header nav ul.contact_menu li {
    width: 40px;
    height: 40px;
  }
}
.header nav ul.contact_menu li:not(:last-child) {
  margin-bottom: 10px;
}
.header nav ul.contact_menu li:first-child a {
  padding-right: 8px;
}
@media screen and (max-width: 1356px) {
  .header nav ul.contact_menu li:first-child a {
    padding-right: 0;
  }
}
.header nav ul.contact_menu li:first-child a:before {
  background: #fff url(../media/images/common/phone.svg) center / 24px 24px no-repeat;
}
.header nav ul.contact_menu li:last-child a {
  padding-right: 24px;
}
@media screen and (max-width: 1356px) {
  .header nav ul.contact_menu li:last-child a {
    padding-right: 0;
  }
}
.header nav ul.contact_menu li:last-child a:before {
  background: #fff url(../media/images/common/phone.svg) center / 24px 24px no-repeat;
}
.header nav ul.contact_menu li a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #75C62F;
  color: #fff;
  border-bottom-left-radius: 10px;
  transition: opacity 0.2s;
  position: relative;
}
@media screen and (max-width: 1356px) {
  .header nav ul.contact_menu li a {
    padding-left: 5px;
  }
}
@media screen and (max-width: 980px) {
  .header nav ul.contact_menu li a {
    background-color: unset;
    font-size: 0;
  }
}
.header nav ul.contact_menu li a:before {
  position: absolute;
  top: 0;
  left: -24px;
  display: block;
  content: "";
  width: 48px;
  height: 48px;
  background-color: #fff;
  border: 2px solid #75C62F;
  border-radius: 24px;
}
@media screen and (max-width: 980px) {
  .header nav ul.contact_menu li a:before {
    left: 0;
    width: 40px;
    height: 40px;
    border: 1.5px solid #75C62F;
  }
}
.header nav ul.contact_menu li a[href^=tel] {
  font-size: 25px;
  font-family: "Roboto Condensed", sans-serif;
}
@media screen and (max-width: 980px) {
  .header nav ul.contact_menu li a[href^=tel] {
    font-size: 0;
  }
}
.header nav ul.contact_menu li a:hover {
  opacity: 0.7;
}
.header .menu_button {
  position: absolute;
  top: 16px;
  right: 15px;
  z-index: 899;
  width: 40px;
  height: 40px;
  background-color: #fff;
  border: 1.5px solid #75C62F;
  border-radius: 20px;
  display: none;
}
@media screen and (max-width: 767px) {
  .header .menu_button {
    position: fixed;
    display: block;
  }
}
.header .menu_button span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 15px;
  height: 2px;
  background-color: #75C62F;
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
}
.header .menu_button span:nth-child(1) {
  top: 15px;
}
.header .menu_button span:nth-child(2) {
  top: 19px;
}
.header .menu_button span:nth-child(3) {
  top: 23px;
}
.header .menu_button.active span {
  width: 13px;
  height: 1.5px;
}
.header .menu_button.active span:nth-child(1) {
  transform: translate(-7px, 3px) rotate(-43deg);
}
.header .menu_button.active span:nth-child(2) {
  opacity: 0;
}
.header .menu_button.active span:nth-child(3) {
  transform: translate(-7px, -5px) rotate(43deg);
}
@media screen and (max-width: 767px) {
  .contents_wrap {
    padding-top: 72px;
  }
}
.footer {
  padding-top: 48px;
  background-color: #75C62F;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer {
    display: flex;
    flex-flow: column-reverse nowrap;
    justify-content: flex-end;
    padding: 33px 15px 0;
    min-height: 279px;
  }
}
.footer .to_top {
  display: none;
  position: absolute;
  right: 64px;
  bottom: 161px;
  z-index: 100;
  width: 48px;
  height: 48px;
}
@media print, screen and (max-width: 1200px) {
  .footer .to_top {
    right: 15px;
  }
}
@media screen and (max-width: 767px) {
  .footer .to_top {
    bottom: 62px;
    width: 40px;
    height: 40px;
  }
}
.footer .to_top.fixed {
  position: fixed;
  bottom: 64px;
}
@media screen and (max-width: 767px) {
  .footer .to_top.fixed {
    bottom: 22px;
  }
}
.footer .to_top a {
  display: block;
  transition: opacity 0.2s;
  border: 2px solid #75C62F;
  border-radius: 24px;
}
.footer .to_top a:hover {
  opacity: 0.7;
}
.footer .to_top a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.footer .footer_menu ul.depth0 {
  display: flex;
  flex-flow: row wrap;
  gap: 0 45px;
  max-width: 1080px;
  margin: 0 auto 45px;
}
@media print, screen and (min-width: 768px) {
  .footer .footer_menu ul.depth0 {
    position: relative;
  }
}
@media print, screen and (max-width: 1200px) {
  .footer .footer_menu ul.depth0 {
    gap: 0 15px;
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_menu ul.depth0 {
    padding: 0;
    margin: 0 0 45px;
  }
}
.footer .footer_menu ul.depth0 li.depth0 {
  width: calc((100% - 180px) / 5);
}
@media print, screen and (max-width: 1200px) {
  .footer .footer_menu ul.depth0 li.depth0 {
    width: calc((100% - 60px) / 5);
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_menu ul.depth0 li.depth0 {
    width: 100%;
  }
}
.footer .footer_menu ul.depth0 li.depth0 a {
  color: #fff;
  transition: color 0.2s;
}
.footer .footer_menu ul.depth0 li.depth0 a:hover {
  color: #acdd82;
}
.footer .footer_menu ul.depth0 li.depth0 > a {
  display: block;
  padding-bottom: 9px;
  margin-bottom: 21px;
  font-weight: 700;
  font-weight: 500;
  font-size: 17px;
  line-height: calc(27 / 17);
  letter-spacing: 0;
  border-bottom: 1px solid #acdd82;
}
@media screen and (max-width: 767px) {
  .footer .footer_menu ul.depth0 li.depth0 > a {
    display: none;
  }
}
.footer .footer_menu ul.depth0 li.depth0 ul.depth1 {
  font-weight: 400;
  font-size: 15px;
  line-height: calc(27 / 15);
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .footer .footer_menu ul.depth0 li.depth0 ul.depth1 {
    display: none;
    font-weight: 400;
    font-size: 12px;
    line-height: calc(20 / 12);
    letter-spacing: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .footer .footer_menu ul.depth0 li.depth0 ul.depth1:not(a + ul.depth1) {
    position: absolute;
    right: 0;
    bottom: 4px;
    width: calc((100% - 180px) / 5);
  }
}
@media print, screen and (max-width: 1200px) {
  .footer .footer_menu ul.depth0 li.depth0 ul.depth1:not(a + ul.depth1) {
    right: 15px;
    width: calc((100% - 60px) / 5);
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_menu ul.depth0 li.depth0 ul.depth1:not(a + ul.depth1) {
    right: unset;
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    max-width: 250px;
    padding: 0 5px 20px;
  }
}
.footer .footer_menu ul.depth0 li.depth0 ul.depth1:not(a + ul.depth1) li.depth1 {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
}
@media print, screen and (min-width: 768px) {
  .footer .footer_menu ul.depth0 li.depth0 ul.depth1:not(a + ul.depth1) li.depth1 {
    height: 41px;
    border-bottom: 1px solid #acdd82;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_menu ul.depth0 li.depth0 ul.depth1:not(a + ul.depth1) li.depth1:nth-child(odd):after {
    display: block;
    content: "";
    width: 1px;
    height: 14px;
    margin: 0 10px;
    background-color: #fff;
  }
}
.footer_bottom {
  width: 100%;
  height: 185px;
  background-color: #fff;
  color: #444444;
}
@media print, screen and (max-width: 1200px) {
  .footer_bottom {
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .footer_bottom {
    height: auto;
    padding: 0;
    background-color: transparent;
    color: #fff;
  }
}
.footer_bottom_top {
  display: flex;
  align-items: flex-end;
  flex-flow: row nowrap;
  justify-content: space-between;
  max-width: 1080px;
  padding: 34px 0 31px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .footer_bottom_top {
    display: block;
  }
}
@media print, screen and (max-width: 1200px) {
  .footer_bottom_top {
    display: block;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .footer_bottom_top {
    padding: 0 0 12px;
    margin: 0 auto 15px;
    text-align: left;
    border-bottom: 1px solid #acdd82;
  }
}
.footer_bottom_top .footer_logo {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 288px;
  aspect-ratio: 5.2363636364;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .footer_logo {
    width: 164px;
    aspect-ratio: 5.2903225806;
  }
}
.footer_bottom_top .footer_logo span.logo {
  flex: 0 0 87px;
  margin-right: 12px;
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .footer_logo span.logo {
    flex: 0 0 60px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .footer_logo span.name {
    height: 87%;
  }
}
.footer_bottom_top .footer_logo span img {
  display: block;
  width: 100%;
}
@media print, screen and (max-width: 1200px) {
  .footer_bottom_top .footer_logo {
    margin: 0 auto 20px;
  }
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .footer_logo {
    width: 200px;
    height: 31px;
    margin: unset;
  }
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .footer_logo span.logo {
    height: 38px;
  }
}
.footer_bottom_top .footer_logo span.logo img {
  width: 100%;
}
.footer_bottom_top .footer_logo span.name {
  flex: 1 1 auto;
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .footer_logo span.name {
    height: 33px;
  }
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .footer_logo span.name img {
    filter: invert(1);
  }
}
.footer_bottom_top .footer_address {
  margin: 0 92px 3px 0;
  font-weight: 400;
  font-size: 16px;
  line-height: calc(26 / 16);
  letter-spacing: 0;
}
@media print, screen and (max-width: 1200px) {
  .footer_bottom_top .footer_address {
    margin: 0 0 3px 0;
  }
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .footer_address {
    padding-left: 5px;
    margin: 15px 0 0;
    font-weight: 400;
    font-size: 14px;
    line-height: calc(20 / 14);
    letter-spacing: 0;
  }
}
.footer_bottom_top .office_number {
  margin: 0 0 3px;
  font-weight: 400;
  font-size: 14px;
  line-height: calc(26 / 14);
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .footer_bottom_top .office_number {
    padding-left: 5px;
    margin: 1px 0 0;
    font-weight: 400;
    font-size: 13px;
    line-height: calc(26 / 13);
    letter-spacing: 0;
  }
}
.footer_bottom p.copyright {
  max-width: 1080px;
  padding: 22px 0;
  margin: 0 auto;
  color: #969798;
  font-weight: 400;
  font-size: 14px;
  line-height: calc(19 / 14);
  letter-spacing: 0;
  font-family: "Roboto Condensed", sans-serif;
  text-align: center;
  border-top: 1px solid #D7D8D9;
}
@media screen and (max-width: 767px) {
  .footer_bottom p.copyright {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 40px;
    padding: 12px 0;
    background-color: #fff;
    font-weight: 400;
    font-size: 12px;
    line-height: calc(16 / 12);
    letter-spacing: 0;
    border-top: none;
  }
}
@media print {
  .wholewrapper:before, header.header, .contents_wrap .contents_flex .side_menu, footer.footer {
    display: none;
  }
}
/* 暫定 
.header nav ul.contact_menu li:nth-last-of-type(1) {
font-size:16px;
letter-spacing:0.2em;
}*/
/*# sourceMappingURL=./common.css.map */