@charset "UTF-8";
@media screen and (min-width: 768px), print {
  .seo_bread_list { width: 100%; margin: 0 auto; }
  a[id] { display:block; height:0px; overflow:hidden; text-indent:-9999px; margin-top:-80px; padding-bottom:80px; }
  .h-logo, h2.main-title, #gl-nav, .seo_bread_list, #g-nav .g-flex-list { display: none !important; }
  #g-nav { height: 0; padding: 0; }
  header { padding: 0; }
  .kiritori-box { width: 1280px; margin: 0 auto; }
  .kiritori-box .in { margin-left: -320px; margin-right: -320px; }
  .tyousei-page { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","NotoSansCJKjp","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: normal; font-size: 16px; letter-spacing: 0.05em; line-height: 35px; color: #000; margin-bottom: -8px; }
  .bnr-line { width: 525px; margin: 0 auto; }
  #c-1 { margin-bottom: 247px; }
  #c-1 .inner .ttl { margin-top: 76px; font-weight: 600; font-size: 18px; letter-spacing: 0.05em; line-height: 53px; text-align: center; margin-bottom: 26px; }
  #c-1 .inner .txt-01 { font-size: 22px; letter-spacing: 0.05em; line-height: 56px; text-align: center; margin-bottom: 71px; }
  #c-2 { background-color: #F7F7F7; padding-bottom: 138px; }
  #c-2 .inner { width: 1200px; margin: 0 auto; }
  #c-2 .inner .flex-01 { display: flex; flex-wrap: wrap; background-image: url(../images/line/deco.png); background-repeat: no-repeat; background-position: center bottom; padding-bottom: 93px; margin-bottom: 87px; }
  #c-2 .inner .flex-01 .box-l { width: 541px; position: relative; top: -68px; margin-right: 78px; }
  #c-2 .inner .flex-01 .box-r { width: 548px; padding-top: 89px; font-weight: normal; font-size: 16px; letter-spacing: 0.05em; line-height: 35px; color: #000; }
  #c-2 .inner .flex-01 .box-r .ttl { font-weight: 600; letter-spacing: 0.05em; line-height: 36px; color: #000; margin-bottom: 49px; }
  #c-2 .inner .flex-01 .box-r .ttl .ss1 { font-size: 25px; display: block; margin-bottom: 31px; letter-spacing: 1.4px; }
  #c-2 .inner .flex-01 .box-r .ttl .ss2 { font-size: 40px; letter-spacing: 2.2px; }
  #c-2 .inner .flex-01 .box-r .p-mb { margin-bottom: 35px; }
  #c-2 .inner .s-ttl { font-weight: 600; font-size: 40px; letter-spacing: 0.05em; line-height: 46px; text-align: center; margin-bottom: 40px; }
  #c-2 .inner .txt-01 { font-weight: normal; font-size: 16px; letter-spacing: 0.05em; line-height: 35px; text-align: center; margin-bottom: 76px; }
  #c-2 .inner .mini-list { display: flex; flex-wrap: wrap; margin-bottom: 103px; }
  #c-2 .inner .mini-list >li { width: 590px; background-color: #FFFFFF; margin-right: 20px; margin-bottom: 20px; padding: 58px 19px 63px; }
  #c-2 .inner .mini-list >li:nth-child(2n) { margin-right: 0px; }
  #c-2 .inner .mini-list .li-ttl { font-weight: 600; font-size: 27px; letter-spacing: 0.05em; line-height: 40px; text-align: center; color: #000; margin-bottom: 50px; }
  #c-2 .inner .mini-list .li-pic { margin-bottom: 33px; }
  #c-2 .inner .mini-list .li-txt { font-size: 16px; letter-spacing: 0.05em; line-height: 30px; color: #000; }
  #c-3 { background-color: #EAE4D5; padding-top: 127px; padding-bottom: 151px; }
  #c-3 .inner .ttl { font-weight: 600; font-size: 40px; letter-spacing: 0.05em; line-height: 46px; text-align: center; color: #000; margin-bottom: 100px; }
  #c-3 .inner .list { width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; }
  #c-3 .inner .list >li { width: 386px; background-color: #fff; position: relative; margin-right: 21px; }
  #c-3 .inner .list >li:nth-child(3n) { margin-right: 0px; }
  #c-3 .inner .list .li-num { position: absolute; top: -12px; left: 13px; }
  #c-3 .inner .list .li-ttl { font-weight: 600; font-size: 21px; letter-spacing: 0.05em; line-height: 34px; text-align: center; color: #000; margin-bottom: 27px; margin-top: 59px; }
  #c-3 .inner .list .li-txt-box { width: 350px; margin: 0 auto; margin-bottom: 32px; }
  #c-3 .inner .list .li-pic { position: relative; }
  #c-4 { padding-top: 156px; margin-bottom: 149px; }
  #c-4 .inner .ttl { font-weight: 600; font-size: 40px; letter-spacing: 0.05em; line-height: 70px; text-align: center; color: #000; margin-bottom: 44px; }
  #c-4 .inner .txt-box { font-weight: normal; font-size: 16px; letter-spacing: 0.05em; line-height: 35px; text-align: center; color: #000; }
  #c-4 .inner .txt-box .p-mb { margin-bottom: 35px; }
  #c-4 .inner .txt-box .p-txt { font-weight: 600; font-size: 19px; letter-spacing: 0.05em; line-height: 56px; color: #000; margin-top: 44px; }
  .faq-sy-box .ttl { font-weight: 600; font-size: 40px; letter-spacing: 0.05em; line-height: 46px; text-align: center; color: #000; margin-bottom: 48px; }
  .faq-sy-box { width: 1103px; margin: 0 auto; margin-bottom: 80px; }
  .faq-sy-box .list .wysiwyg { margin-bottom: 0; }
  .faq-sy-box .list li { border-bottom: 2px solid #F5F5F5; border-top: 2px solid #fff; }
  .faq-sy-box .list .sy-ttl { padding: 15px 61px 15px 72px; font-weight: 400; position: relative; font-size: 18px; letter-spacing: 0.05em; line-height: 38px; text-align: left; color: #2b2827; letter-spacing: 1.8px; }
  .faq-sy-box .list .sy-ttl::before { padding: 5px 10px; color: #1a1a1a; font-size: 16px; font-weight: bold; letter-spacing: 0.8px; line-height: 24px; content: "Q"; width: 50px; height: 50px; color: #fff; background: #000; margin-right: 15px; }
  .faq-sy-box .list .sy-a-txt { padding: 23px 70px 24px 120px; border: 1px solid #000; font-weight: 400; text-align: left; color: #2b2827; position: relative; font-size: 17px; letter-spacing: 0.05em; line-height: 32px; letter-spacing: 0.05em; }
  .faq-sy-box .list .sy-a-txt p:nth-child(1) { font-size: 19px; letter-spacing: 0.05em; }
  .faq-sy-box .list .sy-a-txt .p-mb { margin-bottom: 19px; }
  .faq-sy-box .list .sy-a-txt::before { padding: 5px 10px; color: #1a1a1a; font-size: 18px; font-weight: bold; letter-spacing: 0.8px; line-height: 24px; content: "A"; color: #fff; background: #000; margin-right: 16px; position: absolute; left: 72px; top: 21px; }
  .faq-sy-box .sy-ttl { position: relative; padding: 15px; cursor: pointer; font-size: 26px; line-height: 1.4; margin-bottom: 0; }
  .faq-sy-box .sy-ttl .toggle_btn { background-image: url(../images/page-common/sy-icon-b.png); background-repeat: no-repeat; background-position: center 0; width: 41px; height: 41px; position: absolute; top: 16px; right: 9px; }
  .faq-sy-box .sy-ttl.selected .toggle_btn { transform: rotate(180deg); }
  .faq-sy-box .sy-a-ttl { font-size: 24px; font-weight: bold; letter-spacing: 1px; line-height: 1.8; text-align: center; margin-bottom: 10px; }
  .ec { margin-top: 151px; background-image: url(../images/line/bg-01.png); background-repeat: no-repeat; background-position: center 0; padding-top: 153px; }
  .ec .txt-01 { font-weight: normal; font-size: 40px; letter-spacing: 0.05em; line-height: 35px; text-align: center; color: #fff; margin-bottom: 35px; }
  .ec .txt-02 { font-weight: normal; font-size: 40px; letter-spacing: 0.05em; line-height: 35px; text-align: center; color: #fff; margin-bottom: 43px; }
  .ec .txt-03 { font-weight: 600; font-size: 16px; letter-spacing: 0.05em; line-height: 35px; text-align: center; color: #fff; margin-bottom: 334px; }
  .nagare-move-u { --nagare-w: 3000px; --nagare-h: 650px; --nagare-speed: 80s; margin-top: 109px; background-image: url(../images/line/nagare-01.png); background-repeat: repeat-x; background-position: 0 0; background-size: auto var(--nagare-h); width: 100%; height: var(--nagare-h); animation: nagare-left var(--nagare-speed) linear infinite; will-change: background-position; }
}

@media screen and (max-width: 767px) {
  a[id] { display:block; height:0px; overflow:hidden; text-indent:-2415.217vw; margin-top:-19.324vw; padding-bottom:19.324vw; }
  .h-logo, h2.main-title, #gl-nav, .seo_bread_list, #g-nav .g-flex-list { display: none !important; }
  #g-nav { height: 0; padding: 0; }
  header { padding: 0; }
  .tyousei-page { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","NotoSansCJKjp","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: normal; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 8.454vw; color: #000; margin-bottom: -1.932vw; }
  .bnr-line { width: 73.671vw; margin: 0 auto; }
  #c-1 { margin-bottom: 25.845vw; }
  #c-1 .inner .ttl { margin-top: 11.111vw; font-weight: 600; text-align: center; margin-bottom: 4.348vw; font-size: 2.657vw; letter-spacing: 0.05em; line-height: 10.87vw; }
  #c-1 .inner .txt-01 { width: 77.778vw; margin: 0 auto; margin-bottom: 11.353vw; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 7.729vw; }
  #c-2 { background-color: #F7F7F7; padding-bottom: 26.329vw; }
  #c-2 .inner { width: 100%; margin: 0 auto; }
  #c-2 .inner .flex-01 { flex-wrap: wrap; background-image: url(../images/line/sp-deco.png); background-repeat: no-repeat; background-position: center bottom; background-size: 0.242vw; padding-bottom: 19.324vw; margin-bottom: 13.527vw; }
  #c-2 .inner .flex-01 .box-l { width: 61.353vw; margin: 0 auto; position: relative; top: -13.527vw; margin-bottom: -22.222vw; }
  #c-2 .inner .flex-01 .box-r { width: 85.266vw; margin: 0 auto; padding-top: 21.498vw; font-weight: normal; color: #000; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 7.729vw; }
  #c-2 .inner .flex-01 .box-r .ttl { font-weight: 600; color: #000; margin-bottom: 6.28vw; font-size: 4.589vw; letter-spacing: 0.05em; line-height: 5.797vw; }
  #c-2 .inner .flex-01 .box-r .ttl .ss1 { display: block; margin-bottom: 4.831vw; font-size: 4.589vw; letter-spacing: 0.05em; line-height: 5.797vw; }
  #c-2 .inner .flex-01 .box-r .ttl .ss2 { font-size: 7.488vw; letter-spacing: 0.05em; line-height: 5.797vw; }
  #c-2 .inner .flex-01 .box-r .p-mb { margin-bottom: 7.729vw; }
  #c-2 .inner .s-ttl { font-weight: 600; text-align: center; margin-bottom: 4.106vw; font-size: 7.246vw; letter-spacing: 0.05em; line-height: 11.111vw; position: relative; left: -2.174vw; }
  #c-2 .inner .txt-01 { width: 85.266vw; margin: 0 auto; font-weight: normal; margin-bottom: 7.971vw; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 8.454vw; }
  #c-2 .inner .mini-list { width: 92.995vw; margin: 0 auto; display: flex; flex-wrap: wrap; margin-bottom: 15.942vw; }
  #c-2 .inner .mini-list >li { width: 100%; background-color: #FFFFFF; margin-bottom: 4.831vw; padding: 7.488vw 3.14vw 12.077vw; }
  #c-2 .inner .mini-list >li:nth-child(2n) { margin-right: 0px; }
  #c-2 .inner .mini-list .li-ttl { font-weight: 600; text-align: center; color: #000; margin-bottom: 5.072vw; font-size: 5.072vw; letter-spacing: 0.05em; line-height: 8.454vw; }
  #c-2 .inner .mini-list .li-pic { margin-bottom: 4.589vw; }
  #c-2 .inner .mini-list .li-txt { font-size: 3.865vw; letter-spacing: 0.05em; line-height: 7.246vw; color: #000; }
  #c-3 { background-color: #EAE4D5; padding-top: 10.386vw; padding-bottom: 3.14vw; }
  #c-3 .inner .ttl { font-weight: 600; text-align: center; color: #000; margin-bottom: 12.319vw; font-size: 7.246vw; letter-spacing: 0.05em; line-height: 11.111vw; position: relative; left: 2.174vw; }
  #c-3 .inner .list { width: 93.237vw; margin: 0 auto; display: flex; flex-wrap: wrap; }
  #c-3 .inner .list >li { width: 100%; background-color: #fff; position: relative; margin-bottom: 8.213vw; }
  #c-3 .inner .list >li:nth-child(3n) { margin-right: 0px; }
  #c-3 .inner .list .li-num { position: absolute; top: -3.382vw; left: 3.14vw; width: 16.425vw; }
  #c-3 .inner .list .li-ttl { font-weight: 600; font-size: 5.072vw; letter-spacing: 0.05em; line-height: 8.213vw; text-align: center; color: #000; margin-bottom: 6.522vw; margin-top: 13.768vw; position: relative; }
  #c-3 .inner .list .li-txt-box { width: 83.333vw; margin: 0 auto; margin-bottom: 11.111vw; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 7.246vw; }
  #c-3 .inner .list .li-pic { position: relative; }
  #c-4 { padding-top: 15.217vw; margin-bottom: 22.705vw; }
  #c-4 .inner .ttl { width: 94.203vw; margin-left: 4.106vw; font-weight: 600; color: #000; margin-bottom: 5.072vw; font-size: 5.556vw; letter-spacing: 0.05em; line-height: 10.628vw; }
  #c-4 .inner .txt-box { width: 92.754vw; margin: 0 auto; font-weight: normal; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 8.454vw; color: #000; }
  #c-4 .inner .txt-box .p-mb { margin-bottom: 8.454vw; }
  #c-4 .inner .txt-box .p-txt { font-weight: 600; font-size: 4.589vw; letter-spacing: 0.121vw; line-height: 13.527vw; color: #000; margin-top: -3.382vw; margin-bottom: -13.285vw; }
  .faq-sy-box .ttl { font-weight: 600; text-align: center; color: #000; margin-bottom: 3.382vw; font-size: 7.246vw; letter-spacing: 0.05em; line-height: 11.111vw; }
  .faq-sy-box { width: 90vw; margin: 0 auto; margin-bottom: 15vw; }
  .faq-sy-box .list .wysiwyg { margin-bottom: 0; }
  .faq-sy-box .list li { border-bottom: 2px solid #F5F5F5; border-top: 2px solid #fff; }
  .faq-sy-box .list .sy-ttl { padding: 4.589vw 0.734vw 3.623vw 15vw; position: relative; font-weight: 400; font-size: 3.8vw; letter-spacing: 0.05em; line-height: 1.8; text-align: left; color: #2b2827; font-size: 4.106vw; letter-spacing: 0.05em; line-height: 6.28vw; }
  .faq-sy-box .list .sy-ttl::before { padding: 0.483vw 2.415vw; color: #1a1a1a; font-size: 4vw; font-weight: bold; letter-spacing: 0.2vw; line-height: 1.6; content: "Q"; color: #fff; background: #000; position: absolute; left: 2.657vw; }
  .faq-sy-box .sy-ttl { position: relative; padding: 3vw; cursor: pointer; font-size: 5vw; line-height: 1.4; margin-bottom: 0; }
  .faq-sy-box .list .sy-a-txt { padding: 4.348vw 5.797vw 5.072vw 14.493vw; border: 1px solid #000; font-weight: 400; text-align: left; color: #2b2827; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 6.039vw; position: relative; }
  .faq-sy-box .list .sy-a-txt::before { padding: 0.966vw 2.657vw; color: #1a1a1a; font-size: 4vw; font-weight: bold; letter-spacing: 0.2vw; line-height: 1.6; content: "A"; color: #fff; background: #000; position: absolute; left: 2.415vw; top: 4.348vw; }
  .faq-sy-box .sy-ttl { position: relative; padding: 3.623vw; cursor: pointer; font-size: 6.28vw; line-height: 1.4; margin-bottom: 0; }
  .faq-sy-box .sy-ttl .toggle_btn { background-image: url(../images/page-common/sp-sy-icon-b.png); background-repeat: no-repeat; background-position: center 0; background-size: cover; width: 8.903vw; height: 8.903vw; position: absolute; top: 6.106vw; right: -1.343vw; }
  .faq-sy-box .sy-ttl.selected .toggle_btn { transform: rotate(180deg); }
  .faq-sy-box .sy-a-ttl { font-size: 5.6VW; font-weight: bold; letter-spacing: 0.2vw; line-height: 1.8; text-align: center; margin-bottom: 2vw; }
  .faq-sy-box .list .sy-a-txt p:nth-child(1) { font-size: 3.865vw; letter-spacing: 0.05em; line-height: 6.039vw; margin-bottom: 3.623vw; }
  .faq-sy-box .list .sy-a-txt p.p-mb { margin-bottom: 3.623vw; }
  .ec { margin-top: 28.502vw; background-image: url(../images/line/sp-bg-01.png); background-repeat: no-repeat; background-position: center 0; padding-top: 31.643vw; background-size: 100%; }
  .ec .txt-01 { font-weight: normal; text-align: center; color: #fff; margin-bottom: 4.831vw; font-size: 5.314vw; letter-spacing: 0.05em; line-height: 4.831vw; margin-bottom: 4.831vw; }
  .ec .txt-02 { font-weight: normal; font-size: 9.662vw; letter-spacing: 0.05em; line-height: 8.454vw; text-align: center; color: #fff; font-size: 5.314vw; letter-spacing: 0.05em; line-height: 4.831vw; margin-bottom: 14.976vw; }
  .ec .txt-03 { font-weight: 600; text-align: center; color: #fff; margin-bottom: 60.386vw; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 7.729vw; }
  .nagare-move-u { --nagare-w: 315.459vw; --nagare-h: 68.357vw; --nagare-speed: 80s; margin-top: 26.329vw; background-image: url(../images/line/sp-nagare-01.png); background-repeat: repeat-x; background-position: 0 0; background-size: auto var(--nagare-h); width: 100%; height: var(--nagare-h); animation: nagare-left var(--nagare-speed) linear infinite; will-change: background-position; }
}

@media screen and (min-width: 768px), print {
  @keyframes nagare-left {
    from { background-position-x: 0; }
    to { background-position-x: calc(-1 * var(--nagare-w)); }
  }
}
@media screen and (min-width: 768px), print {
  @media (prefers-reduced-motion: reduce) {
    .nagare-move-u { animation: none; }
  }
}
@media screen and (max-width: 767px) {
  @keyframes nagare-left {
    from { background-position-x: 0; }
    to { background-position-x: calc(-1 * var(--nagare-w)); }
  }
}
@media screen and (max-width: 767px) {
  @media (prefers-reduced-motion: reduce) {
    .nagare-move-u { animation: none; }
  }
}