/*--------------------------------------------------------------------------------
  旧　common.css start
----------------------------------------------------------------------------------*/
/*common*/
html {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 500; /*font-size Medium*/
  /* ルートのフォントサイズを10pxに設定しておく */
  font-size: 62.5%;
}
body {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-size: 1.3rem;
  min-width: 1168px;
  color: #1E1E1E;
  background: #F3F3F3;
  line-height: 1;
}
table th,
table td,
header,
footer {
  font-size: 1.3rem;
}
a{
  text-decoration: none;
  color: #DB0066;
}
a.pink-link {
  text-decoration: underline;
}
a.corp-pink-link {
  color: #DB0066;
  text-decoration: underline;
}
.remark-text,
.remark-text.campaign{
  font-size: 1.1rem;
}
div.white-content-box-body p:has(.remark-text){
  line-height: 1.3;
}
p {
  margin-block-start: 0em;
  margin-block-end: 0em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  line-height: 2.0rem;
  margin: 0;
}
div.content-container {
  width: 100%;
  margin: auto;
}
div.section-container {
  max-width: 980px;
  margin: auto;
  box-sizing: border-box;
}
.text-red {
  color: red;
}
.col75 {
  width: 75%;
}
.col50 {
  width: 50%;
}
input.col25 {
  width: 25% !important;
}
input.col20,
select.col20{
  width: 20% !important;
}
select {
  width: 30%;
  padding: 5px 2px 5px 5px;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  outline: none;
  background-image: none;
  box-shadow: none;
  margin-bottom: 0px;
  position: relative;
  border: 1px solid #bbbbbb;
  border-radius: 2px;
  background: #FFFFFF;
}
select::-ms-expand {
  display: none;
}
.select::before {
  position: absolute;
  top: 0.8em;
  right: 0.9em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #666666;
  pointer-events: none;
}
select:after {
  position: absolute;
  top: 0;
  right: 2.5em;
  bottom: 0;
  width: 1px;
  content: "";
  border-left: 1px solid #bbbbbb;
}
img{
  width: auto;
  height: auto;
}
h1,
ul.List {
  margin: 0em;
  padding-left: 0px;
  font-size: 62.5%;
}
/*Edge・IEのみ
 *ブラウザのデフォルトで目のマークが出るので非表示にさせる
*/
input::-ms-reveal {
  visibility: hidden;
}

@media screen and (min-width: 768px) {
  img.img-mv {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  body{
    min-width: 0;
  }
  .remark-text {
    font-size: 1.1rem;
    line-height: 13px;
  }
  .remark-text.campaign{
    font-size: 1.1rem;
    line-height: 2.0rem;
  }
  div.section-container {
    max-width: 100%;
    padding: 0 8%;
  }
  img.img-mv-sp{
    width: 100%;
    height: auto;
  }
}

/*contents*/
.inner{
  max-width: 980px;
  margin: 0 auto;
  z-index: 4;
}

/*-------------------------------------------
    Header
-------------------------------------------*/
header:not(.exclusion){
  background: #1E1E1E;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10000001;
  height: 95px;
}
header:not(.exclusion) a{
  text-decoration: none;
}
header:not(.exclusion) .inner{
  max-width: 1168px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  height: 85px;
}
header:not(.exclusion) .logo{
  width: 90px;
  padding: 10px 0px 10px 15px;
}
header:not(.exclusion) .logo img {
  width: 90px;
}
.forbiz header:not(.exclusion) .logo {
  width: 200px;
  padding: 15px 0 15px 15px;
}
.forbiz header:not(.exclusion) .logo img {
  width: 200px;
}

@media screen and (max-width: 767px) {
  .forbiz header:not(.exclusion) .logo img,
  header:not(.exclusion) .logo img {
    width: auto;
  }
  .brand-color-line {
    height: 100%;
    width: 10px;
    position: absolute;
    left: 0;
    top: 0;
  }
  header:not(.exclusion) .inner{
    height: 85px;
  }
}
header:not(.exclusion) .logo-lp{
  width: 210px;
  padding: 22px 0 22px 15px;
}
header:not(.exclusion) ul{
  display: flex;
  margin-block-start: 0em;
  margin-block-end: 0em;
}
header:not(.exclusion) ul.pc_nav:nth-of-type(2) {
  padding-inline-start: 10px;
}
header:not(.exclusion) ul.sp_nav{
  display: none;
}

header:not(.exclusion) ul.btn-box-container {
  padding-inline-start: 10px;
}

header:not(.exclusion) ul li{
  text-align: center;
  letter-spacing: 0.11em;
  text-indent: -0.11em;
  list-style: none;
}
header:not(.exclusion) ul li a{
  color: #FFFFFF;
}
header:not(.exclusion) ul li.nav_type01{
  border-left: solid 1px #505050;
  width: 100px;
  line-height: 1.3;
}
header:not(.exclusion) ul li.nav_type01:last-of-type {
  border-right: solid 1px #505050;
}
header:not(.exclusion) ul li.nav_type01 a{
  color: #FFFFFF;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
header:not(.exclusion) ul li.nav_type01 a::before{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background: #1E1E1E;
}
header:not(.exclusion) ul li.nav_type01 a:hover{
  color: #FFE000;
}
/* buttons.css から移植 start */
.header-menu {
  position: relative;
  display: inline-block;
}
.header-menu::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -100;
  content: "";
  background: black;
  transform-origin: left top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.header-menu.header-mypage::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -101;
  content: "";
  background-color: #505050;
}
.header-menu.active::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
/* buttons.css から移植 end */
.nav_type01.header-menu-selected a {
  color: #FFE000;
}
/* header ul li.nav_type01 a:hover::before{
  animation: anim .5s ease-out forwards;
}
@keyframes anim {
  0% {width: 0;}
  50% {width: 100%;}
  100% {width: 0; right: 0; left: 100%;}
} */
header:not(.exclusion) ul li.nav_type02{
  width: 115px;
  border-left: solid 1px #505050;
  display: flex;
  flex-direction: column;
}
header:not(.exclusion) ul li.nav_type02 a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50%;
  letter-spacing: 0.04em;
  text-indent: -0.04em;
  transition: .3s all;
}
header:not(.exclusion) ul li.nav_type02 a:first-child{
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-style: normal;
  border-bottom: solid 1px #505050;
}
header:not(.exclusion) ul li.nav_type02 a:first-child span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/nav_ico.svg) no-repeat left center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  padding: 4px 0 3px 18px;
}
header:not(.exclusion) ul li.nav_type03{
  width: 137px;
}
header:not(.exclusion) ul li.nav_type03 a{
  font-weight: 900;
  display: block;
  border-left: solid 1px #505050;
  transition: .3s all;
  letter-spacing: 0.1em;
  margin: 10px 5px;
  border-radius: 0.75em;
  max-height: 50px;
}

header:not(.exclusion) ul li.nav_type03.business a {
  padding: 10px 0;
  line-height: 1.4;
  color: #FFFFFF;
  background-color: #026abd;
  font-size: 1.4rem;
}
header:not(.exclusion) ul li.nav_type03.request a {
  padding: 32px 0 10px;
  background: #FFE000;
  color: #1E1E1E;
  font-size: 1.5rem;
  position: relative;
}
header:not(.exclusion) ul li.nav_type03.request.entry a {
  background: #DB0066;
}
header:not(.exclusion) ul li.nav_type03.request a::before {
  content: "";
  border-top: 10px solid #fff;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  position: absolute;
  left: 50%;
  top: 15px;
  transform: translateX(-50%);
}
header:not(.exclusion) ul li.nav_type03.request a .sub-mess {
  position: absolute;
  left: 50%;
  top: -5px;
  transform: translateX(-50%);
  background-color: #fff;
  width: 90%;
  padding: 3px 0;
  border-radius: 100vh;
  font-size: 1.6rem;
  color: #000;
}
header:not(.exclusion) ul li.nav_type03.request a .sub-mess span {
  color: #DB0066;
}
header:not(.exclusion) ul li.nav_type03 a:hover{
  color: #1E1E1E;
  background: #FFFFFF;
}
header:not(.exclusion) ul li.nav_type03.business a:hover{
  background: #FFF;
}
header:not(.exclusion) ul li.nav_type03 a img{
  max-width: 48px;
  margin: 0 auto 8px;
  display: block;
}

header:not(.exclusion) ul li.nav_type01:last-of-type a:first-child {
  flex-flow: column;
}
header:not(.exclusion) ul li.nav_type01:last-of-type a:first-child img {
  width: 40%;
  margin-bottom: 7px;
}
header:not(.exclusion) ul li.sp_nav_type03 a {
  position: relative;
}
header:not(.exclusion) ul li.sp_nav_type03 a:first-child img {
  position: absolute;
  width: 17px;
  top: 13px;
  left: 8px;
}
header:not(.exclusion) ul li.nav_type02 a:hover{
  background: #FFE000;
  color: #1E1E1E;
}
header:not(.exclusion) ul li.nav_type02 a:hover:first-child span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/nav_ico_on.svg) no-repeat left center;
  background-size: contain;
}
header:not(.exclusion) ul li.nav_type03{
  width: 137px;
}
header:not(.exclusion) ul li.nav_type03.business {
  width: 137px;
}
header:not(.exclusion) ul li.nav_type03.business.global {
  width: 160px;
}
header:not(.exclusion) ul li.nav_type03.business a {
  padding: 15px 0 5px;
  margin-top: 20px;
  color: #fff;
  font-weight: bold;
  position: relative;
  line-height: 1.2;
}
header:not(.exclusion) ul li.nav_type03.business.global a {
  color: #fff;
}
header:not(.exclusion) ul li.nav_type03.business a span {
  position: absolute;
  display: inline-block;
  top: -19%;
  left: 50%;
  transform: translateX(-50%);
  width: 85%;
  background-color: #ffeb00;
  color: #000000;
  padding: 2px 0;
  border-radius: 15px;
}
header:not(.exclusion) ul li.nav_type03.business:first-of-type {
  width: 155px;
}
header:not(.exclusion):not(.service-header.business) ul li.nav_type03.business:first-of-type a {
  background-color: #00BBAB;
}
header:not(.exclusion):not(.service-header.business) ul li.nav_type03.global a {
  background-color: #00BBAB;
  padding: 22px 0 16px;
}
header:not(.exclusion) ul li.nav_type03.business:last-of-type a {
  background-color: #026abd;
}
header:not(.exclusion) ul li.nav_type03 a,
header:not(.exclusion) ul li.nav_type03.business div{
  background: #FFE000;
  color: #1E1E1E;
  font-size: 1.7rem;
  font-weight: 900;
  line-height: 1.4;
  display: block;
  padding: 11px 0;
  border-left: solid 1px #505050;
  transition: .3s all;
  letter-spacing: 0.1em;
  margin: 10px 5px;
  border-radius: 0.75em;
}
header:not(.exclusion) ul li.nav_type03:first-of-type a{
  padding: 15px 0 5px;
  color: #FFFFFF;
  background-color: #026abd;
}
header:not(.exclusion) ul li.nav_type03.entry a{
  color: #fff;
}
header.service-header.business:not(.exclusion) ul li.nav_type03:first-of-type a{
  background-color: #e6006b;
}

.forbiz ul li.nav_type03 a {
  font-size: 1.4rem;
}
header:not(.exclusion) ul li.nav_type03.business div,
#application-menu-sp {
  position: absolute;
  transform: translateX(-50%);
  border: none;
  width: 264px;
  margin: 0;
  padding: 0;
}
header:not(.exclusion) ul li.nav_type03.business div a {
  border-radius: 0;
  border: none;
}
header:not(.exclusion) ul li.nav_type03  a:hover,
header:not(.exclusion) ul li.nav_type03.business  a:hover{
  color: #1E1E1E;
  background: #FFFFFF;
}
header:not(.exclusion) ul li.nav_type03 > a img{
  max-width: 48px;
  margin: 0 auto 8px;
  display: block;
}
@media screen and (min-width: 768px) {
  header:not(.exclusion):not(.service-header.business) ul li.nav_type03.request a{
    margin: 19px 0 0;
    padding: 27px 0 9px;
  }
  header:not(.exclusion):not(.service-header.business) ul li.nav_type03.request a .sub-mess{
    top: -12px;
  }
  header:not(.exclusion):not(.service-header.business) ul li.nav_type03.business a{
    font-size: 1.5rem;
  }
}
div.header-wrapper {
  max-width: 1100px;
  margin: 0 auto;
  height: 80px;
  text-align: center;
  position: relative;
  font-size: 1.2rem;
}
#application-button:hover {
  cursor: pointer;
}
#application-menu a {
  margin: 0;
  padding: 20px 0;
  font-size: 1.7rem;
  letter-spacing: 1px;
}
#application-menu > a img {
  width: 20px;
}
#application-menu a:first-of-type {
  border-bottom: 1px solid #000000;
  border-radius: 0.75em 0.75em 0 0;
}
#application-menu a:last-of-type {
  border-radius: 0 0 0.75em 0.75em;
}
#application-menu > a img {
  width: 9px;
  display: inline-block;
  vertical-align: bottom;
  transform: translateX(6px);
}

/* ホテル用動画、言語選択のヘッダー */
#independent_page header .inner,
#instruction_manual_language_page header .inner,
#twitter_page header .inner{
  height: 85px;
}
#independent_page header .logo,
#instruction_manual_language_page header .logo,
#twitter_page header .logo {
  width: 140px;
  padding: 24px 20px;
  display: flex;
  align-items: center;
  transform: unset;
}
#independent_page header .logo img,
#instruction_manual_language_page header .logo img,
#twitter_page header .logo img {
  width: 100%;
}
#independent_page .footer-menu.single-copy,
#instruction_manual_language_page .footer-menu.single-copy {
  position: absolute;
  bottom: 0px;
}
body#instruction_manual_language_page{
  position: relative;
  min-height: calc(100vh - 95px);
}
@media screen and (max-width: 767px) {
  #independent_page header .inner,
  #twitter_page header .inner{
    height: 84px;
  }
}

@media screen and (max-width: 767px) {
  header:not(.exclusion){
    display: block;
    height: 85px;
  }
  header:not(.exclusion) .logo,
  header:not(.exclusion) .logo-lp{
    width: 110px;
    padding: 24px 0;
    transform: translateX(20%);
  }
  .forbiz header:not(.exclusion) .logo {
    width: 85px;
    padding:30px 0;
    margin: 0 0 0 -5px;
  }
  header:not(.exclusion) ul {
    display: block;
    position: fixed;
    opacity: 1;
    z-index: 100;
    background: #1E1E1E;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    box-sizing: border-box;
    padding: 100px calc((100% - 300px) / 2) 110px;
  }
  header:not(.exclusion) ul.sp_nav{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    transform: scale(1,0.5);
    transition: .3s all;
    opacity: 0;
    visibility: hidden;
  }
  header:not(.exclusion) ul.sp_nav.clicked{
    transform: scale(1);
    opacity: 1;
    visibility: visible;
    overflow-y: scroll;
  }
  header:not(.exclusion) ul.pc_nav{
    display: none;
  }
  header:not(.exclusion) ul li{
    width: 48%;
  }
  header:not(.exclusion) ul li a{
    font-weight: 600;
  }
  header:not(.exclusion) ul li.sp_nav_type01,
  header:not(.exclusion) ul li.sp_nav_type02 {
    width: 48%;
    border-radius: 10px;
    line-height: 1;
  }
  header:not(.exclusion) ul li.sp_nav_type01 a,
  header:not(.exclusion) ul li.sp_nav_type02 a{
    color: #fff;
    padding: 15px 0 10px;
    display: block;
    width: auto;
  }

  header:not(.exclusion) ul li.sp_nav_type02 {
    width: 48%;
    line-height: 1;
    background: none;
    border-radius: 10px;
  }
  header:not(.exclusion) ul li.sp_nav_type02 a{
    padding: 13px 0;
    display: block;
  }
  header:not(.exclusion) ul li.sp_nav_type03 {
    border-bottom: solid 1px #FFFFFF;
    width: 48%;
    line-height: 1;
    background: none;
    border-radius: 0;
  }
  header:not(.exclusion) ul li.sp_nav_type03 a {
    display: block;
    text-align: left;
    padding: 25px 0 25px 5px;
    font-size: 1.4rem;
    height: 64px;
    box-sizing: border-box;
  }
  header:not(.exclusion) ul li.sp_nav_type03:nth-last-of-type(2) a {
    padding-left: 36px;
  }
  header:not(.exclusion) ul li.sp_nav_type04{
    border: solid 1px #FFFFFF;
    width: 48%;
    line-height: 1;
    background: none;
    border-radius: 10px;
    margin: -15px 0 0;
  }
  header:not(.exclusion) ul li.sp_nav_type04 a{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow04.svg) no-repeat 90% center #FFFFFF;
    background-size: 6px;
    color: #1E1E1E;
    padding: 20px 0;
    display: block;
  }

  /*SP メニューボタン*/
  #sp-menu {
    width: 28px;
    height: 28px;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999999;
    margin: 0;
    display: block;
    transition: .3s all;
  }
  #sp-menu.clicked {
    right: 30px;
  }
  #sp-menu span{
    position: absolute;
    width: 100%;
    height: 1px;
    border-radius: 10px;
    background-size: 100% 100%;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    left: 0;
    background: #FFFFFF;
  }
  #sp-menu span.top-border{
    top: 0;
  }
  #sp-menu span.middle-border{
    top: 14px;
    margin: 0;
  }
  #sp-menu span.bottom-border{
    top: 28px;
    margin: 0;
  }
  #sp-menu.clicked span.top-border{
    transform: rotate(-45deg);
    top: 15px;
  }
  #sp-menu.clicked span.middle-border{
    transform: rotate(45deg);
    top: 15px;
  }
  #sp-menu.clicked span.bottom-border{
    opacity: 0;
  }
  .sp_btn{
    position: absolute;
    right: 56px;
    top: 6px;
    display: flex;
    width: 45%;
    max-width: 190px;
    justify-content: space-between;
  }
  .sp_btn.btn_solo{
    top: 25px;
  }
  .sp_btn a{
    position: relative;
  }
  .sp_btn a,
  .sp_nav_type01 a,
  .sp_nav_type02 a{
    width: 90px;
    box-sizing: border-box;
    border-radius: 8px;
    color: #fff;
    padding: 12px 0 7px;
    margin: 7px 0 5px;
    display: block;
    text-align: center;
    background-color: #00BBAB;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 2rem;
  }
  .sp_btn a:nth-of-type(1),
  .sp_nav_type02 a {
    border: solid 1px #DB0066;
    background: #DB0066;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 900;
  }
  .sp_btn a:nth-of-type(1) img,
  .sp_nav_type02 img {
    width: 37%;
    display: block;
    margin: 0 auto 4px;
  }
  header:not(.exclusion) ul li.sp_nav_type01 a,
  header:not(.exclusion) ul li.sp_nav_type02 a {
    height: 70px;
    font-size: 1.7rem;
    line-height: 1.3;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
  }
  header:not(.exclusion) ul li{
    position: relative;
  }
  .sp_nav_type01 a{
    background: #00BBAB;
  }
  
  a span.sub-mess{
    width: 90%;
    text-align: center;
    font-size: 1.4rem;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,0%);
    padding: 3px;
    border-radius: 100vh;
    background-color: #FFF;
    color: #000;
  }
  a span.sub-mess > span{
    color: #DB0066;
  }
  .sp_nav_type01 a span.sub-mess{
    background: #FFE000;
    color: #000;
  }
  .sp_btn a{
    padding: 15px 0 3px;
    margin: 12px 0 0;
  }
  .sp_btn a span.sub-mess{
    top: 2px;
    font-size: 1.2rem;
    transform: translate(-50%,-50%);
  }
  .sp_btn a:nth-of-type(2) span.sub-mess{
    background: #FFE000;
    color: #000;
    padding-left: 6px;
    padding-right: 0;
  }
  .sp_btn a:first-of-type{
    padding: 24px 0 0;
    margin: 11px 0 0;
  }
  header:not(.exclusion) ul li.sp_nav_type01 a{
    color: #FFFFFF;
    padding-top: 25px;
  }
  header:not(.exclusion) ul li.sp_nav_bond {
    width: 100%;
    margin-bottom: 20px;
  }
  .sp_nav_type02 img {
    width: 5rem;
  }
  header:not(.exclusion) ul li.sp_nav_type04{
    width: 60%;
    margin: 15px auto auto;
    border: none;
  }
  header:not(.exclusion) ul li.sp_nav_type04 a{
    padding: 6px 0 6px;
    font-weight: bold;
    font-size: 1.4rem;
    color: #FFF;
    line-height: 1.3;
    background: rgb(119,119,119);
    background: linear-gradient(125deg, rgba(119,119,119,1) 0%, rgba(119,119,119,1) 79%, rgba(255,224,0,1) 80%, rgba(255,224,0,1) 85%, rgba(2,106,189,1) 85%, rgba(2,106,189,1) 100%)             
  }
  .sp_nav_bond img {
    width: 80%;
  }
  #application-menu-sp {
    width: 217px;
    transform: translateX(50%);
    filter: drop-shadow(4px 4px 4px rgb(0,0,0,20%));
    background: #FFE000;
    border-radius: 8px;
    right: 107px;
    top: 85px;
  }
  #application-menu-sp a {
    width: 100%;
    padding: 12px 0;
    border-radius: 0;
    background: none;
    margin: 5px 0;
  }
  #application-menu-sp img,
  ul.sp_nav li.sp_nav_bond #application-menu-sp2 img {
    width: 4%;
    display: inline-block;
    vertical-align: text-top;
    transform: translateX(5px);
  }
  #application-menu-sp a:first-of-type {
    border-bottom: 1px solid #000000;
  }
  header.business:not(.exclusion) ul li.sp_nav_type03 {
    transform: translateY(-10px);
    margin-bottom: 10px;
  }
  li.sp_nav_bond.sp_nav_type02 {
    transform: translateY(-20px);
  }
  header.business:not(.exclusion) ul {
    padding: 23% 8% 17%;
  }
  li.sp_nav_bond.sp_nav_type02 a {
    background: none;
    border: none;
    border-radius: 0;
  }
  li.sp_nav_bond.sp_nav_type02 {
    background-color: #ffe000;
  }
  li.sp_nav_bond.sp_nav_type02 a:first-of-type {
    border-bottom: 1px solid #000000;
  }
  header:not(.exclusion) ul li.sp_nav_type02 a {
    padding: 25px 0 10px;
  }
  .forbiz .sp_btn {
    width: 57%;
  }
  .forbiz .sp_btn a {
    position: relative;
    font-size: 1.2rem;
    width: 105px;
    margin: 12px 0 0px;
    color: #fff;
    line-height: 1.4;
    padding: 14px 0 5px;
  }
  .forbiz .sp_btn a span:first-of-type {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    background-color: #ffeb00;
    border-radius: 10px;
    padding: 4px 6px 2px;
    font-size: 95%;
    color: #000000;
    line-height: 1;
  }
  .forbiz .sp_btn a:first-of-type {
    background-color: #e6006b;
  }
  .forbiz .sp_btn a:last-of-type {
    background-color: #026abd;
    border: none;
  }
  .forbiz header ul li.sp_nav_type01,
  .forbiz header ul li.sp_nav_type02 {
    position: relative;
  }
  .forbiz header ul li.sp_nav_type01 span,
  .forbiz header ul li.sp_nav_type02 span {
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    font-size: 1.6rem;
    background-color: #ffeb00;
    padding: 4px 8px;
    border-radius: 16px;
    color: #000000;
  }
  .forbiz header ul li.sp_nav_type01 a,
  .forbiz header ul li.sp_nav_type02 a {
    font-size: 1.6rem;
    padding: 26px 0 12px;
    line-height: 1.4;
    border: none;
    color: #fff;
  }
  .forbiz header ul li.sp_nav_type02 {
    overflow: visible;
  }
  .forbiz header ul li.sp_nav_type01 a {
    background-color: #e6006b;
  }
  .forbiz header ul li.sp_nav_type02 a {
    background-color: #026abd;
  }

  .sp_btn a.request {
    border: solid 1px #ffe000;
    color: #1e1e1e;
    background: #ffe000;
    position: relative;
    padding: 13px 0 0;
  }
  .sp_btn a.request::before {
    content: "";
    border-top: 5px solid #fff;
    border-right: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid transparent;
    position: absolute;
    left: 50%;
    top: 15px;
    transform: translateX(-50%);
  }
  .sp_btn a.request .sub-mess {
    position: absolute;
    left: 50%;
    top: -5px;
    transform: translateX(-50%);
    background-color: #fff;
    width: 100%;
    padding: 3px 0;
    border-radius: 10px;
    font-size: 1.2rem;
  }
  .sp_btn a.request .sub-mess span {
    color: #ff0080;
  }
}
@media screen and (max-width: 400px) {
  .sp_btn a {
    width: 80px;
  }
  header:not(.exclusion) ul li.sp_nav_bond {
    margin-bottom: 30px;
  }
  li.sp_nav_bond.sp_nav_type02 {
    transform: translateY(0px);
  }
  header.business:not(.exclusion) ul {
    padding: 12% 8% 17%;
  }
  li.sp_nav_bond.sp_nav_type02 a {
    padding: 3px 0;
    font-size: 1.6rem;
  }
  ul.sp_nav li.sp_nav_bond #application-menu-sp2 img {
    width: 3%;
  }
}

/*-------------------------------------------
    Footer
-------------------------------------------*/
footer.top-footer div.footer-share {
  width: 100%;
  height: 175px;
  background-color: #646464;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer.top-footer div.footer-share-content {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffeb00;
}
div.footer-share-content div.sns-circle {
  width: 64px;
  height: 64px;
  border-radius: 32px;
  margin: 0 35px;
  position: relative;
}
div.footer-share-content div.sns-circle div.footer-sns-image {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 100%;
  height: 100%;
}
div.footer-share-text {
  font-size: 3.5rem;
  line-height: 55px;
}
div.footer-share-content div.sns-circle div.footer-sns-image.footer-sns-image-pos {
  opacity: 0;
}
div.footer-share-content div.sns-circle img.facebook-icon,
div.footer-share-content div.sns-circle img.twitter-icon{
  margin: auto;
  width: 100%;
}
footer.top-footer div.footer-share-content a {
  text-decoration: none;
}
div.sns-circle.active {
  transition: all 0.5s ease-out;
}
div.sns-circle.active div.footer-sns-image-neg {
  opacity: 0 !important;
  transition: all 0.5s ease-out;
}
div.sns-circle.active div.footer-sns-image-pos {
  opacity: 1 !important;
  transition: all 0.5s ease-out;
}
div.sns-circle.inactive {
  transition: all 0.5s ease-out;
}
div.sns-circle.inactive div.footer-sns-image-neg {
  opacity: 1 !important;
  transition: all 0.5s ease-out;
}
div.sns-circle.inactive div.footer-sns-image-pos {
  opacity: 0 !important;
  transition: all 0.5s ease-out;
}

@media screen and (max-width: 767px) {
  footer.top-footer div.footer-share {
    height: 120px;
  }
  div.footer-share-text {
    font-size: 2.0rem;
  }
  div.footer-share-content div.sns-circle {
    width: 40px;
    height: 40px;
    border-radius: 20px;
    margin: 0 20px;
  }
}
/*-------------------------------------------
    ページKV
-------------------------------------------*/

div.main {
  margin-top: 95px;
}
div.key-visual-inner-pc {
  margin: -1px auto;
  width: 100%;
  /* max-width: 1300px; */
  max-width: 1076px;
  position: relative;
}
div.main div.key-visual img {
  max-width: 100%;
  flex-shrink: 0;
  margin-bottom: -1px;
}
@media screen and (min-width: 767px){
  div.main div.key-visual {
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/kv-back-pc_t.png) center/cover #FFD701;
    text-align: center;
    margin-bottom: 0;
    position: relative;
    height: auto;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  div.main {
    margin-top: 80px;
  }
  div.main div.key-visual {
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/kv-back-sp_t.png) center/cover #FFDD00;
    position: relative;
    height: auto;
    overflow: hidden;
  }
}
/*-------------------------------------------
    セクション
-------------------------------------------*/

/*背景*/
section.other-first,
section.other-second,
section.other-second.guide,
section.other-third,
section.other-fourth,
section.other-fifth,
section.other-sixth,
section.other-seventh{
  background-color: #F3F3F3;
  background-repeat: no-repeat;
  padding: 110px 30px 40px;
  position: relative;
  z-index: 0;
}
section.other-first{
  padding: 0 30px 40px;
  overflow: hidden;
}
section.other-second,
section.other-second.guide{
  background-color: #E3E3E3;
}
section.other-fourth{
  background-color: #E3E3E3;
  padding: 50px 40px;
}
section.other-fifth{
  padding: 70px 0 40px;
}
section.other-sixth{
  background-color: #E3E3E3;
  padding: 70px 0 40px;
}
section.other-second.area-shrink,
section.other-third.area-shrink{
  padding: 140px 0 10px;
}
section.other-second.area-shrink{
  background-position: right -10px top -90px;
  background-size: 600px;
}
section.other-second.area-wide{
  padding: 110px 30px;
}
#reason.section-charcoal{
  background-image: none;
  background-color: #232323;
}
section.other-seventh{
  background-color: #E3E3E3;
}

/*タイムアウトページ*/
div.bg-plain-gray {
  background-color: #F3F3F3;
}

/*横の英語が次のセクションにかかる*/
section.other-first.over-title{
  background-position: left -10px top -90px;
}
section.other-first.over-title,
section.other-third.over-title{
  z-index: 7;
  overflow: initial;
  position: relative;
}
section.other-second.area-shrink.over-title,
section.other-second.over-title.last-title{
  z-index: 6;
  overflow: initial;
}
section.other-first.over-title .side-title,
section.other-second.area-shrink.over-title .side-title,
section.other-third.over-title .side-title{
  word-break: initial;
  height: max-content;
}

/*最後のセクションだったらはみ出た分は読ませない*/
section.other-first.over-title.last-title,
section.other-second.over-title.last-title{
  z-index: 3;
  overflow: hidden;
}
section.other-second.over-title.last-title .side-title{
  word-break: initial;
  height: max-content;
}

/*区切りの斜め線*/
.bg01,
.bg02,
.bg04,
.bg05,
.bg06,
.bg07,
.bg08,
.bg09,
.bg10{
  display: block;
  overflow-x: hidden;
  position: absolute;
  width: 100%;
  height: 10vw;
  top: -1px;
  left: 0;
  right: 0;
  z-index: 10;
}
.bg01{
  height: 6vw;
}
.bg02{
  top: 100%;
}
.bg06,
.bg10{
  top:0;
  z-index: 1;
}
.bg07{
  height: 6vw;
  z-index: 0;
}
.bg09{
  top: -50px;
}
.bg01::before,
.bg02::after,
.bg04::after,
.bg05::after,
.bg06::before,
.bg07::before,
.bg08::after,
.bg09::before,
.bg10::before{
  content: "";
  display: block;
  background: #f3f3f3;
  width: 120%;
  height: 5vw;
  box-shadow: 0 8px 8px rgb(0 0 0 / 20%);
  position: absolute;
  top: 0%;
  left: -10%;
  right: -10%;
  margin: auto;
  transform: rotate(2.5deg) translate(0,-45%);
}
.bg02::after,
.bg04::after,
.bg05::after,
.bg06::before,
.bg08::after,
.bg10::before{
  transform: rotate(-2.5deg) translate(0,-45%);
}
.bg05.reverse::after{
  transform: rotate(2.5deg) translate(0,-45%);
}

.bg05::after{
  background: #232323
}

.bg02::after,
.bg07::before,
.bg08::after,
.bg10::before{
  background: #e3e3e3;
}
.bg09::before{
  background-color: #464646;
  transform: rotate(3deg) translate(0%);
  height: 5vw;
}
.bg10::before{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/free-try-circle.svg) no-repeat;
  background-size: 96%;
  background-position: 105.1px 61.6%;
}

/*横の英語*/
.side-title{
  z-index: -1;
  position: absolute;
  filter: blur(0.5px) brightness(105%) ;
  writing-mode: vertical-rl;
  font-size:5.5em;
  font-weight: bolder;
  text-orientation: mixed;
  -webkit-text-orientation: sideways;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #ffff00;
  -webkit-text-fill-color: transparent;
  letter-spacing: 1.05rem;
  word-break: break-all;
  line-height: 1.05em;
  overflow: hidden;
  font-family: sans-serif;
}
.side-title.left{
  left: -3px;
  top: 110px;
}

.side-title.left.guide{
  top: 18px;
}
.side-title.right{
  right: 0px;
  top: 107px;
}

@media screen and (max-width:1440px) and (min-width:768px){
  .bg09 {
    top: -30px;
  }
  .bg09::before{
    height: 6.5vw;
  }
}

@media screen and (max-width: 767px) {
  section.other-first{
    padding: 0 0 50px;
    position: relative;
    overflow: hidden;
    z-index: 1;
  }
  section.other-first.guide{
    padding: 0 0 30px;
  }
  section.other-second,
  section.other-second.area-shrink{
    padding: 50px 0 50px;
    position: relative;
    z-index: 1;
  }
  section.other-second.area-shrink{
    z-index: 0;
  }
  section.other-second.area-wide{
    padding: 50px 0px 150px;
  }

  section.other-second.guide{
    padding: 30px 0 50px;
  }
  section.other-third{
    padding: 20px 0 50px;
    position: relative;
    z-index: 1;
  }
  section.other-fourth{
    padding: 5px 0 50px;
  }
  section.other-fifth{
    padding: 5px 0 50px;
    overflow: hidden;
  }
  section.other-sixth{
    padding: 5px 0 50px;
    overflow: hidden;
  }
  section.other-seventh{
    background-size: 65%;
    padding: 70px 0 50px;
    position: relative;
    z-index: 0;
  }
  section.other-second.area-shrink,
  section.other-third.area-shrink{
    padding: 100px 0 70px;
  }
  section.other-first.over-title{
    background-position: left top;
  }
  #reason.section-charcoal{
    padding: 2em 0 2em;
  }
  .bg01 {
    height: 10vw;
  }
  .bg01::before,
  .bg02::after {
    content: "";
    display: block;
    background: #f3f3f3;
    width: 120%;
    height: 5vw;
    box-shadow: 0 8px 8px rgb(0 0 0 / 10%);
    position: absolute;
    top: 0%;
    left: -10%;
    right: -10%;
    margin: auto;
    transform: rotate(2.5deg) translate(0,-45%);
  }
  .bg02::after {
    background: #e3e3e3;
    box-shadow: 0 8px 8px rgb(0 0 0 / 20%);
    transform: rotate(-2.5deg) translate(0,-45%);
  }
  .bg07 {
    z-index: 1;
  }
  .bg09{
    top: -10px;
  }
  .bg10::before{
    content: "";
    display: block;
    background: #e3e3e3;
    width: 120%;
    height: 5vw;
    box-shadow: 0 8px 8px rgb(0 0 0 / 20%);
    position: absolute;
    top: 0;
    left: -10%;
    right: -10%;
    margin: auto;
    transform: rotate(-2.5deg) translate(0,-45%);
    background: #ffd700;
  }
  .side-title{
    font-size:5.5em;
    filter: blur(1px);
  }
  .side-title.left{
    left: -10px;
  }
  .side-title.right{
    right: 0px;
  }
  div.white-content-box-v2-inner {
    z-index: 1;
    position: relative;
  }
  .other-first.guide div.white-content-box-body,
  .other-second.guide div.white-content-box-body,
  .other-third.guide div.white-content-box-body {
    padding: 0;
  }
  section.other-second.guide.area-shrink,
  section.other-third.guide.area-shrink {
    padding: 50px 0;
  }
  .other-second.guide div.white-content-box-title {
    padding-top: 0px;
    margin-top: 0px;
  }
}

/*-------------------------------------------
    新サブスク各セクションタイトル 2024/09~
-------------------------------------------*/

.default-main-titl {
  text-align: center;
  font-weight: bold;
  padding-top: 30px;
}

.default-main-titl h2 {
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.2;
}

.default-main-titl h2 .pc-topborder {
  padding-top: 30px;
}
.default-main-titl h2 .topborder::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 15%;
  height: 8px;
  background-color: #ffc100;
}

.default-main-titl .titl-small {
  font-size: 2.5rem;
}

.default-main-titl p {
  font-size: 1.8rem;
  margin-top: 10px;
}

@media (min-width: 768px) and (max-width: 1280px) {
  .default-main-titl h2 {
    font-size: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .default-main-titl h2 {
    font-size: 2.8rem;
    line-height: 1.2;
    margin-top: 70px;
  }
  .default-main-titl h2 .pc-topborder {
    border-top: none;
  }
  .default-main-titl h2 .topborder::before {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 8px;
    background-color: #ffe000;
  }
  .default-main-titl h2 .sp-big-plan {
    font-size: 3.8rem;
  }
  #top .default-main-titl h2 {
    font-size: 2.5rem;
    line-height: 1.2;
  }
}


/*-------------------------------------------
  重要なお知らせ
-------------------------------------------*/
div.under-kv-notion {
  background-color: #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 16;
  position: relative;
}

div.under-kv-notion.under-kv-notion-border {
  border-top: 1px solid #aaa;
}

div.mypage-under-kv-notion {
  border-top: 20px solid #282828;
}

div.under-kv-notion-inner {
  width: auto;
}

div.under-kv-notion p.under-kv-notion-title {
  color: #ff6159;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: left;
  margin: 12px 0;
  padding: 0;
}

div.under-kv-notion p.under-kv-notion-title a {
  text-decoration:none;
  font-size: 1.8rem;
  color: #000000;
  display: flex;
  align-items: center;
}

.important-mark {
  width: 55px;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  div.under-kv-notion p.under-kv-notion-title a {
    text-decoration:none;
    font-size: 1.5rem;
    justify-content: center;
  }

  div.under-kv-notion {
    padding: 0 3%;
    justify-content: flex-start;
    justify-content: center;
  }

  div.under-kv-notion p.under-kv-notion-title {
    padding: 0;
    margin: 12px 0;
  }
}

/*-------------------------------------------
   コンテンツ
-------------------------------------------*/
div.content-box-inner{
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}
table#callcenter-table th:first-of-type{
width:120px;
}
table#callcenter-table th:nth-of-type(2),table#callcenter-table td:nth-of-type(1){
  width:180px;
  }
  table#callcenter-table th:nth-of-type(3),table#callcenter-table td:nth-of-type(2){
    width:250px;
    }

/*コンテンツインナー*/
div.white-content-box-inner{
  margin: 30px auto 0;
}
div.content-box-inner p{
  font-size: 1.6rem;
}
div.white-content-box-body {
  margin: 20px 0 0 0;
}
div.white-content-box-body p {
  line-height: 25px;
}

/* wimaxマイページ */
div.white-content-box-body.wimax {
  margin: 0;
}
div.white-content-box-body.wimax p {
  margin-top: 20px;
}
div.white-content-box-body.wimax p:first-child {
  margin-top: 10px;
}

/*2カラム*/
div.white-content-box-inner-flex {
  display: flex;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  margin: 20px 0;
}
.charm-main #feature-section-4 div.white-content-box-inner-flex,.device #device-section-2 div.white-content-box-inner-flex{
  justify-content: space-around;
}
div.white-content-box-inner-flex-left {
  width: 580px;
  height: auto;
}
div.white-content-box-inner-flex-left-width {
  width: 479px;
}
div.white-content-box-inner-flex-right {
  width: 335px;
  height: auto;
}

/*見出し*/
div.content-box-title p {
  font-size: 3.8rem;
  line-height: 40px;
  text-align: center;
  margin-bottom: 26px;
}

div.content-box-title-bottom0 p {
  font-size: 3.8rem;
  line-height: 40px;
  text-align: center;
  margin-bottom: 0px;
}
@media screen and (max-width:767px){
  div.content-box-inner{
    width: 100%;
    margin-top: 20px;
  }
  div.white-content-box-body {
    width: 100%;
  }
  div.white-content-box-inner-flex {
    margin: 0px;
  }
  .white-content-box-inner-flex-right p{
    position: relative;
    left: 38px;
  }
  div.white-content-box-title p {
    font-size: 2.0rem;
  }
  div.content-box-title p {
    font-size: 2.6rem;
    line-height: 30px;
    text-align: left;
  }
  div.content-box-title p.center{
    text-align: center;
  }
}



/*-------------------------------------------
    ボタン
-------------------------------------------*/

.btn_box02 a{
  background: #e6006b;
  width: 426px;
  display: block;
  margin: 0 auto;
  font-size: 1.8rem;
  font-weight: bold;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  position: relative;
  text-align: center;
  text-decoration: none;
}
.btn_box02 a::after{
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 70px;
  background: #1E1E1E;
  transition: .3s all;
}
.btn_box02 a:hover::after{
  width: 100%;
}
.btn_box02 a span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02.svg) no-repeat 386px center;
  background-size: 8px;
  display: block;
  padding: 25px 70px 27px 0;
  position: relative;
  z-index: 1;
}
.btn_box02.charm{
  margin-bottom: 30px;
}
.btn_box02.contract_cancel{
  padding-bottom: 40px;
}
.btn_box02.overseas{
  margin-top: 30px;
  margin-bottom: 30px;
}

/*黄色のグラデーションボタン*/
.btn-area02{
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
div.btn_box02.entry-button a{
  background: linear-gradient(to right, #FFC600, #FFE300);
  color: #000000;
  transition: 0.3s;
}
div.btn_box02.entry-button a:hover{
  color: #FFFFFF;
}

/*法人ページのボタンサイズ調整*/
.btn_box02_1 a{
  width:300px;
  font-size: 1.6rem;
}
.btn_box02_1 a span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02.svg) no-repeat 263px center;
  background-size: 8px;
}

/*ボタンの非活性化*/
div.decoration-button-area-disabled,
a.decoration-button-area-disabled {
  opacity: 0.5;
  pointer-events: none;
}
div.decoration-button-area {
  width: 200px;
  text-align: center;
}
div.decoration-button-area-submitted div.decoration-button {
  background: #FFEB00;
}
div.decoration-button-area-submitted  div.decoration-button div.text{
  color: black !important;
}
div.decoration-button-area-submitted  div.decoration-button::after {
  background: #FFEB00;
}
span.decoration-button-next {
  float: right;
}
span.decoration-button-back {
  float: left;
}
@media screen and (max-width: 767px) {
  .btn_box02 a{
    background: #e6006b;
    width: 280px;
    display: block;
    margin: 0 auto;
    font-size: 1.2rem;
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.02em;
    position: relative;
    text-align: center;
    text-decoration: none;
  }
  .btn_box02 a::after{
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 45px;
    background: #1E1E1E;
    transition: .3s all;
  }
  .btn_box02 a:hover::after{
    width: 100%;
  }
  .btn_box02 a span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02_t.png) no-repeat 255px center;
    background-size: 6px;
    display: block;
    padding: 20px 45px 20px 0;
    position: relative;
    z-index: 1;
  }
  .btn-area02{
    flex-direction: column;
    margin-top: 0;
  }
  .btn_box02_1 a span{
    margin-top: 35px;
  }

  div.decoration-button-area {
    width: 120px;
  }
  div.decoration-button-area div.decoration-button {
    height: 40px;
  }
  div.decoration-button-area div.decoration-button:after {
    height: 40px;
  }
  div.decoration-button-area div.decoration-button div.text{
    padding-top: 5px;
    letter-spacing: 0.4rem;
  }
  div.decoration-button-area div.decoration-button span.decoration-button-next {
    font-size: 0.8rem;
    padding-right: 15px;
  }
}

/*-------------------------------------------
    Share Button
-------------------------------------------*/
#share{
  background: #646464;
  padding: 70px 20px;
}
#share h2{
  font-size: 2.6rem;
  color: #FFFFFF;
  letter-spacing: 0.08em;
}
#share ul{
  text-align: center;
}
#share ul li{
  display: inline-block;
  vertical-align: middle;
  margin: 0 45px;
}
#share ul li a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 83px;
  height: 83px;
  border-radius: 100%;
  transition: .3s all;
}
#share ul li.fb a{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/fb_btn_on_t.png) center no-repeat #FFE400;
  background-size: 21px;
}
#share ul li.fb a:hover{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/fb_btn_on_t.png) center no-repeat #1E1E1E;
  background-size: 21px;
}
#share ul li.fb img{
  width: 21px;
  transition: .3s all;
}
#share ul li.fb:hover img{
  opacity: 0;
}
#share ul li.tw a{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/tw_btn_on_t.png) center no-repeat #FFE400;
  background-size: 41px;
}
#share ul li.tw a:hover{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/tw_btn_on_t.png) center no-repeat #1E1E1E;
  background-size: 41px;
}
#share ul li.tw img{
  width: 41px;
  transition: .3s all;
}
#share ul li.tw:hover img{
  opacity: 0;
}
@media screen and (max-width:767px){
  #share{
    padding: 40px 20px;
  }
  #share h2{
    font-size: 2rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  #share ul li{
    margin: 0 10px;
  }
  #share ul li a{
    width: 40px;
    height: 40px;
  }
  #share ul li.fb a,
  #share ul li.fb a:hover{
    background-size: 11px;
  }
  #share ul li.fb img{
    width: 11px;
  }
  #share ul li.tw a,
  #share ul li.tw a:hover{
    background-size: 20px;
  }
  #share ul li.tw img{
    width: 20px;
  }
}

/*-------------------------------------------
    Cv
-------------------------------------------*/
#cv{
  background: #FFE400;
  padding: 50px 20px 40px;
}
#cv dl{
  padding-left: 270px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  position: relative;
}
#cv dl.cr-cv{
  padding-left: 320px;
}
#cv dl::after{
  content: "";
  display: block;
  width: 203px;
  height: 287px;
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/footer-person_left.webp) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -68px;
  left: 0;
  z-index: 3;
}
#cv dl dt,
#cv dl dd{
  width: 345px;
}
#cv dl dt h3{
  font-size: 2.4rem;
  font-weight: 500;
  margin: 0 0 15px;
  letter-spacing: 0.06em;
}
#cv dl dt h3 div{
  display: flex;
  align-items: center;
}
#cv dl dt h3 div p:last-child{
  width: 80%;
}
#cv dl dt h3 img{
  width: 44px;
  vertical-align: middle;
  margin: -4px 8px 0 0;
}

#cv dl dt a{
  display: block;
  border-radius: 12px;
  background: #FFFFFF;
  text-align: center;
  padding: 25px 0;
  color: #251814;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-indent: -0.2em;
  transition: .3s all;
}
#cv dl dt a:hover{
  background: #1E1E1E;
  color: #FFE400;
}
#cv dl dt a span{
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat right -2px; */
  background-size: 25px;
  display: inline-block;
  vertical-align: middle;
  padding-right: 25px;
}
#cv dl dt a:hover span{
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_on_t.png) no-repeat right -2px; */
  background-size: 25px;
}
#cv dl dd{
  text-align: center;
}
#cv dl dd h3{
  font-size: 2.4rem;
  font-weight: 500;
  margin: 0 0 15px;
}
#cv dl dd h3 img{
  width: 44px;
  vertical-align: middle;
  margin: -4px 8px 0 0;
}
#cv dl dd a{
  display: block;
  border-radius: 12px;
  background: #FFE400;
  text-align: center;
  padding: 25px 0;
  color: #251814;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-indent: -0.2em;
  transition: .3s all;
}
#cv dl dd a:hover{
  background: #1E1E1E;
  color: #FFE400;
}
#cv dl dd a span{
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat right -2px; */
  background-size: 25px;
  display: inline-block;
  vertical-align: middle;
  padding-right: 25px;
}
#cv dl dd a:hover span{
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_on_t.png) no-repeat right -2px; */
  background-size: 25px;
}
@media screen and (max-width:767px){
  #cv{
    padding: 11px 8%;
    box-shadow: 0 6px 6px rgb(0 0 0 / 20%);
    position: relative;
  }
  #cv dl,
  #cv dl.cr-cv{
    padding-left: 35%;
    align-items: center;
  }

  #cv dl::after{
    width: 113px;
    height: 156px;
    bottom: -29px;
  }
  #cv dl dt{
    width: 100%;
  }
  #cv dl dt h3{
    font-size: 3.5vw;
    font-weight: 700;
    margin: 0 5px 10px;
  }
  #cv dl dt h3 img{
    width: 38px;
    margin: -2px 8px 0 0;
  }
  #cv dl dt a {
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat 100% center #FFFFFF;
    color: #251814;
    background-size: 25px;
    padding: 17px 0;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    text-indent: 0;
  }
  #cv dl dt a.sp{
    display: inline-block;
    vertical-align: middle;
    width: 45%;
    text-align: center;
    margin: 0;
  }
  #cv dl dt a.sp:last-child{
    margin-left: 1%;
  }
  #cv dl dt a span{
    padding: 0;
    background: none;
  }
  #cv dl dt a:hover span {
    background-size: 25px;
    background: none;
  }
  #cv dl dd{
    display: none;
  }
  #cv dl.cr-cv dt h3 div p:last-child{
    text-align: center;
  }
  .sp_btn.cr-entry{
    top: 12px;
  }
  .sp_btn.cr-entry a{
    padding: 18px 0;
    font-size: 1.2rem;
  }
}

@media screen and (max-width:320px){
  #cv dl dt h3{
    font-size: 3.3vw;
  }
}

/*-------------------------------------------
    Footer
-------------------------------------------*/
footer:not(.exclusion){
  background: #2C2C2C;
}
footer:not(.exclusion).footer-menu{
  padding: 80px 0 0;
}
footer:not(.exclusion) .inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
footer:not(.exclusion) .ft_logo{
  width: 345px;
}
footer:not(.exclusion) .ft_logo img{
  max-width: 175px;
}
footer:not(.exclusion) .ft_nav{
  width: calc(100% - 345px);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
footer:not(.exclusion) .ft_nav li a{
  color: #FFFFFF;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
footer:not(.exclusion) #copy{
  background: #090002;
  text-align: center;
  font-size: 1.1rem;
  color: #FFFFFF;
  padding: 30px 0;
  margin: 80px 0 0;
}
footer:not(.exclusion) #copy span{
  display: block;
  max-width: 1140px;
  margin: 0 auto;
  letter-spacing: 0.06em;
  padding-right: 0px;
}
footer:not(.exclusion) ul{
  padding-inline-start: 0;
}
footer:not(.exclusion) ul li{
  list-style: none;
}
div.guide-nav-icons{
  padding: 15px 0 0;
}
@media screen and (max-width: 767px) {
  footer:not(.exclusion).footer-menu{
    padding: 45px 0 0;
  }
  footer:not(.exclusion) .inner {
    display: block;
  }
  footer:not(.exclusion) .ft_logo{
    width: 100%;
    text-align: center;
  }
  footer:not(.exclusion) .ft_logo img{
    margin: 0 auto 40px;
  }
  footer:not(.exclusion) .ft_nav{
    width: 100%;
    box-sizing: border-box;
    padding: 0 8%;
    flex-wrap: wrap;
  }
  /* footer:not(.exclusion) .ft_nav ul:nth-of-type(1){
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 20px;
  }
  footer:not(.exclusion) .ft_nav ul:nth-of-type(1) li a span.centering {
    display: inline-block;
    position: relative;
    width: 140px;
    transform: translateX(-50%);
    left: 50%;
  }
  footer:not(.exclusion) .ft_nav ul:nth-of-type(2),
  footer:not(.exclusion) .ft_nav ul:nth-of-type(3){
    width: 100%;
    display: block;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 0;
  }
  footer:not(.exclusion) .ft_nav ul:nth-of-type(1) li a,
  footer:not(.exclusion) .ft_nav ul:nth-of-type(2) li a,
  footer:not(.exclusion) .ft_nav ul:nth-of-type(3) li a{
    padding: 20px 0;
    border-top: solid 1px #909090;
    display: block;
    font-size: 1.2rem;
  }
  footer:not(.exclusion) .ft_nav li a{
    font-size: 2.5vw;
    line-height: 1;
  } */
  footer:not(.exclusion) #copy{
    font-size: 1rem;
    padding: 20px 8%;
    margin: 60px 0 0;
  }
}

/*-------------------------------------------
    レイアウト調整用
-------------------------------------------*/
/*PC・SPでの表示切り替え*/
@media screen and (min-width: 768px) {
  /*PC表示*/
  .pc,
  div.div-pc,
  img.div-pc,
  span.pc_dot,
  table.overseas-plan-table .overseas-table-pc,
  #cv dl dt a.pc,
  span.pc_br,
  .overseas-table-unselected{
    display: "";
  }

  /*SP非表示*/
  .sp,
  div.div-sp,
  img.div-sp,
  span.sp_br,
  .sp_btn,
  #sp-menu,
  #cv dl dt a.sp,
  table.overseas-plan-table .overseas-table-sp,
  img.img-mv-sp{
    display: none;
  }
}

@media screen and (max-width: 767px) {
  /*PC非表示*/
  .pc,
  div.div-pc,
  img.div-pc,
  span.pc_dot,
  table.overseas-plan-table .overseas-table-pc,
  span.pc_br,
  #cv dl dt a.pc,
  .overseas-table-unselected,
  img.img-mv{
    display: none;
  }

  /*SP表示*/
  .sp,
  div.div-sp,
  img.div-sp,
  span.sp_br,
  #sp-menu,
  .sp_btn,
  #cv dl dt a.sp,
  table.overseas-plan-table .overseas-table-sp,
  img.img-mv-sp{
    display: "";
  }
  img.div-sp {
    height: auto;
  }
}

/*サービスサイトのコンテンツ余白調整*/
.content-box-inner.empty-top,
.section-container.empty-top{
  margin-top: 50px;
}

div.empty-area {
  height: 10px;
}
div.white-content-box-bottom-padding {
  padding-bottom: 30px;
}
h2.style-reset,
h3.style-reset{
    margin: 0;
    position: relative;
}
div.content-box-title-space{
  margin-top: 50px
}
.margin-bottom-less{
  margin-bottom: 0;
}
@media screen and (min-width: 768px){

  div.empty-lp-area {
    margin-top: -100px;
  }
  .btn-up{
    margin-top: -110px;
  }
}

@media screen and (max-width: 767px){
  div.white-content-box-inner > h2 p{
    margin-bottom: 0px;
  }
  .content-box-inner.empty-top,
  .section-container.empty-top{
    margin-top: 30px;
  }
}

/*レイアウトの変更*/
div.white-content-box-sub-title p.title-left{
  text-align: left;
}
span.marker-yellow{
  display: inline-block;
  background:#FFEB00;
  padding: 0.1em;
}

/*画像のドロップシャドウ*/
.img-shadow img{
  filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, .2));
  transform: translateZ(0);
}

/*画像をシャープにする*/
.img-sharp{
  image-rendering: -webkit-optimize-contrast;
}

.br-height {
  display: block;
  line-height: 1.6;
  margin-top: 5px;
}

/*お申し込みボタン 追従 start*/
#entry_fix {
  width: 62px;
  position: fixed;
  right: 0;
  top: 96px;
  z-index: 10000000;
  transition: .3s all;
  visibility: hidden;
  opacity: 0;
  cursor: pointer;
}
#entry_fix.show{
  visibility: visible;
  opacity: 1;
}
#entry_fix div.price-fix-box{
  height: 90.4vh;
  height: -webkit-calc(100vh - 96px);
  height: calc(100vh - 96px);
  letter-spacing: 0.3em;
  filter: drop-shadow(-8px 8px 8px rgb(0,0,0,20%));
  transform: translateZ(0);
  font-size: 0.3vh;
}
#entry_fix div.price-fix-box a{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 33.33333%;
  height: -webkit-calc(100% / 3);
  height: calc(100% / 3);
}
#entry_fix div.price-fix-box a.price-fix-entry{
  background-color: #e6006b;
  position: relative;
}
#entry_fix div.price-fix-box a.price-fix-entry-corp{
  background-color: #e6006b;
  position: relative;
}
#entry_fix div.price-fix-box a.price-fix-entry-corp p {
  padding-top: 15px;
}
#entry_fix div.price-fix-box a.price-fix-corp-entry{
  background: linear-gradient(#fffa00, #ffb100);
}
#entry_fix div.price-fix-box a.price-fix-corp-entry p{
  color: #000000;
}
#entry_fix div.price-fix-box a.price-fix-corp-inquiry{
  background: linear-gradient(#fffa00, #ffb100);
}
#entry_fix div.price-fix-box a.price-fix-corp-inquiry p{
  color: #000000;
}
#entry_fix div.price-fix-box a.price-fix-faq{
  background: #666666;
}
#entry_fix div.price-fix-box a.price-fix-corp-estimate{
  background: #666666;
}
#entry_fix div.price-fix-box a div{
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  font-weight: bold;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
#entry_fix img.price-fix-hint{
  width: 80px;
  position: fixed;
  left: 0;
  top: 46%;
  box-shadow: 8px 8px 8px rgb(0 0 0 / 20%);
}
img.follow-five-minutes, #top img.follow-five-minutes{
  position: absolute;
  top: 6px;
  left: 0;
  max-width: unset;
  height: 7.2vh;
  transform: translateX(-50%);
}
img.follow-five-minutes-business{
  position: absolute;
  top: 6px;
  left: 0;
  max-width: unset;
  height: 7.2vh;
  transform: translateX(-50%);
}
.follow-question{
  width: 15px;
  margin-bottom: 0.3vh;
}
#entry_fix div.price-fix-box p {
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
#entry_fix div.price-fix-box-corp p {
  font-size: 1.7rem;
}
.price-fix-entry-parentheses {
  letter-spacing: -0.2em;
}

@media screen and (max-width: 767px) {
  #entry_fix {
    width: 100%;
    height: 45px;
    position: fixed;
    right: 0;
    bottom: 0;
    top: auto;
    z-index: 10000000;
    transition: .3s all;
    visibility: hidden;
    opacity: 0;
    cursor: pointer;
  }
  #entry_fix div.price-fix-box {
    width: 100%;
    height: 100%;
    font-size: 1.5rem;
    letter-spacing: 0;
    display: flex;
    filter: drop-shadow(8px -8px 8px rgb(0,0,0,20%));
    transform: translateZ(0);
  }
  #entry_fix div.price-fix-box a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  #entry_fix img.price-fix-hint {
    position: fixed;
    right: 0;
    left: auto;
    width: 35px;
    top: 100px;
  }
  #entry_fix div.price-fix-box a div {
    -ms-writing-mode: unset;
    writing-mode: unset;
  }
  #entry_fix div.price-fix-box a div p {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #entry_fix div.price-fix-box a div p {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #entry_fix div.price-fix-box a div p .sp {
    font-size: 1.3rem;
    margin-left: 4px;
  }
  #entry_fix div.price-fix-box a.price-fix-entry {
    padding-left: 12%;
  }
  #entry_fix div.price-fix-box a.price-fix-entry p {
    padding-top: 0;
  }
  #entry_fix div.price-fix-box a.price-fix-entry-corp {
    padding-left: 14%;
  }
  #entry_fix div.price-fix-box a.price-fix-entry-corp p {
    padding-top: 0;
  }
  #entry_fix div.price-fix-box a.price-fix-faq {
    width: 70%;
  }
  #entry_fix div.price-fix-box a.price-fix-corp-inquiry {
    width: 70%;
    background: linear-gradient(to right, #fffa00, #ffb100);
  }
  #entry_fix div.price-fix-box a.price-fix-faq div p {
    font-size: 1.3rem;
  }
  #entry_fix div.price-fix-box a.price-fix-corp-estimate div p {
    font-size: 1.6rem;
  }
  #entry_fix div.price-fix-box a.price-fix-corp-entry {
    display: none;
  }
  #entry_fix div.price-fix-box a.price-fix-corp-estimate {
    display: none;
  }
  img.follow-five-minutes, #top img.follow-five-minutes {
    position: absolute;
    top: -20px;
    left: 5px;
    max-width: unset;
    width: 60px;
    transform: none;
    height: unset;
  }
  img.follow-five-minutes-business {
    position: absolute;
    top: -20px;
    left: 5px;
    max-width: unset;
    width: 60px;
    transform: none;
    height: unset;
  }
  .follow-question {
    width: 10px;
    margin-bottom: 0;
    margin-right: 6px;
  }
  #entry_fix div.price-fix-box p {
    font-size: 1.7rem;
  }
  .price-fix-entry-parentheses {
    letter-spacing: -0.5em;
  }
}
/*お申し込みボタン 追従 end*/

video {
  width: 100%;
}

/* 追従ボタン r2 */
#btn-chatbot {
  display: none;
}
#entry_fix .side-fixed-banner {
  --side-bn-base1: #1e1e1e;
  --side-bn-mark: #ffe000;
  --side-bn-icon-bg: #fffada;
  --side-bn-white: #fff;
  --side-bn-txt1: #fff;
  --side-bn-txt2: #fff;
  --side-bn-bg1: #1e1e1e;
  --side-bn-bg2: #666;
  position: fixed;
  top: 197px;
  right: 0;
  width: 60px;
  box-shadow: -3px 0 9px 0 rgba(0, 0, 0, .15);
  -webkit-tap-highlight-color: transparent;
}
.column_detail-h #entry_fix .side-fixed-banner,
#entry_fix.entry_fix-column .side-fixed-banner {
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.side-fixed-banner .btns {
  display: flex;
  flex-direction: column;
}
.side-fixed-banner .btns .btn-base .body {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--side-bn-txt1);
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  letter-spacing: .05em;
  writing-mode: vertical-rl;
  height: 240px;
  width: 100%;
  transition: all .3s;
}
.side-fixed-banner .btns .btn-base .body::before {
  display: block;
  color: var(--side-bn-mark);
  font-family: montserrat, sans-serif;
  font-size: 3rem;
  transform: rotate(-90deg);
  transition: all .3s;
}
.side-fixed-banner .btns .btn-hint .body {
  background: rgb(2,106,189);
  background: linear-gradient(145deg, rgba(2,106,189,1) 0%, rgba(2,106,189,1) 88%, rgba(255,224,0,1) 89%, rgba(255,224,0,1) 100%);
}
.side-fixed-banner .btns .btn-hint.giga-hint .body{
  background: var(--side-bn-bg1);
}

.side-fixed-banner .btns .btn-hint.giga-hint .body::before{
  content: '!';
  font-size: 2.7rem;
  font-style: normal;
  margin-bottom: 12px;
}
.side-fixed-banner .btns .btn-faq .body {
  background-color: var(--side-bn-bg2);
}


@media (min-width: 768px) {
  #faq-content .side-fixed-banner .btns .btn-faq .body {
    display: none;
  }
}
.side-fixed-banner .btns .btn-estimate .body {
  background-color: var(--side-bn-bg2);
  height: 280px;
}
.side-fixed-banner .btns .btn-hint .body::before {
  content: 'BIZ';
  font-weight: bold;
  font-style: italic;
  font-size: 1.7rem;
}
.side-fixed-banner .btns .btn-faq .body::before {
  content: '?';
  margin-bottom: 8px;
}
.side-fixed-banner .btns .btn-base .body:hover {
  color: var(--side-bn-bg1);
  background-color: var(--side-bn-mark);
}
.side-fixed-banner .btns .btn-base .body:hover::before {
  color: var(--side-bn-base1);
}

.side-fixed-banner .btns .btn-hint:first-of-type .body:hover,
.side-fixed-banner .btns .btn-hint:first-of-type .body:hover::before{
  color: #FFEB00;
}
.side-fixed-banner .btns .btn-hint.giga-hint .body:hover{
  background: #FFEB00;
  color: #000;
}
.side-fixed-banner .btns .btn-hint.giga-hint .body:hover::before{
  color: #000;
}

.side-fixed-banner .btns a:first-of-type img{
  margin-bottom: -2px;
}
@media (max-width: 767px) {
  #btn-chatbot {
    display: block;
    background-color: var(--side-bn-bg1);
    padding: 5px;
    box-sizing: border-box;
  }
  #entry_fix .side-fixed-banner {
    top: auto;
    bottom: 0;
    height: 56px;
    width: auto;
    box-shadow: 0 3px 9px 6px rgba(0, 0, 0, .1);
  }
  .side-fixed-banner .btns {
    display: flex;
    flex-direction: row;
  }
  .side-fixed-banner .btns .btn-base .body {
    font-size: 1.3rem;
    writing-mode: horizontal-tb;
    font-feature-settings: "palt";
    height: 56px;
  }
  .side-fixed-banner .btns .btn-hint .body {
    width: 40vw;
    background-color: var(--side-bn-bg2);
  }
  .side-fixed-banner .btns .btn-chat {
    width: 60vw;
  }
  .side-fixed-banner .btns .btn-chat .body {
    position: relative;
    color: var(--side-bn-bg1);
    text-align: center;
    max-width: 250px;
    height: 46px;
    margin: 0 auto;
    padding-right: 40px;
    background-color: var(--side-bn-white);
    border-radius: 50px;
    box-sizing: border-box;
  }
  .side-fixed-banner .btns .btn-estimate .body {
    width: 39vw;
  }
  .side-fixed-banner .btns .btn-base .body::before {
    transform: rotate(0deg);
  }
  .side-fixed-banner .btns .btn-hint .body::before {
    margin-bottom: 0;
    margin-right: 6px;
  }
  .side-fixed-banner .btns .btn-chat .body::after {
    position: absolute;
    right: 2px;
    display: block;
    content: '';
    width: 40px;
    height: 40px;
    margin-left: 6px;
    background-color: var(--side-bn-icon-bg);
    background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/chatbot-face.svg);
    background-size: contain;
    background-repeat: no-repeat;
    border: 1px solid var(--side-bn-bg1);
    border-radius: 50%;
  }
}

@media screen and (max-width: 767px) {
  #entry_fix div.price-fix-box a.price-fix-faq{
    background: #E5E5E5;
  }
  #entry_fix div.price-fix-box .price-fix-entry::before {
    content: "BIZ";
    font-size: 13px;
    color: #FFEB00;
    font-style: italic;
    font-weight: bold;
    width: 25px;
    height: 30px;
    position: absolute;
    top: 17px;
    left: 10px;
  }

  #entry_fix div.price-fix-box .price-fix-entry{
    background: linear-gradient(145deg, 
      rgba(2,106,189,1) 0%, 
      rgba(2,106,189,1) 88%, 
      rgba(255,224,0,1) 89%, 
      rgba(255,224,0,1) 100%);
  }
  #entry_fix div.price-fix-box.single-fix {
    justify-content: flex-end;
  }

  #entry_fix div.price-fix-box.column-fix .price-fix-entry::before {
    content: "";
    background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/error-button-top.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
  }

  #entry_fix div.price-fix-box.column-fix .price-fix-entry{
    background: #2c2c2c;
  }
  #entry_fix div.price-fix-box.column-fix .price-fix-entry.gb-btn{
    background: #00BBAB;
  }
  .js-slidedown-btn .btn-bg {
    width: 100%;
  }
  #entry_fix {
    width: 100%;
    height: 45px;
    position: fixed;
    right: 0;
    bottom: 0;
    top: auto;
    z-index: 10000000;
    transition: .3s all;
    visibility: hidden;
    opacity: 0;
    cursor: pointer;
  }
  #entry_fix div.price-fix-box {
    width: 100%;
    height: 100%;
    font-size: 1.5rem;
    letter-spacing: 0;
    display: flex;
    filter: drop-shadow(8px -8px 8px rgb(0,0,0,20%));
    transform: translateZ(0);
  }
  #entry_fix div.price-fix-box a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: 10px 10px 0 0;
  }
  #entry_fix img.price-fix-hint {
    position: fixed;
    right: 0;
    left: auto;
    width: 35px;
    top: 100px;
  }
  #entry_fix div.price-fix-box a div {
    -ms-writing-mode: unset;
    writing-mode: unset;
  }
  #entry_fix div.price-fix-box a div p {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #entry_fix div.price-fix-box a div p {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #entry_fix div.price-fix-box a div p .sp {
    font-size: 1.4rem;
    margin-left: 4px;
  }

  #entry_fix div.price-fix-box .price-fix-entry div {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFFFFF;
    font-weight: bold;
  }
  #entry_fix div.price-fix-box .price-fix-entry div {
    -ms-writing-mode: unset;
    writing-mode: unset;
  }
  #entry_fix div.price-fix-box .price-fix-entry div p {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #entry_fix div.price-fix-box .price-fix-entry div p {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #entry_fix div.price-fix-box .price-fix-entry div p .sp {
    font-size: 1.4rem;
    margin-left: 4px;
  }

  #entry_fix div.price-fix-box .price-fix-entry {
    padding-left: 0;
    width: 45%;
    display: flex;
    border-radius: 10px 10px 0 0;
  }
  #entry_fix div.price-fix-box .price-fix-entry div p {
    font-size: 1.3rem;
    letter-spacing: 1px;
    padding-left: 28px;
  }
  #entry_fix div.price-fix-box a.price-fix-faq {
    width: 55%;
  }
  #entry_fix div.price-fix-box a.price-fix-faq div p {
    font-size: 1.4rem;
    letter-spacing: 1px;
    position: relative;
    padding-left: 30px;
    color: #000;
  }
  #entry_fix div.price-fix-box a.price-fix-faq div p img {
    width: 68px;
    height: auto;
    position: absolute;
    left: -33px;
    top: -32px;
  }
  #entry_fix div.price-fix-box a.price-fix-corp-entry {
    display: none;
  }
  img.follow-five-minutes, #top img.follow-five-minutes {
    position: absolute;
    top: -20px;
    left: 5px;
    max-width: unset;
    width: 60px;
    transform: none;
    height: unset;
  }
  .follow-question {
    width: 10px;
    margin-bottom: 0;
    margin-right: 6px;
  }
  #entry_fix div.price-fix-box p {
    font-size: 1.7rem;
  }
}
/*お申し込みボタン 追従 end*/
.column_detail-h .culumn-contents-img-width{
  width: 100%;
  height: 500px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .column_detail-h .culumn-contents-img-width{
    width: 100%;
    height: 220px;
    object-fit: cover;
  }
}
.side-fixed-banner.column-sd .btns a:first-of-type img{
  width: 80%;
  margin: 10%;
}
.side-fixed-banner.column-sd .btns .btn-base{
  height:190px;
  font-size: 2rem;
  background-color:#323232;
  transition: all .3s;
}
.side-fixed-banner.column-sd .btns .btn-base.gb-btn{
  background-color:#00BBAB;
}

.side-fixed-banner.column-sd .btns a .btn-base .column-sd-text{
  width: 100%;
  color: #fff;
  writing-mode: vertical-rl;
  letter-spacing: .05em;
  text-align: center;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin: 10px 0 0 0;
}

.side-fixed-banner.column-sd .btns .btn-base.gb-btn .column-sd-text {
  color: #000;
}

/* key-visualサイズ調整*/
@media screen and (min-width: 768px) {
  .key-visual.guide-vis img,
  .key-visual.anshin-vis img{
    max-height: 450px;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .key-visual.guide-vis img,
  .key-visual.anshin-vis img{
    width: 100%;
  }
}
@media screen and (min-width: 1281px){
  #feature-section-3 .white-content-box-body.charm-content p{
    width: 91%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px){
  #device-section-2 .img-small-sp{
    width: 175px;
    margin: -20px auto 0px auto;
  }
}
.charm-main div.white-content-box-inner-flex-right,#device-section-2 div.white-content-box-inner-flex-right{
  width: auto;
}
#device-section-1 .device-introduction p{
  position: relative;
  font-size: 1.2rem;
  z-index: 11;
}

/*サイトリニューアル KV比率変更*/
h1 .key-visual{
  font-size: 0;
}

.div-sp,
.img-mv-sp{
  margin-bottom: -1px;
}

/*------------------------------------------------
旧フッター
------------------------------------------------*/
/*TODO：差し替え時に削除↓*/

/* Mypage footer  */
footer.mypage-footer{
  padding: 0;
}
div.mypage-footer-main{
  width: 100%;
  height: auto;
  text-align: center;
  background-color: #000;
  color: white;
  bottom: 0;
  font-size: 12px;
  padding: 7px 0;
  display: flex;
  justify-content: left;
}
@media (max-width: 767px) {
  div.mypage-footer-main .wrapper {
    width: 100%;
    padding: 0px;
  }
}
div.mypage-footer-main .wrapper {
  width: 100%;
  max-width: 1170px;
  text-align: left;
  margin: 0 auto;
}
div.mypage-footer-main ul {
  list-style: none;
  text-align: left;
  margin: 15px 0;
}
div.mypage-footer-main ul li {
  display: inline-block;
  font-size: 12px;
  margin: 0 15px;
  text-decoration: none;
}
div.mypage-footer-main ul li:first-child {
  margin-left: 0;
}
div.mypage-footer-main a {
  text-decoration: none;
  color: white;
}
div.mypage-footer-main ul li{
  display: inline-block;
  font-size: 12px;
  margin: 0 15px;
  text-decoration: none;
}
@media (max-width: 767px) {
  div.mypage-footer-main ul {
    list-style: none;
    text-align: center;
    margin: 15px 0;
  }
  div.mypage-footer-main ul li.mypage-footer-copyright {
    display: none;
  }
}
div.mypage-footer-main ul li.mypage-footer-copyright{
  float: right;
}
div.mypage-footer-main .mypage-footer-copyright-sp{
  display: none;
  text-align: center;
  font-weight: normal;
  margin-bottom: 15px;
}
div.mypage-footer-main ul.openhouse-footer{
  display: flex;
  justify-content: flex-start;
  margin: 15px auto 15px 0;
  max-width: 750px;
}
div.mypage-footer-main ul.openhouse-footer ul.nest-list{
  display: flex;
  flex-direction: column;
  margin: 0 30px 0 0;
}
div.mypage-footer-main ul.nest-list li{
  letter-spacing: 0.1em;
  text-decoration: none;
}
ul.nest-list li a{
  margin: 0 0 0 1.5em;
}

ul.nest-list > li a::before{
  content: "▶";
  font-size: 0.8em;
  padding-right: 0.5em;
  vertical-align: center;
}
.mypage-footer-copyright.openhouse-copyright{
  margin: 15px 0 15px auto;
  max-width: 750px;
  text-align: center;
}
@media (max-width: 767px) {
  div.mypage-footer-main div.mypage-footer-copyright-sp {
    display: block;
  }
  div.mypage-footer-main ul.openhouse-footer{
    display: flex;
    flex-direction: column;
    margin: 15px 15px 15px 30px;
    max-width: 750px;
    text-align: left;
  }
  div.mypage-footer-main ul.openhouse-footer ul.nest-list{
    margin: 0;
    text-align: left;
  }
  div.mypage-footer-main ul.openhouse-footer > li{
    margin: 1.5em 0 0;
  }
}
/*********************/
/*mypage-footer*/
/*********************/
div.mypage-footer-main {
  width: 100%;
  height: auto;
  text-align: center;
  background-color: #000;
  color: white;
  bottom: 0;
  font-size: 12px;
  padding: 7px 0;
  display: flex;
  justify-content: left;
}
div.mypage-footer-main a {
  text-decoration: none;
  color: white;
}
div.mypage-footer-main .wrapper {
  width: 100%;
  max-width: 1170px;
  text-align: left;
  margin: 0 auto;
}
.wrapper.focus_top:focus-visible {
  outline: none;
}
.mypage-footer-main ul {
  list-style: none;
  text-align: left;
  margin: 15px 0;
}
div.mypage-footer-main ul li {
  display: inline-block;
  font-size: 12px;
  margin: 0 15px;
  text-decoration: none;
}
div.mypage-footer-main ul li:first-child {
  margin-left: 0;
}
div.mypage-footer-main ul li.mypage-footer-copyright {
  float: right;
}
div.mypage-footer-main .mypage-footer-copyright-sp {
  text-align: center;
  font-weight: normal;
  margin-bottom: 15px;
}
div.mypage-footer-main ul li.mypage-footer-copyright {
  display: "";
}
div.mypage-footer-main div.mypage-footer-copyright-sp {
  display: none;
}
@media (max-width: 767px) {
  div.mypage-footer-main ul {
    list-style: none;
    text-align: center;
  }
  div.mypage-footer-main ul li:first-child {
    margin-left: 15px;
  }
  div.mypage-footer-main ul li.mypage-footer-copyright {
    display: none;
  }
  div.mypage-footer-main div.mypage-footer-copyright-sp {
    display: block;
  }
  div.mypage-footer-main .wrapper {
    width: 100%;
    padding: 0px 4%;
  }
}
/*TODO：差し替え時に削除↑*/


/*------------------------------------------------
フッター変更
------------------------------------------------*/
/*申し込み*/
footer:not(.exclusion).footer-menu.footer-new{
  padding: 22px;
}
footer.footer-new .ft_nav ul.nest-list li{
  line-height: 1;
}
footer.footer-new .ft_nav ul.nest-list li a{
  display: inline-block;
  padding-bottom: 0;
  line-height: 1.5;
}
footer:not(.exclusion)#new-footer{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 5px 0;
  font-size: 1.2rem;
  color: white;
  background-color: #000;
}
#new-footer .wrapper{
  margin-left: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
}
#new-footer .wrapper ul{
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
}
#new-footer .wrapper ul li{
  margin: 0;
  padding: 0 1em;
  text-align: center;
}
#new-footer .wrapper ul li a{
  color: #FFFFFF;
}
#new-footer .wrapper ul li:not(:last-of-type){
  border-right: 2px solid #FFFFFF;
}
footer:not(.exclusion).footer-new #copy{
  line-height: 1;
}
footer:not(.exclusion).footer-new #copy span{
  display: block;
  max-width: 910px;
  margin: 0 auto;
  letter-spacing: 0.06em;
  padding-right: 0px;
}
/*TODO：オープンハウス差し替え時にコメント解除↓*/
/*
.wrapper ul.openhouse-footer{
  display: flex;
  justify-content: flex-start;
  max-width: 750px;
  gap: 0.5rem 5rem;
}
.wrapper ul.openhouse-footer li{
  padding: 0;
}
ul.nest-list{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

ul.openhouse-footer ul.nest-list li{
  letter-spacing: 0.1em;
  text-decoration: none;
  text-align: left;
  border: none;
}
ul.openhouse-footer ul.nest-list li:not(:first-of-type){
  padding-left: 2.5rem;
}
ul.nest-list li a::before{
  content: "▶";
  font-size: 1rem;
  padding-right: 0.5em;
  vertical-align: center;
}
*/
/*TODO：オープンハウス差し替え時にコメント解除↑*/

@media screen and (max-width: 767px){
  #new-footer .wrapper{
    width: calc(100% - 115px);
    margin-left: 0;
  }
  #new-footer .wrapper ul{
    justify-content: center;
    row-gap: 1em;
    margin: 0 0 10px 35px;
  }
  #new-footer .wrapper ul li{
    padding: 0 0.5rem;
  }
  #new-footer .wrapper ul li:first-of-type{
    padding: 0 0.5rem 0 0;
  }
  #new-footer .wrapper ul li:nth-of-type(3){
    border: none;
  }
  #new-footer .wrapper small{
    margin-left: 3rem;
  }
  footer:not(.exclusion).footer-menu.footer-new{
    padding: 30px 0;
  }
  footer:not(.exclusion).footer-menu.footer-new .ft_logo img{
    margin: 0 auto;
  }
  footer:not(.exclusion).footer-menu.footer-new .ft_nav li{
    padding: 1.1rem 0 0;
  }
  footer:not(.exclusion).footer-menu.footer-new div.ft_nav ul li a{
    line-height: 1.5;
  }
  
  /*TODO：オープンハウス差し替え時にコメント解除↓*/
  /* .wrapper ul.openhouse-footer{
    flex-direction: column;
    align-items: stretch;
    gap: 1.8rem;
    margin: 2rem 0;
  }
  ul.openhouse-footer ul.nest-list li:not(:first-of-type){
    padding-left: 1.5rem;
  }
  ul.nest-list + li{
    text-align: left;
  }
  ul.openhouse-footer small{
    text-align: center;
  }   */
  /*TODO：オープンハウス差し替え時にコメント解除↑*/
}

/*Pマーク*/
.privacy-mark{
  box-sizing: initial;
  width: 75px;
  padding: calc(75px / 4);
}

.privacy-mark img{
  width: 100%;
  height: auto;
}

/* 反社規約 */
.mypage-global-confirm .leave-checkbox-box-desciption p.terms-social,
.leave-checkbox-box-desciption p.terms-social {
  text-indent: 0;
  margin: 20px 0;
}

/*--------------------------------------------------------------------------------
  旧　common.css end
----------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  旧　style.css start
----------------------------------------------------------------------------------*/

/*-------------------------------------------
    ページ内共通パーツ
-------------------------------------------*/

/*ページ内ナビ*/
.nav-area{
  background-color: #323232;
}
div.page-nav{
  max-width: 1100px;
  margin: auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  z-index: 2;
  padding: 0;
}

/*等分ナビ*/
.nav-link {
  border-right: 1px solid #909090;
  color: #FFFFFF;
  text-align: center;
  font-size: 12px;
  font-weight:normal;
  padding: 1.5em 0;
  text-decoration: none;
  width: calc((100% / 5) - 2px);
}
.nav-link.six{
  width: calc((100% / 6) - 2px);
  font-size: 10px;
}
.nav-link.four{
  width: calc((100% / 4) - 2px);
  font-size: 12px;
}
.nav-link.three{
  width: calc((100% / 3) - 2px);
  font-size: 12px;
}
.nav-link.two{
  width: calc((100% / 2) - 2px);
  font-size: 12px;
}
.nav-link:first-child{
  border-left: 1px solid #909090;
}
@media (max-width: 767px) {
  div.page-nav {
    flex-wrap: nowrap;
    align-items: stretch;
    min-height: 70px;
  }
  .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
    width: calc(100% / 5);
    box-sizing: border-box;
  }
  .nav-link.six {
    width: calc(100% / 6);
  }
  .nav-link.four {
    width: calc(100% / 4);
  }
  .nav-link.three {
    width: calc(100% / 3);
  }
  .nav-link.two {
    width: calc(100% / 2);
  }
}

/*パンくずリスト*/
.List-Item {
  display: inline-block;
  font-size: 1.0rem;
}
.List-Item:not(:last-child):after{
  content: '＞';
  padding: 0 5px;
  vertical-align: middle;
}
.List-Item-Link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  vertical-align: middle;
}
ul.List li a span{
  top: -5px;
}
ul.List li a span img{
  image-rendering: -webkit-optimize-contrast;/*画像をシャープにする*/
  width: 15px;
  height: 15px;
}

/*ページ内タイトル*/
div.content-box-title h1 p{
  font-weight: bold;
  margin-bottom: 30px;
}
div.content-box-title h1 p.seo-text{
  font-size: 24px;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .nav-link{
    font-size: 10px;
  }
  .nav-link:first-child{
    border-left: none;
  }
  .nav-link:last-child{
    border-right: none;
  }
  div.content-box-title h1 p{
    font-size: 2.6rem;
    line-height: 30px;
    text-align: left;
  }
  div.content-box-title h1 p.seo-text{
    font-size: 18px;
    margin-bottom: 0px;
  }
}

/*ページKV*/

/*料金・法人・デュアルスタイル・節約術の画像調整*/
div.main div#price-key-visual img{
  margin-bottom:-4px;
  image-rendering: -webkit-optimize-contrast;
}

/*法人のお客様*/
div.main div.key-visual.business{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/kv-back-business-2023-pc.png) center/cover #121212;
}

/*デュアルスタイル・節約術*/
div.main div.key-visual.dual-kv{
  background: rgb(148,182,255);
  background: linear-gradient(90deg, rgba(148,182,255,1) 0%, rgba(169,240,255,1) 64%, rgba(169,240,255,1) 100%);
  z-index: 5;
}

/*ホテルプラン解剖*/
div.main div.key-visual.hotel-plan{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/hotel-p-main.png) center/cover #121212;
}

@media screen and (max-width:767px){
  div.main div.key-visual.business{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/kv-back-business-sp_t.png) center/cover #121212;
  }
  div.main div.key-visual.hotel-plan{
    background:url(https://d1q08lkutgkcx2.cloudfront.net/image/hotel-p-main-sp.png) center/cover #121212;
  }
  div.main div.key-visual.dual-kv {
    background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/kv-sub-dual-sp-2.webp);
    background-size: cover;
    background-repeat: no-repeat;
  }
}

/*最短翌日発送の注意書き*/
div.white-content-box-contract-box div.guide-icon-box{
  position: relative;
}
div.white-content-box-contract-box div.guide-icon-box:first-child::before{
  content: '※';
  position: absolute;
  top: 140px;
  right: -35px;
  font-size: 1.8rem;
}
div.white-content-box-contract-box div.guide-icon-box:first-child::after{
  content: '※お申し込み内容に不備がない場合に限ります。';
  position: absolute;
  top: 180px;
  left: -36px;
  font-size: 1.2rem;
  width: 155%;
}
@media screen and (min-width: 768px){
  .charm-main .white-content-box-contract-box div.guide-icon-box:first-child::after{
    left: -50px;
    text-align: center;
  }
}
@media screen and (max-width: 767px){
  div.white-content-box-contract-box div.guide-icon-box:first-child::before{
    content: none;
  }
  div.white-content-box-contract-box div.guide-icon-box:first-child::after{
    top: auto;
    left: 30px;
    font-size: 1.0rem;
    width: 100%;
    bottom: -2px;
    transform: translateY(100%);
  }
}
@media screen and (min-width: 1281px){
  .charm-main .img-small-sp img{
    width: 180px;
  }
}
/*カテゴリーボックス*/
div.faq-nav-icons{
  padding: 30px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}


div.faq-nav-icons.faq-categories{
  gap: 20px;
  justify-content: space-between;
}
.nav-icon-box[category ="giga-bonus"]{
  display: none;
}
div.faq-nav-icons div.nav-box{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow03_t.png) no-repeat center 55px #FFFFFF;
  background-size: 14px;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.4;
  color: #000000;
  border-radius: 12px;
  height: 73px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 0px 0 15px;
  box-shadow: 0 0 15px rgb(0 0 0 / 20%);
  transition: .7s all;
  margin-bottom:20px;
}
div.faq-nav-icons.faq-categories div.nav-box {
  margin-bottom: 0;
}
div.faq-nav-icons div.genre-faq{
  border-radius: 0;
}
div.faq-nav-icons div.nav-box:hover,
div.faq-nav-icons div.faq-category-box-selected div.nav-box,
div.faq-nav-icons div.overseas-category-box-selected div.nav-box,
#faq ul li:hover{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow03_t.png) no-repeat center 55px #FFE000;
  background-size: 14px;
}
div.faq-nav-icon-box,
div.overseas-category-box{
  text-align: center;
  cursor: pointer;
  position: relative;
  margin: 20px 0;
  width: 13.5%;
}
div.faq-nav-icon-box{
  width: calc(33.33333% - 40px / 3);
  margin: 0;
}
div.overseas-category-box{
  width: 14.5%;
}
div.faq-category-box-selected div.sub-dir-nav-box {
  background-color:  #ffeb00 !important;
}

 #faq-section-1{
  margin-top:0px;
}

@media screen and (min-width:767px){
  div.faq-nav-icons div.nav-box.contract-cancel{
    width: 140px;
  }
}

@media screen and (max-width: 767px) {
  div.faq-nav-icons.faq-categories{
    gap: 20px;
  }
  div.nav-box-text p {
    font-size: 1.1rem;
  }
  div.faq-nav-icons {
    flex-wrap: wrap;
    padding-bottom: 0px;
    padding: 0;
    margin: 0;
  }
  div.faq-nav-icon-box{
    width: calc(50% - 10px);
  }
  div.faq-category-box:nth-of-type(4),
  div.faq-category-box:nth-of-type(5),
  div.faq-category-box:nth-of-type(6),
  div.faq-category-box:nth-of-type(7){
    width: 23.5%;
    margin: 2% 0 0;
    font-size: 1.1rem;
  }
  div.faq-category-box:nth-of-type(1),
  div.faq-category-box:nth-of-type(2),
  div.faq-category-box:nth-of-type(3),
  div.overseas-category-box{
    width: 32%;
    font-size: 1.1rem;
  }
  div.nav-icon-box {
    margin-bottom: 30px;
  }
  div.faq-nav-icons.faq-categories div.nav-icon-box {
    margin-bottom: 0;
    height: auto;
  }
  div.faq-nav-icons.faq-categories div.nav-icon-box p {
    line-height: 1.3;
  }
  div.faq-nav-icons.faq-categories div.nav-box {
    height: 75px;
  }
  div.faq-nav-icons div.nav-box{
    font-size: 1.1rem;
    margin-bottom:0;
  }
  div.sub-dir-nav-box:after {
    border-bottom: 25px solid transparent;
    border-left: 25px solid #ffeb00;
  }
  div.faq-category-box div.sub-dir-nav-box{
    width: 110px;
  }
}

/*テキスト横 アイコン*/
img.yellow-notion-icon{
  width: 2.0rem;
  height: 2.0rem;
  margin: 0 4px -6px 0;
}

/*注釈*/
div.white-content-box-sub-title-note p {
  font-size: 1.3rem;
  line-height: 3.0rem;
  text-align: right;
}
div.white-content-box-sub-title-note-right p {
  font-size: 1.3rem;
  line-height: 3.0rem;
  text-align: right;
  margin-right: 20px;
}

/*見出し上の小さい文字*/
h2 span.text-sub-title{
  font-size: .6em;
}
div.white-content-box-title{
  width: 100%;
  text-align: center;
  padding-top: 50px;
}
div.white-content-box-title{
  padding-top: 0px;
}
div.white-content-box-title-sub-dir {
  font-size: 3.5rem;
}
div.white-content-box-title-sub-dir p.sub-title {
  font-size: 2.0rem;
  font-weight: 500;
  margin-top: 10px;
}
div.white-content-box-sub-title p{
  font-size: 1.8rem;
  line-height: 3.0rem;
  font-weight: bold;
  text-align: center;
}
textarea {
  font-family : inherit;
  font-size : 100%;
}

@media screen and (max-width: 767px) {
  div.white-content-box-title{
    width: 100%;
    text-align: center;
    padding-top: 20px;
    margin-top: 30px;
  }
  div.white-content-box-title-sub-dir {
    margin-top: 30px;
    font-size: 3.5rem;
  }
  div.white-content-box-sub-title-note-right p {
    margin-right: 0px;
  }

  div.white-content-box-sub-title p {
    font-size: 1.5rem;
    line-height: 25px;
    text-align: left;
  }
}

/*-------------------------------------------
    Charm
-------------------------------------------*/
div.charm-head,
div.guide-head {
  display: flex;
  align-items: center;
  justify-content: center;
}
div.charm-head p.title-charm-number,
div.guide-head p.title-guide-number {
  font-size: 9.6rem;
  margin-right: 15px;
  margin-bottom: 0;
}
div.charm-head p.title-charm,
div.guide-head p.title-guide {
  text-align: left;
  line-height: 3.5rem;
  margin-bottom: 0;
}
div.charm-head p.title-charm.even-space,
div.guide-head p.title-guide.even-space {
  margin-bottom: 13px;
  line-height: 40px;
}
div.charm-head p.title-charm.baseline,
div.guide-head p.title-guide.baseline {
  margin-top: 12px;
}
p.title-charm-number-bottom{
  margin-bottom: 11px;
}
span.sub-title-charm{
  font-size: .6em;
}

div.white-content-box-inner-flex.charm-feature{
  justify-content: space-evenly;
  align-items: flex-start;
}
div.white-content-box-inner-flex.charm-feature img{
  width: 45%;
}

/*申し込みから受け取りまでの3ステップ*/
div.guide-icon-box {
  width: 220px;
  margin: 20px 0;
}
div.guide-icon-box img {
  height: 90%;
}
div.white-content-box-contract-box {
  width: 836px;
  margin: 30px auto;
  height: auto;
  display: flex;
  justify-content: space-between;
}
div.white-content-box-body.charm-content{
  margin: 30px 0;
}

@media screen and (max-width: 767px) {
  div.white-content-box-inner-flex.charm-feature{
    justify-content: space-between;
    width: 100%;
  }
  div.white-content-box-inner-flex.charm-feature img {
    margin: 0;
    width: calc(100% /2  - 5px);
  }

  div.white-content-box-contract-box {
    width: 100%;
    flex-direction: column;
    margin: auto;
  }
  div.img-small-sp {
    width: 230px;
    margin: 30px auto;
  }
  .charm-main .img-small-sp{
    width: 175px;
    margin: 0px auto;
  }
  div.img-small-sp img{
    width: 100%;
  }
  div.charm-head,
  div.guide-head {
    padding: 0;
  }
  div.charm-head p.title-charm-number,
  div.guide-head p.title-guide-number {
    font-size: 8.5rem;
    margin-right: 15px;
    margin-bottom: 5px;
  }
  div.charm-head p.title-charm,
  div.guide-head p.title-guide {
    text-align: left;
    line-height: 3.0rem;
    margin-bottom: 0;
  }
  div.charm-head p.title-charm.even-space,
  div.guide-head p.title-guide.even-space {
    margin-bottom: 9px;
    line-height: 35px;
  }
  div.charm-head p.title-charm.baseline,
  div.guide-head p.title-guide.baseline {
    margin-top: 9px;
  }
  span.sub-title-charm{
    font-size: 2.0rem;
  }
  span.charm-title-3-1 {
    font-size: 2.5rem;
  }
  div.white-content-box-body.charm-content{
    margin: 20px 0;
  }
  .charm-main div.white-content-box-inner {
    margin: 20px auto 0;
  }
  .charm-main .white-content-box-body.charm-content{
    margin: 10px 0 20px;
  }
  .charm-main div.white-content-box-body{
    padding: 0;
  }
  div.guide-icon-box {
    width: auto;
    margin: 0 0 20px 0;
  }
  div.guide-icon-box img {
    width: 100%;
  }
}

/*-------------------------------------------
    Price
-------------------------------------------*/

.banner-box{
  position: relative;
  margin: 120px auto 0;
}
.banner-box img{
  width: 100%;
}

.banner-box .btn_box02 {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
}
/*容量選びのヒント*/
div.price-capacity-hint-detail-oneday-limited{
  padding: 30px 0px;
}
div.price-capacity-tables-notice p {
  font-size: 1.1rem;
}
div.price-capacity-hint-area {
  width: 100%;
  height: 70px;
  color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: 30px;
}
div.price-capacity-hint-area p {
  font-size: 1.75rem;
}
div.price-capacity-tables-notice {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
div.price-capacity-tables-notice img {
  width: 50px;
  height: 50px;
  margin: 0 10px;
}
div.price-capacity-margin {
  margin-top: 25px;
}
div.price-capacity-tables-notice-note {
  text-align: right;
  margin-top: -40px;
  font-size: 1.1rem;
}
div.hint-title{
  justify-content: center;
  align-items:baseline;
}
div.price-capacity-hint-area-title p{
  font-size: 5.2rem;
}
div.price-capacity-person-2 {
  position: absolute;
  right: 0;
  top: -40px;
  width: 140px;
}
div.price-oneday-person-adjust2{
  top: -190px;
  z-index: 3;
}
div.price-capacity-person-2 img {
  width: 100%;
}
div.price-capacity-table {
  box-sizing: border-box;
  width: 32%;
  height: auto;
}
div.price-capacity-tables-oneday-limited-adjust{
  margin: 10px 0 30px 0;
}
div.price-capacity-tables {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 30px 0 10px;
  position: relative;
}

/*おかわりギガ*/
.plan-title{
  margin-top: 50px;
}
.plan-okawari{
  flex-direction: row;
}
.text-okawari img{
  margin: 0 40px;
}
div.text-okawari p{
  font-size: 1.8rem;
  line-height: 3.0rem;
  font-weight: bold;
}
.ready-flex {
  display: flex;
  justify-content: right;
}
div.content-box-inner p.condo-in-preparation{
  text-align: right;
  margin-bottom: 30px;
  margin-top: 0;
  font-size: 1.1rem;
  line-height: 1.8;
  color: #808080;
  letter-spacing: 0.02rem;
}
.condo-in-preparation-price-pc{
  text-align: center;
  margin-top: 15px;
  display: inline-block;
  line-height: 1.5;
}
.condo-in-preparation-price-sp{
  display: none;
}
@media screen and (min-width: 768px) {
  .lp-price-page .price-capacity-table .div-pc{
    width: 100%;
  }
}
@media screen and (min-width: 1281px) {
  .lp-price-page .other-fourth .right-block{
    width: 57%;
    margin-bottom: 0;
  }
  .lp-price-page .plan-okawari img{
    margin: -3% 0 -3% -7%;
    width: 110%;
    max-width: 110%;
  }
}

/*端末あんしんオプション、海外プラン共通*/
.wrap-area{
  display: flex;
  justify-content: space-between;
  margin: 2em 0;
}
.wrap-area p{
  letter-spacing: 0.12em;
  line-height: 3.0rem;
}
.left-block{
  width: 62%;
  margin-right: 4%;
}
.right-block{
  width: 50%;
  margin-bottom: 10%;
}
div.price-option-person{
  max-width: 362px;
}
div.price-option-person img {
  width: 100%;
}
div.price-topping-2-body-left-text{
  margin-bottom: 2em;
  font-size: 1.8rem;
  line-height: 3.0rem;
  font-weight: bold;
}
div.price-topping-2-body-left-text .text-min{
    font-size: 1.5rem;
}
div.option-table ul.price-topping-2-body-left-ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
div.option-table ul.price-topping-2-body-left-ul li {
  width: 31%;
  padding: 15px 10px;
  box-sizing: border-box;
  text-align: center;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 15px;
}
div.option-table ul.price-topping-2-body-left-ul li .title{
  font-size: 1.5rem;
  line-height: 2.0rem;
  margin-bottom: 15px;
}
div.option-table ul.price-topping-2-body-left-ul li img{
  height: 40px;
  width: auto;
}
div.nav-icon-box a {
  text-decoration: none;
  color: #000000;
}
div.sub-dir-nav-box div.nav-box-number {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 90;
  font-size: 2.5rem;
}
div.sub-dir-nav-box div.nav-box-text {
  z-index: 1000;
}
div.guide-nav-icon-box div.sub-dir-nav-box div.nav-box-text {
  position: absolute;
  left: 40px;
}
.option-table{
  width: 50%;
}
div.price-topping-2-body-right-row {
  width: 100%;
}
div.faq-category-box div.nav-arrow-box{
  left: 67.5;
  bottom: -7px;
}

div.guide-nav-icon-box div.nav-arrow-box {
  left: 48%;
  bottom: -7px;
}
div.faq-nav-icon-box div.nav-arrow-box {
  left: 85px;
  bottom: -7px;
}
div.sub-dir-nav-box {
  position: relative;
  background-color: #FFFFFF;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: solid 1px #000000;
}
div.price-topping-2-body-right-row:last-child {
  border-bottom: solid 1px #000000;
}
div.price-topping-2-body-right-column {
  text-align: left;
  font-size: 1.3rem;
}
div.price-topping-2-body-right-column-remarks{
  padding: 0;
}
div.price-topping-2-body-right-column:last-child {
  box-sizing: border-box;
  width: 80%;
  border-left: solid 1px #000000;
  padding: 5px 7px;

}
div.price-topping-2-body-right-row p{
  letter-spacing: 0;
  font-size: 1.3rem;
  margin-bottom: 0;
}
ul.table-option{
  margin: 0;
  padding-left:1.5em;
  line-height: 1.5rem;
}
ul.table-option li{
  margin: 5px 0;
  line-height: 1.5em;
}

/*海外プラン*/
.overseas-area{
  width: 80%;
}
.overseas-image{
  margin: auto;
  width: 100%;
}
.overseas-image img{
  width: 100%;
  margin: 2em auto;
}

@media screen and (min-width: 767px) {
  .plan-okawari img{
    width: 100%;
    margin-bottom:1em;
    position: relative;
    bottom: 130px;
  }
}
@media screen and (max-width: 767px) {
  .banner-box{
    margin: 80px auto 50px;
  }
  .banner-box .btn_box02 {
    position: absolute;
    bottom: 15px;
    left: -20%;
    transform: translateX(55%);
  }
  .banner-box .btn_box02 a{
    width: 220px;
  }
  .banner-box .btn_box02 a span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02_t.png) no-repeat 195px center;
    background-size: 6px;
  }
  div.price-capacity-hint-detail-oneday-limited{
    padding: 30px 1em;
  }
  div.price-capacity-hint-area {
    height: 90px;
    margin-top: 0;
    text-align: center;
  }
  div.hint-title{
    justify-content: center;
    align-items:baseline;
  }
  div.price-capacity-tables-notice img {
    width: 30px;
    height: 30px;
    margin: 0 5px;
  }
  div.price-capacity-tables-notice-note {
    text-align: right;
    margin-top: -10px;
  }
  div.price-capacity-margin {
    margin-top: 15px;
  }

  div.price-capacity-person-2{
    width:32%;
    top:-58px;
    right: -20px;
  }
  div.price-capacity-hint-area p{
    font-size: 2rem;
  }
  div.price-capacity-tables {
    flex-wrap: wrap;
    margin: 0;
  }
  div.price-capacity-table {
    width: 100%;
    margin: 10px 0;
    align-items: center;
  }

  div.price-capacity-table.pc-mb0 {
    margin-bottom: 10px;
  }
  div.price-capacity-table.pc-mb0:last-child{
    margin-bottom: 0;
  }

  .wrap-area{
    display: block;
    justify-content:initial;
    margin-top: 45px;
    margin-bottom: 50px;
    position: relative;
    z-index: 1;
  }
  .wrap-area p{
    letter-spacing: 0;

  }
  .left-block{
    width: auto;
    margin-right: 0%;
    margin-top: 1em;
    margin-bottom:2em ;
  }
  .left-block img{
    width: 80%;
  }
  .right-block{
    width: auto;
  }
  div.price-option-person{
    width: 60%;
    top: -190px;
    right: -10px;
    bottom: 0;
    z-index: -1;
   }
  div.price-option-person.maeda{
    top: 40px;
    right: -20px;
    bottom: 0;
    width: 50%;
    max-width: 230px;
    z-index: -1;
  }
  h2.text-title .okawari-person-image{
    width: 35%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
  .plan-okawari{
    display: flex;
    justify-content: space-between;
  }
  .plan-okawari img{
    width:30%;
  }
  .text-okawari{
    margin-bottom: 20px;
  }
  div.text-okawari p{
    font-size: 3.3vw;
    line-height: 2.0rem;
  }
  div.price-topping-2-body-right-column {
    font-size: 1.2rem;
  }
  div.price-topping-2-body-left-text{
    width: auto;
  }
    div.price-topping-2-body-left-text .text-min{
    font-size: 1.1rem;
}
    div.option-table ul.price-topping-2-body-left-ul li {
    width: 32%;
    padding: 10px 5px;
    margin-bottom: 10px;
}
    div.option-table ul.price-topping-2-body-left-ul li .title {
    font-size: 3vw;
}
    div.option-table ul.price-topping-2-body-left-ul li img {
    height: 30px;
    width: auto;
}

  div.price-topping-2-body-left-text p {
    font-size: 1.3rem;
    line-height: 2.0rem;
    width: auto;
  }
  .lp-price-page div.price-topping-2-body-left-text p{
    font-size: 1.6rem;
    line-height:1.7;
  }
  div.price-topping-2-body-right-row p{
    line-height: 1.6em;
    letter-spacing: 0;
    font-size: 1.2rem;
  }
  .option-table{
    width: 100%;
  }
  div.guide-nav-icon-box div.sub-dir-nav-box div.nav-box-icon1 img {
    height: 26px;
    margin-left: 13px;
    margin-top: 10px;
  }
  div.guide-nav-icon-box div.sub-dir-nav-box div.nav-box-icon2 img {
    height: 26px;
    margin-top: 10px;
    margin-left: 4px;
  }
  div.guide-nav-icon-box div.sub-dir-nav-box div.nav-box-icon3 img {
    height: 16px;
    margin-top: 16px;
    margin-left: 4px;
  }
}

/*********************/
/* Top */
/*******************/
@media screen and (min-width: 767px) {
  ul.table-option li{
    margin: 0;
    line-height: 1.5em;
  }

  .overseas-area{
    width: 100%;
  }
  .overseas-image img{
    margin: 0 auto 2em;
  }
}
/*-------------------------------------------
    DualStyle
-------------------------------------------*/
.dual-section{
  width: 980px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dual-section h3{
  width: 60%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
}
.dual-section .dualstyle-person{
  width: 45%;
}
.dual-section .dualstyle-person img{
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
}
.dualstyle{
  position: relative;
  padding-bottom: 30px;
  margin-top: -3px;
}
.dualstyle span img{
  width: 100px;
  position: absolute;
  top: -45px;
  right: -45px;
}

/*共通*/
.dual-para-title{
  position: relative;
  z-index: 1;
  margin: 0 auto;
  text-align: center;
  padding: 20px 0 25px;
  margin-bottom: 60px;
  color: #FFFFFF;
  font-size: 2.5rem;
  letter-spacing: 0.2rem;
}
.dual-para-title span{
  font-size: 4.0rem;
}
.dual-para-title::before{
  transform: skewX(-25deg);
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background: #FF00FF;
}
.dual-para-title::after{
  transform: skewX(-25deg);
  content: "";
  position: absolute;
  top: 5px;
  bottom: -5px;
  left: 5px;
  right: -5px;
  z-index: -2;
  background: #000000;
}
h2.dual-title{
  font-size: 3rem;
  letter-spacing: 3px;
  line-height: 5rem;
  text-align: center;
  margin: 0 0 60px;
}
h2.dual-title span{
  font-size: 5rem;
  font-weight: bold;
  padding: 0 3px;
  color: #FF00FF;
}
/*オススメ*/
.dual-recommend{
  width: 650px;
  margin-top: 90px;
  padding: 25px 0;
}
.dual-recommend-text p{
  position: relative;
  font-size: 3.0rem;
  font-weight: bold;
  text-align: left;
  background: #FFFFFF;
  border-radius: 2em;
  padding: 45px 80px;
  box-sizing: border-box;
  margin: 20px 0;
  height: 110px;
}
.dual-recommend-text p span{
  position: relative;
}
.dual-recommend-text p span::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  background: #FF0002;
  width: 100%;
  height: 3px;
}
.dual-recommend-text p img{
  position: absolute;
  bottom: 110px;
  width: 240px;
  z-index: 3;
}

/*3STEP*/
.dual-step{
  width: 650px;
}
.dual-step p{
  position: absolute;
  left: -110px;
  bottom: -42px;
  width: 200px;
}
.dual-step p img{
  width: 100%;
}
.dual-step img.cospa{
  width: 45%;
}
.steps{
  margin: 0;
}
.steps h2{
  margin: 0 auto 1em;
}

/*ZEUSのメリットいっぱい*/
.price-capacity-hint-area.other-merit{
  height: auto;
  margin: 50px auto 0;
  display: block;
}
.price-capacity-hint-area.other-merit p.merit{
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 15px;
  text-align: center;
  color: #000000;
}
section.section-charcoal.dual-charcoal{
  background: #E3E3E3;
  background-size: 410px;
  padding: 50px 20px 80px;
  z-index: 2;
  position: relative;
}
div.price-capacity-tables.dual-table-wrap{
  display: flex;
  flex-wrap: wrap;
  margin: 70px auto 0px;
  align-items: inherit;
}

.dual-table{
  width: 20%;
  padding: 3%;
  margin-bottom: 3%;
  background: #F7F5F5;
  display: flex;
  flex-direction: column;
}

.dual-table.pc-mb0{
  margin-bottom: 0;
}

div.price-capacity-table.dual-table img{
  width: 80%;
  margin: auto auto 0 auto;
}
div.price-capacity-table.dual-table img.small{
  width: 100%;
}
div.price-capacity-table.dual-table img.big{
  width: 45%;
}
.dual-table p{
  color: #000000;
  margin-bottom: 1em;
  text-align: center;
  font-size: 1.5rem;
}
p.title-yellow{
  color: #000000;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 3.0rem;
  margin-bottom: 0.5em;
}

/*お試し*/
section.other-fourth.dual-try{
  padding: 0;
  z-index: 2;
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/free-try-circle.svg) no-repeat #e6e6e6;
  background-size: 80%;
  background-position: -100% 50%;
}
.try-back{
  background:url(https://d1q08lkutgkcx2.cloudfront.net/image/free-try-giga2.svg) no-repeat;
  background-size: 17%;
  background-position: 83% 74%;
}
div.try{
  padding: 80px 0;
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/free-try_t.png) no-repeat; */
  background-size: 450px;
  background-position: 65% 100%;
  image-rendering: -webkit-optimize-contrast;
}
h2.try-title{
  font-size: 4em;
  line-height: 1.45em;
  margin-left: 2em;
  letter-spacing: 0.04em;
}
section.other-fourth.dual-try,
.try-back,
div.try{
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
span.under-line-thin-pink{
  background: linear-gradient(transparent 80%, #DB0066 0%);
}

/*余白調整*/
section.other-first.dual-end{
  padding-top: 80px;
}

@media screen and (max-width:1440px) and (min-width:768px){
  .dual-try-container{
    padding: 50px 0;
  }
  div.try{
    padding: 50px 0;
  }

  .try-back{
    background:url(https://d1q08lkutgkcx2.cloudfront.net/image/free-try-giga2.svg) no-repeat;
    background-size: 300px;
    background-position: 88% 80%;
  }
  h2.try-title{
    font-size: 3.6em;
    line-height: 1.45em;
    margin-left: 2em;
    letter-spacing: 0.04em;
  }
}

@media screen and (max-width:767px){
  section.other-first.skew-rightdown > div ul.List li.List-Item a span img,
  .dualstyle-person img,
  .dual-section h3 img{
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
  }
  /*共有*/
  .dual-para-title{
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
    line-height: 2.5rem;
    padding: 10px 0;
    box-sizing: border-box;
  }
  .dual-para-title span{
    font-size: 2.5rem;
  }
  h2.dual-title{
    margin-bottom: 2em;
    font-size: 1.45em;
    line-height: 2.5rem;
    letter-spacing: 0.1rem;
  }
  h2.dual-title span{
    font-size: 2.5rem;
  }
  /*オススメ*/
  .dual-recommend{
    width: 100%;
    margin: 45px 0 30px;
    padding-left: 60px;
  }
  .dual-recommend-text p{
    padding: 20px 10vw;
    font-size: 1.5rem;
    height: auto;
    line-height: 2.5rem;
    border-radius: 3em;
    height: 90px;
  }
  .dual-recommend-text p img{
    width: 115px;
    bottom: 90px;
    left: 0;
  }

  /*step*/
  .dual-step{
    width: 100%;
    padding-left: 30px;
  }
  .dual-step p{
    top: -20px;
    left: 0;
    width: 110px;
  }
  .dual-step img{
    margin: 0;
  }

  .price-capacity-hint-area.other-merit p.merit{
    font-size: 25px;

  }
  section.section-charcoal.dual-charcoal{
    background: none #E3E3E3;
    background-size: 0px;
    padding: 1px 0 45px;
  }
  div.price-capacity-tables.dual-table-wrap{
    flex-direction: column;
    margin: 30px 0;
    align-items: center;
  }
  .dual-table{
    margin-bottom: 3%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 5% 4%;
  }
  .dual-table p{
    text-align: left;
    margin-bottom: 0em;
    font-size: 1.3rem;
  }
  div.price-capacity-table.dual-table img{
    height: 80%;
    width: 35%;
    margin: auto;
  }
  div.price-capacity-table.dual-table img.small{
    width: 45%;
  }
  div.price-capacity-table.dual-table img.big{
    width: 22%;
  }
  .dual-table-sp{
    flex-direction: column;
    width: 65%;
  }
  p.title-yellow{
    font-size: 1.2em;
    margin-bottom: 0.5em;
  }
  .price-capacity-hint-area.other-merit{
    display: block;
  }

  section.other-fourth.dual-try{
    padding-bottom: 1px;
    background:none no-repeat #e6e6e6 ;
    background-size: 0;
    background-position:0% 0%;
  }
  div.try{
    padding: 20px 0;
    background:linear-gradient(#FFD800 0%, #FFEB00 48%, #e6e6e6 48%);
  }
  .dual-try-text{
    margin-top: 0;
  }
  h2.try-title{
    margin-left: 0;
    padding-top: 0;
    line-height: 1.4em;
    font-size: 7.5vw;
    outline: 1px solid transparent;
    -webkit-font-smoothing: antialiased;
  }
  h2.try-title + img{
    margin: 40px auto 0;
    width: 70%;    
  }
  span.under-line-thin-pink{
    outline: 1px solid transparent;
  }
  .dual-try-container{
    padding: 0;
  }
}

@media screen and (max-width:375px){
  .read-dual h2{
    font-size: 2.5em;
  }
  .steps{
    margin: 0 0 0 0.4em;
  }
  .steps h2{
    font-size: 1.2em;
  }
  .dual-step > div img.step-icon{
    margin: auto 0;
  }
  .dual-step > div img{
    width: 20%;
  }
  .dual-step img.cospa{
    width: 22%;
  }
  .dualstyle-person{
    bottom: calc(8% - 120px - 42px);
  }
}

@media screen and (max-width:360px){
  div.try{
    background-position:25% 0%;
  }
}

/*-------------------------------------------
    Overseas
-------------------------------------------*/
div.overseas-top-remark {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
div.overseas-top-remark > p span.remark-text {
  margin-left: 2em;
  font-weight: normal;
}
.overseas-price-table {
  margin-top: 100px;
}
div.overseas-categories {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: -20px;
  margin-bottom: 0;
  padding: 0;
}
div.overseas-categories._areas_s {
  margin-bottom: 20px;
}
.ove_use div.faq-nav-icons div.nav-box {
  margin-bottom: 0px;
}
div.white-content-box-body-overseas-voice {
  width: 90%;
  margin:3rem auto 1rem;
}
div.white-content-box-gray-box {
  width: 836px;
  margin: 30px auto;
  height: auto;
}

/*海外プランの購入*/
div.overseas-step-icons {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 10px;
  margin-top: 45px;
}
div.overseas-step-icon-box {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: calc(100% / 3);
  padding: 30px 20px 20px;
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 20px;
  box-sizing: border-box;
}
div.overseas-step-icon-box.step1,
div.overseas-step-icon-box.step2 {
  padding: 30px 20px;
}
div.overseas-step-icon-box-left {
  width: 100%;
}
div.overseas-step-icon-number-box {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
}
div.overseas-step-icon-box + div.overseas-step-icon-box::before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-left: 20px solid #3c3c3c;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  height: fit-content;
  transform: translateX(calc(-50% - 4px));
}
div.overseas-step-icon-number-box p.step {
  font-size: 2.2rem;
  display:inline;
}
div.overseas-step-icon-number-box p.step span.number {
  font-size: 4rem;
}
.overseas-step-icon-box-left .overseas-step-text{
  font-weight: 600;
  font-size: 2rem;
  margin: 20px 0;
  padding-bottom: 20px;
  text-align: center;
  border-bottom: 1px solid #000;
}
div.buy-step {
  position: relative;
}
div.buy-step img {
  width: 100%;
  vertical-align: top;
}
div.overseas-step-icon-box .overseas-step-icon-box-right > a {
  display: block;
}
div.overseas-step-icon-box.step1 .overseas-step-icon-box-right > a,
div.overseas-step-icon-box.step2 .overseas-step-icon-box-right > a {
  width: 220px;
  box-shadow: 2px 2px 8px rgb(0 0 0 / 40%);
}
div.overseas-step-icon-box.step1 .overseas-step-icon-box-right > a .buy-step {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: #505050;
  transition: .2s all;
}
div.overseas-step-icon-box.step1 .overseas-step-icon-box-right > a .buy-step:hover {
  outline: 4px solid #ffeb00;
  outline-offset: -4px;
}
div.overseas-step-icon-box.step1 .overseas-step-icon-box-right > a .link-icon {
  max-width: 50px;
}
div.overseas-step-icon-box.step1 .overseas-step-icon-box-right > a .link-text {
  margin-left: 12px;
  font-size: 2.6rem;
  color: #fff;
}
div.overseas-step-icon-box.step3 .overseas-step-icon-box-image {
  width: 100%;
  max-width: 145px;
  margin: auto;
}
div.overseas-step-icon-box-image-neg {
  position: absolute;
  top:0;
}
div.overseas-step-icon-box-image img {
  width: 100%;
}
div.overseas-step-icon-box-image img.fit-overseas-nav-6{
  width: 90%;
}

/*ホバーアニメーション*/
div.overseas-button:hover{
  transition:0.2s;
}
div.overseas-step-icon-box-image.inactive div.overseas-step-icon-box-image-pos img,
div.overseas-step-icon-box-image.active div.overseas-step-icon-box-image-neg img {
  opacity: 0;
  transition: all 0.5s ease-out;
}
div.overseas-step-icon-box-image.active div.overseas-step-icon-box-image-pos img,
div.overseas-step-icon-box-image.inactive div.overseas-step-icon-box-image-neg img
  {
  opacity: 1;
  transition: all 0.5s ease-out;
}
/*枠線を内側に表示*/
div.overseas-button:hover{
  outline: 4px solid #ffeb00;
  outline-offset: -4px;
}

/*購入容量の目安*/
div.overseas-capacity-icons {
  margin: 30px auto 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
div.overseas-capacity-icon {
  width: 200px;
  margin: 20px 20px 0;
}
div.overseas-capacity-icon img {
  width: 100%;
}

/*プラン利用料*/
div.overseas-gray-area {
  padding: 30px 0 10px;
  position: relative;
}
div.white-content-box-overseas-recommended {
  position: absolute;
  width: 65px;
  top: 0;
  left: 660px;
}
div.overseas-category-area-hidden {
  display: none;
}
div.overseas-category-area a{
  text-decoration: none;
}
table.overseas-plan-table {
  border-collapse: separate;
  border-spacing: 8px;
  width: 100%;
  padding-top: 0;
}
table.overseas-plan-table thead th {
  font-size: 1.3rem;
}
table.overseas-plan-table thead tr th:first-child,
table.overseas-plan-table tbody tr td:first-child,
table.overseas-plan-table thead tr th {
  background-color: #646969;
}
table.overseas-plan-table thead tr th,
table.overseas-plan-table tbody tr td:first-child{
  color: #FFFFFF;
}
table.overseas-plan-table thead tr th {
  padding: 20px 0;
  width: 25%;
}
table.overseas-plan-table tbody tr td {
  padding: 15px 0;
  width: 25%;
  background-color: #FFFFFF;
  color: #000000;
  text-align: center;
}
table.overseas-plan-table tbody tr td:first-child {
  font-size: 1.3rem;
}
table.overseas-plan-table thead,
table.overseas-plan-table tbody.plan-area{
  display: block;
}
table.overseas-plan-table tbody.plan-area{
  max-height: 285px;
}
table.overseas-plan-table tbody.plan-scroll{
  overflow-y: scroll;
  margin-right: -18px;
}
table.overseas-plan-table thead tr th,
table.overseas-plan-table tbody.plan-area tr td{
  width: 232px;
}
caption {
  caption-side: bottom;
  margin-bottom: 0.5em;
  margin-right: 1.1em;
  color: #808080;
  font-size: 1.1rem;
  text-align: right;
}
table.overseas-plan-table caption {
  color: #000;
}
div.overseas-plan-select-sp-div {
  display: block;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  position: relative;
}
div.overseas-plan-select-sp-div select {
  width: 100%;
  border: 0px;
  background-color: transparent;
  color: transparent;
  text-align: center;
}
div.overseas-plan-select-sp-div select option {
  color: #000;
}
div.overseas-plan-select-sp-div::before,
div.overseas-plan-select-sp-div::after {
  position: absolute;
  content: '';
  display: block;
  pointer-events: none;
  border: 1px solid transparent;
  width: 0;
  height: 0;
  right: 12px;
}
div.overseas-plan-select-sp-div::before {
  bottom: 60%;
  border-width: 0 6.5px 8px 6.5px;
  border-bottom-color: #FFFFFF;
}
div.overseas-plan-select-sp-div::after {
  border-width: 8px 6.5px 0 6.5px;
  border-top-color: #FFFFFF;
  top: 55%;
}
div.overseas-plan-select-sp-div p.label {
  width: 100%;
  color: #FFFFFF;
  position: absolute;
  line-height: 28px;
}
div.overseas-price-comparison {
  margin-top: 66px;
  padding-top: 30px;
}
div.overseas-price-comparison-title {
  width: 100%;
  text-align: center;
  position: relative;
}
div.overseas-price-comparison-title p{
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: -42px;
  font-weight: bold;
  font-size: 3.5rem;
  line-height: 3.5rem;
}
div.overseas-step-icon-box-image img.fit-height {
  width: auto;
  height: 100%;
  margin: 0 auto;
}
span.overseas-table-th-small {
  font-size: 1.1rem;
}
span.overseas-table-th-large {
  font-size: 1.7rem;
}
span.overseas-table-th-lighter {
  font-weight: lighter;
}
div.content-box-inner p.overseas-howto-attention {
  font-size: 1.3rem;
  padding-left: 1em;
}

/*比較*/
div.overseas-price-comparison-icons {
  display: flex;
  justify-content: space-evenly;
  margin-top: 35px;
}
div.overseas-price-comparison-icon {
  width: 250px;
  margin: 10px;
}

/*FAQ*/
div.lp-faq-contents-v2 {
  padding: 0 40px;
  margin: 70px 0;
}

@media screen and (min-width: 767px){
  div.white-content-box-sub-title.overseas p{
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  div.overseas-top-remark {
    width: 100%;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
  }
  div.overseas-top-remark > p span.remark-text {
    margin-left: 0em;
  }
  .overseas-price-table {
    margin-top: 60px;
  }
  div.content-box-title div.overseas-top-remark p{
    line-height: 20px;
    margin-bottom: 26px;
  }
  div.white-content-box-body.white-content-box-body-overseas {
    width: 100%;
    position: relative;
    padding-bottom: 20px;
  }
  .lp-price-page div.white-content-box-body{
    font-size: 1.6rem;
  }
  div.white-content-box-gray-box {
    width: 100%;
    position: relative;
    margin-top: 10px;
  }
  div.overseas-step-icons{
    flex-direction: column;
  }
  div.overseas-step-icon-box {
    width: 100%;
    padding: 20px 20px 10px;
  }
  div.overseas-step-icon-box + div.overseas-step-icon-box::before {
    bottom: auto;
    left: auto;
    transform: translateY(calc(-50% - 4px)) rotate(90deg);
  }
  div.overseas-step-icon-box.step1,
  div.overseas-step-icon-box.step2 {
    padding: 20px;
  }
  div.overseas-step-icon-number-box p.step {
    font-size: 1.6rem;
  }
  div.overseas-step-icon-number-box p.step span.number {
    font-size: 2.8rem;
  }
  div.overseas-step-icon-box-left {
    display: flex;
    align-items: flex-end;
    border-bottom: 1px solid #000;
  }
  div.overseas-step-icon-box-left p.overseas-step-text {
    margin: 0 0 0 10px;
    font-size: 1.5rem;
    padding: 0;
    border-bottom: none;
  }
  div.overseas-step-icon-box-right {
    margin-top: 10px;
  }
  div.overseas-step-icon-box.step1 .overseas-step-icon-box-right ,
  div.overseas-step-icon-box.step2 .overseas-step-icon-box-right {
    margin-top: 20px;
  }
  div.overseas-step-icon-box.step1 .overseas-step-icon-box-right > a .link-text {
    font-size: 2.4rem;
  }
  div.overseas-step-icons {
    margin: 20px auto;
  }
  div.overseas-step-icon-box,
  div.overseas-step-icon-box-image {
    margin: 0;
  }
  div.buy-step {
    width: auto;
    height: auto;
  }
  div.overseas-capacity-icons {
    margin: 20px auto 0;
    justify-content: center;
  }
  div.overseas-capacity-icon {
    width: calc((100% - 30px) / 3);
    margin: 10px 5px;
  }
  div.overseas-gray-area {
    padding: 0 0 10px;
    position: relative;
  }
  div.overseas-category-area{
    margin: 0 -16px;
  }
  div.overseas-categories._areas_s {
    margin-bottom: 0;
  }
  table.overseas-plan-table thead tr th,
  table.overseas-plan-table tbody.plan-area tr td{
    width: 23%;
  }
  table.overseas-plan-table tbody.plan-area{
    max-height: 290px;
    height: auto;
  }
  table.overseas-plan-table tbody.plan-scroll{
    margin-right: -1px;
  }
  caption {
    margin-top: 0.5em;
  }
  div.overseas-plan-select-sp-div p.label {
    width: 100%;
    font-size: 0.8rem;
    line-height: 20px;
    float: left;
    margin-left: -10px;
    margin-top: 3px;
  }
  div.overseas-plan-select-sp-div p.label span.overseas-table-th-lighter {
    font-size: 1.2rem;
  }

  div.overseas-price-comparison {
    margin-top: 70px;
  }
  div.overseas-price-comparison-title p {
    font-size: 2.5rem;
  }
  div.overseas-price-comparison-icons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  div.overseas-price-comparison-icon {
    width: 100%;
    margin: 5px 0;
  }

  div.lp-faq-contents-v2 {
    padding: 0;
    margin: 10px 0;
  }
  div.content-box-inner p.overseas-howto-attention {
    text-indent: -1em;
  }
}

@media screen and (max-width: 320px) {
  div.overseas-category-area {
    margin: 0px -12px;
  }
  table.overseas-plan-table thead tr th,
  table.overseas-plan-table tbody.plan-area tr td{
    width: 30%;
  }
  table.overseas-plan-table{
    border-spacing: 6px 8px;
  }
  div.overseas-plan-select-sp-div::before,
  div.overseas-plan-select-sp-div::after{
    right: 2px;
  }
  div.overseas-plan-select-sp-div::before{
    border-width: 0 4px 6px 4px;
  }
  div.overseas-plan-select-sp-div::after{
    border-width: 6px 4px 0 4px;
  }
  div.overseas-plan-select-sp-div p.label{
    margin-left: -4px;
  }
}

/*-------------------------------------------
    Device
-------------------------------------------*/
div.zeus-device-title-page {
  padding-top: 10px;
}
div.zeus-device-title {
  width: 100%;
  margin-top: 50px;
}
div.content-box-title.zeus-device-title p {
  font-size: 3.5rem;
  font-weight: bold;
  text-align: center;
}

/*スライドショーと画像*/
section.other-first.device {
  padding: 0 0 80px;
}
.device-introduction {
  text-align: center;
  padding-bottom: 30px;
}
#device-section-1 .device-introduction p.device-introduction-text {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.3;
}
div.lp-device-section-1 {
  margin-top: 50px;
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}
#device-section-1.device-section div.lp-device-section-1 {
  max-width: 750px;
  margin: 50px auto -40px;
}
div.lp-device-section-1 .device-thumb {
  width: calc(100% / 2 - 20px);
}
div.lp-device-section-1 .device-thumb > span {
  display: block;
  padding-bottom: 10px;
  font-size: 2.2rem;
  font-weight: bold;
}
div.lp-device-section-1 .device-thumb img {
  width: 100%;
  max-width: 350px;
}
div.lp-device-section-1 .device-thumb.device-thumb-mr1 img {
  max-width: 310px;
}
div.lp-device-section-1 .device-thumb.device-thumb-h01 img {
  transform: translateY(-35px);
}
@media screen and (min-width: 1281px){
  #support div.lp-device-section-1{
    padding-top: 20px;
  }
}
.device-box {
  width: 40%;
  text-align: center;
}
.device-box span {
  font-weight: bold;
  font-size: 2.7rem;
  display: block;
  margin-bottom: 0.5em;
}
.device-box img {
  width: 100%;
}
.device-box:last-of-type img {
  width: 90%;
  margin-top: 4px;
}
div.zeus-device-introduction-box-description {
  width: 100%;
  margin-top: 15px;
  text-align: center;
}
#device-section-1.device-section div.zeus-device-introduction-box-description {
  margin-top: 0;
}
div.zeus-device-introduction-box-description p {
  font-weight: bold;
  font-size: 1.5em;
}
div.zeus-device-introduction-box-description-icons {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
div.zeus-device-introduction-box-description-icon {
  width: 48%;
  margin: 3px;
}
#device-section-2 .default-main-titl {
  margin-top: 0;
}
#device-section-2 div.white-content-box-inner-flex-right {
  height: 0;
}
#device-section-2 .img-small-sp {
  width: 180px;
  transform: translateY(-50%);
}
#device-section-2 .img-small-sp img{
  width: 100%;
}

/*特徴*/
div.device-feature-icons {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 50px;
}
div.device-feature-icon {
  padding: 10px 5px 0;
  width: 310px;
}
.charm-main .prepaid-box {
  position: relative;
  margin-top: 60px;
}
.charm-main .prepaid-box-link {
  position: relative;
}
.charm-main .prepaid-box-link > a {
  display: block;
}
.charm-main .prepaid-box-link > a > img {
  width: 100%;
}
.charm-main .prepaid-box-link .btn_box02 {
  position: absolute;
  bottom: 20px;
  right: 30px;
}
.charm-main .prepaid-box-link .btn_box02 > a {
  width: 310px;
  transition: .2s all;
}
.charm-main .prepaid-box-link .btn_box02 > a::after {
  background: unset;
}
.charm-main .prepaid-box-link .btn_box02 > a > span {
  padding: 25px 70px 27px 30px;
}
.charm-main .prepaid-box-link .btn_box02 > a > span {
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/icon-window-white.webp) no-repeat 255px center;
}
.charm-main .prepaid-box-link .btn_box02 > a:hover {
  background-color: #fff;
  color: #DB0066;
  outline: 4px solid #DB0066;
  outline-offset: -4px;
}
.charm-main .prepaid-box-link .btn_box02 > a:hover > span {
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/icon-window-pink.webp) no-repeat 255px center;
}
#spec .image-slider-wrapper.device-slider {
  width: 100%;
}
#spec .image-slider-wrapper.device-slider .swiper-container {
  height: 100%;
  padding: 30px 0 0;
  margin-top: 50px;
  background: #fff;
  background: linear-gradient(#fff 343px, transparent 0%);
  border-radius: unset;
}
#spec .image-slider-wrapper.device-slider div.swiper-slide .device-spec-thumb {
  width: 400px;
  margin-top: 40px;
  padding-bottom: 40px;
}
#spec .image-slider-wrapper.device-slider div.swiper-slide .device-spec-thumb.device-spec-thumb-h01 {
  width: 428px;
  margin-top: 10px;
  padding-bottom: 0px;
}
#spec .image-slider-wrapper.device-slider div.swiper-slide .device-spec-thumb.device-spec-thumb-h01 span {
  top: 10px;
}
#spec .image-slider-wrapper.device-slider div.swiper-slide img {
  width: 100%;
}
#spec .image-slider-wrapper.device-slider div.device-spec-slide {
  display: flex;
  flex-direction: column;
}
#spec .image-slider-wrapper.device-slider table.device-spec-table {
  margin: 0 auto;
  border-spacing: 0 5px;
}
#spec .image-slider-wrapper.device-slider div.swiper-button-next,
#spec .image-slider-wrapper.device-slider div.swiper-button-prev {
  top: 22%;
}
#spec .image-slider-wrapper.device-slider div.swiper-button-next {
  right: 30px;
}
#spec .image-slider-wrapper.device-slider div.swiper-button-prev {
  left: 30px;
}
#spec #device-section-4 .notice-txt {
  margin-bottom: 0;
}

/*スペック*/
div.price-fee-related-table-box {
  padding-bottom: 50px;
}
table.price-fee-related-table {
  border-collapse: separate;
  border-spacing: 5px;
  width: 100%;
  margin: 0 auto;
}
table.device-spec-table{
  margin: 50px auto 0;
}
table.device-spec-table th,
table.device-spec-table td{
  font-size: 1.6rem;
}
table.device-spec-table th {
  width: 30%;
  background-color: #000000;
  color: #FFFFFF;
  padding: 10px 0;
  font-weight: bold;
}
table.device-spec-table td.price-fee-th-col {
  width: 20%;
  background-color: #BCC4C4;
  border-spacing: 0;
  padding: 10px;
}
table.device-spec-table td {
  width: 30%;
  border-spacing: 0;
  padding: 10px;
  background-color: #FFFFFF;
  color: #000000;
}

@media screen and (max-width: 767px) {
  .charm-main .prepaid-box {
    margin-top: 30px;
  }
  div.zeus-device-title {
    margin-top: 30px;
  }
  .side-title.right.device{
    top: 70px;
  }
  div.content-box-title.zeus-device-title p {
    font-size: 2.0rem;
    line-height: 1.3em;
  }
  div.content-box-title.zeus-device-title h2 p{
    text-align: center;
  }
  div.lp-device-section-1 {
    padding-bottom: 0;
  }
  #device-section-1.device-section div.lp-device-section-1 {
    margin: 0 auto -10px;
  }
  #device-section-1.device-section .image-slider-wrapper.device-slider div.swiper-slide {
    height: 158px;
  }
  #device-section-1.device-section .image-slider-wrapper.device-slider div.swiper-slide img {
    max-width: 240px;
  }
  #device-section-1.device-section .image-slider-wrapper.device-slider div.swiper-slide img.img-mr1 {
    max-width: 220px;
    margin-top: 10px;
  }
  #device-section-1.device-section .image-slider-wrapper.device-slider div.swiper-button-next,
  #device-section-1.device-section .image-slider-wrapper.device-slider div.swiper-button-prev {
    top: 95%;
  }
  .device-box {
    width: 100%;
    margin-bottom: 30px;
  }
  .device-introduction {
    padding: 10px 20px 20px;
    margin-top: 30px;
    background: #fff;
  }
  .device-main .device-introduction {
    padding: 0;
    background: unset;
  }
  .device-main .device-introduction p {
    text-align: left;
  }
  div.zeus-device-introduction-box-description-icons {
    flex-flow: wrap;
  }
  div.zeus-device-introduction-box-description {
    padding: 0;
    width: 100%;
    margin-left: 0px;
    margin-top: 10px;
    margin-bottom: -10px;
  }
  #device-section-1.device-section div.zeus-device-introduction-box-description {
    margin: 10px auto 20px;
  }
  #device-section-2 .default-main-titl {
    margin-bottom: 0;
  }
  #device-section-1 div.white-content-box-sub-title.sub-title-device p {
    text-align: center;
  }
  #device-section-2 div.white-content-box-inner-flex-right {
    height: auto;
  }
  #device-section-2 .img-small-sp {
    transform: none;
  }
  div.zeus-device-introduction-box-description-icon {
    padding: 0;
    margin: 3px 0;
    width: 48%;
  }
  div.device-feature-icon {
    width: 48%;
    padding: 5px 0;
  }
  div.device-feature-icons {
    justify-content: space-between;
    margin-top: 30px;
  }

  div.white-content-box-inner-price-table {
    margin: 0 auto;
  }
  #spec.other-second.device .section-container {
    padding: 0 5%;
  }
  table.device-spec-table {
    border-collapse: separate;
    margin: 0 auto;
    border-spacing: 2px;
  }
  table.device-spec-table th {
    text-align: left;
    padding: 8px;
    width: 20%;
    font-size: 1.1rem;
    font-weight: normal;
    min-width: 78px;
  }
  table.device-spec-table td {
    font-size: 1.1rem;
    padding: 8px 3px 8px 5px;
    vertical-align: middle;
    line-height: 2em;
  }
  table.device-spec-table td.price-fee-th-col {
    width: 5%;
    letter-spacing: 1px;
    padding: 3px;
    font-size: 1.15rem;
    vertical-align: middle;
    line-height: 1.2;
  }
  table.device-spec-table td.td-r {
    font-size: 1.3rem;
  }
  #spec .image-slider-wrapper.device-slider .swiper-container {
    margin-top: 30px;
    background: linear-gradient(#fff 196px, transparent 0%);
  }
  #spec .image-slider-wrapper.device-slider table.device-spec-table {
    border-spacing: 1px 5px;
  }
  #spec .image-slider-wrapper.device-slider div.swiper-slide .device-spec-thumb,
  #spec .image-slider-wrapper.device-slider div.swiper-slide .device-spec-thumb.device-spec-thumb-h01 {
    width: 100%;
    margin-top: 20px;
    padding-bottom: 20px;
    text-align: center;
  }
  #spec .image-slider-wrapper.device-slider div.swiper-slide img {
    width: 68%;
    max-width: 250px;
  }
  #spec .image-slider-wrapper.device-slider div.swiper-slide .device-spec-thumb.device-spec-thumb-h01 {
    margin-top: 0;
    padding-bottom: 0;
  }
  #spec .image-slider-wrapper.device-slider div.swiper-slide .device-spec-thumb.device-spec-thumb-h01 span {
    top: -10px;
  }
  #spec .image-slider-wrapper.device-slider div.swiper-slide .device-spec-thumb.device-spec-thumb-h01 img {
    width: 72.5%;
  }
  #spec .image-slider-wrapper.device-slider div.swiper-button-next,
  #spec .image-slider-wrapper.device-slider div.swiper-button-prev {
    top: 18.5%;
  }
  #spec .image-slider-wrapper.device-slider div.swiper-button-next {
    right: 15px;
  }
  #spec .image-slider-wrapper.device-slider div.swiper-button-prev {
    left: 15px;
  }
}

/*-------------------------------------------
    Guide
-------------------------------------------*/
div.white-content-box-inner-flex.guide-align{
  align-items: center;
}
div.white-content-box-inner-flex-right .box-guide {
  width: 80%;
  margin: auto;
}
div.white-content-box-inner-flex-right .box-guide img{
  width: 100%;
}
div.cancel-title{
  margin-bottom: 30px;
}
div.cancel-title > h2 span,
div.cancel-title > p span{
  padding-right: 0.5em;
  font-size: 1.5em;
  display: inline-block;
  vertical-align: bottom;
}
div.guide-head {
  align-items: flex-start;
}

@media screen and (max-width:767px){
  div.white-content-box-inner-flex.guide-align div.white-content-box-inner-flex-left {
    width: 100%;
  }
  div.cancel-title{
    margin-bottom: 0.5em;
  }
  div.cancel-title > h2 span,
  div.cancel-title > p span{
    font-size: 1.7em;
  }
}

/*-------------------------------------------
    Business
-------------------------------------------*/
div.section-container div.btn-area02.business-btn{
  margin-top: 40px;
}

/*法人ページ お問い合わせボタン*/
#cv h3.business-logo{
  padding-left: 270px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  font-weight: normal;
}
#cv h3.business-logo p.logo{
  width: 44px;
  margin: -4px 8px -7px 0;
}
#cv h3.business-logo p.text{
  width: 268px;
  font-size: 2.4rem;
}
#cv dl.business dd{
  margin-inline-start: 10px;
}
#cv dl.business dt a.pc span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat right -2px top 7px;
  background-size: 25px;
  display: inline-block;
  text-align: center;
  padding: 0px 30px 0 20px;
}
#cv dl.business dd a.pc span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat right -2px top 7px;
  background-size: 25px;
  text-align: center;
  padding: 10px 20px 9px 20px;
}

@media screen and (max-width: 767px) {
   div.section-container div.btn-area02.business-btn{
    margin-top: 30px;
  }
  #cv dl.business{
    flex-direction: column;
  }
  #cv dl.business dt a.sp{
    display: block;
    flex-direction: column;
    width: 100%;
    margin: 5px 0;
  }
}
/*-------------------------------------------
    Anshin Kaiyaku Support
-------------------------------------------*/
section.other-first.anshin-kaiyaku,
section.other-second.anshin-kaiyaku,
section.other-third.anshin-kaiyaku{
  background-image: none;
  background-size: none;
}
section.other-first.anshin-kaiyaku div.white-content-box-title-sub-dir
,
section.other-second.anshin-kaiyaku div.white-content-box-title-sub-dir
,
section.other-third.anshin-kaiyaku div.white-content-box-title-sub-dir
{
  margin-top: 0;
}
div.anshin-kaiyaku-zero-image {
  width: 100%;
  margin-top: 30px;
  margin-bottom: -50px;
}
div.anshin-kaiyaku-zero-image img,
div.notion-title img {
  width: 80%;
}
div.flex-column{
  width:380px;
}
div.flex-column img{
  margin: 10px 0;
}
.anshin-point-contents {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 50px 0 20px;
}
div.anshin-point-box-description{
  margin: 20px 0;
}
div.anshin-point-box {
  width: 250px;
  position: relative;
}
div.anshin-point-box img{
  width: 100%;
}

/*申し込み時の注意*/
div.anshin-kaiyaku-notion {
  border:solid 1px red;
  padding: 70px 30px 50px;
  margin-top: 30px;
  margin-bottom: 50px;
  position: relative;
}
div.anshin-kaiyaku-notion ul {
  padding: 0;
  margin: 0;
  padding-left: 20px;
}
div.anshin-kaiyaku-notion ul li {
  margin-bottom: 1.2em;
  list-style-type: none;
  line-height: 1.4em;
  text-indent: -0.75em;
}
div.anshin-kaiyaku-notion ul li::before{
  position: relative;
  top: 0px;
  left: -0.7em;
  display: inline-block;
  width: 10px;
  height: 10px;
  content: '';
  border-radius: 100%;
  background: red;
}
div.anshin-kaiyaku-notion a.pink-link {
  color: #c6006b;
}
div.notion-title {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 55%;
  top: -30px;
  background: #E3E3E3;
  text-align: center;
}
div.anshin-kaiyaku-notion div.notion-title {
  display: flex;
  align-items: center;
  justify-content: center;
}
div.anshin-kaiyaku-notion h3.notion-hdg {
  margin: 0 0 0 5px;
  font-size: 3rem;
  color: red;
}
div.anshin-kaiyaku-notion span.notion-icon {
  display: block;
  max-width: 70px;
}

@media screen and (max-width: 767px) {
  section.other-first.anshin-kaiyaku{
    padding-bottom: 50px;
  }
  section.other-second.anshin-kaiyaku{
    padding-top: 50px;
  }
  div.anshin-kaiyaku-zero-image{
    margin-top: 20px;
  }
  div.anshin-kaiyaku-zero-image img {
    width: 100%;
  }
  .anshin-point-contents {
    justify-content: center;
    margin: 0;
  }
  div.anshin-point-box {
    width: 100%;
    margin-bottom: 20px;
  }

  div.notion-title {
    width: 80%;
    top: 0%;
    transform: translateY(-50%);
  }
  div.anshin-kaiyaku-notion {
    padding: 30px 0.75em 20px;
    margin-bottom: 20px;
    margin-top: 40px;
  }
  div.anshin-kaiyaku-notion ul li {
    font-size: 1.2rem;
    text-indent: -0.5em;
  }
  div.anshin-kaiyaku-notion ul li::before{
    left: -0.8em;
    width: 6px;
    height: 6px;
  }
  div.anshin-kaiyaku-notion h3.notion-hdg {
    margin: 0;
    font-size: 2rem;
  }
  div.anshin-kaiyaku-notion span.notion-icon {
    max-width: 40px;
  }
}

/*-------------------------------------------
     Customer Center
 -------------------------------------------*/

/*2021/05～
コールセンター内 よくあるご質問*/
div.white-content-box-sub-title.customer{
  text-align: center;
  margin: auto;
}
div.white-content-box-sub-title.customer > div{
  text-align: left;
  display: inline-block;
}
.faq-nav-icons.call-nav{
  padding: 0;
  margin: 30px 0 80px;
  flex-wrap: wrap;
}
.call-nav-area.genre-3{
  width: calc((100% - 20px) / 3) ;
}
.call-nav-area.genre-4{
  width: calc((100% - 20px) / 4) ;
  margin-top: 10px;
}
.call-nav-area.genre-4-bottom{
  width: calc((100% - 20px) / 4) ;
  margin-top: 10px;
  height: 56px;
}
.call-nav-area.genre-3 a,
.call-nav-area.genre-4 a{
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: none;
  color: #000000;
}
.call-nav-area-bottom {
  width: 1000px;
  display: flex;
  justify-content: center;
}
div.faq-nav-icons div.nav-box.genre-faq{
  background-image:none;
  background: #FFFFFF;
  line-height: 1.4em;
  padding: 1.8em 0.5em;
  height: auto;
  position: relative;
  height: 100%;
}

div.faq-nav-icons div.nav-box.genre-faq:hover{
  transform: none;
  background-color: #ffeb00;
  transition: .3s all;
}
div.faq-nav-icons div.nav-box.genre-faq::after{
  content: "▶";
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  top: 0;
  bottom: 0;
  right: 1em;
  margin: auto;
  color: #DB0066;
}
div.decoration-button-area-form-v2 {
  width: 240px;
  margin: 10px;
  margin-right: 0;
  text-align: center;
}

/*コールセンターのご案内*/
.callcenter{
  width: 100%;
  margin: 50px 0;
  height: auto;
  position: relative;
}
.callcenter::before{
  content: "";
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/use-person-sp_t.png) no-repeat;
  background-size: 150px;
  width: 150px;
  background-position-y: 0;
  height: 195px;
  position: absolute;
  top: calc(0% - 195px - -40px - -1.5em);
  right: 0;
}
.call-title{
  display: block;
  padding: 20px 0;
  border-radius: 15px 15px 0 0;
  background-color: #000000;
  font-size: 1.5em;
  color: #FFFFFF;
  text-align: center;
  letter-spacing: 0.2em;
}
.customer-area{
  padding: 40px 60px;
  border-radius: 0 0 15px 15px;
  background-color: #FFFFFF;
  box-shadow: 0 0 15px rgb(0 0 0 / 20%);
}
h3.customer{
  font-size: 2.5em;
  text-align: center;
}
.customer-area > div{
  margin: auto;
  width: 60%;
}
.call-info{
  display: flex;
  align-items: center;
  margin-bottom: 1.5em;
}
.call-info img,
p.call-time-box{
  display: block;
  width: 80px;
}
.call-info img{
  margin-bottom: 0.5em;
}
p.call-tel a,
p.call-time,
p.call-mail{
  margin-left: 25px;
}
p.call-tel a{
  font-size: 3.3em;
  font-weight: bold;
}
p.call-time-box{
  width: 60px;
  padding: 10px;
  background-color: #000000;
  color: #FFFFFF;
  text-align: center;
}
p.call-mail{
  font-weight: bold;
  letter-spacing: 0.2em;
  font-size: 1.2em;
}

@media (max-width: 767px) {
  .faq-nav-icons.call-nav{
    margin: 5px 0 50px;
    padding-bottom: 0;
  }
  div.decoration-button-area-form-v2 {
    width: 140px;
  }
  div.faq-nav-icons div.nav-box.genre-faq{
    padding: 14px 8px;
    font-size: 1rem;
  }
  div.faq-nav-icons div.nav-box.genre-faq::after{
    width: 15px;
    height: 15px;
    right: 0px;
    font-size: 8px;
  }

  div.white-content-box-sub-title.customer{
    text-align: left;
  }
  div.white-content-box-sub-title.customer p{
    font-size: 1.2rem;
  }
  p.call-tel a,
  p.call-time,
  p.call-mail{
  margin-left: 0px;
  }
  .callcenter{
    margin: 20px 0;
  }
  .callcenter::before{
    content: "";
    background-size: 75px;
    width: 75px;
    height: 90px;
    top: calc(0% - 90px - -30px - -1.25em);
    right: -15px;
  }
  .call-title{
    padding: 15px 45px 15px 15px;
    font-size: 4vmin;
    letter-spacing: 0em;
  }
  .customer-area{
    padding: 20px 0px;
  }
  .customer-area > div{
    margin: auto;
    width: 90%;
  }
  .customer-area > div > .btn_box02 a{
    margin: auto;
    width: 100%;
  }
  .customer-area > div > .btn_box02 a span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02_t.png) no-repeat;
    background-position: right 18px center;
    background-size: 6px;
  }
  h3.customer{
    font-size: 2em;
    margin: 0 5% 1em;
  }
  .call-info{
    display: flex;
    align-items: center;
    margin-bottom: 1.5em;
  }
  .call-info img,
  p.call-time-box{
    width: 17%;
    margin-right: 5%;
  }
  .call-info img{
    margin-bottom: 0.5em;
    margin-left: 1.5%;
  }
  p.call-tel a{
    font-size: 7.5vmin;
  }
  div.content-box-inner p.call-time-box{
    font-size: 1rem;
    width: calc(17% - 4px);
    padding: 10px 5px;
  }
  div.content-box-inner p.call-time{
    font-size: 1.2rem;
  }
  div.content-box-inner p.call-mail{
    font-weight: bold;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
}

@media (max-width: 320px) {
  div.faq-nav-icons div.nav-box.genre-faq::after{
    font-size: 7px;
    width: 12px;
    height: 15px;
  }

  p.call-tel a{
    font-size: 1.6em;
  }
  .call-info img,
  p.call-time-box{
    width: 17%;
    margin-right: 10px;
  }
  .call-info img{
    margin-left: 4px;
  }
  h3.customer{
    font-size: 1.7em;
    margin: 0 5% 1em;
  }
  div.content-box-inner p.call-time-box{
    font-size: 1.2rem;
    margin-right: 10px;
  }
  div.content-box-inner p.call-mail{
    font-size: 1.2rem;
  }
}


/*2021/05～
  コールセンターのご案内
*/
.callcenter{
  width: 100%;
  margin: 50px 0;
  height: auto;
  position: relative;

}
.callcenter::before{
  content: "";
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/use-person-sp_t.png) no-repeat;
  background-size: 150px;
  width: 150px;
  background-position-y: 0;
  height: 195px;
  position: absolute;
  top: calc(0% - 195px - -40px - -1.5em);
  right: 0;
}

.call-title{
  display: block;
  padding: 20px 0;
  border-radius: 15px 15px 0 0;
  background-color: #000000;
  font-size: 1.5em;
  color: #FFFFFF;
  text-align: center;
  letter-spacing: 0.2em;
}

.call-title-mypage{
  display: block;
  padding: 20px 0;
  background-color: #3C3C3C;
  font-size: 1.5em;
  color: #FFFFFF;
  text-align: center;
  letter-spacing: 0.2em;
  margin-bottom: -30px;
  padding-top: 50px;
}

.customer-area{
  padding: 1px 60px;
  border-radius: 0 0 15px 15px;
  background-color: #FFFFFF;
  box-shadow: 0 0 15px rgb(0 0 0 / 20%);
}

.customer-area > div{
  margin: auto;
  width: 60%;
}

.customer-area-mypage{
  padding: 30px 49px;
  background-color: #3C3C3C;
  color: white;
}

.customer-area-mypage > div{
  margin: auto;
  width: 46%;
}

h3.customer{
  font-size: 2.5em;
  text-align: center;
}

.call-info{
  display: flex;
  align-items: center;
  margin-bottom: 1.5em;
}

.call-info img,
p.call-time-box{
  display: block;
  width: 80px;
}

p.call-time-box-mypage{
  display: block;
  width: 80px;
}

.call-info img{
  margin-bottom: 0.5em;
}

p.call-tel a,
p.call-time,
p.call-mail{
  margin-left: 25px;
}

p.call-mail-mypage{
  margin-left: 25px;
}

p.call-tel a{
  font-size: 3.3em;
  font-weight: bold;
  color: #DB0066;
  text-decoration: none;
}

p.call-time-box{
  width: 60px;
  padding: 10px;
  background-color: #000000;
  color: #FFFFFF;
  text-align: center;
}

p.call-time-box-mypage{
  width: 60px;
  padding: 10px;
  background-color: #282828;
  color: #FFFFFF;
  text-align: center;
}

p.call-mail{
  font-weight: bold;
  letter-spacing: 0.2em;
  font-size: 1.2em;
}
p.call-mail-mypage{
  letter-spacing: 0.2em;
  font-size: 1.2em;
}
.white-content-box-sub-title.customer{
  text-align: center;
  margin: auto;
}

.white-content-box-sub-title.customer > div{
  text-align: left;
  display: inline-block;
}

@media (max-width: 768px) {
  .white-content-box-sub-title.customer{
    text-align: left;
  }

  .white-content-box-sub-title.customer p{
    font-size: 1.4rem;
  }

  p.call-tel a,
  p.call-time,
  p.call-mail{
  margin-left: 0px;
  }

  p.call-mail-mypage{
    margin-left: 0px;
  }

  .callcenter{
    margin: 20px 0;
  }

  .callcenter::before{
    content: "";
    background-size: 75px;
    width: 75px;
    height: 90px;
    top: calc(0% - 90px - -30px - -1.25em);
    right: -15px;
  }

  .call-title{
    padding: 15px 45px 15px 15px;
    font-size: 4vmin;
    letter-spacing: 0em;
  }

  .call-title-mypage{
    font-size: 4vmin;
    letter-spacing: 0em;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .customer-area{
    padding: 20px;
  }

  .customer-area > div{
    margin: auto;
    width: 90%;
  }

  .customer-area div .btn_box02 a{
    margin: auto;
    width: 255px;
  }
  .customer-area div .btn_box02 a span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02_t.png) no-repeat 230px center;
    background-size: 6px;
  }

  .customer-area-mypage{
    padding: 30px 0px;
  }

  .customer-area-mypage > div{
    margin: auto;
    width: 90%;
  }

  .customer-area-mypage > div > .btn_box02 a{
    margin: auto;
    width: 260px;
  }

  .customer-area-mypage > div > .btn_box02 a span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02_t.png) no-repeat 235px center;
    background-size: 6px;
  }

  h3.customer{
    font-size: 2em;
    margin: 0 5% 1em;
  }

  .call-info{
    display: flex;
    align-items: center;
    margin-bottom: 1.5em;
    margin-left: 20px;
  }

  .call-info img,
  p.call-time-box{
    width: 17%;
    margin-right: 5%;
  }

  p.call-time-box-mypage{
    width: 17%;
    margin-right: 5%;
  }

  .call-info img{
    margin-bottom: 0.5em;
    margin-left: 1.5%;
  }

  p.call-tel a{
    font-size: 7.5vmin;
  }

  div.content-box-inner p.call-time-box-mypage{
    font-size: 1rem;
    width: calc(17% - 5px);
    padding: 10px 5px;
  }

  div.content-box-inner p.call-time{
    font-size: 1.2rem;
  }

  div.content-box-inner p.call-mail{
    font-weight: bold;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }

  div.content-box-inner p.call-mail-mypage{
    font-weight: bold;
    letter-spacing: 0em;
    font-size: 1.4rem;
  }
}

@media (max-width: 320px) {
  p.call-tel a{
    font-size: 1.9em;
  }

  .call-info img,
  p.call-time-box{
    width: 17%;
    margin-right: 19px;
  }

  p.call-time-box-mypage{
    width: 17%;
    margin-right: 19px;
  }

  .call-info img{
    margin-left: 6px;
  }

  div.content-box-inner p.call-time-box{
    font-size: 1.2rem;
    margin-right: 16px;
  }
  div.content-box-inner p.call-time-box-mypage{
    font-size: 1.2rem;
    margin-right: 16px;
  }
  div.content-box-inner p.call-mail{
    font-size: 1.3rem;
  }
  div.content-box-inner p.call-mail-mypage{
    font-size: 1.3rem;
  }
}

/*2021/05～
　コールセンター内 よくあるご質問
*/

div.faq-nav-icons div.nav-box.genre-faq{
  background-image:none;
  background: #FFFFFF;
  line-height: 1.4em;
  padding: 1.8em 0.5em;
  height: auto;
  position: relative;
  height: 100%;
}

div.faq-nav-icons div.nav-box.genre-faq{
  padding:0;
}

div.faq-nav-icons div.nav-box.genre-faq:hover{
  transform: none;
  background-color: #ffeb00;
  transition: .3s all;
}

div.faq-nav-icons div.nav-box.genre-faq::after{
  content: "▶";
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  top: -5px;
  bottom: 0;
  right: 1em;
  margin: auto;
  color: #DB0066;
}

.call-nav-area.genre-3{
  width: calc((100% - 20px) / 3) ;
}

.call-nav-area.genre-4{
  width: calc((100% - 20px) / 4) ;
  margin-top: 10px;
}

.call-nav-area.genre-3 a,
.call-nav-area.genre-4 a{
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: none;
  color: #000000;
}

@media (max-width: 767px) {
  div.faq-nav-icons div.nav-box.genre-faq{
    padding: 10px 8px;
  }

  div.faq-nav-icons div.nav-box.genre-faq::after{
    width: 15px;
    height: 15px;
    right: 15px;
    top:0;
    font-size: 8px;
  }

  .call-nav-area.genre-2{
    width: calc((100% - 20px) / 2) ;

    margin:0 auto;
    margin-top: 10px;
  }
}

@media (max-width: 320px) {
  div.faq-nav-icons div.nav-box.genre-faq::after{
    font-size: 7px;
    width: 12px;
    height: 15px;
  }
}

/* *** */
/* Release 202010 */
/* *** */

/* margin for new header */
div.main {
  margin-top: 95px;
}
@media (max-width: 767px) {
  div.main {
    margin-top: 85px;
  }
}
image
textarea {
  font-family : inherit;
  font-size : 100%;
}

/*背景*/
section.other-first,
section.other-second,
section.other-second.guide,
section.other-third,
section.other-fourth,
section.other-fifth,
section.other-sixth,
section.other-seventh,
section.other-eight{
  background-color: #F3F3F3;
  background-repeat: no-repeat;
  padding: 110px 30px 40px;
  position: relative;
  z-index: 0;
}
section.other-first{
  padding: 0 30px 40px;
  overflow: hidden;
}
section.other-second,
section.other-second.guide{
  background-color: #E3E3E3;
}
section.other-second#insurance-section-4 {
  padding: 40px 0 100px;
}
section.other-second.guide a.pink-link {
  color: #c6006b;
}
.ove_use section.other-second:last-child{
  background-color: #F3F3F3;
}
section.other-fourth{
  background-color: #E3E3E3;
  padding: 50px 40px;
}
section.other-fifth{
  padding: 70px 0 40px;
}
section.other-sixth{
  background-color: #E3E3E3;
  padding: 50px 0 40px;
}
section.other-eight{
  background-color: #F3F3F3;
  padding: 50px 0 40px;
}

section.price-other-fourth{
  background-position: left -77% bottom 70%;
}

section.other-second.area-shrink,
section.other-third.area-shrink{
  padding: 140px 0 10px;
}
section.other-second.area-shrink{
  background-position: right -10px top -90px;
  background-size: 600px;
}

section.other-second.area-wide{
  padding: 110px 30px;
}
#reason.section-charcoal{
  background-image: none;
  background-color: #232323;
}
section.other-seventh{
  background-color: #E3E3E3;
}
section.dual-third{
  padding: 80px 30px;
  background: rgb(148,182,255);
  background: linear-gradient(90deg, rgba(148,182,255,1) 0%, rgba(169,240,255,1) 64%, rgba(169,240,255,1) 100%);
}
section.dual-third img{
  width: 100%;
}

/*タイムアウトページのみ、お申し込みと合わせて背景をグレーにする*/
div.bg-plain-gray {
  background-color: #F3F3F3;
}

.bg01{
  height: 6vw;
}
.bg02{
  top: 100%;
}
.bg06,
.bg10{
  top:0;
  z-index: 1;
}
.bg07{
  height: 6vw;
  z-index: 0;
}

.bg01::before,
.bg02::after,
.bg04::after,
.bg05::after,
.bg06::before,
.bg07::before,
.bg08::after,
.bg09::before,
.bg10::before{
  content: "";
  display: block;
  background: #f3f3f3;
  width: 120%;
  height: 5vw;
  box-shadow: 0 8px 8px rgb(0 0 0 / 20%);
  position: absolute;
  top: 0%;
  left: -10%;
  right: -10%;
  margin: auto;
  transform: rotate(2.5deg) translate(0,-45%);
}
.bg02::after,
.bg04::after,
.bg05::after,
.bg06::before,
.bg08::after,
.bg10::before{
  transform: rotate(-2.5deg) translate(0,-45%);
}
.bg05::after{
  background: #232323
}
.bg02::after,
.bg07::before,
.bg08::after,
.bg10::before{
  background: #e3e3e3;
}
.bg09::before{
  background-color: #464646;
  transform: rotate(3deg) translate(0%);
  height: 5vw;
}

.bg10::before{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/free-try-circle.svg) no-repeat;
  background-size: 96%;
  background-position: 105.1px 61.6%;
}

/* 下層ページセクション間の余白共通指定 */
.charm-main section:not(#cv),
.ove_use section:not(#cv),
.device-main section:not(#cv),
.guide-main section:not(#cv),
.callcenter-area.initial-cancel-area section:not(#cv) {
  padding: 90px 30px;
}
.charm-main section:not(#cv).other-first,
.ove_use section:not(#cv).other-first,
.device-main section:not(#cv).other-first,
.guide-main section:not(#cv).other-first,
.callcenter-area.initial-cancel-area section:not(#cv).other-first {
  padding: 0 30px 90px;
}
.charm-main section:not(#cv):last-child,
.ove_use section:not(#cv):last-child,
.device-main section:not(#cv):last-child,
.guide-main section:not(#cv):last-child {
  padding: 90px 30px 120px;
}
.charm-main section:not(#cv).other-first .section-inner,
.ove_use section:not(#cv).other-first .section-inner,
.device-main section:not(#cv).other-first .section-inner,
.guide-main section:not(#cv).other-first .section-inner {
  margin-top: 90px;
}
.ove_use div.white-content-box-sub-title,
.device-main div.white-content-box-sub-title {
  margin-top: 20px;
}
/* 下層ページセクション間の余白共通指定ここまで */

@media screen and (max-width: 767px) {
  section.other-first{
    padding: 0 0 50px;
    position: relative;
    overflow: hidden;
    z-index: 1;
  }
  section.other-first.guide{
    padding: 0 0 50px;
  }
  section.other-second,
  section.other-second.area-shrink{
    padding: 20px 0 50px;
    position: relative;
    z-index: 1;
  }
  section.other-second#insurance-section-4 {
    padding: 20px 0 50px;
  }
  section.other-second.device, section.other-third.device {
    padding: 20px 0 50px;
  }
  section.other-second.area-shrink{
    z-index: 0;
  }
  section.other-second.area-wide{
    padding: 50px 0px 80px;
  }

  section.other-second.guide{
    padding: 30px 0 50px;
  }
  section.other-third{
    padding: 20px 0 50px;
    position: relative;
    z-index: 1;
  }
  section.other-fourth{
    padding: 5px 0 50px;
  }
  section.other-fifth{
    padding: 5px 0 50px;
    overflow: hidden;
  }
  section.other-sixth{
    padding: 15px 0 50px;
    overflow: hidden;
  }
  section.other-seventh{
    background-size: 65%;
    padding: 10px 0 50px;
    position: relative;
    z-index: 0;
  }
  section.other-eight{
    background-color: #F3F3F3;
    padding: 5px 0 50px;
    overflow: hidden;
  }
  section.dual-third{
    padding: 45px 0;
  }
  section.other-first.anshin-kaiyaku{
    padding-bottom: 50px;
  }
  section.other-second.anshin-kaiyaku{
    padding-top: 50px;
  }

  section.other-second.area-shrink,
  section.other-third.area-shrink{
    padding: 100px 0 70px;
  }

  #reason.section-charcoal{
    padding: 2em 0 2em;
  }

  .bg01 {
    height: 12vw;
  }

  .bg01::before,
  .bg02::after {
    content: "";
    display: block;
    background: #f3f3f3;
    width: 120%;
    height: 10vw;
    box-shadow: 0 8px 8px rgb(0 0 0 / 10%);
    position: absolute;
    top: -30%;
    left: -10%;
    right: -10%;
    margin: auto;
    transform: rotate(2.5deg) translate(0,-45%);
  }
  .bg02::after {
    background: #e3e3e3;
    box-shadow: 0 8px 8px rgb(0 0 0 / 20%);
    transform: rotate(-2.5deg) translate(0,-45%);
  }
  .bg07 {
    z-index: 1;
  }

  /* 下層ページセクション間の余白共通指定(SP) */
  .charm-main section:not(#cv),
  .ove_use section:not(#cv),
  .device-main section:not(#cv),
  .guide-main section:not(#cv),
  .callcenter-area.initial-cancel-area section:not(#cv) {
    padding: 60px 0px;
  }
  .charm-main section:not(#cv).other-first,
  .ove_use section:not(#cv).other-first,
  .device-main section:not(#cv).other-first,
  .guide-main section:not(#cv).other-first,
  .callcenter-area.initial-cancel-area section:not(#cv).other-first {
    padding: 0 0px 60px;
  }
  .charm-main section:not(#cv):last-child,
  .ove_use section:not(#cv):last-child,
  .device-main section:not(#cv):last-child,
  .guide-main section:not(#cv):last-child {
    padding: 60px 0 90px;
  }
  .charm-main section:not(#cv).other-first .section-inner,
  .ove_use section:not(#cv).other-first .section-inner,
  .device-main section:not(#cv).other-first .section-inner,
  .guide-main section:not(#cv).other-first .section-inner {
    margin-top: 60px;
  }
  /* 下層ページセクション間の余白共通指定ここまで */
}

div.content-box-inner{
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
}
div.content-box-inner.price{
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
div.content-box-title p {
  font-size: 3.2rem;
  line-height: 40px;
  text-align: center;
  margin-bottom: 26px;
}

.callcenter-title{
  margin: 65px 0 40px;
}


div.content-box-title h1 p{
  font-weight: bold;
  margin-bottom: 30px;
}

div.content-box-title h1 p.seo-text{
  font-size: 24px;
  margin-bottom: 60px;
}

.ove_use section.other-second .white-content-box-faq-v2 .white-content-box-inner > h2 p{
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  div.content-box-inner{
    width: 100%;
    margin-top: 20px;
  }
  .charm-main div.content-box-inner,
  .ove_use div.content-box-inner {
    margin-top: 0;
  }
  div.content-box-inner-complete {
    margin-top: 0;
  }
  div.content-box-inner.news{
    width: 100%;
  }
  div.content-box-title p {
    font-size: 2.6rem;
    line-height: 30px;
    text-align: left;
  }
  h2.callcenter-title p{
    font-size:2.4rem;
  }
  div.content-box-title.news p{
    text-align: center;
  }
  div.content-box-title p.center{
    text-align: center;
  }
  div.faq-main-title p{
    font-size: 3.2rem;
    line-height: 40px;
  }
  section.other-second.anshin-kaiyaku{
    padding-top: 50px;
  }

  div.content-box-title h1 p{
    font-size: 2.6rem;
    line-height: 30px;
    text-align: left;
  }

  div.content-box-title h1 p.seo-text{
    font-size: 18px;
    margin-bottom: 0px;
  }

}

/*ボタン*/
.btn_box01{
  text-align: center;
  margin: 80px 0 0;
}
.btn_box01 h4{
  font-size: 2rem;
  letter-spacing: 0.15em;
  text-indent: -0.15em;
}
.btn_box01 h4 img{
  width: 40px;
  vertical-align: baseline;
  line-height: 1;
  margin: 0 7px -3px 0;
}
.btn_box01 ul{
  margin: 40px 0 0;
}
.btn_box01 ul li{
  display: inline-block;
  margin: 0 10px;
}
.btn_box01 ul li a{
  display: block;
  width: 320px;
  padding: 20px 40px;
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat 95% center #FFE400;
  background-size: 16px;
  color: #1E1E1E;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-indent: -0.2em;
  border-radius: 6px;
  box-sizing: border-box;
}

.btn_box02 a{
  background: #DB0066;
  width: 426px;
  display: block;
  margin: 0 auto;
  font-size: 1.8rem;
  font-weight: bold;
  color: #FFFFFF;
  letter-spacing: 0.05em;
  position: relative;
  text-align: center;
  text-decoration: none;
}
.btn_box02 a::after{
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 70px;
  background: #1E1E1E;
  transition: .3s all;
}
.btn_box02 a:hover::after{
  width: 100%;
}
.btn_box02.charm{
  margin-bottom: 30px;
}

.btn_box02 a span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02.svg) no-repeat 386px center;
  background-size: 8px;
  display: block;
  padding: 25px 70px 27px 0;
  position: relative;
  z-index: 1;
}
.btn_box02.contract_cancel{
  padding-bottom: 40px;
}
.btn_box02.overseas{
  margin-top: 30px;
  margin-bottom: 30px;
}
.btn-area01{
  display: flex;
  justify-content: center;
}
.btn-area02{
  display: flex;
  justify-content: space-between;
}
.btn_box02_1 a,
.btn_box02_2 a{
  width:300px;
  font-size: 1.6rem;
}
.btn_box02_1 a span,
.btn_box02_2 a span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02.svg) no-repeat 263px center;
  background-size: 8px;
}
.btn_box02_2 a span{
  padding: 18px 70px 18px 0;
}

.style-margin{
  margin-top:50px;
}

@media screen and (min-width:767px){
  .btn_box02.price,
  .btn_box02.business{
    margin-top: -150px;
  }
}
@media screen and (max-width: 767px) {
  .btn_box01{
    text-align: center;
    margin: 80px 0 0;
  }
  .btn_box01 h4{
    font-size: 2rem;
    letter-spacing: 0.15em;
    text-indent: -0.15em;
  }
  .btn_box01 h4 img{
    width: 40px;
    vertical-align: baseline;
    line-height: 1;
    margin: 0 7px -3px 0;
  }
  .btn_box01 ul{
    margin: 40px 0 0;
  }
  .btn_box01 ul li{
    display: inline-block;
    margin: 0 10px;
  }
  .btn_box01 ul li a{
    display: block;
    width: 320px;
    padding: 20px 40px;
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat 95% center #FFE400;
    background-size: 16px;
    color: #1E1E1E;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    text-indent: -0.2em;
    border-radius: 6px;
    box-sizing: border-box;
  }

  .btn_box02 a{
    background: #DB0066;
    width: 280px;
    display: block;
    margin: 0 auto;
    font-size: 1.2rem;
    font-weight: bold;
    color: #FFFFFF;
    letter-spacing: 0.02em;
    position: relative;
    text-align: center;
    text-decoration: none;
  }
  .btn_box02 a::after{
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 45px;
    background: #1E1E1E;
    transition: .3s all;
  }
  .btn_box02 a:hover::after{
    width: 100%;
  }
  .btn_box02 a span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02_t.png) no-repeat 255px center;
    background-size: 6px;
    display: block;
    padding: 20px 45px 20px 0;
    position: relative;
    z-index: 1;
  }
  .btn-area02{
    flex-direction: column;
  }
  .btn_box02_2 a span{
    margin-top: 35px;
    padding: 14px 45px 14px 0;
  }
  .btn_box02_1 a span{
    margin-top: 35px;
  }
}

/*-------------------------------------------
    Guide
-------------------------------------------*/
.guide-main div.white-content-box-inner-flex {
  margin-bottom: 0;
  align-items: flex-start;
}
.guide-main div.white-content-box-inner-flex-right {
  transform: translateY(-20px);
}
.guide-main #guide-section-v2-1 div.guide-section-top {
  margin: 80px auto 0;
}
.guide-main div.white-content-box-inner {
  margin: 50px auto 0;
}
.guide-main section#guide-section-v2-2 {
  padding: 100px 0 60px;
}
.guide-main section#guide-section-v2-2 div.white-content-box-inner-flex-right,
.guide-main section#guide-section-v2-3 div.white-content-box-inner-flex-right {
  transform: translateY(-25%);
}
@media screen and (min-width: 767px) {
  .nav-inner-flex{
    display: flex;
    margin-left: auto;
    width: 51%;
    margin-right: auto;
  }
}

@media screen and (max-width: 767px) {
  .white-content-box-inner-flex-right p{
    position: relative;
    left: 38px;
  }
  .white-content-box-inner-flex-right.guide p{
    font-size:3em;
    text-align: center;
    font-size: 1.7em;
  }
  .guide-description{
    font-size: 4em;
    padding-bottom: 76px;
  }
  .nav-inner-flex.second{
    display: flex;
    padding-left:90px;
    margin-left: auto;
    width: 51%;
    margin-right: auto;
  }
  .guide-nav-description{
    line-height: 33px;
    padding-left: 5px;
    text-align: center;
    font-size: 2em;
    padding-bottom: 20px;
  }
  .nav-inner-flex{
    display: flex;
    padding-left: 18px;
  }
  .guide-nav-description.second{
    padding-top:5px;
  }
  .guide-main #guide-section-v2-1 div.white-content-box-title-sub-dir p {
    text-align: center;
  }
  .guide-main #guide-section-v2-1 div.guide-section-top {
    margin: 60px auto 0;
  }
  .guide-main div.white-content-box-inner {
    margin: 30px auto 0;
  }
  .guide-main div.white-content-box-inner-flex-right {
    position: relative;
    transform: none;
  }
  .guide-main .guide .flow_box {
    margin: 30px 20px 20px;
  }
  .guide-main .flow_box .flow-item .txt-strong {
    margin: 0;
    position: absolute;
    top: 0px;
  }
  .guide-main .guide .flow_box .flow-item .flex-right {
    width: 100%;
  }
  .guide-main section#guide-section-v2-2 {
    padding: 60px 0;
  }
  .guide-main #guide-section-v2-1 .flow_box .flow-item .flex-right img {
    width: 80%;
    margin: auto auto auto 0;
  }
  .guide-main #guide-section-v2-1 .flow_box .flow-item .txt-strong {
    right: 10px;
  }
  .guide-main #guide-section-v2-2 .flow_box .flow-item .txt-strong {
    top: 10px;
    left: 10px;
  }
  .guide-main #guide-section-v2-2 .flow_box .flow-item .flex-right img {
    margin: auto 0 auto auto;
  }
  .guide-main section#guide-section-v2-2 div.white-content-box-inner-flex-right,
  .guide-main section#guide-section-v2-3 div.white-content-box-inner-flex-right {
    transform: none;
  }
  .guide-main #guide-section-v2-3 .flow_box .flow-item .txt-strong {
    left: 0;
  }
  .guide-main #guide-section-v2-3 .flow_box .flow-item .flex-right img {
    margin: auto 0 auto auto;
    width: 70%;
  }
}
@media screen and (max-width: 360px){
  div.nav-inner-flex {
    display: flex;
    padding-left: 11px;
  }
  div.guide-number.number1{
    position: relative;
    top: 30px;
    right: 106px;
    z-index: 10000000;
  }
}

/*-------------------------------------------
    FAQ
-------------------------------------------*/

div.faq-content {
  padding: 0 60px;
  margin-bottom: 50px;
}
div.lp-faq-contents-v2 {
  padding: 0 40px;
  margin: 70px 0 0;
}
div.faq-nav-icons div.nav-box span{
  display: none;
}
div.faq-category-title p{
  margin:60px 0 30px;
}

div.faq-category-title p span{
  font-size: 1.3rem;
  text-align: center;
  display: block;
}

@media screen and (max-width: 767px) {
  div.faq-content{
    padding: 0;
    margin-bottom: 0;
  }
  div.lp-faq-contents-v2 {
    padding: 0;
    margin: 10px 0;
  }
  div.faq-category-title p span{
    text-align: left;
  }
}

/*-------------------------------------------
    Column
-------------------------------------------*/

div.btn_box02.column{
  margin: 40px 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

div.btn_box02.column a{
  margin: 0;
}

.btn_box02.column img{
    width: 130px;
    margin-left: 50px;
  }
div.content-box-inner p.column-title-paragraph{
  font-size: 1.8rem;
  padding-bottom: 0;
  text-decoration: underline;
}
.column-paragraph{
  padding-bottom: 30px;
}
.column-chapater-paragraph{
  padding-bottom: 50px;
}
.content-box-title.column{
  padding-bottom: 30px;
  font-weight: bold;
}
.content-box-sub-title.column p{
  font-size: 2.5rem;
  text-align: center;
}
.content-box-sub-title p{
  font-size: 2.8rem;
  line-height: 3rem;
}

/*追従ボタン 詳しく見る*/
#price_fix.column-fix{
  top:43vh;
}

@media screen and (min-width:767px){
  /*背景調整用*/
  section.other-first.column.narrow{
    background-position: left bottom;
    padding: 0 30px 70px;
  }
  section.other-second.column.narrow{
    background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/devise_para02_t.png);
    background-position: right bottom;
    background-size: 680px;
    padding: 110px 30px 70px;
  }
}
@media screen and (max-width:767px){
  #price_fix.column-fix{
    top:45vh;
  }
  div.btn_box02.column{
    margin: 0;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
  }
  .btn_box02.column img{
    margin-left: -20px;
    margin-bottom: 15px;
    padding: 0;
  }
  .btn_box02.column a{
    width: 100%;
  }
  .btn_box02.column a span{
    background-position: 93% center;
  }
  .content-box-sub-title p{
    font-size: 2rem;
    margin-bottom: 0;
  }
  section.other-second.column{
    background-position: right -1%;
    padding: 70px 0 30px;
  }
  .white-content-box-inner.column p{
    padding-bottom: 30px;
  }
  .content-box-sub-title.column p{
    font-size: 2.2rem;
    text-align: left;
    padding-bottom: 30px;
  }
}

@media screen and (max-width:320px){
  .btn_box02.column img{
    width: 122px;
    height: 102px;
    position: relative;
    left: 62px;
    top: 20px;
  }
}
/*-------------------------------------------
    Cv
-------------------------------------------*/
#cv{
  background: #FFE400;
  padding: 40px 20px 40px;
}

#cv.dual_contact{
  background: rgb(148,182,255);
  background: linear-gradient(90deg, rgba(148,182,255,1) 0%, rgba(169,240,255,1) 64%, rgba(169,240,255,1) 100%);
}

#cv dl{
  margin-block-start: 0;
  padding-left: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
}
#cv dl.cr-cv{
  padding-left: 320px;
}
#cv dl::before,
#cv dl::after{
  content: "";
  display: block;
  width: 203px;
  height: 287px;
  position: absolute;
  bottom: -91px;
  z-index: 3;
}
#cv dl::before{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/footer-person_right.webp) no-repeat;
  background-size: contain;
  right: 0;
}
#cv dl.business::before{
  right: -155px;
}
#cv dl::after{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/footer-person_left.webp) no-repeat;
  background-size: contain;
  left: 0;
}
#cv dl.business::after{
  left: -155px;
}
#cv dl dt,
#cv dl dd{
  width: 290px;
}
#cv dl dt h3{
  font-size: 2rem;
  font-weight: 500;
  margin: 0 0 15px;
  letter-spacing: 0.06em;
}
#cv dl dt h3 div{
  display: flex;
  align-items: center;
}
#cv dl dt h3 div p:last-child{
  line-height: 1;
  width: 80%;
}
#cv dl dt h3 img{
  width: 44px;
  vertical-align: middle;
  margin: -4px 8px 0 0;
}

#cv dl dt a{
  display: block;
  border-radius: 12px;
  background: #DB0066;
  text-align: center;
  padding: 25px 0;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-indent: -0.2em;
  transition: .3s all;
}
@media screen and (min-width:768px){
  #cv dl.business dt a,
  #cv dl.business dd a{
    height: 91px;
    box-sizing: border-box;
  }
}
#cv dl dt a:hover{
  background: #1E1E1E;
  color: #FFE400;
  border-color: #000;
}
@media (max-width: 767px) {
  #cv dl dt a {
    border: 0;
  }
  #cv dl.business::after{
    content: "";
    display: block;
    position: absolute;
    bottom: -28px;
    z-index: 3;
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/footer-person_left.webp) no-repeat;
    background-size: contain;
    left: 0;
  }
}
#cv dl dt a span{
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat right -2px; */
  background-size: 25px;
  display: inline-block;
  vertical-align: middle;
  padding-right: 25px;
}
#cv dl dt a:hover span{
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_on_t.png) no-repeat right -2px; */
  background-size: 25px;
}
#cv dl dd{
  text-align: center;
  margin-left: 15px;
}
#cv dl dd h3{
  font-size: 2rem;
  font-weight: 500;
  margin: 0 0 15px;
}
#cv dl dd h3 img{
  width: 44px;
  vertical-align: middle;
  margin: -4px 8px 0 0;
}
#cv dl dd a{
  display: block;
  border-radius: 12px;
  background: #026abd;
  text-align: center;
  padding: 25px 0;
  color: #251814;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-indent: -0.2em;
  transition: .3s all;
}
#cv dl dd a.dual-page{
  border: 0;
}

#cv dl dd a:hover{
  background: #1E1E1E;
  color: #FFE400;
}
#cv dl dd a span{
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat right -2px; */
  background-size: 25px;
  display: inline-block;
  vertical-align: middle;
  padding-right: 25px;
  filter: brightness(0) invert(1);
  font-weight: 900;
}
#cv dl dd a:hover span{
  /* background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_on_t.png) no-repeat right -2px; */
  background-size: 25px;
  filter: none;
}
#cv h3.business-logo{
  padding-left: 270px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  font-weight: normal;
}
#cv h3.business-logo p.logo{
  width: 44px;
  margin: -4px 8px -7px 0;
}
#cv h3.business-logo p.text{
  width: 268px;
  font-size: 2.4rem;
}
#cv dl.business dd{
  margin-inline-start: 10px;
}
#cv dl.business dt a.pc {
  padding-top: 21px;
  padding-bottom: 21px;
}
#cv dl.business dt a.pc span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat right -2px top 11px;
  background-size: 25px;
  display: inline-block;
  text-align: center;
  padding: 0 30px 0 20px;
  line-height: 1.25;
}
#cv dl.business dt a.pc:hover span{
  background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_on_t.png);
}
#cv dl.business dd a.pc span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_t.png) no-repeat right -2px top 7px;
  background-size: 25px;
  text-align: center;
  padding: 10px 20px 9px 20px;
}
#cv dl.business dd a.pc:hover span{
  background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow_on_t.png);
}
@media screen and (max-width:767px){
  #cv{
    padding: 11px 8%;
    box-shadow: 0 6px 6px rgb(0 0 0 / 20%);
    position: relative;
  }
  #cv dl,
  #cv dl.cr-cv{
    padding-left: 35%;
    align-items: center;
  }
  #cv dl.business{
    flex-direction: column;
  }
  #cv dl::before {
    content: none;
    background: none;
  }
  #cv dl::after{
    width: 113px;
    height: 156px;
    bottom: -41px;
  }
  #cv dl dt{
    width: 100%;
  }
  #cv dl dt h3{
    font-size: 3.5vw;
    font-weight: 700;
    margin: 0 5px 10px;
  }
  #cv dl dt h3 img{
    width: 38px;
    margin: -2px 8px 0 0;
  }
  #cv dl dt a {
    padding: 17px 0;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
  }
  #cv dl dt a.sp{
    display: inline-block;
    vertical-align: middle;
    width: 45%;
    text-align: center;
    margin: 0;
  }
  #cv dl.business dt a.sp{
    display: block;
    flex-direction: column;
    width: 100%;
    margin: 5px 0;
  }
  #cv dl dt a.sp:last-child span{
    margin: 0 5px 0 0;
  }
  #cv dl dt a.sp:last-child{
    background: #026abd;
  }
  #cv dl dt a.sp:last-child:hover{
    background: #1E1E1E;
  }
  #cv dl dt a span{
    padding: 0;
    background: none;
  }
  #cv dl dt a:last-of-type span{
    filter: brightness(0) invert(1);
    font-weight: 900;
  }
  #cv dl dt a:hover span {
    background-size: 25px;
    background: none;
    filter: none;
  }
  #cv dl dd{
    display: none;
  }
  #cv dl.cr-cv dt h3 div p:last-child{
    text-align: center;
  }
  .sp_btn.cr-entry{
    top: 12px;
  }
  .sp_btn.cr-entry a{
    padding: 18px 0;
    font-size: 1.2rem;
  }
}
/*-------------------------------------------
    Share
-------------------------------------------*/
#share{
  background: #646464;
  padding: 70px 20px;
}
#share h2{
  font-size: 2.6rem;
  color: #FFFFFF;
  letter-spacing: 0.08em;
}
#share ul{
  text-align: center;
}
#share ul li{
  display: inline-block;
  vertical-align: middle;
  margin: 0 45px;
}
#share ul li a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 83px;
  height: 83px;
  border-radius: 100%;
  transition: .3s all;
}
#share ul li.fb a{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/fb_btn_on_t.png) center no-repeat #FFE400;
  background-size: 21px;
}
#share ul li.fb a:hover{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/fb_btn_on_t.png) center no-repeat #1E1E1E;
  background-size: 21px;
}
#share ul li.fb img{
  width: 21px;
  transition: .3s all;
}
#share ul li.fb:hover img{
  opacity: 0;
}
#share ul li.tw a{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/tw_btn_on_t.png) center no-repeat #FFE400;
  background-size: 41px;
}
#share ul li.tw a:hover{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/tw_btn_on_t.png) center no-repeat #1E1E1E;
  background-size: 41px;
}
#share ul li.tw img{
  width: 41px;
  transition: .3s all;
}
#share ul li.tw:hover img{
  opacity: 0;
}
@media screen and (max-width:767px){
  #share{
    padding: 40px 20px;
  }
  #share h2{
    font-size: 2rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  #share ul li{
    margin: 0 10px;
  }
  #share ul li a{
    width: 40px;
    height: 40px;
  }
  #share ul li.fb a,
  #share ul li.fb a:hover{
    background-size: 11px;
  }
  #share ul li.fb img{
    width: 11px;
  }
  #share ul li.tw a,
  #share ul li.tw a:hover{
    background-size: 20px;
  }
  #share ul li.tw img{
    width: 20px;
  }
}
/*-------------------------------------------
    Footer
-------------------------------------------*/
footer:not(.exclusion){
  background: #2C2C2C;
}
footer:not(.exclusion).footer-menu{
  padding: 40px 0 0;
}
footer:not(.exclusion) .inner{
  display: flex;
  justify-content: space-around;
  align-items: center;
}
footer:not(.exclusion) .ft_logo{
  width: 155px;
}
footer:not(.exclusion) .ft_logo img{
  max-width: 90%;
}
footer:not(.exclusion) .ft_nav{
  width: calc(100% - 285px);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
footer:not(.exclusion) .ft_nav li{
  color: #fff;
  padding-bottom: 11px;
}
footer:not(.exclusion) .ft_nav li a{
  color: #FFFFFF;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  text-decoration: none;
}
footer:not(.exclusion) #copy{
  background: transparent;
  text-align: center;
  font-size: 1.1rem;
  color: #FFFFFF;
  padding: 10px 0 30px;
  margin: 0px 0 0;
  text-align: right;
}
footer:not(.exclusion) #copy span{
  display: block;
  max-width: 980px;
  margin: 0 auto;
  letter-spacing: 0.06em;
  padding-right: 0px;
  }
footer:not(.exclusion) ul{
  padding-inline-start: 0;
}

footer:not(.exclusion) ul li{
  list-style: none;
}

div.guide-nav-icons{
  padding: 15px 0 0;
}
footer:not(.exclusion).footer-menu div.ft_nav ul li a{
  text-decoration: none;
}
footer:not(.exclusion).biz-footer .ft_nav {
  width: calc(100% - 460px);
}
footer:not(.exclusion) #copy {
  padding: 0;
  margin: auto 0 0 0;
  line-height: 6;
}
footer:not(.exclusion) .ft_logo img {
  max-width: 155px;
}
footer:not(.exclusion).footer-menu {
  padding: 40px 0;
}
@media screen and (min-width: 1281px) {
  footer:not(.exclusion).footer-menu.footer-new.footer-biz .inner{
    max-width: 1025px;
    justify-content: space-evenly;
  }
  footer:not(.exclusion).footer-menu.footer-new.footer-biz .ft_nav{
    width: calc(100% - 435px);
  }
}
@media screen and (max-width: 767px) {
  footer:not(.exclusion).footer-menu{
    padding: 45px 0 0;
  }
  footer:not(.exclusion) .inner {
    display: block;
  }
  footer:not(.exclusion) .ft_logo{
    width: 100%;
    text-align: center;
  }
  footer:not(.exclusion) .ft_logo img{
    margin: 0 auto 40px;
  }
  footer:not(.exclusion).corp-footer-multiple .ft_logo a {
    margin-bottom: 40px;
    display: inline-block;
  }
  footer:not(.exclusion).corp-footer-multiple .ft_logo img {
    margin: 0 auto;
    width: 100%;
  }
  footer:not(.exclusion) .ft_nav,
  footer:not(.exclusion).biz-footer .ft_nav{
    width: 100%;
    box-sizing: border-box;
    padding: 0 8%;
    flex-wrap: wrap;
  }

  footer:not(.exclusion) .ft_nav li{
    padding: 0;
  }
  /* footer:not(.exclusion) .ft_nav ul:nth-of-type(1),
  footer:not(.exclusion) .ft_nav ul:nth-of-type(2),
  footer:not(.exclusion) .ft_nav ul:nth-of-type(3){
    width: 100%;
    display: block;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 0;
  }
  footer:not(.exclusion) .ft_nav ul.pc:nth-of-type(1),
  footer:not(.exclusion) .ft_nav ul.pc:nth-of-type(2),
  footer:not(.exclusion) .ft_nav ul.pc:nth-of-type(3){
    display: none;
  }
  footer:not(.exclusion) .ft_nav ul:nth-of-type(4),
  footer:not(.exclusion) .ft_nav ul:nth-of-type(5){
    width: 48%;
    margin: 0;
  }
    footer:not(.exclusion) .ft_nav li span{
        display: none;
    }
  footer:not(.exclusion) .ft_nav ul:nth-of-type(4) li a,
  footer:not(.exclusion) .ft_nav ul:nth-of-type(5) li a{
    padding: 0;
    border-top: solid 1px #909090;
    display: flex;
    font-size: 1.1rem;
    line-height: 1.3;
    min-height: 53px;
    align-items: center;
  }
  footer:not(.exclusion) .ft_nav ul:nth-of-type(3) li:last-child{
    border-bottom: 1px solid #909090;
  }
  footer:not(.exclusion) .ft_nav li a{
    font-size: 2.5vw;
    line-height: 1;
  } */
  footer:not(.exclusion) #copy{
    font-size: 1rem;
    padding: 0 8% 20px;
    margin: 0px 0 0;
    text-align: center;
  }
}

/*-------------------------------------------
     Contract_initial_cancel
 -------------------------------------------*/
.size-up{
  font-size: 2.4rem;
}

div.cancel-box{
  width: 30%;
  margin: 0;
}

div.cancel-title{
  margin-bottom: 30px;
}

div.cancel-title > h2 span,
div.cancel-title > p span{
  padding-right: 0.5em;
  font-size: 1.5em;
  display: inline-block;
  vertical-align: bottom;
}

div.faq-nav-icons.contract-cancel{
  justify-content: space-between;
  width: 65%;
  margin: auto;
  padding: 0;
}

div.faq-nav-icons div.nav-box.faq-contract-cancel{
  line-height: 1.7em;
  height: 80px;
  background-position: center 65px;
}

div.cancel-flexbox div.white-content-box-inner-flex-right{
  width: 40%;
  z-index: 1;
}
div.cancel-flexbox div.white-content-box-inner-flex-right.cancel-aplly{
  width: 35%;
}

.cancel-callcenter{
  padding: 30px 0 0 0;
}

.cancel-callcenter-mypage{
  padding: 20px 0 0 0;
}

@media screen and (max-width:767px){
  .size-up{
    font-size: 2.4rem;
    line-height: 1.3em;
  }
  div.faq-nav-icons.contract-cancel{
    width: 100%;
    margin: 0;
  }
  div.faq-nav-icons div.nav-box.faq-contract-cancel{
    background-size: 15px;
    height: 67px;
    background-position: center 52px;
  }
  div.cancel-title{
    margin-bottom: 0.5em;
  }
  div.cancel-title > h2 span,
  div.cancel-title > p span{
    font-size: 1.7em;
  }
  div.nav-box-text p{
    font-size: 1.1rem;
  }
  div.faq-nav-icons.faq-categories div.nav-box{
    background-position-y: 57px;
  }
  div.faq-nav-icons.faq-categories div.nav-box-text p{
    font-size: 1.2rem;
  }
  div.nav-box-text.contract-cancel p{
    line-height: 1.5rem;
  }
  div.white-content-box-inner-flex.cancel-flexbox{
    flex-direction: column;
    margin-bottom: 20px;
  }

  div.cancel-flexbox div.white-content-box-inner-flex-right,
  div.cancel-flexbox div.white-content-box-inner-flex-left{
    width: 100%;
  }
  div.cancel-flexbox div.white-content-box-inner-flex-right.cancel-aplly{
    width: 60%;
  }

  div.white-content-box-inner.cancel-callcenter{
    padding: 0;
    margin-top: 40px;
  }

  div.white-content-box-inner.cancel-callcenter-mypage{
    padding: 0;
    margin-top: 40px;
  }
}

/*文字白色にする*/
section#price div.white-text p,
section#reason div.white-text p,
section#promotion div.white-text p{
  color:#FFFFFF;
}

h2.text-title,
#devise h2.text-title,
#price h2.text-title{
  text-align: left;
  padding-top: 1em;
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.2;
  margin: 0;
}
/*見出し上の小さい文字*/
h2 span.text-sub-title{
  font-size: .6em;
}
div.white-content-box{
  margin:0 0 50px 0;
}

/*各セクションをまとめる*/
.wrap-area{
  display: flex;
  justify-content: space-between;
  margin: 2em 0;
}
.wrap-area p{
  letter-spacing: 0.12em;
}
/*セクション内2分割（右）*/
.right-block{
  width: 50%;
  margin-bottom: 0;
  position: relative;
}

/*price*/
/*セクション角の人物*/
@media screen and (max-width: 767px) {
  .wrap-area{
    display: block;
    justify-content:initial;
    margin-top: 2em;
    position: relative;
    z-index: 1;
  }
  .wrap-area p{
    letter-spacing: 0;
  }
  /*セクション内2分割（右）*/
  .right-block{
    width: auto;
    position: static;
  }
  .nav-link{
    font-size: 10px;
  }
  .nav-link:first-child{
    border-left: none;
  }
  .nav-link:last-child{
    border-right: none;
  }
}
/*プラン名と表*/
.plan-title{
  justify-content: space-between;
  align-self: start;
  margin-top: 0;
}

div.price-plan-image .plan-title img{
  width: 45%;
}
@media screen and (min-width:767px){
  div.price-plan-image .plan-title h2 img{
    width: 115%;
  }
}

/*プラン*/
.price-button{
  margin: -50px 0 50px;
}

/*注釈*/
section#price div.price-remarks p{
  font-size: 1.15rem;
  margin: 0;
  line-height: initial;
  color: #808080;
}
@media screen and (max-width: 767px) {
  /*プラン名と表*/
  .plan-title,
  .price-plan,
  .price-image{
    flex-direction: column;
    justify-content:unset;
  }
  div.price-plan-image .plan-title img,
  div.price-image img{
    width: 100%;
    margin:0 auto 1em;
  }
  .plan-title img{
    z-index: 1;
  }

  /*注釈*/
  .remarks p{
    font-size: 0.8rem;
    line-height: 1.5em;
    z-index: 2;
    position: relative;
  }
  /*舞香ちゃんのうしろに三角形を重ねる*/
  section#price h3.free-back{
    padding: 0 10%;
    margin: 0 -10%;
  }

  .free-back{
    background:url(https://d1q08lkutgkcx2.cloudfront.net/image/plus_para02_t.png) no-repeat right;
    background-size: 45%;
    background-position: 100% 52%;
    padding: 0 13%;
    margin: 0 -13%;
  }

  .price-button{
    margin: 0px;
  }
}

@media screen and (max-width:320px){
  div.price-image.price img.sp-pop-now {
    top: 250px;
  }
  div.price-image.business img.sp-pop-now {
    top: 230px;
  }
}

/*おかわりギガ*/
.plan-okawari{
  flex-direction: row;
}
@media screen and (min-width: 767px) {
  .condo-in-preparation-price-pc,
  .plan-okawari img{
    width: 100%;
    margin-bottom:1em;
    position: relative;
    bottom: 130px;
  }
  div.text-okawari p{
    font-size: 2.15rem;
    line-height: 1.7;
    font-weight: bold;
  }
  .condo-in-preparation-price-pc {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  h2.text-title,
  #devise h2.text-title,
  #price h2.text-title{
    z-index: 0;
    position: relative;
    font-size: 3rem;
    padding-top:1.4em;
  }
  .plan-okawari{
    display: flex;
    justify-content: space-between;

  }
  .plan-okawari img{
    width:30%;
  }
  .text-okawari{
    margin-bottom: 20px;
  }
  div.text-okawari p{
    font-size: 1.6rem;
    line-height: 3rem;
    font-weight: bold;
  }
  div.content-box-inner p.condo-in-preparation{
    text-align: left;
  }
  .condo-in-preparation-price-pc{
    display: none;
  }
  .condo-in-preparation-price-sp{
    display: block;
    text-align: left;
    margin-top: 15px;
  }
}

/*端末あんしんオプション*/
.option-area{
    align-items: center;
}

.option-table{
  width:50%;
    margin-right: 6%;
}
@media screen and (min-width: 767px){
  div.price-topping-2-body-left-text,
  div.insurance-option div.heading-text p {
    margin-bottom: 2em;
    font-size: 1.8rem;
    line-height: 3.0rem;
    font-weight: bold;
  }
  div.insurance-option div.heading-text p {
    width: 100%;
    margin: 2em 0 0;
  }
}
.lp-price-page .other-sixth .overseas-area p{
  font-weight: 600;
}
@media screen and (min-width: 768px){
  .lp-price-page .other-sixth .overseas-area p,
  .lp-price-page .other-sixth .white-content-box-body-overseas p {
    font-size: 2.15rem;
    line-height: 1.7;
  }
}
/*条件表*/
div.price-topping-2-body-right-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: solid 1px #000;
}

div.price-topping-2-body-right-row:last-child {
  border-bottom: solid 1px #000;
}
div.price-topping-2-body-right-column {
  text-align: left;
  font-size: 1.3rem;
}
div.price-topping-2-body-right-column-remarks{
  padding: 0;
}
div.price-topping-2-body-right-column:last-child {
  box-sizing: border-box;
  width: 80%;
  border-left: solid 1px #000;
  padding: 5px 7px;

}
div.price-topping-2-body-right-row p{
  letter-spacing: 0;
  font-size: 1.3rem;
  margin-bottom: 0;
}

ul.table-option{
  margin: 0;
  padding-left:1.5em;
  line-height: 1.5rem;
}
ul.table-option li{
  margin: 5px 0;
  line-height: 1.5em;
}

@media screen and (max-width: 767px) {
  div.price-topping-2-body-right-column {
    font-size: 1.2rem;
  }
  div.price-topping-2-body-left-text p {
    font-size: 1.3rem;
    line-height: 2.0rem;
    width: auto;
  }
  div.price-topping-2-body-right-row p{
    letter-spacing: 0;
    font-size: 1.2rem;
  }
  .option-table{
    width:100%;
  }
  .option-table img{
    width: 80%;
    padding: 0 10% 10%;
  }
  ul.table-option li{
    margin: 0;
    line-height: 1.5em;
  }
}
/*海外プラン*/
.overseas-area{
  width: 80%;
}
.forbiz #overseas .overseas-area{
  width: 95%;
}
.overseas-image{
  margin: auto;
  width: 100%;
}

.overseas-image img{
  width: 100%;
  margin: 2em auto;
}
@media screen and (max-width: 767px) {
  .overseas-area{
    width: 100%;
  }
  .overseas-image img{
    margin: 0 auto 2em;
  }
}

/*-------------------------------------------
    Campaign Archive
-------------------------------------------*/

div.white-content-box-inner.campaign{
  padding-bottom: 100px;
  margin-top: 0;
}
div.campaign-archive-description-img-box{
  width: 100%;
  margin: -20px auto 20px;
}
div.campaign-archive-description-img-box img{
  width: 100%;
  outline: solid 2px #121212;
  outline-offset: -2px;
}
div.debut-description-period {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 40px;
  margin: 20px 0;
}
div.debut-description-period-title {
  width: 20%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
div.debut-description-period-desciption {
  width: 80%;
  padding: 0 30px;
  display: flex;
  align-items: center;
}
div.debut-description-period-desciption.twitter-campaign{
  display: block;
}
div.debut-description div.black-box {
  text-align: center;
  background-color: #000000;
  width: 150px;
  height: 40px;
  color: #FFFFFF;
  font-size: 1.3rem;
}
div.debut-description div.black-box p {
  line-height: 40px;
}
div.campaign-archive-description{
  display: flex;
  justify-content: start;
  align-items: center;
  height: auto;
  position: relative;
}
div.debut-description-body {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 30px 0;
  padding-bottom: 30px;
}
div.debut-description-body-title {
  width: 20%;
  text-align: center;
  display: flex;
  justify-content: center;
}
p.remark-text.campaign-archive{
  font-size: 1.1rem;
  margin-left: 0;
  color: #000000;
}

@media screen and (max-width: 1440px) and (min-width: 767px) {
  div.campaign-archive-description-img-box{
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  div.white-content-box-inner.campaign{
    padding-bottom: 0;
  }
  div.debut-description-period {
    flex-wrap: wrap;
    padding: 0px 0 30px 0;
    margin: 0;
  }
  div.debut-description-period.space{
    margin-bottom: 30px;
  }
  div.debut-description-period-title {
    width: 100%;
    justify-content: flex-start;
  }
  div.debut-description-period-desciption {
    width: 100%;
    justify-content: flex-start;
    padding: 10px 0 0 0;
  }
  div.debut-description-body {
    flex-wrap: wrap;
    margin: 30px 0 0;
    padding-bottom: 0;
  }
  div.debut-description-body-title {
    width: 100%;
    justify-content: flex-start;
    padding-bottom: 10px;
  }
  div.debut-description {
    padding-top: 0;
  }
}
/*-------------------------------------------
     Contract Initial Cancel
 -------------------------------------------*/

div.white-content-box-inner-flex.cancel-flexbox{
  margin-bottom: 40px;
  align-items: center;
}

 /*カテゴリーボタン*/
.size-up{
  font-size: 2.4rem;
}
div.cancel-box{
  width: 30%;
  margin: 0;
}
div.faq-nav-icons.contract-cancel{
  justify-content: space-between;
  width: 65%;
  margin: auto;
  padding: 0;
}
div.nav-box.faq-contract-cancel{
  line-height: 1.7em;
  height: 80px;
  background-position: center 65px;
}
div.faq-nav-icons div.nav-box.faq-contract-cancel{
  line-height: 1.7em;
  height: 80px;
  background-position: center 65px;
}
div.cancel-flexbox div.white-content-box-inner-flex-right{
  width: 40%;
  z-index: 1;
}
div.cancel-flexbox div.white-content-box-inner-flex-right.cancel-aplly{
  width: 35%;
}

/*コールセンターのご案内*/
.cancel-callcenter{
  padding: 30px 0 0 0;
}

@media screen and (max-width:767px){
  .size-up{
    font-size: 2.4rem;
    line-height: 1.3em;
  }
  div.faq-nav-icons.contract-cancel{
    width: 100%;
    margin: 0;
  }
  div.faq-nav-icons div.nav-box.faq-contract-cancel{
    background-size: 15px;
    height: 67px;
    background-position: center 52px;
  }
  div.nav-box-text.contract-cancel p{
    font-size: 1.1rem;
    line-height: 1.5rem;
  }
  .btn_box02 a span.sp-text-height{
    line-height: 1.3em;
    padding: 15px 45px 15px 0;
  }

  div.white-content-box-inner-flex.cancel-flexbox{
    flex-direction: column;
    margin-bottom: 20px;
  }
  div.cancel-flexbox div.white-content-box-inner-flex-left{
    margin-bottom: 20px;
  }
  div.cancel-flexbox div.white-content-box-inner-flex-right,
  div.cancel-flexbox div.white-content-box-inner-flex-left{
    width: 100%;
  }
  div.cancel-flexbox div.white-content-box-inner-flex-right.cancel-aplly{
    width: 60%;
  }

  div.white-content-box-inner.cancel-callcenter{
    padding: 0;
    margin-top: 40px;
  }
}

/*-------------------------------------------
    Terms
-------------------------------------------*/
.white-content-box-terms{
  width: auto;
  margin:0 auto;
  padding:0;
  text-align: center;
}

.white-content-box-terms.zeus-terms{
  text-align: left;
}

@media screen and (min-width: 768px) {
  ul.white-content-box-terms.zeus-terms li{
    text-indent: -1.5em;
    padding-left: 1.5em;
  }
}

ul.white-content-box-terms.terms-pdf-center{
  width: auto;
  text-align: left;
  display: inline-block;
}

ul.white-content-box-terms li:before{
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 0px;
  background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/pdf-icon2.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}

ul.white-content-box-terms a{
  text-decoration: underline;
  line-height: 2rem;
  color:#0044CC;
}

ul.white-content-box-terms a:hover{
  text-decoration: underline;
  color: #6a9afc;
}

span.terms-attention{
  font-size:1.5rem;
  font-weight:normal;
}

div.content-box-title p.terms-title{
  line-height: 1.2;
}

ul.white-content-box-terms li{
  list-style: none;
  padding: 4px 0;
}

ul.white-content-box-terms.terms-pdf-center li{
  text-align: left;
  text-indent: -1.3em;
  line-height: 1.4em;
}

.terms-body{
  display: none;
  margin-bottom:40px;
  position: relative;
}

.last-terms{
  margin-bottom:0px;
}

.terms-btn.show{
  background-color:#646464;
  color:white;
}

div.terms-btn{
  position: relative;
  background-color:#ffeb00;
  color:#1E1E1E;
  padding: 15px 0;
  margin-top:20px;
  cursor: pointer;
  font-size:1.5rem;
}

div.terms-btn:hover,
div.close-btn:hover{
  opacity:0.5;
}

div.close-btn{
  width:20%;
  text-align: center;
  background-color:#646464;
  color:white;
  padding: 10px 0;
  margin:10px 0 0 auto;
  position: relative;
  padding-left:5px;
  cursor:pointer;
  font-size:1.2rem;
}

div.close-btn img{
  width: 11px;
  margin: 0 5px;
}

.terms-btn::after{
  content: "▼";
}

.terms-content-box:last-of-type{
  margin:50px auto 30px;
}

div.terms-first-btn{
  margin-top:35px;
}

div.white-content-box-inner.terms{
  margin: 12px auto 0;
}


div.content-box-inner.empty-top div.terms-content-box {
  padding: 45px 70px;
  border-radius: 30px;
  border: 3px solid #ffeb00;
  box-sizing: border-box;
  max-width: 750px;
  width: 750px;
  background-color: #fff;
}
.terms-content-box div.content-box-title p {
  text-align: left;
}
.terms-title span.terms-attention {
  margin-left: 10px;
}
div.content-container section.other-second .terms-content-box h2 {
  text-align: left;
  border-bottom: 3px solid #ffeb00;
  width: fit-content;
  line-height: 1.2;
  margin: 0 auto 45px 0;
  font-size: 3.2rem;
}
.terms-content-title-flex {
  display: flex;
  align-items: baseline;
  margin-bottom: 40px;
  border-bottom: 3px solid #ffeb00;
  width: fit-content;
  line-height: 1.2;
}
.content-box-title.terms-content-title-flex p {
  margin-bottom: 0;
}
div.content-container section.other-second .terms-content-box {
  max-width: 610px;
  width: 610px;
}
.terms div.content-container section.other-second {
  background-image: none;
  padding-top: 60px;
}
div.terms-btn {
  border-radius: 10px;
}
div.content-container section.other-second div.terms-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  line-height: 1.4;
  text-indent: 0;
  color: #000;
  border: 1px solid #ffeb00;
  background-color: #FFF;
  box-shadow: 0 0 15px rgb(0 0 0 / 20%);
  opacity: unset;
}
div.content-container section.other-second .terms-btn::after,
div.content-container section.other-second .terms-btn.show::after {
  margin-left: 0;
}
div.content-container section.other-second div.terms-btn:hover,
div.content-container section.other-second div.terms-btn.show {
  background-color: #ffeb00;
}
.terms-btn.show::after {
  content: "\025b2";
}
.terms-day-flex {
  display: flex;
}
div.content-container section.other-second .terms-body {
  width: 95%;
  margin: 35px auto 55px;
}
div.content-container section.other-second .terms-body ul.terms-list:first-child {
  width: 30%;
  margin: 0 0 3% 0;
}
section.other-second .terms-body ul.terms-list:first-child li.terms-year-select {
  background-color: #ffeb00;
}
.terms-year-select::after {
  content: "\025b6";
  position: absolute;
  right: 10px;
  font-size: 10px;
}
div.content-container section.other-second .terms-body ul.terms-list:not(:first-child) {
  width: 65%;
  background-color: #FFF;
  box-sizing: border-box;
  padding: 5px;
  border-radius: 5px;
  margin: 0 0 0 auto;
  height: fit-content;
}
@media (min-width: 768px) {
  div.content-container section.other-second .terms-body ul.terms-list:not(:first-child) {
    position: absolute;
    top: 0;
    left: 35%;
  }
}

ul.terms-list.terms-hidden {
  display: none;
}
section.other-second .terms-body ul.terms-list:first-child li {
  justify-content: center;
  background-color: #FFF;
  border-radius: 5px;
  align-items: center;
  height: 33.5px;
  position: relative;
}
ul.terms-list li {
  display: flex;
  align-items: flex-start;
  font-size: 13px;
  margin-bottom: 1em;
  list-style: none;
  text-align: justify;
  text-justify: inter-character;
}
ul.terms-list li:last-child {
  margin-bottom: 0;
}
ul.terms-list {
  padding: 0;
  margin: 0 20px;
}
.terms-body ul.terms-list:first-child li,
.terms-body ul.terms-list:not(:first-child) {
  box-shadow: 0 0 15px rgb(0 0 0 / 20%);
  cursor: pointer;
}
div.content-container section.other-second ul.terms-list:not(:first-child) li {
  margin-bottom: 0;
  border-bottom: 1px solid #b3b3b3;
  position: relative;
}
div.content-container section.other-second ul.terms-list a {
  text-align: center;
  text-decoration: unset;
  width: 100%;
  padding: 4px 0;
}
div.content-container section.other-second ul.terms-list:not(:first-child) li:before {
  content: '';
  width: 13px;
  height: 15px;
  background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/pdf-icon2.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  position: absolute;
  right: 13px;
  pointer-events: none;
  margin: 0;
  padding: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
div.content-container section.other-second ul.terms-list:not(:first-child) li:last-child {
  border-bottom: none;
}
div.content-container section.other-second ul.terms-list a span {
  display: inline-block;
  width: 65px;
}
div.content-container section.other-second ul.terms-list a span.re-revised {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .terms-content-box:first-of-type {
    margin: 40px auto;
  }
  .terms-body ul.terms-list li a {
    line-height: 2rem;
  }
}
@media screen and (max-width: 767px) {
  div.white-content-box-inner.terms{
    margin: 5px 0 12px 1.6em;
  }

  .white-content-box-terms{
    width: 100%;
    margin: 0;
  }

  ul.white-content-box-terms li{
    padding: 5px 0 0 1.3em;
    font-size: 1.2rem;
    text-indent: -1.3em;
    line-height: 1.5rem;
  }

  ul.white-content-box-terms.terms-pdf-center li{
    text-align: left;
  }

  .terms-content-box:last-of-type li::before{
    margin:0
  }

  div.terms li:before{
    width: 1.3em;
    height: 1.3em;
  }

  div.close-btn{
    width:25%;
  }

  span.terms-attention{
    font-size: 1.2rem;
  }

  .terms-btn::after{
    right: 35%;
  }

  div.terms-first-btn{
    margin-top:15px;
  }

  .terms-content-box:last-of-type{
    margin:40px 0 0;
  }

  div.terms-btn:hover{
    opacity:1;
  }
  .terms-content-title-flex {
    width: 100%;
    margin-bottom: 15px;
  }
  div.content-container section.other-first div.terms-content-box:last-of-type {
    padding: 20px 5%;
    width: 100%;
  }
  div.content-container section.other-second .terms-content-box {
    width: 100%;
    margin-top: 0;
  }
  .terms-content-box {
    margin: 0 auto 25px;
  }
  div.content-container section.other-second .terms-body {
    margin: 20px auto 45px;
  }
  .terms-day-flex {
    flex-direction: column;
    margin-bottom: 20px;
  }
  div.content-container section.other-second .terms-body .terms-day-flex ul.terms-list:first-child {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  div.content-container section.other-second .terms-body ul.terms-list:not(:first-child) {
    width: 100%;
    margin: -1px 0 0px auto;
    border-radius: 0 0 5px 5px;
  }
  div.content-container section.other-second .terms-body ul.terms-list:first-child{
    margin: 0;
  }
  section.other-second .terms-body ul.terms-list:first-child li.terms-year-select{
    width: 100%;
    border-bottom: 1px solid #666;
    border-radius: 5px 5px 0 0;
    box-shadow: 0px -7px 15px rgba(0, 0, 0, 0.15);
  }
  
  section.other-second .terms-body ul.terms-list:first-child li {
    width: 100%;
    height: 35px;
  }
  div.content-container section.other-second div.terms-btn {
    padding: 15px;
    text-align: left;
    line-height: 1.2;
    font-size: 13px;
  }
  div.content-container section.other-second ul.terms-list:not(:first-child) li:before {
    width: 11px;
    height: 13px;
    right: 10px;
    top: 18px;
  }
  .terms-year-select::after {
    content: "\025bc";
    position: absolute;
    right: 10px;
    font-size: 10px;
  }
  div.content-container section.other-second .terms-content-box h2 {
    font-size: 2.6rem;
  }
  div.content-container section.other-second ul.terms-list a {
    line-height: 1.7rem;
    letter-spacing: 0.03em;
    font-size: 1.2rem;
    padding: 10px 0;
  }
  div.content-container section.other-first div.terms-content-box:last-of-type h2 p {
    font-size: 2.4rem;
  }
  div.content-container section.other-second ul.terms-list a span.re-revised {
    text-align: center;
    padding-right: 0;
  }
  div.content-container section.other-second ul.terms-list a span {
    width: 50px;
    word-break: keep-all;
  }
  ul.terms-list li:nth-last-of-type(-n+2) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 413px) {
  div.content-container section.other-second ul.terms-list:not(:first-child) li:before {
    right: 5px;
  }
  div.content-container section.other-second ul.terms-list a {
    padding: 10px 15px 10px 0;
  }
}
@media screen and (max-width: 320px) {
  ul.white-content-box-terms li:before {
    margin:0 5px 0 40px;
  }

  .terms-content-box:last-of-type li::before{
    margin: 20px 5px 0 70px;
  }

  .terms-content-box:last-of-type li{
    text-indent:-8.5rem;
    margin-left:20px;
  }

  span.terms-attention {
    padding-left:0;
  }

  .terms-content-box .pc{
    display: block;
  }

  div.terms li::before{
    width:15px;
    height:15px;
  }
}

/*-------------------------------------------
    Company
-------------------------------------------*/
div.white-content-box-inner.company{
  margin-top: 20px;
}
div.white-content-box-inner.company > h2 p{
  font-size: 2.0rem;
  margin-bottom: 30px;
}
.company > div.price-fee-related-table-box{
  padding-bottom: 30px;
}
.company > div.price-fee-related-table-box table.device-spec-table{
  margin: 30px auto 0;
}

/*会社概要の表*/
table.company-table th{
  width: 10%;
}
table.company-table th,
table.company-table td{
  font-size: 1.35rem;
  line-height: 1.5em;
}

@media screen and (max-width: 767px) {
  div.white-content-box-inner.company{
    margin-top: 40px;
  }
  div.white-content-box-inner.company > h2 p.title-margin{
    margin-top: 40px;
  }
  .company > div.price-fee-related-table-box{
    padding-bottom: 0;
  }
  .company > div.price-fee-related-table-box table.device-spec-table{
    margin: 0 auto;
  }

  table.company-table{
    width: 95%;
    border-spacing: 0px 10px;
  }
  table.company-table th,
  table.company-table td{
    font-size: 1.4rem;
    line-height: 1.5em;
    width: 100%;
    display: block;
    padding: 2.5%;
    margin-left: -2.5%;
  }
  table.company-table td p{
    line-height: 1.6em;
  }
}

/*-------------------------------------------
    CM
-------------------------------------------*/
div.white-content-box-inner-flex.inner-flex-cm2{
  justify-content: center;
}
.cm-title{
  text-align: center;
  margin: 1em auto;
}

/*youtubeサイズ*/
div.youtube-wrap {
  position: relative;
  width: calc((100% - 60px) / 3);
  text-align: center;
  margin: 0 10px;
}
div.youtube-wrap iframe {
  width: 100%;
  border-radius: 10px;
}
.youtube-wrap p{
  text-align: left;
}
.youtube-wrap > div{
  text-align: center;
}
div.content-box-inner p.movie-title{
  font-weight: bold;
  margin: 15px 0;
  font-size: 1.5rem;
  text-align: center;
}
div.content-box-inner p.movie-cp{
  font-size: 1.1rem;
  margin:auto;
  display: inline-block;
}

/*メイキング*/
.making{
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
}
.making img{
  width: 30%;
  margin: 20px 0;
}

@media screen and (min-width: 767px) {
  div.youtube-wrap:last-child{
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  div.white-content-box-inner-flex.inner-flex-cm {
    margin: 0;
  }

  .cm-title{
    text-align: left;
  }
  div.content-box-inner div.white-content-box-sub-title.cm-title p{
    text-align: left;
    margin: 1em auto;
    font-size: 1.1em;
  }

  div.youtube-wrap {
    width: 100%;
    margin: 10px auto 30px;
  }
  div.youtube-wrap iframe {
    height: 170px;
  }

  .making img{
    width: 47%;
    margin: 3% 0;
  }
}

/*-------------------------------------------
    Campaign
-------------------------------------------*/

/*
追記 202107～ 夏キャンペーン
修正 202110～ WZEUSキャンペーン
修正 202203~ 大特価SALEキャンペーン
*/
@media screen and (min-width: 768px){
  div.price-campaign{
    background: #EF0000;
    width: 100%;
    background-size: cover;
    height: 100%;
  }
}

div.price-campaign-area{
  max-width: 1360px;
  margin: 0 auto;
  position: relative;
}
div.price-campaign-area img{
  width: 100%;
}

@media screen and (max-width: 767px){
  div.price-campaign-area{
    padding: 0;
    line-height: 0;
    width: 100%;
    aspect-ratio: 300/103;
  }
  div.top-campaign-period.price{
    position: absolute;
    width: 80%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 1.5rem;
  }
  div.top-campaign-period.price div p:last-of-type{
    margin-top: 5px;
  }
  div.top-campaign-period.price span.start,
  div.top-campaign-period.price span.end{
    font-size: 2.3rem;
  }
}
div.application-zeus-icon-box {
  width: 55px;
  height: 28px;
  position: absolute;
  left: 150px;
  top: 26px;
}

div.application-zeus-icon-box img{
  width: 100%;
}

@media screen and (max-width: 767px){
  div.application-zeus-icon-box {
    width: 45px;
    top: 7px;
    left: 80px;
  }
}

div.white-content-box-inner-cancel {
  margin-top: 50px;
  padding: 15px 80px;
  color: #FFF;
  margin-bottom: -35px;
}

@media screen and (max-width: 767px){
  div.white-content-box-inner-cancel {
    max-width: 100%;
    padding: 0 5%;
  }
}

div.contract-initial-cancel-icon-box-right {
  margin: 0 auto;
}

/*202109～
TwitterRTキャンペーン*/

div.terms-description{
  margin: 30px 0;
}

/*応募規約*/
@media screen and (max-width: 767px){
  .terms-bottom{
    margin-bottom: 25px;
  }
}
div.white-content-box-inner-document-notion div.white-content-box-inner-document{
  margin:10px auto 0;
}

.column-contents-flex {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

.column-contents-flex a {
  color: #000;
  display: block;
  padding: 30px;
  box-sizing: border-box;
}

div.content-box-inner p.column-contents-box-title {
  text-align: center;
  font-weight: bold;
  margin-bottom: 22px;
  font-size: 1.7rem;
}

.column-contents-box {
  background-color: #fff;
  margin-bottom: 34px;
  padding: 0;
  box-sizing: border-box;
  border-radius: 30px;
  filter: drop-shadow(4px 4px 4px rgb(0,0,0,20%));
  transform: translateZ(0);
}

.culumn-contents-img {
  margin: 27px auto 0;
  display: block;
  height: 180px;
}

div.content-box-title h1 p.column-contents-title {
  margin-bottom: 50px;
}

.column-contents-box-title span {
  background: linear-gradient(transparent 60%, #ffeb00 60%);
}

.column-contents-box:hover {
  outline: 3px solid #ffeb00;
  outline-offset: -3px;
}

.column-table-of-contents {
  background-color: #FFFFFF;
  padding: 50px;
  border-radius: 20px;
  margin-bottom: 45px;
}

div.column-table-of-contents p {
  font-weight: bold;
  color: #000000;
  display: inline-block;
  letter-spacing: 1px;
  line-height: 24px;
  font-size: 1.5rem;
}
.column-contents-box .column-contents-box-text:last-of-type{
  text-decoration: underline;
  padding-top: 0.5em;
}
div.column-table-of-contents p:hover,
div.column-table-of-contents a:focus p {
  opacity: 0.8;
  transition: 0.2s linear;
  text-decoration: underline;
}

div.column-table-of-contents p.column-table-of-contents-indent {
  text-indent: 2.5rem;
  font-weight: normal;
}

div.column-paragraph-title {
  background-color: #FFFFFF;
  padding: 30px;
  border-radius: 20px;
}

div.column-paragraph-title p {
  font-size: 2.5rem;
  letter-spacing: 1px;
  line-height: 40px;
}

.culumn-contents-img-width {
  width: 100%;
  margin-bottom: 45px;
}

.column_detail-h h2 {
  margin: 0;
  padding-bottom: 45px;
}

.column_detail-h h3 {
  margin: 0;
  padding-bottom: 25px;
}

div.column-main-title h1 p {
  margin-bottom: 45px;
  letter-spacing: 1px;
}

.column-paragraph-text {
  padding-bottom: 25px;
  line-height: 27px;
  letter-spacing: 2px;
}

.column-paragraph-text-end {
  padding-bottom: 45px;
}

.column-paragraph-text-last {
  padding-bottom: 30px;
}

@media screen and (max-width: 767px){
  .column-contents-flex {
    display: block;
  }

  .culumn-contents-img {
    width: 100%;
    height: auto;
  }

  .column-contents-flex a{
    padding: 30px 7%;
  }
  
  .column-contents-box {
    padding: 0;
  }

  div.content-box-title h1 p.column-contents-title {
    margin-bottom: unset;
  }

  div.column-main-title h1 p {
    margin-bottom: 35px;
    letter-spacing: 1px;
    line-height: 37px;
    font-size: 2.5rem;
  }

  div.content-box-inner-culumn {
    margin: 0;
  }

  .column-paragraph-text-end {
    padding-bottom: 35px;
  }

  .column-table-of-contents {
    background-color: #FFFFFF;
    padding: 30px 6%;
    border-radius: 20px;
    margin-bottom: 35px;
  }

  .column_detail-h h2 {
    margin: 0;
    padding-bottom: 25px;
  }

  div.column-paragraph-title {
    background-color: #FFFFFF;
    border-radius: 20px;
    padding: 20px 6%;
  }

  div.column-paragraph-title p {
    font-size: 1.5rem;
    letter-spacing: 1px;
    line-height: 24px;
  }

  .culumn-contents-img-width {
    width: 100%;
    margin-bottom: 25px;
  }

  .column-paragraph-text {
    padding-bottom: 25px;
    line-height: 21px;
    letter-spacing: 2px;
  }

  .column-paragraph-text-end {
    padding-bottom: 35px;
  }

  section.column_detail div.content-box-inner {
    margin: 0px;
  }

  .column-paragraph-text-last {
    padding-bottom: 0px;
  }

  div.content-box-inner p.column-title-paragraph {
    font-size: 1.5rem;
  }
}

/*-------------------------------------------
    instruction_manual_language
-------------------------------------------*/
#instruction_manual_language_page section.i-m-language-container{
  padding: 40px 0 60px;
}
.i-m-language-title{
  font-size: 3.6rem;
  text-align: center;
  margin-bottom: 40px;
}

.i-m-language-text{
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.6;
}

.i-m-language-btn-area{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 50px 30px;
  margin: 50px auto;
}

.i-m-language-button {
  width: 45%;
}
.i-m-language-button a {
  color: #000000;
  box-sizing: border-box;
  background: #FFFFFF;
  line-height: 1.4em;
  font-size: 1.8rem;
  font-weight: bold;
  height: 73px;
  position: relative;
  box-shadow: 0 0 15px rgb(0 0 0 / 20%);
  transition: .7s all;
  display: flex;
  justify-content: center;
  align-items: center;
}
.i-m-language-button a:hover {
  transform: none;
  background-color: #ffeb00;
  transition: .3s all;
}

.i-m-language-button a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 2em;
  transform: translateY(-50%);
  margin: auto;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 13px solid #DB0066;
}

section.i-m-language-container{
  padding: 0;
  box-sizing: border-box
}

footer #copy.i-m-language-footer{
  margin-top: 0;
}
@media (min-width: 768px) and (max-width: 1280px) {
  body#instruction_manual_language_page{
    position: relative;
  }
  #instruction_manual_language_page section.i-m-language-container{
    padding: 40px 0 120px;
  }
}
@media screen and (max-width: 767px){
  #instruction_manual_language_page section.i-m-language-container{
    padding: 40px 0 120px;
  }
  section.i-m-language-container{
    padding: 60px 0;
  }
  .i-m-language-btn-area{
    gap: 30px;
  }
  .i-m-language-title{
    font-size: 2.6rem;
    margin-bottom: 30px;
  }
  .i-m-language-text{
    font-size: 1.6rem;
  }
  .i-m-language-button{
    width: 100%;
  }
  .i-m-language-button a {
    font-size: 1.5rem;
  }
}  
/*-------------------------------------------
    ホテルプラン徹底解剖
-------------------------------------------*/

#entry_fix.hotel-plan{
  top: 150px;
}

.hotel-plan-section{
  background-color: #e5e5e5;
  position: relative;
  padding: 80px 0;
}

.hotel-plan-section::after{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 305px 305px 0 0;
  border-color: #ffe000 transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.hotel-plan-section.sec-first .section-container.empty-top{
  padding-top: 70px;
  margin-top: 0;
}

.hotel-plan-section.sec-first::after{
  content: none;
}

.hotel-plan-section:nth-child(2n){
  background-color: #f0f0f0;
}

.hotel-plan-section.sec-first{
  padding-top:0;
  background: #444444 url(https://d1q08lkutgkcx2.cloudfront.net/image/devise_para02_t.png) right -172px no-repeat;
  background-size: 680px;
  color: #fff;
}

.hotel-plan-section.sec-first .span-3{
  filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, .2));
  transform: translateZ(0);
}

.hotel-plan-section.sec-first .span-3 a img{
  transition: 0.3s;
}

.hotel-plan-section.sec-first .span-3 a img:hover{
  transition: 0.3s;
  transform: translate(0, 0px)scale(1.05);
}

.hotel-plan-section .inner {
  position: relative;
  z-index: 1;
}

.hotel-plan-section h2{
  font-size: 3rem;
  text-align: center;
  line-height: 1.3;
  margin-top: 0;
  color: #fff;
}

.hotel-plan-section h2 span{
  background-color: #ffe000;
  font-size: 5rem;
  padding: 0.1rem 0.3em;
  letter-spacing: 3px;
  color: #000;
}

.hotel-plan-section h3{
  margin: 0 0 30px;
  font-size: 5rem;
  letter-spacing: 4px;
  text-align: center;
  line-height: 1.4;
  position: relative;
  z-index: 1;
  color: #000;
}

.hotel-plan-section h3 span{
  position: absolute;
  top: 38%;
  left: -.8em;
  font-size: 8rem;
  font-weight: bold;
  color: #000;
  line-height: 1;
  transform: translateY(-50%);
}

.hotel-plan-section h3 span .small-text{
  position: static;
  display: block;
  font-size: 3rem;
  position: static;
  letter-spacing: 0;
  transform: translateY(0);
}

.pc-1300{
  display: none;
}

.hotel-plan-section p{
  font-size: 2rem;
  line-height: 1.6;
  text-align:center;
  margin-bottom: 50px;
}

span.under-line-thin-pink {
  background: linear-gradient(transparent 90%, #DB0066 0%);
  padding: 0 0 2px;
  line-height: 2.2;
}

.hotel-plan-flex{
  display:flex;
  align-content: center;
  justify-content: space-between;
}

.img-center{
  display:flex;
  align-items: center;
  justify-content: center;
}

.img-center:first-child{
  margin-top: 0px;
}

.hotel-plan-img.improvement{
  text-align: center;
}

.hotel-plan-img.improvement .div-pc{
  width: 90%;
}

.hotel-plan-flex .span_2:last-child{
  margin-right: 0;
}

.hotel-plan-flex .span-3{
  width: 32%;
  list-style: none;
}

.hotel-plan-contact{
  background: #fff;
  padding: 70px 0 0px;
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/hotel-p-main.png) center/cover #121212;
}

.hotel-plan-contact h3{
  color: #fff;
  background-color: #282828;
  border: 8px solid #ffe000;
  padding: 30px 0;
  margin: 0 0 0px;
  font-size: 2.5rem;
  text-align: center;
  line-height: 1.4;
}

.hotel-plan-img img{
  max-width: 100%;
}

.foreigner2{
  margin-top: 20px;
}

.hotel-plan-contact-box{
  color: #fff;
  padding: 0  52px 0 250px;
  height: 172px;
  display:flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.hotel-plan-box-container{
  display:flex;
  align-items: center;
  justify-content: center;
}

.hotel-plan-contact-box p{
  font-size: 3rem;
  font-weight: bold;
  padding: 0 15px 0 0;
  text-align: center;
}

.hotel-plan-contact-box .btn_box02 a{
  width: 356px;
}

.hotel-plan-contact-box .btn_box02 a span {
  background-size: 8px;
  background-position: 316px center;
}

.hotel-plan-contact-box::after{
  content: "";
  display: block;
  width: 180px;
  height: 216px;
  position: absolute;
  bottom: 0;
  left: 50px;
  background:url(https://d1q08lkutgkcx2.cloudfront.net/image/sub-partnercontact.webp)bottom left no-repeat;
  background-size: contain;
}
#entry_fix.hotel-plan div.price-fix-box a.price-fix-corp-inquiry{
  background: #ffe000;

}

#entry_fix.hotel-plan div.price-fix-box{
  height:224px;
}

#entry_fix.hotel-plan div.price-fix-box a{
  height:100%;
}

section#merit01 div.inner > div {
  display: flex;
  align-items: center;
}
section#merit01 div.inner > div > div:first-of-type {
  width: 100%;
}


@media screen and (max-width: 1680px){
  .hotel-plan-section h3 span{
    left: -.5em;
  }

  .hotel-plan-section h3 span .small-text{
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 1300px){
  .pc-1300{
    display: inline-block;
  }
}

@media screen and (max-width: 767px){
  #entry_fix.hotel-plan{
    top: auto;
    padding-top: 0;
  }

  #entry_fix.hotel-plan div.price-fix-box{
    height: 100%;
  }

  #entry_fix.hotel-plan div.price-fix-box a.price-fix-corp-inquiry{
    width: 100%;
  }

  .hotel-plan-section{
    padding: 50px 0;
  }

  .hotel-plan-section::after{
    border-width: 156px 156px 0 0;
  }

  .hotel-plan-section.sec-first{
    background-position: right -423px;
  }

  .hotel-plan-section.sec-first .section-container.empty-top{
    padding-top:33px;
  }

  .hotel-plan-section p{
    font-size: 1.5rem;
    text-align:left;
    margin:0 auto 30px;
    display: table;
  }

  .hotel-plan-flex{
    display: block;
  }

  .img-center{
    margin-top: 40px;
  }

  .hotel-plan-section h2{
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.4;
  }
  
  .hotel-plan-section h2 span{
    font-size: 2.6rem;
    padding: 0.1rem 0.3em;
  }

  .hotel-plan-section h3{
    margin: 0 0 20px;
    font-size: 2.6rem;
    letter-spacing: 2px;
    line-height: 1.3;
  }

  .hotel-plan-section h3 span{
    position: absolute;
    top: -0.3em;
    left: -0.5em;
    font-size: 4rem;
    transform: translate(0);
  }

  .hotel-plan-section h3 span .small-text{
    font-size: 1.6rem;
  }
  
  .hotel-plan-flex .hotel-plan-img{
    width: 100%;
    margin-bottom: 20px;
  }

  .hotel-plan-flex .hotel-plan-img:last-child{
    margin-bottom: 0;
  }

  .foreigner2{
    margin-top: 3%;
  }

  .hotel-plan-contact{
    padding-top: 40px;
  }

  .hotel-plan-contact h3{
    border: 4px solid #ffe000;
    padding: 20px 0;
    font-size: 1.7rem;
    margin: 0 0 26px;
  }

  .hotel-plan-contact-text{
    color: #fff;
    font-weight: bold;
    padding: 0 0 16px 110px;
    font-size: 1.7rem;
    text-align: center;
  }

  .hotel-plan-contact-box{
    height: 104px;
    padding: 0 0 0 110px;
    justify-content: flex-end;
    align-items: flex-start;
  }

  .hotel-plan-box-container{
    display: block;
    width: 100%;
  }

  .hotel-plan-contact-box::after{
    width: 145px;
    height: 124px;
    left: 0;
  }

  .hotel-plan-contact-box p{
    font-size: 5vw;
    padding: 0 0 2.4vw;
  }

  .hotel-plan-contact-box .btn_box02 a{
    width: 100%;
    font-size: 1.5rem;
    letter-spacing: 2px;
    max-width: 380px;
  }

  .hotel-plan-contact-box .btn_box02 a span {
    background-position: right 20px center;
    padding: 20px 45px 20px 0;
  }

  .hotel-plan-contact-box .btn_box02 a:after{
    width: 54px;
  }

  .hotel-plan-contact-box .btn_box02 a:hover::after {
    width: 100%;
  }
  section#merit01 div.inner > div {
    display: block;
  }
}

@media screen and (max-width: 450px){
  .hotel-plan-section p{
    font-size: 1.3rem;

  }
}
/* 法人ページ　パートナー契約ボタン */
.partner-contract-box{
  margin-top: 60px;
  position: relative;
  border:#bdb9b9 20px solid;
  border-radius: 2.5vw;
  overflow: hidden;
}

.partner-contract-box img{
  max-width: 100%;
  vertical-align: bottom;
}

.partner-contract-box .btn_box02{
  position: absolute;
  bottom: 20px;
  right: 20px;
}
.partner-contract-box .btn_box02 span{
  margin-top: 0;
}


@media screen and (max-width: 767px){
  .partner-contract-box{
    border: 10px solid #BEBABA;
    border-radius: 6vw;
  }

  .partner-contract-box .btn_box02{
    bottom: 6%;
    right: 50%;
    transform: translateX(50%);
    max-width: 380px;
    width: 93%;
  }

  .partner-contract-box .btn_box02 a {
    width: 100%;
  }

  .partner-contract-box .btn_box02 a span {
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02_t.png) no-repeat right 25px center;
    background-size: 6px;
  }
  .partner-contract-box .btn_box02 a::after {
    width: 56px;
  }

  .partner-contract-box .btn_box02 a:hover::after {
    width: 100%;
  }
}

.remark-padding-both{
  padding: 0 4px;
}

.mypage-edit-table-bottom{
  width: calc(100% - 13em);
  margin: 0 auto;
  padding-left: 315px;
  font-size: 1.1rem;
  line-height: 1.5rem;
}

@media screen and (max-width: 767px){
  .mypage-edit-table-bottom{
    width: 95%;
    margin: 6px auto 0;
    padding: 0 2.5%;
    box-sizing: border-box;
  }
}
/* 20230106 insurance-option LP */
.white-content-box-gray-box.insurance-option-box {
  display: flex;
  background: #fff;
  justify-content: space-evenly;
  align-items: center;
  padding: 50px 0;
  margin-top: 0;
  position: relative;
  margin-bottom: 15px;
}
.white-content-box-gray-box.insurance-option-box > div {
  width: 15%;
}
.white-content-box-gray-box.insurance-option-box div p {
  text-align: center;
  font-weight: bold;
  margin-top: 1rem;
}
.white-content-box-gray-box.insurance-option-title {
  margin-bottom: 0;
  background: #333;
  padding: 2rem 0;
}
.white-content-box-gray-box.insurance-option-title p {
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.white-content-box-sub-title.insurance-option p span,
.white-content-box-sub-title.compensation p span {
  color: #DB0066;
  position: relative;
}

.white-content-box-sub-title.compensation p span {
  color: #000;
  font-size: 2rem;
}
.white-content-box-sub-title.compensation p span::before {
  content: "";
  width: 100%;
  height: 1rem;
  padding: 0 0.5rem;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateX(-0.5rem);
  background-color: #ffeb00;
  z-index: -1;
}

.white-content-box-sub-title.insurance-option p {
  font-size: 2.5rem;
}
.white-content-box-sub-title.insurance-option {
  border: 6px solid #DB0066;
  padding: 20px 0;
  background-color: #fff;
}
.insurance-option.plan-box {
  display: flex;
  justify-content: space-evenly;
  margin: 50px 0;
  align-items: flex-start;
}
.insurance-option.plan-box img {
  width: 40%;
  filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, .2));
  transform: translateZ(0);
}
.white-content-box-gray-box.insurance-option-title.campaign {
  background: #ffeb00;
}
.white-content-box-gray-box.insurance-option-title.campaign p {
  color: #000;
  font-size: 2.6rem;
  letter-spacing: 2px;
}
.white-content-box-gray-box.insurance-option-box.campaign div {
  width: 100%;
}
.white-content-box-gray-box.insurance-option-box.campaign div p {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  position: relative;
  letter-spacing: 1px;
  line-height: 4rem;
}
.white-content-box-gray-box.insurance-option-box.campaign div {
  width: 72%;
}
.white-content-box-gray-box.insurance-option-box.campaign div p:first-of-type {
  margin-top: 0;
}
.white-content-box-gray-box.insurance-option-box.campaign::before {
  content: '';
  background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/only-now-emphasis-l-2.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  width: 150px;
  height: 150px;
  position: absolute;
  left: 55px;
  top: -46px;
  transform: rotate(-10deg);
}
.white-content-box-gray-box.insurance-option-box.campaign::after {
  content: '';
  background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/only-person_callout.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
  display: block;
  width: 210px;
  height: 235px;
  position: absolute;
  right: 5px;
  top: -60px;
}
.white-content-box-gray-box.insurance-option-box.campaign {
  padding: 25px 0 63px;
}
.white-content-box-gray-box.insurance-option-box.campaign + .btn-up {
  margin-top: -52px;
}
.white-content-box-sub-title.insurance-option.service p span {
  font-size: 4rem;
}
.white-content-box-sub-title.insurance-option.service {
  border: none;
  background: none;
}
.white-content-box-sub-title.insurance-option.service p span.square {
  border: 4px solid #DB0066;
  padding: 0.5rem 1rem;
  margin-right: 3rem;
}
.white-content-box-sub-title.insurance-option.service p span.square span.square-text {
  font-size: 2.4rem;
  margin-right: 4px;
  vertical-align: bottom;
}
.white-content-box-sub-title.insurance-option.service p {
  letter-spacing: 1px;
}
.white-content-box-gray-box.insurance-option-box div.obsession {
  width: 35%;
  padding: 30px 20px 20px;
  background-color: #f3f3f3;
  border-radius: 20px;
  height: 210px;
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  position: relative;
}
.white-content-box-gray-box.insurance-option-box div.obsession > div {
  display: flex;
  flex-flow: column;
}
.white-content-box-gray-box.insurance-option-box div.obsession p {
  font-size: 1.6rem;
  margin: 0 0 2rem;
}
.white-content-box-gray-box.insurance-option-box div.obsession p span {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.5rem;
  margin-top: 4px;
  display: inline-block;
}
.white-content-box-gray-box.insurance-option-box div.obsession img {
  width: 80%;
  margin: 0 auto 1.5rem;
}
.white-content-box-gray-box.insurance-option-box div.obsession:first-of-type img {
  margin-top: 1.5rem;
}
.insurance-option-box + p {
  width: 47%;
  margin: 0 auto;
}
.white-content-box-gray-box.insurance-option-box.devices {
  margin-bottom: 0;
  padding: 30px 0 0;
  box-sizing: border-box;
  align-items: flex-start;
  width: 100%;
}
.white-content-box-gray-box.insurance-option-box.devices div {
  width: 147px;
}
.white-content-box-gray-box.insurance-option-box.devices:last-child {
  padding-bottom: 30px;
  margin-bottom: 30px;
}
table.devices-table th,
table.required-documents th,
table.coverage th {
  width: 100px;
  background-color: #505050;
  color: #fff;
}
table.required-documents th:first-of-type {
  width: 470px;
}
table.required-documents td:first-of-type {
  font-weight: normal;
  padding: 25px 10px;
}
table.required-documents td:first-of-type span {
  display: block;
  font-weight: bold;
  font-size: 1.6rem;
}
table.required-documents td:not(:first-of-type) {
  text-align: center;
  font-size: 2.4rem;
  color: #000;
}
table.required-documents td,
table.coverage td {
  background-color: #fff;
  line-height: 2rem;
}
table.devices-table th,
table.devices-table td,
table.required-documents th,
table.required-documents td,
table.coverage th,
table.coverage td {
  border: 1px solid #000;
  padding: 1rem;
  font-size: 1.4rem;
  font-weight: bold;
}
table.devices-table,
table.required-documents,
table.coverage {
  margin: 30px auto 0;
  border-collapse: collapse;
  position: relative;
}
table.coverage img {
  position: absolute;
  width: 10%;
  top: -45px;
  right: -30px;
}
table.devices-table {
  margin-top: 70px;
}
table.coverage {
  margin: 5px auto 0;
}
table.devices-table tr:first-child th:nth-of-type(-n+2),
table.coverage tr:first-child th:first-child {
  background: none;
  border: none;
}
table.devices-table tr:first-child th:nth-of-type(2) span {
  display: none;
}
table.devices-table tr td:first-child {
  width: 260px;
}
.insurance-option-wrap {
  background-color: #fff;
  width: 836px;
  padding: 0 70px;
  margin: 0 auto 7rem;
  box-sizing: border-box;
}
td.applicable {
  text-align: center;
  width: 130px;
}
td.applicable.ok {
  color: #DB0066;
  font-size: 2rem;
}
td.applicable.ng {
  font-size: 4rem;
  line-height: 1rem;
  font-weight: normal;
  background-color: #c8c8c8;
}
table.devices-table {
  width: 100%;
  z-index: 0;
}
table.devices-table + p {
  padding: 15px 0 50px;
}
table.coverage span {
  color: #DB0066;
  font-weight: bold;
  font-size: 2rem;
  margin: 0 3px;
}
table.coverage th,
table.coverage td {
  font-weight: normal;
  width: 210px;
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: center;
}
table.coverage th {
  font-size: 1.15em;
  font-weight: bold;
}
table.coverage tr:not(:nth-of-type(1)) th {
  text-align: left;
  padding-left: calc(210px / 2 - 3em);
  box-sizing: border-box;
}
table.coverage td {
  font-size: 1.25em;
  font-weight: bold;
}
table.coverage tr:nth-of-type(n+2) td:nth-of-type(2) {
  background-color: #ffeb00;
}
.white-content-box-sub-title.compensation + div.white-content-box-sub-title p {
  width: 6em;
  margin: 30px auto 0;
}
.insurance-option-flow {
  display: flex;
  position: relative;
  padding: 40px 0 0 70px;
  height: auto;
  margin-left: 60px;
  align-items: flex-start;
}
.insurance-option-flow div{
  background: #FFF;
  padding: 0.5em 1.5em 1.5em;
}
.white-content-box-gray-box.insurance-option-box div.obsession p.obsession-point {
  color: #DB0066;
  position: absolute;
  top: -17px;
  font-size: 2rem;
  left: 50%;
  transform: translate(-50%, 0);
}
.white-content-box-gray-box.insurance-option-box div.obsession p.obsession-point span {
  font-size: 4rem;
  font-weight: bold;
  color: #DB0066;
}
div.insurance-option-flow:first-of-type {
  padding-top: 0;
}
.insurance-option-flow:before {
  content: "";
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: #FFEB00;
  position: absolute;
  transform: translate(-50%, 50%);
}
.insurance-option-flow:last-of-type::before{
  content: none;
}
.insurance-option-flow img {
  width: 14%;
  position: absolute;
  left: -60px;
  z-index: 2;
}
.insurance-option-campaign {
  margin: 100px 0 50px;
}

div.insurance-option.plan-box + a {
  display: block;
  width: 300px;
  margin: 0 auto;
  background-color: #fff;
  padding: 20px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  border-radius: 14px;
  filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, .2));
  transform: translateZ(0);
  transition-duration: .2s;
}
div.insurance-option.plan-box + a:hover {
  background-color: #DB0066;
  color: #fff;
}
.se {
  display: none;
}
.white-content-box-gray-box.insurance-option-box.campaign div p span {
  color: #DB0066;
  font-size: 4rem;
}
#insurance-section-1 div.content-box-title p span {
  font-size: 3.2rem;
}
table.required-documents th {
  padding: 2rem 1rem;
}
div.content-box-inner p.price-attention {
  letter-spacing: 0;
  margin: 0 auto;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .white-content-box-gray-box.insurance-option-title {
    padding: 1rem 0;
  }
  .white-content-box-gray-box.insurance-option-title p {
    font-size: 1.6rem;
  }
  .white-content-box-gray-box.insurance-option-box {
    padding: 30px 0;
  }
  .white-content-box-gray-box.insurance-option-box > div {
    width: 22%;
  }
  .insurance-option-box + p {
    width: 100%;
  }
  div.content-box-title.insurance-option-section-title p {
    text-align: center;
  }
  .white-content-box-sub-title.insurance-option p {
    font-size: 1.8rem;
    text-align: center;
  }
  .white-content-box-sub-title.insurance-option {
    border-width: 3px;
  }
  .insurance-option.plan-box {
    display: block;
    margin: 50px auto;
    width: 90%;
  }
  .insurance-option.plan-box img {
    width: 100%;
    margin-bottom: 30px;
  }
  .insurance-option.plan-box img:last-child {
    margin-bottom: 0;
  }
  div.insurance-option.plan-box + a {
    width: 80%;
  }
  .white-content-box-gray-box.insurance-option-title.campaign p {
    font-size: 1.6rem;
    letter-spacing: 0;
    padding-left: 1rem;
  }
  .white-content-box-gray-box.insurance-option-box.campaign::before {
    width: 85px;
    height: 85px;
    left: -20px;
    top: -92px;
  }
  .white-content-box-gray-box.insurance-option-box.campaign div p {
    font-size: 1.4rem;
    line-height: 3rem;
  }
  .white-content-box-gray-box.insurance-option-box.campaign div {
    width: 95%;
  }
  .white-content-box-gray-box.insurance-option-box.campaign::after {
    width: 130px;
    height: 170px;
    top: -150px;
    z-index: -1;
  }
  .white-content-box-gray-box.insurance-option-box.campaign div p::before {
    font-size: 2.2rem;
    top: -2px;
    left: 1.5rem;
  }
  .white-content-box-gray-box.insurance-option-box.campaign div p:last-of-type:before {
    left: 1.35rem;
  }
  .white-content-box-gray-box.insurance-option-box.campaign {
    padding: 15px 0 40px;
  }
  .white-content-box-gray-box.insurance-option-box.campaign + .btn-up {
    margin-top: -38px;
  }
  .insurance-option-campaign {
    margin: 120px 0 20px;
  }
  .white-content-box-sub-title.insurance-option.service p {
    letter-spacing: 1px;
    line-height: 5rem;
  }
  .white-content-box-sub-title.insurance-option.service p span {
    font-size: 2.6rem;
  }
  .white-content-box-sub-title.insurance-option.service p span.square {
    border-width: 3px;
    font-size: 3rem;
    margin-right: 0;
  }
  .white-content-box-sub-title.insurance-option.service p span.square span.square-text {
    font-size: 1.6rem;
    margin-right: 2px;
  }
  .white-content-box-gray-box.insurance-option-box.obsession-box {
    display: block;
    margin-bottom: 60px;
  }
  .white-content-box-gray-box.insurance-option-box div.obsession {
    width: 75%;
    margin: 0 auto 30px;
    flex-flow: row;
    align-items: center;
    height: 150px;
  }
  .white-content-box-gray-box.insurance-option-box div.obsession p.obsession-point {
    position: relative;
  }
  .white-content-box-gray-box.insurance-option-box div.obsession img {
    width: 35%;
  }
  .white-content-box-gray-box.insurance-option-box.obsession-box p {
    text-align: left;
  }
  .white-content-box-gray-box.insurance-option-box div.obsession p {
    font-size: 1.4rem;
    margin: 0;
  }
  .insurance-option-wrap {
    width: 100%;
    padding: 0px 20px;
    margin-bottom: 36px;
  }
  .white-content-box-gray-box.insurance-option-box.devices div {
    width: 30%;
  }
  .white-content-box-gray-box.insurance-option-box.devices {
    justify-content: space-between;
  }
  .white-content-box-gray-box.insurance-option-box.devices span {
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.4rem;
    display: inline-block;
  }
  table.devices-table tr:nth-of-type(1) th:first-of-type,
  table.devices-table tr:nth-of-type(2) th {
    display: none;
  }
  table.devices-table tr:first-child th:nth-of-type(2) span {
    display: inline;
  }
  table.devices-table tr:first-child th:nth-of-type(2) {
    background-color: #505050;
    color: #fff;
    border: 1px solid #000;
  }
  table.devices-table th,
  table.devices-table td,
  table.required-documents th,
  table.required-documents td {
    font-size: 1.2rem;
  }
  table.devices-table th {
    padding: 1rem 0;
  }
  table.devices-table td {
    padding: 1rem 0 1rem 1rem;
  }
  table.devices-table td.applicable {
    padding: 1rem;
  }
  table.coverage {
    table-layout: fixed;
    width: 100%;
  }
  table.coverage img {
    width: 55px;
    top: -40px;
    right: -20px;
  }
  table.coverage th {
    font-size: 1.05em;
    width: auto;
  }
  table.coverage tr:nth-of-type(1) th:nth-of-type(1) {
    width: calc(6em * 1.05);
  }
  table.coverage tr:not(:nth-of-type(1)) th {
    padding-left: 5px;
    padding-right: 5px;
  }
  table.coverage td {
    font-size: 1.1em;
    width: auto;
    padding: 15px 5px;
  }
  table.coverage tr:nth-of-type(3) td span {
    margin-bottom: 8px;
    display: inline-block;
  }
  .insurance-option-flow {
    display: flex;
    position: relative;
    padding: 0px 0 20px 50px;
    height: auto;
    margin-left: 34px;
    align-items: flex-start;
  }
  .insurance-option-flow img {
    width: 24%;
    position: absolute;
    left: -40px;
    z-index: 2;
    max-width: 80px;
  }
  div.insurance-option-flow:last-of-type {
    border: none;
    margin-left: 38px;
  }
  table.required-documents th {
    padding: 1rem 0;
    line-height: 2rem;
  }
  table.required-documents td:first-of-type span {
    font-size: 1.4rem;
    color: #000;
  }
  .white-content-box-gray-box.insurance-option-box.campaign div p span {
    font-size: 3rem;
  }
  #insurance-section-1 div.content-box-title p span {
    font-size: 1.6rem;
  }
  #insurance-section-1 div.content-box-title p {
    line-height: 2.4rem;
  }
  #insurance-section-1 .white-content-box-sub-title p {
    text-align: center;
  }
  div.content-box-inner p.price-attention {
    font-size: 1.1rem;
  }
  .white-content-box-gray-box.insurance-option-box div.obsession p span {
    font-size: 1.1rem;
    color: #808080;
  }
  table.devices-table + p.price-attention {
    padding: 1rem 0 30px;
  }
  .white-content-box-gray-box.insurance-option-box.devices p {
    font-size: 1.3rem;
    line-height: 1.6rem;
  }
  .white-content-box-gray-box.insurance-option-box.devices:last-of-type {
    padding-top: 0.5rem;
  }
  .white-content-box-sub-title.insurance-option.service p span:not(.square, .square-text) {
    display: inline-block;
    margin-top: 3rem;
    line-height: 1em;
  }
  .white-content-box-sub-title.compensation + div.white-content-box-sub-title p {
    width: auto;
    margin: 30px auto;
    font-size: 2.6rem;
    text-align: center;
  }
  table.required-documents td:first-of-type {
    padding: 15px 10px;
  }
  table.required-documents td {
    font-size: 1.1rem;
    color: #1E1E1E;
  }
  .white-content-box-gray-box.insurance-option-box div.obsession:last-of-type {
    margin-bottom: 0;
  }
  div.content-box-inner .required-documents-caption  {
    text-align: right;
    margin: 8px 0 0.5em;
    color: #1E1E1E;
    font-size: 1.1rem;
    text-align: right;
    display: block;
  }
  .required-documents-wrapper{
    margin: 30px auto 0;
    max-height: calc(46.5vh + 60px);
    overflow-y: scroll;
    position: relative;
    width: 100%;
    border-bottom: 1px solid #000;
  }
  table.required-documents thead {
    display: table;    
    width: 100%;
    position: sticky;
    top: 0;
    box-sizing: border-box;
  }
  table.required-documents tbody {
    display: table;
    width: 100%;
    margin-top: -1px;
    box-sizing: border-box;
  }
  table.required-documents {
    margin-top: 0;
  }
  table.required-documents thead td,
  table.required-documents tbody td {
    width: 17%;
  }
  table.required-documents thead th:first-of-type,
  table.required-documents tbody td:first-of-type {
    width: 49%;
  }
  table.required-documents tbody tr:last-of-type td {
    border-bottom: 0;
  }
  table.required-documents td:not(:first-of-type){
    font-size: 1.8rem;
  }
  .insurance-option-flow:before {
    content: "";
    top: -50%;
    left: -3px;
  }
  
}
/* ihpone SE */
@media screen and (max-width: 375px) {
  .white-content-box-gray-box.insurance-option-box.campaign::before {
    width: 80px;
    height: 80px;
  }
  .white-content-box-sub-title.insurance-option {
    padding: 20px 0;
  }
  table.required-documents td:first-of-type span {
    font-size: 1.3rem;
  }
  .se {
    display: block;
  }
  table.required-documents td:first-of-type {
    padding: 15px 4px;
  }
  table.coverage th, table.coverage td {
    padding: 1rem 4px;
  }
}

/* insurance-option-LP lead-wire */
.white-content-box-gray-box.lead-wire {
  width: 100%;
  padding: 25px 0;
  align-items: flex-start;
  padding: 1rem 0;
}
.white-content-box-gray-box.insurance-option-box.lead-wire > div {
  width: 28%;
}
h2.text-title span {
  font-size: 3rem;
  display: block;
  letter-spacing: .1em;
}
.white-content-box-gray-box.insurance-option-box.lead-wire div p span {
  font-size: 1.1rem;
}
.white-content-box-gray-box.insurance-option-box.lead-wire div p {
  line-height: 1.4rem;
  font-size: 1.2rem;
}
.insurance-option span.new {
  width: 5em;
  font-size: 3.2rem;
  font-weight: bold;
  display: block;
  line-height: 1em;
  padding: 13px 10px 10px 15px;
  background-color: #DB0066;
  color: #fff;
  border-radius: 36px;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  h2.text-title span {
    font-size: 1.6rem;
  }
  div.insurance-option div.heading-text {
    margin-top: 2em;
  }
  div.insurance-option div.heading-text p {
    font-weight: bold;
  }
  div.insurance-option div.wrap-area,
  div.insurance-option div.wrap-area div.left-block {
    margin-top: 0;
  }
  div.insurance-option div.wrap-area div.option-table img {
    width: 100%;
    padding: 0 0 10%
  }
  .insurance-option span.new {
    font-size: 1.8rem;
    padding: 10px 10px 8px 15px;
    border-radius: 18px;
    margin-bottom: 15px;
  }
}

.tab_content dd span.no-snippet{
  font-size: 1.3rem;
  position: static;
}

/* 20230221 /callcenter, /support_contact */
.callcenter-area .fig-triangle {
  position: absolute;
  top: auto;
  left: 0;
  width: 530px;
  height: 600px;
  background-size: 530px;
  background-image: url(https://d1q08lkutgkcx2.cloudfront.net/image/price_para02_t.png);
  background-repeat: no-repeat;
}
.callcenter-area section:nth-of-type(even){
  background-color: #E3E3E3;
  padding: 35px 40px 50px;
  overflow: hidden;
}
.callcenter-area.initial-cancel-area .default-main-titl {
  padding-top: 0;
}
.callcenter-area.initial-cancel-area section:nth-of-type(even){
  padding: 30px 0px 60px;
}
.callcenter-area section:last-of-type{
  padding-bottom: 40px;
}
.callcenter-area.initial-cancel-area section:last-of-type{
  padding: 40px 0 90px;
}
.callcenter-area.initial-cancel-area a.pink-link,
.callcenter-caution-explanation a.pink-link {
  color: #d6006b;
}

.callcenter-area .default-main-titl {
  margin: 70px 0;
}

.callcenter-area section.other-third{
  padding: 0 30px 60px;
  background-size: initial;
  background-image: none;
}
.callcenter-area .side-title.left{
  left: 10px;
  top: 200px;
  z-index: 1;
  white-space: nowrap;
}
.callcenter-area .content-box-inner.align-center-content{
  margin: 70px auto 90px;
}
.callcenter-area .center-wrapper{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 45px;
}
.callcenter-area.initial-cancel-area .center-wrapper {
  margin-top: 0;
}
.callcenter-area .content-box-inner .under-kv-notion {
  max-width: 855px;
  margin: 20px auto;
}
#prepaid-contact-form-area .callcenter-area .content-box-inner .under-kv-notion {
  max-width: 710px;
  margin: 20px auto;
}
.caution-title {
  display: flex;
  align-items: center;
  justify-content: center;
}

img.callcenter-before{
  position: absolute;
  width: 10%;
  bottom: 0px;
  right: 5%;
  transform: translateX(-50%);
}

.callcenter-icon{
  display: flex;
  align-items: center;
  justify-content: center;
}

.callcenter-icon img{
  width: 60px;
  height: auto;
  margin: auto 20px auto -20px;
  border: 3px solid #fff;
  border-radius: 50%;
}

.callcenter-area div.content-box-title h1 p{
  margin-top: 50px;
}

.caution-title img{
  width: 3.5em;
  margin-right: 0.5em;
}
div.content-box-inner .caution-title h2,
div.content-box-inner .caution-title p {
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 2rem;
  margin: 0;
}

.callcenter-area .content-box-inner.customer-center-area{
  margin: 100px auto 60px;
}
div.content-box-inner p.callcenter-caution-explanation{
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.7em;
  letter-spacing: 0.025em;
  margin: 1.5em 0 1em;
}
div.content-box-inner.pc .center-wrapper + .btn_box02{
  margin-top: 1.5em;
}
div.content-box-inner p.callcenter-caution-explanation.center-text{
  text-align: center;
  font-weight: normal;
  font-size: 1.3rem;
}
div.content-box-inner p.callcenter-caution-explanation.contact-alltime{
  margin-top: 0.5em;
  font-size: 1.5em;
  text-align: center;
}
.callcenter-faq-area{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 25px;
  margin: 15px 0 75px;
}
.callcenter-faq-area a{
  display: block;
  width: calc(33.33333% - 50px / 3);
}
.content-border{
  margin-top: 45px;
  margin-bottom: 70px;
  position: relative;
  background-color: #fff;
  border: #ffeb00 5px solid;
  border-radius: 2.5vw;
  z-index: 1;
}
span.under-line-yellow{
  background: linear-gradient(transparent 60%, #ffeb00 0%);
}

@media screen and (max-width: 767px) {
  .callcenter-area .default-main-titl {
    margin: 40px 0;
  }
  .callcenter-area.initial-cancel-area div.cancel-title > h2 span {
    line-height: 1;
  }
  .callcenter-area section:last-of-type {
    padding-bottom: 50px;
  }
  .callcenter-area section:nth-of-type(even),
  .callcenter-area section.other-third{
    max-width: 100%;
    padding: 0;
  }
  .callcenter-area section.other-third{
    padding-bottom: 45px;
    background-image: none;
  }
  .callcenter-area section:nth-of-type(even),
  .callcenter-area.initial-cancel-area section:nth-of-type(even){
    padding: 0 0 50px 0;
  }
  .callcenter-area .side-title.left{
    left: -10px;
    top: 110px;
    z-index: 1;
    white-space: nowrap;
  }
  .callcenter-area .center-wrapper{
    margin-top: 40px;
    align-items: center;
  }
  .callcenter-area .content-box-inner.align-center-content{
    margin: 0px auto 60px;
  }
  
  .callcenter-area .content-box-inner.customer-center-area {
    margin: 50px auto 20px;
  }
  .content-border{
    margin: 60px auto;
  }
  .callcenter-area .content-border.sp .center-wrapper{
    align-items: center;
  }
  .callcenter-area .content-border.sp .btn_box02 a{
    max-width: 100%;
    font-size: 1.5rem;
    margin-top: 30px;
  }
  .callcenter-area .content-border.sp .btn_box02 a span {
    background-position: calc(100% - 20px) center;
  }
  .callcenter-area div.content-box-title h1 p{
    margin-top: 30px;
    text-align: center;
  }
  .callcenter-area .content-border .btn_box03 {
    margin-top: 20px;
  }
  .callcenter-area .content-border .btn_box03 a {
    box-sizing: border-box;
  }
  div.content-box-inner p.callcenter-caution-explanation.center-text{
    margin-bottom: 1em;
  }
  .caution-title{
    justify-content: flex-start;
  }
  div.content-box-inner .caution-title h2,
  div.content-box-inner .caution-title p {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  div.content-box-inner p.callcenter-caution-explanation{
    font-size: 1.5rem;
    line-height: 1.5em;
    margin: 1.5em 0 0;
  }
  .support .faq-chatbot-main-categories.callcenter-faq-area{
    margin: 30px 0 15px;
    gap: 16px;
  }
  .callcenter-faq-area a{
    display: block;
    width: calc(50% - 8px);
  }
  .content-border{
    border-radius: 2.5vw;
    padding: 0 15px 40px 15px;
    margin-bottom: 0;
  }  
  img.callcenter-before{
    width: 60px;
    bottom: 110px;
    right: 15px;
  }

  .callcenter-icon img{
    width: 50px;
    margin: auto 10px auto 0px;
    border: 3px solid #fff;
    border-radius: 50%;
  }

}

div.white-callcenter-box-inner {
  margin: 10px auto 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
div.genre-margin-side {
  margin: 5px;
}
div.gold-button-mtop {
  margin-top: 10px;
}
.btn_box02.callcenter-btn a{
  width: 310px;  
  background: #FFE000;
  color: #000;
  font-size: 1.5rem;
  transition: .2s all;
}
.btn_box02.callcenter-btn a:hover{
  color: #fff;
}
.btn_box02.callcenter-btn a span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02.svg) no-repeat 270px center;
  background-size: 8px;
}
.content-border.no-phone-call {
  width: 480px;
  margin: 25px auto 0;
  padding: 20px 0;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 1.2px;
  border-radius: 1em;
}

@media screen and (max-width: 767px) {
  .content-border.no-phone-call{
    width: auto;
    font-size: 16px;
    margin: 30px auto 0px;
  }
  div.gold-button-mtop {
    margin-top: 10px;
  }
  div.white-callcenter-box-inner {
    margin: 0 auto;
  }
  
  .btn_box02.callcenter-btn a{
    width: 230px; 
    font-size: 1.3rem;
  }

  .btn_box02.callcenter-btn a span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02.svg) no-repeat 205px center;
    background-size: 6px;
  }
}
.callcenter-modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
  box-sizing: border-box;
  z-index: 10000002;
}
.callcenter-modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.callcenter-modal-container.active{
	opacity: 1;
	visibility: visible;
}
.callcenter-modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 900px;
	width: 95%;
}
.callcenter-modal-content{
  background: #fff;
  padding: 70px;
}
.callcenter-modal-open{
  cursor: pointer;
}
.callcenter-modal-close{
	width: 35px;
  height: 35px;
  position: absolute;
  right: 5px;
  top: 5px;
  text-align: center;
  background-color: #000000;
  border-radius: 17px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.callcenter-modal-close img {
  width: 50%;
  height: auto;
}
.callcenter-modal-close:focus {
  outline: 2px solid #FFE400;
}
div.white-callcenter-box-title{
  width: 100%;
  text-align: center;
  padding-top: 0px;
}
.callcenter-description {
  text-align: left;
  margin-left: 40px;
}
div.callcenter-description-tel {
  margin: 30px auto;
}
div.callcenter-description-tel p {
  font-size: 3rem;
  font-weight: bold;
}
div.callcenter-description-period {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  div.callcenter-description-period {
    flex-wrap: wrap;
    align-items: center;
    padding: 0 0 30px 0;
    margin: 0;
  }
  div.callcenter-description-tel {
    margin: 20px auto;
  }
  div.callcenter-description-tel p {
    font-size: 2.5rem;
  }
  .callcenter-modal-body {
    top: 0;
  }
  div.white-callcenter-box-title{
    margin: 0;
  }
  .callcenter-modal-content{
    background: #fff;
    padding: 30px;
  }
  .callcenter-description {
    margin: 20px 0 0 0;
  }
  .callcenter-modal-container{
    padding: 92px 20px 0;
  }
}
.callcenter-modal-title {
  font-size: 25px;
  font-weight: bold;
  line-height: 1.2em;
}
div.callcenter-description-period-title {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.callcenter-description-flex {
  display: flex;
  justify-content: center;
  margin: 20px 0 10px;
}
.callcenter-faq {
  display: flex;
  justify-content: center;
  position: relative;
  height: 65px;
  padding-right: 20px;
  color: #000;
  font-weight: bold;
  align-items: center;
  line-height: 1.4;
  text-align: center;
  background: #FFF;
  box-shadow: 0 0 15px rgb(0 0 0 / 20%);
  transition: .7s all;
}
@media screen and (max-width: 767px) {
  .callcenter-faq {
    font-size: 1.2rem;
    width: 147px;
  }  

  div.callcenter-description-period-title {
    width: 100%;
  }
  .callcenter-description-flex {
    flex-direction: column;
    margin: 0;
  }
  .callcenter-modal-title {
    margin: 30px 0 0 0;
  }
}
.callcenter-faq::after {
  content: "▶";
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  top: -5px;
  bottom: 0;
  right: 1em;
  margin: auto;
  color: #f07;
}
.callcenter-faq:hover {
  transform: none;
  background-color: #ffeb00;
  transition: .3s all;
}
.callcenter-mail-icon {
  width: 90px;
  height: auto;
  position: absolute;
  right: 30px;
  bottom: 0px;
}
.callcenter-mail-icon.initial-cancel{
  width: 70px;
}
.callcenter-faq::before{
  content: "";
  display: block;
  position: absolute;
  right: 33px;
  height: 50%;
  border-right: 2px solid #666;
}
.initial-cancel-remark{
  display: inline-block;
  margin-top: 0.5em;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.3em;
}
div.white-content-box-inner-flex-right.cancel-aplly p.initial-cancel-remark {
  font-size: 1.4rem;
}
div.white-content-box-inner-flex-right.cancel-aplly{
  width: auto;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: space-around;
  margin-bottom: 30px;
}
div.white-content-box-inner-flex-right.cancel-aplly > div{
  flex-direction: column;
}
div.white-content-box-inner-flex-right.cancel-aplly + .btn_box02{
  margin: 40px auto 30px;
} 
div.white-content-box-inner-flex-right.cancel-aplly img{
  width: 250px;
}
.initial-cancel-img{
  width: 50%;
  margin: 20px auto;
}
.rental-item{
  width: 70%;
}
.cancel-caution-area{
  display: flex;
  flex-direction: column;
  margin: 40px auto 0;
  padding: 10px 0;
  border: 3px solid #DB0066;
}
.cancel-caution-area p{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: auto 1.5em;
  text-align: left;
  font-size: 1.4em;
}
.cancel-caution-area p img.yellow-notion-icon{
  width: 2.5em;
  height: auto;
  margin: 0.5em 1em 0.5em 0;
}

@media screen and (max-width: 767px) {
  .callcenter-area.initial-cancel-area section.other-first{
    padding: 0px 0 40px;
  }
  .callcenter-faq{
    width: auto;
    height: 75px;
    padding: 0 35px 0 15px;
    text-align: left;
    align-items: center;
    font-size: 1.2rem;
    text-align: center;
    box-sizing: border-box;
  }
  .callcenter-faq::before{
    right: 25px;
  }
  .callcenter-faq::after {
    right: 0.7em;
  }
  
  .callcenter-mail-icon {
    display: none;
  }
  .callcenter-faq-quadra {
    flex-direction: column;
  }
  div.cancel-title p{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .white-content-box-inner-flex-right p{
    position: static;
  }
  div.white-content-box-inner-flex-right.cancel-aplly{
    flex-direction: column;
    margin-bottom: 30px;
    align-items: center;
  }
  div.white-content-box-inner-flex-right.cancel-aplly > div{
    margin-bottom: 30px;
  }
  div.white-content-box-inner-flex-right.cancel-aplly img{
    width: 70%;
  }
  .callcenter-area.initial-cancel-area div.content-box-inner p.callcenter-caution-explanation{
    margin: 1em 0 0;
  }

  .callcenter-area.initial-cancel-area section:last-of-type{
    padding: 10px 0 70px;
  }
  .initial-cancel-remark{
    margin-bottom: 0.7em;
  }
  .initial-cancel-img{
    margin: 30px auto 20px;
    width: 90%;
  }
  div.white-content-box-inner-flex-right.cancel-aplly + .btn_box02{
    margin: 40px auto 0px;
  }
  div.white-content-box-inner-flex-right.cancel-aplly + .btn_box02 a{
    margin: 40px auto 20px;
    font-size: 1.5rem;
    line-height: 1.2em;
    letter-spacing: 0.07em;
  }
  div.white-content-box-inner-flex-right.cancel-aplly p.initial-cancel-remark {
    font-size: 1.4rem;
  }
  
  .rental-item{
    width: 100%;
  }
  .cancel-caution-area{
    margin: 30px auto 20px;
  }

  .cancel-caution-area p{
    margin: 1em;
    font-size: 1.4em;
  }
  .cancel-caution-area p img.yellow-notion-icon{
    width: 100%;
    max-width: 33px;
    margin-right: 15px;
  }
}
body#independent_page{
  position: relative;
}
#independent_page .section-container{
  display: flex;
  align-items: center;
}
#independent_page main{
  min-height: calc(100vh - 95px);
}
#independent_page main  .inner{
  padding: 80px 0;
}
footer:not(.exclusion).footer-menu.single-copy{
  width: 100%;
  padding: 0;  
  z-index: 5;
}
@media screen and (max-width: 767px) {
  #independent_page main{
    min-height: calc(100vh - 85px);
  }
  section.i-m-language-container.hotelwifi-mvbox {
    background: none;
    background-size: none;
  }
  footer:not(.exclusion).footer-menu.single-copy #copy{
    padding: 0 8%;
  }
}

/* お客様サポート｜チャットボット */
div.section-chatbot {
  padding-top: 35px;
  padding-bottom: 100px;
}
div.section-chatbot-support-contact {
  padding-top: 0;
  padding-bottom: 50px;
}
div.section-chatbot div.content-box-inner {
  max-width: none;
}
div.section-chatbot #ulAiWidget {
  height: 600px;
  margin-top: 15px;
  background-color: #fff;
}
div.section-chatbot #ulAiWidget iframe {
  height: 600px;
}
@media (max-width: 767px) {
  div.section-chatbot {
    padding-top: 0px;
    padding-bottom: 60px;
  }
  div.section-chatbot-support-contact {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 40px;
  }
  div.section-chatbot #ulAiWidget {
    height: 540px;
    margin-top: 30px;
  }
  div.section-chatbot #ulAiWidget iframe {
    height: 540px;
  }
  .ul-widget-hide {
    display: none !important;
  }
}

/* AI FAQ | チャットボット - start */
#faq-chatbot-content .content-box-title .text {
  font-size: 2.2rem;
  line-height: 1.5;
}
#faq-chatbot-content .faq-chatbot {
  max-width: 1100px;
  min-height: 100vh;
}
#faq-chatbot-content .faq-chatbot-body .heading {
  text-align: center;
  margin-bottom: 30px;
}
#faq-chatbot-content .faq-chatbot-body .heading h2 {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}
#faq-chatbot-content .faq-chatbot-body .heading .text {
  font-size: 2.2rem;
  line-height: 1.4;
  margin-top: 8px;
}
#faq-chatbot-content .faq-chatbot-main-categories,
.support .faq-chatbot-main-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
  list-style: none;
  width: 850px;
  gap: 20px;
  margin: 50px auto 80px;
}
#faq-chatbot-content .faq-chatbot-main-categories .category-btn a,
.support .faq-chatbot-main-categories .category-btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 270px;
  height: 70px;
  padding-top: 3px;
  background-color: #fff;
  border-radius: 15px;
  box-sizing: border-box;
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, .2));
  transform: translateZ(0);
}
#faq-chatbot-content .faq-chatbot-main-categories .category-btn a:hover,
.support .faq-chatbot-main-categories .category-btn a:hover {
  background-color: #ffe000;
  transition: all .3s;
}
#faq-chatbot-content .faq-chatbot-main-categories .icon,
.support .faq-chatbot-main-categories .icon {
  display: block;
  position: relative;
  left: 15px;
  width: 32px;
  height: 32px;
}
#faq-chatbot-content .faq-chatbot-main-categories .icon img,
.support .faq-chatbot-main-categories .icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
#faq-chatbot-content .faq-chatbot-main-categories .icon .normal,
.support .faq-chatbot-main-categories .icon .normal {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1;
  transition: all .3s;
}
#faq-chatbot-content .faq-chatbot-main-categories a:hover .icon .normal,
.support .faq-chatbot-main-categories a:hover .icon .normal {
  opacity: 0;
}
#faq-chatbot-content .faq-chatbot-main-categories .title,
.support .faq-chatbot-main-categories .title {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1e1e1e;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
}
#faq-chatbot-content .faq-chatbot-include-chat {
  background-color: #fff;
  padding: 40px 0 50px;
  margin-bottom: 60px;
}
#faq-chatbot-content .faq-chatbot-include-chat #ulAiWidget {
  margin: 0 auto;
  max-width: 910px;
}
#faq-chatbot-content #ulAiWidget iframe {
  display: block !important;
  height: 600px;
  margin: 0 auto;
}
#faq-chatbot-content .faq-chatbot-include-faq {
  background-color: #fff;
  overflow: hidden;
  padding-top: 40px;
  margin-bottom: 40px;
}
@keyframes Heading {
  0% {
    opacity: 0;
    display: none;
  }

  99% {
    opacity: 0;
    display: block;
  }

  100% {
    opacity: 1;
    display: block;
  }
}
#faq-chatbot-content .faq-chatbot-include-faq .heading {
  display: none;
  opacity: 0;
}
#faq-chatbot-content .faq-chatbot-top .faq-chatbot-include-faq .heading {
  display: block;
  position: relative;
  margin-bottom: -20px;
  opacity: 1;
  z-index: 2;
  animation: Heading .2s ease-in 0s forwards;
}
#faq-chatbot-content .faq-chatbot-top .faq-chatbot-include-faq #ulfaq {
  overflow: hidden;
}
#faq-chatbot-content .faq-chatbot-top .faq-chatbot-include-faq #ulfaq iframe {
  margin-top: -50px;
  margin-bottom: -50px;
}
#faq-chatbot-content #faq-section { /* AI FAQの高さ調整 */
  position: relative;
  top: -150px;
}
#faq-chatbot-content div#price_fix.faq-btn {
  top: calc(100vh - 85px);
}

@media (max-width: 767px) {
  #faq-chatbot-content .content-box-title .text {
    font-size: 1.8rem;
  }
  #faq-chatbot-content .faq-chatbot-body .heading h2 {
    font-size: 2.6rem;
  }
  #faq-chatbot-content .faq-chatbot-body .heading .text {
    font-size: 1.8rem;
  }
  #faq-chatbot-content .faq-chatbot-main-categories,
  .support .faq-chatbot-main-categories {
    width: 100%;
    gap: 18px;
  }
  #faq-chatbot-content .faq-chatbot-main-categories .category-btn,
  .support .faq-chatbot-main-categories .category-btn {
    width: calc(50% - 18px / 2);
  }
  #faq-chatbot-content .faq-chatbot-main-categories .category-btn a,
  .support .faq-chatbot-main-categories .category-btn a {
    flex-direction: column;
    width: 100%;
    justify-content: center;
    border-radius: 10px;
  }
  #faq-chatbot-content .faq-chatbot-main-categories .category-btn a::before {
    border-radius: 10px;
  }
  #faq-chatbot-content .faq-chatbot-main-categories .title,
  .support .faq-chatbot-main-categories .title {
    font-size: 1.3rem;
    line-height: 1.2;
  }
  #faq-chatbot-content .faq-chatbot-main-categories .icon,
  .support .faq-chatbot-main-categories .icon {
    left: 0;
    margin: -2px 0 8px;
    width: 20px;
    height: 20px;
    order: 1;
  }
  #faq-chatbot-content .faq-chatbot-include-chat {
    width: auto;
    margin-bottom: 50px;
  }
  #faq-chatbot-content .faq-chatbot-include-chat #ulAiWidget {
    padding-bottom: 0;
  }
  .faq-chatbot-include-chat,
  .faq-chatbot-include-faq {
    width: auto;
    background-color: #fff;
    margin: 0 -5%;
  }
  .faq-chatbot-include-chat {
    margin: 0 -8vw;
  }
  #faq-chatbot-content .faq-chatbot-top .faq-chatbot-include-faq .heading {
    padding: 10px 0;
  }
  #faq-chatbot-content .faq-chatbot-include-chat #ulAiWidget {
    width: 90vw !important;
  }
  #faq-chatbot-content #ulAiWidget iframe {
    height: 540px;
  }
  #faq-chatbot-content .faq-chatbot-include-faq {
    padding-top: 15px;
    margin-bottom: 0;
  }
  #faq-chatbot-content .faq-chatbot-top .faq-chatbot-include-faq #ulfaq iframe {
    margin-top: -70px;
    margin-bottom: -70px;
  }
  #faq-chatbot-content div#price_fix.column-fix.faq-btn {
    top: auto;
    margin-right: 30px;
    width: 40px;
    bottom: 25px;
  }
}
/* AI FAQ | チャットボット - end */

/* plan-options r2 start */
.plan-opt {
  --zeus-po-white: #fff;
  --zeus-po-black: #232323;
  --zeus-po-yellow: #ffe700;
  --zeus-po-red: #DB0066;
  --zeus-po-gray-1: #ccc;
  --zeus-po-gray-2: #f5f5f5;
  margin-bottom: 50px;
}
.plan-opt img {
  width: 100%;
  height: auto;
}
.plan-opt-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.plan-opt-header .group {
  flex: 1;
}
.plan-opt-header .mark {
  position: relative;
  max-width: 320px;
  max-height: 320px;
}
.plan-opt-header .mark-more {
  position: absolute;
  right: -3.45%;
  top: -16.3875%;
  width: 43.125%;
  height: 43.125%;
}
.plan-opt-header .title {
  display: inline-block;
  position: relative;
  text-align: center;
  margin: 50px 0 40px;
}
.plan-opt-header .title-main {
  font-size: 5.2rem;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
  margin: 0;
}
.plan-opt-header .title-sub {
  font-size: 2.5rem;
  line-height: 1.3;
  margin: 7px 0 0;
}
.plan-opt-header .title .shoulder {
  display: block;
  position: absolute;
  top: -50px;
  left: 0;
  color: var(--zeus-po-white);
  font-size: 2.5rem;
  line-height: 1;
  padding: 8px 32px;
  background-color: var(--zeus-po-red);
  border-radius: 50px;
}
.plan-opt-header .descr {
  font-size: 2.15rem;
  line-height: 1.7;
  font-weight: bold;
  text-align: left;
  letter-spacing: 0.12em;
}
.plan-opt-body {
  margin-top: 40px;
}
.plan-opt-body .heading {
  text-align: center;
}
.plan-opt-body .heading h3 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 50px;
  color: var(--zeus-po-white);
  font-size: 3.2rem;
  line-height: 1.3;
  white-space: nowrap;
  min-width: 420px;
  margin: 0;
  background-color: var(--zeus-po-black);
  box-sizing: border-box;
  border-radius: 50px;
}
.plan-opt-body .heading .small {
  font-size: 0.78125em;
  white-space: nowrap;
  margin-left: 1.5em;
}
.plan-opt-bottom {
  margin-top: 50px;
}
.plan-opt .content-images {
  max-width: 850px;
  margin: 0 auto;
}
@media (min-width: 768px){
  .lp-price-page .plan-opt .content-images{
    max-width: 100%;
  }
}
.plan-opt .content-images .images {
  display: flex;
  margin-top: 40px;
  list-style: none;
  padding: 0;
}
.plan-opt .content-images .images li {
  flex: 1;
}
.plan-opt .content-images .images .box {
  position: relative;
  width: 80%;
  height: 0;
  padding-bottom: 80%;
  background-color: var(--zeus-po-white);
  border-radius: 50px;
  overflow: hidden;
  filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, 0.2));
  transform: translateZ(0);
  margin: 0 auto;
}
.plan-opt .content-images .images .img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plan-opt .content-images .images .img img {
  width: 100%;
  height: auto;
}
.plan-opt .content-images .images .caption {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  margin-top: 15px;
}
.plan-opt .content-images-type2 {
  margin-top: 80px;
}
.plan-opt .content-images-type2 .images .box {
  border-radius: 50%;
}
.plan-opt .content-images-type2 .images .img img {
  width: 100%;
}
.plan-opt .content-images-type3 .images {
  flex-wrap: wrap;
}
.plan-opt .content-images-type3 .images .box {
  padding-bottom: 78.75%;
}
.plan-opt .content-images-type3 .images li {
  flex: 0 1 calc(50% - 25px);
}
@media (min-width: 768px){
  .lp-price-page .plan-opt .content-images-type3 .images li {
    flex:auto;
    width: calc(100% / 4);
  }
}
.plan-opt .content-price {
  margin-top: 80px;
}
.plan-opt .content-price table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
  table-layout: fixed;
}
.plan-opt .content-price table thead tr th {
  font-size: 1.6rem;
  line-height: 1.2;
  padding: 20px;
  box-sizing: border-box;
}
.plan-opt .content-price table thead tr th.attention {
  color: var(--zeus-po-red);
  font-size: 1.45em;
}
.plan-opt .content-price table thead tr th:nth-of-type(1) {
  width: 26%;
}
.plan-opt .content-price table thead tr th:nth-of-type(n+2) {
  width: 37%;
}
.plan-opt .content-price table tbody {
  background-color: var(--zeus-po-white);
  border-top: 2px solid var(--zeus-po-black);
  border-bottom: 2px solid var(--zeus-po-black);
}
.plan-opt .content-price table tbody tr:not(:first-of-type) {
  border-top: 1px solid var(--zeus-po-gray-1);
}
.plan-opt .content-price table tbody tr td {
  font-size: 1.6rem;
  line-height: 1.2;
  text-align: center;
  padding: 12px 0;
  box-sizing: border-box;
}
.plan-opt .content-price table tbody tr td:nth-of-type(1) {
  font-weight: bold;
  width: 26%;
}

.plan-opt.plan-opt-tanmatsu-anshin .content-price table tbody tr td:nth-of-type(1),
.plan-opt.plan-opt-tanmatsu-anshin .content-price table tbody tr td:nth-of-type(2) {
  border-right: 1px solid var(--zeus-po-gray-1);
}
.plan-opt .content-price table tbody tr td:nth-of-type(n+2) {
  width: 37%;
}
.plan-opt .content-price table tbody tr td:nth-of-type(2) {
  color: var(--zeus-po-red);
  font-size: 2.9rem;
  font-weight: bold;
}
.plan-opt .content-price .price {
  font-size: 1.8rem;
  font-weight: bold;
}
.plan-opt .content-price .yen,
.plan-opt .content-price .tax-included {
  font-size: 1.3rem;
}
.plan-opt .content-notes table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  table-layout: fixed;
}
.plan-opt .content-notes table tbody p,
.plan-opt .content-notes table tbody th,
.plan-opt .content-notes table tbody td {
  font-size: 1.4rem;
  line-height: 1.5;
}
.plan-opt .content-notes table tbody th,
.plan-opt .content-notes table tbody td {
  padding: 12px;
  border: 1px solid var(--zeus-po-gray-1);
}
.plan-opt .content-notes table tbody th {
  width: 20%;
}
.plan-opt .content-notes table tbody ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.plan-opt .content-notes table tbody ul li {
  padding-left: 1em;
  /* text-indent: -1em; */
}
.plan-opt .content-notes table tbody ul li::before {
  content: "・";
}
.plan-opt-tanmatsu-anshin .content-images .images .img img {
  width: 70%;
}
.lp-price-page .plan-opt-digital-life {
  margin-top: 80px;
}
.lp-price-page .plan-opt-marugoto-anshin{
  margin-top: 80px;
}
.plan-opt-digital-life .plan-opt-header {
  gap: 30px;
}
.plan-opt-digital-life .content-images {
  margin-top: 50px;
}
.plan-opt-digital-life .content-images-type2 {
  margin-top: 80px;
}
.plan-opt-marugoto-anshin {
  margin-top: 120px;
}
@media (max-width: 767px){
  .plan-opt {
    margin-bottom: 30px;
  }
  .plan-opt-header {
    flex-direction: column;
  }
  .plan-opt-header .group {
    text-align: center;
  }
  .plan-opt-header .mark {
    max-width: 250px;
    max-height: 250px;
    margin: 0 auto;
  }
  .plan-opt-header .mark-more {
    right: -12.9375%;
    top: -10.78125%;
  }
  .plan-opt-header .title {
    margin: 30px 0 25px;
  }
  .plan-opt-header .title-main {
    font-size: 2.7rem;
  }
  .plan-opt-header .title-sub {
    font-size: 1.55rem;
    margin: 5px 0 0;
  }
  .plan-opt-header .title .shoulder {
    top: -40px;
    font-size: 1.7rem;
    padding: 7px 28px;
  }
  .plan-opt-header .descr {
    font-size: 1.6rem;
  }
  .plan-opt-body .heading h3 {
    font-size: 2rem;
    min-width: 100%;
    padding: 9px;
  }
  .plan-opt-body .heading .small {
    margin-left: 0.8em;
  }
  .plan-opt-bottom {
    margin-top: 35px;
  }
  .plan-opt .content-images .images {
    margin-top: 25px;
    gap: 16px;
  }
  .plan-opt .content-images .images .box {
    border-radius: 20px;
    filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, 0.2));
    transform: translateZ(0);
    width: 100%;
    padding-bottom: 100%;
  }
  .plan-opt .content-images .images .caption {
    font-size: 1.2rem;
    margin-top: 12px;
  }
  .plan-opt .content-images-type2 .images .box {
    border-radius: 50%;
  }
  .plan-opt .content-images-type3 .images li {
    flex: 0 1 calc(50% - 8px);
  }
  .plan-opt .content-price {
    margin-top: 40px;
  }
  .plan-opt .content-price table thead tr th {
    font-size: 1.3rem;
    padding: 10px 0;
  }
  .plan-opt .content-price table thead tr th.attention {
    font-size: 1.1em;
  }
  .plan-opt .content-price table thead tr th:nth-of-type(1) {
    width: 30%;
  }
  .plan-opt .content-price table thead tr th:nth-of-type(n+2) {
    width: 35%;
  }
  .plan-opt .content-price table tbody tr td {
    font-size: 1.3rem;
    padding: 8px 5px;
  }
  .plan-opt .content-price table tbody tr td:nth-of-type(1) {
    width: 30%;
  }
  .plan-opt .content-price table tbody tr td:nth-of-type(n+2) {
    width: 35%;
  }
  .plan-opt .content-price table tbody tr td:nth-of-type(2) {
    font-size: 2.5rem;
  }
  .plan-opt .content-price .price {
    font-size: 1.6rem;
  }
  .plan-opt .content-price .yen,
  .plan-opt .content-price .tax-included {
    font-size: 1.1rem;
  }
  .plan-opt .content-notes {
    margin-top: 25px;
  }
  .plan-opt .content-notes table tbody p,
  .plan-opt .content-notes table tbody th,
  .plan-opt .content-notes table tbody td {
    font-size: 1.2rem;
  }
  .plan-opt .content-notes table tbody th,
  .plan-opt .content-notes table tbody td {
    padding: 8px;
  }
  .plan-opt-tanmatsu-anshin .content-images .images .img img {
    width: 84%;
  }
  .plan-opt-digital-life {
    margin-top: 100px;
  }
  .plan-opt-digital-life .content-images {
    margin-top: 30px;
  }
  .plan-opt-digital-life .content-images-type2 {
    margin-top: 50px;
  }
  .plan-opt-marugoto-anshin {
    margin-top: 50px;
    margin-bottom: 20px;
  }
}
/* plan-options r2 end */

/* ナビダイヤルの表示方法修正 */
div.callcenter-description-tel p:last-of-type span {
  font-size: 1.6rem;
  font-weight: normal;
  text-align: right;
  width: 220px;
  display: inline-block;
  line-height: 1.2;
}
p.no-phone-call span {
  text-align: left;
  display: inline-block;
  width: 430px;
}
@media screen and (max-width: 767px) {
  div.callcenter-description-tel p:last-of-type span {
    width: 188px;
    font-size: 1.4rem;
  }
  p.no-phone-call span {
    width: 100%;
  }
}
/* ナビダイヤルの表示方法修正 end */

footer .ft_nav ul.nest-list li a::before {
  content: "▶";
  color: #FFFFFF;
  font-size: 0.8em;
  padding-right: 0.5em;
  vertical-align: center;
}
footer .ft_nav ul.nest-list li {
  color: #cccccc;
  font-size: 1.3rem;
  line-height: 3;
  letter-spacing: 0.1em;
  text-decoration: none;
}
.swiper-container-autoheight .swiper-slide {
  padding-top: 15px;
}
footer .ft_nav ul.nest-list.pc {
  display: block;
}
footer .ft_nav ul.nest-list.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  footer .ft_nav ul.nest-list li {
    padding: 8px 0;
    line-height: 1.3;
    font-size: 1.1rem;
  }
  footer .ft_nav ul.nest-list.pc {
    display: none;
  }
  footer .ft_nav ul.nest-list.sp {
    display: block;
    /* width: 100%;
    margin: 0;
    border-top: 1px solid #909090; */
  }
  footer .ft_nav ul.nest-list {
    padding: 10px 0;
  }
  footer .ft_nav ul.nest-list li a {
    border-top: 0;
    font-size: 1.2rem;
  }
  .swiper-container-autoheight .swiper-slide {
    padding-top: 0;
  }
}
/* MR1端末追加 end */

/* 海外レンタルSEO施策 */
/* .overseas-box {
  text-align: center;
  margin-top: 120px;
  position: relative;
  background: #bdb9b9;
  border:#bdb9b9 20px solid;
  border-radius: 2.5vw;
  margin: 120px auto 0;
}
.overseas-box .btn_box02 {
  position: absolute;
  bottom: 30px;
  left: 160px;
}
#overseas-section-1 .overseas-box {
  margin: 90px 0 40px;
}
#overseas-section-1 .overseas-box img {
  width: 100%;
}
#overseas-section-1 .overseas-box .btn_box02 {
  left: 80px;
}
.overseas-box img {
  border-radius: 2vw;
}

@media screen and (max-width: 767px) {
  .overseas-box {
    margin-top: 70px;
    border: 10px solid #BEBABA;
    padding: 0px;
    border-radius: 6vw;
  }
  .overseas-box img {
    border-radius: 4vw;
  }
  .overseas-box .btn_box02,
  #overseas-section-1 .overseas-box .btn_box02 {
    bottom: 10px;
    left: 20px;
  }
  .overseas-box .btn_box02 a {
    width: 200px;
  }
  .overseas-box .btn_box02 a span {
    background-position-x: 175px
  }  
} */
/* 海外レンタルSEO施策 end */

/* H01端末追加 */
.swiper-slide span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 30px;
  font-size: 2.4rem;
  font-weight: bold;
}
#devise .image-slider-wrapper p {
  position: absolute;
  top: 300px;
  font-size: 1.4rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
ul.tab-area {
  list-style-type: none;
  padding: 0;
}
.tab-area {
  display: flex;
  cursor: pointer;
}
.tab {
  width: 50%;
  padding: 20px 5px;
  text-align: center;
  background-color: #FFF;
  border: 10px solid #FFF;
  filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, .2));
  transform: translateZ(0);
}
.tab.active {
  border: 10px solid #FFE000;
  filter:none;
}
.panel {
  display: none;
  text-align: center;
}
.panel.active {
  display: block;
}
.tab img {
  width: 80%;
}
.tab span {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
}
#device-section-1,
#device-section-2,
#device-section-3,
#device-section-4 {
  padding-top: 0px;
  margin-top: 0px;
}
.btn_box02a {
  margin-top: 50px;
}
.btn_box02a .btn-dd-pink {
  background: #DB0066;
  width: 426px;
  display: block;
  margin: 0 auto;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: .05em;
  position: relative;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.btn_box02a .btn-dd-pink span {
  background-size: 8px;
  display: block;
  padding: 25px 70px 27px 0;
  position: relative;
  z-index: 1;
}
.btn_box02a .btn-dd-pink a span {
  color: #fff;
}
.btn_box02a .btn-dd-pink span::before {
  content: "";
  width: 22px;
  height: 22px;
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  right: 35px;
  top: 36%;
  transform: rotate(90deg) translateY(-50%);
}
.btn_box02a .btn-dd-pink::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 70px;
  background: #1e1e1e;
  transition: .3s all;
}
.btn_box02a .btn-dd-pink:hover::after {
  width: 100%
}
.btn_box03.under-link a::before{
  transform: translateY(-50%) rotate(90deg);
}
.panel-area div.price-fee-related-table-box {
  padding-bottom: 20px;
}
.panel-area > p {
  margin-bottom: 50px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .swiper-slide span {
    top: 0px;
    font-size: 1.6rem;
  }
  #devise .image-slider-wrapper p {
    top: 105px;
    font-size: 1.2rem;
    width: 80%;
    text-align: center;
    line-height: 1.2;
    letter-spacing: normal;
  }
  div.swiper-container.device-slider-visual {
    height: 170px;
  }
  .btn_box02a .btn-dd-pink {
    background: #f07;
    width: 280px;
    display: block;
    margin: 0 auto;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: .02em;
    position: relative;
    text-align: center;
    text-decoration: none;
  }
  .btn_box02a .btn-dd-pink span {
    background-size: 6px;
    display: block;
    padding: 20px 45px 20px 0;
    position: relative;
    z-index: 1;
  }
  .btn_box02a .btn-dd-pink span::before {
    width: 15px;
    height: 15px;
    right: 22px;
    top: 36%;
  }
  .btn_box02a .btn-dd-pink::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 45px;
    background: #1e1e1e;
    transition: .3s all;
  }
  #device-section-1 div.swiper-container.device-slider-visual {
    height: auto;
  }
}

/* H01端末追加 end */
.section.other-first.campaign-archive{
  background: #F3F3F3;
  background-size: none;
}

/* priceページ画像位置調整追加 */
.lp-price-page .wrap-area{
  position: relative;
}
/* priceページ画像位置調整追加 end */


.overseas-step-icon-box-image-pos{
  max-width: 328px;
  max-height: 102px;
}

.btn-list{
  margin-top: 60px;
  display: flex;
  justify-content: center;
}
.btn-list .btn_box02{
  margin: 0 10px;
}
.btn-list .btn_box02 a{
  font-size: 1.8rem;
  width: 380px;
}
.btn-list .btn_box02 a span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02.svg) no-repeat 344px center;
  background-size: 8px;
}
@media screen and (max-width: 767px) {
  .btn-list{
    flex-direction: column;
    margin-top: 0;
  }
  div.buy-step img{
    max-width: 328px;
  }

  .btn-list .btn_box02 a{
    width: 280px;
    font-size: 1.2rem;
  }
  .btn-list .btn_box02{
    margin: 10px 8%;
  }
  .btn-list .btn_box02 a span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/arrow02_t.png) no-repeat 255px center;
    background-size: 6px;
  }
}
@media (min-width: 768px) and (max-width: 1280px) {
  .btn-list{
    flex-direction: column;
  }
  .btn-list .btn_box02{
    margin: 10px 0;
  }
  .btn-list .btn_box02 a{
    font-size: 1.5rem;
  }
  .lp-price-page .other-fourth.price-other-fourth .left-block.text-okawari{
    width: 54%;
  }
}
.tab .btn-click{
  display: block;
  font-size: 1.5rem;
  width: 200px;
  margin: 0 auto;
  padding: 15px;
  background: #DB0066;
  color: #fff;
  border-radius: 10px;
}
.tab.active .btn-click{
  display: none;
}
li.tab.active{
  position: relative;
}
li.tab.active::after{
  content: "";
  position: absolute;
  bottom: -30px;
  left: 46%;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #FFE000;
}
table.device-spec-table{
  margin: 30px auto 0;
}
@media screen and (max-width: 767px) {
  .tab .btn-click {
    font-size: 1.1rem;
    width: 105px;
    margin: 15px auto -15px;
    padding: 10px;
  }
  li.tab.active::after{
    left: 36%
  }
}
@media screen and (min-width: 768px) {
  .ove_use section.other-second.area-wide{
    padding: 60px 30px 110px 30px;
  }
}
div.white-content-box-inner.company p{
  font-size: 1.35rem;
}
.lp-price-page .other-fourth.price-other-fourth h2.text-title span{
  font-size: 3rem;
  display: block;
  margin: 0 0 5px;
  letter-spacing: .1em;
}
@media screen and (max-width: 767px) {
  .lp-price-page .other-fourth.price-other-fourth h2.text-title span{
    font-size: 2rem;
  }
}
#cv .inner h3 {
  position: relative;
  text-align: center;
  font-weight: bold;
}
#cv .inner h3 img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -51px;
  width: 60px;
  z-index: 2;
}
#cv dl dt a span,
#cv dl dd a span {
  background: none;
  padding-right: 0;
  position: relative;
}
#cv dl dt a span::before,
#cv dl dd a span::before {
  content: "";
  border-left: 11px solid #fff;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
}
#cv dl dt a:hover span::before,
#cv dl dd a:hover span::before {
  border-left: 11px solid #FFE400;
}
@media (min-width: 768px) and (max-width: 1280px) {
  #top #cv .inner h3 img {
    top: -51px;
  }
  #cv .inner h3 img {
    top: -55px;
    width: 60px;
  }
}
@media screen and (max-width: 767px) {
  #cv dl dt a span::before, 
  #cv dl dd a span::before {
    border-left: 9px solid #fff;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    right: -15px;
  }

  #cv .inner h3 img {
    display: none;
  }
}

/* topリニューアル 20240905 start */
.btn_box03 {
  text-align: center;
}
.btn_box03 a {
  display: inline-block;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  padding: 20px 30px;
  border-radius: 10px;
  position: relative;
  transition: all .3s;
  min-width: 240px;
  font-size: 1.6rem;
}
.btn_box03 a::before {
  content: "";
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #FFE400;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
.btn_box03 a:hover {
  background-color: #FFE400;
  color: #000;
}
.btn_box03 a:hover::before {
  border-left: 12px solid #000;
}
.btn_box03 a span {
  line-height: 1.4;
}
.btn_box03.long-text a{
  padding: 20px 3em 20px 2em;
}
.free-box-global.mg{
  position: relative;
}
.free-box-global.mg .btn_box03 {
  position: absolute;
  right: 15px;
  bottom: 15px;
}
.free-box-global.mg .btn_box03 a {
  padding: 13px 22px 13px 10px;
  min-width: unset;
  font-size: 1.3rem;
}

.free-box-global.mg .btn_box03 a::before {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #FFE400;
  right: 10px;
}
.free-box-global.mg .btn_box03 a:hover::before {
  border-left: 8px solid #000;
}
.sub-price-image,
.fast-free-plan,
.second-free-plan {
  display: flex;
  justify-content: center;
}
.sub-price-image {
  margin: 40px auto;
  text-align: center;
}
.free-box-global.mg .inner img{
  width: 100%;
}

.sub-price-wrapper {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
  margin: 0 5px;
  display: grid;
}

.sub-price-wrapper p {
  font-weight: 900;
  font-size: 1.6rem;
  display: inline-block;
}

.back-yellow {
  background-color: #ffe000;
}

.sub-price-wrapper .sub-feature-font {
  font-size: 2rem;
}

.sub-price-image.overseas-content{
  justify-content: space-between;
  margin-bottom: 0;
}

.overseas-content .sub-price-wrapper{
  width: 20%;
  margin: 0;
  padding: 2%;
  display: grid;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  justify-items: center;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
}
.overseas-content .sub-price-wrapper img{
  width: 90%;
}
.sub-price-button {
  margin-top: 50px;
}
.flow_box {
  display: flex;
  gap: 22px;
  margin-bottom: 30px;
}
.flow_box .flow-item {
  width: calc(100% / 3);
  text-align: center;
  font-weight: bold;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  padding: 20px;
  box-sizing: border-box;
}
.flow_box .flow-item .step-number {
  font-size: 2.2rem;
  letter-spacing: 2px;
}
.flow_box .flow-item .step-number span {
  font-size: 5rem;
}
.flow_box .flow-item .flow-ttl {
  font-size: 2rem;
  border-bottom: 1px solid #000;
  padding: 10px 0;
  letter-spacing: 2px;
}
.flow_box .flow-item .txt-strong {
  font-size: 1.6rem;
  margin-top: 20px;
}
.flow_box .flow-item .txt-strong .marker {
  font-size: 2.9rem;
  background-color: #ffd700;
  padding: 5px;
  display: inline-block;
  margin-top: 5px;
}
.flow_box .flow-item .txt-strong .notice-icon {
  font-size: 1.2rem;
}
.flow_box .flow-item img {
  width: 80%;
  margin-top: 30px;
}
.flow_box .flow-item:nth-child(3) img {
  width: 70%;
  margin-top: 10px;
}
.notice-txt {
  margin-bottom: 50px;
}
.flow_box .flow-item .btn_box03 {
  margin-top: 15px;
}
.flow_box .flow-item .btn_box03 a {
  padding: 10px 20px;
  min-width: 120px;
  font-size: 1.3rem;
}
.flow_box .flow-item .btn_box03 a::before {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #FFE400;
  right: 10px;
}
.flow_box .flow-item .btn_box03 a:hover::before {
  border-left: 8px solid #000;
}
#top dl{
  margin-block-start: 0;
}

.guide .flow_box .flow-item {
  width: 100%;
  background-color: initial;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
div.content-box-inner p.notice-txt{
  font-size: 1.2rem;
}
div.content-box-inner p.notice-txt span {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
  font-size: 1.2rem;
}

@media (min-width: 768px) and (max-width: 1280px) {
  #price h2 {
    font-size: 4rem;
  }
  .free-box-global.mg .btn_box03 a {
    padding: 5px 20px 5px 10px;
    font-size: 1.2rem;
    line-height: 1.3;
    width: 135px;
    box-sizing: border-box;
  }
  .free-box-global.mg .btn_box03 {
    right: 10px;
    bottom: 6px;
  }
  .flow_box {
    gap: 10px;
    margin-bottom: 20px;
  }
  .flow_box .flow-item {
    width: calc(100% / 3 - 6.67px);
    padding: 20px 10px;
  }
  .flow_box .flow-item .step-number {
    font-size: 2rem;
  }
  .flow_box .flow-item .step-number span {
    font-size: 4rem;
  }
  .flow_box .flow-item .txt-strong {
    font-size: 1.4rem;
  }
  .flow_box .flow-item .txt-strong .marker {
    font-size: 2.5rem;
  }
  .guide .flow_box .flow-item{
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .free-box-global.mg .inner{
    width: 100%;
    max-width: 450px;
    margin: auto;
  }
  .free-box-global.mg .btn_box03 {
    position: absolute;
    right: 10px;
    bottom: 4px;
  }
  .free-box-global.mg .btn_box03 a {
    padding: 6px 25px 6px 10px;
    font-size: 1.1rem;
    border-radius: 5px;
  }
  .fast-free-plan-digital {
    display: block;
  }
  .sub-price-image {
    display: block;
    margin: 0;
  }
  .sub-price-image.sub-price-thumb {
    margin: 20px auto;
  }
  .price-option-person-sp img {
    width: 100%;
  }

  .sub-price-wrapper {
    margin: 5px;
    width: 100%;
    padding: 20px 0;
  }

  .sub-price-wrapper img {
    margin: auto;
    width: 80%;
  }
  .flow_box {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 15px;
  }
  .flow_box .flow-item {
    width: 100%;
    display: flex;
    padding: 15px 10px;
    border-radius: 10px;
  }
  .flow_box .flow-item .flex-left {
    width: 55%;
    text-align: left;
  }
  .flow_box .flow-item .step-number {
    font-size: 1.6rem;
  }
  .flow_box .flow-item .step-number span {
    font-size: 3rem;
  }
  .flow_box .flow-item .flow-ttl {
    font-size: 1.6rem;
    padding: 5px 0;
  }
  .flow_box .flow-item .txt-strong {
    font-size: 1.2rem;
    margin-top: 10px;
  }
  .flow_box .flow-item .txt-strong .marker {
    font-size: 2.2rem;
  }
  .flow_box .flow-item .flex-right{
    width: 45%;
    display: flex;
  }
  .flow_box .flow-item:nth-child(1) .flex-right img{
    width: 80%;
    margin: auto;
  }
  .flow_box .flow-item:nth-child(3) img {
    width: 90%;
    margin: auto;
  }
  
  .notice-txt {
    margin-bottom: 30px;
  }
  div.content-box-inner p.notice-txt span {
    font-size: 1.1rem;
  }
  .flow_box .flow-item {
    width: 100%;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
    justify-content: space-between;
  }
  .guide .flow_box {
    margin: 0 0 30px;
  }
  .guide .flow_box .flow-item{
    align-items: center;
  }
  .guide .flow_box .flow-item .flex-left{
    width: auto;
  }
  .guide .flow_box .flow-item .flex-right{
    width: 45%;
  }
  .guide .flow_box .flow-item {
    width: 100%;
    background-color: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
  }
  .guide .flow_box .flow-item img{
    margin: 0;
    padding: 0;
    width: 100%;
  }
  .guide .btn_box03{
    margin-top: 30px;
  }
  #cv .inner h3 img {
    display: none;
  }
  #top #cv .inner h3 img {
    display: block;
  }

  #top #cv {
    padding: 25px 8% 11px;
  }
  #top #cv .inner h3 img {
    top: -35px;
    width: 50px;
  }
  #top #cv .inner {
    max-width: 480px;
  }
  .sub-price-image.overseas-content{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
  }
  .overseas-content .sub-price-wrapper{
    width: 40%;
    padding: 4%;
  }

  .overseas-content .sub-price-wrapper p{
    font-size: 1.4rem;
  }
}
.if-flex-op{
  display: flex;
  justify-content: space-between;
}

#overseas-section-1 .content-box-title h1{
  text-align: center;
  margin-bottom: 1rem;
}
.btn-margin{
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .if-flex,
  .if-flex-option4{
    justify-content: center;
    align-items: flex-end;
  }
  .if-flex-op{
    align-items: center;
  }
  .free-box-global.mg.price-mg .btn_box03 a{
    right: 5px;
    bottom: 20px;
  }
  .btn-margin{
    margin-bottom: 40px;
  }

}


/*TOP*/
footer:not(.exclusion) .inner{
  position: relative;
}
footer:not(.exclusion).footer-menu .privacy-mark{
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(100px, 32px);
}
.footer-nest{
  display: none;
}
@media (min-width: 768px) and (max-width: 1280px) {
  .footer-nest{
    display: none;
  }  
  footer:not(.exclusion).footer-menu .ft_nav{
    width: calc(100% - 0px);
    margin-bottom: 45px;
  }
  footer:not(.exclusion).footer-menu .privacy-mark {
    bottom: 20px;
    transform: translate(-50%, 50%);
  }
  footer:not(.exclusion).footer-menu #copy span{
    text-align: center;
  }
  footer:not(.exclusion).footer-menu.footer-new {
    padding: 20px 0 50px;
}
}
@media screen and (max-width: 767px){
  footer:not(.exclusion).footer-new .ft_logo
  footer:not(.exclusion).footer-new .ft_nav li{
    padding: 1rem 0;
  }
  footer:not(.exclusion).footer-new  .ft_nav li a{
    line-height: 1.5;
  }
  footer.footer-new  .ft_nav ul.nest-list{
    padding: 0;
  }
  .footer-new .footer-nest{
    display: flex;
    justify-content: space-between;
    width: 100%;
  }  
  footer.footer-new  .ft_nav .footer-nest ul.nest-list{
    margin: 0;
    width: 45%;
  }
  footer.footer-new  .ft_nav .footer-nest ul.nest-list:last-of-type{
    width: 53%;
  }
  footer.footer-new  .ft_nav .footer-nest ul.nest-list li a{
    margin: 0 0.5rem 0 0;
    font-size: 1.3rem;
    line-height: 1.5;
  }
  footer:not(.exclusion).footer-new  .privacy-mark{
    bottom: 0;
    right: 65px;
    transform: translate(50%, 50%);
  }
  footer.footer-new .ft_nav ul.nest-list:first-of-type{
    margin-top: 0;
    width: 48%;
  }
  footer:not(.exclusion).footer-new ul{
    margin-bottom: 0;
  }
  .footer-new.footer-nest {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 10px;
  }
  footer.footer-new .ft_nav ul.nest-list li{
    line-height: 1.5;
  }
  footer.footer-new .ft_nav .footer-nest ul.nest-list li a{
    margin: 0;
    padding: 0;
  }
  footer.footer-new .ft_nav .footer-nest ul.nest-list li a.space-performance {
    margin-top: 7px;
  }
  footer.footer-new .footer-nest{
    margin-top: 10px;
    gap: 20px;
    display: flex;
    justify-content: flex-start;
    width: 100%;
  }
  footer:not(.exclusion).footer-new ul:first-of-type{
    width: 49%;
  }
  footer:not(.exclusion).footer-new .ft_nav{
    margin-bottom: 50px;
    padding: 0 5%;
    justify-content: flex-start;
  }
  footer:not(.exclusion).footer-new .privacy-mark {
    bottom: -20px;
    right: 65px;
    transform: translate(50%, 50%);
  }
  footer:not(.exclusion).footer-new #copy{
    padding: 0;
  }
  footer:not(.exclusion).footer-new ul {
    margin-bottom: 0;
    margin-right: 0px;
  }
  footer:not(.exclusion).footer-new ul.column-3{
    width: 49%;
    margin-right: 0;
  }
  footer.footer-new.footer-biz .ft_nav ul.nest-list li{
    font-size: 1.3rem;
    line-height: 1;
  }
  footer.footer-new.footer-biz .ft_nav ul.nest-list:first-of-type{
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 1280px) {
  footer:not(.exclusion).footer-menu.footer-new.footer-biz .ft_logo {
    width: 200px;
    margin: 20px auto 30px;
    text-align: center;
  }
  footer:not(.exclusion).footer-menu.footer-new.footer-biz .inner {
    max-width: 680px;
    flex-direction: column;
  }
  footer:not(.exclusion).footer-menu.footer-new.footer-biz .ft_logo img{
    width: 100%;
    max-width: unset;
  }

}
/*--------------------------------------------------------------------------------
  旧　style.css end
----------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  旧　planselect.css start
----------------------------------------------------------------------------------*/
/* Custom select */
label.custom-check-box-v2 {
  position: relative;
  margin-right: 5px;
  margin-bottom: 10px;
  cursor: pointer;
}
label.custom-check-box-v2 span {
  display: inline-block;
}
label.custom-check-box-v2 input[type="checkbox"],
label.custom-check-box-v2 input[type="radio"] {
  opacity: 0;
  display: none;
}
label.custom-check-box-v2 input[type="checkbox"] + span::before,
label.custom-check-box-v2 input[type="checkbox"] + span::after,
label.custom-check-box-v2 input[type="radio"] + span::before,
label.custom-check-box-v2 input[type="radio"] + span::after {
  position: absolute;
  top: 1px;
  left: 0;
  display: inline-block;
  content: '';
  box-sizing: border-box;
}
label.custom-check-box-v2 input[type="checkbox"] + span::before,
label.custom-check-box-v2 input[type="radio"] + span::before {
  z-index: 0;
  background-color: #fff;
  width: 27px;
  height: 27px;
  border: 1px #000 solid;
  display: none;
}
label.custom-check-box-v2 input[type="checkbox"] + span::after,
label.custom-check-box-v2 input[type="radio"] + span::after {
  z-index: 1;
  margin: 1px 8px;
  width: 12px;
  height: 17px;
  display: none;
}
label.custom-check-box-v2 input[type="checkbox"]:checked + span::after,
label.custom-check-box-v2 input[type="radio"]:checked + span::after {
  border: 1.5px solid #000;
  border-width: 0 1.5px 1.5px 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
p.custom-check-box-v2-select-text {
  font-weight: 600;
  margin-left: 5px;
  border:1px solid #797878;
  padding:5px 30px;
  background-color: #fff;
}
p.custom-check-box-v2-select-text.div-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  p.custom-check-box-v2-select-text.div-sp {
    display: block;
  }
  p.custom-check-box-v2-select-text.div-pc {
    display: none;
  }
  p.custom-check-box-v2-select-text.datacharge{
    margin-top: 5px;
  }
}

/* Form capacity */
div.form-capacity-selects {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}
div.form-capacity-select {
  width: 210px;
  position: relative;
}
div.form-capacity-select-area.datacharge {
  box-sizing: border-box;
  width: 100%;
  height: 336px;
  margin: 10px 0;
  background-color: #e6e6e6;
  cursor: pointer;
  position: relative;
}

div.form-capacity-remarks {
  text-align: right;
  font-size: 1.1rem;
}
div.form-capacity-select-area.active,
div.form-capacity-select-area.selected {
  box-sizing: border-box;
  border: solid 5px #e6006b;
  transition: border 0.1s;
}
div.form-capacity-select-area.active p.custom-check-box-v2-select-text,
div.form-capacity-select-area.selected p.custom-check-box-v2-select-text{
  background-color: #e6006b;
  color: #FFF;
  border: 0px;
  transition: border 0.1s 0.1s;
}
div.form-capacity-select-image img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  div.form-capacity-select-area.datacharge {
    height: auto;
  }
  div.form-capacity-select-image img {
    vertical-align: middle;
  }
}
div.form-capacity-select-checkbox-area {
  position: absolute;
  top: 80%;
  left: 50%;
  transform:translateY(-50%);
  transform:translateX(-50%);
}
@media screen and (max-width: 767px) {
    div.form-capacity-select-checkbox-area {
        position: absolute;
        top: 50%;
        left: 75%;
        transform:translateY(-50%);
        transform:translateX(-50%);
    }
}
@media screen and (max-width: 767px) {
  div.form-capacity-selects {
    flex-wrap: wrap;
  }
  div.form-capacity-select {
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: 0 10px;
  }
  div.form-capacity-select-area {
    height: auto;
  }
}

/*--------------------------------------------------------------------------------
  旧　planselect.css end
----------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  旧　buttons.css start
----------------------------------------------------------------------------------*/
  /**************/
  /* decoration button */
  /**************/
  div.decoration-button.active {
    background-color: #ffeb00;
    transition: all 0.5s ease-out;
  }
  div.decoration-button.active::after {
    background-color: #ffeb00;
    transition: all 0.5s ease-out;
  }

  div.decoration-button.active div.text {
    color: black;
    transition: all 0.5s ease-out;
  }
  /* inactive */
  div.decoration-button.inactive {
    background-color: black;
    transition: all 0.5s ease-out;
  }
  div.decoration-betton.new.inactive{
    text-align: center;
    background-color: #323232;
    color: white;
    padding: 10px 0;
    border-radius: 0.75em;
    margin-top: 10px;
    border: none;
  }
  div.decoration-button.overseas-button-2line{
    padding-right:40px;
  }
  div.decoration-button.inactive::after {
    background-color: black;
    transition: all 0.5s ease-out;
  }
  div.decoration-button.inactive div.text {
    color: #ffeb00;
    transition: all 0.5s ease-out;
  }
  /**************/
  /* decoration button pink */
  /**************/
  /* inactive */
  div.top-taiken-banner div.decoration-button.active {
    background-color: #ffeb00;
    transition: all 0.5s ease-out;
  }
  div.top-taiken-banner div.decoration-button.active::after {
    background-color: #ffeb00;
    transition: all 0.5s ease-out;
  }

  div.top-taiken-banner div.decoration-button.inactive {
    background-color: #e6006b;
    transition: all 0.5s ease-out;
  }
  div.top-taiken-banner div.decoration-button.inactive::after {
    background-color: #e6006b;
    transition: all 0.5s ease-out;
  }

  div.top-taiken-banner div.decoration-button.inactive div.text {
    color: #ffeb00;
    transition: all 0.5s ease-out;
  }

  /**************/
  /* Site header */
  /**************/

  .header-menu {
    position: relative;
    display: inline-block;
  }
  .header-menu::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -100;
    content: "";
    background: black;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform 0.3s;
  }
  .header-menu.active::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }

  /**************/
  /* mypage nav item */
  /**************/
  .mypage-nav-item.active {
    transition: all 0.5s ease-out;
  }
  .mypage-nav-item.active p {
    transition: all 0.5s ease-out;
  }
  .mypage-nav-item.inactive {
    transition: all 0.5s ease-out;
  }
  .mypage-nav-item.inactive p {
    transition: all 0.5s ease-out;
  }

  /**************/
  /* sub dir nav button */
  /**************/

  div.sub-dir-nav-box.active {
    margin-top: 10px;
    margin-bottom: -10px;
    transition: all 0.5s ease-out;
  }
  div.sub-dir-nav-box.inactive {
    margin-top: 0;
    margin-bottom: 0;
    transition: all 0.5s ease-out;
  }

  div.sub-dir-nav-box::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    content: "";
    background: #ffeb00;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform 0.3s;
    z-index: 900;
  }
  div.sub-dir-nav-box.active::before {
    transform-origin: left top;
    transform: scale(1, 1);
    z-index: 900;
  }

  /**************/
  /* special contents */
  /**************/

  div.top-special-contents-icon.active {
    margin-top: 10px;
    margin-bottom: -10px;
    transition: all 0.5s ease-out;
  }
  div.top-special-contents-icon.inactive {
    margin-top: 0;
    margin-bottom: 0;
    transition: all 0.5s ease-out;
  }
  /************/
  /* overseas */
  /************/
  div.overseas-step-icon-box-image.active div.overseas-step-icon-box-image-pos img {
    opacity: 1;
    transition: all 0.5s ease-out;
  }

  div.overseas-step-icon-box-image.active div.overseas-step-icon-box-image-neg img {
    opacity: 0;
    transition: all 0.5s ease-out;
  }
  div.overseas-step-icon-box-image.inactive div.overseas-step-icon-box-image-pos img {
    opacity: 0;
    transition: all 0.5s ease-out;
  }

  div.overseas-step-icon-box-image.inactive div.overseas-step-icon-box-image-neg img {
    opacity: 1;
    transition: all 0.5s ease-out;
  }


/* world map */
img.worldmap-img.active {
  opacity: 1;
  transition: all 0.2s ease-out;
}
img.worldmap-img.inactive {
  opacity: 0;
  transition: all 0.5s ease-out;
}



div.form-back-button{
  background-color: #000;
  width: 320px;
  display: block;
  margin: 0 auto;
  font-size: 1.5rem;
  font-weight: bold;
  color: #FFF;
  letter-spacing: 0.02em;
  position: relative;
  text-align: center;
  transition: .3s all;
  cursor: pointer;
}
div.form-back-button::before{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 60px;
  background: #1E1E1E;
}
div.form-back-button span{
  background: url(https://d1q08lkutgkcx2.cloudfront.net/image/okawari-back-button-arrow.svg) no-repeat 25px center;
  background-size: 8px;
  display: block;
  padding: 25px 0 25px 25px;
  position: relative;
  z-index: 10;
}


@media screen and (max-width: 767px){
  div.row{
    flex-direction: column-reverse;
    align-items: flex-start;
    width:300px;
    margin: 30px auto;
  }
  div.row-first{
    margin: 30px auto 0;
    padding: 0;
  }
  div.row-nocontent {
    width: auto;
    margin: 0;
  }
  div.form-next-button,
  div.form-next-stop-button,
  div.form-back-button{
    width: 300px;
  }
  div.form-next-button span,
  div.form-next-stop-button span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/okawari-button-arrow.svg) no-repeat 270px center;
    background-size: 8px;
  }
  div.form-back-button span{
    background: url(https://d1q08lkutgkcx2.cloudfront.net/image/okawari-back-button-arrow.svg) no-repeat 20px center;
    background-size: 8px;
  }
  div.decoration-button-area-form-v2{
    margin:10px 0;
  }
  div.form-user-back-button-sp{
    margin:0 auto;
  }
}

/*スタイル調整用*/
.style-margin{
  margin-top:50px;
}

/*--------------------------------------------------------------------------------
  旧　buttons.css end
----------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  旧　mypage_tb.css start
----------------------------------------------------------------------------------*/
@media screen and (min-width: 1281px) {
  /* pc共通 */
  .tb {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  /* sp共通 */
  .tb {
    display: none;
  }
  .tb.sp {
    display: block;
}
  .sp {
    display: block;
  }
}

@media (min-width: 768px) and (max-width: 1280px) {
  body {
    min-width: 768px;
    overflow-x: hidden;
  }

  /* tb共通 */
  .tb {
    display: block;
  }
  .hide-tb.pc {
    display: none;
  }
  /* 共通END */

  /* マイページログインとTOP */
  div.mypage-section-container {
    width: 90%;
  }

  div.mypage-content-box {
    margin: 20px 0;
  }
  .button-contract{
    margin-top: 0;
  }

  div.mypage-footer-main ul {
    margin: 15px 150px 15px 70px;
  }

  div.header-wrapper {
    max-width: 740px;
  }

  div.prepaid-content-area{
    max-width: 700px;
  }

  .mypage-nav-item p{
    font-size: 1.2rem;
  }

  .mypage-section-container div.mypage-user-container a.button-text p{
    font-size: 1.5rem;
  }

  div.mypage-section-container div.mypage-user-container div.rental-button-body p{
    font-size: 1.2rem;
  }

  div.subsc-mypage-top a.button-text .title-body p.btn-ttl {
    font-size: 1.6rem;
  }
  div.subsc-mypage-top a.button-text .title-body p.btn-desc {
    font-size: 1.2rem;
  }
  .subsc-mypage-top .nav-flex .button-body {
    height: 110px;
    padding: 20px 0;
  }

  span.button-triangle.tab-open-main{
    width: 25px;
  }

  .subsc-mypage-top a.button-text .title-body p.btn-desc {
    padding-left: 0;
  }

  .subsc-mypage-top .button-subsc-top {
    width: 90px;
  }

  .subsc-mypage-top a.button-text.saison-menu-btn .title-body {
    padding-right: 10px;
    width: calc(100% - 90px);
  }
  .subsc-mypage-top a.button-text.saison-menu-btn .title-body p.btn-desc {
    width: auto;
    line-height: 1.5;
  }

  /* セゾンカード受付番号入力 */
  .saison-wrap div.mypage-content-box-inner {
    margin: auto 40px;
  }

  /* マイページ現在の利用状況・データ利用料ページ */
  div.recharge .travel-table .overseas-travel-period table.data-usage-table tr:not(.caption-area) td:nth-of-type(1),
  div.recharge .travel-table .overseas-travel-period table.data-usage-table tr:not(.caption-area) td:nth-of-type(3),
  div.recharge .travel-table table.data-usage-table tr:not(.caption-area) td:nth-of-type(1),
  div.recharge .travel-table table.data-usage-table tr:not(.caption-area) td:nth-of-type(3){
    font-size: 1.7rem;
  }

  div.recharge table.recharge-remaining tr.data-flow-1 td.data-label::before {
    left: 0;
  }

  div.recharge table.recharge-remaining tr.data-flow-2 td {
    vertical-align: middle;
  }

  /* ご利用明細・領収書発行ページ */
  div.mypage-global-payment-list-inner .application span + span {
    margin-left: 0;
  }

  .mypage-global-payment-date.application{
    margin-right: 20px;
  }

  p.mypage-global-payment-date span + span {
    margin-left: 20px;
  }

  p.mypage-global-payment-date .pc{
    margin: 0;
  }

  li.mypage-global-payment-list{
    padding: 0;
    font-size: 1.8rem;
  }

  .mypage-content-box-inner.mypage-global-payment-box-inner {
    margin: auto 50px;
  }

  /* 会員情報 */
  div.subsc-user-edit-container-wrap {
    margin: 0 auto;
  }
  /* お申し込み情報 */
  main.mypage-contract .mypage-global-contract-box span.imei-select-img img {
    left: 115px;
    top: 0;
    transform: unset;
  }

  table.table-base.user-edit-table th {
    width: 37%;
  }

  table.table-base.user-input.subsc-edit-table tr td input.mypage-tel-col-30 {
    width: 30%;
  }

  div.mypage-section-container div.button {
    margin-top: 0;
  }

  .mypage-container div.mypage-section-container div.login_button_center {
    margin-top: 50px;
  }

  /* お客様情報の変更 */
  div.entry-insurance-option-text{
    width: 90%;
  }
  div.mypage-content-box-title p.edit-ttl,
  .mypage-content-box-inner table.table-mini,
  table.table-mini{
    width: 100%;
  }

  /* お支払い方法の変更 */
  #user-payment-edit-form div.form-capacity-notice.payment-select-caution.subsc-coution {
    width: 100%;
  }

  /* ご契約情報画面 */
  .mypage-contract #option_cancel_area table.table-base th {
    width: 60%;
  }
  .mypage-contract #option_cancel_area tr.allcheck td {
    text-align: center;
    padding: 0;
  }
  .mypage-contract .insurance-option-request.table-mini {
    margin: 0.7em 0 0.7em auto;
  }
  .mypage-contract div.insurance-option-inquiry {
    width: 100%;
  }
  .mypage-contract .option-cancel-all.option-cancel-caution {
    width: 100%;
    margin: 0.7em 0 0 0;
  }
  .mypage-contract .option-cancel-all.option-cancel-caution p.option-cancel-caution-pc {
    max-width: 400px;
  }
  .mypage-contract button.js-copybtn {
    height: auto;
    font-size: 1.2rem;
  }
  .mypage-contract .insurance-option-request.insurance-option-request-after {
    margin: 0;
    max-width: 140px;
  }
  /* 初期契約解除について */
  .subsc-contract-initial-cancel div.guide-nav-icon-box {
    width: 220px;
  }
  div.guide-nav-icon-box div.sub-dir-nav-box div.nav-box-text {
    left: 35px;
  }
  div.nav-icon-box-initial-cancel div.sub-dir-nav-box div.nav-box-icon {
    width: 45px;
    left: 130px;
  }
  #guide-section-1 div.white-content-box-inner-flex-left-width {
    width: 65%;
  }
  #guide-section-1 div.white-content-box-inner-flex-left-width div.white-content-box-inner-cancel,
  #guide-section-2 div.white-content-box-inner-flex-left-width div.white-content-box-inner-cancel {
    padding: 15px 60px;
  }
  div.white-content-box-body {
    margin: 0;
  }
  #guide-section-2 div.white-content-box-inner-flex-left {
    width: 60%;
  }
  #guide-section-3 div.white-content-box-inner-flex-left {
    width: 100%;
  }
  #guide-section-3 div.cancel-flexbox div.white-content-box-inner-flex-right {
    width: 100%;
  }
  .white-content-box-image-box {
    width: 50%;
    min-width: 340px;
    margin: 40px auto 0;
  }

  /* ご契約情報 > デジタルライフサポート加入 */
  div.mypage-insurance-option-select div.insurance-option-plan-name {
    width: 50%;
  }
  div.mypage-insurance-option-select div.insurance-option-plan-name p:nth-child(1) {
    font-size: 2.2rem;
  }
  div.mypage-insurance-option-select div.insurance-option-plan-name p:nth-child(2) {
    font-size: 1.5rem;
  }
  div.mypage-insurance-option-select .mypage-plan-opt-recommend-mark {
    width: 70px;
    margin-right: 10px;
  }
  div.mypage-insurance-option-select .insurance-option-plan-price {
    font-size: 1.8rem;
  }

  /* 海外データプランの購入 */
  .search-by-area img.worldmap-img {
    width: 100%;
    max-width: 690px;
    top: 90px;
  }

  /* 渡航期間の延長 */
  .overseas-add-area .overseas-day,
  .overseas-add-area .overseas-country-select {
    flex-wrap: wrap;
  }
  .overseas-add-area .overseas-day .overseas-title,
  .overseas-add-area .overseas-country-select .overseas-title {
    width: 100%;
    padding-bottom: 5px;
  }
  .overseas-add-area .overseas-country-select .overseas-content {
    width: 100%;
    padding: 10px 0 10px;
  }
  .overseas-add-area .overseas-start, 
  .overseas-add-area .overseas-end {
    width: 175px;
  }
  .overseas-add-area .form-control {
    width: 150px;
  }
  .overseas-add-area .overseas-end .form-control {
    width: 150px;
  }
  .overseas-add-area .overseas-term {
    margin-left: 25px;
  }
  .overseas-add-area .overseas-country .overseas-title {
    width: 210px;
  }
  .overseas-add-area .overseas-country .overseas-title.hide-tb {
    display: none;
  }
  main.mypage-rental-add .form-user-background {
    z-index: 1;
    position: relative;
  }
  .overseas-add-area .input-daterange input#datepicker_start {
    width: 150px;
  }
  .overseas-add-area #overseas-add .other-sub-ttl {
    padding-left: 0;
    font-size: 1.6rem;
  }
  main.mypage-contents .overseas-add-area .overseas-country select.form-control-country {
    width: 160px;
  }
  .overseas-add-area .overseas-country .overseas-area-add, 
  .overseas-add-area .overseas-country .overseas-country-add, 
  .overseas-add-area .overseas-country .overseas-plan-add {
    width: 170px;
  }
  .fav-country-container .country-single p {
    font-size: 1.2rem;
    line-height: 1.4;
  }
  #popup-overseas-edit.option-popup-block .entry-option-popup .popup-contents {
    max-width: 680px;
    padding: 45px 35px;
  }
  div.mypage-content-box.mypage-global-content-box.mypage-global-contract-box {
    position: relative;
    z-index: 1;
  }
  div.mypage-user-container-cancel {
    position: relative;
    z-index: 1;
  }
  .mypage-initial_contract_cancellation table.form-table-multi-column_cancel th {
    width: 190px;
  }

  /* prepaid */
  /* ご利用明細 */
  div.mypage-content-box-inner.prepaid-mypage-narrow {
    margin: auto 50px;
  }

  /* お申し込み情報 */
  div.prepaid-btn-adjustment {
    margin: 0 5px;
  }

  .edit-btns-container.contract-rental-btn-3column {
    flex-wrap: wrap;
    gap: 20px;
  }

  .prepaid-btn-container-wrap p.desc-reset {
    padding: 0;
  }
  /* セゾンカード受付番号入力 */
  .saison-wrap .saison-banner .banner-btn-wrap {
    right: 10px;
    bottom: 10px;
  }
  /* 国内データ　ギガチャージ */
  .giga-menu-area div.prepaid-charge-btn{
    position: static;
  }

  div.prepaid-btn-editpop {
    margin: 0;
  }

  div.mypage-content-box div.mypage-content-box-inner.inner-prepaid {
    margin: 0;
  }

  div.form-capacity-selects-prepaid .plan-price {
    margin-left: 5px;
  }

  .form-capacity-selects-prepaid .datacharge-1gb-price {
    font-size: 1.4rem;
  }

  /* 海外ギガチャージ */
  .prepaid-content-area div.mypage-content-box.prepaid-giga-overseas-add.mypage-content-box {
    margin-top: 0;
  }

  div.prepaid-btn-container .data-create-button-text {
    margin-top: 45px;
  }

  div.prepaid-giga-overseas-add .popular > div{
    width: calc((100% / 3) - 7px);
  }

  .prepaid-giga-overseas-add .add-data-table th {
    width: 100%;
    display: block;
    font-size: 1.7rem;
  }

  div.prepaid-btn-container {
    margin: 0;
  }

  .prepaid-giga-overseas-add .add-data-table td {
    display: block;
    padding: 0 0 30px;
  }

  div.prepaid-giga-overseas-add .input-daterange input:last-child,
  div.prepaid-giga-overseas-add div.usage-period div.form-control {
    width: 150px;
  }

  div.prepaid-giga-overseas-add div.usage-period {
    margin-left: 10px;
  }

  /* 海外データ　期間延長 */
  .usage-start-create .form-control {
    width: 120px;
  }
  div.prepaid-giga-overseas-add .input-daterange input:last-child {
    width: 120px;
  }

  div.prepaid-giga-overseas-add div.usage-period div.form-control {
    width: 105px;
  }

  div.prepaid-giga-overseas-extension div.usage-period div.form-control {
    min-width: 100px;
  }

  /* おかわりGIGA */
  .prepaid-content-area div.mypage-content-box-title {
    font-size: 1rem;
  }

  a.button-has{
    margin-left: 60px;
  }

  div.form-select-space {
    margin: 0 10px;
  }

  /* お客様情報の変更 */
  input.mypage-tel-col-30 {
    width: 31%;
  }

  /* 海外データ */
  .edit-btns-container .create-left-css{
    margin-left: 9%;
  }
}
/*--------------------------------------------------------------------------------
  旧　mypage_tb.css end
----------------------------------------------------------------------------------*/