/* =========================================================
consol log
========================================================= */
/* =========================================================
body
========================================================= */
.page-cont input, .page-cont button, .page-cont textarea, .page-cont select {
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
  outline: none;
}

.page-cont * {
  letter-spacing: 0.075em;
  font-weight: 400;
}

.page-cont *:before, .page-cont *:after {
  display: block;
}

.page-cont img {
  width: 100%;
  height: auto;
}

.page-cont a {
  text-decoration: none;
}

@media (hover: hover) {
  .page-cont a[href*="tel:"] {
    pointer-events: none;
  }
}
@media (width <= 768px) {
  .page-cont .pc-br {
    display: none;
  }
}
@media (769px <= width) {
  .page-cont .sp-br {
    display: none;
  }
}
@media (width <= 768px) {
  .page-cont .pc-disp {
    display: none !important;
  }
}
@media (769px <= width) {
  .page-cont .sp-disp {
    display: none !important;
  }
}
@media (hover: hover) {
  .page-cont .opacity-link {
    transition: opacity 0.2s ease;
  }

  .page-cont .opacity-link:hover {
    opacity: 0.4;
  }
}
.page-cont .txt-link {
  text-decoration: underline;
}

@media (hover: hover) {
  .page-cont .txt-link:hover {
    text-decoration: none;
  }
}
.page-cont {
  min-width: 320px;
  overflow: clip;
}

/* =========================================================
common
========================================================= */
/*------------------------------------------
section
------------------------------------------*/
.page-sec .sec-in {
  max-width: 1000px;
  box-sizing: content-box;
}

@media (width <= 768px) {
  .page-sec .sec-in {
    padding: 0 4.66vw 65px;
  }
}
@media (769px <= width) {
  .page-sec .sec-in {
    padding: 0 60px 88px;
  }
}
/*------------------------------------------
title
------------------------------------------*/
.page-ttl01 {
  max-width: 1000px;
  margin: 0 auto;
  background: #017A8A;
  color: #fff;
  line-height: 1.37;
  font-weight: 700;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

@media (width <= 768px) {
  .page-ttl01 {
    padding: 8px 16px;
    font-size: clamp(1px, 4.26vw, 32px);
  }
}
@media (769px <= width) {
  .page-ttl01 {
    padding: 13px 30px 16px;
    font-size: 24px;
  }
}
.page-ttl01 + * {
  margin: 32px auto 0;
}

.page-ttl01.red {
  background: #E52D2D;
}

.page-ttl01.gold {
  background: #C7AC1F;
}

.page-ttl02 {
  border-bottom: 1px solid #017A8A;
  line-height: 1.41;
  font-weight: 700;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

@media (width <= 768px) {
  .page-ttl02 {
    padding: 0 0 10px;
    font-size: clamp(1px, 4.53vw, 34px);
  }
}
@media (769px <= width) {
  .page-ttl02 {
    padding: 0 0 20px;
    font-size: 26px;
  }
}
@media (width <= 768px) {
  .page-ttl02 + * {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .page-ttl02 + * {
    margin: 32px auto 0;
  }
}
/*------------------------------------------
text
------------------------------------------*/
@media (width <= 768px) {
  .page-txt01 {
    font-size: 14px;
    line-height: 1.71;
  }
}
@media (769px <= width) {
  .page-txt01 {
    font-size: 18px;
    line-height: 1.77;
  }
}
@media (width <= 768px) {
  .page-txt02 {
    font-size: 12px;
    line-height: 1.58;
  }
}
@media (769px <= width) {
  .page-txt02 {
    font-size: 14px;
    line-height: 2;
  }
}
.dot-txt {
  position: relative;
}

@media (width <= 768px) {
  .dot-txt {
    padding: 0 0 0 18px;
  }
}
@media (769px <= width) {
  .dot-txt {
    padding: 0 0 0 30px;
  }
}
.dot-txt::before {
  content: "";
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #017A8A;
  position: absolute;
  top: 0.5em;
  left: 0;
}

@media (width <= 768px) {
  .dot-txt::before {
    width: 12px;
  }
}
@media (769px <= width) {
  .dot-txt::before {
    width: 16px;
  }
}
.dot-txt > * + * {
  margin: 1em auto 0;
}

/*------------------------------------------
button
------------------------------------------*/
.page-btn01 {
  position: relative;
}

.page-btn01 a,
.page-btn01 button {
  width: 100%;
  border-radius: 35px;
  background: #fff;
  line-height: 1.3;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media (width <= 768px) {
  .page-btn01 a,
.page-btn01 button {
    padding: 5px 0;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .page-btn01 a,
.page-btn01 button {
    padding: 7px 0;
    font-size: 18px;
  }
}
.page-btn01 a::after,
.page-btn01 button::after {
  content: "";
  aspect-ratio: 4/7;
  background: url(../images/ico_arrow01.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media (width <= 768px) {
  .page-btn01 a::after,
.page-btn01 button::after {
    width: 2px;
    right: 10px;
  }
}
@media (769px <= width) {
  .page-btn01 a::after,
.page-btn01 button::after {
    width: 4px;
    right: 14px;
  }
}
/*------------------------------------------
box
------------------------------------------*/
.tel-box {
  text-align: center;
}

@media (width <= 768px) {
  .tel-box > * + * {
    margin: 8px auto 0;
  }
}
@media (769px <= width) {
  .tel-box > * + * {
    margin: 16px auto 0;
  }
}
.tel-box__head {
  font-weight: 500;
  line-height: 1.7;
}

@media (width <= 768px) {
  .tel-box__head {
    font-size: 14px;
  }
}
@media (769px <= width) {
  .tel-box__head {
    font-size: 18px;
  }
}
.tel-box__num::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  background: url(../images/ico_call.svg) no-repeat center/contain;
}

@media (width <= 768px) {
  .tel-box__num::before {
    width: 16px;
    margin-right: 14px;
  }
}
@media (769px <= width) {
  .tel-box__num::before {
    width: 23px;
    margin-right: 19px;
  }
}
.tel-box__num a {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
  line-height: 1;
}

@media (width <= 768px) {
  .tel-box__num a {
    font-size: 23px;
  }
}
@media (769px <= width) {
  .tel-box__num a {
    font-size: 30px;
  }
}
.tel-box__num .small {
  line-height: 1;
}

@media (width <= 768px) {
  .tel-box__num .small {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .tel-box__num .small {
    font-size: 16px;
  }
}
.tel-box__txt01 {
  line-height: 1.7;
}

@media (width <= 768px) {
  .tel-box__txt01 {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .tel-box__txt01 {
    font-size: 14px;
  }
}
/*------------------------------------------
acc
------------------------------------------*/
.js-accarea {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s linear;
}

.js-accarea__in {
  overflow: hidden;
}

.js-accarea.is-open {
  grid-template-rows: 1fr;
}

/* =========================================================
header
========================================================= */
.page-hd {
  background: #F5F5F5;
}

.page-hd__band {
  background: #017A8A;
  color: #fff;
  font-size: clamp(1px, 3.2vw, 20px);
  line-height: 1.37;
  font-weight: 700;
  text-align: center;
}

@media (width <= 768px) {
  .page-hd__band {
    padding: 2px 10px 3px;
  }
}
@media (769px <= width) {
  .page-hd__band {
    padding: 7px 20px 8px;
  }
}
@media (width <= 768px) {
  .page-hd__in {
    padding: 35px 8.66vw 50px;
  }
}
@media (769px <= width) {
  .page-hd__in {
    padding: 50px 60px;
  }
}
.page-hd__ttl {
  max-width: 838px;
  margin: 0 auto;
}

.page-hd__txt01 {
  font-weight: 700;
}

@media (width <= 768px) {
  .page-hd__txt01 {
    margin: 16px auto 0;
    font-size: 14px;
    line-height: 1.57;
  }
}
@media (769px <= width) {
  .page-hd__txt01 {
    margin: 52px auto 0;
    font-size: 20px;
    line-height: 1.6;
    text-align: center;
  }
}
/* =========================================================
contents
========================================================= */
/*------------------------------------------
summary
------------------------------------------*/
@media (width <= 768px) {
  .sec-summary {
    padding-top: 60px;
  }
}
@media (769px <= width) {
  .sec-summary {
    padding-top: 64px;
  }
}
.sec-summary .sec-in {
  margin: 0 auto;
}

.sec-summary__img {
  margin: 0 auto;
}

@media (width <= 768px) {
  .sec-summary__list {
    margin: 12px auto 0;
  }
}
@media (769px <= width) {
  .sec-summary__list {
    margin: 16px auto 0;
  }
}
/*------------------------------------------
cancel
------------------------------------------*/
@media (width <= 768px) {
  .sec-cancel__box01 + .sec-cancel__box01 {
    margin: 32px auto 0;
  }
}
@media (769px <= width) {
  .sec-cancel__box01 + .sec-cancel__box01 {
    margin: 64px auto 0;
  }
}
[class*=sec-cancel__item] {
  text-decoration: underline;
  position: relative;
}

@media (width <= 768px) {
  [class*=sec-cancel__item] {
    padding: 0 0 0 44px;
  }
}
@media (769px <= width) {
  [class*=sec-cancel__item] {
    padding: 0 0 0 70px;
  }
}
[class*=sec-cancel__item]::before {
  content: "";
  aspect-ratio: 64/56;
  position: absolute;
  top: 0;
  left: 0;
}

@media (width <= 768px) {
  [class*=sec-cancel__item]::before {
    width: 35px;
  }
}
@media (769px <= width) {
  [class*=sec-cancel__item]::before {
    width: 64px;
  }
}
@media (width <= 768px) {
  [class*=sec-cancel__item] + [class*=sec-cancel__item] {
    margin: 28px auto 0;
  }
}
@media (769px <= width) {
  [class*=sec-cancel__item] + [class*=sec-cancel__item] {
    margin: 32px auto 0;
  }
}
.sec-cancel__item01::before {
  background: url(../images/ico_caution01.png) no-repeat center/contain;
}

.sec-cancel__item02::before {
  background: url(../images/ico_caution02.png) no-repeat center/contain;
}

/*------------------------------------------
end
------------------------------------------*/
.sec-end__txt01 {
  text-align: center;
}

@media (width <= 768px) {
  .sec-end__txt01 {
    font-size: 14px;
    line-height: 1.35;
  }
}
@media (769px <= width) {
  .sec-end__txt01 {
    font-size: 18px;
    line-height: 1.77;
  }
}
.sec-end__list {
  display: grid;
}

@media (width <= 768px) {
  .sec-end__list {
    margin: 28px auto 0;
    gap: 28px;
  }
}
@media (769px <= width) {
  .sec-end__list {
    margin: 32px auto 0;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1px, 6.25vw, 80px);
  }
}
@media (width <= 768px) {
  .sec-end__list + * {
    margin: 28px auto 0;
  }
}
@media (769px <= width) {
  .sec-end__list + * {
    margin: 64px auto 0;
  }
}
@media (width <= 768px) {
  .sec-end__item > * + * {
    margin: 12px auto 0;
  }
}
@media (769px <= width) {
  .sec-end__item > * + * {
    margin: 24px auto 0;
  }
}
.sec-end__item .page-txt01 {
  font-weight: 500;
}

.sec-end__link a {
  display: block;
  border: 1px solid #017A8A;
  color: #017A8A;
  text-align: center;
}

@media (width <= 768px) {
  .sec-end__link a {
    padding: 20px 15px;
  }
}
@media (769px <= width) {
  .sec-end__link a {
    padding: 30px;
  }
}
@media (width <= 768px) {
  .sec-end__link a > * + * {
    margin: 4px auto 0;
  }
}
@media (769px <= width) {
  .sec-end__link a > * + * {
    margin: 8px auto 0;
  }
}
.sec-end__link .head {
  line-height: 1.5;
  font-weight: 500;
}

@media (width <= 768px) {
  .sec-end__link .head {
    font-size: 17px;
  }
}
@media (769px <= width) {
  .sec-end__link .head {
    font-size: 24px;
  }
}
@media (width <= 768px) {
  .sec-end__link .txt01 {
    font-size: 12px;
    line-height: 1.58;
  }
}
@media (769px <= width) {
  .sec-end__link .txt01 {
    font-size: 14px;
    line-height: 1.28;
  }
}
.sec-end__link .txt02 {
  line-height: 1.5;
}

@media (width <= 768px) {
  .sec-end__link .txt02 {
    font-size: 8px;
  }
}
@media (769px <= width) {
  .sec-end__link .txt02 {
    font-size: 10px;
  }
}
@media (width <= 768px) {
  .sec-end .tel-box > * + * {
    margin: 4px auto 0;
  }
}
@media (width <= 768px) {
  .sec-end .tel-box__head {
    font-size: 12px;
  }
}
@media (width <= 768px) {
  .sec-end .tel-box__txt01 {
    font-size: 9px;
  }
}
/*------------------------------------------
use
------------------------------------------*/
@media (width <= 768px) {
  .sec-use__box01 + .sec-use__box01 {
    margin: 28px auto 0;
  }
}
@media (769px <= width) {
  .sec-use__box01 + .sec-use__box01 {
    margin: 40px auto 0;
  }
}
@media (width <= 768px) {
  .sec-use__box01 .dot-txt + .dot-txt {
    margin: 16px auto 0;
  }
}
@media (769px <= width) {
  .sec-use__box01 .dot-txt + .dot-txt {
    margin: 32px auto 0;
  }
}
/*------------------------------------------
FAQ
------------------------------------------*/
@media (width <= 768px) {
  .sec-faq__box01 + .sec-faq__box01 {
    margin: 28px auto 0;
  }
}
@media (769px <= width) {
  .sec-faq__box01 + .sec-faq__box01 {
    margin: 72px auto 0;
  }
}
@media (width <= 768px) {
  .sec-faq__item + .sec-faq__item {
    margin: 16px auto 0;
  }
}
@media (769px <= width) {
  .sec-faq__item + .sec-faq__item {
    margin: 32px auto 0;
  }
}
.sec-faq__q button {
  width: 100%;
  display: block;
  background: #DEEDEF;
  color: #000;
  text-align: left;
  position: relative;
}

@media (width <= 768px) {
  .sec-faq__q button {
    padding: 15px 43px 15px 15px;
    font-size: 14px;
    line-height: 1.71;
    font-weight: 500;
  }
}
@media (769px <= width) {
  .sec-faq__q button {
    padding: 30px 103px 30px 30px;
    font-size: 18px;
    line-height: 1.77;
    font-weight: 700;
  }
}
.sec-faq__q button::before, .sec-faq__q button::after {
  content: "";
  background: #000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.sec-faq__q button::before {
  width: 17px;
  height: 1px;
}

@media (width <= 768px) {
  .sec-faq__q button::before {
    right: 15px;
  }
}
@media (769px <= width) {
  .sec-faq__q button::before {
    right: 30px;
  }
}
.sec-faq__q button::after {
  width: 1px;
  height: 17px;
}

@media (width <= 768px) {
  .sec-faq__q button::after {
    right: 23px;
  }
}
@media (769px <= width) {
  .sec-faq__q button::after {
    right: 38px;
  }
}
.sec-faq__q button.is-open::after {
  content: none;
}

.sec-faq__a {
  border: 1px solid #DEEDEF;
  border-top: none;
  position: relative;
}

@media (width <= 768px) {
  .sec-faq__a {
    padding: 15px 15px 15px 53px;
    font-size: 12px;
    line-height: 1.58;
  }
}
@media (769px <= width) {
  .sec-faq__a {
    padding: 30px 30px 40px 102px;
    font-size: 16px;
    line-height: 1.87;
  }
}
.sec-faq__a:before {
  content: "";
  height: 1px;
  background: #017A8A;
  position: absolute;
}

@media (width <= 768px) {
  .sec-faq__a:before {
    width: 13px;
    top: 25px;
    left: 15px;
  }
}
@media (769px <= width) {
  .sec-faq__a:before {
    width: 36px;
    top: 45px;
    left: 30px;
  }
}
.sec-faq__a:after {
  content: "A.";
  font-family: "Barlow Semi Condensed", sans-serif;
  color: #017A8A;
  line-height: 1;
  position: absolute;
}

@media (width <= 768px) {
  .sec-faq__a:after {
    font-size: 15px;
    top: 17px;
    left: 34px;
  }
}
@media (769px <= width) {
  .sec-faq__a:after {
    font-size: 20px;
    top: 35px;
    left: 77px;
  }
}
/*------------------------------------------
contact
------------------------------------------*/
.sec-contact {
  background: #F5F5F5;
}

@media (width <= 768px) {
  .sec-contact {
    padding: 52px 4.66vw;
  }
}
@media (769px <= width) {
  .sec-contact {
    padding: 60px;
  }
}
.sec-contact__in {
  max-width: 1000px;
  margin: 0 auto;
  background: #fff;
  text-align: center;
}

@media (width <= 768px) {
  .sec-contact__in {
    padding: 32px 15px;
  }
}
@media (769px <= width) {
  .sec-contact__in {
    padding: 30px 30px 50px;
  }
}
@media (width <= 768px) {
  .sec-contact__txt01 {
    margin: 12px auto 0;
    font-size: 14px;
    line-height: 1.35;
  }
}
@media (769px <= width) {
  .sec-contact__txt01 {
    margin: 20px auto 0;
    font-size: 16px;
    line-height: 1.87;
  }
}
.sec-contact__list {
  display: flex;
  flex-wrap: wrap;
}

@media (width <= 768px) {
  .sec-contact__list {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .sec-contact__list {
    margin: 40px auto 0;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width <= 768px) {
  .sec-contact .tel-box {
    width: 100%;
  }
}
@media (769px <= width) {
  .sec-contact .tel-box {
    flex: 1;
  }
}
@media (width <= 768px) {
  .sec-contact .tel-box + .tel-box {
    margin: 16px auto 0;
    padding: 16px 0 0;
    border-top: 1px solid #017A8A;
  }
}
@media (769px <= width) {
  .sec-contact .tel-box + .tel-box {
    border-left: 1px solid #017A8A;
  }
}
@media (769px <= width) {
  .sec-contact .tel-box__head {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
/*------------------------------------------
service
------------------------------------------*/
[class*=sec-service__img] {
  position: relative;
}

@media (width <= 768px) {
  .sec-service .page-btn01 {
    width: 116px;
  }
}
@media (769px <= width) {
  .sec-service .page-btn01 {
    width: 166px;
  }
}
.sec-service__img01 .page-btn01 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media (width <= 768px) {
  .sec-service__img01 .page-btn01 {
    bottom: 8vw;
  }
}
@media (769px <= width) {
  .sec-service__img01 .page-btn01 {
    bottom: 5.46vw;
  }
}
.sec-service__img02 {
  background: #FFF6E8;
}

@media (width <= 768px) {
  .sec-service__img02 {
    padding: 38px 0;
  }
}
@media (769px <= width) {
  .sec-service__img02 {
    padding: 50px clamp(1px, 6.25vw, 80px) 50px;
  }
}
.sec-service__img02 .page-btn01 {
  margin: 15px auto 0;
}

.sec-service__img02 .note {
  margin: 23px auto 0;
  font-size: 10px;
  line-height: 1.3;
  text-align: center;
}