@charset "utf-8";

/* ----------------------------------------------------------

Common Setting

---------------------------------------------------------- */
/*pc + sp*/
.pc   {display:block}
.sp   {display:none}
@media only screen and (max-width:520px) {
.pc   {display:none}
.sp   {display:block}
}

/*  基本スタイル */
:root {
}

div,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd  {
  position: relative;
  word-break:break-all;
  padding:0;
  margin:0;
  box-sizing:border-box;
  outline:none;/*
  font-family: "Noto Sans JP", sans-serif;
  */
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-style: normal;
}

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

/*font*/
.en {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.din {
  font-family: "din-2014", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.din.italic {
  font-family: "din-2014", sans-serif;
  font-weight: 400;
  font-style: italic;
}

/*ul dl*/
ul,ul li  {
  list-style:none;
  padding:0;
  margin:0
}

ul.disc li {
  list-style: disc;
  margin-left: 1em;
}

ol  {
  margin-left: 1em;
}


/*position*/
.center {
  text-align:center
}

.left {
  text-align:left
}

.right  {
  text-align:right
}

.block  {
  display: block;
}

.large {
  font-size: 120%;
}

.small {
  font-size: 90%;
}

/*flex*/
.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: top;
}

  .flex.alignitems__center {
    align-items: center;
  }

  .flex.space__between {
    justify-content: space-between;
  }

  .flex.center {
    justify-content: center;
  }

  .flex.left {
    justify-content: left;
  }

  .flex.right {
    justify-content: right;
  }

.flex.divided2 .flex__list {
  flex-basis: 48%;
  margin-bottom: 4%;
}

  .flex.divided2 .flex__list:nth-child(even) {
    margin-left: 2%;
  }

.flex.divided3 .flex__list {
  flex-basis: 32%;
  margin-bottom: 4%;
}

  .flex.divided3 .flex__list:nth-child(3n-1) {
    margin-left: 1%;
    margin-right: 1%;
  }

.flex .flex__list.w20 {
  flex-basis: 20%;
}

.flex .flex__list.w25 {
  flex-basis: 25%;
}

.flex .flex__list.w30 {
  flex-basis: 30%
}

.flex .flex__list.w31 {
  flex-basis: 31%
}

.flex .flex__list.w32 {
  flex-basis: 32%
}

.flex .flex__list.w33 {
  flex-basis: 33%
}

.flex .flex__list.w35 {
  flex-basis: 35%
}

.flex .flex__list.w40 {
  flex-basis: 40%;
}

.flex .flex__list.w45 {
  flex-basis: 45%;
}

.flex .flex__list.w50 {
  flex-basis: 50%;
}

.flex .flex__list.w55 {
  flex-basis: 55%;
}

.flex .flex__list.w60 {
  flex-basis: 60%;
}

.flex .flex__list.w65 {
  flex-basis: 65%;
}

.flex .flex__list.w70 {
  flex-basis: 70%;
}

.flex__list a {
  text-decoration: none!important
}

@media only screen and (max-width:520px) {
  .flex.divided2 ,
  .flex.divided3  {
    margin-left: auto;
    margin-right: auto;
  }
  
  .flex.space__between {
    justify-content: center;
  }

  .flex .flex__list,
  .flex.divided2 .flex__list,
  .flex.divided3 .flex__list,
  .flex.divided2 .flex__list:nth-child(even),
  .flex.divided3 .flex__list:nth-child(even),
  .flex.divided3 .flex__list:nth-child(3n-1) {
    flex-basis: 100%;
    width: 100%;
    margin-bottom: 4%;
    margin-left: auto;
    margin-right: auto;
  }

  .flex .flex__list.w20,
  .flex .flex__list.w25,
  .flex .flex__list.w30 ,
  .flex .flex__list.w31,
  .flex .flex__list.w32,
  .flex .flex__list.w33,
  .flex .flex__list.w35,
  .flex .flex__list.w40,
  .flex .flex__list.w45,
  .flex .flex__list.w50,
  .flex .flex__list.w55 ,
  .flex .flex__list.w60,
  .flex .flex__list.w65 ,
  .flex .flex__list.w70 {
    flex-basis: 100%;
    margin-left: auto;
    margin-right: auto;
  }

}


/*wide*/
.w10 {
  width: 10%;
}

.w20 {
  width: 20%;
}

.w30 {
  width: 30%;
}

.w40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w70 {
  width: 70%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

/*link*/
a,
a:hover {
  cursor:pointer;
  color: inherit;
  transition-property: opacity;
  transition-duration: 0.5s;
  transition: 0.2s all;
}

a:hover {
  opacity: 0.7; 
}

@media (min-width: 520px) {
  a[href^="tel:"] {
      pointer-events: none;
      cursor: default;
  }
}

@media only screen and (max-width: 520px) {
  a:hover {
    opacity: 1.0; 
  }
}

/*img*/
img {
  vertical-align:middle;
  -ms-interpolation-mode:bicubic;
  max-width:100%
}

figure  {
  padding-left: 0;
  margin-right: 0;
  margin-left: auto;
  margin-right: auto;
}

img.radius {
  border-radius: 36px;
}

@media only screen and (max-width:520px) {
  img.radius {
    border-radius:calc(36px / 2);
  }
}

img.round {
  border-radius: 100%;
}

.alignnone,
.alignleft,
.alignright,
.aligncenter  {
  margin:0;
}

.alignleft  {
  display:inline;
  float:left;
  margin-top:9px;
  margin-right:36px;
  margin-bottom:18px
}

.alignright {
  display:inline;
  float:right;
  margin-top:9px;
  margin-left:36px;
  margin-bottom:18px
}

.aligncenter  {
  clear:both;
  display:block;
  margin-left:auto;
  margin-right:auto;
  text-align:center
}

@media only screen and (max-width:520px) {
  .alignnone,
  .alignleft,
  .alignright,
  .aligncenter  {
    display:block;
    float:none;t
    ext-align:center;
    margin:1em auto
  }
}


/*loading */
.loader-bg {
  width: 100vw;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 123456789;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.loader {
  font-size: 10px;
  margin: auto;
  text-indent: -9999em;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(left, #999 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #999 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #999 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #999 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #999 10%, rgba(255, 255, 255, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

.loader:before {
  width: 50%;
  height: 50%;
  background: #fff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}

.loader:after {
  background: #fff;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  }
  100% {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  }
  100% {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  }
}
/* ----------------------------------------------------------

Btn Setting

---------------------------------------------------------- */
/*btn*/
.btn, 
button[type="button"], 
input[type="button"], 
input[type="submit"]  {
  display:block;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
  position:relative;
  cursor:pointer;
  box-shadow:none;
  outline:none;
  appearance:none;
  font-weight: 600;
  padding:22.5px;
  border-radius:180px;
  text-align: center;
  transition: 0.2s all;
}

/*btn__primary*/
.btn__primary {
  background-color: rgba(0, 65, 191, 1.0);
  background-image: url(../img/icon__arrow1.png);
  background-position: 95% 50%;
  background-size:calc(47px / 4);
  background-repeat: no-repeat;
  color: #fff;
  font-size: calc(3rem / 1.75);
  font-weight: bold;
  padding: 24px;
}

  .btn__primary.small {
    background-color: rgba(0, 65, 191, 1.0);
    background-image: url(../img/icon__arrow1.png);
    background-position: 95% 50%;
    background-size:calc(47px / 4);
    background-repeat: no-repeat;
    text-align: center;
    color: #fff;
    font-size: calc(2.75rem / 1.75);
    font-weight: bold;
    transition: 0.2s all;
    padding:22.5px 18px;
  }

  .btn__primary:hover,
  .btn__primary:focus  {
    color:#fff;
    background-color: rgba(0, 65, 191, 0.75);
  }

/*btn__secondary*/
.btn__secondary {
  background-color: rgba(255, 255, 255, 1.0);
  background-image: url(../img/icon__arrow2.png);
  border: 2px solid rgba(0, 65, 191, 1.0);
  background-position: 95% 50%;
  background-size:calc(45px / 4);
  background-repeat: no-repeat;
  color: rgba(0, 65, 191, 1.0);
  font-size: calc(2.75rem / 1.75);
  font-weight: bold;
  padding:18px;
}

  .btn__secondary:hover,
  .btn__secondary:focus  {
    color:rgba(0, 65, 191, 0.75);
    border: 2px solid rgba(0, 65, 191, 0.5);
  }

@media only screen and (min-width:768px) {
  .btn__primary {
    font-size: calc(3rem / 1.25);
  }

  .btn__primary {
    font-size: calc(2.75rem / 1.25);
  }

}


/* ----------------------------------------------------------

Table Setting

---------------------------------------------------------- */
/*wide*/
table.w20 th {
  width: 20%;
}

table.w30 th {
  width: 30%;
}

table.w35 th {
  width: 35%;
}

table.w40 th {
  width: 40%;
}

table.w45 th {
  width: 45%;
}

table.w50 th {
  width: 50%;
}

@media only screen and (max-width:520px) {
  table.w30 th,
  table.w35 th,
  table.w40 th ,
  table.w45 th ,
  table.w50 th {
    width: 50%;
  }
}

/*table__bordered
table.table__bordered {
  border: none;
  width: 100%;
  table-layout: fixed;
  border: 1px solid #ccc;
  border-collapse: collapse;
  padding: 0;
  margin: 0;
}

table.table__bordered tr th {
  text-align: left;
  font-weight: 400;
  border: 1px solid #ccc;
  background: #F8F4EF;
  padding: 18px;
  font-weight: bold;
}

table.table__bordered tr td {
  text-align: left;
  font-weight: 400;
  border: 1px solid #ccc;
  padding: 18px;
}/*

  table.table__bordered tr:nth-last-child(1) th ,
  table.table__bordered tr:nth-last-child(1) td  {
    border-bottom: none;
  }

@media only screen and (max-width:520px) {
  table.table__bordered  {
    border: none;
  }

  table.table__bordered tr th ,
  table.table__bordered tr td {
    display: block;
    width: 100%;
    padding:calc(18px / 1.5);
    box-sizing: border-box;
    position: relative;
    border: none;
  }

}

.wp-block-table table ,
.wp-block-table tr th ,
.wp-block-table tr td {
  border: 1px solid #ccc;
  border-collapse: collapse;
}


/*table__striped*
table.table__striped {
  border: none;
  width: 100%;
  table-layout: fixed;
  border: none;
  border-collapse: collapse;
  padding: 0;
  margin: 0;
}

table.table__striped tr th ,
table.table__striped tr td {
  text-align: left;
  font-weight: 400;
  padding: 18px;
}

table.table__striped tr th {
  font-weight: bold;
}

  table.table__striped tr th.right {
    text-align: right;
  }

  table.table__striped tr:nth-child(odd) th ,
  table.table__striped tr:nth-child(odd) td {
    background: var(--bg4);
  }

  table.table__striped tr:nth-child(even) th ,
  table.table__striped tr:nth-child(even) td {
    background: #fff;
  }

/*

  table.table__bordered tr:nth-last-child(1) th ,
  table.table__bordered tr:nth-last-child(1) td  {
    border-bottom: none;
  }


@media only screen and (max-width:520px) {
  table.table__striped  {
    border: none;
  }

  table.table__striped tr th ,
  table.table__striped tr td {
    box-sizing: border-box;
    border: none;
  }

    table.table__striped tr th{
    }

    table.table__striped tr td {
    }

}

*/
/*table__responsive
@media only screen and (max-width:520px) {
  .table__responsive {
    table-layout: fixed;
  }

  .table__striped.table__responsive tr th,
  .table__striped.table__responsive tr td,
  .table__responsive tr th,
  .table__responsive tr td {
    width: 100%;
    box-sizing: border-box;
    position: relative;
    display: block;
  }

  .table__responsive tr th,
  .table__striped.table__responsive tr th,
  .table__bordered.table__responsive tr th {
    padding-bottom: 2.25px;
    border: none;
  }

  .table__bordered.table__responsive tr {
    border: 1px solid #dedede;
  }

  .table__responsive tr td,
  .table__striped.table__responsive tr td,
  .table__bordered.table__responsive tr td {
    padding-top: 2.25px;
    border: none;
  }

  .table__responsive.w20,
  .table__responsive.w30,
  .table__responsive.w40,
  .table__responsive.w50 {
    width: 100%;
  }
}


/*definition__list
.definition__list dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items:top;
  padding:1.75px 0;
}

.definition__list dl dt {
  font-weight: 500;
}

.definition__list dl dd {
}

.definition__list.w15 dl dt {
  flex-basis: 15%;
}

.definition__list.w20 dl dt {
  flex-basis: 20%;
}

@media only screen and (max-width:520px) {

}

/* ----------------------------------------------------------

Layout Setting

---------------------------------------------------------- */
html {
  font-size: 62.5%;
  /* font-sizeは16pxの62.5%の10px */
}

body  {
  position: relative;
  font-feature-settings:"palt" 1;
  line-break:strict!important;
  overflow-wrap:break-word!important;
  word-wrap:break-word!important;
  box-sizing:border-box;
  width:100%;
  color: #222;
  font-weight: normal;
  font-size: 1.6rem;
  max-width: 100%;
  line-height:2;
  padding:0;
  margin:auto;
}

#wrapper {
  overflow-x:hidden;
}

.container__fluid  {
  width:100%;
  margin:auto;
  max-width: 1980px;
}

.container__wide {
  width:100%;
  margin:auto;
  padding-left: 2.5em;
  padding-right: 2.5em;
  max-width: 1980px;
}

.container  {
  width:1180px;
  max-width: 1980px;
  margin:auto;
}

.container__middle {
  width:1080px;
  margin:auto;
}

.container__narrow {
  width:1024px;
  margin:auto;
}

.container__xnarrow  {
  width:980px;
  margin:auto;
}

.container__xxnarrow {
  width:880px;
  margin:auto;
}

.container__xxxnarrow {
  width:780px;
  margin:auto;
}

.container__xxxxnarrow {
  width:680px;
  margin:auto;
}

.container__xxxxxnarrow {
  width:468px;
  margin:auto;
}

@media only screen and (max-width:768px) {
  body  {
    min-width:1px;
    font-size:calc(2rem / 1.35);
    line-height: 1.89;
    -webkit-text-size-adjust:100%;
    -webkit-overflow-scrolling:touch;
  }

  .container__wide,
  .container,
  .container__middle,
  .container__narrow,
  .container__xnarrow,
  .container__xxnarrow,
  .container__xxxnarrow,
  .container__xxxxnarrow,
  .container__xxxxxnarrow {
    width:100%;
    max-width:100%;/*
    padding-left:1em;
    padding-right:1em;*/
    box-sizing:border-box
  }

}

/*iPhone横*/
@media (orientation: landscape) and (max-width:900px)　{
  body  {
    min-width:1180px;
  }
}

/*iPad用*/
@media screen and (device- width : 768px ) and (device- height : 1024px ) and (-webkit-device-pixel-ratio: 2 ) {
  body  {
    min-width: 1024px;
  }
}

/* ----------------------------------------------------------

Header Setting

---------------------------------------------------------- */
header {
  position: relative;
}
/*
.header .mainvisual {
  padding: 0 0 2.5em;
  background-image: url(../img/mainvisual__bg__sp.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

.mainvisual__title  {
  position: relative;
  padding-top: 0.5em;
  z-index: 1;
}

.mainvisual__title img {
  pointer-services: none;
}
*/
.mainvisual__btn  {
  position: relative;
  z-index: 34;
  padding:0.5em 0;
  margin:-0.25em auto auto;
  text-align: center;
}

.mainvisual__btn ul li {
  display: block;
  padding: 0 1em;
  margin: 1em auto;
}

.mainvisual__btn ul li.secondary {
  padding: 0 3em;
}

.mainvisual__btn ul li.primary a ,
.mainvisual__btn ul li.secondary a {
  line-height: 1.234577;
  font-size: calc(2.75rem / 1.75);
}

.mainvisual__btn ul li.secondary a {
  padding:0.85em 1em;
}

@media only screen and (min-width:768px) {/*
  .header .mainvisual {
    padding: 0 0 2.5em;
    background-image: url(../img/mainvisual__bg__pc.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100%;
  }
  */

  .mainvisual__btn  {
    margin: auto;
    padding:0.5em 1em;
  }

}

/* ----------------------------------------------------------

Section Setting

---------------------------------------------------------- */
/*bg*/
.color1 {
  color: #fff;

}

/*section*//*
.section {
  padding:calc(90px / 2) 0;
}
*/
@media only screen and (min-width:768px) {
  .section__container {
    max-width: 1280px;
    margin: auto;
  }

}

/*padding margin*/
.mt-4  {
  margin-top: -4.5px
}

.mt-9  {
  margin-top: -9px
}

.mt-18  {
  margin-top: -18px
}

.mt-27  {
  margin-top: -27px
}

.mt-36 {
  margin-top: -36px
}

.mt-45 {
  margin-top: -45px
}

.mt-54 {
  margin-top: -54px
}

.mt-63 {
  margin-top: -63px
}

.mt-72 {
  margin-top: -72px
}

.mt-81 {
  margin-top: -81px
}

.mt-90 {
  margin-top: -90px
}

.mt-120 {
  margin-top: -120px;
}

.mt-150 {
  margin-top: -150px;
}

.mt-180 {
  margin-top: -180px;
}

.mb-9  {
  margin-bottom: -9px
}

.mb-18  {
  margin-bottom: -18px
}

.mb-27  {
  margin-bottom: -27px
}

.mb-36 {
  margin-bottom: -36px
}

.mb-45 {
  margin-bottom: -45px
}

.mb-54 {
  margin-bottom: -54px
}

.mb-63 {
  margin-bottom: -63px
}

.mb-72 {
  margin-bottom: -72px
}

.mb-81 {
  margin-bottom: -81px
}

.mb-90 {
  margin-bottom: -90px
}

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

.mt9 {
  margin-top: 9px;
}

.mt18 {
  margin-top: 18px;
}

.mt27 {
  margin-top: 27px;
}

.mt36 {
  margin-top: 36px;
}

.mt45 {
  margin-top: 45px;
}

.mt54 {
  margin-top: 54px;
}

.mt63 {
  margin-top: 63px;
}

.mt72 {
  margin-top: 72px;
}

.mt81 {
  margin-top: 81px;
}

.mt90 {
  margin-top: 90px;
}

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

.mb9 {
  margin-bottom: 9px;
}

.mb18 {
  margin-bottom: 18px;
}

.mb27 {
  margin-bottom: 27px;
}

.mb36 {
  margin-bottom: 36px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb54 {
  margin-bottom: 54px;
}

.mb63 {
  margin-bottom: 63px;
}

.mb72 {
  margin-bottom: 72px;
}

.mb81 {
  margin-bottom: 81px;
}

.mb90 {
  margin-bottom: 90px;
}

.pt0 {
  padding-top: 0;
}

.pt9 {
  padding-top: 9px;
}

.pt18 {
  padding-top: 18px;
}

.pt27 {
  padding-top: 27px;
}

.pt36 {
  padding-top: 36px;
}

.pt45 {
  padding-top: 45px;
}

.pt54 {
  padding-top: 54px;
}

.pt63 {
  padding-top: 63px;
}

.pt72 {
  padding-top: 72px;
}

.pt81 {
  padding-top: 81px;
}

.pt90 {
  padding-top: 90px;
}

.pt120 {
  padding-top: 120px;
}

.pt150 {
  padding-top: 150px;
}

.pt180 {
  padding-top: 180px;
}

.pb0 {
  padding-bottom: 0;
}

.pb9 {
  padding-bottom: 9px;
}

.pb18 {
  padding-bottom: 18px;
}

.pb27{
  padding-bottom: 27px;
}

.pb36 {
  padding-bottom: 36px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb54 {
  padding-bottom: 54px;
}

.pb63 {
  padding-bottom: 63px;
}

.pb72 {
  padding-bottom: 72px;
}

.pb81 {
  padding-bottom: 81px;
}

.pb90 {
  padding-bottom: 90px;
}

.pb180 {
  padding-bottom: 180px;
}

.pb210 {
  padding-bottom: 210px;
}

.pd9 {
  padding: 9px;
}

.pd18 {
  padding: 18px;
}

.pd27 {
  padding: 27px;
}

.pd36 {
  padding: 36px;
}

.pd45 {
  padding: 45px;
}

.pd54 {
  padding: 54px;
}

.pd63 {
  padding: 63px;

}

@media only screen and (max-width:520px) {
  .mt-4  {
    margin-top: calc(-4.5px / 2)
  }

  .mt-9  {
    margin-top: calc(-9px / 2)
  }

  .mt-18  {
    margin-top: calc(-18px / 2)
  }

  .mt-27  {
    margin-top: calc(-27px / 2)
  }

  .mt-36 {
    margin-top: calc(-36px / 2)
  }

  .mt-45 {
    margin-top: calc(-45px / 2)
  }

  .mt-54 {
    margin-top: calc(-54px / 2)
  }

  .mt-63 {
    margin-top: calc(-63px / 2)
  }

  .mt-72 {
    margin-top: calc(-72px / 2)
  }

  .mt-81 {
    margin-top: calc(-81px / 2)
  }

  .mt-90 {
    margin-top: calc(-90px / 2)
  }

  .mt-120 {
    margin-top: calc(-120px / 2)
  }

  .mt-150 {
    margin-top: calc(-150px / 2)
  }

  .mt-180 {
    margin-top: calc(-180px / 2)
  }

  .mb-9  {
    margin-bottom: calc(-9px / 2)
  }

  .mb-18  {
    margin-bottom: calc(-18px / 2)
  }

  .mb-27  {
    margin-bottom: calc(-27px / 2)
  }

  .mb-36 {
    margin-bottom: calc(-36px / 2)
  }

  .mb-45 {
    margin-bottom: calc(-45px / 2)
  }

  .mb-54 {
    margin-bottom: calc(-54px / 2)
  }

  .mb-63 {
    margin-bottom: calc(-63px / 2)
  }

  .mb-72 {
    margin-bottom: calc(-72px / 2)
  }

  .mb-81 {
    margin-bottom: calc(-81px / 2)
  }

  .mb-90 {
    margin-bottom: calc(-90px / 2)
  }

  .mt9 {
    margin-top: calc(9px / 2)
  }

  .mt18 {
    margin-top: calc(18px / 2)
  }

  .mt27 {
    margin-top: calc(27px / 2)
  }

  .mt36 {
    margin-top: calc(36px / 2)
  }

  .mt45 {
    margin-top: calc(45px / 2)
  }

  .mt54 {
    margin-top: calc(54px / 2)
  }

  .mt63 {
    margin-top: calc(63px / 2)
  }

  .mt72 {
    margin-top: calc(72px / 2)
  }

  .mt81 {
    margin-top: calc(81px / 2)
  }

  .mt90 {
    margin-top: calc(90px / 2)
  }

  .mb9 {
    margin-bottom: calc(9px / 2)
  }

  .mb18 {
    margin-bottom: calc(18px / 2)
  }

  .mb27 {
    margin-bottom: calc(27px / 2)
  }

  .mb36 {
    margin-bottom: calc(36px / 2)
  }

  .mb45 {
    margin-bottom: calc(45px / 2)
  }

  .mb54 {
    margin-bottom: calc(54px / 2)
  }

  .mb63 {
    margin-bottom: calc(63px / 2)
  }

  .mb72 {
    margin-bottom: calc(72px / 2)
  }

  .mb81 {
    margin-bottom: calc(81px / 2)
  }

  .mb90 {
    margin-bottom: calc(90px / 2)
  }

  .pt9 {
    padding-top: calc(9px / 2)
  }

  .pt18 {
    padding-top: calc(18px / 2)
  }

  .pt27 {
    padding-top: calc(27px / 2)
  }

  .pt36 {
    padding-top: calc(36px / 2)
  }

  .pt45 {
    padding-top: calc(45px / 2)
  }

  .pt54 {
    padding-top: calc(54px / 2)
  }

  .pt63 {
    padding-top: calc(63px / 2)
  }

  .pt72 {
    padding-top: calc(72px / 2)
  }

  .pt81 {
    padding-top: calc(81px / 2)
  }

  .pt90 {
    padding-top: calc(90px / 2)
  }

  .pt120 {
    padding-top: calc(120px / 2)
  }

  .pt150 {
    padding-top: calc(150px / 2)
  }

  .pt180 {
    padding-top: calc(180px / 2)
  }

  .pb9 {
    padding-bottom: calc(9px / 2)
  }

  .pb18 {
    padding-bottom: calc(18px / 2)
  }

  .pb27{
    padding-bottom: calc(27px / 2)
  }

  .pb36 {
    padding-bottom: calc(36px / 2)
  }

  .pb45 {
    padding-bottom: calc(45px / 2)
  }

  .pb54 {
    padding-bottom: calc(54px / 2)
  }

  .pb63 {
    padding-bottom: calc(63px / 2)
  }

  .pb72 {
    padding-bottom: calc(72px / 2)
  }

  .pb81 {
    padding-bottom: calc(81px / 2)
  }

  .pb90 {
    padding-bottom: calc(90px / 2)
  }

  .pb180 {
    padding-bottom: calc(180px / 2)
  }

  .pb210 {
    padding-bottom: calc(210px / 2)
  }

  .pd9 {
    padding: calc(9px / 2)
  }

  .pd18 {
    padding: calc(18px / 2)
  }

  .pd27 {
    padding: calc(27px / 2)
  }

  .pd36 {
    padding: calc(36px / 2)
  }

  .pd45 {
    padding: calc(45px / 2)
  }

  .pd54 {
    padding: calc(54px / 2)
  }

  .pd63 {
    padding: calc(63px / 2)
  }

}



/*section__title*/
.section__title {
  text-align: center;
  position: relative;
  margin: auto auto 0.25em;
}

.section__title span {
  display: block;
  text-align: center;
  margin: auto;
}

.section__title span.en {
  color:#0041BF;
  font-weight: 600;
  letter-spacing: 0.025em;
  font-size: calc(2.7rem / 1.75);
  line-height: 1.789;
}

.section__title span.ja {
  font-weight:600;
  font-size: calc(4.8rem / 1.75);
  line-height: 1.789;
}

  .section__title span.ja.small {
    font-size: calc(4.25rem / 1.75);
  }

  .section__title span.en.color1 {
    color:#fff;
  }

@media only screen and (min-width:768px) {

}

/*section__subtitle*/
.section__subtitle {
  text-align: center;
  margin: auto;
}

.section__subtitle span.ja {
  display: inline-block;
  position: relative;
  text-align: center;
  margin: auto;
  font-size: 400;
  font-size: calc(3rem / 1.75);
  line-height: 1.789;
  border-bottom: 1px solid #999;
}

.section__subtitle span:after {
  text-align: center;
  position: absolute;
  content: '';
  width: 100%;
  top: 100%;
  left: 0;
  margin: 5px auto 0;
  border-bottom: 1px solid #999;
}

@media only screen and (min-width:768px) {

}

/*section__content*/
.section__content {
  padding-top: 1.25em;
}

@media only screen and (min-width:768px) {

}

/* ----------------------------------------------------------

Feature Setting

---------------------------------------------------------- */
/*feature*/
.section.feature {
  position: relative;
  z-index: 45;
  background-color: #EDF5FC;
  padding: 3em 1em 1.5em;
  position: relative;
}

.feature__list {
  border-radius: 9px ;
  padding:1em 2em 2em;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 1.25em auto;
}

.feature__img {
  flex-basis: 100%;
  text-align: center;
  margin: auto;
  order:1;
}

.feature__text {
  flex-basis: 100%;
  order: 2;
}

.feature__img img {
  text-align: center;
  margin:1.5em auto;
  max-width: calc(128px / 2.5);
}

.feature__title  {
  text-align: center;
  margin: auto auto 1.25em;
}

.feature__title span.ja {
  display: bold;
  font-weight:600;
  font-size: calc(3.3rem / 1.75);
  line-height: 1.789;
  padding: 0.45em 0.5em;
  background:linear-gradient(transparent 60%, #fff3a1 60%);
}

.feature__text p {
  font-weight:400;
  font-size: calc(2.7rem / 1.75);
  line-height: 1.789;
}

@media only screen and (min-width:768px) {
  .section.feature {
    padding: 3em 1em
  }

  .feature__list__container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: top;
    padding: 2.5em 0 0;
  }

  .feature__list {
    flex-basis: 32%;
    margin: 0 1%;
  }

  .feature__list:nth-child(1) {
    margin-left: 0;
  }

  .feature__list:nth-child(3) {
    margin-right: 0;
  }

  .feature__img img {
    max-width: calc(128px / 2.5);
  }

}

/* ----------------------------------------------------------

Clendar Setting

---------------------------------------------------------- */
/*service*/
.section.service {
  background-color: #fff;
  padding: 3em 1em 0.5em;
  position: relative;
  z-index: 34;
}

@media only screen and (min-width:768px) {
  .section.service {
    padding: 3em 1em ;
  }

}

/*service__list*/
.service__list {
  margin:auto auto 1em ;
}

@media only screen and (min-width:768px) {
}

/*service__list__head*/
.service__list__head {
  padding: 1.25em 2.5em;
  background-color: #0041BF;
  border-radius:18px 18px 0 0 ;
  text-align: center;
  margin: auto;
}

.service__list__title  {
  text-align: center;
  margin: auto;
}

.service__list__title span  {
  display: block;
  text-align: center;
  margin: auto;
  font-weight: bold;
  color: #fff;
  font-size: calc(3.35rem / 1.75);
  line-height: 1.23456789;
}

/*service__list__body*/
.service__list__body {
  padding: 1.25em 2.5em 1.75em;
  background-color: #EDF5FC;
  border-radius: 0 0 18px 18px;
}

.service__list__body span {
  display: inline-block;
  vertical-align: middle;
  margin: auto;
  text-align: center;
}

.service__list__price {
  margin: auto auto 1em;
  text-align: center;
}

.service__list__body span.label {
  background: #fff;
  border-radius: 2.25px;
  line-height: 1;
  font-size: calc(2.7rem / 1.75);
  text-align: center;
  padding: 4.5px 11.5px;
  margin: 0 0.25em;
}

.service__list__body span.price {
  line-height: 1;
  font-weight: 600;
  font-size: calc(3.6rem / 1.75);
}

.service__list__body span.price strong {
  font-weight: 600;
  color: #0041BF;
  line-height: 1;
  font-size: calc(6.3rem / 1.75);
}

.service__list__body p.text {
  font-weight:400;
  font-size: calc(2.7rem / 1.75);
  line-height: 1.789;
}

@media only screen and (min-width:768px) {
  .service__list__body p.text {
    text-align: center;
  }
}

/* ----------------------------------------------------------

Price Setting

---------------------------------------------------------- */
/*pricing*/
.section.pricing {
  background-color: #fff;
  padding: 1.5em 1em ;
  position: relative;
  z-index: 12;
  margin-top: 2em;
}

.pricing__list__container,
.menu__list__container,
.option__list__container {
  padding-top: 2em;
}

.pricing__title ,
.menu__title ,
.option__title {
  text-align: center;
  margin: auto;
}

.pricing__title span ,
.menu__title span,
.option__title span {
  display: block;
  text-align: center;
  margin: auto;
  font-weight: bold;
  font-size:calc(3.6rem / 1.75);
}

@media only screen and (min-width:768px) {
}

/*pricing__list*/
.pricing__list__detail {
  background-color: #EDF5FC;
  border-radius: 9px;
  padding: 1.5em;
  margin: 0.75em auto ;
}

.pricing__list dl.default {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;  
}

.pricing__list dl.default  dt {
  flex-basis: 59%;
  text-align: left;
  font-size:calc(2.0rem / 1.75);
}

.pricing__list dl.default  dd {
  flex-basis: 41%;
  text-align: right;
  font-size:calc(3.2rem / 1.75);
}

.pricing__list dl.default dt span {
  display: block;
  color: #222;
  font-weight: bold;
  font-size:calc(2.7rem / 1.75);
}

.pricing__list dl.default dd span {
  display: inline-block;
  color: #0041BF;
  font-weight: bold;
  font-size:calc(5.4rem / 1.75);
}

.pricing__list dl.subscription {
  background-color: #fff;
  border-radius: 4.5px;
  padding: 0.25em 1em;
  margin: 0.25em auto auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;  
}

.pricing__list dl.subscription dt {
  flex-basis: 59%;
  text-align: left;
  font-weight: bold;
  font-size:calc(2.0rem / 1.75);
}

.pricing__list dl.subscription dd {
  flex-basis: 41%;
  text-align: right;
  font-weight: bold;
  font-size:calc(2.0rem / 1.75);
}

.pricing__list dl.subscription dd span {
  display: inline-block;
  font-weight: bold;
  margin-right: 0.125em;
  font-size:calc(3.7rem / 1.75);
}

@media only screen and (min-width:768px) {

}


/*menu__list*/
.menu__list  {
  background-color: #EDF5FC;
  border-radius: 9px;
  padding: 1.5em;
  margin: 0.75em auto ;
}

.menu__list .title {
  text-align: left;
  font-size:calc(2.0rem / 1.75);
}

.menu__list .title span {
  display: block;
  color: #222;
  font-weight: bold;
  font-size:calc(2.7rem / 1.75);
}

.menu__list p {
  display: block;
  color: #222;
  font-size:calc(2.0rem / 1.75);
}

.menu__list dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-radius: 4.5px;
  background-color: #fff;
  padding:0.125em 1.5em;
  margin: 0.5em auto ;
}

.menu__list dt {
  flex-basis: 55%;
  text-align: left;
}

.menu__list dd {
  flex-basis: 45%;
  text-align: right;
  font-weight: 500;
  font-size:calc(2.0rem / 1.75);
}

.menu__list dt span {
  display: block;
  color: #222;
  font-weight: 500;
  font-size:calc(2.0rem / 1.75);
}

  .menu__list dt span.first {
    color: #0041BF;
    font-weight: 600;
  }

.menu__list dd span {
  display: inline-block;
  font-weight: 500;
  margin-right: 0.125em;
  font-size:calc(3.6rem / 1.75);
}

  .menu__list dt span.first ,
  .menu__list dd span.first {
    color: #0041BF;
    font-weight: 600;
  }

.menu__list dl.recommend {
  background-color: rgba(0, 65, 191, 1.0);
}

.menu__list dl.recommend dt ,
.menu__list dl.recommend dd ,
.menu__list dl.recommend dt span,
.menu__list dl.recommend dd span {
  color: #fff;
  font-weight: bold;
}

.menu__list dl.subscription {
  background-color: rgba(154, 195, 223, 0.70);
}

.menu__list dl.subscription dt ,
.menu__list dl.subscription dd ,
.menu__list dl.subscription dt span,
.menu__list dl.subscription dd span {
  color: #222;
  font-weight: bold;
}

@media only screen and (min-width:768px) {

}

/*option*/
.option__list {
  padding: 1.25em 0 2.5em;
  text-align: center;
  margin: auto;
}

.option__list .table {
  border: none;
  width: 100%;
  table-layout: fixed;
  border:none;
  border-collapse: collapse;
  padding: 0;
  margin: 0;
}

.option__list .table tr {
  border-bottom: 1px solid #ccc;
}

.option__list .table th {
  font-weight: 400;
  width:20%;
  font-size:calc(2.0rem / 1.75);
}

.option__list .table td {
  text-align: right;
  font-weight: 400;
  padding-top:1em;
  width: 80%;
  padding-bottom: 1em;
  font-size:calc(2.0rem / 1.75);
  line-height: 1.56789;
}

.option__list .table td span.price {
  text-align: center;
  font-weight: 500;
  margin: 0 0.125em;
  font-size:calc(3.0rem / 1.75);
}

@media only screen and (min-width:768px) {
  .option__list span.pc {
    display: inline-block;
    padding: 0 0.25em;
  }
}


/*parts*/
.section.parts {
  background-color: #EDF5FC;
  padding: 2em 1em ;
  position: relative;
  z-index: 12;
}

.parts .section__title span {
  display: block;
  text-align: center;
  margin: auto;
  font-weight: bold;
  font-size:calc(3.6rem / 1.75);
}

.parts__images {
  background-color: #fff;
  border-radius: 9px;
  padding: 1em;
}

.parts__images ul li {
  margin:1.25em auto;
  text-align: center;
}

@media only screen and (min-width:768px) {

}


/*caution*/
.section.caution {
  background-color: #fff;
  padding: 2em 1em ;
  position: relative;
}

.caution p {
  text-align: center;
  font-size:calc(2.7rem / 1.75);
}

@media only screen and (min-width:768px) {

}

/* ----------------------------------------------------------

BEFORE & AFTER Setting

---------------------------------------------------------- */
/*beforeafter*/
.beforeafter .section__title span.ja {
  display: inline-block;
  text-align: center;
  margin: auto;
  padding: 0 0.5em 0.25em;
  background-image: url(../img/beforeafter1.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100%;
}

@media only screen and (min-width:768px) {
  .section.beforeafter {
    margin-top: 2.5em;
  }
}

/*beforeafter*/
.beforeafter__container {
  background-color: #EDF5FC;
  border-radius: 36px;
  padding: 2em 1em;
}

.beforeafter__title {
  text-align: center;
  margin: auto;
}

.beforeafter__title span {
  display: block;
  margin: auto;
  font-weight: bold;
  font-size: calc(3.2rem /1.5);
  text-align: center;
}

.beforeafter__container p.leed {
  text-align: center;
  margin: auto;
  font-size: calc(2.4rem /1.5);
}

.beforeafter__list {
  text-align: center;
  margin: auto;
}

.beforeafter__list li {
  padding:1em 0 0.5em;
  text-align: center;
  margin: auto;
  position: relative;
}

.beforeafter__list li.before {
  position: relative;
}

.beforeafter__list li.before:after {
  position: absolute;
  content: '';
  z-index: 123;
  left: calc(50% - calc( calc(276px / 3) / 2));
  top:1.75em;
  margin:auto;
  background-image: url(../img/beforeafter4.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  width: calc(276px /3);
  background-size: calc(276px /3);
  height: 100%;
}

@media only screen and (min-width:768px) {

}



/* ----------------------------------------------------------

Clendar Setting

---------------------------------------------------------- */
/*review*/
.section.review {
  background-color: #fff;
  padding: 2em 1em ;
  position: relative;
}

@media only screen and (min-width:768px) {
  .section.review {
    margin-top: 2.5em;
  }
}


/*review__list*/
.review__list {
  padding: 2.5em;
  border-radius: 18px;
  background-color: #EDF5FC;
}

.review__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.review__img {
  flex-basis: 81px;
}

.review__title {
  flex-basis:calc(100% - calc(81px + 18px));
  text-align: left;
}

.review__title .title span.ja {
  display: block;
  font-size: calc(3.0rem / 1.75);;
  font-weight: bold;
}

.review__title .title span.star {
  display: block;
  text-align: left;
  margin: 0;
}

.review__title .title span.star img {
  width: calc(257px / 2.45);
}

.review__body {
  margin-top: 1.25em;
}

.review__body p {
  font-size: calc(2.5rem / 1.75);
  text-align: justify;
}

@media only screen and (min-width:768px) {

}

/*review_btn*/
.review_btn {
  margin: 1.5em auto auto;
  text-align: center;
  width: 100%;

}

@media only screen and (min-width:768px) {

}

/* ----------------------------------------------------------

FAQ Setting

---------------------------------------------------------- */
/*faq*/
.section.faq {
  background-color: #fff;
  padding: 2em 1em ;
  margin: 2.5em auto auto;
  z-index: 67;
}

.faq__list__container {
  margin: 1em auto ;
}

.faq__list {
  padding: 0 1em;
  box-sizing: border-box;
}

.faq__list dl {
  border-bottom: 1px solid #ccc;
  padding:2em 0 1em;
  box-sizing: border-box;
}

.faq__list dt div.en {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  line-height:2.125;
  color: #0041BF;
  font-size: calc(4.5rem / 1.5);
  text-align: center;
  background-color: #EDF5FC;
  width: 63px;
  height: 63px;
  border-radius: 63px;
  font-weight: 700;
}

.faq__list dt span.ja {
  display: inline-block;
  vertical-align: middle;
  font-weight: 500;
  text-align: left;
  font-weight: bold;
  margin-left: 0.5em;
  font-size:calc(3.2rem / 1.75);
  line-height: 1.56789;
}

.faq__list dd  {
  padding: 1em 0 1em 0.25em;
}

.faq__list dd span {
  display: block;
  position: relative;
  font-weight:300;
  text-align: justify;
  font-size: calc(2.7rem / 1.75);
}

@media only screen and (min-width:768px) {

}

/*faq__btn*/
.faq__btn__container {
  padding: 1.25em 1em;
  margin: auto;
  text-align: center;
}

.faq__btn__container p {
  font-size: calc(2.7rem / 1.75);
  margin: auto;
  text-align: center;
}

.faq__btn  {
  text-align: center;
  margin: 1.25em auto auto;
  width: 100%;
}

@media only screen and (min-width:768px) {

}


/* ----------------------------------------------------------

Contact Setting

---------------------------------------------------------- */
/*contact*/
.section.contact {
  background-color: #0041BF;
  padding: 4em 1em;
  margin: auto;
  z-index: 123456789;
  position: relative;
}

.form__container  {
  border-radius: 18px;
  padding: 2em 1em;
  background-color: #fff;
}

.form__container p.leed {
  text-align: center;
  margin: auto;
  font-size: calc(2.7rem / 1.75);
}

@media only screen and (min-width:768px) {

}

/*form__list*/
.form__list {
  padding: 2em 0.5em 1em;
}

.form__list dt,
.form__list dd {
  font-size: calc(2.7rem / 1.75);
}

  .form__list dt {
    font-weight: bold;
  }

  .form__list dd {
    margin: 0.25em 0 1em;
  }


@media only screen and (min-width:768px) {

}

/*wpcf7*/
.wpcf7 input[type=text],
.wpcf7 input[type=number],
.wpcf7 input[type=email],
.wpcf7 input[type=password],
.wpcf7 input[type=date],
.wpcf7 input[type=url],
.wpcf7 input[type=tel],
.wpcf7 textarea {
  appearance:none;
  outline:none;
  border-radius: 9px;
  border:none;
  padding :22.5px 18px;
  background-color:#fff;
  border: 1px solid #ccc;
  box-sizing:border-box;
  width: 100%;
  font-size: calc(2.7rem / 1.75);
}

.wpcf7 input[type=text]:focus,
.wpcf7 input[type=number]:focus,
.wpcf7 input[type=email]:focus,
.wpcf7 input[type=password]:focus,
.wpcf7 input[type=date]:focus,
.wpcf7 input[type=url]:focus,
.wpcf7 input[type=tel]:focus,
.wpcf7 textarea:focus {
  transition: 0.3s;
  background-color: #fff;
  box-shadow: 0 0 0 6px rgba(0,0,0,0.1)
}

.wpcf7 select {
  appearance:none;
  outline:none;
  border-radius: 9px;
  border:none;
  padding :22.5px 18px;
  background-color:#fff;
  border: 1px solid #ccc;
  box-sizing:border-box;
  width: 100%;
  font-size: calc(2.7rem / 1.75);
}

::-webkit-input-placeholder {
  color:#aaa;
}
:-ms-input-placeholder {
  color:#aaa;
}
::placeholder{
  color:#aaa
}

.wpcf7 input[type=radio],
.wpcf7 input[type=checkbox] {
  transform:scale(1.5);
  margin-right: 9px;
}

.wpcf7 .req {
  font-size: calc(2.7rem / 1.75);
  font-weight: bold;
  color: #F40012;
  margin-left: 0.125em;
}

.wpcf7 .form__accept {
  text-align: center;
  margin: auto;
  font-size: calc(2.7rem / 1.75);
}

.form__submit  {
  padding: 0 1em;
}

.form__submit input[type=submit] {
  margin:1.25em auto auto ;
  width: 100%;
  text-align: center;
}

.form__container p.caution {
  text-align: center;
  margin: auto;
  font-size: calc(2.4rem / 1.75);
  color:#999
}

@media only screen and (min-width:768px) {
  .form__submit  {
    width: 468px;
    margin: auto;
  }
    
}

/* ----------------------------------------------------------

Access Setting

---------------------------------------------------------- */
/*access*/
.section.access {
  background-color: #fff;
  padding: 2.5em 0;
  margin: auto;
}

.access__map {
  width: 100%;
}

.access__map iframe {
  width: 100%;
  height: 300px;
}

.access__list__container {
  padding: 1em 1em 0;
}

.access__list dl {
  padding:1.5em 0 ;
  border-bottom: 1px solid #ccc;
}

  .access__list dl:nth-last-child(1) {
    border-bottom:none;
  }

.access__list dt,
.access__list dd {
  font-size: calc(2.7rem / 1.75);
}

.access__list dt {
  font-weight: bold;
}

.access__list dd {
  font-weight: 400;
}

@media only screen and (min-width:768px) {

}

/*access__images*/
.access__images  {
  padding: 1em 1em 0;
}

.access__images li {
  margin: 1em auto;
}

.access__images li img {
  border-radius: 18px;
  text-align: center;
  margin: auto;
}

@media only screen and (min-width:768px) {

}


/* ----------------------------------------------------------

Benefits Setting

---------------------------------------------------------- */
.section.benefits {
  padding: 0 ;
  background: #E3CC63;
  z-index: -1;
  background: linear-gradient(136deg,rgba(227, 204, 99, 1) 0%, rgba(171, 134, 92, 1) 100%);
}

.benefits__image {
  width: calc(100% + 3em);
  text-align: center;
  margin: 0 -1.5em;
}

@media only screen and (min-width:768px) {

}

/* ----------------------------------------------------------

Common Setting

---------------------------------------------------------- */
/*common*/
.section.common {
  background-color: #fff;
  position: relative;
  z-index: 45;
  padding: 2.5em 1em;
}

.section__content p {
  font-weight:400;
  font-size: calc(2.7rem/ 1.75);
  line-height: 1.789;
}

/* ----------------------------------------------------------

Privacy Setting

---------------------------------------------------------- */
/*privacy*/
.privacy__container h3 {
  font-weight: bold;
  margin-top: 1.5em;
  font-size: calc(2.7rem/ 1.75);
  line-height: 1.789;
}


/* ----------------------------------------------------------

Thanks Setting

---------------------------------------------------------- */
/*thanke*/
.thanks__container  {
  text-align: center;
  margin: 2.5em auto ;
}

.thanks__container .section__btn {
  margin: 2.5em auto ;
  text-align: center;
  max-width: 256px;
}

.thanks__container .section__btn a {
  padding:11.25px 18px;
  font-size: calc(2.4rem / 1.75);
}


/* ----------------------------------------------------------

Error404 Setting

---------------------------------------------------------- */
/*error404*/
.error404__container  {
  text-align: center;
  margin: 2.5em auto ;
}

.error404__container .section__btn {
  margin: 2.5em auto ;
  text-align: center;
  max-width: 256px;
}

.error404__container .section__btn a {
  padding:11.25px 18px;
  font-size: calc(2.4rem / 1.75);
}


/* ----------------------------------------------------------

Footer Setting

---------------------------------------------------------- */
/*footer*/
.footer {
  background-color: #fff;
  padding: 2em 0 7.5em;
  margin: auto;
}

.footer__container {
  margin:auto;
  text-align: center;
}

.footer__container p.name {
  font-size: calc(3.2rem / 1.75);
  font-weight: 500;
}

.footer__container p.text {
  font-size: calc(2.7rem / 1.75);
  font-weight:400;
  margin-bottom: 1em;
}

.footer__container address {
  font-style: normal;
  font-size: calc(2.0rem / 1.75);
  color: #999;
}

/*footer__nav*/
.footer__nav {
  width: 100%;
  display: block;
  position: fixed;
  bottom: 0;
  z-index:12345;
  overflow-y: hidden;
}

.footer__nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.footer__nav ul li {
  flex-basis: 100%;
}

.footer__nav a {
  display: block;
  text-decoration: none;
  text-align: center;
  padding:27px 9px 22.5px;
  line-height: 1;
  line-height: 1.34567;
  font-size: 2rem;
  border-radius: 0;
  background-color:#0041BF;
  color: #fff;
  font-weight: bold;;
}
