@charset "UTF-8";
/*
/* -------------------------------------
共通
-----------------------------------------*/
.c-primary-title {
position:relative;
font-size: 3.6rem;
text-align: center;
font-weight: 700;
line-height: 1.5;
color: #333;
margin-bottom: 80px;
}

@media (max-width: 1199px) {
.c-primary-title {
font-size: 2.6rem;
margin-bottom: 60px;
}
}

@media (max-width: 767px) {
.c-primary-title {
font-size: 2.6rem;
margin-bottom: 40px;
}
}

.c-primary-txt {
text-align: center;
font-size: 1.8rem;
/*margin-top: 60px;*/
}
@media (max-width: 767px) {
.c-primary-txt {
text-align: left;
font-size: 1.6rem;
/*margin-top: 40px;*/
}
}

.mail-lead h2.c-primary-title {
color: #fff;
margin-bottom: 40px;
font-size: 3rem;
}
@media (max-width: 767px) {
.mail-lead h2.c-primary-title {
font-size: 2.6rem;
}
}

.mail-check {
font-size: 2.4rem;
margin-top: 80px;
}
@media (max-width: 767px) {
.mail-check {
font-size: 2rem;
margin-top: 40px;
}
}

label span {
border-bottom: 1px solid #fff;
padding-bottom: 2px;
}

.distributor a {
border-bottom: 1px solid #fff;
padding-bottom: 2px;
font-size: 2.4rem;
}
@media (max-width: 767px) {
.distributor a {
font-size: 2rem;
}
}

/* チェックボックス*/
input#consent1{
text-align: left;
margin: 0;
width: 30px;
height: 30px;
margin-right: 10px;
}
input#consent1 + label{
text-align: left;
width: 600px;
}
#interlock,
#interlock2 {
pointer-events: none;
display: block;
margin: 30px auto;
background-color: #666;
}

#consent1:checked ~ #interlock,
#consent1:checked ~ #interlock2 {
  pointer-events: auto;
  background-color: #0083c4;
}
@media screen and (max-width:767px) { 
input#consent1 + label{
width: 100%;
}
}/* SP END */



/* -------------------------------------
概要
-----------------------------------------*/
#summary {
/*padding-bottom: 0;*/
}

#summary h2.c-primary-title {
position:relative;
font-size: 4rem;
text-align: center;
font-weight: 700;
line-height: 1.5;
color: #333;
margin-bottom: 50px;
}

@media (max-width: 1199px) {
#summary h2.c-primary-title {
font-size: 2.8rem;
margin-bottom: 40px;
}
}

.summary-box {
display: flex;
align-items: center;
justify-content: space-around;
flex-wrap: wrap;
text-align: center;
margin-bottom: 80px;
}
@media (max-width: 767px) {
.summary-box {
gap:20px;
margin-bottom: 40px;
}
}

.summary-box figure {
height: 105px;
display: flex;
align-items: center;
justify-content: center;
}
.summary-box .summary-box_cap {
font-size: 1.4rem;
font-weight: bold;
color: #555;
margin-top: 20px;
}



/* --ラインナップ--*/
#lineup {

}

#lineup h2.c-primary-title {
margin-bottom: 10px;
}
@media (max-width: 767px) {
#lineup h2.c-primary-title {
margin-bottom: 10px;
}
}

#lineup h3 {
position:relative;
font-size: 3.6rem;
text-align: center;
font-weight: 700;
line-height: 1.5;
color: #333;
margin-bottom: 60px;
}

@media (max-width: 767px) {
#lineup h3 {
font-size: 2.6rem;
margin-bottom: 30px;
}
}

.lineup-txt {
font-size: 2.4rem;
text-align: center;
margin-bottom: 0px;
}
@media (max-width: 767px) {
.lineup-txt {
font-size: 1.8rem;
}
}

.lineup_monitor {
margin-bottom: 80px;
text-align: center;
}
@media (max-width: 767px) {
.lineup_monitor {
margin-bottom: 40px;
}
}

.lineup_box {
display: flex;
align-items: flex-start;
justify-content: space-around;
text-align: center;
margin-left: -15px;
margin-right: -15px;
gap: 25px;
margin-bottom: 40px;
}
@media (max-width: 991px) {
.lineup_box {
margin-left: 0;
margin-right: 0;
}
}
@media screen and (max-width: 767px) {
.lineup_box {
flex-direction: column;
margin-bottom: 40px;
align-items: center;
}
}

.lineup_box__inner {
width: calc(100% / 3);
}
@media (max-width: 767px) {
.lineup_box__inner {
width: 100%;
padding: 0 20px;
}
}

.lineup_box__inner___title {
font-size: 2.4rem;
font-weight: bold;
position: relative;
padding-bottom: 30px;
margin-top: 10px;
}
@media (max-width: 767px) {
.lineup_box__inner___title {
font-size: 1.8rem;
}
}

.lineup_box__inner___title::after {
position: absolute;
content:"";
width: 0;
height: 0;
bottom:5px;
left: 50%;
transform: translateX(-50%);
border-style: solid;
border-right: 13px solid transparent;
border-left: 13px solid transparent;
border-top: 18px solid #999999;
border-bottom: 0;
}

.lineup_box__inner___txt {
font-size: 2.4rem;
font-weight: normal;
}
@media (max-width: 767px) {
.lineup_box__inner___txt {
font-size: 1.8rem;
}
}

.recommend {
font-size: 2.2rem;
color: #0083c4;
text-align: center;
margin: 0 auto;
display: block;
}
@media (max-width: 767px) {
.recommend {
font-size: 1.8rem;
}
}


/* -------------------------------------
特長
-----------------------------------------*/
#features {
background-color: #e0e3e5;
}

.features_box {
margin-bottom: 80px;
}
@media (max-width: 767px) {
.features_box {
margin-bottom: 30px;
}
}

.features_box.flex {
display: flex;
align-items: flex-start;
justify-content: space-between;
}
@media (max-width: 767px) {
.features_box.flex {
flex-direction: column;
align-items: center;
}
}

.features_box.flex > div {
width:calc((100% / 2 ) - 30px);
}
@media (max-width: 767px) {
.features_box.flex > div {
width: 100%;
}
}

.features_box.flex > figure {
width:50%
}
@media (max-width: 767px) {
.features_box.flex > figure {
width: 100%
}
}

.features_box.flex.reverse {
flex-direction: row-reverse;
}
@media (max-width: 767px) {
.features_box.flex.reverse {
flex-direction: column;
}
}

.features_box.flex.reverse.fullwide > div {
width: 80%;
margin-left: 30px;
}
@media (max-width: 767px) {
.features_box.flex.reverse.fullwide > div {
margin-left: 0px;
width: 100%;
}
}


.features_box.flex.reverse.fullwide > div + figure {
/*margin-left: calc((100% / 2) - 50vw);*/
margin-left:-10vw;
width: 100%;
text-align: left;
}
@media (max-width: 767px) {
.features_box.flex.reverse.fullwide > div + figure {
margin-left: 0;
text-align: center;
}
}

.features_box.flex.wideauto > div {
width: auto;
margin-right: 30px;
}
@media (max-width: 767px) {
.features_box.flex.wideauto > div {
margin-right: 0;
}
}

.features_box.flex.wideauto > div + figure {
width: auto;
}


.features_box h3 {
font-size: 3.0rem;
margin-top: 30px;
margin-bottom: 20px;
line-height: 1.6;
}
@media (max-width: 767px) {
.features_box h3 {
font-size: 2.4rem;
margin-top: 0px;
}
}

.features_box p {
font-size: 1.8rem;
margin-bottom: 20px;
}
@media (max-width: 767px) {
.features_box p {
font-size: 1.6rem;
margin-bottom: 10px;
}
}

.features_box figure {
text-align: center;
}
@media (max-width: 767px) {
.features_box figure {
margin:10px 0;
}
}


/* -------------------------------------
利用シーン
-----------------------------------------*/
#scene {

}

#scene .l-inner {
padding: 0;
}

.scene_box {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
text-align: center;
gap: 60px 20px;
margin-bottom: 40px;
}
@media (max-width: 767px) {
.scene_box {
display: block;
width: 100%;
}
}

.scene_box__inner {
width:calc((100% - 20px - 20px ) / 3);
}
@media (max-width: 767px) {
.scene_box__inner {
margin-bottom: 30px;
width:100%;
}
}

.scene_box__inner p {
font-size: 2.1rem;
}
@media (max-width: 767px) {
.scene_box__inner p {
font-size: 1.8rem;
}
}


/* -------------------------------------
セット内容
-----------------------------------------*/
#set {

}

.set_box {
display: flex;
/*align-items: center;*/
justify-content: space-around;
flex-wrap: wrap;
text-align: center;
gap: 40px;
margin-top: 40px;
margin-bottom: 60px;
padding-left: 0px;
}
@media (max-width: 767px) {
.set_box {
justify-content: center;
margin-top: 20px;
margin-bottom: 40px;
padding-left: 0px;
gap: 40px;
}
}

.set_box__inner{
display: flex;
flex-direction: column;
align-items:center;
}

.set_box__inner figure {
/*height: 290px;*/
display: flex;
align-items: center;
flex-grow: 1;
}

.set_box__inner p {
font-size: 1.8rem;
margin:15px 0;
}

.set_box__inner a {
display: block;
margin-inline:auto;
width: fit-content;
padding:10px 30px;
background-color: #333;
color: #fff;
font-size: 18px;
border-radius: 30px;
transition: all 0.2s;
line-height: 18px;
}

.set_box__inner a:hover {
opacity: 0.7;
}

h3.seth3 {
background-color: #000;
color: #fff;
font-size: 21px;
padding: 10px 30px;
width: fit-content;
font-weight: bold;
line-height: 21px;
}
@media (max-width: 767px) {
h3.seth3 {
font-size: 1.6rem;
/*padding: 5px 20px;*/
margin-inline:auto;
}
}

.set_box_note {
text-align: center;
font-size: 1.4rem;
}


/* -------------------------------------
仕様
-----------------------------------------*/
#spec {

}

.m_table {
margin: 0 auto;
width: 1000px;
border-right: 1px solid #333;
border-bottom: 1px solid #333;
table-layout: auto;
}
@media (max-width: 1199px) {
.m_table {
display: block;
overflow-x: scroll;
-webkit-overflow-scrolling: touch;
/*margin-bottom: -6px;
padding-bottom: 6px;*/
/*min-width: 900px;*/
}
}

@media (max-width: 1199px) {
.m_table::before {
content: "※スクロールできます";
font-size: 1.3rem;
display: inline-block;
margin-bottom: 3px;
}
}

.m_table th,
.m_table td {
border-top: 1px solid #333;
border-left: 1px solid #333;
padding: 10px 20px;
word-break : break-all;
font-weight: normal;
}
.m_table th {
  background-color: #D9D9D9;
  /*height: 60px;*/
  height: auto;
  color: #333;
  line-height: 1.4;
}

.m_table--thHeightAuto th {
  height: auto;
}

.m_table td {
  background-color: #fff;
  /*padding: 15px 20px;*/
  height: auto;
}
.m_table--tdHeightAuto td {
  height: auto;
}
.m_table--tdTop td {
  vertical-align: top;
}
.m_table--tdCenter td {
  text-align: center;
  line-height: 1.2;
}
.m_table--tdRight td {
  text-align: right;
}

.m_table--noBorder th, .m_table--noBorder td {
  border-top: none;
  border-left: none;
  padding-top: 0;
  padding-bottom: 0;
}
.m_table--tdHead {
  color: #fa1544;
  font-weight: bold;
}
@media screen and (max-width: 1199px) {
  .m_table th,
  .m_table td {
    padding: 10px 15px;
  }
  .m_table th {
    /*height: 60px;*/
  }

  .m_table--thHeightAutoSp th {
    height: auto;
  }

  .m_table td {
    padding: 15px;
    /*height: 60px;*/
  }
  .m_table--paddingS td {
    padding: 10px 6px;
  }
}
@media screen and (max-width: 767px) {
  .m_table td {
    padding: 10px 15px;
    font-size: 93.75%;
  }
  .m_table--spVertical th, .m_table--spVertical td {
    display: block;
    height: auto;
  }
}

.m_table tr > th {
/*height: 60px;*/
text-align:center;
}

@media screen and (max-width: 1199px) {
  .m_spScrollOuter {
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
  }
  .m_spScrollOuter .m_spScroll {
    margin-bottom: -6px;
    padding-bottom: 6px;
  }
  .m_spScrollOuter__barArea {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    border: 1px solid #D5D5D5;
  }
  .m_spScroll {
    overflow-x: auto;
  }
.m_spScrol {
overflow-x: auto;
}
  .m_spScroll__body--w1000 {
    min-width: 800px;
  }
}

.c-table__head {
width: 170px;
}

/* -------------------------------------
強み
-----------------------------------------*/
#strengths {

}

.trengths_subtxt {
font-size: 1.8rem;
text-align:center;
margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
.trengths_subtxt {
margin-bottom: 40px;
}
}

.strengths_box {
display: flex;
align-items: flex-start;
justify-content: space-between;
margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
.strengths_box {
flex-direction: column;
align-items: center;
margin-bottom: 40px;
}
}

.strengths_box .strengths_box__txt {
width: 380px;
margin-left: 30px;
margin-right:0;
}
@media screen and (max-width: 767px) {
.strengths_box .strengths_box__txt {
width:100%;
margin-left: 0px;
}
}

.strengths_box.flexreverse .strengths_box__txt {
width: 380px;
margin-left: 0px;
margin-right: 30px;
}
@media screen and (max-width: 767px) {
.strengths_box.flexreverse .strengths_box__txt {
width:100%;
margin-right: 0px;
}
}

.strengths_box h3 {
font-size: 3.0rem;
margin-top: 30px;
margin-bottom: 20px;
line-height: 1.6;
}

@media screen and (max-width: 767px) {
.strengths_box h3 {
font-size: 2.4rem;
margin-top: 0px;
}
}

.strengths_box p {
font-size: 1.8rem;
margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.strengths_box p {
nt-size: 1.6rem;
margin-bottom: 10px;
}
}

.strengths_box.flexreverse {
display: flex;
align-items: flex-start;
justify-content: space-between;
flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
.strengths_box.flexreverse {
flex-direction: column;
}
}



/* -------------------------------------
モーダル
-----------------------------------------*/

.modaal-container {
padding: 10px;
}

.modaal-content-container {
padding: 30px;
}
@media (max-width: 768px) {
.modaal-content-container {
padding: 10px 0px;
}
}

.modal-container_text {
font-size: 2rem;
line-height: 1.5;
margin-bottom: 20px;
}
@media (max-width: 768px) {
.modal-container_text {
font-size: 1.8rem;
}
}

.modal-container__price {
width: 100%;
text-align: center;
}

@media screen and (max-height: 1000px) {
.modaal-inner-wrapper { 
padding-top: 80px;
}
}


/*モーダルアレンジ*/

.modalbox {
display:flex;
align-items: flex-start;
justify-content: space-between;
margin-bottom: 30px;
width: 100%;
}
@media screen and (max-width: 767px) {
.modalbox{
flex-direction: column;
/*margin-bottom: 30px;*/
}
}

@media screen and (max-width: 767px) {
.modalbox img{
width:70%;
margin: 0 auto;
display: block;
}
}

.modalbox div {
width:50%;
}
@media screen and (max-width: 767px) {
.modalbox div {
width:100%;
}
}

.modal_h2 {
font-size: 3rem;
line-height: 1.5;
font-weight: bold;
margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
.modal_h2 {
font-size: 1.8rem;
margin-bottom: 30px;
}
}

.modalbox__right p {
font-size: 1.8rem;
margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
.modalbox__right p {
font-size: 1.6rem;
margin-bottom: 10px;
}
}

.modalbox__right p + p {
margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
.modalbox__right p + p {
margin-bottom: 20px;
}
}

.modal_box__btn a {
display: block;
margin-inline: auto;
width: fit-content;
padding: 10px 30px;
background-color: #333;
color: #fff;
font-size: 18px;
border-radius: 30px;
transition: all 0.2s;
line-height: 18px;
}

.modal_box__btn a:hover {
opacity: 0.7;
}


/*資料ダウンロード モーダル内のテーブル*/
table.data-table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
font-size: 18px;
border-right: 4px solid #fff;
border-bottom: 4px solid #fff;
}
@media screen and (max-width: 767px) {
table.data-table {
font-size: 16px;
}
}

table.data-table tr{
/*border-bottom: solid 2px #fff;*/
}

table.data-table tr:last-child{
  border-bottom: none;
}

table.data-table th,
table.data-table td {
border-top: 4px solid #fff;
border-left:4px solid #fff;
padding: 15px 10px;
word-break: break-all;
text-align: center;
}
@media screen and (max-width: 767px) {
table.data-table th,
table.data-table td {
text-align: left;
}
}

table.data-table th{
position: relative;
background-color: #0083c4;
color: #fff;
}

table.data-table th:after{
display: block;
content: "";
width: 0px;
height: 0px;
position: absolute;
left: calc(50% - 10px);
bottom: -19px;
border-top: 10px solid#0083c4;
border-left: 10px solid transparent;
border-bottom: 10px solid transparent;
border-right: 10px solid transparent;
}

table.data-table td{
background-color: #eee;
vertical-align: top;
}

table.data-table .modal_box__btn {
margin: 5px auto;
}
@media screen and (max-width: 767px) {
table.data-table .dl_btn {
}
}

table.data-table a.dl_btn {
position:relative;
width: fit-content;
margin-inline: auto;
display: inline-block;
padding: 4px 15px;
text-decoration: underline;
text-underline-offset: 6px;
}
table.data-table a.dl_btn::before {
position:absolute;
display: inline-block;
content:"";
left: 0px;
top: calc(50% - 2px);
transform: rotate(45deg);
width: 6px;
height: 6px;
border-top: 2px solid #0083c4;
border-right: 2px solid#0083c4;
}

.title-txt {
font-weight:bold;
}