@charset "utf-8";

/*
Theme Name: ビズオール
Author: hironori hashimoto
Author URI: https://bizall.mjeinc.co.jp/
Description: ビズオールのオリジナルテンプレート
*/
/****************************
共通
****************************/

html {
    font-size: 55%;
    height: 100%;
    overflow: hidden;
    scroll-behavior: smooth;
}

@media screen and (min-width: 960px) {
    html {
        font-size: 62.5%;
    }
}

body {
    font-size: 1.6rem;
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    text-rendering: auto;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
    line-height: 28.8px;
    letter-spacing: 0.05em;
    color: #000;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴシック Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
    font-weight: 500;
}

@media screen and (min-width: 560px) {
    body {
        line-height: 28.8px;
    }
}
html, body {
    overflow: visible!important;
    height: auto;
  }
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* ::-webkit-scrollbar {
    width: 6px;
    height: 10px;
    background: #F89898;
      scrollbar-width: 6px;
  scrollbar-color:#F89898;
}

::-webkit-scrollbar-track {
    border-radius: 4px;
    box-shadow: 0 0 4px #aaa inset;
}

::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: #F89898;
} */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dt,
dd {
    margin: 0;
    padding: 0;
}

body p,
body span,
body dl,
h2,
h3,
h4,
h5,
h6 {
    transform: rotate(0.03deg);
    -moz-transform: rotate(0.03deg);
    -ms-transform: rotate(0.03deg);
    -o-transform: rotate(0.03deg);
    -webkit-transform: rotate(0.03deg);
}

h1,
h2,
h3,
h4 {
    line-height: 1.5;
    font-weight: bold;
}
h2,
h3,
h4 {
  font-weight: 800;
}
h1 a{
    display: inline-block;
}
h1 a:hover{
    opacity: 0.6;
}
ul {
    list-style-type: none;
}

a {
    color: inherit;
    text-decoration: none;
    transition: .5s;
    display: block;
}

/********テキスト********/
.en {
    font-family: "Open Sans", sans-serif;
    font-display: swap;
    letter-spacing: 0px;
}

.jp {
    font-family: 'Noto Sans JP', "ヒラギノ角ゴシック Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
    font-display: swap;
}
hr {
    border-top: 1px solid #ACB1B9;
    margin: 0;
}

.sp-block {
    display: block;
}

@media screen and (min-width: 560px) {
    .pc-block {
        display: block !important;
    }

    .sp-block {
        display: none;
    }

    .sp-br {
        display: none !important;
    }
}

/* 画面幅が560px以下の時*/

@media screen and (max-width: 559px) {
    .pc-block {
        display: none !important;
    }

    .sp-br {
        display: block !important;
    }
}

/********background********/

main {
    position: relative;
    overflow: hidden;
}

/************************************
** ヘッダー
************************************/
header {
  width: 100%;
  position: relative;
  transition: transform .4s ease;
}
@media screen and (min-width: 960px) {
  .header--unpinned {
    transform: translateY(0);
  }
}

@media screen and (min-width: 960px) {
  .header--unpinned .l-header__inner {
    position: relative;
  }
}
.fixed header {
  position: fixed;
  top: 0px;
  left: 0px;
}
.l-header__items {
  position: relative;
}

#header.HeightMin {
  position: fixed;
  z-index: 10;
}
@media screen and (min-width: 960px) {
  #header.HeightMin {
    animation: DownAnime 0.5s forwards;
  }
}
#header.HeightMinX .p-header__logo img {
  padding: 0 0 7px 15px;
}
.l-header__utility{
background-color: #F5F5F5;
}
.p-header__ticker{
    font-size:1.2rem;
}
@media screen and (min-width: 960px) {
  .p-header__ticker{
    padding-left: 28px;
  }
}
.p-header__tel--sm{
    color:#fff;
    background-color: #0095EE;
    display: flex;
  justify-content: center;
  align-items: center;
  /* max-width: 400px;
  width: 100%; */
  padding: 7px 10px;
  height: 40px;
}
.p-header__tel-number .ico{
  display:inline-block;
  vertical-align:middle;
  margin-right:6px;
}
.l-header__inner {
  position: relative;
  transition: .3s;
  display: flex;
    justify-content: space-between;
    align-items: center;
}
.l-header__utility-grid{
  display:grid;
  grid-template-columns: auto 1fr 400px;
  /* grid-template-columns: 1fr auto auto; */
  align-items:center;
  column-gap:16px;
  width:100%;
  margin:0 auto;
  /* コンテナ幅を制御したい場合は max-width を付ける */
  /* max-width: 1200px; */
}
.p-header__upper-link{
  display:contents;
}
.l-header__inner02{
  display:grid;
  grid-template-columns: auto 1fr 400px;
  align-items:center;
  column-gap: 20px;
}
.p-nav--desktop{
  justify-self:end;
  margin-right: 20px;
}
@media screen and (min-width: 1441px) {
.p-nav--desktop{
  margin-right: 35px;
}
}
.p-header__tel-hours{
    font-size:10px;
    text-align: center;
    line-height: 13px;
    margin-right: 23px;
}
.p-header__tel-number{
    font-size:28px;
    line-height: 26px;
    font-weight: bold;
}
@media screen and (min-width: 960px) {
  .p-nav__toggle{
    display: none;
  }
  #header.HeightMinX .l-header__inner,
  #header.HeightMinX .l-header__conversion-button{
    height:80px;
  }
  #header.HeightMinX .u-global__nav-link{
    padding:0px;
    height:80px;
    line-height: 80px;
  }
}
.p-header__utilnav-list{
    display: flex;
    font-size:14px;
    gap:30px;
    margin-right: 40px;
    justify-content: flex-end;
}
.p-header__utilnav-list li{
    position: relative;
}
.p-header__utilnav-list li + li::before{
    content:'';
    position:absolute;
    left:10px;
    width:1px;
    height: 20px;
    background: #CACCCE;
    left:-15px;
    top:50%;
    transform:translateY(-50%);
}
.p-header__utilnav-list .ico{
  display:inline-flex;
  margin-right:6px;
}
.p-header__utilnav-list li a{
display:inline-flex;
align-items:center;
/* gap:10px; */

}
.p-header__contact-block,
.l-header__conversion-button{
  display: none;
}
@media screen and (min-width: 960px) {
  .p-header__contact-block{
    margin:0px;
  }
}

.p-header__logo img {
  transition: .3s;
  vertical-align: text-top;
}
.p-header__logo {
  max-width: 272px;
}
@media screen and (min-width: 960px) {
  .p-header__logo {
    transition: .3s;
    padding-left: 28px;
  }

  .p-header__logo:hover{
    opacity: 0.6;
  }
}
/************************************
** ヘッダーナビゲーション
************************************/
.p-nav {
  position: relative;
}

.u-global__nav-link{
  display: block;
  padding: 16px 0;
  font-size: 1.5rem;
  position: relative;
}
@media screen and (min-width: 960px) {
  .p-header__links{
width:auto;
display:contents;
  }
}
@media screen and (min-width: 960px) {
    .p-nav .c-global__nav {
display:flex;
justify-content:flex-end;
gap: clamp(14px, 2.2vw, 15px);
    font-weight: 900;
  }
@media screen and (min-width: 1441px) {
.p-nav .c-global__nav {
  gap: clamp(14px, 2.2vw, 28px);
}
}
  .p-nav .c-global__nav .p-global__nav-list {
flex:0 0 auto;
  }
.u-global__nav-link {
    text-align: center;
    padding: 11px 0;
    position: relative;
    font-size: 1.4rem;
    border-bottom: none;
    transition: .3s;
    width:100%;
    font-weight: 700;
    overflow: hidden;
  }
  .u-global__nav-link span{
    position: relative;
    z-index:3;
    transition: .2s;
  }
.u-global__nav-link:hover span{
  color:#F30F1D;
}
.u-navigation__left:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  background:#F30F1D;
  width: 100%;
  height: 2px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.u-navigation__left:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.u-global__nav-link.is-current {
    background:#F30F1D;
    position: relative;
    color:#F30F1D;
}
  .l-header__conversion-button{
    max-width: 400px;
    width:100%;
    display: flex;
    justify-content: center;
    align-items: center;
    justify-self:end;
    height:82px;
    font-weight: 900;
    overflow: hidden;
  }
  .l-header__conversion-button span{
    position: relative;
    z-index: 3;
    color:#fff;
  }
  .l-header__conversion-button:hover span{
    color:#fff;
  }
.u-header__conversion-bgleft > span{
  margin-right: 5px;
}

  .u-header__conversion-bgleft{
    text-align: center;
    font-size: 1.6rem;
    background-color: #F30F1D;
    color:#fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 24px 20px;
  }
  .u-header__conversion-bgleft .fas{
    font-size: 2rem;
  }
  .u-header__conversion-bgleft-right::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background:#606060;
    width: 50%;
    height: 100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
  }
  .u-header__conversion-bgleft-right:hover::before{
    transform-origin:left top;
    transform:scale(1, 1);
  }
  /* .u-header__conversion-bgleft-left::before{
    content: '';
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 2;
    background:#606060;
    width: 50%;
    height: 100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
  } */
  /* .u-header__conversion-bgleft-left:hover::before{
    transform-origin:left top;
    transform:scale(1, 1);
  } */

  .l-header__conversion-button i{
    margin-right: 5px;
  }
  .p-header__login{
    font-size: 1.1rem;
    border-left: 1px solid #8B98A9;
    padding-left: 15px;
  }
  #header.HeightMinX .p-header__contact-block{
    display: none;
  }
}

.l-header__tel-number {
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0;
}
.u-sp__header--inner{
  display: block;
  position: relative;
  top: 0px;
  width: 100%;
  padding: 0 30px;
  left:0px;
  animation-name: gnaviAnime;
  animation-duration: 1s;
  animation-delay: .55s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@media screen and (min-width: 960px) {
  .u-sp__header--inner{
    display: none;
  }
  .l-header__tel {
    font-size: 3rem;
    font-weight: 900;
    text-align: right;
    margin-right: 4rem;
    line-height: 1.3;
    transition: .3s;
  }

  #header.HeightMin .l-header__tel {
    font-size: 2.5rem;
  }

  #header.HeightMin .l-header__tel i {
    font-size: 2rem;
  }

  .l-header__times {
    font-weight: normal;
    font-size: 1.1rem;
    transition: .3s;
    margin-right: 2vw;
  }
  .p-header__contact{
    font-size:1.1rem;
    margin-right: 1vw;
  }
  .p-header__contact a:hover,
  .p-header__login a:hover{
    opacity: 0.7;
  }
  .l-header__tel-number{
    font-size:1.1rem;
  }

  .l-header__tel i {
    margin-right: 4px;
    line-height: 1;
    font-size: 2.5rem;
  }
  .p-header__contact .fa-phone-alt{
    font-size:1.1rem;
  }
}
.openbtn2{
  display: none;
}
.openbtn3{
  display: none;
}
/************************************
** スマートフォンヘッダーナビゲーション
************************************/
@media screen and (max-width: 959px) {
  .openbtn1 {
    position: fixed;
    right: 0px;
    top: 0px;
    z-index: 9999;
    cursor: pointer;
    width: 25%;
    height: 72px;
    line-height: 72px;
    transition: .3s;
  }
  .openbtn2 {
    position: fixed;
    right: 60px;
    top: 0px;
    z-index: 9999;
    cursor: pointer;
    width: 25%;
    height: 72px;
    transition: .3s;
    background-color: #444444;
    color: #fff;
    text-align: center;
    font-size: 1.1rem;
    padding-top: 10px;
    display: block;
  }
  .openbtn2 .fas{
    font-size: 2rem;
  }
  .openbtn3 {
    position: fixed;
    right: 120px;
    top: 0px;
    z-index: 9999;
    cursor: pointer;
    width: 25%;
    height: 72px;
    transition: .3s;
    background-color: #f3f4f7;
    color: #444;
    text-align: center;
    font-size: 1.1rem;
    padding-top: 10px;
    display: block;
  }
  .openbtn3 .fas{
    font-size: 2rem;
  }
  .openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0px;
    right: 0px;
    height: 3px;
    border-radius: 2px;
    background: #454545;
    width: 34px;
    margin: 0 auto;
  }

  .openbtn1 span:nth-of-type(1) {
    top: 18px;
  }

  .openbtn1 span:nth-of-type(2) {
    top: 28px;
  }

  .openbtn1 span:nth-of-type(3) {
    top: 38px;
  }

  .openbtn1.active span:nth-of-type(1) {
    top: 20px;
    left: 0px;
    transform: translateY(6px) rotate(-45deg);
    width: 34px;
  }

  .openbtn1.active span:nth-of-type(2) {
    opacity: 0;
    /*真ん中の線は透過*/
  }

  .openbtn1.active span:nth-of-type(3) {
    top: 32px;
    left: 0px;
    transform: translateY(-6px) rotate(45deg);
    width: 34px;
  }
  #sp-menu{
    position: fixed;
    width: 100%;
    height: 100%;
    /* height: 100vh; */
    top:-120%;
    /*background: rgba(255,255,255,.95);*/
    background: rgb(245 246 247);
    left: 0px;
    transition: .3s;
  }
  #sp-menu.panelactive {
    top: 0;
  }
  #g-nav-list {
    display: none;
    /* max-width: 100%;
    position: fixed;
    z-index: 0;
    width: 100%;
    height: 100vh; */
    margin-left: 0px;
    margin-right: 0px;
    padding:60px 0px 50px;
    /* margin-top:0px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    top:0px; */
  }

  #sp-menu.panelactive #g-nav-list {
    display: block;
    position: fixed;
    z-index: 999;
    width: 100%;
    /* height: 100vh; */
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    /* background: rgba(243,244,246,.95); */
  }

  #sp-menu .c-global__nav {
    opacity: 0;
    position: relative;
    z-index: 999;
    /* left: 50%;
    transform: translate(-50%, 0%); */
    width: 100%;
    padding: 0 30px;
    /* margin-top: 60px; */
  }

  #sp-menu.panelactive .c-global__nav {
    opacity: 1;
  }
  .btn-hiden{
    opacity: 0;
  }

  #sp-menu.panelactive .c-global__nav li {
    animation-name: gnaviAnime;
    animation-duration: 1s;
    animation-delay: .4s;
    animation-fill-mode: forwards;
    opacity: 0;
  }
  .p-global__nav-list .u-global__nav-link::after {
    content: '\f054';
    font-family: FontAwesome;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .sp-menu-list a {
    font-weight: 500;
    color: #fff;
    display: block;
    padding: 10px 0;
    font-size: 1.75rem;
    position: relative;
  }

  .sp-menu-list li:not(:nth-child(5)) a::before {
    content: '\f054';
    font-family: fontAwesome;
    position: absolute;
    right: 0px;
  }
  .l-header__times{
    font-size:9px;
    margin-bottom:20px;
  }
  .u-sp__header--contact{
    border-bottom: 1px solid #8B98A9;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size:11px;
  }
  .u-sp__header--contact i,
  .u-sp__header__login i{
    margin-right: 4px;
  }
  .u-sp__tel-inner{
    display: flex;
    justify-content: space-between;
  }
  .u-sp__tel--name{
    font-size:9px;
    margin-bottom: 6px;
  }
  .u-sp__tel{
    flex:0 0 100%;
    max-width: 100%;
    margin-bottom: 2rem;
  }
  .u-sp__header__login{
    font-size:11px;
  }
  .u-sp__tel--link{
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.2;
  }
  .u-sp__tel--link i{
    margin-right: 4px;
    font-size:1.6rem;
  }
  .u-sp__reserved--button{
    background-color: #454545;
    border-radius: 4px;
    height:60px;
    line-height: 60px;
    margin:2rem auto;
    display: block;
    color:#fff;
    text-align: center;
    font-weight: 900;
  }
  .u-sp__reserved--button-login{
    background-color: #fff;
    border-radius: 4px;
    height:60px;
    line-height: 60px;
    margin:2rem auto;
    display: block;
    color:#333;
    text-align: center;
    font-weight: 900;
    border: 1px solid #444;
  }
  .u-sp__reserved--button i{
    margin-right: 4px;
  }
}
@media screen and (max-width: 959px) {
  .openbtn1 , .openbtn2, .openbtn3{
    width: 60px;
    height: 55px;
  }
}
.u-sp__header--title{
  font-weight: 900;
  font-size: 15px;
  margin-bottom: 2rem;
}

/********footer上の実績********/
.page-id-63 .c-footer__result,
.page-id-63 .l-contact{
    display: none;
}
.c-footer__result{
    padding:10rem 0px 4rem;
    background-color: #fff;
    position: relative;
}
.c-footer__result-headline{
    font-weight: bold;
    font-size: 2.4rem;
    margin-bottom: 3.5rem;
}
.c-footer__result-caption{
    font-weight: normal;
    font-size:1.2rem;
    padding-left: 16px;
    display: block;
}
@media screen and (min-width: 560px) {
    .c-footer__result-caption{
        display: inline;
    }
}
.c-footer__result-list{
    display: flex;
    align-items: center;
    gap:12px;
    position: relative;
    margin-bottom: 20px;
    border-bottom: 1px solid #707070;
    padding-bottom: 20px;
}
.c-footer__result-list:last-child{
    border-bottom: none;
}
@media screen and (min-width: 560px) {
    .c-footer__result-list{
        border: none;
        padding-bottom: 0px;
        margin-bottom: 0px;
    }
}
.c-footer__result-math{
    font-size: 3.4rem;
    color: #F5485C;
    line-height: 1;
	vertical-align: middle;
    padding: 0px 3px;
    font-weight: 600;
}
@media screen and (min-width: 560px) {
    .c-footer__result-math{
    font-size: 3.8rem;
    padding: 0px 5px;
}
}
.c-footer__result-lead{
    color:#F5485C;
    font-size:3rem;
	vertical-align: sub;
    font-weight: bold;
}
.c-footer__result-list:nth-child(1)::before{
    content:'';
    width:1px;
    height: 50px;
    position: absolute;
    right: -40px;
    background-color: #707070;
    top: 50%;
    transform: translateY(-50%);
}
.c-footer__result-list:nth-child(2)::after{
    content:'';
    width:1px;
    height: 50px;
    position: absolute;
    right: -40px;
    background-color: #707070;
    top: 50%;
    transform: translateY(-50%);
}
@media screen and (min-width: 560px) {
.c-footer__result__block{
    line-height: 3;
}
}
.c-footer__result-list sup{
    font-size: 1.2rem;
}

/********footer********/

footer {
    background-color: #070F19;
    color: #fff;
    position: relative;
    z-index: 1;
    /* padding-bottom: calc(100vh - 2.625rem); */
}

.footer-wrap{
    padding:70px 30px 100px;
}
@media screen and (min-width: 960px) {
    .footer-wrap{
        padding:150px 30px 100px;
        bottom: 0;
        position: sticky;
        inset: 0;
    width: 100%;
    }
}
@media screen and (min-width: 1441px) {
    .footer-wrap{
        padding:200px 50px 130px;
    }
}
@media screen and (min-width: 560px) {
.p-footer__block{
    flex:0 0 50%;
    max-width: 50%;
}
}
@media screen and (min-width: 560px) {

}
.footer-inner ul li a {
    color: #fff;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.footer-inner ul li a:hover {
    opacity: 0.6;
}

.l-footer__link {
    margin-bottom: 12px;
    flex:0 0 auto;
		max-width:100%;
}
@media screen and (min-width: 960px) {
    .l-footer__link {
        font-size:1.5rem;
		/* flex:0 0 auto;
		max-width:100%; */
        margin-bottom: 0px;
    }

    .l-footer__link a:hover {
        color: #F5485C;
    }
}
.l-footer__address{
    margin-top: 4rem;
}
@media screen and (min-width: 560px) {
.l-footer__address{
    flex:0 0 45%;
    max-width: 45%;
    margin-top: 0px;
}
}
@media screen and (min-width: 1441px) {
	.l-footer__address{
    flex:0 0 38%;
    max-width: 38%;
}
}
.l-footer__address-headline{
    margin-bottom: 1.5rem;
    font-size: 1.4rem;
}
.l-footer__address p{
    color:#A0A0A0;
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}
@media screen and (min-width: 560px) {
    .l-footer__address p{
        margin-bottom: 0px;
    }
}
.l-footer__address p a{
    text-decoration: underline;
}
.l-footer__address p a:hover{
    opacity: 0.6;
}
.l-footer__inner{
    max-width: 1380px;
    width: 100%;
}
.l-footer__inner .p-common__inner{
    align-items: self-end;
}
.footer-logo {
    max-width: 90%;
    margin-bottom: 3.2rem;
}
@media screen and (min-width: 560px) {
    .footer-logo {
    max-width:100%;
}
}
.footer-logo a{
    display: inline-block;
}
.footer-logo a:hover {
    opacity: 0.6;
}

.window-icon {
    content: 'open_in_new';
    font-family: "Material Symbols Outlined";
    right: 0rem;
    font-size: 1.4rem;
    position: absolute;
    transition: .5s;
}
.u-copyright__inner{
    border-top:1px solid #A0A0A0;
    padding:20px 0px;
    margin-top: 8rem;
    margin-bottom: 3rem;
}
.l-footer__page-link{
    display: flex;
    gap:12px;
    font-size: 10px;
}
@media screen and (min-width: 560px) {
    .l-footer__page-link{
        gap:30px;
        font-size: 1.2rem;
    }
    .footer-addres__block .p-sp__inner{
        justify-content: flex-start;
        gap:30px;
    }
}
.l-footer__page-link a{
    text-decoration: underline;
}
.l-footer__page-link a:hover{
    opacity: 0.6;
}
.l-footer__page-link a span{
    font-size:1.2rem;
}
copyright {
    font-size: 1.2rem;
}

.sidebar-top a{
  padding: 0px 23px;
}
.sidebar-top > a {
  background-color: #F30F1D;
  color:#fff;
  font-size: 18px;
  height: 76px;
  line-height: 76px;
  padding: 0px 23px;
  position: relative;
  display: flex;
  font-weight: 900;
}
.sidebar-top > a::before{
  content:'';
  position: relative;
  left:0px;
  transform:translateY(-50%);
  top:50%;
  background-image:url("/wp-content/themes/MJE/images/sidebar-copy.svg");
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 10px;
}
.l-sidebar{
 position: sticky;
  top: 0;
  width: var(--sidebar-w);
  box-sizing: border-box;
  align-self: start;
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;

  /* Firefox用（要素に指定する）*/
  scrollbar-width: thin;                 /* auto | thin | none */
  scrollbar-color: #F89898 #F0F2F5;      /* thumb色 track色 */
}

.l-sidebar::-webkit-scrollbar {
  width: 10px;    /* 縦バーの太さ */
  height: 10px;   /* 横バーの高さ（今回は縦のみ対象ならそのまま）*/
}

.l-sidebar::-webkit-scrollbar-track {
  background: #F0F2F5;       /* ← サイドバー（トラック）の色 */
  border-radius: 6px;
}

.l-sidebar::-webkit-scrollbar-thumb {
  background: #F89898;       /* ← つまみの色 */
  border-radius: 6px;

  /* ここがポイント：縦スクロールつまみの最小高さ（WebKit系のみ有効）*/
  min-height: 378px;

  /* 見た目をシャープにする微調整（任意）*/
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06);
  background-clip: padding-box;
}

@media screen and (max-width: 959px) {
.l-sidebar{
  position: relative;
    order: 2;
    height: auto;

} 
}
.sub-menu{
  padding:15px 0px;
  border-bottom: 1px solid #E6EAEA;
}
.sub-menu a{
  padding:5px 23px;
  position: relative;
  font-size:14px;
}
.sub-menu a::after{
  font-family: 'Material Icons';
   content: '\e5cc';
   position: absolute;
   right: 20px;
   top:50%;
   transform: translateY(-50%);
   color: #7E868F;
   transition: .3s;
  font-size: 2rem;
  font-weight: bold;
}
.sub-menu a:hover,
.sub-menu a:hover::after{
  color:#F30F1D;
}
.sidebar-parent > a{
  font-size:18px;
  font-weight: 900;
  margin-top: 25px;
  padding:0px 23px;
}
/********横並び********/
:root{
  --container-max: 1920px;     /* 全体最大幅 */
  --sidebar-w: clamp(240px, 15vw, 284px);
}

.l-container--with-sidebar{
  max-width: var(--container-max);
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: var(--sidebar-w) minmax(0, 1fr);
  /* gapを使うなら main幅は 100% - sidebar - gap */
  column-gap: var(--gap);
}
@media (max-width: 959px){
.l-container--with-sidebar{
  display: block;
    grid-template-columns: 1fr;   /* 1カラム */
  }
  .l-content{
    order: 1;
}

}
/* 右側の長文でのはみ出し防止 */
.l-content{ min-width: 0; }
/********タイトル********/
.p-common__headline{
  text-align: center;
  font-size: 2.4rem;
  position: relative;
  margin-bottom: 5.6rem;
}
@media screen and (min-width: 560px) {
.p-common__headline{
  font-size: 3.2rem;
}
}
.p-common__headline::after{
  content:'';
  background-color: #F30F1D;
  width: 96px;
  margin:0 auto;
  text-align: center;
  height: 3px;
  position: absolute;
  bottom:-20px;
  left: 0px;
  right: 0px;
}
.p-common__titile{
  font-size: 1.8rem;
}
.u-text__red{
  color:#F30F1D;
}
.u-text__blue{
  color: #0095EE;
}
.u-text__bold{
  font-weight: 700;
}
.p-common__lead{
  text-align: center;
  font-size: 2.6rem;
  margin-bottom: 2.4rem;
}
/********パーツ********/
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.p-caption__body{
  font-size:10px;
  line-height: 16px;
}
.wrap {
    max-width: 1156px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}
@media screen and (min-width: 560px) {
    .wrap {
        padding: 0 16px;
    }
}
@media screen and (min-width: 560px) {
.l-main{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
}
.wrap-inner {
    max-width: 952px;
    margin: 0 auto;
    padding: 0 16px;
}

.p-sp__inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-common__image{
  margin-top: 40px;
}
.col-2{
  margin-bottom: 15px;
}
@media screen and (min-width: 560px) {
    .p-common__inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .u-reverse {
        flex-direction: row-reverse;
    }
    .p-common__block{
      flex:0 0 39.78%;
      max-width: 39.78%;
    }
    .p-common__image{
      margin-top: 0px;
      flex:0 0 56.98%;
      max-width: 56.98%;
    }
    .col-2{
      margin-bottom: 0px;
      flex:0 0 48.38%;
      max-width: 48.38%;
    }
    .col-4{
      flex:0 0 23.5%;
      max-width: 23.5%;
    }
}

@media screen and (min-width: 560px) {
    .reverse {
        flex-direction: row-reverse;
    }

    .u-center__inner {
        align-items: center;
    }
}

.fadein {
    opacity: 0;
    transition: opacity 1.4s, transform 0.8s;
    transform: translate(0, 0);
}

.fadein.scrollin {
    opacity: 1;
}

.fadein-up {
    opacity: 0;
    transform: translateY(20px);
    transition: transform 0.6s ease,
        opacity 0.6s ease;
    transition: transform 0.6s ease,
        opacity 0.6s ease,
        -webkit-transform 0.6s ease;
}

.fadein-up.active {
    opacity: 1;
    transform: translateY(0);
}
.text-animation{
  opacity: 0;
}


/****************************
トップページ
****************************/
.l-title__content{
  background-color: #F5F5F5;
  position: relative;
}
.u-lease__header{
  position: relative;
}
.u-lease__header::after{
  content:'';
  background-image:url("/wp-content/themes/MJE/images/lease-header.webp");
  position: absolute;
  right:0px;
  bottom:0px;
  height:205px;
  background-size:cover;
  background-repeat: no-repeat;
  background-position: right bottom;
  max-width: 370px;
  width: 100%;
}
.l-title__content h1{
  color:#F30F1D;
  font-weight: 700;
  margin-bottom: 12px;
  padding-top: 54px;
}
.l-title__content h2{
  font-size: clamp(30px, calc(30px + (38 - 30) * ((100vw - 390px) / (1920 - 390))), 38px);
  font-weight: 700;
  padding-bottom: 54px;
}
.p-menu__link{
  margin-bottom: 16px;
  flex:0 0 49%;
  max-width: 49%;
}
@media screen and (min-width: 560px) {
.p-menu__link{
  flex:0 0 32.43%;
  max-width: 32.47%;
}
}
.p-menu__link a{
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.10);
padding: 15px 10px 15px 15px;
  font-weight: 700;
  border-radius: 6px;
  position: relative;
  height: 82px;
  line-height: 82px;
  display: flex;
  font-size: 1.4rem;
}
@media screen and (min-width: 560px) {
  .p-menu__link a{
    font-size: 1.6rem;
    padding: 15px 24px 15px 30px;
  }
}
.p-menu__link a::after{
  content:'';
  position: absolute;
  right: 0px;
  top:50%;
  transform: translateY(-50%);
  font-family: 'Material Icons';
      content: '\e5db';
      right:7px;
      background-color: #F5F5F5;
      color:#EC1C16;
      max-width: 34px;
      width: 100%;
      height: 34px;
      line-height: 34px;
      text-align: center;
      border-radius: 50%;
}
@media screen and (min-width: 560px) {
  .p-menu__link a::after{
    right:24px;
  }
}
.p-menu__text{
max-width: 80%;
  display: flex;
  width: 100%;
  line-height: 24px;
  align-items: center;
}
@media screen and (min-width: 1280px) {
.p-menu__text{
max-width: 240px;
}
}
.p-price__inner{
  margin-bottom: 2.5rem;
}
.p-price__text{
  margin-top:1rem;
}
section{
  padding:64px 0px;
}
.bg{
  background-color: #F5F5F5;
}
.p-price-section {
  background: #e60012;
  color: #fff;
  text-align: center;
  padding: 40px 0;
}

.p-price-section__title {
  font-size: clamp(1.8rem, 2.5vw, 2.8rem);
  font-weight: 900;
  margin-bottom: 30px;
}

.p-price-cards {
  position: relative;
  z-index: 1;
  margin-bottom: 10px;
}
@media screen and (min-width: 560px) {
.p-price-cards {
display: grid;
  grid-template-columns: 228px 300px 348px;
   gap: 24px;
}
}
.p-price-card {
  background: #fff;
  border-radius: 8px;
  position: relative;
  margin-bottom: 48px;
}
@media screen and (min-width: 560px) {
.p-price-card {
  margin-bottom: 0px;
}
}
.p-price-card__label {
  background: #0095EE;
  color: #fff;
  display: inline-block;
  padding: 3px 20px;
border-radius: 18px;
  font-weight: 700;
  position: absolute;
  top: -30px;
  margin: 0 auto;
  border: 1px solid #FFF;
left: 50%;
z-index: 1;
transform: translateX(-50%);
white-space: nowrap;
}
.p-price-card__label::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 12px;
  height: 8px;
background: #0095EE;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.p-price-card__heading {
background-color: #BBEDFF;
font-size: 1.8rem;
font-weight: bold;
padding:10px 10px;
  color: #000;
  border-radius: 8px 8px 0px 0px;
}

.p-price-card__value {
  font-size: 2.4rem;
  color: #F30F1D;
}
.p-price-card__value > div{
  display: flex;
  justify-content: center;
align-items: baseline;
padding: 32px 10px 20px;
}
.p-price-card__value > div div{
  position: relative;
}
.p-price-card__value > div div:first-child{
  margin-right: 15px;
  padding-right: 15px;
  border-right: 1px solid #CACCCE;
}
.p-price-card__value > div div:first-child::before{
  content:'モノクロ';
  position: absolute;
  top: -25px;
  font-size: 12px;
  color: #000;
  line-height: 1;
  left: 0px;
  right: 0px;
  text-align: center;
}
/* .p-price-card__value > div div:first-child::after{
  content:'';
  position: absolute;
  right:0px;
  top:20px;

} */
.p-price-card__value > div div:last-child::before{
    content:'カラー';
  position: absolute;
  top: -25px;
  font-size: 12px;
  color: #000;
  line-height: 1;
  left: 0px;
  right: 0px;
  text-align: center;

}
.p-price-card__value > div .mono,
.p-price-card__value > div .color{
  position: absolute;
  top:0px;
  font-size:12px;
  color:#000;
  line-height: 1;
  left:0px;
  right:0px;
  text-align: center;
}
.p-price-card__value strong{
  font-size: 6.4rem;
}
.p-price-card__value span{
  font-size: 2.6rem;
}
.p-price-note {
  font-size: 1.2rem;
  margin-top: 20px;
}

/* 画面幅や色は必要に応じて調整 */
.p-ranking__inner{ width:min(1160px,92vw); margin:0 auto; }
.p-ranking__grid{

}
@media (min-width:560px){
  .p-ranking__grid{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .p-ranking__grid .p-rank__list{
    flex:0 0 31.25%;
    max-width: 31.25%;
  }
}

/* カード本体 */
.c-card{
  position:relative;
  background:#fff;
  border-radius:8px;
  box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.1);
}
.c-card__media{
  margin:0;
  padding:24px 24px 0;
  text-align:center;
}
.compare__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:24px;
}
@media (max-width:559px){
  .compare__grid{ grid-template-columns:1fr; }
}
.p-counter__inner{
  padding:2rem 0px;
}
.p-counter__body:first-child{
  margin-bottom: 10px;
}
.p-counter__body span{
  margin-right: 5px;
}
.p-counter__body img{
  vertical-align: middle;
}
.p-counter__price{
  font-size: 2.6rem;
}
.card{
  display:flex;
  flex-direction:column;
  border: 1px solid #CACCCE;
  border-radius: 16px;
  padding:32px 16px 40px;
  background-color: #fff;
  margin-bottom: 40px;
}
@media (min-width:560px){
  .card{
    margin-bottom: 0px;
    padding:32px 40px 40px;
  }
}
.card__footer{
  text-align: center;
  margin-top: auto;
}
.p-price__block{
  font-weight: 800;
}
.c-card__body{
  padding:16px 24px 24px;
}
.c-card__brand{
  font-size:12px;
  line-height: 1;
  margin-bottom: 3px;
}
.c-card__title{
  font-size:16px;
  font-weight:800;
}
.c-card__meta{
  font-size:12px;
  margin:0 0 12px;
}

.c-card__stars{
  font-size:14px;
}
.u-card__stars__gray{
  color:#7E868F;
}
.c-card__desc{
  font-size:1.8rem;
  margin:0 0 10px;
  font-weight: 800;
}

/* 右下の丸ボタン */
.c-card__cta{
  position:relative;
  margin-left: auto;
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: #F30F1D;
  color:#fff;
  font-weight:700;
  line-height: 34px;
  font-size: 14px;
}
.c-card__cta .material-icons{
  font-size: 1.6rem;
}
/* ランキング・リボン（data-rankで色を出し分け） */
.c-card__ribbon{
  position:absolute;
  left:16px;
  top:-7px;
  display:grid;
  place-items:center;

}

/* “もっと見る” */
.p-ranking__more{
  text-align:right;
  margin-top:18px;
  display: flex;
}
.p-ranking__more-link{ position:relative; padding-right:1.5em; text-decoration:none; font-weight:700; }
.p-ranking__more-link::after{
  content:"➜"; position:absolute; right:0; top:50%; transform:translateY(-50%);
}
.u-visually-hidden{
  position:absolute !important; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); width:1px; height:1px; overflow:hidden;
}
.bizall-bg{
  color:#fff;
  background-color: #F30F1D;
  position: relative;
  padding:130px 0px 64px;
  text-align: center;
}
.bizall-bg .wrap-inner{
  position: relative;
  z-index: 1;
}
.u-lease-counter{
  margin-top: -74px;
  z-index: -1;
}
.bizall-bg::after{
  content:'';
  position: absolute;
  left:0px;
  top:0px;
  background-image:url("/wp-content/themes/MJE/images/bizall-bg.webp");
  background-size: cover;
  width: 100%;
  height: 100%;
}
.bizall-bg .p-caption__body{
  text-align: left;
}
.p-cta__headline{
  margin-bottom: 5.4rem;
  font-size: 2.4rem;
  text-align: center;
  position: relative;
}
.p-cta__headline02{
  font-size: 2rem;
}
.p-cta__headline03{
  font-size: 2.8rem;
}
@media (min-width:560px){
  .p-cta__headline{
    font-size: 2.6rem;
  }
  .p-cta__headline02{
  font-size: 3.2rem;
}
.p-cta__headline03{
  font-size: 4.4rem;
}
}
.p-price__block{
  border-radius:8px;
  margin-top: 40px;
}
.p-price__block.u-lease__market{
    box-shadow: inset 0 0 0 4px #FFCFCF;
}
.p-price__block.u-counter__market{
  box-shadow: inset 0 0 0 4px #BBEDFF;
}
.p-price__market{
  color:#fff;
  padding: 13px 10px;
  border-radius: 8px 8px 0px 0px;
  position: relative;
}
.u-lease__market .p-price__market::before,
.u-counter__market .p-price__market::before{
  content:'';
  height: 50px;
  top:0px;
  left: 0px;
  width: 100%;
  background-color:#F30F1D;
position: absolute;
  z-index: -1;
  border-radius: 8px 8px 0px 0px;
}
.u-counter__market .p-price__market::before{
  background-color: #0095EE;
}
.p-price__big{
  font-size: 3.8rem;
}
.p-price__month{
  font-size: 2rem;
  padding: 19px 15px;
}
/****************************
CTA周り
****************************/
.cta {
  position: relative;
  background: #EBF9FF;
  padding: 70px 0px 0px;
  overflow: hidden;
}
.cta::after{
  content:'';
  background: #fff;
  height: 40px;
  width: 100%;
  position: absolute;
  left:0px;
  bottom:0px;
}
/* 背景英字 */
.cta__bgword {
  position: absolute;
top: 10px;
  left: 0;
  text-align: center;
  font-size: 9vw;
  font-weight: 900;
  color: #DAEFF8;
  user-select: none;
z-index: 0;
  line-height: 0;
}
@media (min-width: 1024px) {
.cta__bgword {
  top: 40px;
      font-size: 7vw;
}
}
@media (min-width: 1441px) {
  .cta__bgword {
    font-size: 153px;
  }
}
.p-consultation__headline{
  font-size: 2.6rem;
  text-align: center;
  font-weight: 800;
  margin-bottom: 50px;
}
/* グリッドレイアウト */
.cta__grid {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 0 20px;
}
@media (max-width: 920px) {
  .cta__grid {
    padding:0px;
    grid-template-columns: 1fr;
  }
}

/* カード */
.cta__card {
  text-align: center;
  border-radius: 8px;
  padding: 20px;
  color: #fff;
  position: relative;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}
@media (min-width: 960px) {
.cta__card {
  padding: 40px;
}
}
.cta__card--red { background: #e60012; }
.cta__card--blue { background: #0095ee; }
.cta__card--red .cta__icon{
  color:#e60012;
}
.cta__card--blue .cta__icon{
  color:#0095EE;
}
/* アイコン・見出し */
.cta__head {
  margin-bottom: 18px;
}
.cta__icon {
  background:#fff;
  border-radius: 50%;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
font-size: 20px;
  position: absolute;
  top: -20px;
  left: 0px;
  right: 0px;
  margin: 0 auto;
}
.cta__lead {
  font-size: 14px;
}

/* フォームボタン */
.cta__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  padding: 14px 20px;
  font-size:1.6rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
color: #000;
  max-width: 437px;
  height: 72px;
  line-height: 72px;
  margin: 0 auto;
  text-align: center;
}
@media (min-width: 960px) {
  .cta__button {
    height: 62px;
  line-height: 62px;
  font-size:1.35vw;
  }
}
@media (min-width: 1441px) {
.cta__button {
  height: 82px;
  line-height: 82px;
  font-size:1.8rem;
}
}
.cta__arrow {
  font-size: 20px;
  background-color: #F30F1D;
  color:#fff;
  width: 34px;
  height: 34px;
  line-height: 34px;
  border-radius: 50%;
}

/* 丸バッジ */
.cta__badge {
  position: absolute;
  left: 2%;
  max-width: 80px;
  /* display: grid;
  place-items: center;
  background: #FEEA41;
  width: 98px;
  height: 98px;
  border-radius: 50%;
  font-weight: 900;
  color: #F30F1D;
  text-align: center; */
  /* box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15); */
}
@media (min-width: 560px) {
  .cta__badge {
  left: 5%;
  max-width: 100%;
}
}
.cta__badge img{
   filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, 0.15));
}
.cta-body{
  margin-left: 19%;
}
@media (min-width: 560px) {
.cta-body{
  margin-left: 25%;
}
}
/* .cta__badge b {
  font-size: 22px;
}
.cta__badge small {
  display: block;
  font-size: 11px;
} */

/* 電話リンク */
.cta__tel {
  display: grid;
  row-gap: 6px;
  text-decoration: none;
  color: #fff;
}
.cta__telnum {
font-weight: bold;
  font-size: 11vw;
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
@media (min-width: 960px) {
  .cta__telnum {
    font-size: 4vw;
  }
}
@media (min-width: 1441px) {
  .cta__telnum {
    font-size: 55px;
  }
}
.cta__telnum img{
  max-width: 42px;
}
@media (min-width: 960px) {
.cta__telnum img{
  max-width: 50px;
}
}
@media (min-width: 1441px) {
  .cta__telnum img{
    max-width: 100%;
  }
}
.cta__hours {
  font-size: 14px;
}
/****************************
リンク
****************************/
.p-common__link{
  font-size: 1.4rem;
  font-weight: 800;
  margin-left: auto;
}
.p-common__link .material-icons{
  color:#fff;
  background-color: #F30F1D;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  line-height: 34px;
  margin-left: 10px;
  font-size: 16px;
  text-align: center;
}
/* 装飾画像 */
.cta__agent {
position: absolute;
  left: 20px;
  top: -147px;
  max-width: 164px;
  z-index: -1;
}
.cta__mascot {
  position: absolute;
  right: 20px;
  top: -92px;
  width: 130px;
  z-index: -1;
}
@media (max-width: 768px) {
  .cta__agent, .cta__mascot {
    display: none;
  }
}
.p-link__inner{
  max-width: 420px;
  margin:4.8rem auto 0px;
}

.p-common__cta{
  background-color: #F5F5F5;
  font-weight:bold;
  height: 74px;
  width: 100%;
  line-height: 74px;
  position: relative;
  border-radius: 41px;
  padding-left: 11%;
}
.u-bg-white__link .p-common__cta{
  background-color: #fff;
}
.p-common__cta::after{
position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Material Icons';
  content: '\e5c8';
  right: 24px;
  background-color: #EC1C16;
  color: #FFF;
  max-width: 34px;
  width: 100%;
  height: 34px;
  line-height: 34px;
  text-align: center;
  border-radius: 50%;

}
/* 共通 */
.u-vh{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); }

/* セクション余白 */
.lease-section{ padding: 48px 0 64px; }

/* 上段カード：2→1カラム */
@media screen and (min-width: 560px) {
  .lease-cards{
    display:flex;
  justify-content: space-between;
  flex-wrap: wrap;
  }
}
/* カード本体 */
.lease-card{
  position:relative;
  background:#fff;
  border-radius:8px;
  padding:40px 18px;
  border:1px solid #eee;
}
@media screen and (min-width: 560px) {
  .lease-card{
    padding:50px 44px;
  }
}
.lease-card--pros{
  border-color:#F30F1D;
  margin-bottom: 50px;
}
@media screen and (min-width: 560px) {
  .lease-card--pros{
    margin-bottom: 0px;
  }
}
.lease-card--pros::after,
.lease-card--cons::after{
 font-family: 'Material Symbols Outlined';
   content: '\ef4a';
   position: absolute;
   left:0px;
   right: 0px;
   text-align: center;
   top:50%;
   transform: translateY(-50%);
  font-size: 17vw;
  font-weight: bold;
  color:#FCEEEE;
}
.lease-card--cons{
  border-color:#0095EE;
}
.lease-card--cons::after{
  content: '\e5cd';
  color:#EBF9FF;
}
/* タブ見出し（赤／青のピル） */
.lease-card__tab{
  position: absolute;
  display:inline-block;
padding: 12px 16px;
  border-radius:27px;
  font-size: 20px;
  color:#fff;
  font-weight:900;
  margin: 0 auto;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  top: -27px;
  font-size:16px;
  max-width: 300px;
  width: 100%;
}
.lease-card--pros .lease-card__tab{
  background:#F30F1D;
}
.lease-card--cons .lease-card__tab{
  background:#0095EE;
}
.lease-card__list{
  position: relative;
  z-index: 1;
}
.lease-card__list li strong{
  display:block;
  font-size:1.8rem;
  color:#F30F1D;
}
.lease-card--cons .lease-card__list li strong{
  color:#0095EE;
}
.lease-card__list li p{
  margin:6px 0 20px;
  font-size:14px;
}
.p-option__block{
  background-color: #fff;
}
.p-option__headline{
  text-align: center;
  color:#0BB9A4;
  font-weight: 800;
  margin-top: 1.6rem;
  margin-bottom:1rem;
}
.p-option__body{
  max-width: 244px;
  width: 100%;
  font-size: 1.2rem;
  line-height: 21.6px;
  margin:0 auto;
  padding-bottom:2.4rem;
}
.p-option__lead{
  margin-top: 2.4rem;
  text-align: center;
  font-weight: 800;
}
.p-option__list{
  text-align: center;
  font-weight: 800;
  background-color: #A3EFE6;
  font-size:1.4rem;
  margin-top: 10px;
  flex: 0 0 48.5%;
    max-width: 48.5%;
    padding: 9px 10px;
}
@media screen and (min-width: 560px){
  .p-option__list{
    flex: 0 0 32%;
    max-width: 32%;
  }
  .u-option__inner::after{
    content:'';
    flex: 0 0 32%;
    max-width: 32%;
  }
}
/* 下段：テキスト＋グラフ 2→1 */
.lease-usage{
  position:relative;
  background: #F5F5F5;
  padding-top: 40px;        /* 帯の高さ（必要に応じて）*/
}
.lease-usage::before{
  content:'';
  height: 78px;
  top:-78px;
  width: 100%;
  position: absolute;
  left: 0px;
  width: 100%;
  background: #f3f3f3;
  z-index: -1;
}
.lease-usage::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;                 /* 帯の下端から出す */
  transform: translateX(-50%);
width: 186px;
  height: 48px;
  background:#f3f3f3;       /* 帯と同じ色 */
  clip-path: polygon(0 0, 50% 100%, 100% 0);  /* ▼ */
}
@media (max-width: 900px){
  .lease-usage{ grid-template-columns: 1fr; }
}
.lease-usage__chart{
  margin-top: 30px;
}
/* 左テキスト */
@media screen and (min-width: 560px){
.lease-usage__text{
  flex:0 0 60.52%;
  max-width: 60.52%;
}
.lease-usage__chart{
  margin-top: 0px;
  flex:0 0 36.14%;
  max-width: 36.14%;
}
}
.p-chart__title{
  margin:0 0 14px;
  font-size:2.6rem;
  font-weight:800;
}
.p-chart__body{
  margin-bottom: 1.25rem;
}
/* 断然おすすめ */
.p-recommend{
  padding-bottom: 12.4rem;
}
/* セクション骨格 */
.lease-points{
  background: #EBFAF7;
  padding: 50px 0 0px;
  position: relative;
}

/* セクションタイトル */
.lp-title{
  text-align:center;
  color:#fff;
  background:#0BB9A4;
  display:inline-block;
padding: 0px 15px 8px;
  border-radius:37px;
  font-weight:900;
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  font-size:2.4rem;
  max-width: 93%;
  width: 100%;
  margin:0 auto;
  margin-right: auto;
position: absolute;
  top: -40px;
}
@media screen and (min-width: 560px){
  .lp-title{
    font-size:3.2rem;
    max-width: 660px;
  }
}
.lp-title span{
  color:#FFEE61;
  font-size:4.4rem;
}

/* リース料金を左右する3つのポイント */
.p-lease__inner{
  padding-top: 40px;
  padding-bottom:40px;
  border-bottom: 1px solid #CACCCE;
}
.p-lease__inner:last-of-type{
  border-bottom: none;
}
.p-lease__image-block{
  margin-top: 40px;
}
@media screen and (min-width: 560px){
.p-lease__block{
  flex:0 0 39.78%;
  max-width: 39.78%;
}
.p-lease__image-block{
  margin-top: 0px;
  flex:0 0 56.98%;
  max-width: 56.98%;
}
}

.p-lease__speed{
  margin-top: 20px;
  text-align: center;
  background-color: #fff;
  padding:24px;
  border-radius: 8px;
}
.p-speed__headline{
  font-size: 1.8rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.p-speed__body{
  font-size:1.4rem;
  line-height: 25.2px;
}
.p-speed__caption{
  background-color: #0095EE;
  padding:8px;
  border-radius: 8px;
  position: relative;
  color:#fff;
font-weight: 800;
  max-width: 154px;
  margin: 18px auto 0px;
}
.p-speed__caption::after{
  content:'';
  position: absolute;
  left: 50%;
  top: -10px;
  transform: translateX(-50%);
  width: 22px;
  height: 10px;
  background: #0095EE;
 clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.u-speed__caption{
  background-color: #F30F1D;
}
.u-speed__caption::after{
background: #F30F1D;
}

/****************************
リース契約を左右する3つのポイント
****************************/

.p-point__title{
  max-width: 91px;
  height: 27px;
  line-height: 27px;
  padding: 0px 15px;
  border-radius: 0px 14px 14px 0px;
  color: #FFEE61;
  font-size: 1.4rem;
  background-color: #0BB9A4;
  font-weight: bold;
}
.p-point__headline{
  font-weight: bold;
  font-size: 2.6rem;
  margin:10px 0px 24px;
}
.p-point__body{
  margin-bottom: 2rem;
}
.p-point__body:last-child{
  margin-bottom: 0px;
}
.p-maker__body{
  font-weight: 800;
  background: linear-gradient(transparent 70%, #FFEE61 70%);
}
/****************************
「カウンター料金」について　メモ
****************************/
.lp-memo{
  background:#fff;
  border-radius:8px;
   padding:46px 16px;
   margin-top:22px;
   position:relative;
   margin-bottom: 65px;
  }
  .lp-memo::after{
content: "";
  position: absolute;
  left: 50%;
  bottom: -112px;
  transform: translateX(-50%);
  width: 186px;
  height: 48px;
  background: #EBFAF7;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  z-index: 1;
  }
 
  .lp-memo__tag{
    max-width: 82px;
    position: absolute;
    left:24px;
    top:-15px;
  }
  .p-memo__inner{
    max-width: 1037px;
    margin:0 auto;
  }
  .p-memo__lead{
    font-weight: 800;
    line-height: 28.8px;
  }
  .p-memo__headline{
    color:#0BB9A4;
    font-weight: 800;
    font-size: 2rem;
    line-height: 32px;
    margin-bottom: 1.5rem;
  }
  /* .p-memo__image{
    border:1px solid #CACCCE;
  } */
  /* .p-memo__image img{
    max-width: 285px;
    margin:0 auto;
    text-align: center;
  } */
@media screen and (min-width: 560px){
.p-memo__block{
flex:0 0 44.45%;
max-width: 44.45%;
}
.p-memo__image{
flex:0 0 52.07%;
max-width: 52.07%;
}
}
/* コンテナ */
.p-lease__container{
  background-color: #fff;
  border-radius: 16px;
  max-width: 1116px;
  width: 100%;
  margin:0 auto;
  position: relative;
}
.p-lease__wrap{
  max-width: 1069px;
  width: 100%;
  margin:0 auto;
  padding:0px 16px 1px;
}
/* .p-lease__container::after{
  content:'';
  width: 100%;
  background:#EBF9FF;
  height: 63px;
  position: absolute;
  top:-63px;
  z-index: -1;
} */
/* セクション背景・余白 */
.lease-basics{
  background:#EBF9FF;
  padding:15rem 0 54px;
  margin-top:54px;
}

/* タイトル画像 */
.lb-title{
  position: relative;
  border:4px solid #0095EE;
  text-align:center;
  color:#0095EE;
  background-color: #fff;
  padding: 20px 35px 15px;
  max-width: 700px;
  margin: 0 auto 4rem;
  position: relative;
  z-index: 1;
  top: -57px;
}
.lb-title__search{
  position: absolute;
  left:0px;
  right: 0px;
  text-align: center;
  margin:0 auto;
  top:-20px;
}
.lb-title__headline{
  font-size: 1.8rem;
  display: block;
  padding-bottom: 10px;
}
.lb-title__lead{
  display: block;
  border-top:1px solid #0095EE;
  font-size:3.2rem;
  padding-top: 5px;
}
.lb-title__pen{
position: absolute;
right:-40px;
top:40%;
transform:translateY(-50%);
}
.lb-about{
  margin-bottom: 4rem;
}
@media screen and (min-width: 560px){
.lb-about__block{
  flex:0 0 44.45%;
  max-width: 44.45%;
}
.lb-about__image{
flex:0 0 52.07%;
  max-width: 52.07%;
}
}
.lb-about__block p{
  margin-bottom: 15px;
}
.lb-about__head{
  text-align: center;
  margin-bottom: 2.4rem;
}
.p-pill__headline{
  text-align: center;
  display: inline-block;
  background-color: #F30F1D;
  border-radius: 18px;
padding: 2px 22px;
  position: relative;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 800;
  margin-bottom: 16px;
}
.p-pill__headline::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 99%;
  transform: translateX(-50%);
  width: 16px;
  height: 12px;
  background: #F30F1D;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.lb-h3{
  font-size:2.6rem;
}
.pill{
  display:inline-block; padding:4px 10px; border-radius:999px;
  background:#ff6257; color:#fff; font-size:12px; font-weight:900;
}
.pill--q{ background:#ff4c9a; }

/* 強調（黄色マーカー） */
.hl{ background:linear-gradient(transparent 60%, #fff4a6 60%); }
.p-about__body{
  margin-bottom: 2rem;
}
/* 「とは？」グリッド */
.lb-about__grid{ display:grid; gap:16px; }
@media (min-width:560px){ .lb-about__grid{ grid-template-columns:1fr 1fr; align-items:start; } }
.lb-about__text{
  background:#fff; border:1px solid #e6eef3; border-radius:10px; padding:16px;
}
.lb-about__fig{
  margin:0; background:#fff; border:1px solid #e6eef3; border-radius:10px;
  padding:12px; text-align:center;
}
.lb-about__fig img{ max-width:100%; height:auto; }

/****************************
リース・購入・レンタルの違い比較表
****************************/
.lb-compare{
  margin-bottom: 4rem;
}
.lb-tablewrap{
  text-align: center;
  margin-bottom: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* テーブル：PC/タブレット */
.lb-table{
  width:100%;
  border-collapse:collapse;
  /* table-layout:fixed; */
  font-size:14px;
  min-width:720px;
}
.lb-table thead th{
background: #0095EE;
  color: #fff;
  font-weight:900;
  padding:13px;
  border-right:1px solid #CACCCE;
}
.lb-table thead th:last-child{ border-right:none; }
.lb-table th.is-item{
  background:#BBEDFF;
  color:#3E6682;
  width:133px;
}
.u-is-item{
  background-color: #0095EE!important;
}
.lb-table th, .lb-table td{
border: 1px solid #CACCCE;
  padding:8px 10px;
  vertical-align:middle; }

.lb-table td{
  font-weight: 800;
}
@media (max-width:560px){
  .lb-table thead{ display: table-header-group !important; }
  /* .lb-table, .lb-table tbody, .lb-table tr, .lb-table th, .lb-table td{
    display: table !important;
  } */
  .lb-table td::before{ content: none !important; }
}


/****************************
再リース・入れ替えのメリット・デメリット
****************************/
.lb-lease{
  margin-top: 4rem;
  margin-bottom: 6.4rem;
}
.cmp-table{
  margin: 0 auto;
  border-collapse: separate;
  border-spacing:4px;
}

/* 1セルをカード扱いにして角丸＋線 */
.cmp-table th,
.cmp-table td{
  padding: 13px 18px;
  vertical-align: middle;
}
.cmp-table td{
  padding: 23px 18px;
}
@media (min-width:560px){
.cmp-table td{
  padding: 13px 18px;
}
}
/* 見出し */
.th--merit{
  background: #F30F1D;
  color: #fff;
  text-align: center;
  font-weight: 900;
}
.th--demerit{
  background: #0095EE;
  color: #fff;
  text-align: center;
  font-weight: 900;
}

/* 行見出し（左端のアイコン縦並び） */
.col-label{
  width: 168px;
}            /* アイコン枠の固定幅 */
.rowhead{
  text-align: center;
  border: 1px solid #CACCCE;
  background-color: #EBF9FF;
}
.rowhead__title{
  display:block;
  font-weight:700;
  margin-bottom:8px;
}

/* 本文リスト */
.list{
  margin:0;
  padding-left:1.1em;
  font-weight: 800;
  position: relative;
  z-index: 1;
}
/* .list li{ line-height:1.9; } */

/* うっすら入る透かし（擬似要素で） */
.cell{
  position:relative;
  overflow:hidden;
  border: 1px solid #CACCCE;
  position: relative;
}
.cell-maru::after,
.cell-batsu::after{
 font-family: 'Material Symbols Outlined';
   content: '\ef4a';
   position: absolute;
   left:0px;
   right: 0px;
   text-align: center;
   top:50%;
   transform: translateY(-50%);
  font-size: 21vw;
  font-weight: bold;
  color:#FCEEEE;
  z-index: 0;
}
@media (min-width:560px){
  .cell-maru::after,
.cell-batsu::after{
  font-size: 6vw;
}
}
.cell-batsu::after{
content: '\e5cd';
  color:#EBF9FF;
}

/* レスポンシブ：<=960px は縦積みに */
@media (max-width: 960px){
  .cmp-table{ border-spacing:4px; }
  .cmp-table thead{ display:none; }             /* 見出しはカード内に擬似表示でもOK */
  .cmp-table, .cmp-table tbody, .cmp-table tr, .cmp-table th, .cmp-table td{
    display:block; width:100%;
  }
  .rowhead{ display:flex; align-items:center; gap:12px; }
  .cell + .cell{ margin-top:8px; }               /* メリット→デメリットの順で縦に */
}



.screening{ background:#e9f5f9; padding:28px 0 56px; }
.screening .pill{
  display:inline-block; padding:4px 10px; border-radius:999px;
  background:#ff6257; color:#fff; font-size:12px; font-weight:900; margin:0 0 8px;
}
.screening .ttl{ margin:0 0 8px; text-align:center; font-weight:900; }
.screening .lead{ text-align:center; margin:0 0 16px; }

/* バナー */
.sc-banner{
  position:relative;
  background:#BBEDFF;
  padding:17px;
  border-top:2px dashed #000;
  border-bottom:2px dashed #000;
  display:flex;
  align-items:center;
  justify-content:center;
  max-width: 940px;
  margin:0 auto;
  width: 100%;
  font-size: 2rem;
  top: 35px;
  z-index: 1;
  font-weight: 800;
}
.sc-banner__label{
  position: relative;
}
.sc-banner__illust{
  position:absolute;
right: -87px;
  bottom: -17px;
  width:81px;
}
@media (max-width:560px){
  .sc-banner__illust{
            width: 68px;
        right: -64px;
  }
}

/* 外枠（角丸＋内側余白） */
.sc-box{
  background:#fff;
  border:2px solid #BBEDFF;
  border-radius:16px;
  position:relative;
  padding:74px 0px 48px;
}
.sc-list{
  max-width: 972px;
padding: 0px 16px 0px;
  width: 100%;
  margin:0 auto;
}
.sc-list .p-common__inner{
  margin-bottom: 32px;
}
.p-point__icon{
  text-align: center;
}
.p-point__block{
  margin-top: 30px;
}
@media (min-width:560px){
  .p-point__block{
    margin-top: 0px;
    flex:0 0 82.12%;
    max-width: 82.12%;
  }
.p-point__icon{
  text-align: left;
  max-width: 136px;
  /* margin-bottom: 20px; */
}
}

.sc-point{
  color:#0095EE;
  font-size: 1.4rem;
  font-weight:bold;
  text-align: center;
}
@media (min-width:560px){
  .sc-point{
    text-align: left;
  }
}
.sc-h3{
  margin:0 0 8px;
  font-size:18px;
  text-align: center;
}
@media (min-width:560px){
.sc-h3{
  text-align: left;
}
}

/* CHECK */
.sc-check{
  border-radius:8px;
  background-color:#F5F5F5;
  max-width: 93%;
  margin:60px auto 4rem;
  padding:28px 0px;
  position: relative;
}
@media (min-width:560px){
  .sc-check{
    max-width: 924px;
  }
}
.sc-check__badge{
  display:block;
  position: absolute;
    left:24px;
    top:-15px;
}
.sc-check__inner{
  max-width: 892px;
  padding:0px 16px;
  width: 100%;
  margin:0 auto;
}
.sc-check__lead{ 
  color:#F30F1D;
  font-weight: 800;
  margin:0 0 10px;
}
.sc-check__note{ margin:0; color:#444; }

.p-cta__link{
  margin:0 auto;
  text-align: center;
}
/****************************
よくある質問
****************************/
.c-faq__list{
  background:#EBF9FF;
  border-radius:8px; margin-bottom:2rem; font-size:1.6rem;
}
.c-faq__list [itemprop="name"] span,
.c-faq__answer span{
  line-height:1;
  color:#0095EE;
  display:inline-block;
  margin-right:10px;
  font-size:18px;
}
.c-faq__answer span{ color:#F30F1D; }

/* 旧 .summary 相当（button化しても見た目は既存に合わせる） */
.c-faq__summary{
  display:block;
  width:100%;
  cursor:pointer;
  position:relative;
  font-weight:bold;
  line-height:1.5;
  font-size:1.6rem;
  padding:32px 65px 32px 35px; text-indent:-12px;
  border: none;
  background: none;
  text-align: left;
  outline: none;
}
@media (min-width:560px){
  .c-faq__summary{ padding-left:60px; padding-right:20px; }
}
.c-faq__summary:focus-visible{ outline:2px solid #1968C5; outline-offset:2px; border-radius:6px; }

/* プラス/マイナス（フォント依存なし） */
.c-faq__icon{
  position:absolute;
  top:50%;
  right:20px;
  width:24px;
  height:24px;
  transform:translateY(-50%);
}
.c-faq__icon::before,
.c-faq__icon::after{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:17px;
  height:2px; background:#1968C5; transform:translateY(-50%);
  transition:transform .25s ease;
  display: block;
}
@media (min-width:560px){
  .c-faq__icon::before,
.c-faq__icon::after{
  width:24px;
}
}
.c-faq__icon::before{
  transform:translateY(-50%) rotate(90deg);
} /* 縦棒 */

/* Aテキスト（元の余白/文字サイズを踏襲） */
.c-faq__answer{
  font-size:1.4rem; line-height:1.95; text-align:justify;
  padding:0 15px 32px 15px; text-indent:-12px;
  opacity:1; transform:none;  /* テキストアニメは行わない */
}
@media (min-width:560px){
  .c-faq__answer{ padding-left:60px; padding-right:50px; }
}

/* パネル本体：高さアニメを確実に効かせる */
.c-faq__panel{
  overflow:hidden;
  max-height:0;                 /* 閉 */
  opacity:0;
  transition:max-height .35s ease, opacity .35s ease;
  will-change:max-height, opacity;
  background:#EBF9FF;           /* 既存のdetails背景色をここへ */
  border-radius:0 0 8px 8px;
  /* 左余白は中身側で確保するため、ここでは持たない */
}

/* 開状態（JSがaria-expandedで切替） */
.c-faq__summary[aria-expanded="true"] + .c-faq__panel{
  opacity:1;
}
.c-faq__summary[aria-expanded="true"] .c-faq__icon::before{
  transform: translateY(-50%) rotate(45deg);
}
.c-faq__summary[aria-expanded="true"] .c-faq__icon::after{
  transform: translateY(-50%) rotate(-45deg);  /* ← ここがポイント */
}

/* 低モーション配慮（お好みで） */
@media (prefers-reduced-motion: reduce){
  .c-faq__panel{ transition:none; }
  .c-faq__icon::before, .c-faq__icon::after{ transition:none; }
}


.c-text__link{
  display: inline;
}
  .fade-in {
    animation: fadeIn 1s ease-in-out;
  }

  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

/****************************
お客さまの声
****************************/
.bleed-right {
position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
padding-left: calc((100vw - 1156px) / 2 + 20px); /* <560px */
}

/* 差分: ≥560px は padding-left:16px 前提に切替 */
@media (min-width: 560px) {
  .bleed-right {
     padding-left: calc((100vw - 1156px) / 2 + 16px);
  }
}
.voices{
  background-color:#F5F5F5;
  overflow: hidden;
}
.p-voice__link{
  max-width: 342px;
  width: 100%;
}
/* .p-voice__link .p-common__cta{
  max-width: 342px;
} */
.swiper{
  overflow:visible;
  padding-right:64px; 
}
@media (max-width:960px){
  .swiper{ padding-right:40px;
  }
}
@media (max-width:560px){
  .swiper{ padding-right:28px;
  }
}

/* スライドの幅を固定ではなく card幅で自動に */
.swiper-slide {
  max-width: 540px;
  background: #fff;
}

.voice-card{
  background:#fff;
  max-width: 476px;
  margin:0 auto;
  padding-top:32px;
  padding-bottom:20px;
}
.voice-card .p-common__inner{
  align-items: end;
}
.voice-card__img{
  max-width: 224px;
}
.voice-card__body{
  max-width: 240px;
  width: 100%;
}
.voice-card__label{
  display:inline-block;
  background:#F5F5F5;
  padding:3px 8px;
  margin-bottom:10px;
  font-size: 1.4rem;
}
.voice-card__list{
  color:#707684;
  font-size: 12px;
}
.voice-card__list li{
line-height: 21.2px;
}
.voice-card__list li a{
  display: inline-block;
}
.voice-card__list .u-text__red{
  text-decoration: underline;
}
.voice-card__ttl{
  font-size: 1.8rem;
  margin:2rem 0px;
}
.p-slider__inner{
  display: flex;
  gap:10px;
  margin-bottom: 15px;
}
.voice-card__badge{
  color:#fff;
  font-size: 12px;
border-radius: 11px;
  font-size: 12px;
  max-width: 58px;
  width: 100%;
  text-align: center;
  height: 22px;
  line-height: 20px;
  margin-top: 5px;
}
.voice-card__lead{
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 21px;
}
.voice-card__after{
  font-size:1.4rem;
  line-height: 25.2px;
}
.badge--blue{
  background:#4DC9FF;
}
.badge--red{
  background:#F30F1D;
}

@media (max-width:560px){
  .voice-card{ 
    grid-template-columns:1fr;
  }
}
@media (min-width: 560px) {
.voices__nav{
 display: flex;
  align-items: center;
  justify-content: space-between; /* 左寄せ固定：中央寄せを防止 */
  gap: 12px;
  margin-top: 24px;
}
}
@media (min-width: 560px) {
.voices__nav-block{
  max-width: 743px;
  width: 100%;
    display: flex;
    align-items: center;
}
}
.voices__progress{
  position: relative;
  max-width: 626px;
  width: 100%;
  height: 4px;                 /* 見本に合わせてOK */
  background: #E5E5E5;
  overflow: hidden;            /* 赤バーのはみ出しをカット */
}
@media (max-width: 960px) {
  .voices__progress {
    width: clamp(160px, 20vw, 508px);
  }
}

/* 差分: 赤バー（初期 118px を必ず表示・色 #F30F1D） */
.voices__progress-bar,
.js-progress {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 118px;                /* 初期表示幅 */
  background: #F30F1D;         /* ご指定 */
  border-radius: 9999px;
  transition: width .2s linear;
}

/* レール枠（消える環境対策） */
.voices__progress::before {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px #DADDE3;
  pointer-events: none;
}
/* 矢印（色 #F30F1D） */
.voices__arrows {
  display: flex;
  align-items: center;
gap: 15px;
  margin-left: 10px;
}
@media (min-width: 960px) {
.voices__arrows {
  margin-left: 15px;
}
}
@media (min-width: 1441px) {
.voices__arrows {
  margin-left: 32px;
}
}
.voices__arrow {
  appearance: none;
  cursor: pointer;
  width: 36px;
  height: 36px;
  line-height: 34px;
  text-align: center;
  border-radius: 50%;
  border: 1px solid #F30F1D;
  color: #F30F1D;
  background: transparent;
  transition: background .15s, color .15s, border-color .15s;
}
.voices__arrow span{
  font-size:18px;
}
.voices__arrow:hover {
  background: #F30F1D;
  color: #FFF;
}

/* もっと見るボタンは右端へ（wrap内で効く） */
.voices__more {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: .5em;
  padding: 12px 18px;
  background: #FFF;
  border: 1px solid #DDD;
  border-radius: 999px;
  font-weight: 700;
}
.voices__arrow:disabled{
opacity:.3;
cursor:default;
}

.section-lineup{
    overflow: hidden;
    position: relative;
    padding: 7rem 0px 0px;
    margin-top: -5rem;
}
.inner{
    margin-left:auto;
    margin-right: auto;
    width: 100%;
    /* padding-left: 4rem; */
}

.lineup{
    position: relative;
}
.lineup .p-common__inner{
    max-width: 832px;
    margin:0 auto;
    width: 100%;
    padding:0px 16px;
}
.lineup-carousel__list{
    /* margin-right: 24px; */
    padding: 30px 0px;
    background-color: #fff;
    border-radius: 14px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__list{
        padding: 45px 0px;
		min-height:287px;
    }
}
.lineup-carousel__image{
    margin-bottom: 2.5rem;
    text-align: center;
    max-width: 70px;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__image{
        text-align: left;
        max-width: 100%;
    }
}
.slick-slide img{
    display: inline-block!important;
    max-width: 80px;
}
.slick-disabled{
    background: #4d4d4d;
}
@media screen and (min-width: 560px) {
.lineup-carousel__image{
    flex:0 0 12%;
    max-width: 12%;
    margin-bottom: 0px;
}
.lineup-carousel__block{
    flex:0 0 87%;
    max-width: 87%;
}
}
.lineup-carousel__title{
    font-size: 1.5rem;
    margin-bottom: 5px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__title{
    font-size: 1.6rem;
}
}
.lineup-carousel__title span{
    color:#2B90CC;
    margin-bottom: 1.5rem;
    position: relative;
    padding-right: 30px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__title span{
        padding-right: 40px;
    }
}
.lineup-carousel__title span::after{
    content:'';
    height: 13px;
    width: 1px;
    background-color: #2D2D2D;
    position: absolute;
    right: 15px;
    top: 5px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__title span::after{
        right: 20px;
        height: 18px;
    }
}
.lineup-carousel__block h3{
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 25px;
}
@media screen and (min-width: 560px) {
    .lineup-carousel__block h3{
        font-size: 2.4rem;
    }
}
.u-lineup__body{
    font-size: 14px;
}

 .lineup-carousel .slick-slide {
    padding: 0 10px;
    /* max-width: 340px; */
    width: 100%;
}
@media screen and (min-width: 560px) {
     .lineup-carousel .slick-slide {
        max-width: 992px;
        padding: 0 19px;
     }
}
.slick-list{
    overflow: visible!important;
}

.slick__prev,
.slick__next {
    position: absolute;
    top: -60px;
    z-index: 1;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border:none;
    /* border: 1px solid #2D2D2D; */
    background: #2D2D2D;
    transition: .5s;
    cursor: pointer;
}
.slick__prev:hover,
.slick__next:hover{
    opacity: 0.6;
}

.slick__prev {
    right: calc((100vw - 100%) + (70px + 10px + 15px));
}
.slick__next {
    right: calc((100vw - 100%) + (40px));
}
@media screen and (min-width: 560px) {
.slick__prev {
          right: calc(50% - 476px + 56px);  
  /* right: calc((103vw - 100%) + (30px + 60px + 15px)); */
}

.slick__next {
  right: calc(50% - 476px);
    /* right: calc((103vw - 100%) + (40px)); */
}
}

.slick__prev:before,
.slick__next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  opacity: 1;
  content: '';
}
.slick-next:before, .slick-prev:before{
    display: none;
}
.slick__prev:before {
  transform: translate(-25%, -50%) rotate(-135deg);
}

.slick__next:before {
  transform: translate(-75%, -50%) rotate(45deg);
}

.slick-dots li button:before,
.slick-dots li button:after{
    content:'';
    font-family: 'Material Icons';
}
.slide-dots {
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .slide-dots li {
    display: inline-block;
    margin: 0 10px;
  }
  .slide-dots li button {
    position: relative;
    text-indent: -9999px;
  }

/****************************
コピー機複合機の導入までの流れ
****************************/
.p-flow__block{
  border:1px solid #CACCCE;
  border-radius: 8px;
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 560px) {
  .p-flow__block{
    margin-bottom: 0px;
  }
}
.p-flow__inner{
  padding:27px 16px 27px;
}
@media screen and (min-width: 560px) {
  .p-flow__inner{
    padding:27px 24px 27px;
  }
}
.p-flow__number{
  font-size: 1.8rem;
  margin:0 auto;
  max-width: 46px;
  width: 100%;
  height: 46px;
  line-height: 46px;
  position: absolute;
  left:50%;
  transform:translateX(-50%);
  border-radius:50%;
  text-align: center;
  top: 54%;
  background: #fff;
  font-weight: bold;
}
@media screen and (min-width: 560px) {
  .p-flow__number{
    top: 140px;
  }
}
.p-flow__headline{
  text-align: center;
  font-weight: 800;
  margin:0px 0px 15px;
}
.p-flow__body{
  line-height: 25.2px;
}
/****************************
支払方法
****************************/
.pay-area{
  background-color: #F5F5F5;
  padding:64px 0px 70px;
}
.p-iconset__block{
  text-align: center;
}
.p-payarea__headline{
  font-size: 2.6rem;
  border-bottom: 1px solid #CACCCE;
padding-bottom: 13px;
  margin-bottom: 35px;
}
.p-icon__headline{
  margin-bottom: 5px;
}
@media screen and (min-width: 560px) {
.p-pay__block{
  flex:0 0 38.5%;
  max-width: 38.5%;
}
.p-area__block{
  flex:0 0 56.5%;
  max-width: 56.5%;
}
}

.u-pay__inner{
  margin-bottom: 4rem;
}
@media screen and (min-width: 560px) {
.p-pay__icon{
  flex:0 0 30%;
  max-width: 30%;
}
.p-pay__content{
  text-align: left;
}
.p-pay__content{
  flex:0 0 70%;
  max-width: 70%;
}
}
.p-pay__headline{
  font-size: 1.8rem;
  margin-bottom: 8px;
}
.p-pay__body{
  font-size: 1.4rem;
  line-height: 25.2px;
}
.p-area__headline{
  font-size: 2.6rem;
  margin-bottom: 1rem;
}
.p-area__body{
  font-size: 1.4rem;
  margin-bottom: 24px;
}

.prefecture-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  border: 1px solid #CACCCE;
}

.prefecture-table th,
.prefecture-table td {
  border: 1px solid #CACCCE;
  padding: 10px 16px;
  vertical-align: middle;
}

.prefecture-table th {
  background-color: #BBEDFF;
  /* color: #3E6682; */
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
}

.prefecture-table td {
  background-color: #fff;
}
/****************************
コピー機・複合機のお役立ちコラム
****************************/
.p-column___inner{
  max-width: 668px;
  padding:0px 16px;
  width: 100%;
  margin:0 auto;
}
.p-column__headline{
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 2rem;
}
.p-column__list{
  margin-bottom: 1.5rem;
}
.p-column__list a{
  display: flex;
  justify-content: space-between;
  border-top:1px solid #CACCCE;
  padding:15px 24px;
}
.p-column__list li:last-child a{
  border-bottom:1px solid #CACCCE;
}
.p-column__thumbnail{
  flex:0 0 30%;
  max-width: 30%;
  width: 154px;
    height: 87px;
    overflow: hidden;
}
.p-column__thumbnail img{
      width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.p-column__block{
  flex:0 0 65%;
  max-width: 65%;
}
.p-column__day{
  color:#7E868F;
}
.p-column__title{
  font-weight: 800;
  line-height: 24px;
}

/****************************
ランキングページ
****************************/
.p-ranking__link a{
  background-color: #fff;
  box-shadow: 0px 10px 15px 0 rgba(0,0,0,.1);
  border-radius:8px;
}
.p-ranking__head-link{
  position: relative;
  background-image:url("/wp-content/themes/MJE/images/hane.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
      padding: 8px 0px;

}
/* .p-ranking__head-link::after{

} */
.p-ranking__head-link span{
  font-size: 1.4rem;
  display: block;
}
.p-ranking__icon{
  background-color: #F5F5F5;
  border-radius: 50%;
  color:#F30F1D;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  margin:10px auto 0px;
}
.p-ranking__icon span{
  font-size: 16px;
}
.p-ranking__link-inner{
  text-align: center;
  padding: 15px 15px 24px;
}
.p-ranking__common--headline{
  background-color: #F30F1D;
  color:#fff;
  font-size: 2rem;
  padding:11px 20px;
  margin-bottom: 40px;
}
@media screen and (min-width: 560px) {
  .p-ranking__common--headline{
    font-size: 3.2rem;
  }
}
.p-ranking__common--headline span{
  margin-right: 10px;
}
.p-ranking__common--headline img{
  vertical-align: inherit;
}
.p-ranking__body{
  font-size: 1.8rem;
  font-weight: 800;
}
/****************************
総合人気ランキング
****************************/
.p-rank__list{
  margin-top: 3rem;
}
.p-rank__list a{
  position: relative;
  border-radius: 8px;
  box-shadow: 0px 5px 15px 0 rgba(0,0,0,.1);
}
.p-rank__image{
  background-color: #F5F5F5;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 560px) {
  .p-rank__image{
  flex:0 0 30%;
  max-width:30%;
}
}
.p-rank__image img{
  max-width: 226px;
}
.p-rank__content{
  padding:15px;
}
@media screen and (min-width: 560px) {
  .p-rank__content{
  flex:0 0 70%;
  max-width: 70%;
  padding:30px 30px 20px 30px;
}
}
.p-rank__features{
  display: flex;
  gap:5px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 10px;
  font-size: 1.4rem;
}
.p-rank__features li{
  background-color: #BBEDFF;
  border-radius: 4px;
  padding:0px 10px;
}
.p-rank__icon{
  position: absolute;
  left:15px;
  top:-10px;
}
.p-model__futures{
  display: flex;
  font-size: 12px;
  flex-wrap: wrap;
  gap:4px;
  text-align: center;
  margin-bottom: 20px;
}
.u-bg__red{
  background-color: #F30F1D;
  color:#fff;
}
.u-bg__monochro{
  background-color: #000000;
  color:#fff;
}
.u-bg__pink{
  background-color: #FFCFCF;
}
.u-bg__glay{
  background-color: #E6EAEA;
}
.u-a3a4{
  font-size: 1.8rem!important;
  font-weight: 800;
}
.p-model__list{
  height:60px;
  line-height: 60px;
  max-width: 60px;
  width: 100%;
  line-height: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.u-card__tate{
  margin-top: 15px;
}
.u-card__tate .p-model__list{
  height:54px;
  line-height: 54px;
  max-width: 54px;
  line-height: 12px;
  font-size:10px;
}
.p-model__price{
  font-size: 1.4rem;
}
.p-model__price span{
  font-weight: 800;
  font-size:1.6rem;
}
.p-link__icon{
  width: 34px;
  height: 34px;
  line-height: 34px;
  color:#fff;
  background-color: #F30F1D;
  margin-left: auto;
  border-radius: 50%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
/****************************
総合人気ランキング 縦型カード部分
****************************/
.u-card__bg{
  background-color:#F5F5F5;
}
.u-rank__list{
  font-size: 1.2rem;
}
.p-maker__link{
  margin-bottom: 16px;
}
@media screen and (min-width: 560px) {
.p-maker__link{
  flex:0 0 48%;
  max-width: 48%;
}
}
.p-maker__link a{
  border-radius: 6px;
  padding:15px;
  position: relative;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0 rgba(0,0,0,.15);
  display: flex;
  gap:15px;
  align-items: center;
}
.p-maker__link a::after{
  content:'';
  position: absolute;
  right: 0px;
  top:50%;
  transform: translateY(-50%);
  font-family: 'Material Icons';
      content: '\e5db';
      right:24px;
      background-color: #F5F5F5;
      color:#EC1C16;
      max-width: 34px;
      width: 100%;
      height: 34px;
      line-height: 34px;
      text-align: center;
      border-radius: 50%;
}
.p-maker__image{
  max-width: 166px;
}
/****************************
メーカー別人気ランキング
****************************/
.maker-rank{
  border-radius: 8px;
  background-color: #EBF9FF;
  padding:40px 20px;
}
@media screen and (min-width: 560px) {
.maker-rank{
  padding:40px;
}
}
.p-maker__rank-headline{
  border-radius: 8px;
  background-color: #0095EE;
  color:#fff;
  padding:10px 20px;
  margin-bottom: 30px;
  font-size: 2.4rem;
}
@media screen and (min-width: 560px) {
  .p-maker__rank-headline{
    font-size: 2.6rem;
  }
}
.p-maker__rank-image{
  max-width: 236px;
  width: 100%;
  background-color: #fff;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
@media screen and (min-width: 560px) {
  .p-maker__rank-image{
    margin:0px;
  }
}
.p-maker__lead{
  color:#0095EE;
  font-size:2rem;
  margin-bottom: 1rem;
}
.p-maker__rank-image img{
  max-width: 157px;
}
.p-maker__description{
  max-width: 616px;
}
.p-maker-rank__inner{
  margin-bottom: 30px;
}
@media screen and (min-width: 560px) {
.p-maker-rank__inner{
  display: flex;
  gap:30px;
}
}
#sharp{
  padding:0px;
}

#fujifiilm,
#kyocera,
#canon,
#konica,
#ricoh{
  padding:30px 0px 0px;
}
#ricoh{
  padding-bottom:60px;
}
/****************************
コピー機・複合機を選ぶ際の6つのポイント
****************************/
.point6{
  padding: 94px 0px 20px;
}
.p-point__list{
  margin-bottom: 16px;
}
@media screen and (min-width: 560px) {
.p-point__list{
  flex:0 0 48%;
  max-width: 48%;
}
}
.p-point__list a{
  position: relative;
  display: flex;
  align-items: center;
  gap:25px;
  box-shadow: 0px 5px 15px 0 rgba(0,0,0,.1);
  border-radius: 8px;
}
.p-point__list a::after{
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Material Icons';
  content: '\e5db';
  right: 24px;
  background-color: #F5F5F5;
  color: #EC1C16;
  max-width: 34px;
  width: 100%;
  height: 34px;
  line-height: 34px;
  text-align: center;
  border-radius: 50%;
}
.p-point__image{
  max-width: 156px;
}
.p-point__pickup{
border-radius: 11px;
  color: #fff;
  background-color: #4DC9FF;
  font-size: 1.2rem;
  padding: 0px 11px;
  display: inline-block;
  line-height: 22px;
  height: 22px;
  margin-bottom: 5px;
}
.p-point__link-headline{
  font-size: 1.8rem;
}

/****************************
お問い合わせ
****************************/


.contact-table {
    width: 100%;
}

.contact-form__inner {
    margin-bottom: 3rem;
    border-bottom: 1px solid #a8acba;
}

.contact-form__01,
.contact-form__02 {
    display: block;
}

.contact-form__name {
    margin-right: 1rem;
    width: 100%;
    font-weight: normal;
    font-size: 1.6rem;
    text-align: left;
    display: flex;
    align-items: center;
}
.contact-form__required {
    display: inline-block;
    background-color: #F5485C;
    padding: 0 0.35em;
    font-size: 1.2rem;
    line-height: 1.6;
    margin-left: 6px;
    border-radius: 2px;
    color: #fff;
}

.contact-table td {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: 100%;
    display: block;
    padding: 0px 0 20px;
}

.contact-table input,
.contact-table textarea,
.contact-table select {
    width: 100%;
    background-color: #F8F8FB;
    border: none;
    padding: 14px 10px;
    border-radius: 4px;
    border: 1px solid #A0A0A0;
}

.contact-common__body {
    text-align: center;
    margin-bottom: 30px;
}

.contact-form__headline {
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    line-height: 1;
    padding: 20px 0;
    margin-bottom: 20px;
    position: relative;
}

.contact-form__headline::before {
    content: '';
    background-color: #fff;
    height: 2px;
    max-width: 320px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.contact-form__headline::after {
    content: '';
    background-color: #fff;
    height: 2px;
    max-width: 320px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.form-content__block {
    border-bottom: 1px solid #a8acba;
}

.form-content__block:last-child {
    border-bottom: none;
}

@media screen and (min-width: 560px) {
    .form-content__block {
        display: flex;
        justify-content: space-between;
    }
}

.form-content__headline {
    font-weight: bold;
    position: relative;
    margin-right: 1rem;
    max-width: 244px;
    width: 100%;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    font-weight: normal;
    font-size: 1.4rem;
    text-align: left;
    padding: 16px 0;
    display: block;
}

.form-content__body {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 816px;
    width: 100%;
    display: block;
    padding: 0px 0 32px;
}

@media screen and (min-width: 560px) {
    .form-content__headline {
        display: inline;
        padding: 32px 0;
        flex: 0 0 22.4%;
    }

    .form-content__body {
        padding: 32px 0;
        flex: 0 0 75%;
    }
}

.require {
    background-color: #ffd800;
    padding: 0.5em;
    font-size: 12px;
    margin-left: 10px;
    vertical-align: text-top;
}

.form-content__body input,
.form-content__body select,
.form-content__body option,
.form-content__body textarea {
    width: 100%;
    background-color: #f2f4fa;
    border: none;
    padding: 14px 10px;
    border-radius: 4px;
    border: 1px solid #a8acba;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.form-content__body textarea {
    min-height: 205px;
}

.form-content__body input placeholder {
    opacity: 0.5;
}

.form-content__body select placeholder {
    opacity: 0.8;
}
::placeholder {
  color: rgba(0, 0, 0, 0.3); /* 黒を30%の透過で指定 → 薄めのグレー */
}
.form-inner {
    max-width: 800px;
    padding: 0 15px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.form-content__button {
    position: relative;
}

.form-content__button::before {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    right: 15px;
    transform: rotate(35deg);
    width: 10px;
    height: 1px;
    background-color: #fff;
    z-index: 3;
    transition: .5s;
}

.form-content__button::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 30px;
    height: 1px;
    background-color: #fff;
    z-index: 3;
    transition: .5s;
}

.u-back__button .u-back__link::before {
    background: #fff;
}

.u-back__button .u-back__link:hover::before {
    transform-origin: right top;
}
.u-back__button .u-back__link:hover span{
	color:#A8ABBA;
}
.form-content__button.u-back__button::before {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    left: 15px;
    transform: rotate(-35deg);
    width: 10px;
    height: 1px;
    background-color: #fff;
    z-index: 3;
    transition: .5s;
}

.form-content__button.u-back__button::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    width: 30px;
    height: 1px;
    background-color: #fff;
    z-index: 3;
    transition: .5s;
}

.form-content__button.u-back__button:hover::before,
.form-content__button.u-back__button:hover::after {
    background-color: #A8ABBA;
}

.form-content__body input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 20px;
    vertical-align: -0.8rem;
    transition: all .15s ease-out 0s;
    color: #3C3D3C;
    cursor: pointer;
    display: inline-block;
    margin: .4rem;
    outline: none;
    background-color: #ECECEC;
    border: 1px solid #D8DDE4;
    padding: 0 9px;
}

.form-content__body>div {
    display: flex;
}

@media screen and (max-width:559px) {
    .form-content__body .c-contact__radio {
        display: block;
    }
}

.form-content__body>div .checkbox-parts {
    position: relative;
    margin-left: 10px;
}

.contact-pp {
    margin-left: auto;
    margin-right: auto;
    max-width: 670px;
    padding: 0 15px;
    color: #3e3a39;
}

.form-content__ttl {
    font-size: 18px;
    margin-bottom: 10px;
    color: #fff;
}

.contact-pp__inner {
    height: 185px;
    overflow: auto;
    border: 1px solid #c3c3c3;
    background-color: #ffffff;
    padding: 0.5em 1em;
    font-size: 0.75rem;
}

.contact-pp__body:not(:last-child) {
    margin-bottom: 1.5em;
}



.contact-agree__body a {
    text-decoration: underline;
    color: #CB001A;
    display: inline;
}

.contact-table textarea {
    min-height: 140px;
}

/* IE */
input:-ms-input-placeholder {
    color: #ACB1B9;
}

/* Edge */
input::-ms-input-placeholder {
    color: #ACB1B9;
}

.contact-agreement h3 {
    font-size: 1.6rem;
    font-weight: normal;
}

.contact-agreement__inner {
    padding: 14px 0 32px;
}

@media screen and (min-width: 560px) {
    .contact-agreement__inner {
        padding: 14px 0 60px;
        display: flex;
    }
}

.contact-privacy {
    text-decoration: underline;
    color: #F5485C;
    display: inline;
}
.mw_wp_form .error{
    color: #F5485C!important;
}
@media screen and (min-width: 560px) {
    .contact-privacy:hover {
        opacity: 0.6;
    }
}

.mw_wp_form .vertical-item {
    margin-bottom: 10px;
}

.mwform-checkbox-field input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 20px;
    vertical-align: -0.8rem;
    transition: all .15s ease-out 0s;
    color: #3C3D3C;
    cursor: pointer;
    display: inline-block;
    margin: .4rem;
    outline: none;
    background-color: #ECECEC;
    border: 1px solid #D8DDE4;
    padding: 0 9px;
}

input[type=checkbox]::before,
input[type=checkbox]::after {
    position: absolute;
    content: "";
    background: #fff;
    transition: all .2s ease-in-out;
}

input[type=checkbox]::before {
    left: 2px;
    top: 6px;
    width: 0;
    height: 2px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

input[type=checkbox]::after {
    right: 9px;
    bottom: 3px;
    width: 2px;
    height: 0;
    transform: rotate(40deg);
    -webkit-transform: rotate(40deg);
    -moz-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    -o-transform: rotate(40deg);
}

input[type=checkbox]:checked {
    background-color: #0d223f;
}

input[type=checkbox]:checked::before {
    left: 2px;
    top: 11px;
    width: 6px;
    height: 2px;
}

input[type=checkbox]:checked::after {
    right: 6px;
    bottom: 2px;
    width: 2px;
    height: 14px;
}

input[type=checkbox]:indeterminate:before,
input[type=checkbox]:indeterminate:after {
    width: 7px;
    height: 2px;
    transform: rotate(0);
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
}

input[type=checkbox]:indeterminate:before {
    left: 1px;
    top: 7px;
}

input[type=checkbox]:indeterminate:after {
    right: 6px;
    bottom: 2px;
}

input[type=submit] {
    cursor: pointer;
    outline: none;
}

.mw_wp_form .p-common__link {
    pointer-events: auto;
    margin: 0 auto;
    height: 68px;
    line-height: 68px;
    display: block;
    border: none;
    color: #fff;
    border-radius: 8px;
    background: linear-gradient(#f67046 0%, #f5485c 100%);
    font-weight: bold;
    font-size: 19px;
    max-width: 168px;
}
.mw_wp_form .p-common__link:hover{
    transform: translate(0, -3px);
    box-shadow: 0px 40px 30px 0 rgba(0,0,0,.2);
}
.contact-conversion__btn {
    position: relative;
    max-width: 630px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

.mw_wp_form_input .contact-back__link {
    display: none;
}

.contact-submit__link,
.contact-back__link {
    width: 100%;
    max-width: 250px;
    margin: 4rem auto 0px;
    position: relative;
}


@media screen and (min-width: 560px) {
    .c-contact__radio {
        display: flex !important;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

@media screen and (min-width: 560px) {
    .mwform-radio-field {
        flex: 0 0 48%;
        max-width: 48%;
    }
}

.mwform-radio-field label {
    display: flex;
    align-items: center;
    padding: 5px 0px;
}

@media screen and (min-width: 560px) {
    .mwform-radio-field label {
        padding: 0px 0px;
    }
}

.mwform-radio-field label .content {
    max-width: 10%;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0px !important;
}

.check-content table th {
    background-color: #f2f4fa;
    padding: 15px;
    border: none;
}

.check-content .contact-table td {
    padding: 15px;
    font-size: 1.5rem;
}

.check-content .contact-agreement {
    display: none;
}

.mw_wp_form_confirm .contact-form__02 {
    display: none;
}

.check-content {
    margin-top: 3.2rem;
}

.check-content .common-link {
    background-image: linear-gradient(to right, rgba(203, 0, 26, 1) 50%, transparent 50%);
    color: #fff;
}

.check-content .common-link:hover {
    color: #CB001A;
    background-position: -100% 100%;
}

.check-content .contact-form__02 {
    border-bottom: 1px solid #D8DDE4;
}

.check-content tr:first-child {
    border-top: 1px solid #D8DDE4;
}

.check-content tr:nth-child(5) {
    display: none;
}

.p-contact__list {
    background-color: #F1F4F9;
    padding: 15px;
    border-radius: 10px;
}

@media screen and (min-width: 560px) {
    .p-contact__list {
        padding: 20px;
    }
}

@media screen and (min-width: 960px) {
    .p-contact__list {
        padding: 30px;
    }
}

.contact_attention{
	border: 1px #0d223f solid;
    padding: 20px;
	margin: 0 0 30px 0;
    width: 100%;
    max-width: 700px;
}


.contact_attention_ttl{
	font-weight:bold;
}
/****************************
thanks
****************************/
.contact-thanks{
    border:1px solid #A0A0A0;
    border-radius:10px;
    padding:5rem 15px;
    margin-bottom: 10rem;
    margin-top: 10rem;
    margin-left: 16px;
    margin-right: 16px;
    max-width: 1056px;
    margin-top: 1rem;
}
@media screen and (min-width: 560px) {
    .contact-thanks{
        padding:9rem 15px;
        margin-bottom: 28rem;
        margin-left: auto;
        margin-right: auto;
    }
}
.p-contact__thanks-inner{
    text-align: center;
    margin:0 auto;
}
.p-thanks__headline{
    font-weight: bold;
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
}
@media screen and (min-width: 560px) {
    .p-thanks__headline{
        font-size: 3.8rem;
    }
}
.p-thanks__tel-inner{
    margin-top: 2.5rem;
}
.p-thanks__tel-inner a{
    font-weight: bold;
    line-height: 1.75;
    font-family: "azo-sans-web", sans-serif;
font-weight: 500;
font-style: normal;
}
.p-thanks__tel{
    font-size: 3.8rem;
}
.p-thanks__tel .material-icons{
    color:#2D2D2D;
    margin-right: 3px;
    font-size:38px;
    vertical-align: middle;
}
.contents-image {
    text-align: center;
}