@charset "UTF-8";

/*----------------------------------------------
    BASE
----------------------------------------------*/

:root {
  --color-base: #EEEEEE;
  --color-main: #0069B2;
  --color-main-light: #5DA0CE;
  --color-accent: #F7972B;
  --color-accent-light: #FABE7B;
  --content-max-width: 85%;
  --content-width: 980px;
  --transition-base: .2s ease-in-out;
  --meihen-color-main: #015E9F;
  --meihen-color-accent: #F47A00;
}

body {
  font-family: "Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic Pro",Meiryo,sans-serif;
}

a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}

header {
  position: static;
}


/*----------------------------------------------
    COMMON
----------------------------------------------*/

.c-bg-gray {
  background-color: var(--color-base);
}

.c-orange {
  color: var(--color-accent);
}

.c-blue {
  color: var(--meihen-color-main);
}

.c-navy {
  color: #202F55;
}

.c-red {
  color: #AD0000;
}

.c-fs75 {
  font-size: 75%;
}

.c-fs90 {
  font-size: 90%;
}

.c-fs115 {
  font-size: 115%;
}

.c-fs120 {
  font-size: 120%;
}

.c-fs125 {
  font-size: 125%;
}

.c-fs135 {
  font-size: 135%;
}

.c-fw600 {
  font-weight: 600;
}

.c-fw800 {
  font-weight: 800;
}

.c-mt20 {
  margin-top: 20px !important;
}

.btn-orange {
  background: url(../images2026/common/icon_circle_triangle.svg) no-repeat center right 15px / 25px 25px, var(--color-accent);
  border: 2px solid var(--color-accent);
  color: #fff;
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  max-width: 100%;
  padding: 10px 40px;
  text-align: center;
  text-decoration: none;
  transition: var(--transition-base);
  width: 260px;
}

.btn-orange-l {
  background-color: var(--color-accent);
  border: 2px solid var(--color-accent);
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: 1em;
  justify-content: center;
  font-size: 20px;
  font-weight: 500;
  max-width: 100%;
  padding: 22px;
  text-align: center;
  text-decoration: none;
  transition: var(--transition-base);
  width: 510px;
}

.btn-orange:hover,
.btn-orange-l:hover {
  background-color: #fff;
  color: var(--color-accent);
}

.btn-orange img,
.btn-orange-l img {
  width: auto;
}


/* JS */

.js-tab-btn {
  cursor: pointer;
}

.js-tab {
  display: none;
}

.js-tab.is-active {
  display: block;
}


/*----------------------------------------------
    HEADER
----------------------------------------------*/

#header {
  position: static;
}

#header a {
  text-decoration: none;
}

#header img {
  width: auto;
}

.h-inner {
  margin: auto;
  max-width: var(--content-max-width);
  width: var(--content-width);
}

.h-info {
  color: #939292;
  font-size: 12px;
  font-weight: 500;
  padding-top: .25em;
}

.h-container {
  display: flex;
  align-items: center;
  column-gap: 2em;
  justify-content: space-between;
  padding: 25px 0 30px;
}

.h-logo {
  flex: 1;
}

.h-contact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px 24px;
}

.h-contact-tel {
  display: flex;
  align-items: center;
  column-gap: 5px;
}

.h-contact-tel .number {
  color: #015E9F;
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: .1em;
}

.h-contact-tel .text {
  color: #707070;
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1;
}

.h-contact-tel .time {
  font-size: 14px;
  font-weight: 500;
}

.h-contact-tel .info {
  font-size: 12px;
  font-weight: 500;
}

.h-contact-mail {
  position: relative;
}

.h-contact-mail-text {
  background-color: #fff;
  border: 1px solid var(--color-accent);
  border-radius: 100vh;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  margin: auto;
  padding: .25em 1.5em .3em;
  position: absolute;
  top: -1.25em;
  left: 0;
  right: 0;
  text-align: center;
  width: fit-content;
}

.h-contact-mail-btn {
  background-color: var(--color-accent);
  border: 2px solid var(--color-accent);
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .75em;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  max-width: 100%;
  padding: 8px 1em 7px;
  transition: var(--transition-base);
  width: 220px;
}

.h-contact-mail-btn:hover {
  background-color: var(--color-accent-light);
  border-color: var(--color-accent-light);
}

.h-gnav {
  background-color: var(--color-main);
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  width: 100%;
}

.is-fixed {
  position: fixed;
}

.h-gnav-list {
  display: flex;
  justify-content: center;
  margin: auto;
  max-width: 100%;
  width: calc(var(--content-width) + 16px);
}

.h-gnav-list-item {
  border-left: 1px solid #fff;
  flex: 1;
  text-align: center;
}

.h-gnav-list .h-gnav-list-item:last-child {
  border-right: 1px solid #fff;
}

.h-gnav-list-item a {
  background-color: var(--color-main);
  color: #fff;
  display: block;
  font-size: 14px;
  font-weight: 700;
  padding: .75em;
  transition: var(--transition-base);
}

.h-gnav-list-item a:hover {
  background-color: var(--color-main-light);
}

@media screen and (max-width: 980px) {
  .h-gnav-list-item a {
    padding: .75em .25em;
  }
}

/*----------------------------------------------
    CONTENTS
----------------------------------------------*/

#wrapper::after {
  content: "";
  clear: both;
  display: block;
}


/*----------------------------------------------
    CTA
----------------------------------------------*/

.cta {
  background: url(../theme_images/closing_bg_pc.png) no-repeat center left / cover;
  margin: 100px 0;
}

.cta a {
  text-decoration: none;
}

.cta img {
  width: auto;
}

.cta-inner {
  margin: auto;
  max-width: var(--content-max-width);
  padding: 50px 0;
  width: var(--content-width);
}

.cta-caution {
  background-color: #AD0000;
  border-radius: 100vh;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  margin: 0 auto 1em;
  padding: .2em 2.25em .3em;
  text-align: center;
  width: fit-content;
}

.cta-title {
  color: #fff;
  font-size: 30px;
  font-weight: 600;
  margin-bottom: .5em;
  text-align: center;
}

.cta-text { 
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}

.cta-btns {
  display: flex;
  gap: 15px 30px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2em;
}

.cta-btn-contact {
  background-color: var(--color-accent);
  border: 1px solid #fff;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .75em;
  justify-content: center;
  font-size: 20px;
  font-weight: 800;
  max-width: 100%;
  padding: 1em;
  transition: var(--transition-base);
  width: 376px;
}

.cta-btn-contact:hover {
  background-color: var(--color-accent-light);
}

.cta-btn-tel {
  background-color: #015E9F;
  border: 1px solid #fff;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: .5em;
  justify-content: center;
  font-size: 20px;
  font-weight: 800;
  max-width: 100%;
  padding: 1em;
  transition: var(--transition-base);
  width: 376px;
}

.cta-btn-tel:hover {
  background-color: var(--color-main-light);
}


/*----------------------------------------------
    SIDE
----------------------------------------------*/

#side {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 100;
}

#side a {
  text-decoration: none;
}

#side img {
  width: auto;
}

.side-btn-contact {
  background-color: var(--color-accent);
  border: 1px solid #fff;
  box-shadow: 0 3px 6px rgba(0,0,0,.3);
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: 1em;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .05em;
  max-width: 100%;
  padding: 32px min(1.25vw,22px);
  transition: var(--transition-base);
  writing-mode: vertical-rl;
}

.side-btn-contact:hover {
  background-color: var(--color-accent-light);
}

.side-btn-tel {
  background-color: #015E9F;
  border: 1px solid #fff;
  border-top: 0;
  box-shadow: 0 3px 6px rgba(0,0,0,.3);
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: 1em;
  justify-content: center;
  font-size: 21px;
  font-weight: 500;
  max-width: 100%;
  padding: 32px min(1.25vw,22px);
  transition: var(--transition-base);
  writing-mode: vertical-rl;
}

.side-btn-tel:hover {
  background-color: var(--color-main-light);
}


/*----------------------------------------------
    FOOTER
----------------------------------------------*/

#footer {
  background-color: var(--color-base);
  color: #707070;
}

#footer a {
  color: #707070;
  text-decoration: none;
}

#footer a:hover {
  color: inherit;
  text-decoration: underline;
}

#footer img {
  width: auto;
}

.f-logo {
  border-bottom: 1px solid #fff;
}

.f-logo-inner {
  margin: auto;
  max-width: var(--content-max-width);
  padding: 50px 30px;
  width: 1020px;
}

.f-inner {
  margin: auto;
  max-width: var(--content-max-width);
  width: 1020px;
}

.f-container {
  display: flex;
}

.f-left {
  border-right: 1px solid #fff;
  padding: 50px min(6vw,80px) 50px 30px;
}

.f-left-nav-list-item {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: .25em;
  margin-left: .8em;
  text-indent: -.8em;
}

.f-left-nav-list-item::before {
  content: ">";
  margin-right: .25em;
}

.f-copyright {
  font-size: 12px;
  font-weight: 500;
  margin-top: 1.5em;
}

.f-right {
  flex: 1;
  padding: 50px 0 50px min(6vw,80px);
}

.f-right-title {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 1.25em;
}

.f-right-container {
  display: flex;
  column-gap: 1em;
  justify-content: space-between;
  padding-left: min(6vw,80px);
}

.f-right-nav1-list-item {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: .25em;
  margin-left: .8em;
  text-indent: -.8em;
}

.f-right-nav1-list-item::before {
  content: ">";
  margin-right: .25em;
}

.f-right-nav2-list-item {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: .25em;
}

.f-right-nav2-sublist {
  margin-left: 1em;
}

.f-right-nav2-sublist-item {
  font-size: 14px;
  font-weight: 500;
  margin-left: .8em;
  text-indent: -.8em;
}

.f-right-nav2-sublist-item::before {
  content: ">";
  margin-right: .25em;
}

@media screen and (max-width: 980px) {
  .f-left {
    flex: 1;
    padding-left: 0;
    padding-right: 25px;
  }
  .f-right {
    padding-left: 25px;
  }
}