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

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}

nav ul,
ul,
li {
list-style: none;
}

blockquote,
q {
quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
content: "";
content: none;
}

p {
margin: 0;
padding: 0;
}

a {
margin: 0;
padding: 0;
vertical-align: baseline;
background: transparent;
}

/* change colours to suit your needs */
ins {
background-color: #ff9;
color: #000;
text-decoration: none;
}

/* change colours to suit your needs */
mark {
background-color: #ff9;
color: #000;
font-style: italic;
font-weight: bold;
}

del {
text-decoration: line-through;
}

abbr[title],
dfn[title] {
border-bottom: 0.0520833333vw dotted;
cursor: help;
}

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

/* change border colour to suit your needs */
hr {
display: block;
height: 0.0520833333vw;
border: 0;
border-top: 0.0520833333vw solid #bfbfbf;
margin: 1em 0;
padding: 0;
}

input,
select {
vertical-align: middle;
}

* {
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box; /* form clear */
-webkit-appearance: none !important;
}

/* ----- Clearfix ----- */
.clearfix:after {
content: ".";
display: block;
visibility: hidden;
height: 0.1px;
font-size: 0.1em;
line-height: 0;
clear: both;
}

.clearfix {
zoom: 1;
}

/* ----- Clearfix ----- */
.clearfix:after {
content: ".";
display: block;
visibility: hidden;
height: 0.1px;
font-size: 0.1em;
line-height: 0;
clear: both;
}

.clearfix {
zoom: 1;
}

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

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

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

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

.pc_inline {
display: inline !important;
}
@media screen and (max-width: 768px) {
.pc_inline {
display: none !important;
}
}

.sp_inline {
display: none !important;
}
@media screen and (max-width: 768px) {
.sp_inline {
display: inline !important;
}
}

.pc_flex {
display: flex !important;
}
@media screen and (max-width: 768px) {
.pc_flex {
display: none !important;
}
}

.sp_flex {
display: none !important;
}
@media screen and (max-width: 768px) {
.sp_flex {
display: flex !important;
}
}

/*====================================================================
* All
/*==================================================================*/
html {
overflow-x: hidden;
touch-action: manipulation;
}

html.noScroll {
overflow-y: hidden;
}

body {
width: 100%;
margin: 0 auto;
font-size: 16px;
font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3",
"メイリオ", sans-serif;
font-weight: 400;
letter-spacing: 0;
color: #262626;
box-sizing: border-box;
overflow-x: hidden;
position: relative;
image-rendering: -webkit-optimize-contrast;
}
body.modal-open {
  overflow: hidden;
  overscroll-behavior: none;
}
body a {
text-decoration: underline;
transition: 0.3s all;
position: relative;
}
body a:hover {
text-decoration: none;
}
body a.anchorLink::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  right: -25px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: 0.3s all;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 8px;
}
body a.blank::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -17px;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(1px);
}
body a.blank.long::after {
  top: unset;
  bottom: 3px;
}
body a.blank.white {
  color: #fff;
}
body a.blank.white::after {
  background-image: url("/promotion/tstosab/os-assets/common/images/icn_blank_w.png");
}
body a.modalBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -22px;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(1px);
}

body .button-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

body .button-container .gradient-slide-btn {
  position: relative;
  padding: 8px 10px 10px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-size: 200% 100%;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  text-decoration: none;
}

body .button-container .btn-text {
  display: block;
}

body .gradient-slide-btn.cta {
  width: 339px;
}

@media screen and (max-width: 768px) {
body .gradient-slide-btn.cta {
    width: 90.4%;
  }
}

body .gradient-slide-btn.modalCta {
  width: 307px;
  border-radius: 35px;
  min-height: 58px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

body .fwBold{
  font-weight: 700;
}

body img, body svg {
width: 100%;
display: block;
}
body .slick-list {
position: relative;
overflow: visible;
display: block;
margin: 0;
padding: 0;
}
body .slick-list:focus {
outline: none;
}
body .slick-track {
position: relative;
left: 0;
top: 0;
display: block;
margin: 0;
}
body .slick-slide {
outline: none;
}
body .slick-initialized .slick-slide {
display: block;
}
body .slick-vertical .slick-slide {
display: block;
height: auto;
}
body .slick-slide > .slick-slider-img {
position: relative;
display: block;
width: 100%;
}
body .slick-slide .image {
width: 100%;
margin: 0 auto;
}
body .slick-slide img.slick-loading {
display: none;
}
body .slick-dotted.slick-slider {
margin: 0;
}

/*====================================================================
* Header
/*==================================================================*/
header {
  width: 100%;
  height: 104px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  display: flex;
  align-items: center;
  background-color: #fff;
  transition: opacity 0.6s linear 0.2s, transform 0.3s linear 0s;
}

@media screen and (max-width: 768px) {
  header {
    height: 48px;
  }
}

header.hide {
  transform: translateY(-100%);
}

header .headerWrap {
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

header .header_logo {
  width: 11.96%;
  min-width: 85px;
  max-width: 134px;
  position: relative;
  z-index: 999;
}

@media screen and (max-width: 768px) {
  header .header_logo {
    width: 13.27%;
    min-width: 45px;
    max-width: 45px;
  }
}

header .header_btn .btn_menu {
  display: none;
}

@media screen and (max-width: 768px) {
  header .header_btn .btn_menu {
    border: none;
    outline: none;
    cursor: pointer;
    padding: 0;
    background: none;
    transition: all 0.3s cubic-bezier(0.24, 0.06, 0.45, 0.95);
    width: 30px;
    height: 18px;
    display: block;
    position: relative;
    z-index: 999;
  }
}

header .header_btn .btn_menu .line {
  width: 30px;
  height: 2px;
  background-color: #040c2e;
  display: block;
  transition: all 0.3s cubic-bezier(0.24, 0.06, 0.45, 0.95);
}

header .header_btn .btn_menu .line.line02,
header .header_btn .btn_menu .line.line03 {
  margin-top: 6px;
}

@media screen and (max-width: 768px) {
  header .header_cts {
    width: 100%;
    max-width: 100%;
    /* 旧ブラウザ向けのフォールバック */
    height: 100vh;
    /* 新しい単位：アドレスバーを除いた「今見えている画面の高さ」に自動調整される */
    height: 100dvh;
    z-index: 998;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95), visibility 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    padding: 90px 4.8%;
  }
}

header .header_cts .navList {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  header .header_cts .navList {
    display: block;
    width: 100%;
  }
}

header .header_cts .navList li {
  margin-right: clamp(20px, -26.27px + 6.024vw, 40px);
}

@media screen and (max-width: 768px) {
  header .header_cts .navList li {
    margin-right: 0;
  }
}

header .header_cts .navList li:last-child {
  margin-right: 0;
}

header .header_cts .navList li a {
  font-size: clamp(12px, 2.75px + 1.205vw, 16px);
  font-weight: 700;
  color: #262626;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  header .header_cts .navList li a {
    font-size: 16px;
    position: relative;
    padding: 17px 0;
    box-sizing: border-box;
    border-bottom: 1px solid #e0e0e0;
    display: block;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  header .header_cts .navList li a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 7px;
    bottom: 0;
    width: 10.03px;
    height: 17.91px;
    margin: auto;
    background-image: url("/promotion/tstosab/os-assets/common/images/icn_arrow_r.svg");
    background-repeat: no-repeat;
    background-size: contain;
  }
}

header .header_cts .navList li a:hover {
  text-decoration: underline;
}

header.open .header_btn .btn_menu {
  width: 30px;
}

header.open .header_btn .btn_menu .line {
  width: 30px;
}

header.open .header_btn .btn_menu .line.line01 {
  transform: rotate(45deg) translate3d(8px, 8px, 0);
}

header.open .header_btn .btn_menu .line.line02 {
  opacity: 0;
}

header.open .header_btn .btn_menu .line.line03 {
  transform: rotate(-45deg) translate3d(3px, -3px, 0);
}

header.open .header_cts {
  visibility: visible;
  opacity: 1;
}

#osLP{
  overflow: hidden;
}

#osLP h2{
  font-size: clamp(36px, 8.24px + 3.614vw, 48px);
  line-height: 1.2;
  text-align: center;
  font-weight: 700;
  margin-bottom: 20px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  #osLP h2 {
    line-height: 1.306;
    text-align: left;
  }
}

#osLP .discTxt li{
  font-size: 14px;
  line-height: 1.385;
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 768px) {
  #osLP .discTxt li {
    line-height: 1.714;
  }
}

#osLP .cautionTxt li{
  font-size: 13px;
  line-height: 1.385;
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 5px;
}

#osLP .cautionTxt li:last-child{
  margin-bottom: 0;
}

#osLP .cautionTxt02 li{
  padding-left: 1.75em;
  text-indent: -1.75em;
}

#osLP .moreBtn{
  position: relative;
}

#osLP .moreBtn::before{
  content: "";
  position: absolute;
  top: -90px;
  left: 0;
  width: 100%;
  height: 87px;
  background: linear-gradient(180deg, transparent 0%, #fff 100%);
  transition: .3s all;
}

@media screen and (max-width: 768px) {
  #osLP .moreBtn::before {
    top: -85px;
  }
}

#osLP .moreBtn.open::before {
  content: none;
}

#osLP .moreBtn p{
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
  padding: 10px 0;
  width: 180px;
  margin: auto;
  border-radius: 21px;
  position: relative;
  cursor: pointer;
  transition: .3s all;
  background-color: transparent;
}

#osLP .moreBtn p::before{
  content: "";
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  margin: auto;
  width: 16px;
  height: 2px;
  transition: .3s all;
}

#osLP .moreBtn p::after{
  content: "";
  position: absolute;
  top: 0;
  right: 20px;  
  bottom: 0;
  margin: auto;
  width: 2px;
  height: 16px;
  transition: .3s all;
}

#osLP .moreBtn.open p::after {
  content: none;
}

#osLP .moreBtn2{
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
}

#osLP .moreBtn2 .moreTtl{
  font-weight: 700;
  position: relative;
  cursor: pointer;
  transition: .3s all;
  background-color: transparent;
  padding: 20px 43px 20px 15px;
}

@media screen and (max-width: 768px) {
  #osLP .moreBtn2 .moreTtl {
    padding: 15px 43px 15px 10px;
  }
}

#osLP .moreBtn2 .moreTtl::before{
  content: "";
  position: absolute;
  margin: auto;
  transition: .3s all;
}

#osLP .moreBtn2 .moreTtl::after{
  content: "";
  position: absolute;
  margin: auto;
  transition: .3s all;
}

#osLP .moreBtn2 .moreTtl.open::after {
  content: none;
}

#osLP .moreBtn2 .moreCts{
  padding: 20px 15px;
  display: none;
}

#osLP .moreBtn2.big{
  border-radius: 16px;
}

#osLP .moreBtn2.big .moreTtl{
  font-size: clamp(20px, -7.76px + 3.614vw, 32px);
  padding: 30px 45px;
}

@media screen and (max-width: 768px) {
  #osLP .moreBtn2.big .moreTtl {
    font-size: 20px;
    line-height: 1.4;
    padding: 15px 13.27% 15px 4.42%;
  }
}

#osLP .moreBtn2.big .moreTtl::before {
  right: 40px;
  width: 32px;
  height: 4px;
}

@media screen and (max-width: 768px) {
  #osLP .moreBtn2.big .moreTtl::before {
    right: 13px;
    width: 16px;
    height: 2px;
  }
}

#osLP .moreBtn2.big .moreTtl::after {
  right: 54px;
  width: 4px;
  height: 32px;
}

@media screen and (max-width: 768px) {
  #osLP .moreBtn2.big .moreTtl::after {
    right: 20px;
    width: 2px;
    height: 16px;
  }
}

#osLP .bnrArea{
  width: 90.4%;
  max-width: 840px;
  margin: 0 auto 100px;
  opacity: 0;
  transition: 1s ease 1s,opacity 1s linear 1s;
  transform: translate3d(0, 60px, 0);
}

@media screen and (max-width: 768px) {
  #osLP .bnrArea {
    margin: 0 auto 48px;
  }
}

#osLP .bnrArea a:hover{
  opacity: .6;
}

#osLP .bnrArea.show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

#osLP .infoArea{
  width: 90.4%;
  max-width: 840px;
  margin: 0 auto 110px;
}

@media screen and (max-width: 768px) {
  #osLP .infoArea {
    margin: 0 auto 50px;
  }
}

#osLP .infoArea_list a{
  border-top: 1px solid #e0e0e0;
  padding: 20px 55px 15px 12px;
  box-sizing: border-box;
  background-color: transparent;
  display: flex;
  text-decoration: none;
  position: relative;
}

@media screen and (max-width: 768px) {
  #osLP .infoArea_list a {
    padding: 20px 37px 15px 10px;
  }
}

#osLP .infoArea_list a::after{
  content: "";
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 10.03px;
  height: 17.91px;
  margin: auto;
  background-image: url("/promotion/tstosab/os-assets/common/images/icn_arrow_r.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  #osLP .infoArea_list a::after {
    right: 10px;
  }
}

#osLP .infoArea_list:last-child a{
  border-bottom: 1px solid #e0e0e0;
}

#osLP .infoArea_list.important a{
  background-color: #feeceb;
}

#osLP .infoArea_list a .infoPic{
  width: 72px;
  margin-right: 12px;
}

@media screen and (max-width: 768px) {
  #osLP .infoArea_list a .infoPic {
    width: 22.19%;
    margin-right: 3.8%;
  }
}

#osLP .infoArea_list a .infoTxt{
  flex: 1;
}

#osLP .infoArea_list a .infoTxt .infoTxt_ttl{
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  #osLP .infoArea_list a .infoTxt .infoTxt_ttl {
    line-height: 1.306;
  }
}

#osLP .infoArea_list.positive a .infoTxt .infoTxt_ttl{
  color: #008eed;
}

#osLP .infoArea_list.negative a .infoTxt .infoTxt_ttl,
#osLP .infoArea_list.important a .infoTxt .infoTxt_ttl{
  color: #f5493f;
}

#osLP .infoArea_list a .infoTxt .infoTxt_ttl span{
  font-size: 13px;
  font-weight: 400;
  margin-right: 7px;
  color: #fff;
  background-color: #f5493f;
  padding: 3px 5px;
  box-sizing: border-box;
  border-radius: 8px;
  display: inline-block;
}

#osLP .infoArea_list a .infoTxt .infoTxt_txt{
  font-size: 14px;
  line-height: 1.714;
  color: #262626;
}

#osLP .basicArea{
  width: 90.4%;
  max-width: 790px;
  margin: 0 auto 60px;
}

@media screen and (max-width: 768px) {
  #osLP .basicArea {
    margin: 0 auto 50px;
  }
}

#osLP .basicArea .basicArea_wrap{
  max-height: 320px;
  transition: 0.3s all;
  overflow: hidden;
}

#osLP .basicArea .basicArea_table{
  margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
  #osLP .basicArea .basicArea_table {
    margin-bottom: 15px;
  }
}

#osLP .basicArea dl{
  border-top: 1px solid #e0e0e0;
  padding: 15px 0;
  display: flex;
}

#osLP .basicArea dl:last-child{
  border-bottom: 1px solid #e0e0e0;
}

#osLP .basicArea dl dt p,
#osLP .basicArea dl dd p{
  font-size: 14px;
  line-height: 1.714;
}

#osLP .basicArea dl dt p{
  font-weight: 700;
}

#osLP .basicArea dl dt{
  width: 122px;
}

@media screen and (max-width: 768px) {
  #osLP .basicArea dl dt {
    width: 33%;
  }
}

#osLP .basicArea dl dd{
  width: calc(100% - 122px);
}

@media screen and (max-width: 768px) {
  #osLP .basicArea dl dd {
    width: calc(100% - 33%);
  }
}

#osLP .basicArea dl dd .cautionTxt{
  margin-top: 5px;
}

#osLP .basicArea dl dd .discTxt li{
  margin-bottom: 15px;
}

#osLP .basicArea dl dd .discTxt li:last-child{
  margin-bottom: 0;
}

#osLP .basicArea dl dd .ttl{
  display: block;
  margin-bottom: 5px;
}

#osLP .basicArea .basicArea_notice{
  padding-bottom: 30px;
}

#osLP .basicArea .basicArea_notice--link{
  font-size: 13px;
  margin-top: 5px;
}

#osLP .pointArea{
  width: 100%;
  position: relative;
  padding: 100px 0 125px;
  border-radius: 36px 36px 0 0;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea {
    padding: 50px 0 63px;
    border-radius: 18px 18px 0 0;
    overflow: hidden;
  }
}

#osLP .pointArea::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 187px;
  height: 106px;
}

#osLP .pointArea .pointArea_inner{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto;
}

#osLP .pointArea .pointArea_save{
  margin: 50px 0 100px;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save {
    margin: 20px 0 50px;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list{
  background-color: #fff;
  border-radius: 20px;
  padding: 50px;
  box-sizing: border-box;
  margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list {
    padding: 25px 4.42%;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list:last-child{
  margin-bottom: 0;
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox{
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox {
    display: block;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_pic{
  width: 30.88%;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_pic{
    width: 100%;
    margin: 0 0 15px;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt{
  width: 65.49%;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt {
    width: 100%;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list h3{
  font-size: clamp(20px, -7.76px + 3.614vw, 32px);
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 20px;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list h3 {
    line-height: 1.4;
    margin-bottom: 10px;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt{
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt {
    margin-bottom: 15px;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt p{
  font-size: 16px;
  letter-spacing: -0.02em;
  line-height: 1.594;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt p {
    letter-spacing: 0;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt p + p{
  margin-top: 10px;
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox{
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox {
    margin-top: 15px;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list{
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  padding: 16px;
  box-sizing: border-box;
  border-radius: 20px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list {
    display: block;
    padding: 12px;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list:last-child{
  margin-bottom: 0;
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--pic{
  width: 47.86%;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--pic {
    width: 100%;
    margin-bottom: 12px;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--pic .ttl{
  font-size: clamp(16px, 9.41px + 0.858vw, 18.85px);
  color: #fff;
  line-height: 1.2;
  font-weight: 500;
  padding: 9px 14px;
  box-sizing: border-box;
  border-radius: 8px;
  margin-bottom: 12px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--pic .ttl {
    padding: 7px 12px;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--pic .ttl span{
  letter-spacing: -0.26em;
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--txt{
  width: 49.34%;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--txt {
    width: 100%;
  }
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--txt .ctsTxt{
  font-size: 14px;
  letter-spacing: -0.02em;
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--txt .ctsTxt + .ctsTxt{
  margin-top: 10px;
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--txt .kangenTxt{
  font-size: 22px;
  letter-spacing: -0.02em;
  line-height: 1.2;
  font-weight: 700;
  text-indent: -0.5em;
  padding-left: 0.5em;
}

#osLP .pointArea .pointArea_save .pointArea_save--list .saveBox .saveBox_txt .txt .kangenBox .kangenBox_list .kangenBox_list--txt .kangenTxt span{
  font-size: 18px;
  font-weight: 700;
}

#osLP .pointArea .pointArea_use{
  position: relative;
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_use {
    margin-top: 20px;
  }
}

#osLP .pointArea .pointArea_use .useBox .useBox_list{
  width: 357px;
  height: auto;
}

@media screen and (max-width: 1240px) {
  #osLP .pointArea .pointArea_use .useBox .useBox_list {
    width: 28.79vw;
  }
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_use .useBox .useBox_list {
    width: 80.27vw;
  }
}

#osLP .pointArea .pointArea_use .useBox .useBox_inner{
  background-color: #fff;
  border-radius: 20px;
  padding: 25px 20px;
  box-sizing: border-box;
  height: 100%;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_use .useBox .useBox_inner {
    padding: 25px 15px;
  }
}

#osLP .pointArea .pointArea_use .useBox .useBox_list .useTtl{
  font-size: clamp(16px, -2.51px + 2.410vw, 24px);
  line-height: 1.341;
  font-weight: 700;
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  #osLP .pointArea .pointArea_use .useBox .useBox_list .useTtl {
    font-size: 20px;
    line-height: 1.4;
  }
}

#osLP .pointArea .pointArea_use .useBox .useBox_list .useTxt{
  font-size: 16px;
  line-height: 1.832;
  margin-top: 15px;
}

#osLP .futaiArea{
  width: 100%;
  background-color: #fff;
  margin: -30px auto 100px;
  padding-top: 100px;
  border-radius: 36px 36px 0 0;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  #osLP .futaiArea {
    margin: -13px auto 50px;
    padding-top: 50px;
    border-radius: 18px 18px 0 0;
  }
}

#osLP .futaiArea .futaiArea_inner{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto;
}

#osLP .futaiArea .futaiArea_box{
  position: relative;
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #osLP .futaiArea .futaiArea_box {
    margin-top: 25px;
  }
}

#osLP .futaiArea .futaiArea_box .futaiBox .futaiBox_list{
  width: 357px;
  height: auto;
}

@media screen and (max-width: 1240px) {
  #osLP .futaiArea .futaiArea_box .futaiBox .futaiBox_list {
    width: 28.79vw;
  }
}

@media screen and (max-width: 768px) {
  #osLP .futaiArea .futaiArea_box .futaiBox .futaiBox_list {
    width: 80.27vw;
  }
}

#osLP .futaiArea .futaiArea_box .futaiBox .futaiBox_inner{
  background-color: #ecf8ff;
  border-radius: 20px;
  padding: 25px 20px;
  box-sizing: border-box;
  height: 100%;
}

@media screen and (max-width: 768px) {
  #osLP .futaiArea .futaiArea_box .futaiBox .futaiBox_inner {
    padding: 25px 15px;
  }
}

#osLP .futaiArea .futaiArea_box .futaiBox .futaiBox_list .futaiTtl{
  font-size: clamp(16px, -2.51px + 2.410vw, 24px);
  line-height: 1.341;
  font-weight: 700;
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  #osLP .futaiArea .futaiArea_box .futaiBox .futaiBox_list .futaiTtl {
    font-size: 20px;
    line-height: 1.4;
  }
}

#osLP .futaiArea .futaiArea_box .futaiBox .futaiBox_list .futaiTxt{
  font-size: 16px;
  line-height: 1.832;
  margin-top: 15px;
}

#osLP .cardArea{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto 100px;
}

@media screen and (max-width: 768px) {
  #osLP .cardArea {
    margin: 0 auto 50px;
  }
}

@media screen and (max-width: 768px) {
  #osLP .cardArea.cardArea2 {
    margin: 0 auto 90px;
  }
}

#osLP .cardArea .cardArea_txt{
  font-size: 16px;
  letter-spacing: -0.02em;
  text-align: center;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  #osLP .cardArea .cardArea_txt {
    line-height: 1.594;
    text-align: left;
  }
}

#osLP .cardArea .cardArea_pic{
  width: 454px;
  margin: 50px auto 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  #osLP .cardArea .cardArea_pic {
    width: 66.96%;
    margin: 25px auto 0;
  }
}

#osLP .cardArea .cardArea_pic img{
  position: relative;
  z-index: 2;
}

#osLP .cardArea .cardArea_pic::before{
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}

#osLP .cardArea .cardArea_pic::after{
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}

#osLP .serviceArea{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto 100px;
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea {
    margin: 0 auto 50px;
  }
}

#osLP .serviceArea .serviceArea_box{
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea .serviceArea_box {
    margin-top: 20px;
  }
}

#osLP .serviceArea .serviceArea_box .serviceArea_box--list{
  margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea .serviceArea_box .serviceArea_box--list {
    margin-bottom: 12px;
  }
}

#osLP .serviceArea .serviceArea_box .serviceArea_box--list:last-child{
  margin-bottom: 0;
}

#osLP .serviceArea .serviceArea_box .serviceBox{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea .serviceArea_box .serviceBox {
    display: block;
  }
}

#osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list{
  width: 48.84%;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  border-radius: 12px;
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list {
    width: 100%;
    padding: 16px;
  }
}

#osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list:nth-child(n + 3){
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list:nth-child(n + 3) {
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list:nth-child(n + 2) {
    margin-top: 16px;
  }
}

#osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list .serviceBox_list--pic{
  width: 48px;
  margin-right: 15px;
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list .serviceBox_list--pic {
    width: 17.45%;
    margin-right: 2.73%;
  }
}

#osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list .serviceBox_list--txt{
  width: calc(100% - 63px);
}

@media screen and (max-width: 768px) {
  #osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list .serviceBox_list--txt {
    width: calc(100% - 20.18%);
  }
}

#osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list .serviceBox_list--txt .serviceTtl{
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 10px;
}

#osLP .serviceArea .serviceArea_box .serviceBox .serviceBox_list .serviceBox_list--txt .serviceTxt{
  font-size: 16px;
  line-height: 1.594;
  letter-spacing: -0.02em;
}

#osLP .flowArea{
  width: 90.4%;
  max-width: 840px;
  margin: 0 auto 100px;
}

@media screen and (max-width: 768px) {
  #osLP .flowArea {
    margin: 0 auto 50px;
  }
}

#osLP .tabCat{
  width: 100%;
  max-width: 732px;
  margin: 25px auto 30px;
  display: flex;
  background-color: #f0f0f0;
  border-radius: 25px;
  padding: 8px;
  box-sizing: border-box;
  gap: 8px;
}

@media screen and (max-width: 768px) {
  #osLP .tabCat {
    margin: 25px auto 15px;
  }
}

#osLP .tabCat li{
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
  font-weight: 700;
  background-color: #f0f0f0;
  border-radius: 25px;
  padding: 10px;
  box-sizing: border-box;
  flex: 1;
  cursor: pointer;
  transition: .3s all;
}

#osLP .tabCat li.active{
  color: #fff;
}

#osLP .tabCts_list{
  display: none;
}

#osLP .tabCts_list.active{
  display: block;
}

#osLP .flowNum{
  margin-top: 25px;
}

#osLP .flowNum .flowNum_list{
  display: flex;
  padding-bottom: 60px;
  position: relative;
}

@media screen and (max-width: 768px) {
  #osLP .flowNum .flowNum_list {
    padding-bottom: 30px;
  }
}

#osLP .flowNum .flowNum_list::after{
  content: "";
  position: absolute;
  top: 48px;
  left: 23px;
  bottom: 0;
  width: 2px;
}

#osLP .flowNum .flowNum_list:last-child{
  padding-bottom: 0;
}

#osLP .flowNum .flowNum_list:last-child::after{
  content: none;
}

#osLP .flowNum .flowNum_list .flowNum_list--num{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 15px;
}

#osLP .flowNum .flowNum_list .flowNum_list--num p{
  font-family: "Oswald", sans-serif;
  font-size: 28px;
  line-height: 1.2;
  color: #fff;
}

#osLP .flowNum .flowNum_list .flowNum_list--cts{
  width: calc(100% - 63px);
}

#osLP .flowNum .flowNum_list .flowNum_list--cts .numTtl{
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
  #osLP .flowNum .flowNum_list .flowNum_list--cts .numTtl {
    font-size: 20px;
    line-height: 1.4;
  }
}

#osLP .flowNum .flowNum_list .flowNum_list--cts .numTxt{
  font-size: 16px;
  line-height: 1.594;
  letter-spacing: -0.02em;
}

#osLP .flowArea .flowArrow{
  width: 160px;
  margin: 30px auto;
}

#osLP .flowArea .flowBox{
  margin-bottom: 25px;
  padding: 25px;
  box-sizing: border-box;
  border-radius: 24px;
}

@media screen and (max-width: 768px) {
  #osLP .flowArea .flowBox {
    padding: 25px 16px;
    border-radius: 12px;
  }
}

#osLP .flowArea .flowBox .flowBox_ttl{
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 15px;
}

#osLP .flowArea .flowBox .flowBox_txt{
  font-size: 16px;
  line-height: 1.594;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}

#osLP .flowArea .flowBox .flowBox_pic{
  padding: 15px;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

#osLP .flowArea .flowBox .flowBox_pic img{
  width: 190px;
}

@media screen and (max-width: 768px) {
  #osLP .flowArea .flowBox .flowBox_pic img {
    width: 61.56%;
  }
}

#osLP .flowArea .flowBox .flowBox_bigTxt{
  font-size: 20px;
  line-height: 1.275;
  letter-spacing: -0.02em;
}

#osLP .flowArea .flowNotice .flowNotice_ttl{
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 10px;
}

#osLP .cpArea{
  width: 100%;
  position: relative;
  padding: 100px 0 125px;
  border-radius: 36px 36px 0 0;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  #osLP .cpArea {
    padding: 50px 0 63px;
    border-radius: 18px 18px 0 0;
    overflow: hidden;
  }
}

#osLP .cpArea::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 187px;
  height: 106px;
}

#osLP .cpArea .cpArea_inner{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto;
}

#osLP .cpArea .cpArea_box{
  margin: 45px 0 90px;
}

@media screen and (max-width: 768px) {
  #osLP .cpArea .cpArea_box {
    margin: 20px 0 45px;
  }
}

#osLP .cpArea .cpArea_box .cpArea_box--ttl{
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-weight: 700;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  #osLP .cpArea .cpArea_box .cpArea_box--ttl {
    font-size: 20px;
    line-height: 1.4;
  }
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap{
  margin-top: 20px;
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList{
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  padding: 24px 48px;
  box-sizing: border-box;
  border-radius: 20px;
  margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
  #osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList {
    display: block;
    padding: 0 0 25px;
  }
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList:last-child{
  margin-bottom: 0;
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_pic{
  width: 30.66%;
}

@media screen and (max-width: 768px) {
  #osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_pic {
    width: 100%;
  }
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_pic a:hover{
  opacity: .6;
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_txt{
  width: 65.43%;
}

@media screen and (max-width: 768px) {
  #osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_txt {
    width: 91.15%;
    margin: 20px auto 0;
  }
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_txt .cpList_txt--cts{
  font-size: 16px;
  line-height: 1.594;
  letter-spacing: -0.02em;
  margin-bottom: 15px;
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_txt .cpList_txt--period{
  font-size: 16px;
  line-height: 1.594;
  letter-spacing: -0.02em;
  font-weight: 700;
  margin-bottom: 15px;
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_txt .cpList_txt--btn{
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  padding: 5px 40px 5px 15px;
  border-radius: 15px;
  position: relative;
  cursor: pointer;
  transition: .3s all;
  background-color: transparent;
  display: inline-block;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  #osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_txt .cpList_txt--btn {
    font-size: 20px;
    padding: 10px;
    border-radius: 25px;
    width: 100%;
    text-align: center;
  }
}

#osLP .cpArea .cpArea_box .cpArea_box--wrap .cpList .cpList_txt .cpList_txt--btn::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 16px;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

#osLP .cpArea .cpArea_other{
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #osLP .cpArea .cpArea_other {
    margin-top: 20px;
  }
}

#osLP .cpArea .cpArea_other .otherBox .otherBox_list{
  width: 357px;
  height: auto;
}

@media screen and (max-width: 1240px) {
  #osLP .cpArea .cpArea_other .otherBox .otherBox_list {
    width: 28.79vw;
  }
}

@media screen and (max-width: 768px) {
  #osLP .cpArea .cpArea_other .otherBox .otherBox_list {
    width: 80.27vw;
  }
}

#osLP .cpArea .cpArea_other .otherBox .otherBox_list .otherBox_list--btn:hover{
  opacity: .6;
}

#osLP .osArea{
  width: 100%;
  background-color: #fff;
  margin: -30px auto 100px;
  padding-top: 100px;
  border-radius: 36px 36px 0 0;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  #osLP .osArea {
    margin: -13px auto 50px;
    padding-top: 50px;
    border-radius: 18px 18px 0 0;
  }
}

#osLP .osArea .osArea_inner{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto;
}

#osLP .osArea .osArea_wrap{
  margin-top: 50px;
  overflow-x: auto;
}

@media screen and (max-width: 768px) {
  #osLP .osArea .osArea_wrap {
    margin-top: 20px;
    width: 100vw;
    padding-right: 4.8%;
  }
}

#osLP .osArea .osArea_table{
  position: relative;
}

#osLP .osArea .osArea_table tr{
  border-top: 1px solid #e0e0e0;
}

#osLP .osArea .osArea_table tr:last-child{
  border-bottom: 1px solid #e0e0e0;
}

#osLP .osArea .osArea_table tr th{
  min-width: 123px;
  max-width: 123px;
  position: sticky;
  top: 0;
  left: 0;
  padding: 15px;
  box-sizing: content-box;
  font-size: 16px;
  line-height: 1.444;
  font-weight: 700;
  text-align: left;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  #osLP .osArea .osArea_table tr th {
    min-width: 66px;
    max-width: 66px;
    padding: 15px 12px;
    font-size: 14px;
  }
}

#osLP .osArea .osArea_table tr td{
  padding: 15px;
  box-sizing: content-box;
  font-size: 18px;
  line-height: 1.778;
  color: #262626;
  min-width: calc((100% - 123px) / 5);
}

@media screen and (max-width: 768px) {
  #osLP .osArea .osArea_table tr td {
    padding: 15px 12px;
    font-size: 14px;
    min-width: 132px;
  }
}

#osLP .osArea .osArea_table tr td .osTtl{
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #osLP .osArea .osArea_table tr td .osTtl {
    font-size: 13px;
  }
}

#osLP .osArea .osArea_table tr td .osTtl span{
  font-weight: 700;
  display: block;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  #osLP .osArea .osArea_table tr td .osTtl span {
    font-size: 14px;
  }
}

#osLP .osArea .osArea_table tr td .osPic{
  width: 77.5%;
  margin: 15px auto 20px;
}

#osLP .osArea .osArea_table tr td .button-container .gradient-slide-btn{
  padding-left: 25px;
  padding-right: 25px;
  white-space: nowrap;
  text-decoration: none;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  #osLP .osArea .osArea_table tr td .button-container .gradient-slide-btn {
    padding-left: 16px;
    padding-right: 16px;
  }
}

#osLP .osArea .osArea_table tr td .discTxt li{
  font-size: 18px;
  line-height: 1.778;
  color: #262626;
}

@media screen and (max-width: 768px) {
  #osLP .osArea .osArea_table tr td .discTxt li {
    font-size: 14px;
  }
}

#osLP .osArea .osArea_table tr td .ttl{
  display: block;
}

#osLP .osArea .cautionTxt{
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #osLP .osArea .cautionTxt {
    margin-top: 15px;
  }
}

#osLP .qaArea{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto 100px;
}

@media screen and (max-width: 768px) {
  #osLP .qaArea {
    margin: 0 auto 50px;
  }
}

#osLP .qaArea .qaArea_box{
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #osLP .qaArea .qaArea_box {
    margin-top: 20px;
  }
}

#osLP .qaArea .qaArea_box .qaArea_box--list{
  margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
  #osLP .qaArea .qaArea_box .qaArea_box--list {
    margin-bottom: 13px;
  }
}

#osLP .qaArea .qaArea_box .qaArea_box--list:last-child{
  margin-bottom: 0;
}

#osLP .qaArea .qaArea_box .qaArea_box--list .qaBox .qaBox_list{
  margin-bottom: 25px;
}

#osLP .qaArea .qaArea_box .qaArea_box--list .qaBox .qaBox_list:last-child{
  margin-bottom: 0;
}

#osLP .qaArea .qaArea_box .qaArea_box--list .qaBox .qaBox_list .qa_q{
  margin-bottom: 15px;
  text-indent: -1.75em;
  padding-left: 1.75em;
}

#osLP .qaArea .qaArea_box .qaArea_box--list .qaBox .qaBox_list .qa_q p{
  font-size: 16px;
  line-height: 1.594;
  font-weight: 700;
}

#osLP .qaArea .qaArea_box .qaArea_box--list .qaBox .qaBox_list .qa_a{
  text-indent: -1.57em;
  padding-left: 1.57em;
}

#osLP .qaArea .qaArea_box .qaArea_box--list .qaBox .qaBox_list .qa_a p{
  font-size: 16px;
  line-height: 1.594;
  letter-spacing: -0.02em;
}

#osLP .qaArea .qaArea_box .qaArea_box--list .qaBox .qaBox_list .qa_a .qaDisc li {
  font-size: 16px;
  line-height: 1.594;
}

#osLP .noticeArea{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto 100px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  #osLP .noticeArea {
    margin: 0 auto 50px;
  }
}

#osLP .noticeArea .noticeArea_box{
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #osLP .noticeArea .noticeArea_box {
    margin-top: 20px;
  }
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list{
  margin-bottom: 25px;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list:last-child{
  margin-bottom: 0;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeTtl{
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList{
  margin-bottom: 20px;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList:last-child{
  margin-bottom: 0;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeSub{
  font-size: 16px;
  line-height: 1.594;
  font-weight: 700;
  margin-bottom: 10px;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeTxt{
  font-size: 14px;
  line-height: 1.714;
  letter-spacing: -0.02em;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeTxt + .noticeTxt{
  margin-top: 5px;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeList_cts .noticeDisc li{
  font-size: 14px;
  line-height: 1.714;
  letter-spacing: -0.02em;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeList_cts .noticeCaution li{
  font-size: 12px;
  line-height: 1.417;
  letter-spacing: -0.02em;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeList_cts .cautionTxt li a{
  font-size: 12px;
  line-height: 2;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 768px) {
  #osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeList_cts .cautionTxt li a.long {
    line-height: 1.417;
  }
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeList_cts .cautionTxt li a.black{
  font-size: 14px;
  line-height: 1.714;
  letter-spacing: -0.02em;
  color: #262626;
}

#osLP .noticeArea .noticeArea_box .noticeArea_box--list .noticeList .noticeList_cts .cautionTxt li a.black::after{
  content: none;
}

#osLP .linkArea{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto 100px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  #osLP .linkArea {
    margin: 0 auto 50px;
  }
}

#osLP .linkArea .linkArea_box{
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #osLP .linkArea .linkArea_box {
    margin-top: 20px;
  }
}

#osLP .linkArea .linkArea_box p + p{
  margin-top: 10px;
}

#osLP .adsorptionArea {
  width: 100%;
  padding: 16px;
  position: fixed;
  left: 0;
  bottom: 0;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  transition: .3s opacity;
  box-shadow: 0 -10px 16px rgba(217, 217, 217, 1);
}

#osLP .adsorptionArea.is-active {
  opacity: 1;
  pointer-events: auto;
}

#osLP .adsorptionArea.is-hidden {
  opacity: 0;
  pointer-events: none;
}

#osLP .adsorptionArea .adsorptionBtn {
  margin: 0;
}

.footer{
  padding-top: 50px;
}

@media screen and (max-width: 768px) {
  .footer {
    padding-top: 65px;
  }
}

.footer .pankuzu{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto 25px;
  display: flex;
}

@media screen and (max-width: 768px) {
  .footer .pankuzu {
    margin: 0 auto 20px;
  }
}

.footer .pankuzu li{
  font-size: 14px;
  line-height: 1.429;
  letter-spacing: -0.02em;
  color: #727272;
  position: relative;
  margin-right: 30px;
}

.footer .pankuzu li::after{
  content: "";
  position: absolute;
  top: 0;
  right: -18px;
  bottom: 0;
  width: 7px;
  height: 13px;
  margin: auto;
  background-image: url("/promotion/tstosab/os-assets/common/images/icn_arrow_r2.svg");
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(2px);
}

.footer .pankuzu li:last-child{
  margin-right: 0;
}

.footer .pankuzu li:last-child::after{
  content: none;
}

.footer .pankuzu li a{
  font-size: 14px;
  line-height: 1.429;
  letter-spacing: -0.02em;
  color: #007bd5;
  text-decoration: none;
}

.footer .pankuzu li a:hover{
  text-decoration: underline;
}

.footer .footerTop{
  width: 90.4%;
  max-width: 1120px;
  margin: 0 auto 25px;
  padding-top: 25px;
  border-top: 1px solid #e0e0e0;
}

@media screen and (max-width: 768px) {
  .footer .footerTop {
    margin: 0 auto 30px;
    padding-top: 0;
    border: none;
  }
}

.footer .footerTop .footerTop_menu{
  display: flex;
  margin-bottom: 45px;
}

@media screen and (max-width: 768px) {
  .footer .footerTop .footerTop_menu {
    display: block;
    margin-bottom: 60px;
  }
}

.footer .footerTop .footerTop_menu .footerTop_list{
  width: calc(100% / 4);
}

@media screen and (max-width: 768px) {
  .footer .footerTop .footerTop_menu .footerTop_list {
    width: 100%;
  }
}

.footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--ttl{
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--ttl {
    display: none;
  }
}

.footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--cts li{
  margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
  .footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--cts li {
    margin-bottom: 0;
  }
}

.footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--cts li:last-child{
  margin-bottom: 0;
}

.footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--cts li a{
  font-size: 16px;
  line-height: 1.2;
  color: #262626;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--cts li a {
    padding: 17px 0;
    border-top: 1px solid #e0e0e0;
    position: relative;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--cts li:last-child a {
    border-bottom: 1px solid #e0e0e0;
  }
}

@media screen and (max-width: 768px) {
  .footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--cts li a::after {
    content: "";
    position: absolute;
    top: 0;
    right: 7px;
    bottom: 0;
    width: 10.03px;
    height: 17.91px;
    margin: auto;
    background-image: url("/promotion/tstosab/os-assets/common/images/icn_arrow_r.svg");
    background-repeat: no-repeat;
    background-size: contain;
  }
}

.footer .footerTop .footerTop_menu .footerTop_list .footerTop_list--cts li a:hover{
  text-decoration: underline;
}

.footer .footerTop .footerTop_sns{
  display: flex;
  justify-content: center;
  gap: 20px;
}

.footer .footerTop .footerTop_sns li{
  width: 40px;
}

.footer .footerBottom{
  padding: 30px;
  background-color: #262626;
}

@media screen and (max-width: 768px) {
  .footer .footerBottom {
    padding: 30px 0;
  }
}

.footer .footerBottom .footerBottom_inner{
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .footer .footerBottom .footerBottom_inner {
    width: 90.4%;
    margin: 0 auto;
  }
}

.footer .footerBottom .footerBottom_menu{
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .footer .footerBottom .footerBottom_menu {
    display: block;
  }
}

.footer .footerBottom .footerBottom_menu li{
  margin-right: 40px;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .footer .footerBottom .footerBottom_menu li {
    margin-right: 0;
    margin-bottom: 12px;
  }
}

.footer .footerBottom .footerBottom_menu li a{
  font-size: 14px;
  line-height: 1.2;
  color: #fff;
  text-decoration: none;
}

.footer .footerBottom .footerBottom_menu li a:hover{
  text-decoration: underline;
}

.footer .footerBottom .footerBottom_menu li a.blank{
  padding-right: 21px;
}

.footer .footerBottom .footerBottom_menu li a.blank::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  background-image: url("/promotion/tstosab/os-assets/common/images/icn_blank_w.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(1px);
}

.footer .footerBottom .footerBottom_copy{
  font-size: 14px;
  line-height: 1.2;
  color: #767676;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .footer .footerBottom .footerBottom_copy {
    margin-top: 25px;
  }
}

/*====================================================================
*    汎用
/*==================================================================*/

#osLP .taCenter{
  text-align: center;
}

#osLP .taLeft{
  text-align: left;
}

#osLP .taRight{
  text-align: right;
}

/*====================================================================
*    slider
/*==================================================================*/
#osLP .sliderArea {
  position: relative;
  width: 100%;
}

#osLP .sliderArea .slick-list {
  position: relative;
  overflow: visible;
  display: block;
  margin: 0;
  padding: 0;
}

#osLP .sliderArea .slick-track {
  display: flex;
  gap: 25px;
}

@media screen and (max-width: 768px) {
  #osLP .sliderArea .slick-track {
    gap: 4.27vw;
  }
}

#osLP .slider-tips {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 56px;
}

@media screen and (max-width: 768px) {
  #osLP .slider-tips {
    margin-top: 24px;
  }
}

#osLP .slider-tips .slider-dots .slick-dots {
  bottom: unset;
  left: unset;
  overflow: hidden;
  display: flex;
  align-items: center;
}

#osLP .slider-tips .slider-dots .slick-dots li {
  width: 6px;
  height: 6px;
  background-color: #fff;
  margin: 0;
  border: none;
  transition: all 0.7s;
  border-radius: 50%;
}

#osLP .slider-tips.whiteSlide .slider-dots .slick-dots li {
  background-color: #d9d9d9;
}

#osLP .slider-tips .slider-dots .slick-dots li.slick-active {
  border: 2px solid #fff;
  width: 14px;
  height: 14px;
}

#osLP .slider-tips .slider-dots .slick-dots li:only-child {
  display: none;
}

#osLP .slider-tips .slider-dots .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

#osLP .slider-tips .slider-dots .slick-dots li button::before {
  content: none;
}

#osLP .slider-tips .slider-dots .slick-dots li:nth-child(n + 2) {
  margin-left: 15px;
}

#osLP .slider-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
}

#osLP .slider-prev,
#osLP .slider-next {
  width: 36px;
  height: 36px;
  background-color: #fff;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  transition: 0.3s all;
  position: relative;
}

#osLP .slider-prev::after,
#osLP .slider-next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 10.03px;
  height: 17.91px;
  margin: auto;
  background-repeat: no-repeat;
  background-size: contain;
}

#osLP .slider-prev.slick-disabled,
#osLP .slider-next.slick-disabled {
  cursor: default;
  background-color: #d9d9d9;
  border: 2px solid #b3b3b3;
}

#osLP .slider-prev.slick-disabled:hover,
#osLP .slider-next.slick-disabled:hover {
  background-color: #d9d9d9;
}

#osLP .slider-prev.slick-disabled::after {
  background-image: url("/promotion/tstosab/os-assets/common/images/icn_prev_gray.svg");
}

#osLP .slider-next.slick-disabled::after {
  background-image: url("/promotion/tstosab/os-assets/common/images/icn_next_gray.svg");
}

/*====================================================================
*    popupArea
/*==================================================================*/
#osLP .popupArea {
  width: 100%;
  /* 旧ブラウザ向けのフォールバック */
  height: 100vh;
  /* 新しい単位：アドレスバーを除いた「今見えている画面の高さ」に自動調整される */
  height: 100dvh;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95), visibility 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  overscroll-behavior: contain;
  overflow-y: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

#osLP .popupArea.on {
  opacity: 1;
  visibility: visible;
}

#osLP .popupArea_inner {
  width: 100%;
  max-width: 678px;
  height: 61.22vh;
  height: 61.22dvh;
  max-height: 551px;
  /* max-height: calc(100dvh - 140px); */
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  background-color: #fff;
  border-radius: 20px;
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_inner {
    width: 90.4%;
    height: 83.14vh;
    height: 83.14dvh;
    max-height: unset;
    border-radius: 14px;
  }
}

#osLP .popupArea_inner .close {
  width: 38px;
  height: 38px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: -52px;
  right: -8px;
  z-index: 999;
  cursor: pointer;
  transition: .3s all;
  border: 2px solid #007bd5;
}

#osLP .popupArea_inner .close:hover {
  background-color: #ecf8ff;
}

#osLP .popupArea_inner .close img {
  width: 18.5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#osLP .popupArea_cts {
  overflow-y: auto;
  height: 100%;
  padding: 40px 30px;
  box-sizing: border-box;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_cts {
    padding: 30px 2.95%;
  }
}

#osLP .popupArea_cts::-webkit-scrollbar {
  display: none;
}

#osLP .popupArea_cts .popTtl {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  margin-bottom: 25px;
}

#osLP .popupArea_cts .popBox .popBox_list {
  margin-bottom: 25px;
}

#osLP .popupArea_cts .popBox .popBox_list:last-child {
  margin-bottom: 0;
}

#osLP .popupArea_cts .popBox .popBox_list .subTtl {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  margin-bottom: 25px;
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_cts .popBox .popBox_list .subTtl {
    text-align: left;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_cts .popBox .popBox_list .subTtl.spCenter {
    text-align: center;
    margin-bottom: 25px;
  }
}

#osLP .popupArea_cts .popBox .popBox_list .subTtl.medium {
  font-size: 18px;
}

#osLP .popupArea_cts .popBox .popBox_list .subTtl.small {
  font-size: 16px;
}

#osLP .popupArea_cts .popBox .popBox_list .cautionTtl {
  font-size: 13px;
  line-height: 1.385;
  font-weight: 700;
  margin-bottom: 5px;
}

#osLP .popupArea_cts .popBox .popBox_list .cautionLead {
  font-size: 13px;
  line-height: 1.385;
}

#osLP .popupArea_cts .popBox .popBox_list .cautionLink {
  font-size: 12px;
}

#osLP .popupArea_cts .popBox .popBox_list .ctaBox {
  margin-bottom: 25px;
}

#osLP .popupArea_cts .popBox .popBox_list .ctaBox .ctaBox_list {
  margin-bottom: 25px;
}

#osLP .popupArea_cts .popBox .popBox_list .ctaBox .ctaBox_list:last-child {
  margin-bottom: 0;
}

#osLP .popupArea_cts .popBox .popBox_list .ctaBox .ctaBox_list .ctaBox_list--lead {
  font-size: 16px;
  line-height: 1.594;
  text-align: center;
  margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_cts .popBox .popBox_list .ctaBox .ctaBox_list .ctaBox_list--lead {
    letter-spacing: -0.02em;
  }
}

#osLP .popupArea_cts .popBox .popBox_list .ctaBox .ctaBox_list .button-container .btn-text.small {
  font-size: 13px;
  line-height: 1.2;
}

#osLP .popupArea_cts .popBox .popBox_list .ctaBox .ctaBox_list .button-container .btn-text.big {
  font-size: 20px;
  line-height: 1.2;
}

#osLP .popupArea_cts .popBox .popBox_list p,
#osLP .popupArea_cts .popBox .popBox_list .cautionTxt.fs16 li {
  font-size: 16px;
  line-height: 1.594;
}

#osLP .popupArea_cts .popBox .popBox_list .cautionTxt.fs13 li {
  font-size: 13px;
}

#osLP .popupArea_cts .popBox .popBox_list table {
  width: 100%;
  table-layout: fixed;
  margin: 15px 0;
}

#osLP .popupArea_cts .popBox .popBox_list table tr th {
  font-size: 13px;
  line-height: 1.385;
  font-weight: 700;
  letter-spacing: -0.02em;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 20px 10px;
  box-sizing: border-box;
  text-align: left;
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_cts .popBox .popBox_list table tr th {
    padding: 12px 6px;
  }
}

#osLP .popupArea_cts .popBox .popBox_list table tr td {
  font-size: 13px;
  line-height: 1.385;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #e2e2e2;
  padding: 20px 10px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_cts .popBox .popBox_list table tr td {
    padding: 12px 6px;
  }
}

#osLP .popupArea_cts .popBox .popBox_list table tr .bgBlue {
  background-color: #007bd5;
  color: #fff;
}

#osLP .popupArea_cts .popBox .popBox_list table tr .bgGold {
  background-color: #9e6b11;
  color: #fff;
}

#osLP .popupArea_cts .popBox .popBox_list table tr .bgGray {
  background-color: #e0e0e0;
  color: #262626;
}

#osLP .popupArea_cts .popBox .popBox_list table tr .bgSky {
  background-color: #ecf8ff;
  color: #007bd5;
  font-weight: 700;
}

#osLP .popupArea_cts .popBox .popBox_list table tr .bgBeige {
  background-color: #fbf6e8;
  color: #9e6b11;
  font-weight: 700;
}

#osLP .popupArea_cts .popBox .popBox_list .numberlessPic {
  width: 370px;
  margin: 15px auto 0;
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_cts .popBox .popBox_list .numberlessPic {
    width: 100%;
  }
}

#osLP .popupArea_cts .popBox .popBox_list .numberlessPic02 {
  width: 225px;
  margin: 15px auto 0;
}

@media screen and (max-width: 768px) {
  #osLP .popupArea_cts .popBox .popBox_list .numberlessPic02 {
    width: 69.44%;
  }
}

/*====================================================================
* Fade
/*==================================================================*/
.fade-up {
opacity: 0;
transition-duration: 500ms;
transition-property: opacity, transform;
transform: translate(0, 24px);
}
.fade-up.show {
opacity: 1;
transform: translate(0, 0);
}

.mrgT5{
  margin-top: 5px!important;
}

.mrgT10{
  margin-top: 10px!important;
}

.mrgT15{
  margin-top: 15px!important;
}

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

.lh2{
  line-height: 2;
}