@charset "UTF-8";
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p, i,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

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

dd {
  margin-left: 0;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  outline: none;
}
a:hover {
  outline: none;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

@-webkit-keyframes skewanime {
  100% {
    left: -10%;
  }
}

@keyframes skewanime {
  100% {
    left: -10%;
  }
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 1;
    transform: translate3d(0, -60px, 0);
  }
  100% {
    opacity: 0;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 1;
    transform: translate3d(0, -60px, 0);
  }
  100% {
    opacity: 0;
    transform: none;
  }
}
html {
  font-size: 62.5%;
  line-height: 1.6;
  height: 100%;
}

body {
  width: 100%;
  height: 100%;
  font-family: "FP-HiraKakuProN-W3", "Hiragino Kaku Gothic Pro", "Meiryo", "Gothic", "Mincho", "MS Gothic", "MS PGothic", "Hiragino Mincho Pro", "MS Mincho", "MS PMincho", "Comic Sans MS", Hiragino Sans, Hiragino Sans, "ヒラギノ角ゴシック", Yu Gothic, "游ゴシック", monospace, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  position: relative;
  color: #333;
}
@media screen and (min-width: 1024px) {
  body {
    font-size: 1.6rem;
  }
}

.pointer-events-none {
  pointer-events: none;
}

.wrap {
  position: relative;
}
.wrap main {
  width: 100%;
  overflow: hidden;
}
.wrap main section {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .wrap main section {
    max-width: 960px;
    margin: 0 auto;
  }
}

header {
  display: none;
  position: relative;
  background: #fff;
  width: 100%;
  padding: 10px 0 4px;
}
@media screen and (min-width: 1024px) {
  header {
    display: block;
  }
}
header::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: #fc4a1a; /* fallback for old browsers */ /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #f7b733, #ef573d); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  position: absolute;
  top: 0;
  left: 0;
}
header .header_inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
header .header_inner a {
  display: flex;
  align-items: center;
  transition: 0.3s;
}
header .header_inner a span {
  font-family: "ヒラギノ丸ゴ StdN", "HG丸ｺﾞｼｯｸM-Pro", "HG丸ゴシックM-PRO", Hiragino Maru Gothic ProN W4, "ヒラギノ丸ゴ ProN W4", Hiragino Sans, "ヒラギノ角ゴシック", Yu Gothic, "游ゴシック", sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  color: black;
}
header .header_inner a img {
  display: inline-block;
  height: 60px;
  width: 100%;
  max-width: 120px;
  margin-right: 1em;
}
@media screen and (min-width: 1024px) {
  header .header_inner a:hover {
    opacity: 0.8;
  }
}

.main-visual {
  position: relative;
  color: #fff;
  text-align: center;
  background: #A16549;
  font-family: "ヒラギノ丸ゴ StdN", "HG丸ｺﾞｼｯｸM-Pro", "HG丸ゴシックM-PRO", Hiragino Maru Gothic ProN W4, "ヒラギノ丸ゴ ProN W4", Hiragino Sans, "ヒラギノ角ゴシック", Yu Gothic, "游ゴシック", sans-serif;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: bold;
  margin-bottom: 25px;
  letter-spacing: 0.15rem;
  padding: 75px 15px;
}
@media screen and (min-width: 1024px) {
  .main-visual {
    font-size: 3rem;
  }
}
.main-visual h1 {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .main-visual h1 {
    margin-bottom: 20px;
  }
}
.main-visual::before {
  content: "";
  display: block;
  width: 100%;
  height: 28px;
  background: #8B5C46;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 1024px) {
  .main-visual::before {
    height: 40px;
  }
}

.show_pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .show_pc {
    display: inline-block;
  }
}

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

.miraichan {
  margin-bottom: 20px;
  padding-left: 15px;
}
@media screen and (min-width: 1024px) {
  .miraichan {
    padding: 0;
  }
}
.miraichan img {
  width: 61px;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .miraichan img {
    width: 95px;
  }
}

.read {
  padding: 0 14px;
  margin-bottom: 20px;
  font-size: 1.6rem;
}
@media screen and (min-width: 1024px) {
  .read {
    padding: 0 20px 0 0;
    margin-bottom: 60px;
    font-size: 1.5rem;
  }
}
.read .read_for {
  display: inline-block;
  margin-bottom: 3px;
  font-size: 1.7rem;
}
@media screen and (min-width: 1024px) {
  .read .read_for {
    font-size: 1.5rem;
  }
}

.h2_ttl {
  position: relative;
  font-size: 2rem;
  border-top: dotted 2px #8B5C46;
  border-bottom: dotted 2px #8B5C46;
  border-left: solid 6px #8B5C46;
  margin-bottom: 15px;
  color: #8B5C46;
  font-family: "ヒラギノ丸ゴ StdN", "HG丸ｺﾞｼｯｸM-Pro", "HG丸ゴシックM-PRO", Hiragino Maru Gothic ProN W4, "ヒラギノ丸ゴ ProN W4", Hiragino Sans, "ヒラギノ角ゴシック", Yu Gothic, "游ゴシック", sans-serif;
  padding: 10px 0 10px 20px;
}
@media screen and (min-width: 1024px) {
  .h2_ttl {
    text-indent: 1.4em;
    font-size: 1.8rem;
    padding: 0 0 10px 0;
    border-bottom: solid 1px #E8EDED;
    border-top: none;
    border-left: none;
    margin-bottom: 20px;
    letter-spacing: 0.15rem;
  }
  .h2_ttl::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: -8px;
    width: 35px;
    height: 35px;
    background: #f9da98;
    border-radius: 50%;
    z-index: -1;
    opacity: 0.5;
  }
}

.h3_ttl {
  background: #f5f5f5;
  padding: 10px;
  margin-bottom: 20px;
  font-family: "ヒラギノ丸ゴ StdN", "HG丸ｺﾞｼｯｸM-Pro", "HG丸ゴシックM-PRO", Hiragino Maru Gothic ProN W4, "ヒラギノ丸ゴ ProN W4", Hiragino Sans, "ヒラギノ角ゴシック", Yu Gothic, "游ゴシック", sans-serif;
}
@media screen and (min-width: 1024px) {
  .h3_ttl {
    margin-bottom: 40px;
  }
}

.flow_list {
  counter-reset: number 0;
  margin-bottom: 50px;
}
@media screen and (min-width: 1024px) {
  .flow_list {
    margin-left: 50px;
  }
}
.flow_list li {
  position: relative;
  padding: 0 15px;
}
@media screen and (min-width: 1024px) {
  .flow_list li {
    padding: 0 15px 30px 125px;
  }
}
.flow_list li::before {
  counter-increment: number 1;
  content: counter(number);
  display: flex;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: #333;
  background: #FFF0D1;
  position: absolute;
  left: 15px;
  top: 0;
}
@media screen and (min-width: 1024px) {
  .flow_list li::before {
    content: "STEP" counter(number);
    width: 85px;
    height: 85px;
    background: #FFF0D1;
    color: #656565;
    font-size: 1.6rem;
    top: -10px;
  }
}
@media screen and (min-width: 1024px) {
  .flow_list li::after {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    border-left: dashed 2.5px #333;
    left: 56px;
    top: 30px;
    z-index: -1;
    opacity: 0.8;
  }
}
.flow_list li .flow_ttl {
  color: #000;
  text-indent: 1.8em;
  margin-bottom: 8px;
}
@media screen and (min-width: 1024px) {
  .flow_list li .flow_ttl {
    text-indent: 0;
  }
}
.flow_list li .flow_txt {
  background: #f5f5f5;
  border-radius: 10px;
  padding: 10px 15px;
  margin-bottom: 20px;
}
.flow_list li .flow_txt p.ind {
  text-indent: -1em;
  margin-left: 1em;
  margin-top: 5px;
}
@media screen and (min-width: 1024px) {
  .flow_list li .flow_txt {
    max-width: 615px;
  }
}
.flow_list li:last-of-type::after {
  content: none;
}

.document_list_wrap {
  margin-bottom: 60px;
}
@media screen and (min-width: 1024px) {
  .document_list_wrap {
    margin-bottom: 80px;
  }
}
.document_list_wrap .read {
  margin-bottom: 10px;
  padding-left: 0;
}
@media screen and (min-width: 1024px) {
  .document_list_wrap {
    background: #f5f5f5;
    border-radius: 10px;
    padding: 10px 32px;
  }
}

.document_list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 15px;
}
@media screen and (min-width: 1024px) {
  .document_list {
    flex-direction: row;
    padding: 0;
  }
}
@media screen and (min-width: 1024px) {
  .document_list.col_1 li {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .document_list.col_2 li {
    width: 48%;
  }
}
.document_list li {
  position: relative;
  width: 100%;
  background: #fff;
  margin-bottom: 12px;
  overflow: hidden;
  transition: ease 0.2s;
  flex-direction: column;
  display: flex;
  border: solid 1px #e4b39b;
  border-radius: 5px;
}
@media screen and (min-width: 1024px) {
  .document_list li {
    width: calc((100% - 40px) / 3);
    border: solid 1px #CBCBCB;
    margin-bottom: 20px;
  }
}
.document_list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: -160%;
  background: #CCE9F8;
  width: 120%;
  height: 100%;
  transform: skewX(-25deg);
}
.document_list li .text_ex {
  padding-top: 5px;
  padding-bottom: 11px;
}
.document_list li a {
  background-image: url(../img/icon_download--brown2.svg), url(../img/icon_excel.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: top 50% right 15px, top 50% right 40px;
  background-size: 16px 16px, 18px 24px;
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 15px 0 15px 15px;
  color: #552915;
  transition: all 0.3s;
}
.document_list li a:hover {
  background-color: #FFF0D1;
}
@media screen and (min-width: 1024px) {
  .document_list li a {
    padding: 10px 15px 10px;
    background-size: 22px 24px, 24px 30px;
    background-position: top 50% right 15px, top 50% right 50px;
  }
}
.document_list li a.icon_word {
  background-image: url(../img/icon_download--brown2.svg), url(../img/icon_word.svg);
}
.document_list li a.icon_pdf {
  background-image: url(../img/icon_download--brown2.svg), url(../img/icon_pdf.svg);
}
.document_list li a .name {
  width: calc(100% - 62px);
  height: 100%;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.document_list li a .name span {
  margin-bottom: 5px;
  font-size: 1.4rem;
}
.document_list li a .name p {
  font-weight: bold;
}
.document_list li a .name p .caution {
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 1.38;
  display: inline-block;
  margin-top: 8px;
}
.document_list li a .sub_name {
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .document_list li .text_ex {
    padding: 5px 0 15px 15px;
  }
}

.application_wrap {
  padding: 15px;
}
@media screen and (min-width: 1024px) {
  .application_wrap {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.application_wrap .application_box {
  width: 100%;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}
.application_wrap .application_box h3 {
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  letter-spacing: 0.4rem;
  padding: 10px;
}
.application_wrap .application_box:first-of-type {
  border: solid 2px #ef573d;
}
.application_wrap .application_box:first-of-type h3 {
  background: #ef573d;
}
.application_wrap .application_box:last-of-type {
  border: solid 2px #ef573d;
}
.application_wrap .application_box:last-of-type h3 {
  background: #ef573d;
}
@media screen and (min-width: 1024px) {
  .application_wrap .application_box:last-of-type .box_content {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}
.application_wrap .application_box .box_content {
  padding: 20px 15px;
  text-align: left;
}
.application_wrap .application_box .box_content strong {
  display: inline-block;
  margin-bottom: 10px;
}
.application_wrap .application_box .box_content .mailaddress .mailaddress_detail {
  margin-bottom: 30px;
}
.application_wrap .application_box .box_content .mailaddress .mailaddress_detail a {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  color: #0080bf;
  text-decoration: underline;
  margin-bottom: 12px;
}
@media screen and (min-width: 1024px) {
  .application_wrap .application_box .box_content .mailaddress .mailaddress_detail a:hover {
    color: #005e8c;
  }
}
.application_wrap .application_box .box_content .mailaddress p {
  font-size: 1.4rem;
  text-align: left;
}
.application_wrap .application_box .box_content .address h4 {
  text-align: left;
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 8px;
}
.application_wrap .application_box .box_content .address .address_detail {
  text-align: left;
  font-size: 1.8rem;
  margin-bottom: 12px;
  font-weight: bold;
  color: #000;
}
.application_wrap .application_box .box_content .address p {
  font-size: 1.6rem;
  text-align: left;
}

.align-l {
  text-align: left;
}

.text_link {
  text-decoration: underline;
  color: #8B5C46;
  font-weight: bold;
}

.btn_manual {
  position: relative;
  display: inline-block;
  border: solid 1px #0080bf;
  padding: 18px 30px 18px 20px;
  color: #0080bf;
  transition: 0.3s;
  white-space: nowrap;
}
.btn_manual::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 15px;
  color: #0080bf;
  vertical-align: middle;
  width: 10px;
  height: 10px;
  border-top: solid 2px #0080bf;
  border-right: solid 2px #0080bf;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s;
}
@media screen and (min-width: 1024px) {
  .btn_manual:hover {
    background: #CCE9F8;
  }
  .btn_manual:hover::after {
    right: 10px;
  }
}

.col_wrap {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .col_wrap {
    flex-direction: row;
    justify-content: center;
  }
}
.col_wrap .col__box {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .col_wrap .col__box {
    width: 49%;
  }
}
@media screen and (min-width: 1024px) {
  .col_wrap .col__box + .col__box {
    margin-left: 2%;
  }
}
.col_wrap.col7-3 {
  align-items: center;
  width: 96%;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .col_wrap.col7-3 {
    margin-block: 10px;
  }
}
.col_wrap.col7-3 .col__box:first-of-type {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .col_wrap.col7-3 .col__box:first-of-type {
    display: flex;
    flex-direction: column;
  }
}
.col_wrap.col7-3 .col__box:first-of-type p {
  margin-bottom: 15px;
}
.col_wrap.col7-3 .col__box:first-of-type p span {
  color: #8B5C46;
}
@media screen and (min-width: 1024px) {
  .col_wrap.col7-3 .col__box:first-of-type p {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .col_wrap.col7-3 .col__box + .col__box {
    width: 28%;
  }
}
.col_wrap.col_wrap--bnr {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr {
    margin-bottom: 40px;
  }
}
.col_wrap.col_wrap--bnr a {
  display: block;
  margin-bottom: 15px;
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a {
    margin-bottom: 0;
    transition: 0.3s;
  }
}
.col_wrap.col_wrap--bnr a:has(.end) {
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a:hover {
    opacity: 0.8;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box {
  background: #0080bf;
  background: linear-gradient(108deg, #ff7150 0%, #ff7150 37%, #ef5f3d 37%, #ef5f3d 100%);
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box {
    background: linear-gradient(125deg, #ff7150 0%, #ff7150 50%, #ef5f3d 50%, #ef5f3d 100%);
    max-width: 1000px;
    border-radius: 16px;
  }
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a .bnr_box {
    width: 680px;
    max-width: 680px;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main {
  width: 100%;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10% clamp(20px, 5vw, 20%) 10px;
}
.col_wrap.col_wrap--bnr a .bnr_box__main:has(.end) {
  padding: 30px 20px 20px;
  gap: unset;
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main:has(.end) {
    gap: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main:has(.end) {
    padding: 20px;
    gap: 10px;
  }
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main {
    flex-direction: row;
    gap: 40px;
    padding: 3.5% 40px 3.5% 20px;
    justify-content: center;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__icon {
  width: 35%;
}
.col_wrap.col_wrap--bnr a .bnr_box__main__icon img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__icon {
    width: 100px;
  }
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__icon {
    width: 85px;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text {
  margin-top: 20px;
  text-align: center;
  position: relative;
  font-size: clamp(3rem, 6vw, 8rem);
  font-weight: bold;
}
@media screen and (max-width: 450px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text p:has(.long-txt) {
    line-height: 1.2;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text.end {
  margin-top: unset;
  font-size: clamp(2rem, 16.183px + 1.018vw, 2.4rem);
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text.end::after {
  display: none;
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text.end {
    font-size: 2.4rem;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text.end .br_none {
  display: none;
}
@media screen and (max-width: 450px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text.end .br_none {
    display: block;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text.end span {
  line-height: 1.2;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text.end span {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text.end span {
    font-size: 1.8rem;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text::after {
  display: none;
  content: "";
  position: absolute;
  top: 65%;
  right: -1.6rem;
  transform: translateY(-50%) rotate(45deg);
  width: 1.6rem;
  height: 1.6rem;
  border-right: 5px solid #fff;
  border-bottom: 5px solid #fff;
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text {
    margin-top: 0;
    text-align: left;
    font-size: clamp(3rem, 18.571px + 1.488vw, 4rem);
    letter-spacing: 0.1em;
    margin-bottom: -5px;
  }
  .col_wrap.col_wrap--bnr a .bnr_box__main__text::after {
    display: block;
    right: -4rem;
  }
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text {
    font-size: 3rem;
  }
  .col_wrap.col_wrap--bnr a .bnr_box__main__text::after {
    right: -4.9rem;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text span {
  font-size: clamp(1.5rem, 12.714px + 0.298vw, 1.7rem);
  display: block;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text span {
    font-size: 1.7rem;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text span + b.long-txt {
  font-size: clamp(24px, 16.366px + 2.036vw, 32px);
}
@media screen and (max-width: 450px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text span + b.long-txt {
    font-size: clamp(20px, 0px + 5.333vw, 24px);
  }
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text span + b.long-txt {
    font-size: 3rem;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__main__text span.ha {
  display: inline;
  font-size: clamp(2.2rem, 4vw, 5rem);
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__main__text span.ha {
    font-size: 3rem;
  }
  .col_wrap.col_wrap--bnr a .bnr_box__main__text span.ha::after {
    content: "";
    border-top: 5px solid #fff;
    border-right: 5px solid #fff;
    transform: rotate(45deg);
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-left: 5px;
    margin-bottom: 3px;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__period {
  width: 100%;
  background: #FFF229;
  border-radius: 0 0 19px 19px;
  display: flex;
  justify-content: center;
  padding: 5%;
  gap: 13px;
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__period {
    padding: 1.5%;
    align-items: center;
    border-radius: 0 0 14px 14px;
    gap: 15px;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__period__ttl {
  background: #fff;
  border-radius: 30px;
  padding: 10px 16px;
  width: 97px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: clamp(1.24rem, 1.5vw, 1.5rem);
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__period__ttl {
    font-size: 1.5rem;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__period__text {
  font-size: clamp(1.4rem, 3vw, 4rem);
  width: calc(100% - 47px);
  max-width: 280px;
  line-height: 1.3;
  font-weight: bold;
  color: #000;
  font-feature-settings: "palt";
}
.col_wrap.col_wrap--bnr a .bnr_box__period__text.pre {
  max-width: 353px;
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__period__text.pre {
    max-width: 478px;
  }
}
.col_wrap.col_wrap--bnr a .bnr_box__period__text b {
  font-size: clamp(2rem, 4vw, 3.5rem);
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__period__text b {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 768px) {
  .col_wrap.col_wrap--bnr a .bnr_box__period__text {
    font-size: 1.8rem;
    max-width: 470px;
  }
  .col_wrap.col_wrap--bnr a .bnr_box__period__text .show_sp {
    display: none;
  }
}
.col_wrap.col_wrap--bnr + .col__box .c-red.b_btm {
  margin-bottom: 20px;
}
@media screen and (min-width: 1024px) {
  .col_wrap.col_wrap--bnr + .col__box .c-red.b_btm {
    margin-bottom: 32px;
  }
}

.contact_wrap {
  background: #FFF0D1;
  padding: 25px 40px;
  margin-bottom: 40px;
}
.contact_wrap h2 {
  margin: 0 0 20px -40px;
  display: inline-block;
  color: #fff;
  padding: 10px 25px;
  font-size: 1.4rem;
  font-weight: bold;
  background: #8B5C46;
}
.contact_wrap .contact_name {
  font-weight: bold;
  color: #552915;
  margin-bottom: 10px;
}
.contact_wrap .tel {
  display: innline-block;
  font-weight: bold;
  color: #552915;
  font-size: 2.7rem;
  letter-spacing: 0.4rem;
  margin-bottom: 10px;
}
.contact_wrap .tel::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 32px;
  background: url(../img/icon_tel--brown2.svg) no-repeat 0 0;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.8rem;
  margin-bottom: 5px;
}
.contact_wrap p {
  color: #552915;
  font-size: 1.4rem;
}

.page_top {
  position: fixed;
  display: block;
  bottom: 50px;
  right: 40px;
  z-index: 3;
  width: 46px;
  height: 46px;
  color: #fff;
  font-size: 1rem;
  border-radius: 50%;
  background: #8B5C46;
  text-align: center;
  transition: 0.3s;
  padding-top: 20px;
  transition: 0.3s;
  opacity: 0;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@media screen and (min-width: 1024px) {
  .page_top {
    padding-top: 30px;
    font-size: 1.2rem;
    width: 60px;
    height: 60px;
    right: 80px;
    bottom: 30px;
  }
}
.page_top::before {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
  transform: rotate(45deg) translateX(-50%);
  margin-bottom: 20px;
  transition: 0.3s;
}
@media screen and (min-width: 1024px) {
  .page_top::before {
    width: 12px;
    height: 12px;
    top: 22px;
  }
}
.page_top::after {
  content: "";
  width: 60px;
  height: 100px;
  display: block;
  background: url("../img/miraichan.png") no-repeat 0 0;
  background-size: contain;
  position: absolute;
  top: -50px;
  right: -40px;
}
@media screen and (min-width: 1024px) {
  .page_top::after {
    width: 80px;
    height: 140px;
    top: -50px;
    right: -55px;
  }
}
@media screen and (min-width: 1024px) {
  .page_top:hover {
    background-color: rgba(139, 92, 70, 0.9);
  }
  .page_top:hover::before {
    top: 18px;
  }
}
.page_top.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
}
.page_top.fadeInDown {
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
}

footer {
  position: relative;
  display: flex;
  align-items: center;
  background: #fffcf5;
  padding: 30px 0;
  color: #552915;
}
@media screen and (min-width: 1024px) {
  footer {
    background: #fff;
    color: #333;
  }
  footer::before {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: #fc4a1a; /* fallback for old browsers */ /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, #f7b733, #ef573d); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    position: absolute;
    top: 0;
    left: 0;
  }
}
footer .footer_inner {
  text-align: center;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  footer .footer_inner {
    text-align: left;
  }
}
footer .footer_inner a {
  display: inline-block;
}
footer .footer_inner a img {
  max-width: 160px;
  display: inline-block;
  margin-bottom: 10px;
}
footer .footer_inner a span {
  display: inline-block;
  margin-bottom: 20px;
  font-size: 1.6rem;
  color: #552915;
  font-family: "ヒラギノ丸ゴ StdN", "HG丸ｺﾞｼｯｸM-Pro", "HG丸ゴシックM-PRO", Hiragino Maru Gothic ProN W4, "ヒラギノ丸ゴ ProN W4", Hiragino Sans, "ヒラギノ角ゴシック", Yu Gothic, "游ゴシック", sans-serif;
}
@media screen and (min-width: 1024px) {
  footer .footer_inner a span {
    color: #000;
    margin-bottom: 5px;
    font-weight: bold;
    letter-spacing: 0.2rem;
    transition: 0.3s;
  }
}
@media screen and (min-width: 1024px) {
  footer .footer_inner a:hover span {
    color: #0080bf;
  }
  footer .footer_inner a:hover img {
    opacity: 0.8;
  }
}
footer .footer_inner address {
  font-size: 1.2rem;
  margin-bottom: 20px;
}
@media screen and (min-width: 1024px) {
  footer .footer_inner address {
    margin-bottom: 0;
  }
}
footer .footer_inner small {
  font-size: 1rem;
}
@media screen and (min-width: 1024px) {
  footer .footer_inner small {
    font-size: 1.2rem;
  }
}

.wrap .mb-80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .wrap .mb-80 {
    margin-bottom: 60px;
  }
}

.c-red {
  color: red;
}

@media screen and (max-width: 768px) {
  .sp_pb5 {
    padding-bottom: 5px !important;
  }
}

.box_content .address .last_txt {
  margin-bottom: 11px;
}
@media screen and (max-width: 768px) {
  .box_content .address .last_txt {
    margin-bottom: 15px;
  }
}
.box_content .in_box {
  border: 1px solid #aaa;
  padding: 20px;
  height: 100%;
}
.box_content .in_box p {
  font-size: 1.4rem !important;
}
.box_content .in_box p.attention {
  color: red;
  font-weight: bold;
}
@media screen and (min-width: 1024px) {
  .box_content .in_box p.attention {
    font-size: 1.6rem !important;
  }
}
.box_content .in_box .end_box {
  border: 3px solid #0070c0;
  background-color: #fff;
  max-width: 220px;
  margin: 0 auto;
}
.box_content .in_box .end_box .end_box_txt {
  color: #0070c0;
  padding: 15px 20px;
  font-weight: bold;
  text-align: center !important;
  font-size: 1.8rem !important;
  line-height: 1;
}
.box_content .bg_y {
  background-color: #fff2cc;
}
.box_content .bg_g {
  background-color: #d0cece;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

@media screen and (min-width: 1024px) {
  .document_list li .icon_pdf_cus {
    background-position: top 25% right 15px, top 25% right 50px;
  }
}
@media screen and (max-width: 1023px) {
  .document_list li .icon_pdf_cus {
    background-position: top 37% right 15px, top 37% right 40px;
  }
}
.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}
.end-news {
  background-color: #fff;
  border: red solid 3px;
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
  padding: 10px 20px;
  margin-top: 20px;
}
.end-news .end-news-head {
  font-size: clamp(1.4rem, 2.4vw, 2.6rem);
  color: red;
  text-align: left;
  font-weight: bold;
  font-family: "ヒラギノ丸ゴ StdN", "HG丸ｺﾞｼｯｸM-Pro", "HG丸ゴシックM-PRO", Hiragino Maru Gothic ProN W4, "ヒラギノ丸ゴ ProN W4", Hiragino Sans, "ヒラギノ角ゴシック", Yu Gothic, "游ゴシック", sans-serif;
}
.end-news .end-news-body {
  font-size: clamp(1.4rem, 2.4vw, 1.6rem);
  color: #000;
  text-align: left;
  font-weight: bold;
  font-family: "ヒラギノ丸ゴ StdN", "HG丸ｺﾞｼｯｸM-Pro", "HG丸ゴシックM-PRO", Hiragino Maru Gothic ProN W4, "ヒラギノ丸ゴ ProN W4", Hiragino Sans, "ヒラギノ角ゴシック", Yu Gothic, "游ゴシック", sans-serif;
}

@media (pointer: fine), (hover: hover) {
  a:where([href^="tel:"]) {
    pointer-events: none;
    text-decoration: none;
  }
}
@media (hover: none) {
  a:where([href^="tel:"]) {
    text-decoration: underline;
  }
}
.text_movie {
  margin: 0 0 80px 15px;
}

.mb-100 {
  margin-bottom: 100px;
}

.text_red {
  color: red;
  margin-bottom: 10px !important;
}

.text_orange {
  font-size: 1.6rem;
  color: #8B5C46;
  font-weight: bold;
  text-decoration: underline;
}

@media screen and (max-width: 1024px) {
  .text_orange {
    font-size: 1.4rem;
  }
  .text_movie {
    margin: 0 0 60px 30px;
  }
}