@charset "UTF-8";
:root {
--blue06: #006AFF;
}

.txt_bl{ color:var(--blue06); }


body, body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  scroll-behavior: smooth;
}

html.lock {
  overflow: hidden;
  height: 100%;
}

main {
  margin-inline: auto;
  overflow: hidden;
}

.container {
border-top: 20px solid #111987;
/*--content: min(92vw, 1170px);
  --full: minmax(4vw, 1fr);*/
}


@media screen and (max-width: 767px) {
.container {
border-top: 15px solid #111987;
}

section.pt150{padding-bottom:60px;}

}

main {
  position: relative;
  z-index: 1;
}

.box1000{
width:min(94%, 1120px);
margin-inline:auto;
}

section img{
max-width:100%;
height:auto;
display: inline;
vertical-align: bottom;
}


section em{
font-style:normal;
}

#fixed_cta{
background: var(--blue06);
position: fixed;
width:100%;
z-index: 99;
bottom:0;
transition: all .4s linear;
transform: translateY(100%);
opacity: 0;

}

@media screen and (min-width: 768px) {
#fixed_cta{
height:90px;
}
}

#fixed_cta .kiosk-contact__button{
width: 238px;
height: 52px;
line-height: 52px;
font-size:17px;
box-shadow: 0px 0px 23.81px 0px #00D6FF26;
}

#fixed_cta .kiosk-contact__button::before {
width: 9px;
height: 15px;
}

@media screen and (max-width: 767px) {

#fixed_cta{
padding: 10px;
align-items: center;
}

#fixed_cta .txt20{
font-size:min(12px,3.5vw);
line-height: 1.4;
}

#fixed_cta .kiosk-contact__button{
width: 148px;
height: auto;
line-height: 50px;
font-size:min(14px,4vw);
}

#fixed_cta .kiosk-contact__button::before {
width: 6px;
height: 10px;
right: 10px;
}


}

#fixed_cta.is_view{
transform: translateY(0%);
opacity: 1;
}


header {
width: min(96%, 1240px);
margin: auto;
position: absolute;
top:31px;
left:0;
right:0;
z-index: 99;
pointer-events: none;
}

.header a{
pointer-events: all;
border: 4px solid #fff;
}


@media screen and (max-width: 767px) {

.header a{
border: 3px solid #fff;
}

}


section .txt20{
font-size:20px;
}

section .txt50{
font-size:50px;
margin-bottom: 50px;
line-height: 1.5;
}

section .txt60{
font-size:60px;
}


@media screen and (max-width: 767px) {
section .txt50{
font-size:30px;
margin-bottom: 30px;
}

section h2 .txt60{
font-size:40px;
}


}

.top-mv-section{
width: 100%;
padding-top:  168px;
}

.top-mv-bg_pc-inner{
align-items: flex-end;
}

.top-mv-lead{
width:65%;
gap:20px;
}

.top-mv-h1{
font-size:min(33px,3.1vw);
line-height: 1.4;
}

.top-mv-h2{
color:#fff000;
font-weight: 900;
font-size:min(39px,3.3vw);
line-height: 1.4;
}

.top-mv-h2 em{
font-size: min(80px,6.7vw);
line-height: 1.1;
}

.top-mv-h4{
font-size:min(21px,1.8vw);
line-height: 1.2;
}

.top-mv-point3{
gap:16px;
padding-top: 13px;
}

.top-mv-point3 li{
flex:1;
aspect-ratio: 1/1;
background: #fff;
border-radius: 100%;
display: grid;
place-content: center;
justify-items: center;
gap:10px;
padding-bottom: 5px;
}

.top-mv-img{
position: absolute;
bottom:0;
margin-left: 68%;
z-index: 9;
overflow: visible;
width: 32%;
}

.top-mv-img img{
aspect-ratio:386/532;
width:120%;
max-width:120%;
height:auto;
/*transform: translateX(20%);*/
}

.form-section{
background: #fff;
position: relative;
}

.form-section form{
max-width: 420px;
margin-inline:auto;
}

@media screen and (min-width: 1100px) {/*--*/

.top-mv-bg_pc{
background: url(../img/top-mv-bg.jpg) 50% 50% no-repeat;
background-size: cover;
padding-bottom: 69px;
}

.top-mv-bg_pc-inner{
width: min(96%, 1240px);
margin-inline:auto;
}

.top-mv-section{
width: min(80%, 960px);
padding-top:  168px;
margin-inline: auto;
}

.form-section{
width: min(26.6%, 330px);
}


body:not(.form_btm) .form-section{
margin-top: 45px;
width: min(26.6%, 330px);
padding: 30px 20px;
border-radius: 10px;
z-index: 9;
}

body:not(.form_btm) .form-section h2{
display: none;
}


body.form_btm main{
display: flex;
flex-direction: column;
}

body.form_btm .top-mv-bg_pc-inner,
body.form_btm .top-mv-bg_pc{
display: contents;
}

body.form_btm .form-section{
order:10;
margin-inline:auto;
width: 410px;
padding-bottom: 100px;
}


/*FVからスクロールしたら、faqの下にフォーム表示
body.form_btm .c-selectbox-unit::before {
width: 40px;
height: 42px;
}


body.form_btm .c-selectbox {
height: 42px;
line-height:40px;
font-size: 14px;
}

body.form_btm .c-selectbox-unit::after {
right: 15px;
margin-top: -3px;
}

body.form_btm .c-checkbox {
font-size: 14px;
}

body.form_btm .p-btn-confirm,
body.form_btm .p-btn-reset {
width: 280px;
height: 60px;
border-radius:9px;
font-size: 20px;
}
*/
/*
body.form_btm .p-form-dl__head {
font-size:14px;
margin-bottom: 7px;
}

body.form_btm .c-textbox {
line-height: 40px;
font-size: 13px;
}

body.form_btm .p-form-dl__body + .p-form-dl__head {
margin-top: 15px;
}
*/
	
}/*--*/

@media screen and (max-width:1099px) {/*--*/

.header{
text-align: right !important;
}

.top-mv-section {
    padding-top: 60px;
}

.top-mv-bg_pc-inner,
.top-mv-bg_pc{
display: contents;
}

main{
display: flex;
flex-direction: column;
}

.form-section{
order:10;
padding: 50px 3%;
}

.top-mv-section{
background: url(../img/top-mv-bg.jpg) 50% 50% no-repeat;
background-size: cover;
padding-bottom: 50px;
padding-inline: 2%;
}

.top-mv-lead {
width: 70%;
}

.top-mv-h1 img{
max-width: 18vw;
}

.top-mv-img{
bottom:50px;
margin-left: 69%;
width: 29%;
}


.top-mv-h1{
font-size:min(33px,4vw);
}

.top-mv-h2{
color:#fff000;
font-weight: 900;
font-size:min(39px,4vw);
line-height: 1.4;
}

.top-mv-h2 em{
font-size: min(80px,9vw);
line-height: 1.1;
}

.top-mv-h4{
font-size:min(21px,2.2vw);
line-height: 1.2;
}

}/*--*/


@media screen and (max-width: 540px) {/*--*/

.header a img{
width: 52px;
}


header {
top: 18px;
}

.top-mv-section{
padding-top: 46px;
padding-inline:20px;
}

.top-mv-lead {
 width: min(100%, 440px);
 margin-inline:auto;
gap:10px;
}

.top-mv-h1{
font-size:max(20px,4.3vw);
}

.top-mv-h1 img{
width:84px;
}

.top-mv-h2{
color:#fff000;
font-weight: 900;
font-size:max(23px,4.7vw);
line-height: 1.4;
}

.top-mv-h2 em{
font-size: max(50px,11.7vw);
line-height: 1.1;
}

.top-mv-h3{
font-size:min(14px,4vw);
}

.top-mv-h4{
font-size:min(12px,3.5vw);
line-height: 1.2;
}

.top-mv-point3{
flex-direction: column;
gap:7px;
width: max(86px, 28%);
}

.top-mv-point3 li{
width:100%;
gap: 5px;
padding-bottom: 0;
}

.top-mv-point3 li img{
width:35%;
}

.top-mv-img {
bottom: 50px;
margin-left: 34%;
width: max(55%, 195px);
}

.top-mv-img img{
max-width: 100%;
width:100%;
}

.top-mv-point3 {
padding-top: 4px;
}

.form-section{
padding: 50px 16px;
}


}/*--*/

.recommend-list {
max-width: 1120px;
margin: 0 auto;
padding: 0;
list-style: none;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 36px 40px;
}

.recommend-list li {
  overflow: hidden;
  border-radius: 10px;
  text-align: center;
  position: relative;
}

.recommend-list li h3{
position: absolute;
top:0;
left:0;
background: var(--blue06);
color:#fff;
width:180px;
height:50px;
display: grid;
place-content: center center;
border-radius: 10px 0;
}

@media screen and (max-width: 767px) {/*--*/
.recommend-list {
grid-template-columns: repeat(2, 1fr);
gap: 12px;
}

.recommend-list li h3{
width:auto;
height:2.2em;
font-size:max(12px,3vw);
padding: 0 11px;
}

}/*--*/


.problems-list {
  max-width: 1120px;
  margin: 0 auto 150px;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px 40px;
  
}

.problems-list li {
  overflow: hidden;
  padding-top: 30px;
  border-radius: 10px;
  background: #fff;
  text-align: center;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}

.problems-list h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 20px;
  font-weight: 700;
  line-height: 1.5;
}

.problems-list img {
  display: block;
  /*width: 100%;
  height: 160px;*/
}


.problems-list li {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.problems-list li .w100{
width:100%;
text-align: left;
}

.problems-list li >span {
  margin-top: auto;
}


@media (max-width: 767px) {/**/
.problems-list {
margin: 0 auto;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
}

.problems-list li {
padding-top: 0;
box-shadow: 0px 0px 10px 0px #0000001A;

}

.problems-list h3{
font-size:max(16px,3.6vw);
height:48px;
display: grid;
place-content: center;
margin-bottom: 0;
margin-top: .8em;
margin-bottom: 0.3em;
}

.problems-list li img{
height: 21vw;
width:auto;
}
}/**/

.feature-section {
background: linear-gradient(360deg, #E3EEFF 0%, #F6FAFF 100%);
}

.feature {
  background: #fff;
  border-radius: 8px;
  padding: 32px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.feature--main {
  margin-bottom: 40px;
}

.feature__heading {
  margin: 0 0 16px;
  text-align: center;
  font-size: 22px;
  color: #0072ff;
}

.feature__text {
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.8;
}

.feature-detail{
    background:#fff;
    border-radius:16px;
    padding:40px;
}

.feature-detail__title{
    margin-bottom:24px;
    text-align:center;
    color:#005fe8;
}

.feature-detail__lead{
    margin-bottom:32px;
    line-height:2;
}

.feature-detail__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

@media (max-width: 767px) {/**/
.feature-detail__grid {
    grid-template-columns: 1fr;
    gap: 15px;
}
}/**/

.feature-detail__item{
    overflow:hidden;
    border-radius:10px;
	background: #F7F7F7;
}

.feature-detail__item--w100{
    grid-column:1 / -1;
}

.feature-detail__item h4{
    padding:20px 5px;
    background:#005fe8;
    color:#fff;
    text-align:center;
	line-height: 1.6;
}

.feature-detail__item h4 em{
color: #FFFF00;
}

.feature-detail__img_wrap{
display: flex;
justify-content: center;
flex-wrap: wrap;
gap:52px;
position: relative;
padding: 30px;
}

.feature-detail__img_wrap::before {
display: block;
content: "";
width: 12px;
height: 22px;
top: 0;
bottom:0;
left: 0;
right: 0;
margin: auto;
position: absolute;
background: url(../img/arrow.svg) 50% 50% no-repeat;
}


.feature-detail__item h5.txt23{
font-size:23px;
margin-block: 30px 20px;
}


@media screen and (max-width: 767px) {/*--*/
.feature-detail__item h4{
font-size:max(15px,4.5vw);
line-height: 1.6;
padding:13px 5px;
}

.feature-detail__img_wrap{
padding: 19px 26px;
gap: 33px;
}

.feature-detail__img_wrap::before {
width: 8px;
height: 12px;
background-size: 100% auto;
}


.feature-detail__item h5.txt23{
font-size:max(16px,3.6vw);
margin-block: 19px 13px;
}


}/*--*/


.feature-detail__img_wrap>span{
flex:1;
}

.feature-detail__chart_wrap{
gap:20px;
padding-inline:40px;
}

.feature-detail__chart{
flex:1;
}

.feature-detail__chart_tit{
background: #fff;
border-radius: 10px;
border:1px solid #00B0D2;
border-top:5px solid #00B0D2;
height:95px;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin-bottom: 20px;
}

.feature-detail__chart_tit.or{
border:1px solid #FF8438;
border-top:5px solid #FF8438;
}

.feature-detail__text_btm{
padding-inline:40px;
padding-block: 20px 30px;
}

@media screen and (max-width: 767px) {/*--*/

.feature-detail__chart_wrap{
gap:12px;
padding-inline:15px;
}

.feature-detail__chart_tit{
gap:12px;
height: 57px;
border-top:3px solid #00B0D2;
margin-bottom: 14px;
}

.feature-detail__chart_tit.or{
border-top:3px solid #FF8438;
}

.feature-detail__chart_tit img{
height:42px;
width:auto;
}

.feature-detail__text_btm{
padding-inline:15px;
padding-block: 13px 20px;
align-items: flex-start;
}

}/*--*/


@media screen and (min-width: 768px) {/*--*/
.feature-detail__text_btm_dl{
margin-left: 60px;
gap:5px;
}

}

.feature-detail__text_btm_dl .dt_dd{
gap:10px;
}

.feature-detail__text_btm_dl dt{
background: #00B0D2;
color:#fff;
width: 80px;
line-height: 20px;
text-align: center;
border-radius: 2px;
}


.feature-detail__text_btm_dl .bg_or{
background: #FF8438;
}

@media screen and (max-width: 767px) {/*--*/

.feature-detail__text_btm_dl .dt_dd{
align-items: flex-start;
padding-bottom: 6px;
}

.feature-detail__text_btm_dl dt{
width:73px;
line-height:18px;
}

.feature-detail__text_btm_dl dd{
flex:1;
}

}/*--*/


.feature__text10{
line-height: 1.8;
font-size:10px;
}

.feature-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px;
margin-bottom: 200px;
}

.feature-card {
  background: #fff;
  border-radius: 8px;
  padding: 30px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.feature-card img {
  width: 100%;
  display: block;
  margin-bottom: 20px;
}

.feature-card h3 {
  margin: 0 0 12px;
  text-align: center;
  font-size: 28px;
  line-height: 1.8;
  color: #0072ff;
}

.feature-card p {
  margin: 0;
  text-align: left;
  font-size: 16px;
  line-height: 1.8;
}

.kiosk-product {
  margin-top: 40px;
  text-align: center;
}

.kiosk-product img {
  max-width: 420px;
  width: 70%;
  height: auto;
}

.kiosk-contact {
  text-align: center;
  background: linear-gradient(255.87deg, #458CFF 2.13%, #0059FF 85.81%);
  color: #fff;
}

.kiosk-contact .k22_img{
  padding: 70px 20px;
}

@media screen and (min-width: 768px) {/*--*/

.kiosk-contact .k22_img::before {
display: block;
content: "";
width: 506px;
aspect-ratio: 506/685;
bottom: 280px;
left:calc(50% + 40px);
margin: auto;
position: absolute;
background: url(../img/top-mv.png) 50% 50% no-repeat;
background-size: 100% auto;
}

}/*--*/


.kiosk-contact .txt36{
margin: 0 0 24px;
font-size: min(36px,4.1vw);
font-weight: 700;
line-height: 1.8;
}

.kiosk-contact__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 500px;
  height: 94px;
  border-radius: 10px;
  font-size:21px;
  background: #FF8000;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  position: relative;
  -webkit-transition: all .4s linear;
  transition: all .4s linear;
}

@media screen and (max-width: 767px) {/*--*/

.kiosk-contact .k22_img{
  padding: 30px 20px;
}

.kiosk-contact .txt36{
font-size:22px;
}
.kiosk-contact__button {
width: 280px;
height: 60px;
border-radius: 8px;
font-size:20px;
}
}/*--*/


.kiosk-contact__button:hover {
background: #f89530;
letter-spacing: .05em;
}

.kiosk-contact__button::before {
display: block;
content: "";
width: 12px;
height: 19px;
top: 0;
bottom: 0;
right: 23px;
margin: auto;
position: absolute;
background: url(../img/cta_arrow.svg) 50% 50% no-repeat;
background-size: 100% auto;
}


@media (max-width: 767px) {
  .kiosk-section {
    padding-top: 56px;
  }

  .kiosk-section__title {
    font-size: 26px;
  }

  .feature {
    padding: 10px;
  }
  
.feature.feature--main {
    margin-bottom: 10px;
}
  .feature-grid {
    grid-template-columns: 1fr;
    gap: 10px;
	margin-bottom: 30px;
  }

  .feature-card {
    padding: 20px;
  }

  .feature-card h3 {
    font-size: 18px;
  }

  .kiosk-contact p {
    font-size: 20px;
  }

  .kiosk-contact__button {
    width: 260px;
  }
}

.function-section{
background: linear-gradient(360deg, #E3EEFF 0%, #F6FAFF 100%);
padding-bottom: 150px;
}
   
.function__list{
display:grid;
grid-template-columns:repeat(4,1fr);
border-top:1px solid #ddd;
border-left:1px solid #ddd;
}

.function__list li{
    padding:40px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-right:1px solid #ddd;
    border-bottom:1px solid #ddd;
	
}

.function__list img{
width:81px;
height:71px;
object-fit:contain;
margin-bottom:20px;
}

.function__list h3{
font-size:18px;
}
  
@media screen and (max-width: 767px) {/*--*/
.function__list{
grid-template-columns: repeat(2, 1fr);
}

.function__list li{
padding: 20px 5px;
}

.function__list li h3{
height:1.5em;
font-size:max(13px,3.4vw);
}

}/*--*/

.product-info{
   padding-bottom: 150px;
}

.product-info h2{
    text-align:center;
    margin-bottom:32px;
}

.product-info__lead{
    text-align:center;
    margin-bottom:60px;
}

@media screen and (max-width: 767px) {/*--*/
.product-info__lead{
    text-align:center;
    margin-bottom:30px;
}
}/*--*/


.product-info__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
}

.product-info__item h3{
    margin-bottom:32px;
    padding:20px;
    border-radius:999px;
    background:#0069ff;
    color:#fff;
    text-align:center;
}

@media screen and (max-width: 767px) {/*--*/

.product-info__grid{
grid-template-columns:1fr;
gap:48px;
}

.product-info__item h3{
font-size:max(16px,3.6vw);
line-height: 3.2em;
padding: 0 20px;
}

}/*--*/

.product-info__item img{
    width:100%;
    display:block;
}

.spec-table{
    width:100%;
    border-collapse:collapse;
}

.spec-table th,
.spec-table td{
    line-height: 1.6;
    border:1px solid #fff;
	vertical-align: middle;
}

.spec-table th{
padding:11px 10px;
    width:140px;
    background:#182a93;
    color:#fff;
}

.spec-table td{
padding:11px 10px 11px 15px;
    background:#f2f2f2;
	text-align: left;
	color:#111987;
}

@media screen and (max-width: 767px) {/*--*/
.spec-table th{
padding:8px 3px;
width:96px;
font-size:12px;
}

.spec-table td{
padding:8px 10px 8px 12px;
}
}/*--*/

.faq-section{
background: linear-gradient(360deg, #E3EEFF 0%, #F6FAFF 100%);
padding-bottom: 150px;
}
   

.faq_item {
width:min(730px, 100%);
margin-inline: auto;
border: none;
text-align: left;
}

.faq_item:not(:first-of-type) {
margin-top: 10px;
}

.faq_q {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  color: var(--blue06);
  font-size:20px;
  box-shadow: 0px 0px 10px 0px #00000014;
  padding: 20px;
  border-radius: 10px;
  background: #fff;
  gap:20px;
  font-weight: bold;
}

.faq_q::-webkit-details-marker {
  display: none;
}

.faq_question {
  flex: 1;
  text-align: left;
}

.faq_a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .35s ease;
  font-weight: 500;
  line-height: 1.6;
}

.faq_a_inner {
  min-height: 0;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 0 0 0 20px;
}

.faq_item.is-open .faq_a {
  grid-template-rows: 1fr;
}

.faq_item.is-open .faq_a_inner {
  padding-top: 20px;
}

.faq_icon {
  flex-shrink: 0;
  border-radius: 100%;
  width:36px;
  aspect-ratio:1/1;
  display: grid;
  place-content: center;
  font-size:18px;
  font-weight: 700;
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
}

/* 矢印 */
.faq_q::after {
  content: "";
  width: 14px;
  height: 14px;
  border-right: 2px solid #343330;
  border-bottom: 2px solid #343330;
  transform: rotate(45deg);
  transition: .25s;
   border-radius: 2px;
}


.faq_icon--q {
background: var(--blue06);
color:#fff;
}
.faq_icon--a {
background: #ffff00;
color:#393939;
}



.faq_q {
  width: 100%;
  border: none;
  font-family: inherit;
}

.faq_q::-webkit-details-marker {
  display: none;
}

.faq_a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .35s ease;
  padding: 0;
}

.faq_item.is-open .faq_a {
  grid-template-rows: 1fr;
  padding-bottom: 20px;
}

.faq_a_inner {
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 0 0 20px;
}

.faq_a_inner p {
  margin: 0;
}

.faq_item.is-open .faq_q::after {
  transform: rotate(-135deg);
}


@media screen and (max-width: 767px) {/*--*/

.faq_q {
font-size:14px;
padding: 12px;
border-radius: 5px;
gap:10px;
align-items: flex-start;
}

.faq_a {
font-size:14px;
}

.faq_icon {
font-size:11px;
width:22px;
}

.faq_a_inner {
gap: 10px;
padding: 0 0 0 10px;
}

.faq_a_inner {
padding: 10px 0 0 10px;
}

/* 矢印 */
.faq_q::after {
width: 8px;
height: 8px;
margin-top: 5px;
}

}/*--*/

.p-form-box {


}

.p-form-dl__head{
gap:10px;
display: flex;
justify-content:flex-start;
flex-wrap: wrap;
align-items: center;
font-size:14px;
margin-bottom: 8px;
}

.p-form-dl__body + .p-form-dl__head{
margin-top: 11px;
}

.p-form-box > *:first-child {
	margin-top: 0 !important;
}


:-ms-input-placeholder {
	color: #999999;
}

::placeholder {
	color: #999999;
}

.c-required {
color: #fff;
font-weight: 500;
font-size:10px;
background: #FFA72C;
border-radius: 20px;
display: inline-block;
line-height: 16px;
padding-inline: 8px;
}

.c-required.c-any{
background: #979797;
}

.p-form-table__head .c-required {
display: inline-block;
background: #FFA72C;
color:#fff;
border-radius: 30px;
}

.c-textbox {
-moz-box-sizing: border-box;
box-sizing: border-box;
width:100%;
padding-inline: 10px;
line-height:40px;
border: 1px solid #c1c1c1;
border-radius: 5px;
background: #ffffff;
font-size: 14px;
}

.c-textbox.c-textarea {
	width: 100%;
	height: 5em;
}

.c-textbox.is-error {
	border-color: #cc0000;
}

.c-selectbox-unit {
width:100%;
display: block;
position: relative;
}

.c-selectbox-unit::before {
display: block;
content: "";
width: 40px;
height: 42px;
top: 0;
bottom: 0;
right: 0;
margin: auto;
position: absolute;
background: 50% 50% no-repeat #c1c1c1;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
z-index: 8;
}

.c-selectbox-unit::after {
display: block;
position: absolute;
top: 50%;
width: 0;
height: 0;
right: 15px;
margin-top: -3px;
border-width: 8px 5px 0 5px;
border-style: solid;
border-color: #fff transparent transparent transparent;
content: '';
z-index: 9;
}

select::-ms-expand {
    display: none;
}

/*
select[multiple="multiple"] {
height:32px;
}

.c-selectbox-unit{
}*/

.c-selectbox {
width:100%;
height: 42px;
line-height:40px;
font-size: 14px;
padding-inline: 10px; 
border: 1px solid #c1c1c1;
border-radius: 5px;
background: #ffffff;
-moz-box-sizing: border-box;
box-sizing: border-box;
cursor: pointer;
position: relative;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
vertical-align: middle;
border:none;
padding: 0 10px;
border:1px solid #c1c1c1;
border-radius: 4px;
box-sizing: border-box;
text-align: left;
display: -webkit-box;
display: box;
color: #393939;
}

.c-selectbox-text {
margin: 0 10px 0 5px;
}

.c-checkbox {
font-size:14px;
display: inline-block;
position: relative;
/*min-height: 30px;*/
display: flex;
justify-content:flex-start;
flex-wrap: wrap;
align-items: center;
gap: 3px;
padding-right: 12px;
cursor: pointer;
}

.p-form-agree-unit .c-checkbox {
	margin-right: 0;
}


.c-checkbox input[type="checkbox"] {
	/*appearance: none;
	-webkit-appearance: none;*/
	border: 1px solid #c1c1c1;
}

.p-form__footer{
margin-top:30px; 
}

.p-form-btn-unit::before {
display: block;
content: "";
width: 12px;
height: 19px;
top: 0;
bottom: 0;
right: 23px;
margin: auto;
position: absolute;
background: url(../img/cta_arrow.svg) 50% 50% no-repeat;
background-size: 100% auto;
}


.p-btn-confirm,
.p-btn-reset {
letter-spacing: .05em;
font-weight: 700;
width: 280px;
height: 60px;
border-radius:9px;
font-size: 20px;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
	font-family: inherit;
	cursor: pointer;
}


.p-btn-confirm.is-disabled,
.p-btn-reset.is-disabled {
	opacity: 0.6;
	pointer-events: none;
}

.p-btn-confirm {
	background: #FF8438;
	color: #ffffff;
}

.p-btn-reset {
	background: #ffffff;
	color: #016b86;
}

@media screen and (min-width: 1100px) {/*--*/

body:not(.form_btm) .p-form-dl__head{
font-size:12px;
}

body:not(.form_btm) .c-textbox:not(.c-textarea){
height: 32px;
line-height:28px;
font-size: 13px;
}

body:not(.form_btm) .c-textarea{
height:4em;
font-size: 13px;
line-height: 1.4;
}


body:not(.form_btm) .c-selectbox-unit::before {
width: 28px;
height: 30px;
}

body:not(.form_btm) .c-selectbox {
height: 32px !important;
line-height:28px;
font-size: 12px;
}

body:not(.form_btm) .c-selectbox-unit::after {
right: 9px;
margin-top: -4px;
}

body:not(.form_btm) .c-checkbox {
/*line-height:28px;*/
font-size:12px;
}

body:not(.form_btm) .p-form__footer{
margin-top:15px; 
}

body:not(.form_btm) .p-btn-confirm,
body:not(.form_btm) .p-btn-reset {
width: 200px;
height: 42px;
border-radius:6px;
font-size: 14px;
font-weight: 700;
}


}/*--*/


.f__container {
  --full: minmax(4vw, 1fr);
  --content: min(92vw, 1170px);

  display: grid;
  overflow: hidden;

  grid-template-columns:
    [full-start] var(--full)
    [content-start] var(--content)
    [content-end] var(--full)
    [full-end];
}

.f__container > * {
  grid-column: content;
}

.footer {
  --content-width: 1440;
  --em: 16;
}

@media only screen and (max-width: 640px) {
  .footer {
    --content-width: 428;
    --em: 15;
  }
}

.footer_logo {
  background-color: #F5F6FA;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .footer_logo {
    padding-block: min(50 / var(--content-width) * 100vw, 50px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_logo {
    padding-block: 40px;
  }
}
@media only screen and (max-width: 640px) {
  .footer_logo_img {
    width: min(220 / var(--content-width) * 100vw, 220px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_logo_img {
    width: 268px;
  }
}
.footer_sns {
  border-top: 1px solid #DFE4ED;
  background-color: #F5F6FA;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .footer_sns {
    padding-block: min(30 / var(--content-width) * 100vw, 30px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_sns {
    padding-block: 24px;
  }
}
.footer_sns_link {
  display: block;
  transition: opacity 0.3s ease-out;
}

.footer_sns_link:hover {
  opacity: 0.7;
}

.footer_links_01 {
  background-color: #071933;
}

@media only screen and (max-width: 640px) {
  .footer_links_01_links {
    font-size: calc(14 / var(--em) * 1rem);
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    padding-block: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_links_01_links {
    font-size: calc(14 / var(--em) * 1rem);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
    padding-block: min(40 / var(--content-width) * 100vw, 40px);
  }
}
@media only screen and (min-width: 1026px) {
  .footer_links_01_links {
    font-size: calc(16 / var(--em) * 1rem);
  }
}
.footer_links_01_links_item {
  gap: 1em;
  text-align: left;
}

@media only screen and (max-width: 640px) {
  .footer_links_01_links_item {
    text-align: center;
  }
}
.footer_links_01_links_item a {
  color: #fff;
  display: block;
  transition: opacity 0.3s ease-out;
}

.footer_links_01_links_item a:hover {
  opacity: 0.7;
}

.footer_links_02 {
  border-top: 1px solid #000;
  background-color: #071933;
}

.footer_links_02.container {
  --content: min(96vw, 1170px);
  --full: minmax(2vw, 1fr);
}

.footer_links_02_links {
justify-content: center;
flex-wrap: wrap;
  display: flex;
  gap: 2em;
}

@media only screen and (max-width: 640px) {
  .footer_links_02_links {
    flex-direction: column;
    font-size: calc(13 / var(--em) * 1rem);
    padding-block: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 641px) {
  .footer_links_02_links {
    font-size: calc(13 / var(--em) * 1rem);
    padding-block: min(20 / var(--content-width) * 100vw, 20px);
  }
}
@media only screen and (min-width: 1026px) {
  .footer_links_02_links {
    font-size: calc(14 / var(--em) * 1rem);
    padding-block: 21px;
  }
}
@media only screen and (max-width: 640px) {
  .footer_links_02_links_item {
    text-align: center;
  }
}
.footer_links_02_links_item a {
  color: #fff;
  display: block;
  transition: opacity 0.3s ease-out;
}

.footer_links_02_links_item a:hover {
  opacity: 0.7;
}

.footer_cr {
  background-color: #040C18;
  color: #fff;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .footer_cr {
    font-size: calc(12 / var(--em) * 1rem);
    padding-block: 1.5em;
  }
}
@media only screen and (min-width: 641px) {
  .footer_cr {
    font-size: calc(12 / var(--em) * 1rem);
    padding-block: 22px 20px;
  }
}