@import url(https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap);
@charset "UTF-8";
/**
* Base - サイトのベースになるcss
*/
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  height: 100%;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

#root, #__next {
  isolation: isolate;
}

/*
* Color
*/
:root {
  --txt-primary: #333333;
  --txt-navy: #002060;
  --border-solid: #BBB;
  --border-solid-2: #C0C0C0;
  --border-dotted: #888;
  --color-primary: #005E00;
  --color-primary-contrast: #FFF;
  --color-danger: #f50000;
  --color-blue: #75bbff;
  --color-blue2: #019ac6;
  --color-pink: #ff8d8d;
}

/*
* ダークモードに対応する場合は以下のメディアクエリを
*/
/*
* Font
*/
/*
* Font Size
*/
/* PC Tablet */
/* Mobile */
/*
* Media Query
*/
/*
* メディアクエリ
*/
/*
* ドロップシャドウ
*/
/*
* vwの計算
*/
* {
  font-family: "Zen Maru Gothic", -apple-system, BlinkMacSystemFont, "BIZ UDPGothic", Meiryo, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
}

body {
  font-size: 18px;
  line-height: 1.7;
}
@media screen and (max-width: 1024px) {
  body {
    font-size: 16px;
  }
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: #333333;
  color: var(--txt-primary);
  text-decoration: none;
}

address {
  font-style: normal;
}

strong {
  font-weight: bold;
}

input[type=radio] {
  margin: 0 7px 0 0;
}

input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
select:focus,
textarea {
  font-size: 16px;
}

p {
  color: #333333;
  color: var(--txt-primary);
}

fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.header {
  max-width: 1640px;
  width: 90%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  padding: 24px 0;
}
@media screen and (min-width: 1025px) and (max-width: 1340px) {
  .header {
    flex-direction: column;
    align-items: initial;
  }
}

.logo {
  max-width: 276px;
  width: 50%;
}
@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .logo {
    width: 20%;
    min-width: 210px;
  }
}

@media screen and (max-width: 1024px) {
  .pcNav {
    display: none;
  }
}

.pcNavList {
  font-weight: bold;
  display: flex;
}
@media screen and (max-width: 1340px) {
  .pcNavList {
    margin-top: 24px;
    justify-content: center;
  }
}

.pcNavItem {
  margin-left: 40px;
}
@media screen and (max-width: 1340px) {
  .pcNavItem {
    margin-left: 32px;
  }
}
.pcNavItem a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.pcNavItem a::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #019ac6;
  background: var(--color-blue2);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.pcNavItem a:hover::after {
  bottom: -4px;
  opacity: 1;
  visibility: visible;
}

.lang a {
  color: #999999;
}
.lang a.active {
  color: #019ac6;
  color: var(--color-blue2);
  font-weight: bold;
}

.spHeader {
  display: flex;
  gap: 24px;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .spHeader {
    display: none;
  }
}

.spNav {
  font-size: 22px;
  font-weight: bold;
  position: fixed;
  z-index: 1100;
  top: 0;
  right: 0;
  background-color: #44a1b9;
  background-color: #019ac6;
  background-color: var(--color-blue2);
  width: 100%;
  height: 100%;
  transform: translateX(100%);
  transition: all 0.5s;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
}
@media screen and (min-width: 1025px) {
  .spNav {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .spNav {
    font-size: 18px;
  }
}
.spNav a {
  color: #fff;
}
.spNav .banner {
  margin-top: 6vh;
}

.spNav.active {
  transform: translateX(0%);
}

.spNavList {
  display: flex;
  gap: 24px;
  flex-direction: column;
  justify-content: space-between;
}
.spNavList i {
  width: 40px;
  text-align: center;
}

.hamburger {
  margin-left: auto;
  position: relative;
  width: 38px;
  height: 28px;
  cursor: pointer;
  text-align: center;
  z-index: 1200;
}
@media screen and (min-width: 1025px) {
  .hamburger {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .hamburger {
    width: 33px;
    height: 26px;
  }
}
@media screen and (max-width: 425px) {
  .hamburger {
    width: 28px;
    height: 21px;
  }
}

.hamburger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #333333;
  background-color: var(--txt-primary);
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .hamburger span {
    height: 2px;
  }
}
@media screen and (max-width: 425px) {
  .hamburger span {
    height: 1px;
  }
}

.hamburger,
.hamburger span {
  transition: all 0.5s;
  box-sizing: border-box;
}

.hamburger span:nth-of-type(1) {
  top: 0;
}
.hamburger span:nth-of-type(2) {
  top: 13px;
}
@media screen and (max-width: 768px) {
  .hamburger span:nth-of-type(2) {
    top: 12px;
  }
}
@media screen and (max-width: 425px) {
  .hamburger span:nth-of-type(2) {
    top: 10px;
  }
}
.hamburger span:nth-of-type(3) {
  bottom: 0;
}

.hamburger.active span:nth-of-type(1) {
  transform: translateY(13px) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .hamburger.active span:nth-of-type(1) {
    transform: translateY(12px) rotate(-45deg);
  }
}
@media screen and (max-width: 425px) {
  .hamburger.active span:nth-of-type(1) {
    transform: translateY(10px) rotate(-45deg);
  }
}
.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active span:nth-of-type(3) {
  transform: translateY(-13px) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .hamburger.active span:nth-of-type(3) {
    transform: translateY(-12px) rotate(45deg);
  }
}
@media screen and (max-width: 425px) {
  .hamburger.active span:nth-of-type(3) {
    transform: translateY(-10px) rotate(45deg);
  }
}

#footer {
  background-color: #f9fbfc;
}

.footer {
  max-width: 1640px;
  width: 90%;
  margin: auto;
  padding: 40px 0 16px;
}
@media screen and (max-width: 1024px) {
  .footer {
    padding: 32px 0 16px;
  }
}

.footerInner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 500px) {
  .footerInner {
    flex-direction: column-reverse;
  }
}

.adress {
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .adress {
    font-size: 14px;
  }
}

.sitemap {
  font-size: 16px;
  margin-right: 56px;
}
.sitemap:hover {
  text-decoration: underline;
}
@media screen and (max-width: 1024px) {
  .sitemap {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .sitemap {
    margin-right: 40px;
  }
}
@media screen and (max-width: 500px) {
  .sitemap {
    margin-bottom: 16px;
  }
}

.copy {
  font-size: 12px;
  text-align: center;
  margin-top: 16px;
}

.footerBanner {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 32px;
  max-width: 860px;
  margin: 0 auto 32px;
}
@media screen and (max-width: 500px) {
  .footerBanner {
    flex-direction: column;
  }
}

.footerBannerBox {
  width: 100%;
  max-width: 234px;
  line-height: 1.3;
}
.footerBannerBox p {
  font-size: 14px;
  margin-top: 4px;
}

.ly_sect_bg {
  background-image: url(../images/top/bg_tooth.png);
  background-position: 50% 0;
  background-size: 100% auto;
}

.ly_sect {
  width: 90%;
  margin: 80px auto 0;
}

.ly_sect_2 {
  max-width: 840px;
  width: 100%;
  margin: auto;
  padding-bottom: 80px;
}

.ly_sect_border {
  border: solid 1px #165ea0;
  margin-bottom: 80px;
  padding: 48px 56px;
}

.about {
  max-width: 690px;
  margin: 80px auto;
}

.about_flex {
  display: flex;
  gap: 0px 24px;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .about_flex {
    flex-direction: column;
  }
}
.about_flex .un_contents {
  width: 48%;
}
@media screen and (max-width: 768px) {
  .about_flex .un_contents {
    width: 100%;
  }
}
.about_flex::after {
  content: "";
  display: block;
  width: 48%;
  height: 0;
}

.about_img {
  border: 1px solid #e2e2e2;
}

.about_p {
  font-size: 20px;
  font-weight: bold;
}

.message {
  max-width: 1280px;
  margin: auto;
}

.messageArea {
  padding: 80px 96px;
  background-color: #fafaf7;
}
@media screen and (max-width: 1024px) {
  .messageArea {
    padding: 64px 10%;
  }
}
@media screen and (max-width: 768px) {
  .messageArea {
    padding: 48px 5%;
  }
}

.messageTxt {
  line-height: 2;
  margin-bottom: 32px;
}

.messageContactLink {
  text-decoration: underline;
}
.messageContactLink:hover {
  text-decoration: none;
}

.messagePhoto {
  max-width: 200px;
  width: 24%;
  min-width: 154px;
  margin-left: 8%;
  margin-bottom: 10px;
  float: right;
}
@media screen and (max-width: 425px) {
  .messagePhoto {
    width: 100%;
    margin: 0 auto 24px;
    float: none;
  }
}

@media screen and (max-width: 1024px) {
  .messageBtn {
    text-align: center;
  }
}

.messagePhotoCaption {
  font-size: 14px;
}

.news {
  padding: 96px 0;
  background-image: url(../images/top/bg_news.jpg);
  background-size: cover;
  background-position: 0 60%;
}
@media screen and (max-width: 768px) {
  .news {
    background-position: 6% 60%;
  }
}

.newsArea {
  max-width: 988px;
  width: 90%;
  margin: auto;
  padding: 64px 88px;
  background-color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 768px) {
  .newsArea {
    padding: 56px 10%;
  }
}
@media screen and (max-width: 425px) {
  .newsArea {
    padding: 56px 8%;
  }
}

.newsTtl {
  text-align: center;
}

.newsList {
  margin: 40px 0;
}

.newsListItem {
  display: flex;
  margin-top: 40px;
}
.newsListItem a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .newsListItem {
    flex-direction: column;
  }
}

.date {
  width: 210px;
}

.newsTxt {
  width: calc(100% - 210px);
}
@media screen and (max-width: 768px) {
  .newsTxt {
    width: 100%;
  }
}
.newsTxt span {
  font-size: 13px;
}

.new {
  color: #f50000;
  color: var(--color-danger);
  margin: 0 24px;
}

.newsLowTtl {
  font-weight: bold;
  margin-bottom: 32px;
}

.announce {
  font-size: 24px;
  max-width: 600px;
  margin: auto;
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .announce {
    font-size: 22px;
  }
}
@media screen and (max-width: 768px) {
  .announce {
    font-size: 20px;
    max-width: 540px;
  }
}

.announceTxt {
  position: relative;
  padding: 45px 6%;
}

.announceBg1 {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 228px;
  width: 40%;
}

.announceBg2 {
  transform: scale(-1, -1);
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 228px;
  width: 40%;
}

.researchBlock {
  width: 90%;
  margin: 32px auto 0;
}
.researchBlock i {
  margin-right: 4px;
}

.researchBlockTtl {
  font-weight: bold;
  color: #165ea0;
}

.researchTtl {
  font-size: 30px;
  color: #002060;
  color: var(--txt-navy);
  text-align: center;
  margin-bottom: 48px;
  -webkit-text-decoration: underline 30px #f4f7f9;
          text-decoration: underline 30px #f4f7f9;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: -15px;
}
@media screen and (max-width: 1024px) {
  .researchTtl {
    font-size: 24px;
    -webkit-text-decoration: underline 24px #f4f7f9;
            text-decoration: underline 24px #f4f7f9;
  }
}
@media screen and (max-width: 768px) {
  .researchTtl {
    font-size: 22px;
    -webkit-text-decoration: underline 22px #f4f7f9;
            text-decoration: underline 22px #f4f7f9;
  }
}
@media screen and (max-width: 500px) {
  .researchTtl {
    font-size: 20px;
    -webkit-text-decoration: underline 20px #f4f7f9;
            text-decoration: underline 20px #f4f7f9;
  }
}

.researchTimeline {
  background-color: #d7eff8;
}

.researchTimelineInner {
  padding: 40px 5%;
}

.researchTimelineTtl {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background-color: #002060;
  background-color: var(--txt-navy);
  width: 160px;
  display: table;
}
@media screen and (max-width: 1024px) {
  .researchTimelineTtl {
    font-size: 24px;
    width: 140px;
  }
}
@media screen and (max-width: 768px) {
  .researchTimelineTtl {
    font-size: 20px;
    width: 120px;
  }
}

.researchTimelineList {
  color: #002060;
  color: var(--txt-navy);
  line-height: 1.4;
  margin-top: 24px;
}
.researchTimelineList li {
  margin-top: 8px;
}
.researchTimelineList .researchFit {
  font-weight: bold;
  color: #0f00da;
}
.researchTimelineList .researchFit i {
  margin-right: 8px;
}
.researchTimelineList .inner1 {
  font-weight: bold;
  display: inline-block;
  width: 360px;
}
@media screen and (max-width: 1024px) {
  .researchTimelineList .inner1 {
    width: 320px;
  }
}
@media screen and (max-width: 785px) {
  .researchTimelineList .inner1 {
    display: initial;
    margin-right: 4px;
  }
}
.researchTimelineList .inner1EN {
  font-weight: bold;
  display: inline-block;
}
@media screen and (max-width: 785px) {
  .researchTimelineList .inner1EN {
    display: initial;
    margin-right: 4px;
  }
}
.researchTimelineList .inner2 {
  font-weight: bold;
}

#timeline {
  border: solid 1px #edeff0;
}

#icon_NOW image {
  -webkit-animation: flash 1.8s linear infinite;
          animation: flash 1.8s linear infinite;
}

@-webkit-keyframes flash {
  20% {
    opacity: 1;
  }
  50% {
    opacity: 0.1;
  }
  80% {
    opacity: 1;
  }
}

@keyframes flash {
  20% {
    opacity: 1;
  }
  50% {
    opacity: 0.1;
  }
  80% {
    opacity: 1;
  }
}
.researchAbout {
  margin: 40px auto;
  display: flex;
  justify-content: center;
}
.researchAbout .imgTab {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .researchAbout .imgTab {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  .researchAbout .imgTab {
    display: none;
  }
}
@media screen and (min-width: 501px) {
  .researchAbout .imgSp {
    display: none;
  }
}
.researchLineWavy {
  -webkit-text-decoration: underline wavy #019ac6;
          text-decoration: underline wavy #019ac6;
  -webkit-text-decoration: underline wavy var(--color-blue2);
          text-decoration: underline wavy var(--color-blue2);
}

.researchCaption {
  font-size: 14px;
  color: #019ac6;
  color: var(--color-blue2);
  max-width: 616px;
  margin-left: auto;
}

.researchTouroku {
  margin-top: 40px;
}

.researchTourokuTtl {
  font-weight: bold;
}

.researchTourokuList {
  color: #333333;
  color: var(--txt-primary);
  margin: 24px auto 24px 16px;
  padding-left: 16px;
  list-style-type: decimal;
  list-style-position: outside;
}
.researchTourokuList li ~ li {
  margin-top: 16px;
}

/* アコーディオン */
details {
  color: #fff;
  display: block;
  margin-bottom: 10px;
}

summary {
  cursor: pointer;
  display: block;
  background: #019ac6;
  background: var(--color-blue2);
  padding: 12px 16px;
  position: relative;
}
summary::-webkit-details-marker {
  display: none;
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
}
summary h4 {
  margin-bottom: 0 !important;
}
summary::before {
  content: "+";
  font-size: 20px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  bottom: 0;
  right: 22px;
}

details[open] summary:before {
  content: "－";
}

.accordionTtl {
  font-size: 24px;
  padding-right: 24px;
}
@media screen and (max-width: 1024px) {
  .accordionTtl {
    font-size: 22px;
  }
}

.accordionInner {
  margin: 40px 0 80px;
}

.contactItem {
  margin-bottom: 30px;
}

.contactTtl {
  font-weight: 500;
}

.formArea {
  height: 45px;
  border: 1px solid #d4d4d4;
  margin: 6px 0;
  padding: 8px 12px;
  border-radius: 4px;
}

.form_full {
  width: 100%;
}

.form_tel {
  max-width: 120px;
  width: 27%;
}

.textarea {
  width: 100%;
  border: 1px solid #d4d4d4;
  padding: 4px 10px;
  border-radius: 4px;
}

.radios {
  display: grid;
}

.radios__2col {
  grid-template-columns: repeat(2, 1fr);
}
.radios__2col .radio:first-child {
  border-start-start-radius: 4px;
  border-end-start-radius: 4px;
}
.radios__2col .radio:last-child {
  border-left: none;
  border-start-end-radius: 4px;
  border-end-end-radius: 4px;
}
@media screen and (max-width: 768px) {
  .radios__2col {
    grid-template-columns: repeat(1, 1fr);
  }
  .radios__2col .radio:first-child {
    border-start-end-radius: 4px;
    border-end-start-radius: 0;
  }
  .radios__2col .radio:last-child {
    border-top: none;
    border-left: 1px solid #d4d4d4;
    border-start-end-radius: 0;
    border-end-start-radius: 4px;
  }
}

.radios__3col {
  grid-template-columns: repeat(3, 1fr);
}
.radios__3col .radio:first-child {
  border-start-start-radius: 4px;
  border-end-start-radius: 4px;
}
.radios__3col .radio:not(:first-child) {
  border-left: none;
}
.radios__3col .radio:last-child {
  border-start-end-radius: 4px;
  border-end-end-radius: 4px;
}
@media screen and (max-width: 768px) {
  .radios__3col {
    grid-template-columns: repeat(1, 1fr);
  }
  .radios__3col .radio:first-child {
    border-start-end-radius: 4px;
    border-end-start-radius: 0;
  }
  .radios__3col .radio:last-child {
    border-start-end-radius: 0;
    border-end-start-radius: 4px;
  }
  .radios__3col .radio:not(:first-child) {
    border-top: none;
    border-left: 1px solid #d4d4d4;
  }
}

.radio {
  border: 1px solid #d4d4d4;
  transition: background-color 0.2s;
}
.radio:hover {
  background-color: #f0f0f0;
  transition: background-color 0.2s;
}

.radioLabel {
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 8px 16px;
  height: 45px;
}
.radioLabel input {
  cursor: pointer;
}

.required {
  font-size: 14px;
  color: red;
  margin-left: 15px;
  padding: 2px 10px;
  border-radius: 50px;
}

.english {
  font-size: 14px;
  color: #888;
  color: var(--border-dotted);
  margin-left: 10px;
}
@media screen and (max-width: 500px) {
  .english {
    margin-left: 0;
  }
}

.attention {
  font-size: 14px;
  color: red;
}

::-moz-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

.contactBirth label {
  margin: 0 10px;
}
@media screen and (max-width: 500px) {
  .contactBirth label {
    margin: 0 6px;
  }
}
.contactBirth rt {
  font-size: 12px;
}

.birth,
.birth option {
  height: 40px;
  border: 1px solid #d4d4d4;
  margin: 6px 0;
  padding: 0 8px;
  border-radius: 4px;
  font-size: 18px;
  width: 18%;
}
@media screen and (max-width: 500px) {
  .birth,
.birth option {
    height: 40px;
    padding: 0 0 0 5px;
  }
}
.birth:focus,
.birth option:focus {
  font-size: 18px;
}

.form_relationship {
  border: 1px solid #d4d4d4;
  margin: 6px 0;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 18px;
}

.submit {
  border: none;
  padding: 10px 72px !important;
}

.coverLow button {
  display: block;
  margin: auto;
}

.contactNotes {
  margin: 48px auto;
  max-width: 1200px;
  width: 90%;
}
.contactNotes span {
  color: red;
  font-weight: bold;
}

.area {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .area {
    flex-direction: column;
  }
}

.areaLink {
  width: calc(100% - 440px);
  min-width: 260px;
}
.areaLink a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .areaLink {
    width: 100%;
  }
}

.areaBtn {
  text-align: center;
  color: #FFF;
  color: var(--color-primary-contrast);
  width: 156px;
  display: inline-block;
  padding: 10px 28px;
  margin-top: 6px;
  border-radius: 100vh;
}
@media screen and (max-width: 375px) {
  .areaBtn {
    width: 140px;
  }
}

.areaBtn__none {
  color: #dddddd;
  background-color: #fff;
  border: 1px solid #dddddd;
}

.areaBtn__kyushu {
  background-color: #ef8c92;
}

.areaBtn__chugokushikoku {
  background-color: #ed7969;
}

.areaBtn__kinki {
  background-color: #f7b849;
}

.areaBtn__chubu {
  background-color: #80bb60;
}

.areaBtn__kanto {
  background-color: #5fabb2;
}

.areaBtn__hokuriku {
  background-color: #45a056;
}

.areaBtn__tohoku {
  background-color: #5e7bae;
}

.areaBtn__hokkaido {
  background-color: #845ba2;
}

.areaMap {
  width: 440px;
}
.areaMap a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .areaMap {
    margin: 20px auto 0;
    max-width: 440px;
    width: 100%;
  }
}

.groupContents {
  margin-top: 80px;
}
.groupContents h3 {
  display: flex;
  align-items: center;
}
.groupContents h3 i {
  font-size: 18px;
  margin-right: 8px;
}

.groupList li:not(:first-child) {
  margin-top: 40px;
}

.groupName {
  font-size: 20px;
  font-weight: bold;
}

.groupContact {
  font-size: 16px;
  line-height: 1.4;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .groupContact {
    font-size: 14px;
  }
}

.groupTable {
  display: flex;
  flex-wrap: wrap;
}
.groupTable dt {
  text-align: center;
  width: 100px;
  margin-right: 16px;
}
.groupTable dd {
  width: calc(100% - 116px);
}

#kyushu i {
  color: #ef8c92;
}

#chugokushikoku i {
  color: #ed7969;
}

#kinki i {
  color: #f7b849;
}

#chubu i {
  color: #80bb60;
}

#kanto i {
  color: #5fabb2;
}

#hokuriku i {
  color: #45a056;
}

#tohoku i {
  color: #5e7bae;
}

#hokkaido i {
  color: #845ba2;
}

.sitemapList {
  font-weight: bold;
}
.sitemapList li {
  margin-bottom: 8px;
}
.sitemapList li:before {
  color: #165ea0;
  font-family: FontAwesome;
  font-size: 16px;
  content: "";
  margin-right: 6px;
}

#page-scroll {
  scroll-behavior: smooth;
}

.qa_btn_box {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  .qa_btn_box {
    flex-direction: column;
  }
}

.qa_btn {
  width: 100%;
}

.qa_btn_link {
  display: block;
  border: 2px solid #75bbff;
  border: 2px solid var(--color-blue);
  background-image: url(../images/qa/down.svg);
  padding: 8px;
  border-radius: 8px;
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 16px;
  font-weight: 500;
}

.qa_btn_link_en {
  height: 82px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .qa_btn_link_en {
    height: auto;
    display: block;
  }
}

.qa_h3 {
  color: #002060;
  color: var(--txt-navy);
}

.qanda {
  margin-top: 16px;
}
.qanda dt,
.qanda dd {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0;
  padding: 12px 40px 12px 54px;
}
.qanda dt::before,
.qanda dd::before {
  display: inline-block;
  position: absolute;
  width: 38px;
  height: 38px;
  left: 0;
  border-radius: 7px;
  font-weight: 600;
  text-align: center;
}
.qanda dt {
  font-weight: 600;
}
.qanda dt::before {
  border: 2px solid #75bbff;
  border: 2px solid var(--color-blue);
  color: #75bbff;
  color: var(--color-blue);
  content: "Q";
}
.qanda dd::before {
  border: 2px solid #ff8d8d;
  border: 2px solid var(--color-pink);
  color: #ff8d8d;
  color: var(--color-pink);
  content: "A";
}
.qanda dd + dt {
  margin-top: 40px;
}

.qa_page-jamp {
  padding-top: 64px;
  margin-top: -64px;
}

.el_btn {
  color: #FFF;
  color: var(--color-primary-contrast);
  display: inline-block;
  padding: 10px 32px;
  border-radius: 100vh;
  cursor: pointer;
}

.el_btn__bluegray {
  background-color: #a3bbc2;
  transition: all 0.2s;
}
.el_btn__bluegray:hover {
  background-color: #7c8e94;
  transition: all 0.2s;
}

.el_btn__yellow {
  background-color: #B8B89A;
  transition: all 0.2s;
}
.el_btn__yellow:hover {
  background-color: #969676;
  transition: all 0.2s;
}

.el_btn__disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

.topBtn {
  font-size: 14px;
  color: #333333;
  color: var(--txt-primary);
  line-height: 1.2;
  text-align: center;
  width: 54px;
  height: 54px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: 45px;
  background: #e6f2f5;
  border-radius: 50%;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.01), 0 4px 4px rgba(0, 0, 0, 0.02), 0 6px 8px rgba(0, 0, 0, 0.03), 0 10px 28px rgba(0, 0, 0, 0.05);
  cursor: pointer;
}
.topBtn i {
  font-size: 16px;
}
@media screen and (max-width: 1024px) {
  .topBtn {
    right: 3vw;
  }
}
@media screen and (max-width: 768px) {
  .topBtn {
    font-size: 12px;
    width: 46px;
    height: 46px;
  }
  .topBtn i {
    font-size: 14px;
  }
}

.cover {
  position: relative;
}
.cover img {
  width: 100%;
  height: 520px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .cover img {
    height: 60vh;
    -o-object-position: 60% 0;
       object-position: 60% 0;
  }
}

.coverLow {
  position: relative;
}
.coverLow img {
  width: 100%;
  height: 380px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 65% 60%;
     object-position: 65% 60%;
}
@media screen and (max-width: 768px) {
  .coverLow img {
    height: 46vh;
    -o-object-position: 61% 0;
       object-position: 61% 0;
  }
}

.coverTtl {
  text-align: center;
  width: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .coverTtl {
    font-size: 4.1vw;
  }
}
@media screen and (max-width: 500px) {
  .coverTtl {
    font-size: 24px;
  }
}
.coverTtl .topspan {
  font-size: 16px;
}

.coverLowTtl {
  max-width: 1040px;
  width: 85%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .coverLowTtl {
    font-size: 4.1vw;
  }
}
@media screen and (max-width: 500px) {
  .coverLowTtl {
    font-size: 24px;
  }
}

.coverContactTtl {
  text-align: center;
  margin-top: 58px;
}
@media screen and (max-width: 768px) {
  .coverContactTtl {
    font-size: 4.1vw;
  }
}
@media screen and (max-width: 500px) {
  .coverContactTtl {
    font-size: 24px;
  }
}

.H2English {
  font-size: 20px;
}
@media screen and (max-width: 500px) {
  .H2English {
    font-size: 18px;
  }
}

.el_ttlH4 {
  font-size: 24px;
  margin-bottom: 8px;
  padding-left: 8px;
  border-left: solid 4px #019ac6;
  border-left: solid 4px var(--color-blue2);
}
@media screen and (max-width: 1024px) {
  .el_ttlH4 {
    font-size: 22px;
  }
}

.un_contents {
  max-width: 600px;
  margin: 0 auto 80px;
}

.un_youtube {
  position: relative;
}
.un_youtube::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-image: url(../images/top/thumb_youtube_cover.png);
  background-size: cover;
  opacity: 0.7;
}
.un_youtube:hover::after {
  opacity: 0.3;
}

.un_contents_caption {
  font-size: 14px;
  font-weight: bold;
  margin-top: 8px;
}
.un_contents_caption .link {
  text-decoration: underline;
}
.un_contents_caption .link:hover {
  text-decoration: none;
}

.un_poster:hover {
  opacity: 0.8;
}

.bg_dark {
  background-color: black;
  position: relative;
}
.bg_dark img {
  opacity: 0.4;
}
.bg_dark p {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 60%;
  left: 50%;
  color: #fff;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 25px;
}
@media screen and (max-width: 550px) {
  .bg_dark p {
    top: 70%;
    font-size: 20px;
  }
}
.bg_dark .end {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 40%;
  left: 50%;
  color: #fff;
  font-size: 50px;
}
@media screen and (max-width: 550px) {
  .bg_dark .end {
    font-size: 35px;
  }
}
@media screen and (max-width: 420px) {
  .bg_dark .end {
    top: 30%;
  }
}

.line {
  text-decoration: line-through;
}

/*
* font
*/
.hp_fwBold {
  font-weight: bold !important;
}
.hp_fs80per {
  font-size: 0.8em !important;
}
.hp_fs110per {
  font-size: 1.1em !important;
}
.hp_fs120per {
  font-size: 1.2em !important;
}

.hp_txtCenter {
  text-align: center !important;
}
.hp_txtLeft {
  text-align: left !important;
}
.hp_txtRight {
  text-align: right !important;
}
.hp_txtJust {
  text-align: justify !important;
}
.hp_tetLink {
  text-decoration: underline;
}
.hp_tetLink:hover {
  text-decoration: none;
}

/*
* margin
*/
.hp {
  /* margin top */
  /* margin right */
  /* margin bottom */
  /* margin left */
}
.hp_mt0p {
  margin-top: 0px !important;
}
.hp_mt5p {
  margin-top: 5px !important;
}
.hp_mt10p {
  margin-top: 10px !important;
}
.hp_mt15p {
  margin-top: 15px !important;
}
.hp_mt20p {
  margin-top: 20px !important;
}
.hp_mt25p {
  margin-top: 25px !important;
}
.hp_mt30p {
  margin-top: 30px !important;
}
.hp_mt35p {
  margin-top: 35px !important;
}
.hp_mt40p {
  margin-top: 40px !important;
}
.hp_mt45p {
  margin-top: 45px !important;
}
.hp_mt50p {
  margin-top: 50px !important;
}
.hp_mt55p {
  margin-top: 55px !important;
}
.hp_mt60p {
  margin-top: 60px !important;
}
.hp_mt65p {
  margin-top: 65px !important;
}
.hp_mt70p {
  margin-top: 70px !important;
}
.hp_mt100p {
  margin-top: 100px !important;
}
.hp_mr0p {
  margin-right: 0px !important;
}
.hp_mr5p {
  margin-right: 5px !important;
}
.hp_mr10p {
  margin-right: 10px !important;
}
.hp_mr15p {
  margin-right: 15px !important;
}
.hp_mr20p {
  margin-right: 20px !important;
}
.hp_mr25p {
  margin-right: 25px !important;
}
.hp_mr30p {
  margin-right: 30px !important;
}
.hp_mr35p {
  margin-right: 35px !important;
}
.hp_mr40p {
  margin-right: 40px !important;
}
.hp_mr45p {
  margin-right: 45px !important;
}
.hp_mr50p {
  margin-right: 50px !important;
}
.hp_mr55p {
  margin-right: 55px !important;
}
.hp_mr60p {
  margin-right: 60px !important;
}
.hp_mr65p {
  margin-right: 65px !important;
}
.hp_mr70p {
  margin-right: 70px !important;
}
.hp_mb0p {
  margin-bottom: 0px !important;
}
.hp_mb5p {
  margin-bottom: 5px !important;
}
.hp_mb10p {
  margin-bottom: 10px !important;
}
.hp_mb15p {
  margin-bottom: 15px !important;
}
.hp_mb20p {
  margin-bottom: 20px !important;
}
.hp_mb25p {
  margin-bottom: 25px !important;
}
.hp_mb30p {
  margin-bottom: 30px !important;
}
.hp_mb35p {
  margin-bottom: 35px !important;
}
.hp_mb40p {
  margin-bottom: 40px !important;
}
.hp_mb45p {
  margin-bottom: 45px !important;
}
.hp_mb50p {
  margin-bottom: 50px !important;
}
.hp_mb55p {
  margin-bottom: 55px !important;
}
.hp_mb60p {
  margin-bottom: 60px !important;
}
.hp_mb65p {
  margin-bottom: 65px !important;
}
.hp_mb70p {
  margin-bottom: 70px !important;
}
.hp_ml0p {
  margin-left: 0px !important;
}
.hp_ml5p {
  margin-left: 5px !important;
}
.hp_ml10p {
  margin-left: 10px !important;
}
.hp_ml15p {
  margin-left: 15px !important;
}
.hp_ml20p {
  margin-left: 20px !important;
}
.hp_ml25p {
  margin-left: 25px !important;
}
.hp_ml30p {
  margin-left: 30px !important;
}
.hp_ml35p {
  margin-left: 35px !important;
}
.hp_ml40p {
  margin-left: 40px !important;
}
.hp_ml45p {
  margin-left: 45px !important;
}
.hp_ml50p {
  margin-left: 50px !important;
}
.hp_ml55p {
  margin-left: 55px !important;
}
.hp_ml60p {
  margin-left: 60px !important;
}
.hp_ml65p {
  margin-left: 65px !important;
}
.hp_ml70p {
  margin-left: 70px !important;
}

/*
* padding
*/
.hp {
  /* padding top */
  /* padding right */
  /* padding bottom */
  /* padding left */
}
.hp_pt0p {
  padding-top: 0px !important;
}
.hp_pt5p {
  padding-top: 5px !important;
}
.hp_pt10p {
  padding-top: 10px !important;
}
.hp_pt15p {
  padding-top: 15px !important;
}
.hp_pt20p {
  padding-top: 20px !important;
}
.hp_pt25p {
  padding-top: 25px !important;
}
.hp_pt30p {
  padding-top: 30px !important;
}
.hp_pt35p {
  padding-top: 35px !important;
}
.hp_pt40p {
  padding-top: 40px !important;
}
.hp_pt45p {
  padding-top: 45px !important;
}
.hp_pt50p {
  padding-top: 50px !important;
}
.hp_pt55p {
  padding-top: 55px !important;
}
.hp_pt60p {
  padding-top: 60px !important;
}
.hp_pt65p {
  padding-top: 65px !important;
}
.hp_pt70p {
  padding-top: 70px !important;
}
.hp_pr0p {
  padding-right: 0px !important;
}
.hp_pr5p {
  padding-right: 5px !important;
}
.hp_pr10p {
  padding-right: 10px !important;
}
.hp_pr15p {
  padding-right: 15px !important;
}
.hp_pr20p {
  padding-right: 20px !important;
}
.hp_pr25p {
  padding-right: 25px !important;
}
.hp_pr30p {
  padding-right: 30px !important;
}
.hp_pr35p {
  padding-right: 35px !important;
}
.hp_pr40p {
  padding-right: 40px !important;
}
.hp_pr45p {
  padding-right: 45px !important;
}
.hp_pr50p {
  padding-right: 50px !important;
}
.hp_pr55p {
  padding-right: 55px !important;
}
.hp_pr60p {
  padding-right: 60px !important;
}
.hp_pr65p {
  padding-right: 65px !important;
}
.hp_pr70p {
  padding-right: 70px !important;
}
.hp_pb0p {
  padding-bottom: 0px !important;
}
.hp_pb5p {
  padding-bottom: 5px !important;
}
.hp_pb10p {
  padding-bottom: 10px !important;
}
.hp_pb15p {
  padding-bottom: 15px !important;
}
.hp_pb20p {
  padding-bottom: 20px !important;
}
.hp_pb25p {
  padding-bottom: 25px !important;
}
.hp_pb30p {
  padding-bottom: 30px !important;
}
.hp_pb35p {
  padding-bottom: 35px !important;
}
.hp_pb40p {
  padding-bottom: 40px !important;
}
.hp_pb45p {
  padding-bottom: 45px !important;
}
.hp_pb50p {
  padding-bottom: 50px !important;
}
.hp_pb55p {
  padding-bottom: 55px !important;
}
.hp_pb60p {
  padding-bottom: 60px !important;
}
.hp_pb65p {
  padding-bottom: 65px !important;
}
.hp_pb70p {
  padding-bottom: 70px !important;
}
.hp_pl0p {
  padding-left: 0px !important;
}
.hp_pl5p {
  padding-left: 5px !important;
}
.hp_pl10p {
  padding-left: 10px !important;
}
.hp_pl15p {
  padding-left: 15px !important;
}
.hp_pl20p {
  padding-left: 20px !important;
}
.hp_pl25p {
  padding-left: 25px !important;
}
.hp_pl30p {
  padding-left: 30px !important;
}
.hp_pl35p {
  padding-left: 35px !important;
}
.hp_pl40p {
  padding-left: 40px !important;
}
.hp_pl45p {
  padding-left: 45px !important;
}
.hp_pl50p {
  padding-left: 50px !important;
}
.hp_pl55p {
  padding-left: 55px !important;
}
.hp_pl60p {
  padding-left: 60px !important;
}
.hp_pl65p {
  padding-left: 65px !important;
}
.hp_pl70p {
  padding-left: 70px !important;
}

@media screen and (min-width: 1025px) {
  .hp_1024p {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .hp_768p {
    display: none;
  }
}
@media screen and (min-width: 501px) {
  .hp_500p {
    display: none;
  }
}
@media screen and (min-width: 426px) {
  .hp_425p {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .spOnly {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .spNone {
    display: none;
  }
}

@media screen and (min-width: 501px) {
  .br500 {
    display: none;
  }
}

.br768 {
  display: none;
}
@media screen and (min-width: 768px) {
  .br768 {
    display: block;
  }
}

.hp_txtDomain::before {
  content: "@";
}

.linkUnderline {
  text-decoration: underline;
}
.linkUnderline:hover {
  text-decoration: none;
}

/*
* Base
*/
/*
* Layout
*/
/*
* Block
*/
/*
* Element
*/
/*
* Unique
*/
/*
* Helper
*/
/*
* Plugin
*/
