@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Caveat:400,700&display=swap");
/* FILE : /assets/sass/shared/_rest.scss  */
/*:::::::::::::::::::::::::::::::::::::::
RESET
:::::::::::::::::::::::::::::::::::::::*/
body { /* webkit系のスマホで文字が拡大されるのを防ぐ */ -webkit-text-size-adjust: 100%; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, hr { margin: 0; padding: 0; border: 0; font-style: normal; font-weight: normal; font-size: 100%; vertical-align: baseline; text-align: left; text-decoration: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

html { overflow-y: scroll; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

input, button, textarea, select { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; /* 必要に応じて下記はコメントアウト */ -webkit-appearance: none; -moz-appearance: none; appearance: none; }

select::-ms-expand { display: none; }

ol, ul { list-style: none; list-style-image: url(data:0); }

table { border-collapse: collapse; border-spacing: 0; }

caption, th { text-align: left; }

a:focus { outline: none; }

img { vertical-align: bottom; }

a, span, small, strong, em { color: inherit; font-weight: inherit; }

* { -webkit-box-sizing: border-box; box-sizing: border-box; }

*:after, *:before { -webkit-box-sizing: border-box; box-sizing: border-box; }

img { display: block; line-height: 1; width: 100%; }

@media screen and (min-width: 751px) { .pc-hide { display: none; } }

@media screen and (max-width: 750px) { .smt-hide { display: none; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR wrapper :::::::::::::::::::::::::::::::::::::::*/
#wrapper { margin-left: auto; margin-right: auto; }

@media screen and (min-width: 751px) { #wrapper { width: 1000px; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR kv :::::::::::::::::::::::::::::::::::::::*/
.kv { position: relative; z-index: 1; }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR sec1 :::::::::::::::::::::::::::::::::::::::*/
.sec1 { position: relative; z-index: 2; margin-top: -1.5%; }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR offer-text :::::::::::::::::::::::::::::::::::::::*/
.offer-text { position: absolute; font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; z-index: 3; }

.offer-text h3 { color: #f34442; font-size: 18px; font-weight: bold; letter-spacing: 0.04em; margin-bottom: 4px; }

.offer-text p { text-indent: -1em; padding-left: 1em; font-size: 15px; line-height: 25px; color: #4c4948; letter-spacing: 0.04em; margin-left: 10px; }

.offer-text a:hover { text-decoration: underline; }

@media screen and (max-width: 750px) { .offer-text h3 { font-size: 3.44vw; margin-bottom: 1vw; }
  .offer-text p { font-size: 3.3vw; line-height: 4.8vw; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR offer1 :::::::::::::::::::::::::::::::::::::::*/
.offer1 { position: relative; }

.offer1-bg { position: relative; z-index: 1; }

.offer1-btn { position: absolute; z-index: 2; left: 0; width: 100%; text-align: center; top: 61%; }

.offer1-btn a { display: inline-block; width: 80%; }

@media screen and (min-width: 751px) { .offer1 a { -webkit-transition: .2s opacity ease-in; -o-transition: .2s opacity ease-in; transition: .2s opacity ease-in; }
  .offer1 a:hover { opacity: .6; }
  .offer1-text { top: 74.7%; left: 8.3%; } }

@media screen and (max-width: 750px) { .offer1-btn { top: 61.5%; }
  .offer1-text { top: 70.6%; left: 8.3%; width: 82%; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR offer2 :::::::::::::::::::::::::::::::::::::::*/
.offer2 { position: relative; }

.offer2-bg { position: relative; z-index: 1; }

.offer2-btn { position: absolute; z-index: 2; left: 0; width: 100%; text-align: center; top: 59%; }

.offer2-btn a { display: inline-block; width: 80%; }

@media screen and (min-width: 751px) { .offer2 a { -webkit-transition: .2s opacity ease-in; -o-transition: .2s opacity ease-in; transition: .2s opacity ease-in; }
  .offer2 a:hover { opacity: .6; }
  .offer2-text { top: 73.3%; left: 8.3%; } }

@media screen and (max-width: 750px) { .offer2-btn { top: 62.5%; }
  .offer2-text { top: 71.5%; left: 8.3%; width: 82%; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR offer3 :::::::::::::::::::::::::::::::::::::::*/
.offer3 { position: relative; }

.offer3-bg { position: relative; z-index: 1; }

.offer3-btn { position: absolute; z-index: 2; left: 0; width: 100%; text-align: center; top: 59.5%; }

.offer3-btn a { display: inline-block; width: 84%; }

@media screen and (min-width: 751px) { .offer3 a { -webkit-transition: .2s opacity ease-in; -o-transition: .2s opacity ease-in; transition: .2s opacity ease-in; }
  .offer3 a:hover { opacity: .6; } }

@media screen and (max-width: 750px) { .offer3-btn { top: 63.5%; }
  .offer3-btn a { width: 80%; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR comic1 :::::::::::::::::::::::::::::::::::::::*/
@media screen and (max-width: 750px) { .comic1 { padding: 0 1.3%; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR comic3 :::::::::::::::::::::::::::::::::::::::*/
@media screen and (max-width: 750px) { .comic3 { padding: 0 1.3%; } }

/*::::::::::::::::::::::::::::::::::::::: componentTable :::::::::::::::::::::::::::::::::::::::*/
.componentTable { margin-top: 60px; font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; color: #664443; letter-spacing: 0.03em; line-height: 1.8; margin-bottom: 50px; }

.componentTable table { width: 100%; margin-bottom: 18px; }

.componentTable table th { background-color: #f3e6d2; font-weight: bold; font-size: 18px; padding: 20px; letter-spacing: 0.01em; }

.componentTable table td { padding: 20px; font-size: 15px; }

.componentTable h4 { font-weight: bold; font-size: 15px; }

.componentTable small, .componentTable li { display: block; font-size: 15px; text-indent: -1em; padding-left: 1em; }

@media screen and (min-width: 751px) { .componentTable table th { border-top: 1px solid #d2d2d2; border-left: 1px solid #d2d2d2; border-bottom: 1px solid #d2d2d2; width: 170px; }
  .componentTable table td { border-top: 1px solid #d2d2d2; border-right: 1px solid #d2d2d2; border-bottom: 1px solid #d2d2d2; width: auto; } }

@media screen and (max-width: 750px) { .componentTable table { display: block; border-bottom: 1px solid #d2d2d2; }
  .componentTable table tbody, .componentTable table tr, .componentTable table th, .componentTable table td { display: block; width: 100%; }
  .componentTable table tr { border-top: 1px solid #d2d2d2; border-right: 1px solid #d2d2d2; border-left: 1px solid #d2d2d2; }
  .componentTable table th, .componentTable table td { padding: 17px 13px; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR site-footer :::::::::::::::::::::::::::::::::::::::*/
.site-footer { background-color: #f7edea; padding-top: 45px; }

.site-footer__inner { max-width: 1030px; padding-left: 15px; padding-right: 15px; margin-left: auto; margin-right: auto; }

.site-footer__info { margin-bottom: 50px; }

.site-footer__info-title { font-weight: bold; font-size: 22px; padding: 0 0 0px 5px; border-bottom: 1px solid #ceb8b1; margin-bottom: 15px; }

.site-footer__info-web { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding-top: 13px; }

.site-footer__info-web .img { -webkit-box-flex: 0; -ms-flex: 0 0 83px; flex: 0 0 83px; width: 83px; text-align: center; line-height: 1; margin-right: 16px; }

.site-footer__info-web .icn { display: block; line-height: 1; width: 83px; text-align: center; }

.site-footer__info-web .icn img { width: 37px; }

.site-footer__info-web .imgtxt { text-align: center; font-weight: bold; font-size: 12px; letter-spacing: -0.02em; line-height: 1; }

.site-footer__info-web .txt { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; font-weight: bold; font-size: 26px; }

.site-footer__info-tel { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 33px; margin-bottom: 47px; }

.site-footer__info-tel .img { -webkit-box-flex: 0; -ms-flex: 0 0 83px; flex: 0 0 83px; width: 83px; text-align: center; line-height: 1; margin-right: 16px; }

.site-footer__info-tel .icn { display: block; line-height: 1; width: 83px; text-align: center; }

.site-footer__info-tel .icn img { width: 44px; }

.site-footer__info-tel .imgtxt { text-align: center; font-weight: bold; font-size: 12px; letter-spacing: -0.02em; line-height: 1; }

.site-footer__info-tel .txt { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; font-size: 33px; font-weight: bold; line-height: 1; }

.site-footer__info-tel .txt small { margin-top: 5px; display: block; font-size: 15px; line-height: 1.3; text-indent: -5em; padding-left: 5em; font-weight: normal; }

.site-footer__info-pay { border-radius: 10px; padding: 27px 20px; background-color: #fff; }

.site-footer__link { border-top: 1px solid #ceb8b1; border-bottom: 1px solid #ceb8b1; padding: 22px 0; }

@media screen and (min-width: 751px) { .site-footer__info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .site-footer__info-item { -webkit-box-flex: 0; -ms-flex: 0 0 47.5%; flex: 0 0 47.5%; max-width: 47.5%; }
  .site-footer__link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .site-footer__link li { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; margin-right: 0.7em; }
  .site-footer__link li:after { content: '|'; margin-left: 0.7em; }
  .site-footer__link li:last-child { margin-right: 0; }
  .site-footer__link li:last-child:after { content: none; }
  .site-footer__link a:hover { text-decoration: underline; } }

@media screen and (max-width: 750px) { .site-footer { padding-top: 28px; }
  .site-footer__info { margin-bottom: 30px; }
  .site-footer__info-title { font-size: 20px; }
  .site-footer__info .site-footer__info-item:last-child { margin-top: 22px; }
  .site-footer__info-web { padding-top: 8px; }
  .site-footer__info-web .img { -webkit-box-flex: 0; -ms-flex: 0 0 75px; flex: 0 0 75px; width: 75px; margin-right: 12px; }
  .site-footer__info-web .img img { width: 28px; }
  .site-footer__info-web .icn { width: 75px; }
  .site-footer__info-web .imgtxt { font-size: 9px; }
  .site-footer__info-web .txt { font-size: 22px; }
  .site-footer__info-tel { margin-top: 23px; margin-bottom: 28px; }
  .site-footer__info-tel .img { -webkit-box-flex: 0; -ms-flex: 0 0 75px; flex: 0 0 75px; width: 75px; margin-right: 12px; }
  .site-footer__info-tel .img img { width: 35px; }
  .site-footer__info-tel .icn { width: 75px; }
  .site-footer__info-tel .imgtxt { font-size: 9px; }
  .site-footer__info-tel .txt { font-size: 28px; }
  .site-footer__info-pay { padding: 15px; }
  .site-footer__link { padding: 15px; } }

@media screen and (max-width: 360px) { .site-footer__info-web .txt { font-size: 18px; }
  .site-footer__info-tel .txt { font-size: 22px; }
  .site-footer__info-tel .txt small { font-size: 12px; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR copyright :::::::::::::::::::::::::::::::::::::::*/
.copyright { display: block; font-size: 12px; height: 65px; line-height: 65px; text-align: center; }

@media screen and (max-width: 750px) { .copyright { height: 70px; line-height: 70px; } }

/*::::::::::::::::::::::::::::::::::::::: ANCHOR pagetopbtn :::::::::::::::::::::::::::::::::::::::*/
.pagetopbtn { position: fixed; z-index: 9; right: 50px; bottom: 50px; width: 70px; height: 70px; cursor: pointer; display: none; }

@media screen and (min-width: 751px) { .pagetopbtn { -webkit-transition: .2s opacity ease-in; -o-transition: .2s opacity ease-in; transition: .2s opacity ease-in; }
  .pagetopbtn:hover { opacity: .6; } }

@media screen and (max-width: 750px) { .pagetopbtn { right: 20px; bottom: 20px; width: 30px; height: 30px; } }
