@charset "utf-8";
/* ============================================================================================== */
/* フォント                                                                                   */
/* ============================================================================================== */
 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@500;600;700;900&family=M+PLUS+Rounded+1c:wght@700;800;900&family=Gothic+A1:wght@300;400;500;600;700;800&display=swap');
/* ============================================================================================== */
/* CSSリセット                                                                                    */
/* ============================================================================================== */
html {
 position: relative;
 font-size: 62.5%;
 background: #fff;
 touch-action: manipulation;
 scroll-behavior: smooth;
 height: 100%;
}
body {
 font-family: 'Gothic A1',"Noto Sans JP", '游ゴシック', sans-serif;
 color: #000;
 font-size: 1.6rem;
 overflow-wrap: break-word;
 min-height: 100vh;
 background: #fff;
 padding: 0;
 margin: 0;
}
h1, h2, h3, h4, h5, ul, li, p, dl, dt, dd, figure, picture, section {
 list-style: none;
 padding: 0;
 margin: 0;
}
/*--PC--*/
@media (min-width: 751px) {
 body {
  background: #f6feff;
 }
}

:root {
    --font-sans: "Noto Sans JP", "ヒラギノ角 Pro W3", "Hiragino Kaku Pro W3", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", sans-serif;
}
/* ============================================================================================== */
/* common                                                                                         */
/* ============================================================================================== */
* {
 box-sizing: border-box;
}
img {
 display: block;
 max-width: 100%;
 image-rendering: -webkit-optimize-contrast;
}
a, a:link{
 color: #000;
 text-decoration: none;
}
.wrapper {
 max-width: 750px;
 margin: 0 auto;
 overflow-y: hidden;
}
.inner_cont {
 margin: 0 auto;
}
.inner_cont p{
 font-size: 4vw;
}
/*--PC--*/
@media (min-width: 751px) { 
 a img{
  transition: all 1s;
 }
 a:hover img{
  opacity: 0.8;
 }
 .inner_cont p{
  font-size: 30px;
 }
}
/*--btn--*/
.btn{
 margin: 0 auto;
}
.btn.change{
 width: 78.4vw;
 max-width: 588px;
}
.btn .copy{
 margin: 0 auto 1.06vw;
}
@media (min-width: 751px) {
 .btn .copy{
  margin: 0 auto 8px;
 }
}
/*--page_top--*/
.page_top{
 position: fixed;
 bottom: 4vw;
 right: 4vw;
 width: 11.46vw;
 z-index: 5;
}
@media (min-width: 751px) {
 .page_top{
  bottom: 10px;
  right: calc((100% - 750px) / 2 + 10px);
  width: 86px;
  cursor: pointer;
 }
}
/* ============================================================================================== */
/* header
/* ============================================================================================== */
header {
 width: 100vw;
 max-width: 750px;
 background: #fff;
}
header .header_inner{
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 0.93vw 0 1.73vw;
 margin: 0 auto;
}
header .logo{
 width: 83.86vw;
 max-width: 629px;
 margin: 0 auto 0 0;
}
@media (min-width: 751px) {
 header .header_inner{
  padding: 6px 0 13px;
 }
}
/* ============================================================================================== */
/* kv
/* ============================================================================================== */
#kv{
 text-align: center;
 padding: 0 0 4.66vw;
 background: #3D78B7;
 position: relative;
 z-index: 0;
}
#kv .btn_wrap {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 12vw;
}
#kv .btn{
 width: 92.134vw;
 max-width: 691px;
 margin: 0 auto 4.66vw;
}
#kv p{
 color: #fff;
 font-size: 4.53vw;
 font-weight: 700;
 letter-spacing: 0.1em;
}
#kv span.stroke{
 -webkit-text-stroke: 0.253vw #FFF;
 text-stroke: 0.253vw #FFF;
}
/*--PC--*/
@media (min-width: 751px) {
 #kv{
  padding: 0 0 35px;
 }
 #kv .btn_wrap {
    bottom: 90px;
 }
 #kv .btn{
  margin: 0 auto 35px;
 }
 #kv p{
  font-size: 34px;
 }
 #kv span.stroke{
  -webkit-text-stroke: 2px #FFF;
  text-stroke: 2px #FFF;
 }
}

/* ============================================================================================== */
/* problem
/* ============================================================================================== */
#problem{
 background: #668BB4;
 padding-bottom: 2.5vw;
 position: relative;
 z-index: 1;
 padding-top: 0.1vw;
}
#problem h2{
 width: 100vw;
 max-width: 750px;
 margin-top: -9vw;
}
#problem .inner_cont{
 width: 100%;
 max-width: 750px;
 padding: 2.93vw 2vw 4vw 1.867vw;
 background: url("../images/problem_bg.png") top 30px center no-repeat;
 background-size: 67.2vw auto;
}
#problem .hukidashi_01 {
    position: relative;
}
#problem .hukidashi_01 img{
 width: 64.53vw;
 max-width: 484px;
}
#problem .hukidashi_02{
 margin-top: -20.26vw;
 position: relative;
}
#problem .hukidashi_02 img{
 width: 47.6vw;
 max-width: 357px;
 margin: 0 0 0 auto;
}
#problem .hukidashi_03{
 margin-top: -22.8vw;
 margin-left: 6.8vw;
 position: relative;
}
#problem .hukidashi_03 img{
 width: 49.86vw;
 max-width: 374px;
}
#problem .img{
 width: 52.4vw;
 max-width: 393px;
 margin: -17.6vw 0 0 35vw;
}
#problem .txt{
    position: absolute;
    left: 0;
    top: 10.2vw;
    background: transparent;
    line-height: 1.3;
    letter-spacing: -.01em;
    font-size: 4.2vw;
    font-weight: 900;
    font-family: var(--font-sans);
    text-align: center;
}
#problem .hukidashi_01 .txt {
    width: 65.53vw;
    max-width: 484px;
}
#problem .hukidashi_02 .txt {
    width: 44.6vw;
    max-width: 343px;
    left: initial;
    right: 0;
}
#problem .hukidashi_03 .txt {
    width: 48.86vw;
    max-width: 374px;
}
/*--PC--*/
@media (min-width: 751px) {
 #problem{
  padding-bottom: 25px;
 }
 #problem h2{
    margin-top: -80px;
 }
 #problem .inner_cont{
  padding: 22px 14px 30px 7px;
  background-size: 504px auto;
 }
 #problem .hukidashi_02{
  margin-top: -150px;
 }
 #problem .hukidashi_03{
  margin-top: -174px;
  margin-left: 50px;
 }
 #problem .img{
  margin: -135px 0 0 330px;
 }
 #problem .txt{
    top: 80px;
    font-size: 28px;
    line-height: 1.45;
}
#problem .hukidashi_01 .txt {
    top: 70px;
}
}

/* ============================================================================================== */
/* business_shield
/* ============================================================================================== */
#business_shield{
 position: relative;
 background: #fff url("../images/business_shield_bg.png") bottom right no-repeat;
 background-size: 96.93vw auto;
 overflow-x: clip;
 padding-top: 17vw;
}
#business_shield::before{
 position: absolute;
 content: "";
 top: -20.33vw;
 left: 0;
 display: block;
 width: 100%;
 height: 20.33vw;
 background: #fff;
 border-top-left-radius: 50%;
 border-top-right-radius: 50%;
 margin-left: -100px;
 margin-right: -100px;
 padding-left: 100px;
 padding-right: 100px;
}
#business_shield h2{
 position: absolute;
 top: 10.5vw;
 left: 0;
 right: 0;
 width: 90.533vw;
 max-width: 679px;
 margin: 0 auto;
}
#business_shield .inner_cont{
 width: 100%;
 max-width: 750px;
 text-align: center;
 padding: 15vw 0 8.13vw 2.13vw;
}
#business_shield p{
 display: inline;
 font-size: 4vw;
 font-weight: 800;
 line-height: 2.2;
 text-align: center;
 padding-bottom: 1.2vw;
 background: url("../images/business_shield_line.png") bottom left repeat-x;
}
#business_shield .point1{
 width: 57.6vw;
 max-width: 432px;
 margin-top: 5.46vw;
 position: relative;
}
#business_shield .point2{
 width: 57.6vw;
 max-width: 432px;
 margin: -14vw 0 0 auto;
 position: relative;
}
#business_shield .point3{
 width: 57.6vw;
 max-width: 432px;
 margin-top: -15.6vw;
 position: relative;
}
#business_shield .txt{
    position: absolute;
    left: 0;
    top: 12.6vw;
    width: 54.6vw;
    background: transparent;
    line-height: 1.3;
    letter-spacing: -.01em;
    font-size: 3.57vw;
    font-weight: 900;
    font-family: var(--font-sans);
}
/*--PC--*/
@media (min-width: 751px) {
 #business_shield{
  background-size: 727px auto;
  padding-top: 120px;
 }
 #business_shield::before{
  top: -135px;
  height: 135px;
 }
 #business_shield h2{
  top: 78px;
 }
 #business_shield .inner_cont{
  padding: 110px 0 67px 18px;
 }
 #business_shield p{
  font-size: 30px;
  line-height: 2.5;
  padding-bottom: 14px;
 }
 #business_shield .point1{
  margin-top: 44px;
 }
 #business_shield .point2{
  margin: -85px 0 0 auto;
 }
 #business_shield .point3{
  margin-top: -119px;
 }
 #business_shield .txt{
    top: 93px;
    width: 407px;
    font-size: 28px;
}
}

/* ============================================================================================== */
/* writing_skills
/* ============================================================================================== */
#writing_skills{
 padding: 1.87vw;
 border: #3D78B7 6px solid;
 box-sizing: border-box;
}
#writing_skills .inner_cont{
 padding: 7.467vw 3.5vw;
 background: #F9FFFF;
 border: #3D78B7 2px solid;
 box-sizing: border-box;
}
#writing_skills h2{
 width: 100%;
 max-width: 650px;
 margin: 0 auto 6.53vw;
}
#writing_skills h3{
 color: #3D78B7;
 font-size: 4.5vw;
 font-weight: 800;
 margin-bottom: 2vw;
}
#writing_skills p{
 display: inline;
 font-size: 4vw;
 font-weight: 600;
 line-height: 2.2;
 padding-bottom: 1.2vw;
 background: url("../images/writing_skills_line.png") bottom left repeat-x;
}
#writing_skills .voice_01{
 margin-bottom: 7.46vw;
}
#writing_skills .voice_01 .name{
 width: 58.66vw;
 max-width: 440px;
 margin-bottom: 3.73vw;
}
#writing_skills .voice_02{
 margin-bottom: 6.66vw;
}
#writing_skills .voice_02 .name{
 width: 59.06vw;
 max-width: 443px;
 margin-bottom: 3.73vw;
}
#writing_skills .voice_02 p span{
 display: inline-block;
 width: 32%;
}
#writing_skills .btn .copy{
 width: 36.4vw;
 max-width: 273px;
}
/*--PC--*/
@media (min-width: 751px) {
 #writing_skills{
  padding: 6px;
 }
 #writing_skills .inner_cont{
  padding: 58px 30px;
 }
 #writing_skills h2{
  margin: 0 auto 47px;
 }
 #writing_skills h3{
  font-size: 40px;
  margin-bottom: 20px;
 }
 #writing_skills p{
  font-size: 33px;
  line-height: 2.5;
  padding-bottom: 20px;
 }
 #writing_skills .voice_01 .name, #writing_skills .voice_02 .name{
  margin-bottom: 30px;
 }
 #writing_skills .voice_01{
  margin-bottom: 60px;
 }
 #writing_skills .voice_02{
  margin-bottom: 50px;
 }
 #writing_skills .voice_02 p span{
  width: 9%;
 }
}

/* ============================================================================================== */
/* past_issues
/* ============================================================================================== */
#past_issues{
 padding: 18.66vw 0 8.4vw;
 /*background-image: url("../images/past_bg_top.png"), url("../images/past_bg_bottom.png");
 background-position: top 4.733vw left, bottom 6.6vw center;
 background-repeat: no-repeat, no-repeat;
 background-size: 96.533vw auto, 100vw auto;*/
 background-color: #46BAF9;
}
#past_issues h2{
 width: 75.46vw;
 max-width: 566px;
 margin: 0 auto 4.66vw;
}
#past_issues h3{
 width: 76vw;
 max-width: 570px;
 color: #fff;
 font-size: 4vw;
 font-weight: 800;
 text-align: center;
 padding: 1.33vw 0;
 margin: 0 auto 4.66vw;
 background: #007FBF;
 border-radius: 35px;
}
#past_issues .inner_cont{
 position: relative;
 width: 88vw;
 max-width: 660px;
 padding: 1.867vw 2vw 8vw;
 margin-bottom: 4.93vw;
 background: #fff;
}
#past_issues .btn_ex{
 width: 26.4vw;
 max-width: 198px;
 margin: 0 0 0 auto;
}
#past_issues .question{
 width: 100%;
 max-width: 636px;
}
#past_issues .question img:last-child{
 margin-top: 5.33vw;
}
#past_issues .illust{
 position: absolute;
 top: 117.333vw;
 left: -6vw;
 width: 13.867vw;
 max-width: 104px;
}
#past_issues .anser{
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
 font-family:  "Noto Serif JP", serif;
 font-size: 2.93vw;
 font-weight: 600;
 text-align: center;
 padding: 1.067vw 2.667vw;
 background: #F2F2F2;
}
#past_issues .btn .copy{
 width: 38vw;
 max-width: 285px;
}
/*--PC--*/
@media (min-width: 751px) {
 #past_issues{
  padding: 140px 0 63px;
  background-position: top 44px left, bottom 51px center;
  background-size: 724px auto, 751px auto;
 }
 #past_issues h2{
  margin: 0 auto 35px;
 }
 #past_issues h3{
  font-size: 30px;
  padding: 10px 0;
  margin: 0 auto 35px;
 }
 #past_issues .inner_cont{
  padding: 20px 15px 60px;
  margin-bottom: 37px;
 }
 #past_issues .btn_ex{
  display: none;
 }
 #past_issues .question img:last-child{
  margin-top: 40px;
 }
  #past_issues .illust{
  top: 860px;
  left: -46px;
 }
 #past_issues .anser{
  font-size: 22px;
  padding: 8px 20px;
 }
 #past_issues a.link{
  pointer-events: none;
 }
}
/* ============================================================================================== */
/* about_bunshouken
/* ============================================================================================== */
#about_bunshouken{
 text-align: center;
 padding: 9.37vw 0 5.62vw;
 background: #7EDEF9;
 border-top: #231815 4px solid;
}
#about_bunshouken .inner_cont{
 width: 95.467vw;
 max-width: 716px;
}
#about_bunshouken h2{
 position: relative;
 display: inline-block;
 font-size: 5.73vw;
 font-weight: 800;
 margin-bottom: 5.33vw;
}
#about_bunshouken h2 span{
 font-size:5.06vw;
}
#about_bunshouken h2::after{
 position: absolute;
 content: "";
 bottom: 0;
 left: 0;
 width: 100%;
 height: 0.8vw;
 background: #251E1C;
}
#about_bunshouken h3{
 color: #FC6607;
 font-size: 5.73vw;
 font-weight: 800;
 margin-bottom: 5.2vw;
}
#about_bunshouken h4{
 font-size: 4.5vw;
 font-weight: 800;
 text-align: left;
 margin-left: 4vw;
 margin-bottom: 2.66vw;
}
#about_bunshouken h5{
 display: inline-block;
 color: #fff;
 font-size: 4.5vw;
 font-weight: 800;
 text-align: left;
 padding: 0 6vw;
 margin-bottom: 2.66vw;
 background: #FC6607;
 border-radius: 25px;
}
#about_bunshouken ul li{
 position: relative;
 font-size: 4vw;
 font-weight: 600;
 padding-left: 3vw;
 margin-left: 2vw;
}
#about_bunshouken ul li::before{
 position: absolute;
 top: 1.5vw;
 left: 0;
 display: inline-block;
 content: "●";
 color: #FC6607;
 font-size: 2vw;
}
#about_bunshouken p{
 font-weight: 600;
 text-align: left;
 margin-left: 4vw;
 margin-bottom: 6vw;
}
#about_bunshouken .summary{
 margin: 0 auto 7.6vw;
}
#about_bunshouken .summary .img{
 width: 100%;
 max-width: 714px;
}
#about_bunshouken .guideline .sub_inner{
 font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', sans-serif;
 text-align: left;
 padding: 1.33vw 4.66vw 3.33vw;
 background: #fff;
}
 #about_bunshouken .guideline .sub_inner.first{
  margin-bottom: 4vw;
 }
 #about_bunshouken .guideline .sub_inner.sec{
  margin-bottom: 10vw;
 }
#about_bunshouken .btn.application{
 width: 80.934vw;
 max-width: 607px;
}
#about_bunshouken .btn.application{
 margin-bottom: 1.56vw;
}
/*--PC--*/
@media (min-width: 751px) {
 #about_bunshouken{
  padding: 75px 0 48px;
 }
 #about_bunshouken h2{
  font-size: 43px;
  margin-bottom: 40px;
 }
 #about_bunshouken h2::after{
  bottom: 0px;
  height: 3px;
 }
 #about_bunshouken h2 span{
  font-size:38px;
 }
 #about_bunshouken h3{
  font-size: 35px;
  margin-bottom: 54px;
 }
 #about_bunshouken h4{
  font-size: 30px;
  margin-left: 30px;
  margin-bottom: 20px;
 }
 #about_bunshouken h5{
  font-size: 30px;
  padding: 0 45px;
  margin-bottom: 20px;
 }
 #about_bunshouken ul li{
  font-size: 30px;
  padding-left: 25px;
  margin-left: 15px;
 }
 #about_bunshouken ul li::before{
  top: 9px;
  font-size: 17px;
 }
 #about_bunshouken p{
  margin-left: 30px;
  margin-bottom: 45px;
 }
 #about_bunshouken .summary{
  margin: 0 auto 57px;
 }
 #about_bunshouken .guideline .sub_inner{
  padding: 10px 35px 25px;
 }
 #about_bunshouken .guideline .sub_inner.first{
  margin-bottom: 30px;
 }
 #about_bunshouken .guideline .sub_inner.sec{
  margin-bottom: 75px;
 }
 #about_bunshouken .btn.application{
  margin-bottom: 20px;
 }
}
/* ============================================================================================== */
/* footer
/* ============================================================================================== */
footer {
 font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', sans-serif;
 background-color: #fff;
}
footer .footer_link{
 text-align: center;
 padding: 6.4vw 0 4.8vw;
}
footer .footer_link ul li{
 display: inline-block;
}
footer .footer_link ul li:first-child{
 margin-right: 5vw;
}
footer .footer_link ul li a{
 position: relative;
 font-size: 4vw;
 padding: 0 4vw;
 background: url("../images/icon_win.png") center right no-repeat;
 background-size: 2.8vw auto;
}
footer .footer_link ul li a::before{
 position: absolute;
 content: "▶";
 top: 0.8vw;
 left: 0;
 display: block;
 font-size: 3vw;
}
footer .footer_copyright {
 font-size: 2.93vw;
 text-align: center;
 padding: 8.66vw 0;
 background: #8DCBF9;
}
footer .footer_trademark {
 display: flex;
 justify-content: center;
 margin-top: 1.333vw;
}
footer .footer_trademark img{
 display: inline-block;
 margin-right: 0.667vw;
}
/*--PC--*/
@media (min-width: 751px) {
 footer .footer_link{
  padding: 45px 0 30px;
 }
 footer .footer_link ul li:first-child{
  margin-right: 30px;
 }
 footer .footer_link ul li a{
  font-size: 30px;
  padding: 0 30px;
  background-size: 21px auto;
 }
 footer .footer_link ul li a:hover{
  text-decoration: underline;
 }
 footer .footer_link ul li a::before{
  top: 2px;
  font-size: 25px;
 }
 footer .footer_copyright {
  font-size: 22px;
  padding: 63px 0;
 }
 footer .footer_trademark {
  margin-top: 10px;
 }
 footer .footer_trademark img{
  margin-right: 5px;
 }
}


/*202411追加分*/
.kanken-lp__qa {
    background-color: #fffcdb;
}
.kanken-lp__qa h2 {
    text-align: center;
    font-family: var(--font-sans);
}
.kanken-lp__qa img {
    margin: auto;
}

.kanken-lp__qa .inner {
    padding: 0 6% 12vw;
}

.kanken-lp__qa p {
    font-size: 4vw;
    font-weight: 700;
    line-height: 1.8;
    padding-left: 1em;
    text-indent: -1em;
    font-feature-settings: "palt" 1;
}

.kanken-lp__qa .q_text {
    color: #f18d00;
}

.kanken-lp__qa .a_text {
    margin-bottom: 5vw;
}

.kanken-lp__qa .a_text:last-of-type {
    margin-bottom: 0;
}

.kanken-lp__step {
  padding-bottom: 6vw;
  text-align: center;
  background-color: #fff;
}
.kanken-lp__step h2 {
    font-family: var(--font-sans);
}
.kanken-lp__step h2 img {
    margin: auto;
}
.kanken-lp__step .inner {
    width: 92%;
    margin: 0 auto;
    padding: 0 0 6vw;
}

.kanken-lp__step .inner h3.marker {
    margin: 0 auto;
    color: #e5432d;
    text-align: center;
    font-weight: 900;
    font-size: 5.5vw;
    margin-bottom: 2.5vw;
    font-family: var(--font-sans);
}

.kanken-lp__step .inner h3.marker span {
    background: -webkit-linear-gradient(transparent 70%, #ffef80 30%);
    background: -o-linear-gradient(transparent 70%, #ffef80 30%);
    background: linear-gradient(transparent 70%, #ffef80 30%);
}

.kanken-lp__step .inner p.lead {
    text-align: center;
    font-weight: 900;
    font-size: 4.5vw;
    line-height: 1.6;
    margin-bottom: 4vw;
}

.kanken-lp__step .inner p.text {
    color: #575757;
    font-weight: 700;
    font-size: 3vw;
    font-feature-settings: "palt" 1;
}

.kanken-lp__step .inner p.text.center {
    text-align: center;
}

.step_item {
    position: relative;
}
.step_item span {
    position: absolute;
    top: 3vw;
    left: 3vw;
    color: #fff;
    background-color: #ff7300;
    border-radius: 10px;
    border: 2px solid #fff;
    padding: .5vw 3vw .4vw;
    font-size: 3vw;
    font-weight: 700;
}
.step_item + .step_item span {
    top: 7.3vw;
} 
.step_item span b {
    font-size: 4vw;
    font-weight: 700;
    margin-left: .2vw;
}
.step_item div {
    text-align: center;
}
.step_item div h3 {
    font-size: 7vw;
    font-weight: 900;
    margin-bottom: 4vw;
    font-family: var(--font-sans);
}
.step_item div p {
    font-weight: 700;
    line-height: 1.6;
    font-feature-settings: "palt" 1;
}
.step_item div p.text_middle {
    font-size: 3.5vw;
}
.step_item div p.text_small {
    font-size: 3vw;
    margin-top: 2vw;
}

#sec1 {
    margin: 5vw 0 0;
    padding: 12vw 0 12vw;
    background-color: #fff7c0;
    clip-path: polygon(0 86%, 0 0, 100% 0, 100% 86%, 50% 100%);
}

#sec2 {
    margin-top: -3.8vw;
    padding: 15vw 0 10vw;
    background-color: #ffef80;
    clip-path: polygon(0 0, 50% 15%, 100% 0, 100% 86%, 50% 100%, 0 86%);
}

#sec3 {
    margin-top: -3.8vw;
    padding: 15vw 0 10vw;
    background-color: #ffe641;
    clip-path: polygon(0 0, 50% 11%, 100% 0, 100% 88%, 50% 100%, 0 88%);
}

#sec4 {
    margin-top: -3.8vw;
    padding: 15vw 0 10vw;
    background-color: #ffdd00;
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% 16%);
}

.kanken-lp__philosophy {
    position: relative;
}
.kanken-lp__philosophy img {
    width: 100%;
}
.kanken-lp__philosophy:before, .kanken-lp__philosophy:after {
    position: absolute;
    right: 0;
    left: 0;
    display: block;
    height: 6vw;
    background: no-repeat url(../images/kanken-lp_common_philosophy_border.png) center center/100% 100%;
    content: ""
}
.kanken-lp__philosophy:before {
    top: -3.5vw;
    z-index: 3;
}
.kanken-lp__philosophy:after {
    bottom: -3vw;
}
.kanken-lp__philosophy h2 {
    position: relative;
}
.kanken-lp__philosophy h2 .title {
    position: absolute;
    top: 14vw;
    left: 8vw;
    font-size: 5.5vw;
    font-weight: 900;
    line-height: 1.6;
    font-family: var(--font-sans);
}
.kanken-lp__philosophy h2 .title .small {
    font-size: 4vw;
    line-height: 1.6;
}
.kanken-lp__philosophy h2 .title .underline {
    background: linear-gradient(transparent 70%, #fff67f 30%);
}

.kanken-lp__philosophy h2 .sub {
    position: absolute;
    top: 7vw;
    right: 8vw;
    width: 52vw;
}

@media (min-width: 751px) {    
    .kanken-lp__qa .inner {
        padding: 0 6% 6rem;
    }
    
    .kanken-lp__qa p {
        font-size: 2.7rem;
        font-weight: 700;
        line-height: 1.8;
        padding-left: 1em;
        text-indent: -1em;
        font-feature-settings: "palt" 1;
    }
    
    .kanken-lp__qa .a_text {
        margin-bottom: 4rem;
    }
    
    .kanken-lp__step {
      padding-bottom: 6rem;
    }
    .kanken-lp__step .inner {
        padding: 0 0 3rem;
    }
    
    .kanken-lp__step .inner h3.marker {
        font-size: 2.8rem;
        margin-bottom: 1rem;
    }
        
    .kanken-lp__step .inner p.lead {
        font-size: 2.3rem;
        margin-bottom: 2rem;
    }
    
    .kanken-lp__step .inner p.text {
        font-size: 2.14rem;
    }
    
    .step_item span {
        top: 1.2rem;
        left: 1.2rem;
        border-radius: 10px;
        border: 2px solid #fff;
        padding: 0.4rem 1.8rem 0.5rem;
        font-size: 2rem;
    }
    .step_item + .step_item span {
        top: 4rem;
    } 
    .step_item span b {
        font-size: 2.6rem;
        font-weight: 700;
        margin-left: 0.5rem;
    }
    .step_item div h3 {
        font-size: 3.2rem;
        margin-bottom: 3rem;
    }
    .step_item div p.text_middle {
        font-size: 2.2rem;
    }
    .step_item div p.text_small {
        font-size: 1.6rem;
        margin-top: 1.8rem;
    }
    
    #sec1 {
        margin: 3rem 0 0;
        padding: 5rem 0 4rem;
    }
    
    #sec2 {
        margin-top: -3.8rem;
        padding: 8rem 0 6rem;
    }
    
    #sec3 {
        margin-top: -3.4rem;
        padding: 8rem 0 4rem;
    }
    
    #sec4 {
        margin-top: -3.6rem;
        padding: 8rem 0 4rem;
    }
    
    .kanken-lp__philosophy:before, .kanken-lp__philosophy:after {
        height: 4rem;
    }
    .kanken-lp__philosophy:before {
        top: -2rem;
        z-index: 3;
    }
    .kanken-lp__philosophy:after {
        bottom: -2rem
    }
    .kanken-lp__philosophy h2 .title {
        top: 10.6rem;
        left: 4.5rem;
        font-size: 4.25rem;
    }
    .kanken-lp__philosophy h2 .title .small {
        font-size: 3.2rem;
    }    
    .kanken-lp__philosophy h2 .sub {
        top: 7.6rem;
        left: 30rem;
        width: auto;
        right: inherit;
    }
}