body, html {
    margin: 0;
    font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    background-color: #FFCC16;
    color: #2D2D2D;
    line-height:1.8;
}

html{
    scroll-behavior: smooth;
}

img{
    width: 100%;
    vertical-align: top;
}

h1,h2,h3,h4,h5{
    margin:0;
    padding:0;
}

p {
    line-height:2;
    margin:0;
}

a,a:hover,a:visited{
    color: inherit;
    text-decoration: none;
}

.seciton-title{
    text-align: center;
    margin:63px 0 63px 0;
}

.seciton-title h4{
    font-size:2.2em;
    font-weight: 900;
    position: relative;
    padding: 1.5rem;
}

.seciton-title h4 span{
    font-size: 0.5em;
    font-weight: 600;
    display: block;
}

.seciton-title h4:before{
    position: absolute;
    bottom: -10px;
    left: calc(50% - 30px);
    width: 60px;
    height: 5px;
    content: '';
    background: #E00B75;
}

.marker{
    background:linear-gradient(transparent 60%, rgb(255, 255, 25) 60%);
}

section{
    max-width: 1024px;
    width: 100%;
    margin:50px auto 0 auto;
    padding: 0 18px;
    box-sizing: border-box;
}

@media screen and (max-width:1024px){
 
    #problem ul{
        justify-content:space-around;
    }

}

/****************
apply
****************/

.apply{
    background: url(assets/img/apply_bg.jpg),linear-gradient(#5080a3, #045793);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-blend-mode: soft-light;
    max-width: 100% !important;
    margin:0 !important;
    padding:60px 18px;
}

.apply-wrapper{
    width:100%;
    max-width: 1024px;
    margin: auto;
    background-color: #dff2ff;
    border: #044370 5px solid;
    border-radius: 20px;
    display: flex;
    padding:25px;
    box-sizing: border-box;
    align-items: center;
}

.apply-img{
    width:40%;
}

.apply-content{
    width: 60%;
    text-align: center;
}

.apply-catch h5{
    font-size: 1rem;
}

.apply-catch p{
    font-size:1.5em;
    font-weight: 900;
    margin:10px 0 20px 0;
    color:#E00B75;
}

.apply-btn{
    padding:12px 1.3em ;
    background-color: #057DD3;
    border-radius:5px;
    border:solid 3px #044370;
    color:#fff;
    font-size:1.5em;
    font-weight:600;
    display: inline-block;
}

@media screen and (max-width:767px){
 
    .apply-wrapper{
        flex-direction: column;
    }

    .apply-img{
        width:100%;
    }
    
    .apply-content{
        width: 100%;
    }
    
}


/****************
main visual
****************/

#main-visual,#main-visual-cam{
    width: 100%;
    height:100vh;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/****************
problem
****************/

.problem-copy{
    font-size:2em;
    font-weight:900;
    text-align: center;
    margin-bottom:33px;
}

#problem ul{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#problem ul li{
    width: calc(50% - 1em);
    margin:0.5em;
}


@media screen and (max-width:767px){
 
    #problem ul{
        justify-content:space-around;
    }

    #problem ul li{
        width: 100%;
        margin:0.5em 0;
    }

}

/****************
benefit
****************/

.benefit-intro{
        background-color:#E00B75;
        color:#fff;
        font-size:1.8em;
        font-weight:700;
        padding:20px;
        border-radius: 10px;
        position:relative;
        text-align: center;
}

.benefit-intro::after{
    content:"";
    position: absolute;
    width: 0;
    height: 0;
    bottom: -25px;
    left: calc(50% - 13px);
    border-top: 26px solid #E00B75;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
}

.commit-web-logotype{
    margin:60px auto 60px auto;
}

.record-top{
    margin:50px 0 20px 0;
}

.record-top h3{
    position: relative;
    text-align: center;
    font-weight: 900;
    line-height: 1.3;
    font-size: 2rem;
}

.record-top h3:before,
.record-top h3:after{
    position: relative;
    display: inline-block;
    content: "";
    background: #2D2D2D;
    width: 5px;
    height: 1.5em;
    margin: 0 1em;
    margin-top: -.2em;
    vertical-align: middle;
}

.record-top h3:before {
    transform: rotate(-25deg);
}
   
.record-top h3:after {
    transform: rotate(25deg);
}

#record-slider{
    margin:0 auto 60px auto;
}

#record-slider div{
    margin:0 5px;
}

/****************
benefit(point)
****************/

.benefit-point-top{
    margin:96px auto 20px auto;
}

.benefit-point-wrapper ul{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.benefit-point-wrapper ul li{
    width: calc(50% - 1em);
    margin:0.5em;
}


@media screen and (max-width:767px){
 
    .benefit-point-wrapper ul{
        justify-content:space-around;
    }

    .benefit-point-wrapper ul li{
        width: 100%;
        margin:0.5em 0;
    }

}

ul.benefit-point li{
    background-color: #fff;
    padding:15px;
    box-sizing: border-box;
    border-radius: 20px;
}

.point-number{
    padding-left:15px;
    color:#E00B75;
    font-weight: 900;
    font-size:1.3em;
    border-left: solid 10px #E00B75;
    margin-top:15px;
}

.point-title{
    text-align: center;
    font-size:1.5em;
    font-weight:900;
    margin-top:15px;
}

.benefit-content{
    margin-top:15px;
    padding:12px;
}

/****************
benefit(fee)
****************/

.benefit-fee{
    width: 100%;
    max-width: 690px;
    margin:60px auto;
}

.benefit-fee-title{
    background-color: #E00B75;
    color:#fff;
    font-size:1.3em;
    font-weight:700;
    text-align: center;
    border-radius: 20px 20px 0 0;
    padding:12px 0;
}

.ad-badge{
    position: relative;
}

.campaign-badge{
    width:130px;
    position: absolute;
    top:-35px;
    left:-30px;
}

.benefit-fee-content{
    background-color: #fff;
    font-size:1.8em;
    font-weight:700;
    text-align: center;
    border-radius:0 0 20px 20px;
    padding:12px 0;
}

.benefit-fee-large{
    font-size:2.5em;
    font-weight:900;
    color: #E00B75;
    margin:0 9px;
    line-height:1;
}

.benefit-fee-middle{
    font-size:1.3em;
    font-weight:900;
    margin:0 9px;
    line-height:1;
}


.benefit-fee-caution{
    width: 100%;
    text-align: right;
    font-size:0.8em;
    padding:6px 12px 0 0;
    box-sizing: border-box;
}

.fee-del{
    text-decoration: line-through 4px solid #E00B75;
}

.triangle {
    background:#2D2D2D;
    height: calc(tan(60deg) * 24px / 2);
    width: 24px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin:18px auto;
}

@media screen and (max-width:540px){
 
    .benefit-fee-title{
        font-size:1em;
    }

    .benefit-fee-content{
        font-size:1.2em;
    }

    .benefit-fee-large{
        font-size:2em;
    }

    .campaign-badge{
        width:90px;
        position: absolute;
        top:-18px;
        left:-15px;
    }
    
}

/****************
solution
****************/

#solution{
    margin:60px auto;
}

.solution-title{
    border-left:solid 24px #E00B75;
    padding-left:24px;
    font-size:2.5em;
    font-weight:900;
    line-height: 1.5;
    margin:60px auto;
}

.solution-wrapper{
    display: flex;
    align-items: center;
}

.solution-copy{
    width: calc(100% - 390px);
    padding:1em;
    box-sizing: border-box;
    font-weight:700;
}

.sp_sample_device{
	width:280px;
	height: 558px;
	position: relative;
	margin:auto;
}

.sp_sample_device img{
	width: 100%;
	z-index: 10;
	pointer-events: auto;
	filter: drop-shadow(0 20px 20px #000);
}

.sp_sample_cont{
	width: calc(100% - 30px);
	height: 445px;
	overflow-y: scroll;
	position: absolute;
	top:56px;
	left:15px;
	z-index: 2;
}

.sp_sample_cont::-webkit-scrollbar{
	display: none;
  }

.sp_sample_cont img{
	width: 100%;
}

.sp_txt_cont{
	width: calc(100% - 280px);
	padding:0 0 0 50px;
	text-align: left;
}

.scroll-downs {
    position: absolute;
    right: 0;
    bottom: 12px;
    left: 0;
    margin: auto;
    width :34px;
    height: 55px;
    z-index: 3;
}

.mousey {
    width: 3px;
    padding: 10px 15px;
    height: 35px;
    border: 2px solid #fff;
    border-radius: 25px;
    opacity: 0.75;
    box-sizing: content-box;
}

.scroller {
    width: 3px;
    height: 10px;
    border-radius: 25%;
    background-color: #fff;
    animation-name: scroll;
    animation-duration: 2.2s;
    animation-timing-function: cubic-bezier(.15,.41,.69,.94);
    animation-iteration-count: infinite;
}

@keyframes scroll {
    0% { opacity: 0; }
    10% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(15px); opacity: 0;}
}

@media screen and (max-width:1023px){
 
    .solution-wrapper{
        flex-direction: column;
    }

    .solution-copy{
        width: 100%;
        padding:1em;
        font-weight:700;
        margin-top:3em;
    }
}

/****************
voice
****************/

.voice-content{
    background-color: #fff;
    padding:24px;
    box-sizing: border-box;
    border-radius: 20px;
    display: flex;
    align-items: center;
    margin:36px auto; 
}

.voice-left{
    width:256px;
}

.voice-img{
    width: 100%;
}

.voice-img img{
    border-radius: 20px;
}

.voice-type ul{
    list-style: none;
    padding: 0;
    margin:12px 0 12px 0;
    font-size:0.9em;
    font-weight:600;
}

.voice-type ul li{
    border-left:solid 5px #E00B75;
    padding-left:12px;
}

.voice-right{
    width:calc(100% - 256px);
    padding:0 36px;
    box-sizing: border-box;
}

.voice-right h4{
    font-size:1.3em;
    font-weight: 900;
}

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

    .voice-content{
        flex-direction: column;
    }

    .voice-left{
        width: 100%;
    }

    .voice-right{
        width: 100%;
        padding:0;
        margin-top:24px;
    }
}  

/****************
Price plan
****************/

.price-wrapper {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
    height: auto;
}

.price-card {
    width: calc((100% / 3) - 24px);
    padding: 10px;
}

.price-card img {
    width: 100%;
    display: block;
    height: auto;
}

.price-wrapper .slick-slide {
    opacity: 0.5;
    transition: opacity 0.3s ease; 
}

.price-wrapper .slick-center {
    opacity: 1;
}

.price_odermade{
    width: fit-content;
    margin:20px auto;
    padding:15px;
    font-size:0.9rem;
}

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

    .price-card {
        width: 80%;
        margin: 0 auto;
    }

    #price{
        padding:0 !important;
    }

    .price-campaign-copy h4{
        font-size:1.5em;
    }
}

/****************
commitweb-image
****************/

.commitweb-image{
    margin:94px auto;
}

/****************
how-to
****************/



/****************
FAQ
****************/

.faq{
    width: 100%;

}

.faq_wrapper{
    width: 100%;
    max-width: 780px;
    margin: auto;
}

.toggle {
	display: none;
}
.Label {/*question*/
	padding: 1em 2em 1em 1em;
	display: block;
	color: #2d2d2d;
	background:#fff;
    border-radius: 5px;
    font-weight: 700;
}

.Label::before {
    content: "Q";
    display: inline-block;
    margin-right: 10px;
    font-weight: bold;
    color: #E00B75;
    font-size: 1.5em;
    font-weight: 900;
}

.Label::after{/*question-icon*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #2d2d2d;
	border-right: 2px solid #2d2d2d;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}

.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

.content::before {
    content: "A";
    display: inline-block;
    margin-right: 10px;
    font-weight: bold;
    color: #057DD3;
    font-size: 1.5em;
    font-weight: 900;
    vertical-align: baseline;  /* ベースラインに揃える */
}

.content {/*answer*/
    background:#fff;
    border-radius: 5px;
	height: 0;
	margin:10px 0;
	padding:0 20px;
	overflow: hidden;
}

.content p {
    display: inline;
    margin: 0;
    padding: 0;
    vertical-align: baseline; /* Aと本文を同じ行に揃える */
}

.toggle:checked + .Label + .content {	/*open&close*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::after {
	transform: rotate(-45deg) !important;
}

.accordion div:last-child{
    margin-bottom:0;
}

.faq_payment_list{
    list-style: none;
    display: flex;
    margin:15px 0 0 0;
    padding:0;
    justify-content: center;
}

.faq_payment_list li{
	line-height: 2.5em;
    margin-left:30px;
    display: flex;
    align-items: center;

}

.faq_payment_list li p{
    font-weight: 700;
}


.faq_payment_list li img{
    width:60px;
    object-fit: cover;
}


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

    .faq_payment_list li{
        flex-direction: column;
        margin: 0 15px;
    }

    .faq_payment_list li p{
        font-size: 0.9em;
    }
    

}

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

footer{
    background-color: #2D2D2D;
    color:#fff;
    width: 100%;
    padding:30px 18px;
    box-sizing: border-box;
}

footer a{
    color:#fff
}

footer a:visited{
    color:#fff;
}

.footer-content{
    width: 100%;
    max-width: 1024px;
    display: flex;
    align-items:end;
    justify-content: space-between;
    margin: auto;
}

.footer-content ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-company,.footer-link{
    width: 50%;
    padding:0 0 0 45px;
    box-sizing: border-box;
}

.footer-logo{
    width: 150px;
    margin-bottom:20px;
}

.copylight{
    background-color: #1a1a1a;
    color:#fff;
    text-align: center;
}


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

    .footer-content{
        flex-direction: column;
    }

    .footer-company,.footer-link{
        width: 100%;
        padding:0 0 0 25px;
    }

    .footer-company{
        margin-bottom: 30px;
    }
    
}

/****************
legal
****************/

#legalWrap{
    margin:0 0 100px 0;
    width: 100%;
}

/****************
privacy
****************/

.privacy--section{
    width:90%;
    max-width:980px;
    margin:auto;
    margin-bottom:100px;
    background-color:#fff;
    padding:4em;
    box-sizing: border-box;
  }
  
  .privacy-list-1{
    list-style-type: lower-alpha;
  }
  
  .privacy-list-1 li{
    margin-bottom:30px;
  }

  .privacy-list-2{
    list-style: none;
    padding: 0;
  }

  .privacy-list-2 li{
    margin: 20px 0;
  }

  .privacy-list-2 li p{
    padding-inline-start: 40px;
  }

  .privacy-list-2 ul{
    list-style:decimal;
    margin: 15px 0;
  }

  .privacy-list-2 ul li{
    margin:0;
    line-height: 2;
  }
  
  .pivacy-sig{
    list-style: none;
    text-align: right;
  }
  
  p.txt-right{
    text-align: right;
  }
  
  ul.privacy-contact{
    background-color:#eee;
    padding:30px !important;
    list-style: none;
  }
  
  .privacy--section dd{
    margin-left:2em;
  }
  
  .dd-btm-space{
    margin-bottom:1em;
  }

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

    .privacy--section{
        padding:2em;
      }

      .privacy-list-1,.privacy-list-2 ul{
        padding-inline-start: 20px;
      }

      .privacy-list-2 li p{
        padding-inline-start: 0;        
      }
    
}
  

/****************
table
****************/

.responsive-table{
    width:100%;
    max-width: 780px;
    margin:auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.responsive-table table {
    margin: 20px auto;
    border-spacing: 0;
}

.responsive-table th {
    background:#2d2d2d;
    border: solid 1px #ccc;
    color: #fff;
    font-weight: 500;
    padding: 10px;
    box-sizing: border-box;
}

.responsive-table td {
    border: solid 1px #ccc;
    background: #fff;
    padding: 10px;
    box-sizing: border-box;
}
  
@media screen and (max-width: 640px) {

    .last-tr td:last-child {
        border-bottom: solid 1px #ccc;
        width: 100%;
    }

    .responsive-table th,
    .responsive-table td {
        border-bottom: none;
        display: block;
        width: 100%;
    }

}
  