@charset "UTF-8";

audio,
canvas,
progress,
video {
   display: inline-block
}

audio:not([controls]) {
   display: none;
   height: 0
}

[hidden],
template {
   display: none
}

*,
:after,
:before {
   background-repeat: no-repeat;
   box-sizing: inherit
}

:after,
:before {
   text-decoration: inherit;
   vertical-align: inherit
}

html {
   box-sizing: border-box;
   cursor: default;
   line-height: 1.5;
   -ms-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
   color: #231815;
   overflow: hidden;
   line-height: 1;
}

body {
   margin: 0;
}

h1 {
   font-size: 2em;
   margin: .67em 0
}

h1 img {
   max-width: 250px;
   margin: 0 auto !important;
   min-width: 200px;
}

code,
kbd,
pre,
samp {
   font-family: monospace, monospace;
   font-size: 1em
}

hr {
   height: 0;
   overflow: visible
}

nav ol,
nav ul {
   list-style: none
}

abbr[title] {
   border-bottom: 1px dotted;
   text-decoration: none
}

b,
strong {
   font-weight: inherit
}

b,
strong {
   font-weight: bolder
}

dfn {
   font-style: italic
}

mark {
   background-color: #ffff00;
   color: #000000
}

progress {
   vertical-align: baseline
}

small {
   font-size: 83.3333%
}

sub,
sup {
   font-size: 83.3333%;
   line-height: 0;
   position: relative;
   vertical-align: baseline
}

sub {
   bottom: -.25em
}

sup {
   top: -.5em
}

::-moz-selection {
   background-color: #b3d4fc;
   color: #000000;
   text-shadow: none
}

::selection {
   background-color: #b3d4fc;
   color: #000000;
   text-shadow: none
}

audio,
canvas,
iframe,
img,
svg,
video {
   vertical-align: middle
}

img {
   border-style: none
}

svg {
   fill: currentColor
}

svg:not(:root) {
   overflow: hidden
}

/*a,a:link{background-color:transparent;-webkit-text-decoration-skip:objects}*/
:hover {
   outline-width: 0
}

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

button,
input,
select,
textarea {
   background-color: transparent;
   border-style: none;
   color: inherit;
   font-size: 1.8rem;
   margin: 0
}

button,
input {
   overflow: visible
}

button,
select {
   text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
   -webkit-appearance: button
}

::-moz-focus-inner {
   border-style: none;
   padding: 0
}

:-moz-focusring {
   outline: 1px dotted ButtonText
}

fieldset {
   border: 1px solid #c0c0c0;
   margin: 0 2px;
   padding: .35em .625em .75em
}

legend {
   display: table;
   max-width: 100%;
   padding: 0;
   white-space: normal
}

textarea {
   overflow: auto;
   resize: vertical;
   width: 100%;
}

[type=checkbox],
[type=radio] {
   padding: 0
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
   height: auto
}

[type=search] {
   -webkit-appearance: textfield;
   outline-offset: -2px
}

::-webkit-search-cancel-button,
::-webkit-search-decoration {
   -webkit-appearance: none
}

::-webkit-input-placeholder {
   color: inherit;
   opacity: .54
}

::-webkit-file-upload-button {
   -webkit-appearance: button;
   font: inherit
}

[aria-busy=true] {
   cursor: progress
}

[aria-controls] {
   cursor: pointer
}

[aria-disabled] {
   cursor: default
}

[tabindex],
a,
a:link,
area,
button,
input,
label,
select,
textarea {
   -ms-touch-action: manipulation;
   touch-action: manipulation
}

[hidden][aria-hidden=false] {
   clip: rect(0, 0, 0, 0);
   display: inherit;
   position: absolute
}

[hidden][aria-hidden=false]:focus {
   clip: auto
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   vertical-align: baseline;
   background: transparent
}

ol,
ul {
   list-style: none
}

html {
   overflow-y: scroll;
   font-size: 62.5%;
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased
}

a,
a:link {
   cursor: pointer;
   text-decoration: none;
   color: #111;
   -webkit-transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   -moz-transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   -ms-transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   -o-transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   outline: none
}

a:link img,
a img {
   outline: none
}

a:hover {
   color: #0088cc;
   text-decoration: none;
}

button,
input[type=image],
input[type=submit] {
   -webkit-transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   -moz-transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   -ms-transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   -o-transition: opacity 0.1s ease-out 0s 0.2s ease-in-out;
   transition: opacity 0.1s ease-out 0s 0.2s ease-in-out
}

img {
   vertical-align: bottom;
   max-width: 100%
}

em {
   font-style: normal
}

button {
   cursor: pointer;
   cursor: hand;
   outline: 0
}

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

hr {
   display: none
}

.clearfix {
   *zoom: 1
}

.clearfix:after {
   content: ".";
   display: block;
   clear: both;
   height: 0;
   visibility: hidden
}

body {
   font-family: a-otf-ud-reimin-pr6n, 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN', 'Hiragino Mincho Pro', '游明朝', YuMincho, 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
   font-weight: 600;
   text-align: center;
   width: 100%;
}

img {
   max-width: 100%;
}

::before,
::after {
   background-repeat: no-repeat;
   /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
   box-sizing: inherit;
}

::before,
::after {
   text-decoration: inherit;
   /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
   vertical-align: inherit;
}

* {
   padding: 0;
   /* Reset `padding` and `margin` of all elements */
   margin: 0;
}

hr {
   overflow: visible;
   /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
   display: block;
}

small {
   font-size: 80%;
   /* Set font-size to 80% in `small` elements */
}

ul {
   list-style: none;
}

a {
   background-color: transparent;
   /* Remove the gray background on active links in IE 10 */
   -webkit-text-decoration-skip: objects;
   /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
   -webkit-transition: 0.5s;
   -moz-transition: 0.5s;
   -o-transition: 0.5s;
   -ms-transition: 0.5s;
   transition: 0.5s;
}

a:active,
a:hover {
   outline-width: 0;
   /* Remove the outline when hovering in all browsers */
}



/*  */
@media only screen and (min-width: 769px),
print {
   .only-pc {
      display: block;
      margin: 0 auto;
   }

   .only-sp {
      display: none;
      margin: 0 auto;
   }
}

@media only screen and (max-width: 768px),
print {
   .only-pc {
      display: none;
      margin: 0 auto;
   }

   .only-sp {
      display: block;
      margin: 0 auto;
   }
}

.mb0 {
   margin-bottom: 0px !important;
}

.mb10 {
   margin-bottom: 10px !important;
}

.mb20 {
   margin-bottom: 20px !important;
}

.mb40 {
   margin-bottom: 40px !important;
}

.mb60 {
   margin-bottom: 60px !important;
}

.mt0 {
   margin-top: 0px !important;
}

.mt20 {
   margin-top: 20px !important;
}

.mt40 {
   margin-top: 40px !important;
}

.mt60 {
   margin-top: 60px !important;
}

.pt40 {
   padding-top: 40px !important;
}

.pt60 {
   padding-top: 60px !important;
}

.pt80 {
   padding-top: 80px !important;
}

.pb0 {
   padding-bottom: 0px !important;
}

.bordernone {
   border: none !important;
}

@media only screen and (max-width:480px),
print {
   .mb40 {
      margin-bottom: 20px !important;
   }

   .mb60 {
      margin-bottom: 40px !important;
   }

   .pt80 {
      padding-top: 40px !important;
   }
}


.fwb {
   font-weight: bold;
}

.fwn {
   font-weight: normal;
}

.tal {
   text-align: left;
}

.tac {
   text-align: center;
}

.tar {
   text-align: right;
}

/* 背景色 */
.bg_wh {
   background: #fff;
}

.bg_yl {
   background: #FFFBDD;
}

.bg_gy {
   background: #F5F5F5;
}

/* 文字色 */
.txt_wh {
   color: #fff;
}

/*背景色*/
.bg_beige {
   background: #dcd7cb;
}

/* フォント */
.reimin {
   font-family: a-otf-ud-reimin-pr6n, sans-serif;
   font-weight: 300;
   font-style: normal;
}

.border-T_pk {
   border-top: 1px solid #C05183;
}

.ctsArticle {
   margin: 0 auto;
   padding: 80px 0;
}

@media only screen and (max-width:768px),
print {
   .ctsArticle {
      padding: 40px 0;
   }
}

.ctsContainer {
   max-width: 730px;
   width: 90%;
   margin-left: auto;
   margin-right: auto;
   box-sizing: border-box;
}

@media only screen and (max-width:768px),
print {
   .ctsContainer.pa0 {
      width: 100%;
   }
}

@media only screen and (max-width:896px),
print {
   .headerInner {
      padding: 0 2em;
   }
}

body::before {
   content: "";
   background: #fff;
   display: block;
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   z-index: -1;
}

/* ヘッダー */
header {
   background: #d89e9c;
}

.headerInner {
   padding: 4em 0
}

.header-logo {
   margin: 20px auto;
}

@media only screen and (max-width:896px),
print {
   .header-logo {
      margin: 10px auto;
      width: 30%;
   }
}

/* メインビジュアル */
.topMv {
   background: #d89e9c;
   padding: 2em 0 20em;
   margin-bottom: -24em;
}

@media only screen and (max-width:768px),
print {
   .topMv {
      padding: 2em 0 15em;
      margin-bottom: -15em;
   }
}

@media only screen and (max-width:480px),
print {
   .topMv {
      padding: 2em 0 10em;
      margin-bottom: -12em;
   }
}

.topMv .mvLead {
   font-size: 2.5rem;
   line-height: 1.4;
   margin: .6em auto;
}

@media only screen and (max-width:768px),
print {
   .topMv .mvLead {
      font-size: 5.5vw;
   }
}

@media only screen and (max-width:480px),
print {
   .topMv .mvLead {
      font-size: 6vw;
   }
}

.mainvisual {
   border: 4px solid #fff;
   margin-bottom: 4em;
   max-width: 100%;
   height: auto;
}

@media only screen and (max-width:480px),
print {
   .mainvisual {
      margin-bottom: 2em;
   }
}

/*contents*/
.TtlType01 {
   font-size: 4.5rem;
   line-height: 1.6;
   margin: 0 auto;
}

@media only screen and (max-width:768px),
print {
   .TtlType01 {
      font-size: 7vw;
   }
}

@media only screen and (max-width:480px),
print {
   .TtlType01 {
      font-size: 9vw;
   }
}

.secLead {
   margin: 0 0;
}

.secLead p {
   font-size: 2.4rem;
   font-weight: 300;
   line-height: 1.6;
}

@media only screen and (max-width:480px),
print {
   .secLead p {
      font-size: 4.5vw;
   }
}

.obiTtl {
   margin-bottom: 6em;
}

@media only screen and (max-width:480px),
print {
   .obiTtl {
      margin-bottom: 3em;
   }
}

.obiTtl .TtlType01 {
   line-height: 1.4;
   margin-bottom: .2em;
}

.obiTtl .TtlType01 span {
   padding: 0 .5em;
   background: #dcd7cb;
   display: inline-block;
}

.obiTtl .subTxt {
   font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'verdana', sans-serif;
   font-size: 2.5rem;
}

@media only screen and (max-width:768px),
print {
   .obiTtl .subTxt {
      font-size: 4vw;
   }
}

.obiTtl.contact .TtlType01 span {
   background: #fff;
}

.flowBox {
   font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'verdana', sans-serif;
   position: relative;
   margin: 0 auto 2em;
   min-width: 120px;
   max-width: 100%;
   font-size: 2rem;
   background: #FFF;
   border: solid 6px #beb19e;
   border-radius: 16px;
   box-sizing: border-box;
}

.flowBox:before {
   content: "";
   position: absolute;
   bottom: -29px;
   left: 50%;
   margin-left: -15px;
   border: 12px solid transparent;
   border-top: 22px solid #FFF;
   z-index: 2;
}

.flowBox:after {
   content: "";
   position: absolute;
   bottom: -43px;
   left: 50%;
   margin-left: -19px;
   border: 16px solid transparent;
   border-top: 27px solid #beb19e;
   z-index: 1;
}

.flowBox_Inner {
   padding: 1.5em .8em;
}

.flowBox .f-def {
   font-size: 2.5rem;
   line-height: 1.4;
}

@media only screen and (max-width:480px),
print {
   .flowBox .f-def {
      font-size: 5vw;
   }
}

.NumberTag {
   margin: 0 auto;
   position: relative;
}

.NumberTag:before {
   content: "";
   top: 0;
   left: 0;
   border-bottom: 3.5em solid transparent;
   border-left: 3em solid #beb19e;
   /* ラベルの色はここで変更 */
   position: absolute;
   z-index: 1;
}

.NumberTag:after {
   counter-increment: number 1;
   content: counter(number) " ";
   display: block;
   top: 5px;
   color: #fff;
   left: 8px;
   font-size: 3.5rem;
   position: absolute;
   z-index: 1;
   font-family: vinyl, sans-serif;
   font-weight: 700;
   font-style: normal;
}

.flowBox.num3 {
   background: #e8e4da;
}

.flowBox.num3:before,
.flowBox.num3:after {
   content: none;
}

.flow-2_List {
   margin: 1em auto;
}

@media only screen and (max-width:480px),
print {
   .flow-2_List {
      margin: .5em auto;
   }
}

.flow-2_List li {
   display: inline-block;
   font-size: 2.6rem;
   padding: .3em .5em;
}

@media only screen and (max-width:480px),
print {
   .flow-2_List li {
      font-size: 5vw;
   }
}

.flow-2_List li span {
   font-size: 3.8rem;
   color: #b94f73;
}

@media only screen and (max-width:480px),
print {
   .flow-2_List li span {
      font-size: 6.5vw;
   }
}

.flow-2_examp {
   font-weight: 300;
   margin-bottom: 1em;
}

.flow-2_examp .examp-1,
.flow-2_examp .examp-2 {
   display: inline-block;
   vertical-align: middle;
}

@media only screen and (max-width:480px),
print {

   .flow-2_examp .examp-1,
   .flow-2_examp .examp-2 {
      font-size: 3.5vw;
   }
}

.flow-2_examp .examp-1 {
   margin-right: 1em;
}

.flow-2_examp .examp-2 {
   text-align: left;
   line-height: 1.4;
   position: relative;
}

.flow-2_examp .examp-2:before {
   content: url(../img/decoline.svg);
   width: 8px;
   display: inline-block;
   vertical-align: middle;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: -18px;
   margin-top: 4px;
}

@media only screen and (max-width:480px),
print {
   .flow-2_examp .examp-2:before {
      width: 1.5vw;
      top: 50%;
      transform: translateY(-50%);
      left: -12px;
   }
}

/*
.flow-2_examp .examp-2:before {
	position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: '';
  width: 10px;
  height: 80%;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  left: -27px;
  border-right: 1px solid #231815;
}
@media only screen and (max-width:480px),print{
	.flow-2_examp .examp-2:before {
	  left: -20px;
	}
}
*/

body {
   counter-reset: number 0;
}


/* FAQ */
.areaTtl {
   width: 100%;
   background: #947851;
   color: #fff;
   padding: .8em 0;
   text-align: center;
   font-size: 2.5rem;
}

@media only screen and (max-width:480px),
print {
   .areaTtl {
      font-size: 6vw;
   }
}

@media only screen and (min-width:769px),
print {
   .areaList {
      width: 33.33333%;
      width: -webkit-calc(100% / 3);
      width: calc(100% / 3);
   }
}

@media only screen and (max-width:768px),
print {
   .areaList {
      width: 100%;
      border-bottom: 1px solid #947851;
   }
}

.shopName {
   font-size: 2.5rem;
   line-height: 1.4;
}

@media only screen and (max-width:1080px) and (min-width:769px),
print {
   .shopName {
      font-size: 2.2vw;
   }
}

@media only screen and (max-width:480px),
print {
   .shopName {
      font-size: 6vw;
   }
}

.telBtn {
   margin: 3em auto 4em;
}

.shopMap {
   margin: 0 auto 1em;
}

@media only screen and (max-width:480px),
print {
   .shopMap {
      margin: 3em auto 4em;
   }
}

.mapAdd {
   margin: 0 auto 1em;
   font-size: 1.8rem;
   line-height: 1.6;
   letter-spacing: .1em;
   text-align: left;
   font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'verdana', sans-serif;
}

@media only screen and (min-width:769px),
print {
   .mapAdd {
      font-weight: 300;
   }
}

@media only screen and (max-width:480px),
print {
   .mapAdd {
      font-size: 1.4rem;
   }
}

.mapBox {
   width: 100%;
   height: 25vw;
}

@media only screen and (max-width:768px),
print {
   .mapBox {
      height: 70vw;
   }
}

@media only screen and (max-width:480px),
print {
   .mapBox {
      height: 70vw;
   }
}

/*ボックス全体*/
.accbox {
   width: 100%;
   margin-top: 4em;
   background: #fff;
}

@media only screen and (min-width:480px),
print {
   .accbox {
      flex-wrap: wrap;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      flex-direction: row;
   }
}

/*ラベル*/
.accbox label {
   display: block;
   padding: .8em 0;
   color: #947851;
   font-weight: bold;
   background: #dcd7cb;
   transition: all 0.5s;
   position: relative;
   font-size: 2.5rem;
}

@media only screen and (min-width:769px),
print {
   .areaList.border-R {
      border-right: 1px solid #947851;
   }
}

@media only screen and (max-width:768px),
print {
   .accbox label {
      cursor: pointer;
   }
}

@media only screen and (max-width:480px),
print {
   .accbox label {
      font-size: 6vw;
   }
}

/*アイコンを表示*/
.accbox label:before,
.accbox label:after {
   position: absolute;
   top: 0;
   bottom: 0;
   left: 20px;
   margin: auto;
   content: "";
   vertical-align: middle;
}

@media only screen and (min-width:769px),
print {

   .accbox label:before,
   .accbox label:after {
      display: none;
   }
}

.accbox label:before {
   box-sizing: border-box;
   width: 40px;
   height: 40px;
   border: 3px solid #947851;
   -webkit-border-radius: 50%;
   border-radius: 50%;
   background: #fff;
}

@media only screen and (max-width:480px),
print {
   .accbox label:before {
      width: 30px;
      height: 30px;
      border: 3px solid #947851;
   }
}

.accbox label:after {
   top: 0px;
   left: 30px;
   width: 15px;
   height: 15px;
   border-top: 2px solid #947851;
   border-right: 2px solid #947851;
   -webkit-transform: rotate(45deg);
   transform: rotate(45deg);
   transition: 0.5s;
}

@media only screen and (max-width:480px),
print {
   .accbox label:after {
      left: 28px;
      width: 10px;
      height: 10px;
      border-top: 1px solid #947851;
      border-right: 1px solid #947851;
   }
}

/*チェックは隠す*/
.accbox input {
   display: none;
}

.accbox .accshow {
   padding: 3em 10% 6em;
   background: #fff;
}

/*中身を非表示にしておく*/
@media only screen and (max-width:768px),
print {
   .accbox .accshow {
      height: 0;
      padding: 0;
      overflow: hidden;
      opacity: 0;
      transition: 0.8s;
   }
}

/*クリックで中身表示*/
@media only screen and (max-width:768px),
print {
   .cssacc:checked+label+.accshow {
      height: auto;
      padding: 3em 8% 6em;
      background: #fff;
      opacity: 1;
   }
}

@media only screen and (max-width:480px),
print {
   .cssacc:checked+label+.accshow {
      padding: 3em 3em 0em;
   }
}

/*アイコンを入れ替える*/
@media only screen and (max-width:768px),
print {
   .cssacc:checked+label:after {
      top: -6px;
      left: 32px;
      width: 15px;
      height: 15px;
      border-top: 2px solid #947851;
      border-right: 2px solid #947851;
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
      transition: 0.5s;
   }
}

@media only screen and (max-width:480px),
print {
   .cssacc:checked+label:after {
      left: 30px;
      width: 10px;
      height: 10px;
      border-top: 1px solid #947851;
      border-right: 1px solid #947851;
   }
}

/* btn */
.btn-area {
   padding: 0px 0 40px;
}

@media only screen and (max-width:480px),
print {
   .btn-area {
      width: 80%;
      margin: 0 auto;
   }
}

.btn01 {
   display: inline-block;
   border: 3px solid #947851;
   padding: .5em 2em .4em;
   font-size: 2.5rem;
   margin: 0 auto;
   border-radius: 50px;
   box-shadow: 3px 3px 4px rgb(0 0 0 / 0.4);
}

@media only screen and (max-width:1080px) and (min-width:769px),
print {
   .btn01 {
      font-size: 1.8rem;
   }
}

@media only screen and (max-width:480px),
print {
   .btn01 {
      font-size: 6vw;
   }
}

.btn01 span {
   display: inline-block;
   vertical-align: middle;
}

.btn01 span:before {
   content: url(../img/icon_tel.svg);
   width: 25px;
   height: 35px;
   margin-top: -5px;
   margin-right: .6em;
   display: inline-block;
   vertical-align: middle;
}

@media only screen and (max-width:480px),
print {
   .btn01 span:before {
      width: 25px;
      height: 35px;
      margin-top: -1px;
   }
}


.btn01:hover {
   color: #040000;
}

/* フッター */
/*
footer
*/
footer {}

@media screen and (min-width: 871px) {
   footer {
      padding-bottom: 0em;
   }
}

footer address {
   background-color: #fafafa;
   border-radius: 20px;
   padding: 2em 4em;
   margin: 0 auto 1em;
   text-align: left;
   font-size: 1.4rem;
   font-style: normal;
}

@media screen and (max-width: 870px) {
   footer address {
      padding: 2em 2em;
      margin: 0 auto 2em;
      font-size: 1.4rem;
   }
}

.ft_logo {
   margin: 0 auto;
   font-size: 1.5em;
   line-height: 1em;
   padding: 0 0 3em;
}

@media screen and (max-width: 870px) {
   .ft_logo {
      font-size: 3.5em;
      padding-bottom: 2em;
   }
}

.pagetop {
   position: absolute;
   right: 2em;
   bottom: 4em;
}

@media screen and (max-width: 1040px) {
   .pagetop {
      right: 1em;
   }
}

.fab {
   font-size: 2rem;
}

.cp {
   background-color: #FFFBDD;
   color: #111;
   margin-top: 2em;
   padding: 10px 0;
   font-size: 1.4rem;
}

.cf:after {
   content: "";
   clear: both;
   display: block;
}

.copyright {
   color: #111111;
   text-align: center;
}

.copyright small {
   font-size: 1.2rem;
   line-height: 1.4;
}

@media only screen and (max-width:480px),
print {
   .contactBox {
      margin-bottom: 67px;
   }
}

@media only screen and (min-width:481px),
print {
   .footlineCont {
      display: none;
   }
}

@media only screen and (max-width:480px),
print {
   .footlineCont {
      background: #E4F0DE;
      border-top: 2px solid #ADC99F;
      padding: 1.5em 1em;
      position: fixed;
      bottom: 0;
      width: 100%;
      z-index: 10;
   }

   .line-it-button,
   .footline_txt {
      display: inline-block;
      vertical-align: middle;
   }

   .footline_btn:after {
      display: inline-block;
      margin-right: 2em;
      content: '';
      width: 130px;
      height: 33px;
      background: url(../img/line-share.png) no-repeat center center;
      background-size: contain;
      vertical-align: middle;
   }

   .footline_txt {
      text-align: left;
      font-size: 1.3em;
      line-height: 1.4;
      font-weight: 400;
   }
}