@charset "UTF-8";
/*基本の青*/
/*薄いグレー*/
/*薄いグレー*/
BODY {
  background: #fff;
  font-style: normal;
  font-weight: normal;
  text-align: center;
  text-indent: 0pt;
  letter-spacing: 0em;
  color: #171717;
  font-size: 100%;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  font-family: 'ヒラギノ角ゴシック','Hiragino Sans','Meiryo UI',sans-serif;
  font-weight: 300; }

a {
  outline: none; }

a:link {
  color: #333;
  text-decoration: none; }

a:visited {
  color: #333; }

a:hover {
  color: #dd9933;
  text-decoration: none; }

a:active {
  color: #333;
  text-decoration: none; }

h1, h2, h3, h4, h5 {
  font-size: 1em;
  line-height: 1;
  font-weight: normal;
  padding: 0;
  margin: 0; }

#pageTop {
  position: fixed;
  bottom: 94px;
  right: 10px;
  width: 65px;
  height: 65px; }
  #pageTop a {
    display: block;
    position: absolute;
    z-index: 999;
    padding: 14px 0 0 2px;
    width: 65px;
    height: 65px;
    line-height: 1.4;
    background-color: #CCC;
    border-radius: 50%;
    border: 1px #fff solid;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    cursor: pointer; }
    #pageTop a:before {
      content: '\f077';
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      padding: 0;
      margin: 0 auto;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center; }
  #pageTop a:hover {
    text-decoration: none;
    opacity: 0.7; }

.btn-pagetop {
  transition: all .7s;
  pointer-events: none;
  opacity: 0; }

.pageTopBtn-in {
  opacity: 1;
  pointer-events: auto; }

.flexbox {
  display: flex;
  align-items: flex-start;
  justify-content: space-between; }
  .flexbox .col2box {
    width: 48%; }
.flexbox .col3box {
    width: calc(100% / 3 - 20px); }

.btnbox {
  /* border: 2px #fff solid; */
  padding: 20px;
  margin: 30px 0 100px 0; }

.btnbox2 {
  padding: 0 20px;
  margin: 50px 0; }

.btnbox_btn {
  margin-bottom: 10px; }

p {
  text-align: left;
  font-size: 1.1em;
  line-height: 1.8; }

.wrapper {
  margin: 0 auto;
  width: 100%;
  text-align: center;
  min-width: 1682px; }

/* upperblock */
#upperblock {
  background: url(../images/upper_bg.jpg) top center no-repeat;
  width: 100%; }
  #upperblock header {
    width: 960px;
    margin: 0 auto;
    height: 693px;
    position: relative; }
    #upperblock header #logo {
      width: 165px;
      position: absolute;
      top: 10px;
      left: 0; }
    #upperblock header #header_telbox {
      width: 250px;
      position: absolute;
      top: 10px;
      right: 0; }
    #upperblock header #header_main {
      width: 704px;
      position: absolute;
      top: 112px;
      left: 0; }
    #upperblock header #header_mark {
      width: 165px;
      position: absolute;
      top: 100px;
      right: 0; }
    #upperblock header #header_btn {
      width: 348px;
      position: absolute;
      bottom: 60px;
      right: -16px; }

/* //upperblock */
.contentsinner {
  width: 960px;
  margin: 0 auto; }

.contentsinner2 {
  width: 1200px;
  margin: 0 auto; }

.text_red {
  color: #a70b2b; }

.minitext {
  font-size: 0.8em; }

.caption_right {
  font-size: 0.8em;
  text-align: right; }

ul.marklist li {
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
  margin-bottom: 5px; }

h3 {
  font-size: 2em;
  margin-bottom: 60px;
  position: relative; }
  h3:after {
    content: '';
    border-bottom: 1px #171717 solid;
    width: 80px;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%); }

/* top-contents */
#top-contents {
  background: url(../images/bg01.jpg) top center no-repeat;
  padding-top: 100px;
  /* //tabtitlebox */ }
  #top-contents h4 {
    font-size: 1.4em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    border-left: 5px #a70b2b solid;
    padding-left: 20px;
    text-align: left;
    margin-bottom: 20px; }
  #top-contents .bgbox {
    background-color: #fff;
    padding: 70px 190px;
    margin-bottom: 30px; }
    #top-contents .bgbox:last-child {
      margin-bottom: 0; }
  #top-contents .tabtitlebox {
    margin-bottom: 50px; }
    #top-contents .tabtitlebox .tabtitle_title {
      display: flex;
      font-size: 1.2em;
      line-height: 1; }
      #top-contents .tabtitlebox .tabtitle_title .tabtitle_title_a {
        background-color: #ad931f;
        text-align: left;
        color: #fff;
        padding: 10px;
        width: 14em;
        height: 40px;
        position: relative; }
        #top-contents .tabtitlebox .tabtitle_title .tabtitle_title_a:after {
          content: '';
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 40px 0 0 40px;
          border-color: transparent transparent transparent #ad931f;
          display: inline-block;
          position: absolute;
          top: 0;
          right: -40px; }
      #top-contents .tabtitlebox .tabtitle_title .tabtitle_title_b {
        margin-left: 40px;
        margin-top: 8px;
        color: #ad931f; }
    #top-contents .tabtitlebox .tabtitle_inner {
      border: 1px #ad931f solid;
      padding: 20px; }
  #top-contents .maintext {
    margin-bottom: 50px; }
  #top-contents .marklist {
    color: #7c7c7c; }
  #top-contents .caption_right {
    color: #7c7c7c; }
  #top-contents #content0101 .top_titlebox .title01 {
    text-align: center;
    margin-bottom: 30px; }
    #top-contents #content0101 .top_titlebox .title01 span {
      border-bottom: 1px #171717 solid;
      padding-bottom: 10px;
      font-size: 1.6em;
      line-height: 1.2;
      font-weight: bold; }
  #top-contents #content0101 .top_titlebox .title02 {
    text-align: center;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    font-size: 2em;
    line-height: 1.2;
    margin-bottom: 10px; }
  #top-contents #content0101 .top_titlebox .title03 {
    text-align: center;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    color: #a70b2b;
    font-size: 2.6em;
    line-height: 1.2;
    font-weight: bold; }
  #top-contents #content0102 .titlebox h2 {
    background-color: #171717;
    padding: 42px;
    font-size: 2.4em;
    line-height:1.5;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    color: #fff;
    width: 960px;
    margin: 0 auto; }
    #top-contents .splide{
      margin-bottom:60px;
      position:relative;
    }
    #top-contents .splide::before{
      content:"";
      width:144px;
      height:100%;
      background:linear-gradient(to right,rgba(255,255,255,100%) 0%,rgba(255,255,255,0) 40%);
      position:absolute;
      top:0;
      left:0;
      bottom:0;
      z-index:1;
    }
    #top-contents .splide::after{
      content:"";
      width:144px;
      height:100%;
      background:linear-gradient(to left,rgba(255,255,255,100%) 0%,rgba(255,255,255,0) 40%);
      position:absolute;
      top:0;
      right:0;
      bottom:0;
      z-index:1;
    }
    #top-contents .splide__arrow{
      z-index:2;
    }
    #top-contents .splide__pagination{
      display:none;
    }
    #top-contents .advantages-list{
      margin:28px auto;
      display:flex;
      justify-content:center;
    }
    #top-contents .advantages-list li{
      width:394px;
      background:#280a10;
      font-size:1.1em;
      line-height:3.4;
      text-align:center;
      color:#fff;
    }
    #top-contents .advantages-list li + li{
      margin-left:12px;
    }
    #top-contents .advantages-list + p{
      margin-bottom:32px;
      text-align:center;
      font-size:1.6em;
      color:#B2971B;
      position:relative;
    }
    #top-contents .advantages-list + p::before{
      content:"";
      width: 0;
      height: 0;
      border-style: solid;
      border-right: 16px solid transparent;
      border-left: 16px solid transparent;
      border-top: 12px solid #171717;
      border-bottom: 0;
      position:absolute;
      bottom:calc(100% + 8px);
      left:50%;
      transform:translate(-50%,50%);
    }

.ctaBox { padding:80px 0;width: calc( 100% - 40px ) ; max-width: 1040px; margin: 0 auto 0 auto; }
.ctaBox img { width: auto; max-width: 100%; height: auto;}
.ctaBox ul { position: relative; display: block; width: 100%; padding:15.76% 0 0 0; margin: 0 0 35px 0; }
.ctaBox ul li { position: absolute; width: 53.46%; }
.ctaBox ul li:nth-of-type(1) { left: 0; top:0; }
.ctaBox ul li:nth-of-type(2) { right:0; bottom:0; }
.ctaBox ul li a { display: block; transition: filter 0.5s linear 0s; }
.ctaBox ul li a:hover { filter: grayscale(1);}
.ctaBox .spOnly { display:none;}
#content0101 .ctaBox { padding: 0; margin: 0 auto 80px auto;}
#content0102 .ctaBox { padding: 110px 0 0 0; margin: 0 auto 115px auto;}
#cta03.ctaBox { padding: 40px 0 0 0; margin: 0 auto 40px auto;}
#content06 .ctaBox { padding: 80px 0 0 0; margin: 0 auto 20px auto; }

/* //top-contents */
#content02 {
  background: #ebebeb url(../images/bg03.png) top left no-repeat;
  padding-bottom: 130px; }
  #content02 .h2box {
    padding-top: 55px;
    padding-bottom: 30px; }
  #content02 .marklist {
    color: #7c7c7c; }
  #content02 .caption_right {
    color: #7c7c7c; }
  #content02 .contentsinner {
    background-color: #fff;
    position: relative;
    padding: 70px 80px; }
    #content02 .contentsinner .labelicon {
      position: absolute;
      top: -15px;
      left: -25px; }
  #content02 .borderbox {
    border: 1px #7c7c7c solid;
    padding: 45px 20px 20px 20px;
    margin-top: 70px;
    position: relative; }
    #content02 .borderbox .labeltext {
      background-color: #a70b2b;
      color: #fff;
      font-weight: bold;
      padding: 5px 30px;
      position: absolute;
      top: -15px;
      left: 50%;
      transform: translateX(-50%); }
    #content02 .borderbox h4 {
      border-left: none;
      color: #a70b2b;
      font-weight: bold;
      text-align: center;
      font-size: 1.5em;
      line-height: 1.4;
      margin-bottom: 35px; }
    #content02 .borderbox .imgbox {
      margin-top: 37px; }
      #content02 .borderbox .imgbox .caption {
        font-size: 0.8em;
        color: #7c7c7c;
        text-align: center;
        margin-top: 10px; }
  #content02 #content0201 {
    margin-bottom: 90px; }
  #content02 #content0202 {
    margin-bottom: 90px; }
    #content02 #content0202 .readtext {
      border-left: none;
      color: #a70b2b;
      text-align: center;
      font-size: 1.2em;
      line-height: 1.4;
      margin-bottom: 35px; }
    #content02 #content0202 .borderbox {
      border: 1px #7c7c7c solid;
      padding: 45px 20px 20px 20px;
      margin-top: 70px;
      position: relative; }
      #content02 #content0202 .borderbox .labelicon {
        color: #fff;
        padding: 5px 30px;
        position: absolute;
        top: -40px;
        left: 50%;
        transform: translateX(-50%); }
      #content02 #content0202 .borderbox h4 {
        border-left: none;
        color: #a70b2b;
        text-align: center;
        font-size: 1.2em;
        line-height: 1.4;
        margin-bottom: 35px; }
  #content02 .content020201 .imgbox {
    margin-bottom: 40px; }
  #content02 .content020202 .borderbox_inner {
    margin-bottom: 55px; }
  #content02 .content020202 h5 {
    text-align: left;
    font-size: 1.1em;
    margin-bottom: 20px; }
    #content02 .content020202 h5 span {
      font-size: 1.2em;
      color: #ad931f;
      margin-right: 10px; }
  #content02 .content020202 .imgbox {
    margin-top: 0; }
  #content02 .content020203 .imgbox {
    margin-bottom: 10px;
    margin-top: 0; }

/* //content02 */
#content03 {
  background: url(../images/bg04.jpg) top center no-repeat;
  background-size: cover;
  padding: 95px 0 110px 0; }
  #content03 h2 {
    font-size: 2.2em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    margin-bottom: 50px;
    line-height: 1.4;
    letter-spacing: 5px; }
  #content03 .upperbox {
    margin-bottom: 160px; }

/* //content03 */
#content04 {
  background-color: #eeeeee;
  padding-bottom: 100px; }
  #content04 h2 {
    padding: 95px 0;
    font-size: 3em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 1px; }
  #content04 .readtext {
    width: 810px;
    margin: 0 auto; }
  #content04 .upperbox {
    margin-bottom: 165px; }
  #content04 .content04inner {
    width: 1682px;
    margin: 0 auto; }
    #content04 .content04inner .content04_text {
      margin-left: 668px;
      width: 683px;
      height: 503px; }
    #content04 .content04inner .content04_comments {
      margin-left: 572px;
      width: 680px;
      text-align: left; }
      #content04 .content04inner .content04_comments dt {
        color: #a70b2b;
        margin-bottom: 10px;
        font-weight: bold; }
      #content04 .content04inner .content04_comments dd {
        margin-bottom: 40px;
        line-height: 1.6; }
    #content04 .content04inner .content0401 {
      background: url(../images/content0401.png) 0 0 no-repeat;
      height: 1342px;
      margin-bottom: 175px; }
    #content04 .content04inner .content0402 {
      background: url(../images/content0402.png) 0 0 no-repeat;
      height: 1344px;
      margin-bottom: 175px; }
    #content04 .content04inner .content0403 {
      background: url(../images/content0403.png) 0 0 no-repeat;
      height: 1074px;
      margin-bottom: 10px; }
    #content04 .content04inner .bottomcaption {
      width: 960px;
      margin: 0 auto;
      text-align: right;
      font-size: 0.8em;
      color: #7c7c7c; }

/* //content04 */
#content05 {
  padding-bottom: 60px; }
  #content05 h2 {
    padding: 95px 0;
    font-size: 3em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 1px; }
  #content05 .readtext {
    background: url(../images/content05_icon01.png) bottom center no-repeat;
    padding-bottom: 20px;
    text-align: center;
    margin-bottom: 40px; }
  #content05 dl {
    text-align: left; }
  #content05 dt {
    background-color: #a70b2b;
    padding: 5px 85px;
    color: #fff; }
  #content05 dd {
    padding: 5px 105px;
    margin-bottom: 20px;
    line-height: 1.6; }

/* //content05 */
#content06 {
  background-color: #1a1a1a;
  padding: 100px 0; }
  #content06 h2 {
    font-size: 2em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 1px;
    color: #fff; }
  #content06 .btnbox {
    margin-top: 20px; }

/* //content06 */
#content07 {
  padding-bottom: 205px; }
  #content07 h2 {
    padding: 95px 0;
    font-size: 3em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 1px; }
  #content07 dl {
    text-align: left;
    display: flex;
    padding: 10px 0; }
    #content07 dl.gray {
      background-color: #eee; }
  #content07 dt {
    padding: 5px 85px;
    width: 20em; }
  #content07 dd {
    width: calc(100% - 20em);
    padding: 5px 5px 5px 20px; }
    #content07 dd dl {
      display: block;
      padding: 0; }
      #content07 dd dl dt {
        padding: 5px;
        float: none;
        width: 100%; }
      #content07 dd dl dd {
        padding: 5px 1em;
        margin-bottom: 5px; }

/* //content08 */

  #content08 .white {
      width: 960px;
      margin: 0 auto;
      padding: 2em 0;
      align-items: center;
      display: flex;
      justify-content: space-between; }
  #content08 .white ul li {
      text-align: left;
      margin-bottom: 1em;  }
  #content08 .white ul li:last-child {
      margin-bottom: 0; }
  #content08 .white dl dt {
      color: #a70b2b;
      font-weight: bold; }
  #content08 .white dl dd {
      font-size: 2rem;
      color: #171717;
      font-weight: bold; }
  #content08 .black {
      background: #000;
      width: 100%; }
  #content08 .black .inner {
      display: table;
      width: 960px;
      padding: 1em 0;
      margin: 0 auto; }


/* //content07 */

.footer .footer_bar .footer_bar_left p { font-size: 22px;}
.footer .footer_bar .footer_bar_right{ }
.footer .footer_bar .footer_bar_right .request_btn { display: block; text-indent: -9999px; background: url("../images/btn_footer_float_01.png") center right / contain no-repeat; font-size: 0px; box-sizing: border-box; width: 100%; max-width: 280px; height: 60px }

/* -------------------------------minpc--------------------------------------------- */
@media (max-width: 1681px) and (min-width: 1024px) {
  .wrapper {
    margin: 0;
    min-width: 1024px; }

  .contentsinner2 {
    width: 100%;
    max-width: 1200px; }

  #content04 .content04inner {
    width: 100%; }
    #content04 .content04inner .content04_text {
      width: 45%;
      margin-left: 40%;
      height: auto; }
    #content04 .content04inner .content04_comments {
      margin-top: 10%;
      margin-left: 30%;
      max-width: 680px; }
    #content04 .content04inner .content0401 {
      background: url(../images/content0401_minpc.png) 0 0 no-repeat;
      background-size: contain;
      width: 100%;
      background-position: top; }
    #content04 .content04inner .content0402 {
      background: url(../images/content0402_minpc.png) 0 0 no-repeat;
      background-size: contain;
      width: 100%;
      background-position: top; }
    #content04 .content04inner .content0403 {
      background: url(../images/content0403_minpc.png) 0 0 no-repeat;
      background-size: contain;
      width: 100%;
      background-position: top; } }
@media (max-width: 1275px) and (min-width: 1024px) {
  #content04 .content04inner {
    width: 100%;
    min-width: 1024px;
    max-width: 1275px; }
    #content04 .content04inner .content04_text {
      width: 60%;
      margin-right: 0;
      margin-left: auto; }
    #content04 .content04inner .content04_comments {
      margin-left: 20%;
      margin-top: 30%; }
    #content04 .content04inner .content0401 {
      background: url(../images/content0401_tab.png) 0 0 no-repeat;
      background-size: contain;
      height: 1720px;
      background-position: top; }
    #content04 .content04inner .content0402 {
      background: url(../images/content0402_tab.png) 0 0 no-repeat;
      background-size: contain;
      height: 1720px;
      background-position: top; }
    #content04 .content04inner .content0403 {
      background: url(../images/content0403_tab.png) 0 0 no-repeat;
      background-size: contain;
      height: 1370px;
      background-position: top; }
		#pageTop { bottom: 134px;}
}
@media (max-width: 1400px) and (min-width: 1276px) {
  #content04 .content04inner .content0401 {
    margin-bottom: 0; }
  #content04 .content04inner .content0402 {
    margin-bottom: 0; }
  #content04 .content04inner .content0403 {
    margin-bottom: 0; } }
/* -------------------------------sp--------------------------------------------- */
@media screen and (max-width: 1024px) {
  .wrapper {
    min-width: 1024px; }

  .contentsinner2 {
    width: 1024px; }

  #top-contents .bgbox {
    padding: 70px 100px; }

  #content04 .content04inner {
    width: 1024px; }
    #content04 .content04inner .content04_text {
      margin-left: 500px;
      width: 369px;
      height: 508px;
      margin-top: 80px; }
    #content04 .content04inner .content04_comments {
      margin-left: 120px;
      width: 720px; }
    #content04 .content04inner .content0401 {
      background: url(../images/content0401_tab.png) 0 80px no-repeat;
      background-size: contain;
      height: 1460px; }
    #content04 .content04inner .content0402 {
      background: url(../images/content0402_tab.png) 0 80px no-repeat;
      background-size: contain;
      height: 1460px; }
    #content04 .content04inner .content0403 {
      background: url(../images/content0403_tab.png) 0 80px no-repeat;
      background-size: contain;
      height: 1180px; }
		#pageTop { bottom: 134px;}
}
@media screen and (max-width: 834px) {
  body {
    font-size: 0.9em; }

  .flexbox {
    display: block; }
    .flexbox .col2box {
      width: 100%;
      margin-bottom: 40px; }
      .flexbox .col2box:last-child {
        margin-bottom: 0px; }

  .wrapper {
    min-width: 100%; }

  .sp_upper img {
    width: 100%; }

  .contentsinner2 {
    width: 100%; }

  h3 {
    font-size: 1.3em;
    line-height: 1.6;
    margin-bottom: 30px;
    font-weight: bold; }
    h3:after {
      bottom: -10px; }

  p {
    font-size: 1em;
    line-height: 1.6; }

  #upperblock {
    background: url(../images/upper_bg_sp.jpg) top center no-repeat;
    background-size: cover; }
    #upperblock header {
      width: 100%;
      height: 50vh; }
      #upperblock header #logo {
        width: 120px;
        left: 20px; }
      #upperblock header #header_telbox {
        width: 160px;
        right: 20px; }
      #upperblock header #header_main {
        width: 90%;
        margin-left: 20px; }
        #upperblock header #header_main img {
          width: 100%; }
      #upperblock header #header_btn {
        width: 90%;
        right: 0;
        left: 50%;
        transform: translateX(-50%); }

  .contentsinner,
  .contentsinner2 {
    width: 100%; }

  .btnbox {
    margin: 0% 20px 5% 20px;
    padding: 20px 5px; }

  .btnbox2 {
    margin: 20px 0;
    padding: 0 10px; }

  #top-contents {
    padding-top: 5%; }
    #top-contents h4 {
      font-size: 1.1em;
      line-height: 1.4;
      padding-left: 6px; }
    #top-contents #header_btn {
      width: auto;
      margin: 0 20px; }
    #top-contents .bgbox {
      padding: 30px 20px; }
    #top-contents #content0101 .top_titlebox {
      padding-top: 0px;
      width: auto;
      margin: 0 10px; }
      #top-contents #content0101 .top_titlebox .title01 span {
        font-size: 1.2em; }
      #top-contents #content0101 .top_titlebox .title02 {
        font-size: 1.6em; }
      #top-contents #content0101 .top_titlebox .title03 {
        font-size: 1.6em; }
    #top-contents #content0101 .maintext {
      margin-bottom: 30px; }
    #top-contents #content0102 .titlebox h2 {
      width: auto;
      margin: 0 20px;
      padding: 30px 5px;
      font-size: 1.2em; }
    #top-contents .mb-50 {
      margin-bottom: 30px !important; }
    #top-contents .tabtitlebox .tabtitle_inner {
      padding: 10px; }
    #top-contents .tabtitlebox .tabtitle_title {
      font-size: 1.1em; }
    #top-contents .tabtitlebox .tabtitle_title.title2 .tabtitle_title_a {
      font-size: 0.9em;
      padding: 5px;
      height: 30px;
      width: 12em;
      line-height: 1.3; }
      #top-contents .tabtitlebox .tabtitle_title.title2 .tabtitle_title_a:after {
        border-width: 30px 0 0 20px;
        right: -20px; }
    #top-contents .tabtitlebox .tabtitle_title.title2 .tabtitle_title_b {
      font-size: 0.8em;
      line-height: 1.3;
      text-align: left;
      margin-left: 20px; }
    #top-contents .tabtitlebox:last-child {
      margin-bottom: 0; }
      #top-contents .splide::before{
        width:52px;
      }
    #top-contents .bocntent01bottom {
      margin: 0 20px; }
      #top-contents .advantages-list{
        margin:16px auto 28px;
        flex-direction:column;
      }
      #top-contents .advantages-list li{
        width:100%;
      }
      #top-contents .advantages-list li + li{
        margin-left:0;
        margin-top:8px;
      }
      #top-contents .advantages-list + p{
        margin-bottom:28px;
        font-size:1.6em;
      }

  #content01under_sp .btnbox_btn {
    margin-top: 20px; }

  #content02 {
    padding-bottom: 60px; }
    #content02 .h2box {
      padding-top: 30px;
      margin: 0 10px; }
    #content02 .contentsinner {
      padding: 40px 20px; }
      #content02 .contentsinner .labelicon.outside {
        display: none; }
      #content02 .contentsinner .borderbox {
        margin-top: 40px;
        padding: 30px 20px 20px 20px; }
        #content02 .contentsinner .borderbox .labelicon {
          display: block; }
    #content02 .borderbox h4 {
      font-size: 1.2em;
      margin-bottom: 20px; }
    #content02 .borderbox .imgbox {
      margin-top: 20px; }
    #content02 #content0201 {
      margin-bottom: 20px; }
    #content02 #content0202 {
      margin-bottom: 0px; }
      #content02 #content0202 .borderbox {
        margin-top: 50px; }
        #content02 #content0202 .borderbox h4 {
          font-size: 1.2em;
          margin-bottom: 20px; }
    #content02 .content020201 .imgbox {
      margin-bottom: 20px; }
    #content02 .content020202 h5 span {
      display: block;
      margin-bottom: 5px; }
    #content02 .content020202 .borderbox_inner {
      margin-bottom: 20px; }

  #content03 {
    padding: 20px 0 20px 0; }

  #content04 .upperbox {
    margin: 0 10px 60px 10px; }
  #content04 h2 {
    font-size: 1.6em;
    letter-spacing: -1px;
    padding: 40px 0; }
  #content04 .readtext {
    width: auto;
    margin: 0 10px; }
  #content04 .content04inner {
    width: 100%; }
    #content04 .content04inner .bottomcaption {
      width: 90%; }
    #content04 .content04inner .content04_text {
      display: none; }
    #content04 .content04inner h3 {
      margin: 0 10px 40px 10px; }
    #content04 .content04inner .content04_comments {
      margin: 0 auto;
      width: 90%; }
    #content04 .content04inner .content04bottombg {
      background: #FFF url(../images/content04_bottom.jpg) right bottom no-repeat;
      padding-bottom: 50px; }
    #content04 .content04inner .content0401 {
      background-image: none;
      height: auto;
      margin-bottom: 80px; }
    #content04 .content04inner .content0402 {
      background-image: none;
      height: auto;
      margin-bottom: 80px; }
    #content04 .content04inner .content0403 {
      background-image: none;
      height: auto;
      margin-bottom: 40px; }
    #content04 .content04inner .content04spphoto img {
      width: 100; }

  #content05 h2 {
    font-size: 2em;
    padding: 40px 0; }
  #content05 .readtext {
    margin: 0 10px 30px 10px; }
  #content05 dt {
    padding: 5px 20px; }
  #content05 dd {
    padding: 5px 20px; }

  #content06 {
    padding: 40px 0; }
    #content06 h2 {
      font-size: 1.6em;
      padding: 0; }
    #content06 .btnbox_btn {
      margin-left: 5px; }
    #content06 .btnbox_telnumber {
      margin-right: 5px;
      margin-left: 5px; }

  #content07 {
    padding: 40px 0; }
    #content07 h2 {
      font-size: 1.6em;
      padding: 0;
      margin-bottom: 20px; }
    #content07 dt {
      padding: 5px 10px;
      width: 6em; }
    #content07 dd {
      width: calc(100% - 6em);
      padding: 5px 10px; }
      #content07 dd dl dt {
        padding: 0 5px 5px 5px; }
      #content07 dd dl dd {
        width: 100%; } }

/*footer*/
.footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #030303BF 0% 0% no-repeat;
    opacity: 1;
    color: white;
    padding: 15px;
    display: none;
    justify-content: space-between;
    z-index: 999;
	}

.footer_bar {
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.footer_bar img {
    width: 57px;
    margin-right: 2%;
    text-align: right;
    float: left;
}
.footer p {
    font-size: 23px;
    display: block;
    padding-left: 30px;
    line-height: 2em;
    color: #FFFFFF;
	margin:5px 0px;
}
	.footer_bar_left {
    width: 70%;
}
	.footer_bar_right {
    width: 30%;
}

.footer_bar_right span{
	color: white;
}
.request_btn {
    display: inline-block;
    color: #FFFFFF;
    padding: 10px 20px 10px 20px;
    line-height: 1.5em;
    font-size: 21px;
    font-weight: bold;
    border-radius: 0px;
    margin: 0 auto;
    background-color: #A24040;
    position: absolute;
}
.spv {
    display: none;
}
.spv a{
    color:white;
		}


@media screen and (max-width: 1000px){
		.footer_bar_left {
			width: 75%;
		}
		.footer_bar_right {
			width: 25%;
			display: grid;
		}
}
@media screen and (max-width: 800px)
	{
		.footer {
			padding: 5px 15px;
		}
		/* .footer_bar_right {
       display: none;
		} */
		.footer .footer_bar .footer_bar_left img { width: 60px; height: 60px; }
		.footer .footer_bar .footer_bar_right { width: calc( 100% - 80px); max-width: 280px; height: 60px; }
		.footer .footer_bar .footer_bar_right .request_btn { margin: 0; padding: 0; width: 100%; font-size: 0px; right: 5px; bottom:5px; }
		.request_btn {
		font-size: 16px;
		width: 325px;
		margin-top: 8px;
		margin-left: 20px;
		}
		.spv {
			display: block !important;
		}
		.footer p {
			font-size: 16px;
			display: none !important;
		}

		.ctaBox ul { padding: 0; position: static; margin: 0 auto 20px auto;}
		.ctaBox ul li { width: 100%; }
		.ctaBox ul li:nth-of-type(1) { position: static; margin: 0 0 10px 0;}
		.ctaBox ul li:nth-of-type(2) { position: static; margin: 0 0 0 0;}
		#content0101 .ctaBox { padding: 40px 0 0 0; margin: 0 auto 40px auto;}
		#content0102 .ctaBox { padding: 20px 0 0 0; margin: 0 auto 20px auto; width: 100%;}
		#cta03.ctaBox { padding: 20px 0 0 0; margin: 0 auto 20px auto;}
		#content06 .ctaBox { padding: 40px 0 0 0; margin: 0 auto 0 auto; }

				#pageTop { bottom: 74px;}

	}
	@media screen and (max-width: 480px){
		.footer p {
		  font-size: 12px;
		  display:none !important;
		}

		.request_btn {
		 position:fixed;
		 right:10px;
		 bottom:10px;
		 font-size: 3vw;
		 width:60%;
		}

}
/*footer*/

@media screen and (max-width: 64em) {
  #content08 .white {
      display: block;
      width: 90%;
      padding: 2em 1em; }
  #content08 .white dl {
      margin-top: 2em; }
  #content08 .black .inner {
      width: 90%; }
  .flexbox .col3box {
      width: 100%;
  }
}

@media screen and (max-width: 42em) {
  p {
    font-size: 4vw;
  }
}

/*# sourceMappingURL=commonstyle.css.map */
