:root {
    --primary: #ea2422;
    --sub-primary: #63a2d8;
    --text-base-color: #333;
    --table-color: #ccc;
    --error-color: #ea2422;
    --bg-color: #ffe2e2;
}

/***

Elements

***/

@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;600&family=Mynerve&family=Kiwi+Maru&family=Tenor+Sans&display=swap";


body {
    background: #fff;
    box-sizing: border-box;
    color: #333;
    font-family: Noto Sans JP,Helvetica,Arial,Doroid Sans,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,"sans-serif";
    font-size: clamp(.65625rem,4vw,.9375rem);
    font-weight: 400;
    line-height: 1.3;
    overflow-x: hidden;
    position: relative
}

@media screen and (min-width: 768px) {
    body {
        font-size:clamp(.8rem,1.1111111111vw,1rem)
    }
}


a {
    color: var(--primary);
    text-decoration: underline
}

summary {
  color: var(--primary);
}

fieldset {
    display: contents;
}

*:focus {
    outline: 1px solid #c0c0c0;
}

/***

Utility

***/

.u-color.--primary {
    color: #ea2422
}

.u-color.--secondary {
    color: #63a2d8
}

.u-color.--gray {
    color: #ccc
}

.u-align-center {
  text-align: center;
}

.u-color-red {
  color: #ea2621;
}

.u-text {
  margin-bottom: 10px;
}

.u-link {
  color: var(--primary);
  text-decoration: underline;
}

.u-link.--blank {
  font-size: 1.1em;
  display: inline-flex;
  align-items: center;
}

.u-link.--blank:after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  mask-image: url(../asset/icon_window.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: var(--primary);
  margin-left: 10px;
}

.view-pc {
  display: none;
}

.view-sp {
  display: block;
}

/***

Atoms

***/

.c-btn {
  width: 100%;
  max-width: 320px;
  height: 36px;
  background-color: var(--primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 18px;
  color: #fff;
  position: relative;
  text-decoration: none;
  font-size: 16px;
}

.c-btn:after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 20px;
}

.c-btn.--zip {
  width: 150px;
}

.c-btn.--zip:after {
  display: none;
}

.c-btn.--back {
  border: 1px solid var(--primary);
  background-color: #fff;
  color: var(--primary);
}

.c-btn.--back:after {
  border-color: var(--primary);
  left: 20px;
  right: auto;
  transform: rotate(225deg);
}

.c-input {
  height: 40px;
  width: 100%;
  border-radius: 2px;
  border: solid 1px #e2e2e2;
  background-color: #fafafa;
  display: flex;
  align-items: center;
  padding: 0 5px;
}

.c-input::placeholder {
  color: #a0a0a0;
}

.c-input.--error {
  border: solid 1px var(--error-color);
  background-color: var(--bg-color);
}


.c-input.--zip {
  width: calc((100% - 30px) / 2);
}

.c-select-wrap {
  width: 100%;
  border-radius: 2px;
  border: solid 1px #e2e2e2;
  background-color: #fafafa;
  display: flex;
  align-items: center;
  height: 40px;
  position: relative;
  padding: 2px;
}

.c-select-wrap.--error {
  border-color: var(--error-color);
  background-color: var(--bg-color);
}

.c-select-wrap:after {
  content: "";
  display: block;
  width: 8px;
  height: 6px;
  position: absolute;
  right: 8px;
  background-color: #a0a0a0;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}

.c-select {
  width: 100%;
  padding: 0 5px;
  display: flex;
  align-items: center;
}

.c-checkbox {
  display: inline-flex;
  align-items: center;
}

.c-checkbox__checkbox {
  display: none;
}

.c-checkbox__label {
  display: inline-block;
  width: 28px;
  height: 28px;
  border: 1px solid #e2e2e2;
  background: #fafafa;
  border-radius: 3px;
  margin: -1px 7.5px 0 0;
  flex: 0 0 auto;
  position: relative;
}

.c-checkbox__checkbox:checked + .c-checkbox__label:before {
  content: "";
  display: block;
  width: 12px;
  height: 24px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  position: absolute;
  left: 8px;
  top: -2px;
  transform: rotate(45deg);
}

.c-radio-group {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 8px 0 0 8px;
}

.c-radio {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.c-radio__input {
  display: none;
}

.c-radio__label {
  display: inline-block;
  width: 17px;
  height: 17px;
  border: 1px solid #707070;
  background: #fafafa;
  border-radius: 50%;
  flex: 0 0 auto;
  position: relative;
}

.c-radio__input:checked + .c-radio__label:before {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  background: var(--primary);
  border-radius: 50%;
  position: absolute;
  left: 2px;
  top: 2px;
}

.c-fieldset-field.--error .c-radio__label {
  border-color: var(--error-color);
}

.c-textarea {
  height: 65px;
  width: 100%;
  border-radius: 2px;
  border: solid 1px #e2e2e2;
  background-color: #fafafa;
  display: flex;
  align-items: center;
  padding: 10px;
}

.c-textarea.--error {
  border: solid 1px var(--error-color);
  background-color: var(--bg-color);
}


.c-error {
  color: var(--error-color);
  background-color: var(--bg-color);
  font-size: 12px;
  padding: 2px 8px;
}

.c-error:before {
  content: "!";
  color: #fff;
  background-color: var(--error-color);
  width: 1.2em;
  height: 1.2em;
  border-radius: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
}

.c-agree {
  margin: 40px 0;
  text-align: center;
}

/***

Organisms

***/


/** Main **/

.c-main {
  margin: 0 0 60px;
}

/** PageHeader **/

.c-page-header {
  background: #f4f6f8;
  padding: 9px 20px;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.c-page-header-inner {
  width: 100%;
  max-width: 820px;
  margin: 0 16px;
  display: grid;
  gap: 14px;
}

.c-page-header__title {
  font-size: 22px;
}

/** Form **/

.c-form {
  max-width: 820px;
  margin: 0 16px;
}

.c-form-main {

  border-bottom: 1px solid #e2e2e2;
  padding: 32px 0;
  margin: 0 0 32px;
}

.c-form-footer {
  margin-bottom: 20px;
}

.c-fieldset:not(:last-child) {
  margin-bottom: 20px;
}

.c-fieldset__legend {
  margin: 0 0 10px;
}

.c-fieldset-field {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px 0;
  position: relative;
}

.c-fieldset-field.--required:before {
  content: "必須";
  display: inline-block;
  border-radius: 3px;
  padding: 1px 6px;
  background-color: var(--primary);
  color: #fff;
  position: absolute;
  right: 0;
  top: -30px;
  font-size: 12px;
}

.c-fieldset-zip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 0;
}

.c-fieldset-zip ._span {
  display: inline-flex;
  width: 30px;
  justify-content: center;
}

.c-fieldset-contact-list {
  margin-bottom: 10px;
}

.c-fieldset-contact:not(:last-child) {
  margin-bottom: 20px;
}

.c-fieldset-contact__label {
  margin: 0 0 10px;
  display: block;
}

.c-fieldset-contact-field {
  display: flex;
  flex-direction: column;
  gap: 5px 0;
  position: relative;
}

.c-fieldset-contact-field:before {
  content: "任意";
  display: inline-block;
  border-radius: 3px;
  padding: 1px 6px;
  background-color: #a0a0a0;
  color: #fff;
  position: absolute;
  right: 0;
  top: -30px;
}

.c-fieldset-contact-field.--required:before {
  content: "必須";
  background-color: var(--primary);
}

.c-fieldset-field__text {
  font-size: 12px;
}


/** Caution **/

.c-caution {
  padding: 17px;
  border: 2px solid var(--primary);
  line-height: 1.5;
  max-width: 980px;
  margin: 32px 16px;
}

.c-caution__item {
  padding: 0 0 0 1em;
  position: relative;
}

.c-caution__item:before {
  content: "・";
  position: absolute;
  left: 0;
}

/* Buttons */

.c-btns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 20px;
  margin: 40px 16px 0;
}

/* Confirm */

.c-confirm {
  max-width: 820px;
  margin: 0 16px 12px;
  display: flex;
}

.c-confirm.--column {
  display: block;
}

.c-confirm__label {
  width: 6em;
  line-height: 2.25;
  margin: 0 0 5px;
}

.c-confirm-content {
  font-weight: 500;
  line-height: 2.25;
}

/* Complete */

.p-complete {
  text-align: center;
  line-height: 2;
  margin: 90px 0;
}

@media screen and (max-width: 767.9px) {
  .c-confirm.--column .c-confirm-content {
    padding-left: 1em;
  }
  .c-confirm.--column .c-confirm__label {
    width: auto;
  }
}

@media screen and (min-width: 768px) {

  input,
  button,
  textarea,
  select {
    font-size: 16px;
  }

  .u-text {
    margin-bottom: 20px;
  }

  .view-pc {
    display: block;
  }

  .view-sp {
    display: none;
  }

  .c-header-main {
    margin: 0 20px;
  }

  .c-footer {
    font-size: 14px;
  }

  .c-page-header {
  padding: 18px 0;
  }

  .c-page-header-inner {
    max-width: 820px;
    margin: 0 auto;
  }

  .c-form {
    margin: 0 20px;
  }

  .c-form-main {
    padding: 45px 0;
    margin: 0 0 45px;
  }

  .c-form-footer {
    text-align: center;
  }

  .c-fieldset:not(:last-child) {
    margin-bottom: 40px;
  }

  .c-fieldset-field {
    min-width: 600px;
    flex: 0 0 auto;
  }

  .c-fieldset-field.--required:before,
  .c-fieldset-contact-field:before {
    font-size: 14px;
  }

  .c-fieldset-contact-field:before {
    left: -48px;
    right: auto;
    top: 8px;
  }

  .c-fieldset-field__text {
    font-size: 14px;
  }

  .c-fieldset-zip {
    justify-content: flex-start;
  }

  .c-fieldset-zip .c-btn {
    margin-left: 30px;
  }

  .c-fieldset-contact-list {
    margin-bottom: 30px;
  }

  .c-fieldset-contact {
    display: flex;
  }

  .c-fieldset-contact:not(:last-child) {
    margin-bottom: 20px;
  }

  .c-fieldset-contact__label {
    flex: 0 0 auto;
    width: calc(100% - 470px);
    margin-top: 8px;
  }

  .c-fieldset-contact-field {
    flex: 0 0 470px;
  }

  .c-input {
    padding: 0 10px;
  }

  .c-input.--zip {
    width: 150px;
  }

  .c-btn {
    width: 240px;
    height: 40px;
    border-radius: 20px;
  }

  .c-btns {
    margin: 60px 20px 0;
  }

  .c-btn.--zip {
    height: 36px;
    border-radius: 18px;
  }

  .c-caution {
    margin: 45px 20px;
  }

  .c-caution__item:not(:last-child) {
    margin-bottom: 10px;
  }

  .c-confirm {
    margin: 0 20px 24px;
  }

  .c-confirm.--column {
    display: flex;
  }

  .c-confirm__label {
    width: 16em;
    flex: 0 0 auto;
  }

  .p-complete {
    margin-top: 120px;
  }
}

@media screen and (min-width: 860px) {
  .c-page-header-inner {
    margin: 0 auto;
  }

  .c-form {
    margin: 0 auto;
  }

  .c-fieldset {
    display: flex;
  }

  .c-fieldset__legend {
    flex: 0 0 220px;
    margin: 5px 0 0;
  }

  .c-fieldset-field {
    flex: 0 0 600px;
  }

  .c-fieldset-field.--required:before {
    left: -48px;
    right: auto;
    top: 8px;
  }

  .c-btns {
    margin: 60px auto 0;
  }

  .c-caution {
    margin: 45px auto;
  }

  .c-confirm {
    margin: 0 auto 24px;
  }
}

@media screen and (min-width: 1000px) {
  .c-header-main {
    margin: 0 auto;
  }

  .c-page-header-inner {
    max-width: 960px;
    margin: 0 auto;
  }
}

.openbtn1 {
    border-radius: 5px;
    cursor: pointer;
    height: clamp(35px,13.3333333333vw,50px);
    position: relative;
    width: clamp(35px,13.3333333333vw,50px)
}

.openbtn1 span {
    background: #ea2422;
    border-radius: 2px;
    display: inline-block;
    height: clamp(2.1px,.8vw,3px);
    left: clamp(14px,5.3333333333vw,20px);
    position: absolute;
    transition: all .4s;
    width: 45%
}

.openbtn1 span:first-of-type {
    top: clamp(6.3px,2.4vw,9px)
}

.openbtn1 span:nth-of-type(2) {
    top: clamp(11.9px,4.5333333333vw,17px)
}

.openbtn1 span:nth-of-type(3) {
    top: clamp(17.5px,6.6666666667vw,25px)
}

.openbtn1 span:nth-of-type(3):after {
    color: #ea2422;
    content: "メニュー";
    font-size: clamp(.4375rem,2.6666666667vw,.625rem);
    left: clamp(-8.4px,-3.2vw,-12px);
    position: absolute;
    text-transform: uppercase;
    top: clamp(3.5px,1.3333333333vw,5px);
    width: clamp(35px,13.3333333333vw,50px)
}

.openbtn1.is-active span:first-of-type {
    left: clamp(14px,5.3333333333vw,20px);
    top: clamp(7px,2.6666666667vw,10px);
    transform: translateY(clamp(4.2px,1.6vw,6px)) rotate(-45deg);
    width: 45%
}

.openbtn1.is-active span:nth-of-type(2) {
    opacity: 0
}

.openbtn1.is-active span:nth-of-type(3) {
    left: clamp(14px,5.3333333333vw,20px);
    top: clamp(14px,5.3333333333vw,20px);
    transform: translateY(clamp(-4.2px,-1.6vw,-6px)) rotate(45deg);
    width: 45%
}

.openbtn1.is-active span:nth-of-type(3):after {
    content: "閉じる";
    left: clamp(5.6px,2.1333333333vw,8px);
    top: clamp(0px,0vw,0px);
    transform: translateY(0) rotate(-45deg)
}


.c-header {
    background: #fff;
    box-shadow: 0 3px 6px #0003;
    height: 60px;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10
}

@media screen and (min-width: 768px) {
    .c-header {
        height:95px
    }
}

.c-header__inner {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 60px;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 clamp(10.5px,4vw,15px);
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-header__inner {
        height:95px;
        max-width: clamp(1152px,100vw,1440px);
        padding: 0 clamp(64px,5.5555555556vw,80px);
        width: 100%
    }
}

@media screen and (min-width: 768px) and (max-width:1000px) {
    .c-header__inner {
        padding:0 clamp(32px,2.7777777778vw,40px)
    }
}

.c-header-logo {
    font-size: clamp(.7875rem,4.8vw,1.125rem);
    font-weight: 700;
    margin-top: 0;
    width: clamp(140px,53.3333333333vw,200px)
}

@media screen and (min-width: 768px) {
    .c-header-logo {
        font-size:clamp(.9rem,1.25vw,1.125rem);
        width: clamp(224px,19.4444444444vw,280px)
    }

    .c-header-primary-nav {
        display: block;
        font-size: clamp(.8rem,1.1111111111vw,1rem);
        margin: 0 clamp(16px,1.3888888889vw,20px)
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-primary-nav {
        margin: 0
    }
}

.c-header-primary-nav__list {
    font-weight: 700
}

@media screen and (min-width: 768px) {
    .c-header-primary-nav__list {
        align-items:center;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        font-weight: 400;
        justify-content: center;
        padding-left: 0;
        position: relative;
        white-space: nowrap
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-primary-nav__list {
        display: block
    }
}

@media screen and (min-width: 768px) {
    .c-header-primary-nav__item {
        cursor:pointer;
        font-weight: 700;
        position: relative
    }
}

@media screen and (min-width: 768px) and (max-width:1000px) {
    .c-header-primary-nav__item {
        font-size:clamp(.7rem,.9722222222vw,.875rem)
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-primary-nav__item {
        font-size: clamp(.875rem,5.3333333333vw,1.25rem);
        margin-bottom: clamp(10.5px,4vw,15px);
        position: relative
    }

    .c-header-primary-nav__item p {
        font-size: clamp(.875rem,5.3333333333vw,1.25rem);
        font-weight: 700;
        margin-bottom: clamp(7px,2.6666666667vw,10px)
    }

    .c-header-primary-nav__item a {
        color: #fff;
        text-decoration: none
    }
}

@media screen and (max-width: 767.9px) {
    .c-header-primary-nav__item {
        font-size:clamp(.875rem,5.3333333333vw,1.25rem);
        margin-bottom: clamp(10.5px,4vw,15px);
        position: relative
    }

    .c-header-primary-nav__item p {
        font-size: clamp(.875rem,5.3333333333vw,1.25rem);
        font-weight: 700;
        margin-bottom: clamp(7px,2.6666666667vw,10px)
    }

    .c-header-primary-nav__item a {
        color: #fff;
        text-decoration: none
    }
}

@media screen and (max-width: 767.9px) and (min-width:768px) {
    .c-header-primary-nav__item a {
        color:var(--primary);
        text-indent: unset
    }
}

.c-header-primary-nav__item:first-of-type {
    position: relative
}

@media screen and (min-width: 768px) {
    .c-header-primary-nav__item:first-of-type {
        margin-right:clamp(32px,2.7777777778vw,40px)
    }
}

details summary:after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    display: inline-block;
    height: clamp(7px,2.6666666667vw,10px);
    position: absolute;
    right: clamp(0px,0vw,0px);
    top: clamp(7px,2.6666666667vw,10px);
    transform: rotate(135deg);
    width: clamp(7px,2.6666666667vw,10px)
}

@media screen and (min-width: 768px) {
    details summary:after {
        border-right:2px solid var(--primary);
        border-top: 2px solid var(--primary);
        left: 50%;
        top: clamp(28px,2.4305555556vw,35px)
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    details summary:after { 
        border-right:2px solid #fff;
        border-top: 2px solid #fff;
        left: 98%;
        top: 50%
    }
}

details[open] summary:after {
    top: clamp(10.5px,4vw,15px);
    transform: rotate(-45deg)
}

@media screen and (min-width: 768px) {
    details[open] summary:after {
        top:clamp(32px,2.7777777778vw,40px);
        transform: rotate(-45deg)
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    details[open] summary:after {
        top:clamp(16px,1.3888888889vw,20px)
    }
}

@media screen and (min-width: 768px) {
    .c-header-primary-nav__item:not(:last-of-type) {
        margin-right:clamp(32px,2.7777777778vw,40px)
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-primary-nav__item:not(:last-of-type) {
        margin-right:0
    }
}

@media screen and (min-width: 768px) {
    .c-header-primary-nav__link {
        align-items:center;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        text-decoration: none
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-primary-nav__link {
        display: block
    }
}

@media screen and (min-width: 768px) {
    .c-header-secondary-nav {
        display:block;
        text-align: center
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-secondary-nav {
        text-align: left
    }
}

.c-header-secondary-nav__title {
    display: block;
    font-size: clamp(.875rem,5.3333333333vw,1.25rem);
    font-weight: 700;
    margin-bottom: clamp(7px,2.6666666667vw,10px)
}

@media screen and (min-width: 768px) {
    .c-header-secondary-nav__title {
        display:none
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-secondary-nav__title {
        display: block
    }
}

.c-header-secondary-nav__list {
    font-size: clamp(.7rem,4.2666666667vw,1rem)
}

@media screen and (min-width: 768px) {
    .c-header-secondary-nav__list {
        align-items:center;
        display: flex;
        flex-flow: row nowrap;
        flex-direction: row;
        flex-wrap: nowrap;
        font-size: clamp(.7rem,.9722222222vw,.875rem);
        font-weight: 400;
        justify-content: center;
        margin: 0;
        padding-left: 0;
        position: relative;
        white-space: nowrap
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-secondary-nav__list {
        display: block;
        font-size: clamp(.7rem,4.2666666667vw,1rem)
    }
}

.c-header-secondary-nav__item {
    border-bottom: 1px solid hsla(0,0%,100%,.5);
    margin-bottom: clamp(7px,2.6666666667vw,10px);
    position: relative
}

.c-header-secondary-nav__item:before {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    display: inline-block;
    height: clamp(7px,2.6666666667vw,10px);
    left: clamp(0px,0vw,0px);
    position: absolute;
    top: clamp(5.6px,2.1333333333vw,8px);
    transform: rotate(45deg);
    width: clamp(7px,2.6666666667vw,10px)
}

@media screen and (min-width: 768px) {
    .c-header-secondary-nav__item {
        margin-bottom:0
    }

    .c-header-secondary-nav__item:not(:last-of-type) {
        border-right: 1px solid #aaa;
        margin-right: clamp(4px,.3472222222vw,5px);
        padding-right: clamp(4px,.3472222222vw,5px)
    }

    .c-header-secondary-nav__item:before {
        display: none
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-secondary-nav__item {
        border-bottom: 1px solid hsla(0,0%,100%,.5);
        margin-bottom: clamp(10.5px,4vw,15px);
        position: relative
    }

    .c-header-secondary-nav__item:not(:last-of-type) {
        border-right: none;
        margin-right: 0;
        padding-right: 0
    }

    .c-header-secondary-nav__item:before {
        border-right: 2px solid #fff;
        border-top: 2px solid #fff;
        content: "";
        display: inline-block;
        height: clamp(7px,2.6666666667vw,10px);
        left: clamp(0px,0vw,0px);
        position: absolute;
        top: clamp(5.6px,2.1333333333vw,8px);
        transform: rotate(45deg);
        width: clamp(7px,2.6666666667vw,10px)
    }
}

.c-header-secondary-nav__link {
    color: #fff;
    text-decoration: none;
    text-indent: 1.1rem
}

@media screen and (min-width: 768px) {
    .c-header-secondary-nav__link {
        align-items:center;
        color: var(--text-base-color);
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        text-indent: unset
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-secondary-nav__link {
        color: #fff;
        display: block;
        text-decoration: none;
        text-indent: 1.1rem
    }
}

.c-header-secondary-nav__link:hover {
    text-decoration: underline
}

.c-header-tel {
    font-size: clamp(.875rem,5.3333333333vw,1.25rem);
    margin-top: clamp(28px,10.6666666667vw,40px);
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-header-tel {
        margin-top:0
    }

    .c-header-tel__title {
        display: none
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-tel__title {
        display: block
    }
}

@media screen and (max-width: 767.9px) {
    .c-header-tel__title {
        display:block
    }
}

.c-header-tel__number strong {
    display: inline-block;
    font-size: clamp(1.225rem,7.4666666667vw,1.75rem);
    line-height: 1;
    margin-top: clamp(14px,5.3333333333vw,20px);
    position: relative
}

@media screen and (min-width: 768px) {
    .c-header-tel__number strong {
        display:inline;
        font-size: clamp(1.4rem,1.9444444444vw,1.75rem)
    }
}

.c-header-tel__number strong:before {
    background: url(../asset/tel-white.svg) no-repeat 50% 50%/contain;
    content: "";
    display: inline-block;
    height: clamp(16.1px,6.1333333333vw,23px);
    left: clamp(-28px,-10.6666666667vw,-40px);
    position: absolute;
    top: clamp(2.8px,1.0666666667vw,4px);
    width: clamp(16.1px,6.1333333333vw,23px)
}

@media screen and (min-width: 768px) {
    .c-header-tel__number strong:before {
        background:url(../asset/tel-black.svg) no-repeat 50% 50%/contain;
        height: clamp(18.4px,1.5972222222vw,23px);
        left: clamp(-24px,-2.0833333333vw,-30px);
        top: clamp(8px,.6944444444vw,10px);
        width: clamp(18.4px,1.5972222222vw,23px)
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-tel__number strong: before {
        background:url(../common/tel-white.svg) no-repeat 50% 50%/contain;
        height: clamp(14.4px,1.25vw,18px);
        left: clamp(-16px,-1.3888888889vw,-20px);
        top: clamp(11.2px,.9722222222vw,14px);
        width: clamp(14.4px,1.25vw,18px)
    }
}

.c-header-tel__number a {
    color: #fff;
    text-decoration: none
}

@media screen and (min-width: 768px) {
    .c-header-tel__number a {
        color:#000
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-header-tel__number a {
        color: #fff
    }
}

.c-header-tel__text {
    font-size: clamp(.525rem,3.2vw,.75rem);
    margin: 0
}

@media screen and (min-width: 768px) {
    .c-header-tel__text {
        font-size:clamp(.6rem,.8333333333vw,.75rem);
        white-space: nowrap
    }

    .c-hamburger {
        display: none
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-hamburger {
        display: block
    }
}

.c-overlay-nav {
    display: none;
    height: calc(100vh - 60px);
    left: 0;
    overflow: auto;
    padding: clamp(10.5px,4vw,15px);
    position: fixed;
    top: 60px;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    animation-name: fade-a6831ac4;
    background-color: var(--primary);
    color: #fff;
    opacity: 0
}

@media screen and (min-width: 768px) {
    .c-overlay-nav {
        align-items:center;
        background-color: #fff;
        color: #000;
        display: flex;
        flex-direction: row;
        height: auto;
        justify-content: space-evenly;
        opacity: 1;
        overflow: unset;
        padding: 0;
        position: unset;
        top: 0;
        -webkit-overflow-scrolling: unset
    }
}

@media screen and (min-width: 768px) and (max-width:1000px) {
    .c-overlay-nav {
        padding:0 clamp(32px,2.7777777778vw,40px)
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-overlay-nav {
        background-color: var(--primary);
        color: #fff;
        display: none;
        height: calc(100vh - 95px);
        opacity: 0;
        overflow: auto;
        padding: clamp(10.5px,4vw,15px);
        position: fixed;
        top: 95px
    }
}

@keyframes fade-a6831ac4 {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.c-overlay-nav.is-active {
    display: block
}

.c-overlay-menu-nav {
    background-color: var(--primary);
    color: #fff;
    font-weight: 700;
    left: 0;
    padding: clamp(12.8px,1.1111111111vw,16px) clamp(12px,1.0416666667vw,15px);
    position: fixed;
    top: 95px;
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-overlay-menu-nav {
        border-bottom:1px solid #fff
    }
}

@media screen and (max-width: 767.9px) {
    .c-overlay-menu-nav {
        padding:clamp(7px,2.6666666667vw,10px) 0;
        position: relative;
        top: 0
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-overlay-menu-nav {
        padding: clamp(7px,2.6666666667vw,10px) 0;
        position: relative;
        top: 0
    }
}

.c-overlay-menu-nav__list {
    align-items: center;
    -moz-column-gap: clamp(32px,2.7777777778vw,40px);
    column-gap: clamp(32px,2.7777777778vw,40px);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center
}

@media screen and (max-width: 767.9px) {
    .c-overlay-menu-nav__list {
        display:block;
        font-weight: 400
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-overlay-menu-nav__list {
        display: block;
        font-weight: 400
    }
}

@media screen and (max-width: 767.9px) {
    .c-overlay-menu-nav__item {
        border-bottom:1px solid hsla(0,0%,100%,.5);
        font-size: clamp(.7rem,4.2666666667vw,1rem);
        margin-bottom: clamp(7px,2.6666666667vw,10px);
        position: relative
    }

    .c-overlay-menu-nav__item:last-of-type {
        margin-bottom: 0
    }

    .c-overlay-menu-nav__item:before {
        border-right: 2px solid #fff;
        border-top: 2px solid #fff;
        content: "";
        display: inline-block;
        height: clamp(7px,2.6666666667vw,10px);
        left: clamp(0px,0vw,0px);
        position: absolute;
        top: clamp(5.6px,2.1333333333vw,8px);
        transform: rotate(45deg);
        width: clamp(7px,2.6666666667vw,10px)
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-overlay-menu-nav__item {
        border-bottom: 1px solid hsla(0,0%,100%,.5);
        font-size: clamp(.7rem,4.2666666667vw,1rem);
        margin-bottom: clamp(10.5px,4vw,15px);
        position: relative
    }

    .c-overlay-menu-nav__item:last-of-type {
        margin-bottom: 0
    }

    .c-overlay-menu-nav__item:before {
        border-right: 2px solid #fff;
        border-top: 2px solid #fff;
        content: "";
        display: inline-block;
        height: clamp(7px,2.6666666667vw,10px);
        left: clamp(0px,0vw,0px);
        position: absolute;
        top: clamp(5.6px,2.1333333333vw,8px);
        transform: rotate(45deg);
        width: clamp(7px,2.6666666667vw,10px)
    }
}

.c-overlay-menu-nav__item a {
    color: #fff;
    text-decoration: none
}

@media screen and (max-width: 767.9px) {
    .c-overlay-menu-nav__item a {
        padding-left:1.1rem
    }
}

@media screen and (width >= 768px) and (width <= 960px) {
    .c-overlay-menu-nav__item a {
        text-indent: 1.1rem
    }

    .c-overlay-menu-nav__item a br {
        display: none
    }
}

.c-overlay-menu-nav__item a:hover {
    text-decoration: underline
}


.c-heading-h1 {
    background-color: #ea2422;
    color: #fff;
    font-weight: 400;
    line-height: 1.5;
    padding: clamp(14px,5.3333333333vw,20px) 0;
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-heading-h1 {
        padding:clamp(16px,1.3888888889vw,20px) 0
    }
}

.c-heading-h1.secondary {
    background-color: #63a2d8
}

.c-heading-h2 {
    font-size: clamp(1.05rem,6.4vw,1.5rem);
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1.3;
    margin-bottom: clamp(49px,18.6666666667vw,70px);
    position: relative;
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-heading-h2 {
        font-size:clamp(1.5rem,2.0833333333vw,1.875rem);
        font-size: clamp(1.6rem,2.2222222222vw,2rem);
        line-height: 1;
        margin-bottom: clamp(72px,6.25vw,90px)
    }
}

.c-heading-h2:after {
    background-color: #ea2422;
    bottom: clamp(-30px,-8vw,-15px);
    content: "";
    display: block;
    height: clamp(2.1px,.8vw,3px);
    left: 50%;
    position: absolute;
    transform: translate(-50%);
    width: max(70px,26.6666666667vw)
}

@media screen and (min-width: 768px) {
    .c-heading-h2:after {
        bottom:clamp(-40px,-2.7777777778vw,-20px);
        height: clamp(2.4px,.2083333333vw,3px);
        width: clamp(80px,6.9444444444vw,100px)
    }
}

.c-heading-h2.no-underline:after {
    display: none
}

.c-heading-h2.primary {
    color: #ea2422
}

.c-heading-h2.center {
    text-align: center
}

.c-heading-h3 {
    font-size: clamp(.875rem,5.3333333333vw,1.25rem);
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: clamp(7px,2.6666666667vw,10px)
}

@media screen and (min-width: 768px) {
    .c-heading-h3 {
        font-size:clamp(1.2rem,1.6666666667vw,1.5rem);
        margin-bottom: clamp(12px,1.0416666667vw,15px)
    }
}

.c-heading-h3.primary {
    color: #ea2422
}

.c-heading-h3.center {
    text-align: center
}

.c-heading-h4 {
    font-size: clamp(.6125rem,3.7333333333vw,.875rem);
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: clamp(7px,2.6666666667vw,10px)
}

@media screen and (min-width: 768px) {
    .c-heading-h4 {
        font-size:clamp(.8rem,1.1111111111vw,1rem);
        margin-bottom: clamp(12px,1.0416666667vw,15px)
    }
}

.c-heading-h4.primary {
    color: #ea2422
}

.c-heading-h4.center {
    text-align: center
}

.c-title-figure__img {
    margin: 0 auto
}

.c-title-figure__text {
    align-items: center;
    background: #fff;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 8px auto 0;
    padding: clamp(5.6px,2.1333333333vw,8px);
    width: 80%
}

@media screen and (min-width: 768px) {
    .c-title-figure__text {
        width:25%
    }
}

.c-title-figure__text span {
    color: var(--text-base-color);
    font-size: clamp(9.8px,3.7333333333vw,14px);
    padding-right: clamp(12.8px,1.1111111111vw,16px)
}

@media screen and (min-width: 768px) {
    .c-title-figure__text span {
        font-size:clamp(14.4px,1.25vw,18px)
    }
}

[data-v-cbe7707d]

.c-button[data-v-cbe7707d] {
    align-items: center;
    background-color: #ea2422;
    border-radius: clamp(16.8px,6.4vw,24px);
    color: #fff;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    font-size: clamp(.6125rem,3.7333333333vw,.875rem);
    font-weight: 500;
    justify-content: center;
    line-height: 1.2;
    min-height: clamp(33.6px,12.8vw,48px);
    padding: clamp(5.6px,2.1333333333vw,8px);
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-button[data-v-cbe7707d] {
        border-radius:clamp(22.4px,1.9444444444vw,28px);
        font-size: clamp(.8rem,1.1111111111vw,1rem);
        min-height: clamp(44.8px,3.8888888889vw,56px);
        width: clamp(272px,23.6111111111vw,340px)
    }
}

.c-button[data-v-cbe7707d]:after {
    background-color: #fff;
    content: "";
    display: block;
    height: clamp(13.3px,5.0666666667vw,19px);
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.141' height='19.141'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' stroke='%23ea2322' d='M0 0h11.141v19.141H0z' data-name='長方形 1297'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23a)' data-name='グループ 1556'%3E%3Cpath fill='none' stroke='%23ea2322' stroke-linecap='round' stroke-linejoin='round' stroke-width='3.141' d='m1.571 1.571 8 8-8 8' data-name='パス 804'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.141' height='19.141'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' stroke='%23ea2322' d='M0 0h11.141v19.141H0z' data-name='長方形 1297'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23a)' data-name='グループ 1556'%3E%3Cpath fill='none' stroke='%23ea2322' stroke-linecap='round' stroke-linejoin='round' stroke-width='3.141' d='m1.571 1.571 8 8-8 8' data-name='パス 804'/%3E%3C/g%3E%3C/svg%3E");
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: clamp(16.8px,6.4vw,24px);
    top: 50%;
    transform: translateY(-50%);
    transition: transform .2s ease;
    width: clamp(7.7px,2.9333333333vw,11px)
}

@media screen and (min-width: 768px) {
    .c-button[data-v-cbe7707d]:after {
        height:clamp(9.6px,.8333333333vw,12px);
        right: clamp(22.4px,1.9444444444vw,28px);
        width: clamp(4.8px,.4166666667vw,6px)
    }
}

.c-button[data-v-cbe7707d]:hover:after,.c-button[data-v-cbe7707d]:hover:before {
    transform: translate(4px,-50%)
}

.c-button.is-window[data-v-cbe7707d] {
    transition: transform .2s ease
}

.c-button.is-window[data-v-cbe7707d]:after {
    background-color: #fff;
    height: clamp(11.2px,4.2666666667vw,16px);
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='31.971'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' d='M0 0h32v31.971H0z' data-name='長方形 1618'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' clip-path='url(%23a)' data-name='グループ 1908'%3E%3Cpath d='M6.713 1.371h23.916v23.916H6.713z' data-name='長方形 1615'/%3E%3Cpath d='M6.713 1.371h23.916v7.967H6.713z' data-name='長方形 1616'/%3E%3Cpath d='M25.302 25.28v5.32H1.389v-7.971h-.018V6.669h5.32V25.28Z' data-name='パス 1280'/%3E%3Cpath d='M1.389 6.669h5.302v7.971H1.389z' data-name='長方形 1617'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='31.971'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' d='M0 0h32v31.971H0z' data-name='長方形 1618'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' clip-path='url(%23a)' data-name='グループ 1908'%3E%3Cpath d='M6.713 1.371h23.916v23.916H6.713z' data-name='長方形 1615'/%3E%3Cpath d='M6.713 1.371h23.916v7.967H6.713z' data-name='長方形 1616'/%3E%3Cpath d='M25.302 25.28v5.32H1.389v-7.971h-.018V6.669h5.32V25.28Z' data-name='パス 1280'/%3E%3Cpath d='M1.389 6.669h5.302v7.971H1.389z' data-name='長方形 1617'/%3E%3C/g%3E%3C/svg%3E");
    right: clamp(16.8px,6.4vw,24px);
    width: clamp(11.2px,4.2666666667vw,16px)
}

@media screen and (min-width: 768px) {
    .c-button.is-window[data-v-cbe7707d]:after {
        height:clamp(12.8px,1.1111111111vw,16px);
        right: clamp(17.6px,1.5277777778vw,22px);
        width: clamp(12.8px,1.1111111111vw,16px)
    }
}

.c-button.is-window[data-v-cbe7707d]:hover {
    box-shadow: 0 3px 3px #00000029;
    transform: translateY(-3px)
}

.c-button.is-window[data-v-cbe7707d]:hover:after,.c-button.is-window[data-v-cbe7707d]:hover:before {
    transform: translateY(-50%)
}

.c-button.is-pdf[data-v-cbe7707d] {
    transition: transform .2s ease
}

.c-button.is-pdf[data-v-cbe7707d]:before {
    background-color: #fff;
    border-radius: 0;
    content: "";
    display: block;
    height: clamp(21px,8vw,30px);
    left: clamp(12.6px,4.8vw,18px);
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23.115' height='29.964'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' d='M0 0h23.115v29.964H0z' data-name='長方形 1783'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg data-name='グループ 2181'%3E%3Cg clip-path='url(%23a)' data-name='グループ 2180'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M21.834 1.284v27.4H1.284V7.106l5.822-5.822Z' data-name='パス 2183'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23fff' d='M1.284 7.106h5.821V1.284Z' data-name='パス 2184'/%3E%3Cg data-name='グループ 2183'%3E%3Cg clip-path='url(%23a)' data-name='グループ 2182'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M7.106 1.284v5.822H1.284Z' data-name='パス 2185'/%3E%3Cpath fill='%23fff' d='M3.959 13.777h1.966c1.325 0 2.344.461 2.344 1.877 0 1.365-1.027 1.981-2.313 1.981h-.8v2.125h-1.2Zm1.916 2.911c.825 0 1.221-.348 1.221-1.034s-.437-.931-1.26-.931h-.68v1.966Z' data-name='パス 2186'/%3E%3Cpath fill='%23fff' d='M9.489 13.777h1.642a2.66 2.66 0 0 1 2.959 2.967 2.683 2.683 0 0 1-2.894 3.017H9.489Zm1.568 5.022c1.116 0 1.812-.6 1.812-2.055s-.695-2.013-1.812-2.013h-.371v4.068Z' data-name='パス 2187'/%3E%3Cpath fill='%23fff' d='M15.468 13.777h3.686v.995h-2.49v1.559h2.127v1h-2.126v2.425h-1.2Z' data-name='パス 2188'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23.115' height='29.964'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' d='M0 0h23.115v29.964H0z' data-name='長方形 1783'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg data-name='グループ 2181'%3E%3Cg clip-path='url(%23a)' data-name='グループ 2180'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M21.834 1.284v27.4H1.284V7.106l5.822-5.822Z' data-name='パス 2183'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23fff' d='M1.284 7.106h5.821V1.284Z' data-name='パス 2184'/%3E%3Cg data-name='グループ 2183'%3E%3Cg clip-path='url(%23a)' data-name='グループ 2182'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M7.106 1.284v5.822H1.284Z' data-name='パス 2185'/%3E%3Cpath fill='%23fff' d='M3.959 13.777h1.966c1.325 0 2.344.461 2.344 1.877 0 1.365-1.027 1.981-2.313 1.981h-.8v2.125h-1.2Zm1.916 2.911c.825 0 1.221-.348 1.221-1.034s-.437-.931-1.26-.931h-.68v1.966Z' data-name='パス 2186'/%3E%3Cpath fill='%23fff' d='M9.489 13.777h1.642a2.66 2.66 0 0 1 2.959 2.967 2.683 2.683 0 0 1-2.894 3.017H9.489Zm1.568 5.022c1.116 0 1.812-.6 1.812-2.055s-.695-2.013-1.812-2.013h-.371v4.068Z' data-name='パス 2187'/%3E%3Cpath fill='%23fff' d='M15.468 13.777h3.686v.995h-2.49v1.559h2.127v1h-2.126v2.425h-1.2Z' data-name='パス 2188'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: auto;
    width: clamp(16.8px,6.4vw,24px)
}

@media screen and (min-width: 768px) {
    .c-button.is-pdf[data-v-cbe7707d]:before {
        height:clamp(24px,2.0833333333vw,30px);
        left: clamp(22.4px,1.9444444444vw,28px);
        width: clamp(19.2px,1.6666666667vw,24px)
    }
}

.c-button.is-pdf[data-v-cbe7707d]:after {
    background-color: #fff;
    height: clamp(12.6px,4.8vw,18px);
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.627' height='17.5'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' d='M0 0h12.627v17.5H0z' data-name='長方形 1599'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' clip-path='url(%23a)' data-name='グループ 1859'%3E%3Cpath d='M6.314 13.274V.75' data-name='線 72'/%3E%3Cpath d='m.75 7.7 5.564 5.571L11.877 7.7' data-name='パス 1253'/%3E%3Cpath d='M11.877 13.965v2.785H.75v-2.785' data-name='パス 1254'/%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.627' height='17.5'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' d='M0 0h12.627v17.5H0z' data-name='長方形 1599'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' clip-path='url(%23a)' data-name='グループ 1859'%3E%3Cpath d='M6.314 13.274V.75' data-name='線 72'/%3E%3Cpath d='m.75 7.7 5.564 5.571L11.877 7.7' data-name='パス 1253'/%3E%3Cpath d='M11.877 13.965v2.785H.75v-2.785' data-name='パス 1254'/%3E%3C/g%3E%3C/svg%3E");
    width: clamp(9.1px,3.4666666667vw,13px)
}

@media screen and (max-width: 767.9px) {
    .c-button.is-pdf[data-v-cbe7707d]:after {
        right:clamp(11.2px,4.2666666667vw,16px)
    }
}

@media screen and (min-width: 768px) {
    .c-button.is-pdf[data-v-cbe7707d]:after {
        height:clamp(14.4px,1.25vw,18px);
        width: clamp(10.4px,.9027777778vw,13px)
    }
}

.c-button.is-pdf[data-v-cbe7707d]:hover {
    box-shadow: 0 3px 3px #00000029;
    transform: translateY(-3px)
}

.c-button.is-pdf[data-v-cbe7707d]:hover:after,.c-button.is-pdf[data-v-cbe7707d]:hover:before {
    transform: translate(0)
}

.c-button.is-secondary[data-v-cbe7707d] {
    background-color: #fff;
    border: 1px solid #ea2422;
    color: #333
}

.c-button.is-secondary[data-v-cbe7707d]:after {
    background-color: #ea2422
}

.c-button.disabled[data-v-cbe7707d] {
    background-color: #888;
    pointer-events: none
}

.c-button.is-sm[data-v-cbe7707d] {
    width: max(196px,74.6666666667vw)
}

@media screen and (min-width: 768px) {
    .c-button.is-sm[data-v-cbe7707d] {
        width:clamp(208px,18.0555555556vw,260px)
    }

    .c-button.is-md[data-v-cbe7707d] {
        width: clamp(360px,31.25vw,450px)
    }

    .c-button.is-lg[data-v-cbe7707d] {
        width: clamp(416px,36.1111111111vw,520px)
    }

    .c-button.is-full[data-v-cbe7707d] {
        width: 100%
    }
}

@media screen and (max-width: 767.9px) {
    .c-button.sp-2line[data-v-cbe7707d] {
        border-radius:clamp(25.9px,9.8666666667vw,37px);
        height: clamp(51.8px,19.7333333333vw,74px)
    }
}

:root {
    --primary: #ea2422;
    --sub-primary: #63a2d8;
    --text-base-color: #333;
    --table-color: #ccc
}

.c-contact {
    background: #ea2422;
    padding: clamp(28px,10.6666666667vw,40px) clamp(7.7px,2.9333333333vw,11px)
}

@media screen and (min-width: 768px) {
    .c-contact {
        padding:clamp(32px,2.7777777778vw,40px) 0 clamp(80px,6.9444444444vw,100px)
    }
}

@media screen and (max-width: 767.9px) {
    .c-contact.--personal {
        padding-top:clamp(10.5px,4vw,15px)
    }
}

.c-contact__inner {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 8px #00000045;
    padding: clamp(14px,5.3333333333vw,20px) clamp(10.5px,4vw,15px);
    position: relative
}

@media screen and (min-width: 768px) {
    .c-contact__inner {
        margin:0 auto;
        max-width: 980px;
        padding: clamp(32px,2.7777777778vw,40px)
    }
}

@media screen and (min-width: 768px) and (max-width:1000px) {
    .c-contact__inner {
        margin:0 clamp(16px,1.3888888889vw,20px)
    }
}

.c-contact__inner:after {
    background: url(../common/illust-operator.svg) 0 0/contain;
    content: "";
    display: block;
    height: clamp(132.8px,11.5277777778vw,166px);
    position: absolute;
    right: clamp(3.5px,1.3333333333vw,5px);
    top: clamp(-120px,-32vw,-60px);
    width: clamp(108px,9.375vw,135px)
}

@media screen and (min-width: 768px) {
    .c-contact__inner:after {
        height:clamp(132.8px,11.5277777778vw,166px);
        right: clamp(76.8px,6.6666666667vw,96px);
        top: clamp(-162px,-11.25vw,-81px);
        width: clamp(108px,9.375vw,135px)
    }
}

.c-contact__illust {
    display: flex;
    justify-content: center
}

@media screen and (width >= 860px) {
    .c-contact__illust {
        display: block;
        inset: auto 20px 110px auto;
        position: absolute
    }
}

.c-contact__illust-image {
    max-width: 125px;
    width: 100%
}

.c-contact-heading {
    padding-bottom: clamp(21px,8vw,30px)
}

@media screen and (min-width: 768px) {
    .c-contact-heading {
        padding-bottom:clamp(24px,2.0833333333vw,30px)
    }
}

@media screen and (max-width: 767.9px) {
    .c-contact-heading.--personal {
        padding-bottom:clamp(10.5px,4vw,15px)
    }
}

.c-contact-heading__title {
    color: #fff;
    font-weight: 600;
    line-height: 1.5;
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-contact-heading__title {
        font-size:clamp(1.2rem,1.6666666667vw,1.5rem)
    }

    .c-contact-heading__title br {
        display: none
    }
}

@media screen and (max-width: 767.9px) {
    .c-contact-heading__title.--personal {
        text-align:left
    }
}

@media screen and (min-width: 768px) {
    .c-contact-information-inner {
        align-items:center;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        width: 100%
    }

    .c-contact-information-inner__item {
        align-items: center;
        display: flex;
        flex: 1;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: center
    }
}

@media screen and (max-width: 767.9px) {
    .c-contact-information-inner__item:not(:last-of-type) {
        border-bottom:1px solid #ccc
    }
}

@media screen and (min-width: 768px) {
    .c-contact-information-inner__item:not(:last-of-type) {
        border-right:1px solid #ccc
    }
}

.c-contact-information__tell {
    color: #ea2422;
    font-size: clamp(1.225rem,7.4666666667vw,1.75rem);
    line-height: 1.5;
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-contact-information__tell {
        font-size:clamp(1.53125rem,9.3333333333vw,2.1875rem)
    }
}

.c-contact-information__phone-number {
    color: #ea2422;
    font-size: clamp(1.44375rem,8.8vw,2.0625rem);
    font-weight: 700;
    line-height: 1;
    padding-bottom: 5px;
    text-decoration: none
}

@media screen and (min-width: 768px) {
    .c-contact-information__phone-number {
        font-size:clamp(1.75rem,10.6666666667vw,2.5rem)
    }
}

.c-contact-information__company {
    font-size: clamp(.875rem,5.3333333333vw,1.25rem);
    font-weight: 700;
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-contact-information__company {
        font-size:clamp(1rem,1.3888888889vw,1.25rem);
        margin-bottom: clamp(16px,1.3888888889vw,20px)
    }
}

@media screen and (max-width: 767.9px) {
    .c-contact-information__mail {
        padding:clamp(10.85px,4.1333333333vw,15.5px)
    }
}

.c-contact-information__mail-address {
    color: var(--text-base-color);
    font-size: clamp(1.05rem,6.4vw,1.5rem);
    font-weight: 700;
    line-height: 2.25;
    text-decoration: none
}

@media screen and (min-width: 768px) {
    .c-contact-information__mail-address {
        font-size:clamp(1.44375rem,8.8vw,2.0625rem)
    }
}

.c-contact-information__time {
    font-size: 16px;
    font-weight: 700;
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-contact-information__time br {
        display:none
    }
}

.c-contact-information__time.is-staff {
    padding-bottom: clamp(14px,5.3333333333vw,20px)
}

.c-contact-message {
    padding-bottom: clamp(18.9px,7.2vw,27px)
}

@media screen and (min-width: 768px) {
    .c-contact-message {
        padding-bottom:clamp(16px,1.3888888889vw,20px)
    }
}

.c-contact-message__text {
    color: var(--text-base-color);
    font-size: 16px;
    line-height: 1.5;
    margin-top: clamp(12.8px,1.1111111111vw,16px);
    text-align: left
}

@media screen and (min-width: 768px) {
    .c-contact-message__text {
        text-align:center
    }
}

.c-contact-address {
    line-height: 2.25;
    padding-bottom: clamp(15.4px,5.8666666667vw,22px)
}

@media screen and (width >= 860px) {
    .c-contact-address {
        padding-bottom: 0
    }
}

.c-contact-address__text {
    font-size: clamp(.7rem,4.2666666667vw,1rem);
    font-weight: 700;
    text-align: center
}

@media screen and (min-width: 768px) {
    .c-contact-address__text {
        font-weight:700
    }
}


.c-footer__inner {
    margin: 0 auto;
    padding: clamp(14px,5.3333333333vw,20px) clamp(10.5px,4vw,15px)
}

@media screen and (min-width: 768px) {
    .c-footer__inner {
        max-width:clamp(1152px,100vw,1440px);
        padding: clamp(24px,2.0833333333vw,30px) clamp(64px,5.5555555556vw,80px);
        width: 100%
    }
}

@media screen and (min-width: 768px) and (max-width:1000px) {
    .c-footer__inner {
        padding:clamp(24px,2.0833333333vw,30px) clamp(16px,1.3888888889vw,20px)
    }
}

.c-footer {
    background-color: #f0f0f0;
    bottom: 0;
    font-size: clamp(.7rem,4.2666666667vw,1rem);
    position: relative
}

@media screen and (min-width: 768px) {
    .c-footer {
        font-size:clamp(.8rem,1.1111111111vw,1rem)
    }

    .c-footer-nav-list {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-around
    }
}

.c-footer-nav-list__item {
    margin: 0 clamp(7px,2.6666666667vw,10px) clamp(14px,5.3333333333vw,20px)
}

@media screen and (min-width: 768px) {
    .c-footer-nav-list__item {
        margin:0 clamp(8px,.6944444444vw,10px)
    }
}

.c-footer-nav-list__item p {
    font-weight: 700;
    margin-bottom: clamp(7px,2.6666666667vw,10px)
}

@media screen and (min-width: 768px) {
    .c-footer-nav-list__item p {
        margin-bottom:clamp(8px,.6944444444vw,10px)
    }
}

.c-footer-nav-list__item li {
    margin-bottom: clamp(7px,2.6666666667vw,10px);
    position: relative
}

@media screen and (min-width: 768px) {
    .c-footer-nav-list__item li {
        margin-bottom:clamp(8px,.6944444444vw,10px)
    }
}

.c-footer-nav-list__item li:before {
    border-right: 2px solid #ea2422;
    border-top: 2px solid #ea2422;
    content: "";
    display: inline-block;
    height: clamp(7px,2.6666666667vw,10px);
    left: clamp(0px,0vw,0px);
    position: absolute;
    top: clamp(5.6px,2.1333333333vw,8px);
    transform: rotate(45deg);
    width: clamp(7px,2.6666666667vw,10px)
}

@media screen and (min-width: 768px) {
    .c-footer-nav-list__item li:before {
        height:clamp(8px,.6944444444vw,10px);
        left: clamp(0px,0vw,0px);
        top: clamp(6.4px,.5555555556vw,8px);
        width: clamp(8px,.6944444444vw,10px)
    }
}

.c-footer-nav-list__item li a {
    color: #333;
    padding-left: clamp(14px,5.3333333333vw,20px);
    text-decoration: none
}

@media screen and (min-width: 768px) {
    .c-footer-nav-list__item li a {
        padding-left:clamp(16px,1.3888888889vw,20px)
    }
}

.c-footer-nav-list__item li a:hover {
    text-decoration: underline
}

.c-footer-nav-list__item div {
    margin-bottom: clamp(14px,5.3333333333vw,20px)
}

@media screen and (min-width: 768px) {
    .c-footer-nav-list__item div {
        margin-bottom:clamp(16px,1.3888888889vw,20px)
    }
}

.c-footer-box {
    color: #000;
    margin: clamp(21px,8vw,30px) auto;
    padding: clamp(14px,5.3333333333vw,20px);
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-footer-box {
        align-items:center;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start
    }
}

.c-footer-box img {
    margin: 0 auto
}

.c-footer-box figure {
    flex: 0 0 auto
}

.c-footer-box p {
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-footer-box p {
        font-size:clamp(.6rem,.8333333333vw,.75rem);
        margin-left: clamp(4px,.3472222222vw,5px)
    }
}

.c-footer-box .c-footer-box__link {
    margin-top: clamp(7px,2.6666666667vw,10px);
    position: relative
}

.c-footer-box .c-footer-box__link a {
    color: var(--sub-primary);
    padding-left: clamp(14px,5.3333333333vw,20px)
}

.c-copyright {
    text-align: center
}


.page-top {
    bottom: 20px;
    display: none;
    position: fixed;
    right: 20px;
    z-index: 10
}

@media screen and (min-width: 768px) {
    .page-top {
        display:block
    }
}

.page-top__button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--primary);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    height: 60px;
    justify-content: center;
    width: 60px
}

.page-top__button:hover .page-top__ico {
    transform: translateY(-3px);
    transition: .3s
}

.page-top__ico {
    margin-bottom: 5px;
    transition: .3s
}

.page-top__text {
    font-size: 10px
}

.button-enter-active,.button-leave-active {
    transition: opacity .5s
}

.button-enter,.button-leave-to {
    opacity: 0
}

.c-bread-crumb {
    padding: clamp(7px,2.6666666667vw,10px)
}

@media screen and (min-width: 768px) {
    .c-bread-crumb {
        margin:0 auto;
        max-width: clamp(1024px,88.8888888889vw,1280px);
        padding: clamp(10.5px,4vw,15px) 0;
        width: 100%
    }
}

@media screen and (min-width: 768px) and (max-width:1000px) {
    .c-bread-crumb {
        padding:0 clamp(32px,2.7777777778vw,40px)
    }
}

.c-bread-crumb__list {
    align-items: center;
    display: flex
}

.c-bread-crumb__item {
    font-size: 12px
}

@media screen and (min-width: 768px) {
    .c-bread-crumb__item {
        font-size:16px
    }
}

.c-bread-crumb__item-arrow {
    border: .15em solid;
    border-bottom: 0;
    border-left: 0;
    color: #aaa;
    content: "";
    display: inline-block;
    height: .7em;
    line-height: 1;
    margin-left: 5px;
    margin-right: 5px;
    transform: translate(-25%) rotate(45deg);
    vertical-align: middle;
    width: .7em
}

.c-bread-crumb__link {
    font-size: 12px;
}

@media screen and (min-width: 768px) {
    .c-bread-crumb__link {
        font-size:16px
    }
}

.c-bread-crumb__link.is-current {
    color: var(--text-base-color);
    text-decoration: none
}

main {
    padding-top: 60px
}

@media screen and (min-width: 768px) {
    main {
        padding-top:95px
    }
}


/* Complete Page */

.p-complete-btn {
  margin: 64px auto;
}