@charset "utf-8";
/* CSS Document */

/* reset.css */
caption,td,th{text-align:left}dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,table,th,tr,ul{margin:0;padding:0;font-size:100%}blockquote,dd,div,dl,dt,h1,h2,h3,h4,h5,h6,li,ol,p,pre,span,td,th,ul{margin:0;padding:0}code,kbd,pre,samp,tt{font-family:monospace;line-height:100%}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ol,ul{list-style-type:none}q:after,q:before{content:''}button,fieldset,form,input,label,legend,select,textarea{margin:0;padding:0;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;vertical-align:baseline}table{border-collapse:collapse;border-spacing:0;font-size:100%}td,th{vertical-align:top}input[type=submit]::-moz-focus-inner{border:0}

/*-----------------------------
共通スタイル
-----------------------------*/
:root{
    --base-color: #000;
    --base-font: "Noto Sans JP", sans-serif;
    --mincho: "Zen Old Mincho", serif;
    --gothic:"M PLUS 1p", sans-serif;
    --orange:#f48039;
    --blue:#0159bb;
    --red:#950c50;
}

html {
    scroll-behavior: smooth;
}

body {
    /*color: var(--base-color);
    font-family: var(--base-font);*/
    font-style: normal;
}

a{
    transition: 0.3s;
}

a:hover,a:focus{
    opacity: 0.7;
    transition: 0.3s;
}

a[href^="tel:"] {
    pointer-events: none;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.wrapper img{
  /*width: 100%;*/
  height: auto;
  vertical-align: bottom;
}

.inbl,.br{
    display: inline-block;
}

.block{
    display: block;
}

.sp-none{
    display: none;
}




@media screen and (max-width: 767px){
    a[href^="tel:"] {
        pointer-events:all;
    }

    .pc-none{
        display: none;
    }

    .sp-none{
        display: block;
    }
}


  /*** 共通 ***/
.wrapper{
  color: #000;
  font-family: var(--base-font);
  line-height: 1.5;
  overflow-x: hidden;
  position: relative;
}
/*.wrapper p{
	color: #2e2e2e;
	margin-bottom: 0;
	line-height: 1.5;
}*/

.wrapper *{
    box-sizing: border-box;
}

.inner{
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.wrapper section{
  padding: 120px 0;
}
.wrapper section.lp_office{
  padding: 50px 0;
}
.wrapper h2{
  font-size: 38px;
  margin-bottom: 50px;
  text-align: center;
  line-height: 1.5;
  font-weight: 600;
  padding-top: 65px;
  position: relative;
  letter-spacing: 0.02em;
}
.wrapper h2::before{
    content: attr(data-text);
    font-size: 38px;
    color: #d6d6d6;
    letter-spacing: 0.04em;
    position: absolute;
    top:0;
    left: 50%;
    transform: translateX(-50%);
}
.wrapper h2 .txt-blue{
  font-weight: 700;
}
.wrapper h2.h2-line{
    padding-bottom: 30px;
    margin-bottom: 30px;
    text-align: left;
}
.wrapper h2.h2-line::after{
    content: "";
    background: url("../images/h2-line.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 296px;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}
.wrapper h2.h2-line::before{
    left: 0;
    transform: translateX(0);
}

.wrapper h3,.wrapper h4{
  font-weight: 500;
}
.wrapper h3{
	font-weight: 600;
}
.wrapper h3 .txt-red,
p.section-omakase-infobox-title .txt-red{
	font-weight: 700;
}
.txt-orange{color: var(--orange);}
.txt-blue{color: var(--blue);}
.txt-red{color: var(--red);}

.txt-box{
  font-weight: 500;
  text-align: justify;
}
.txt-box p{
	font-size: 18px;
    line-height: 2.5;
}
.txt-box p + p{
  margin-top: 1.5em;
}
.txt-box.txt-center{
    text-align: center;
}

.lp_office {
  margin-top: 0 !important;
}
.lp_office > div {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 0;
  width: 90%;
}


@media screen and (max-width: 1280px){
  .wrapper section{
    padding: 100px 0;
  }
  .wrapper h2{
    font-size: 34px;
    padding-top: 60px;
    margin-bottom: 40px;
  }
    .wrapper h2::before{
        font-size: 34px;
    }
    .wrapper h2.h2-line{
    padding-bottom: 25px;
    margin-bottom: 25px;
    }

}
@media screen and (max-width: 767px){
  .wrapper section{
    padding: 80px 0;
  }
  .wrapper section.lp_office{
    padding: 40px 0;
  }
  .txt-box p{
    font-size: 16px;
  }
  .wrapper h2{
    font-size: 5.5vw;
    padding-top: 9vw;
    margin-bottom: 30px;
  }
    .wrapper h2::before{
        font-size: 5.5vw;
    }
    .wrapper h2.h2-line{
    padding-bottom: 20px;
    margin-bottom: 20px;
    }

}
@media screen and (max-width: 499px){
	.txt-box{
	text-align: left;
	}
  .wrapper section{
    padding: 60px 0;
  }
  .wrapper section.lp_office{
    padding: 30px 0;
  }
  .wrapper h2{
    font-size: 6.5vw;
    padding-top: 10vw;
    margin-bottom: 30px;
  }
    .wrapper h2::before{
        font-size: 6.5vw;
    }

}


/* MV */
.mv,.webp .mv{
    width: 100%;
    height: 700px;
    background: url("../images/mv-dec-left.png"),url("../images/mv-dec-right.png"),url("../images/mv-bg.jpg");
    background-size: auto,auto,cover;
    background-position: center left,center right,center;
    background-repeat: no-repeat;
    position: relative;
    padding-top: 30px;
}
.webp .mv{
    background: url("../images/mv-dec-left.png.webp"),url("../images/mv-dec-right.png.webp"),url("../images/mv-bg.jpg.webp");
    background-size: auto,auto,cover;
    background-position: center left,center right,center;
    background-repeat: no-repeat;
}
.mv-menu{
    max-width: 1880px;
    width: 95%;
    position: absolute;
    top:25px;
    left: 50%;
    transform: translateX(-50%);
}
.mv-menu-flex{
    display: flex;
    justify-content: space-between;
}
.mv-menu-logo{
    font-size: 38px;
    font-family: var(--mincho);
    color: #000;
    position: relative;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-top: -5px;
}
.mv-menu-logo::before,.webp .mv-menu-logo::before{
    content: "";
    background: url("../images/alg-icon.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 31px;
    height: 38px;
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: 2px;
}
.webp .mv-menu-logo::before{
    background: url("../images/alg-icon.png.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.mv-menu-tel{
    font-size: 26px;
    color: #48519d;
    font-family: var(--gothic);
    font-weight: 800;
    display: inline-block;
    line-height: 1;
    position: relative;
}
.mv-menu-tel::before{
    content: "";
    background: url("../images/menu-tel.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 16px;
    height: 21px;
    display: inline-block;
    margin-right: 8px;
    position: relative;
    top:1px;
}
.mv-menu-note{
    font-size: 12px;
    color: #48519d;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-top: -4px;
}
.mv-img,.webp .mv-img{
    background: url("../images/mv-img.png");
    background-position: right bottom -80px;
    background-repeat: no-repeat;
    background-size: 560px auto;
    max-width: 1640px;
    width: 98%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    image-rendering: -webkit-optimize-contrast; /* Chrome, Safari向け */
    image-rendering: crisp-edges;               /* Firefox, Edge向け */
    image-rendering: pixelated;                 /* ドット絵や小さい画像を拡大する時に有効 */
}
.webp .mv-img{
    background: url("../images/mv-img.png.webp");
    background-position: right bottom -80px;
    background-repeat: no-repeat;
    background-size: 560px auto;
}
.mv-inner{
    max-width: 1000px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    max-height: 520px;
}
.mv h1{
    position: unset;
    font-size: 56px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.06em;
}
.mv h1 .txt-orange{
    font-weight: 700;
}
p.mv-info{
    font-size: 20px;
    margin-top: 15px;
    font-weight: 600;
}
ul.mv-info{
    display: flex;
    margin-top: 35px;
    gap: 20px;
}
ul.mv-info li{
    width: 160px;
    height: 160px;
    background: linear-gradient(180deg, rgba(102, 112, 229, 1) 0%, rgba(71, 80, 154, 1) 100%);
    border-radius: 50%;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
    padding: 7px;
}
ul.mv-info li .box{
    background: url("../images/mv-info-bg.png");
    background-position: center;
    background-repeat: no-repeat;
    width: 146px;
    height: 146px;
    display: flex;
    align-items: center;
    justify-content: center;
}
ul.mv-info li .box .txt{
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
}
ul.mv-info li .box .txt .txt-big{
    font-size: 30px;
    color: #fff47c;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.06em;
}
@media screen and (max-width: 1639px){
    .mv-inner{
        margin-right: 340px;
        padding-left: 2%;
    }
}
@media screen and (max-width: 1359px){
    .mv-img {
        background: url(../images/mv-img.png);
        background-position: right bottom -42%;
        background-repeat: no-repeat;
        background-size: 38%;
    }
    .webp .mv-img{
        background: url(../images/mv-img.png.webp);
        background-position: right bottom -42%;
        background-repeat: no-repeat;
        background-size: 38%;
    }
}
@media screen and (max-width: 1280px){
    .mv,.webp .mv{
        height: 55vw;
    }
    .mv h1{
        font-size: 4.2vw;
    }
    p.mv-info{
        font-size: 1.5vw;
        margin-top: 1.5vw;
    }
    ul.mv-info{
        margin-top: 3vw;
        gap: 1.5vw;
    }
    ul.mv-info li{
        width: 12vw;
        height: 12vw;
        padding: 0.5vw;
    }
    ul.mv-info li .box{
        background: url("../images/mv-info-bg.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        width: 11vw;
        height: 11vw;
    }
    ul.mv-info li .box .txt{
        font-size: 1.5vw;
    }
    ul.mv-info li .box .txt .txt-big{
        font-size: 2.2vw;
    }
    .mv-inner {
        max-height: 40vw;
    }

    .mv-menu{
        top:2vw;
    }
    .mv-menu-logo{
        font-size: 3vw;
        margin-top: -0.5vw;
    }
    .mv-menu-logo::before,.webp .mv-menu-logo::before{
        width: 2.48vw;
        height: 3.04vw;
        margin-right: 0.5vw;
        top: 0.1vw;
    }
    .mv-menu-tel{
        font-size: 22px;
    }
    .mv-menu-tel::before{
        background: url("../images/menu-tel.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 13px;
        height: 17px;
        margin-right: 6px;
    }
    .mv-menu-note{
        font-size: 10px;
    }
}
@media screen and (max-width: 1099px){
    .mv-inner {
        margin-right: 300px;
    }
}
@media screen and (max-width: 1023px){
    .mv h1{
        font-size: 4.2vw;
        text-align: left;
        color: #000;
        padding: 0;
        letter-spacing: 0.02em;
    }
}
@media screen and (max-width: 899px){
    .mv-inner {
        margin-right: auto;
    }
}
@media screen and (max-width: 767px){
    .mv,.webp .mv{
        height: 140vw;
        background: url("../images/mv-bg-sp.jpg");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        padding-top: 16vw;
    }
    .webp .mv{
        background: url("../images/mv-bg-sp.jpg.webp");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .mv-img,.webp .mv-img{
        background: none;
        width: 94%;
        height: 100%;
        display: flex;
        align-items: flex-start;
    }
    .mv-inner{
        padding-left: 0;
        max-height: 100%;
    }
    .mv h1{
        text-align: center;
        font-size: 6vw;
        font-weight: 700;
        line-height: 1.5;
        letter-spacing: 0.06em;
    }
    .mv h1 .txt-orange{
        font-size: 7.2vw;
        font-weight: 900;
    }
    p.mv-info {
        font-size: 3.2vw;
        margin-top: 4vw;
        line-height: 1.4;
        text-align: center;
    }
    ul.mv-info {
        margin-top: 4vw;
        gap: 4vw;
        justify-content: center;
    }
    ul.mv-info li {
        width: 24vw;
        height: 24vw;
        padding: 1vw;
    }
    ul.mv-info li .box {
        background: url(../images/mv-info-bg.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        width: 22vw;
        height: 22vw;
    }
    ul.mv-info li .box .txt {
        font-size: 3vw;
    }
    ul.mv-info li .box .txt .txt-big {
        font-size: 4.2vw;
        line-height: 1.2;
    }

    .mv-menu {
        top: 3vw;
        width: 92%;
    }
    .mv-menu-logo {
        font-size: 5vw;
        margin-top: -0.5vw;
    }
    .mv-menu-logo::before, .webp .mv-menu-logo::before{
        width: 4.6vw;
        height: 5.5vw;
        margin-right: 0.3vw;
        top: 0.3vw;
    }
    .mv-menu-tel{
        font-size: 4.8vw;
    }
    .mv-menu-tel::before{
        background: url("../images/menu-tel.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 3vw;
        height: 3.8vw;
        margin-right: 1vw;
    }
    .mv-menu-note{
        font-size: 2.1vw;
    }
}
@media screen and (max-width: 499px){

}

/* CV */
.cv{
    background: linear-gradient(to right, rgb(1, 89, 187) 0%, rgb(33, 65, 126) 100%);
    padding: 50px 0;
}
.cv.page-end{
    padding-bottom: 85px;
}
.cv-inner{
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
}
.cv-title{
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    width: 100%;       /* 横幅100% */
    gap: 1rem;         /* テキストと線の間隔（好みで調整） */
    color: #fff;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 30px;
}
.cv-title::before,
.cv-title::after{
  content: "";
  flex: 1;           /* 残り幅を埋める */
  height: 1px;       /* 線の太さ */
  background: #fff;  /* 線の色 */
}
.cvbox{
    background-color: #fff;
    border-radius: 100px;
    padding: 20px 0;
}
.cvbox-flex{
    max-width: 790px;
    width: 94%;
    margin: 0 auto;
    display: flex;
}
.cvbox-flex-tel{
    max-width: 540px;
    width: 68%;
    border-right: 1px solid #0159bb;
    padding-top: 5px;
}
.cvbox-flex-btn{
    max-width: 250px;
    width: 32%;
    padding: 10px 0;
}
.cvbox-flex-tel .tel{
    font-family: var(--gothic);
    font-size: 58px;
    font-weight: 800;
    letter-spacing: 0.03em;
    position: relative;
    color: #000;
    line-height: 1;
    display: inline-block;
    white-space: nowrap;
}
.cvbox-flex-tel .tel::before{
    content: "";
    background: url("../images/cv-tel.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 0.7em;
    height: 0.7em;
    display: inline-block;
}
.cvbox-flex-list{
    display: flex;
    gap: 10px;
    margin-left: 2.4em;
}
.cvbox-flex-list li{
    max-width: 220px;
    width: 45%;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    color: #0059bb;
    border: 1px solid #0059bb;
    letter-spacing: 0.06em;
}
.cvbox-flex-btn-list{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}
.cvbox-flex-btn-list a{
    max-width: 190px;
    width: 100%;
    height: 36px;
    border-radius: 10px;
    font-size: 18px;
    font-weight: 600;
    background-color: #f48039;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.cvbox-flex-btn-list a::before{
    content: "";
    background: url("../images/cv-mail-arw.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 8px;
    height: 12px;
    position: absolute;
    top:50%;
    right: 8px;
    transform: translateY(-50%);
}
.cvbox-flex-btn-list a.line-btn{
    background-color: #fff;
    color: #06c102;
    border: 1px solid #06c102;
}
.cvbox-flex-btn-list a.line-btn::before{
    background: url("../images/cv-line-arw.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.cv-title-end{
    font-size: 30px;
    text-align: center;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0;
    line-height: 1.8;
    margin-bottom: 50px;
}
.cv-title-end .dot{
    margin-right: -0.5em;
}
.cv-title-end .txt-big{
    font-size: 36px;
    color: #ebf87d;
}

@media screen and (max-width: 1280px){
    .cv{
        padding: 40px 0;
    }
    .cv.page-end{
        padding-bottom: 60px;
    }
    .cv-title-end{
        font-size: 26px;
        margin-bottom: 40px;
    }
    .cv-title-end .txt-big{
        font-size: 32px;
    }
}
@media screen and (max-width: 1023px){
    .cv-title{
        font-size: 28px;
        margin-bottom: 20px;
        max-width: 740px;
    }
    .cvbox-flex-tel .tel{
        font-size: 48px;
    }
    .cvbox-flex-list{
        margin-left: 3.4em;
    }
    .cvbox-flex-list li {
        max-width: 210px;
        width: 44%;
        height: 24px;
        font-size: 16px;
    }
    .cvbox-flex-btn-list a{
        max-width: 170px;
        height: 36px;
        font-size: 18px;
    }
    .cv-inner {
        max-width: 800px;
    }
    .cvbox-flex {
        max-width: 680px;
        width: 90%;
    }
}
@media screen and (max-width: 767px){
    .cv{
        padding: 30px 0;
    }
    .cv.page-end{
        padding-bottom: 50px;
    }
    .cv-title {
        font-size: 4vw;
    }
    .cvbox{
        border-radius: 30px;
    }
    .cvbox-flex {
        max-width: none;
        width: 90%;
        flex-direction: column;
    }
    .cvbox-flex-tel {
        max-width: none;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #0159bb;
        padding-top: 0;
        padding-bottom: 10px;
    }
    .cvbox-flex-tel .tel {
        font-size: 9vw;
        text-align: center;
    }
    .cvbox-flex-list {
        margin-left: 0;
        justify-content: center;
        gap: 2vw;
    }
    .cvbox-flex-list li {
        max-width: none;
        width: 40%;
        height: 5vw;
        font-size: 3vw;
    }
    .cvbox-flex-btn {
        max-width: none;
        width: 100%;
        padding: 10px 0 0;
    }
    .cvbox-flex-btn-list {
        flex-direction: row;
        align-items: flex-end;
        justify-content: center;
        gap: 2vw;
    }
    .cvbox-flex-btn-list a {
        max-width: none;
        width: 45%;
        height: 8vw;
        font-size: 4vw;
    }
    .cvbox-flex-btn-list a::before{
        width: 1.6vw;
        height: 2.4vw;
        right: 1vw;
    }
    .cv-title-end {
        font-size: 3vw;
        margin-bottom: 30px;
    }
    .cv-title-end .txt-big{
        font-size: 4vw;
    }
}
@media screen and (max-width: 499px){
    .cv{
        padding: 20px 0;
    }
    .cv.page-end{
        padding-bottom: 30px;
    }
    .cv-title {
        font-size: 5vw;
        margin-bottom: 10px;
    }
    .cvbox{
        padding: 15px 0;
        border-radius: 20px;
    }
    .cvbox-flex-tel .tel {
            font-size: 9.5vw;
    }
    .cvbox-flex-list li {
        width: 44%;
        height: 5.5vw;
        font-size: 3.5vw;
    }
    .cvbox-flex-btn-list a {
        width: 47%;
        height: 9vw;
        font-size: 4.5vw;
        border-radius: 6px;
    }
    .cv-title-end {
        font-size: 4.5vw;
        line-height: 1.6;
        margin-bottom: 20px;
    }
    .cv-title-end .txt-big{
        font-size: 5.5vw;
    }
}

/* fotter */
.fotter{
    background-color: #fff;
    padding: 90px 0 30px;
    font-family: var(--base-font);
}
.fotter-flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.fotter-logo{
    font-size: 38px;
    font-family: var(--mincho);
    color: #000;
    position: relative;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-top: -5px;
}
.fotter-logo::before {
    content: "";
    background: url(../images/alg-icon.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 31px;
    height: 38px;
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: 2px;
}
.fotter-list{
    display: flex;
    gap: 40px;
}
.fotter-list li a{
    font-size: 18px;
    color: #000;
    position: relative;
    font-weight: 500;
}
.fotter-list li a::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    bottom: 0;
    left: 0;
}
.copyright{
    margin-top: 80px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
}

@media screen and (max-width: 1280px){
    .fotter{
        padding: 70px 0 25px;
    }
    .fotter-logo{
        font-size: 34px;
        margin-top: -5px;
    }
    .fotter-logo::before {
        width: 28px;
        height: 34px;
        margin-right: 4px;
        top: 2px;
    }
    .fotter-list{
        gap: 30px;
    }
    .copyright{
        margin-top: 60px;
    }
}
@media screen and (max-width: 767px){
    .fotter{
        /*padding: 60px 0 20px;*/
        padding: 60px 0 80px;
    }
    .fotter-flex{
        flex-wrap: wrap;
        gap: 20px;
    }
    .fotter-logo{
        font-size: 28px;
        margin-top: -5px;
    }
    .fotter-logo::before {
        width: 25px;
        height: 30px;
        margin-right: 4px;
        top: 2px;
    }
    .fotter-list{
        gap: 25px;
    }
    .fotter-list li a{
        font-size: 16px;
    }
    .copyright{
        margin-top: 40px;
    }

}
@media screen and (max-width: 499px){
    .fotter{
        /*padding: 40px 0 20px;*/
        padding: 40px 0 70px;
    }
    .fotter-flex{
        justify-content: center;
        gap: 20px;
    }
    .fotter-logo{
        font-size: 24px;
        margin-top: -5px;
    }
    .fotter-logo::before {
        width: 22px;
        height: 26px;
        margin-right: 4px;
        top: 2px;
    }
    .fotter-list{
        gap: 15px;
        flex-wrap: wrap;
    }
    .fotter-list li a{
        font-size: 14px;
    }
    .copyright{
        margin-top: 30px;
        font-size: 10px;
    }


}

/* 右メニュー */
.fixed-menu{
    position: fixed;
    top:50%;
    right: 0;
    transform: translateY(-50%);
}
.fixed-menu-flex{
    display: flex;
    gap: 15px;
    writing-mode:vertical-lr;
    text-orientation: upright;
}
.fixed-menu-flex a{
    width: 72px;
    border-radius: 10px 0 0 10px;
    background-color: #cfad5f;
    color: #fff;
    border: 4px solid #fff;
    font-size: 20px;
    font-weight: 600;
    padding: 20px 0;
    display: flex;
    align-items: center;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    position: relative;
}
.fixed-menu-flex a::before{
    content: "";
    background: url("../images/menu-mail.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 20px;
    height: 16px;
    display: inline-block;
    margin-bottom: 5px;
}
.fixed-menu-flex a::after{
    content: "";
    background: url("../images/menu-arw.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 8px;
    height: 12px;
    display: inline-block;
    margin-top: 10px;
    margin-left: 0.1em;
}
.fixed-menu-flex a.fixed-menu-line{
    background-color: #00c300;
    padding-top: 10px;
}
.fixed-menu-flex a.fixed-menu-line::before{
    background: url("../images/menu-line.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 37px;
    height: 37px;
    margin-bottom: 0;
}

@media screen and (max-width: 1280px){


}
@media screen and (max-width: 767px){
    .fixed-menu{
        top:unset;
        bottom: 0;
        right: unset;
        left: 50%;
        transform: translateX(-50%) translateY(0);
    }
    .fixed-menu-flex{
        gap: 15px;
        writing-mode:unset;
        text-orientation:unset;
    }
    .fixed-menu-flex a{
        width: auto;
        height: 60px;
        white-space: nowrap;
        padding: 0 20px;
        border-radius: 10px 10px 0 0;
    }
    .fixed-menu-flex a::before{
        background: url("../images/menu-mail.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 20px;
        height: 16px;
        margin-bottom: 0;
        margin-right: 8px;
    }
    .fixed-menu-flex a::after{
        background: url("../images/menu-arw.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 8px;
        height: 12px;
        margin-top: 0;
        margin-left: 10px;
    }
    .fixed-menu-flex a.fixed-menu-line{
        padding-top: 0;
    }
}
@media screen and (max-width: 499px){
    .fixed-menu-flex{
        gap: 5px;
    }
    .fixed-menu-flex a{
        font-size: 16px;
        height: 50px;
        padding: 0 10px;
    }
    .fixed-menu-flex a::before{
        background: url("../images/menu-mail.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 18px;
        height: 14px;
        margin-right: 4px;
    }
    .fixed-menu-flex a.fixed-menu-line::before{
        background: url("../images/menu-line.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 32px;
        height: 32px;
        margin-right: 2px;
    }
    .fixed-menu-flex a::after{
        background: url("../images/menu-arw.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 6px;
        height: 10px;
        margin-left: 6px;
    }

}



/* ご法人様向け調査サービスのご案内 */
.wrapper section.section-information{
    padding: 0;
}
.section-information-topbox,.webp .section-information-topbox{
    background: url("../images/section-information-bg.jpg");
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    padding: 110px 0;
}
.webp .section-information-topbox{
    background: url("../images/section-information-bg.jpg.webp");
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
}
.section-information-bottombox{
    background-color: #f1f4fb;
    padding: 120px 0;
}
.section-information-topbox .txt-box p,.section-information-topbox h2{
    text-shadow: 0 0 3px #fff,0 0 4px #fff,0 0 5px #fff,0 0 6px #fff;
}
.section-information h3{
    text-align: center;
    font-size: 38px;
    margin-bottom: 40px;
}
.section-information-whbox{
    background-color: #fff;
    max-width: 900px;
    margin: 80px auto 120px;
    border-radius: 10px;
    position: relative;
    padding: 0 0 30px;
}
.section-information-whbox::before{
    content: "";
    background: url("../images/section-information-arw.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 57px;
    height: 40px;
    position: absolute;
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
}
.section-information-whbox-title{
    width: fit-content;
    height: 70px;
    border-radius: 100px;
    background-color: #495295;
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 15px 5px 30px;
    margin: 0 auto;
    position: relative;
    top:-35px;
}
.section-information-whbox-title .txt-big{
    font-size: 30px;
    margin-top: -3px;
    display: inline-block;
}
.section-information-whbox-list{
    max-width: 780px;
    width: 94%;
    margin: 0 auto;
    padding-top: 10px;
    display: flex;
    justify-content: space-between;
}
.section-information-whbox-list li{
    width: calc(100% / 4 - 30px);
    max-width: 150px;
}
.section-information-whbox-list li .img{
    background-color: #f1f4fb;
    border-radius: 8px;
    width: 100%;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.section-information-whbox-list li .txt{
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    display: block;
    margin-top: 10px;
}
.section-information-bottombox-info{
    text-align: center;
    font-size: 24px;
    font-weight: 500;
}
.section-information-bottombox-info .txt-orange{
    font-size: 30px;
    font-weight: 600;
}
.section-information-bottombox-info span.txt-height{
    display: block;
    height: 10px;
}
.section-information-bottombox-info span.txt-line{
    padding-bottom: 6px;
    background-image: linear-gradient(#bcd0ee);
    background-repeat: no-repeat;
    background-size: 100% 2px;   /* 横幅100%、高さ1px */
    background-position: 0 100%; /* 下端に配置 */
}

@media screen and (max-width: 1280px){
    .section-information-topbox,.webp .section-information-topbox{
        background: url("../images/section-information-bg.jpg");
        background-size: cover;
        background-position: center right -80px;
        background-repeat: no-repeat;
        padding: 90px 0;
    }
    .webp .section-information-topbox{
        background: url("../images/section-information-bg.jpg.webp");
        background-size: cover;
        background-position: center right -80px;
        background-repeat: no-repeat;
    }
    .section-information-bottombox{
        padding: 100px 0;
    }
    .section-information h3{
        font-size: 34px;
        margin-bottom: 35px;
    }
    .section-information-whbox-title{
        font-size: 22px;
        padding: 5px 10px 5px 25px;
    }
    .section-information-whbox-title .txt-big{
        font-size: 26px;
        margin-top: -3px;
    }
    .section-information-whbox-list{
        padding-top: 0;
    }
    .section-information-whbox-list li{
        width: calc(100% / 4 - 10px);
        max-width: 150px;
    }
    .section-information-bottombox-info{
        font-size: 22px;
    }
    .section-information-bottombox-info .txt-orange{
        font-size: 26px;
    }
}
@media screen and (max-width: 767px){
    .section-information-topbox,.webp .section-information-topbox{
        padding: 0;
    }
    .section-information-topbox .inner{
        padding: 70px 5%;
        width: 100%;
        background: rgba(255, 255, 255, 0.7);
    }
    .section-information-bottombox{
        padding: 80px 0;
    }
    .section-information h3{
        font-size: 5.5vw;
        margin-bottom: 30px;
    }
    .section-information-whbox-title {
        font-size: 4vw;
        text-align: center;
        padding: 1.5vw 2vw 1.8vw 2vw;
        line-height: 1.3;
        height: auto;
        top: -7vw;
    }
    .section-information-whbox-title .txt-big{
        font-size: 5vw;
        margin-top: 0;
    }
    .section-information-whbox-list{
        flex-wrap: wrap;
        gap: 20px 40px;
        width: 90%;
        max-width: 360px;
    }
    .section-information-whbox-list li{
        width: calc(100% / 2 - 20px);
        max-width: 150px;
    }
    .section-information-bottombox-info {
        font-size: 4vw;
    }
    .section-information-bottombox-info .txt-orange{
        font-size: 5vw;
    }
}
@media screen and (max-width: 499px){
    .section-information-topbox .inner{
        padding: 50px 5%;
    }
    .section-information-bottombox{
        padding: 60px 0;
    }
    .section-information h3{
        font-size: 6.5vw;
    }
    .section-information-whbox{
        margin: 60px auto 100px;
    }
    .section-information-whbox-title {
        font-size: 4.5vw;
        border-radius: 20px;
        padding: 2.5vw 2vw 2.8vw 2vw;
        top: -7vw;
    }
    .section-information-whbox-title .txt-big{
        font-size: 5.2vw;
    }
    .section-information-whbox::before{
        background: url("../images/section-information-arw.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 57px;
        height: 40px;
        bottom: -70px;
    }
    .section-information-whbox-list {
        gap: 20px 20px;
    }
    .section-information-whbox-list li {
        width: calc(100% / 2 - 10px);
        max-width: 150px;
    }
    .section-information-whbox-list li .txt {
        font-size: 16px;
    }
    .section-information-whbox-list li .img {
        height: 35vw;
    }
    .section-information-whbox-list li .img img {
        width: 60%;
    }
    .section-information-bottombox-info {
        font-size: 4.5vw;
    }
    .section-information-bottombox-info .txt-orange {
        font-size: 5.5vw;
    }
    .section-information-bottombox-info span.txt-line{
        padding-bottom: 3px;
    }
}

/* 調査の対象と事例 */
.section-target{
    background: url("../images/section-target-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-target{
    background: url("../images/section-target-bg.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-target-flex{
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
}
.section-target-flex-box{
    background-color: #fff;
    max-width: 480px;
    width: 49%;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
    padding-bottom: 40px;
}
.section-target-flex-box .box-title{
    background: linear-gradient(to right, rgb(30, 60, 114) 0%, rgb(42, 82, 152) 100%);
    width: 100%;
    height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 28px;
    font-weight: 600;
}
.section-target-flex-box .box-title .txt-big{
    font-size: 32px;
    color: #fff9bd;
    position: relative;
    top:-0.05em;
}
.section-target-flex-box .box-title .icon{
    margin-right: 0.3em;
}
.section-target-flex-box-list{
    max-width: 380px;
    width: 92%;
    margin: 30px auto 0;
}
.section-target-flex-box-list li + li{
    margin-top: 20px;
}
.section-target-flex-box-list li{
    padding-left: 30px;
    position: relative;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
}
.section-target-flex-box-list li::before{
    content: "";
    background: url("../images/section-target-check.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    position: absolute;
    top:2px;
    left: 0;
}
.section-target-etc{
    background-color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
    width: 100%;
    display: flex;
}
.section-target-etc .box-title{
    background: linear-gradient(to right, rgb(30, 60, 114) 0%, rgb(42, 82, 152) 100%);
    width: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 28px;
    font-weight: 600;
}
.section-target-etc .box-title .icon{
    position: relative;
    top:-0.2em;
    margin-right: 0.1em;
}
.section-target-etc-listbox{
    width: calc(100% - 400px);
    max-width: 500px;
    padding: 45px 0;
    margin: 0 auto;
}
.section-target-etc .section-target-flex-box-list{
    width: 100%;
    max-width: none;
    margin-top: 0;
}
@media screen and (max-width: 1280px){
    .section-target-flex-box .box-title{
        font-size: 24px;
        height: 82px;
    }
    .section-target-flex-box .box-title .txt-big {
        font-size: 28px;
    }
    .section-target-etc .box-title {
        width: 300px;
        font-size: 24px;
    }
    .section-target-etc-listbox{
        width: calc(100% - 300px);
        padding: 35px 0;
    }
}
@media screen and (max-width: 919px){
    .section-target-etc .section-target-flex-box-list{
        width: 92%;
    }
}
@media screen and (max-width: 767px){
    .section-target-flex{
        flex-direction: column;
        gap: 30px;
        margin-bottom: 30px;
    }
    .section-target-flex-box{
        max-width: none;
        width: 100%;
        padding-bottom: 30px;
    }
    .section-target-flex-box .box-title {
        font-size: 4.5vw;
        height: 14vw;
    }
    .section-target-flex-box .box-title .txt-big {
        font-size: 5.5vw;
    }
    .section-target-flex-box .box-title .icon img,.section-target-etc .box-title .icon img{
        width: 6vw;
    }
    .section-target-etc{
        flex-direction: column;
    }
    .section-target-etc .box-title{
        max-width: none;
        width: 100%;
        font-size: 4.5vw;
        height: 14vw;
    }
    .section-target-etc-listbox{
        width: 100%;
        max-width: none;
        padding: 30px 0;
    }
    .section-target-etc .section-target-flex-box-list{
        max-width: 380px;
    }

}
@media screen and (max-width: 499px){
    .section-target-flex-box .box-title,.section-target-etc .box-title{
        font-size: 5.5vw;
        height: 16vw;
    }
    .section-target-flex-box .box-title .txt-big {
        font-size: 6.5vw;
    }
    .section-target-flex-box .box-title .icon img,.section-target-etc .box-title .icon img{
        width: 7vw;
    }
    .section-target-flex-box-list li{
        font-size: 16px;
        padding-left: 25px;
    }
    .section-target-flex-box-list li::before{
        background: url("../images/section-target-check.png");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        width: 18px;
        height: 18px;
        top:2px;
    }

}

/* ALG探偵社が選ばれる理由 */
.section-bg{
    background: url("../images/section-bg.jpg");
    background-size: cover;
    background-position: center left;
    background-repeat: no-repeat;
}
.webp .section-bg{
    background: url("../images/section-bg.jpg.webp");
    background-size: cover;
    background-position: center left;
    background-repeat: no-repeat;
}
.section-reason-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px 0;
}
.section-reason-list li{
    max-width: 320px;
    width: 32.5%;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}
.section-reason-list li .img-box,.webp .section-reason-list li .img-box{
    background: url("../images/section-reason-img01.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 200px;
    position: relative;
    display: block;
    border-radius: 10px 10px 0 0;
}
.section-reason-list li.box02 .img-box{
    background: url("../images/section-reason-img02.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-reason-list li.box03 .img-box{
    background: url("../images/section-reason-img03.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-reason-list li.box04 .img-box{
    background: url("../images/section-reason-img04.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-reason-list li.box05 .img-box{
    background: url("../images/section-reason-img05.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-reason-list li.box06 .img-box{
    background: url("../images/section-reason-img06.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-reason-list li .img-box .count{
    background: url("../images/section-reason-count.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 96px;
    height: 96px;
    position: absolute;
    top:0;
    left: 0;
    border-radius: 10px 0 0 0;
    font-size: 22px;
    font-weight: 600;
    font-family: var(--gothic);
    color: #fff;
    letter-spacing: 0;
    padding-top: 13px;
    padding-left: 15px;
    line-height: 1;
}
.webp .section-reason-list li .img-box{
    background: url("../images/section-reason-img01.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-reason-list li.box02 .img-box{
    background: url("../images/section-reason-img02.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-reason-list li.box03 .img-box{
    background: url("../images/section-reason-img03.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-reason-list li.box04 .img-box{
    background: url("../images/section-reason-img04.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-reason-list li.box05 .img-box{
    background: url("../images/section-reason-img05.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-reason-list li.box06 .img-box{
    background: url("../images/section-reason-img06.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-reason-list li .txt{
    width: 100%;
    height: 154px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0;
}
.section-reason-list li .txt .txt-orange{
    font-weight: 800;
}
.section-reason-list li .txt .dot{
    margin-left: -0.2em;
    margin-right: -0.2em;
}
.section-reason-list li.box04 .txt{
    letter-spacing: -0.04em;
}
.section-reason-list li.box04 .txt .kakko-left{
    margin-left: -0.4em;
}
.section-reason-list li.box04 .txt .kakko-right{
    margin-right: -0.4em;
}
@media screen and (max-width: 1280px){
    .section-reason-list li .txt{
        font-size: 20px;
        height:140px;
    }
}
@media screen and (max-width: 1023px){
    .section-reason-list li .txt{
        font-size: 18px;
        height:130px;
    }
    .section-reason-list li .img-box,.webp .section-reason-list li .img-box{
        height: 180px;
    }
}
@media screen and (max-width: 767px){
    .section-reason-list{
        gap: 40px 0;
    }
    .section-reason-list li {
        max-width: 320px;
        width: 48%;
    }
}
@media screen and (max-width: 499px){
    .section-reason-list{
        gap: 30px 0;
    }
    .section-reason-list li {
        max-width: none;
        width: 100%;
    }
    .section-reason-list li .txt{
        font-size: 18px;
        height:110px;
    }
    .section-reason-list li .img-box,.webp .section-reason-list li .img-box{
        height: 160px;
    }
}

/* 調査事例 */
.wrapper section.section-case{
    padding-top: 0;
}
.section-case-box{
    background-color: #fff;
    max-width: 1630px;
    width: 97%;
    margin-right: auto;
    border-radius: 0 80px 80px 0;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    padding: 90px 0;
}
.section-case-inner{
    width: 100vw; /* ビューポート幅に広げる */
    /*position: relative;
    left: 50%;
    margin-left: -50vw;
    box-sizing: border-box;*/
}
.section-case-list{
    display: flex;
    justify-content: space-between;
}
.section-case-list li{
    max-width: 324px;
    width: calc(100% / 3 - 5px);
    border: 5px solid #bcd0ee;
    border-radius: 15px;
    position: relative;
    padding: 45px 0 30px;
}
.section-case-list-case{
    background-color: #f2813b;
    color: #fff;
    font-family: var(--gothic);
    border-radius: 100px;
    font-size: 16px;
    font-weight: 600;
    position: absolute;
    top:-22px;
    left: 50%;
    transform: translateX(-50%);
    padding: 1px 25px 2px;
}
.section-case-list-case .txt-big{
    font-size: 24px;
}
.section-case-list-title{
    display: block;
    text-align: center;
    padding: 0 5%;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 25px;
}
.section-case-list-title-icon{
    margin-right: 5px;
    position: relative;
    margin-left: -30px;
}
.section-case-list li:nth-child(2) .section-case-list-title-icon{
    top:-5px;
}
.section-case-list li:nth-child(3) .section-case-list-title-icon{
    top:-5px;
}
.section-case-list-txt{
    display: block;
    max-width: 270px;
    width: 95%;
    margin: 0 auto;
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
}
@media screen and (min-width: 2000px){
	.section-case-box{
    	max-width: 80vw;
	}
}
@media screen and (max-width: 1280px){
    .section-case-box{
        padding: 70px 0;
    }
    .section-case-list-title{
        font-size: 22px;
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 767px){
    .section-case-box{
        padding: 50px 0;
    }
    .section-case-list{
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px 20px;
        margin-top: 50px;
    }
    .section-case-list li{
        max-width: 324px;
        width: calc(100% / 2 - 10px);
    }
    .section-case-list-title {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .section-case-list-txt{
        font-size: 16px;
    }
}
@media screen and (max-width: 599px){
    .section-case-list li:last-child{
        max-width: 324px;
        width: 100%;
    }

}
@media screen and (max-width: 499px){
    .section-case-list{
        margin-top: 40px;
    }
    .section-case-box{
        padding: 40px 0;
        border-radius: 0 40px 40px 0;
    }
    .section-case-list li{
        width: 100%;
        padding: 35px 0 30px;
    }
    .section-case-list-case{
        font-size: 14px;
        top: -20px;
    }
    .section-case-list-case .txt-big {
        font-size: 20px;
    }
}

/* 調査の流れ */
.section-flow{
    background: url("../images/section-flow-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-flow{
    background: url("../images/section-flow-bg.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-flow-list{
    max-width: 650px;
    margin: 0 auto;
}
.section-flow-list li{
    background-color: #d8e1f1;
    border-radius: 100px;
    display: flex;
    align-items: center;
    margin-bottom: 55px;
    position: relative;
    height: 100px;
    padding: 0 5px 0 35px;
}
.section-flow-list li::before{
    content: "";
    background: url("../images/section-flow-arw.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 26px;
    height: 23px;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
}
.section-flow-list li.box06::before{
    display: none;
}
.section-flow-list li.box03{
    background-color: #cbd9f2;
}
.section-flow-list li.box04{
    background-color: #b0c9f4;
}
.section-flow-list li.box05{
    background-color: #9fbcf4;
}
.section-flow-list li.box06{
    background-color: #99b0f1;
    margin-bottom: 0;
}
.section-flow-list-step{
    font-family: var(--gothic);
    font-size: 16px;
    font-weight: 600;
    color: #0159bb;
}
.section-flow-list-step .txt-big{
    font-size: 30px;
    margin-right: 30px;
}
.section-flow-list-icon{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 20px;
}
.section-flow-list-txt{
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.04em;
    display: contents;
}
.section-flow-list li.box06 .section-flow-list-txt{
    letter-spacing: -0.08em;
}
.section-flow-list-txt .dot{
    margin-left: -0.2em;
    margin-right: -0.2em;
}
.section-flow-list-txt .kakko-left{
    margin-left: -0.5em;
}
.section-flow-list-txt .kakko-right{
    margin-right: -0.8em;
}
.section-flow-list-txt .br{
    display: contents;
}


@media screen and (max-width: 1280px){

}
@media screen and (max-width: 767px){
    .section-flow-list li{
        height: 84px;
        padding: 0 5px 0 25px;
    }
    .section-flow-list-step .txt-big {
        font-size: 26px;
        margin-right: 25px;
    }
    .section-flow-list-icon {
        width: 42px;
        height: 42px;
        margin-right: 15px;
    }
    .section-flow-list-icon img{
        width: 50%;
    }
    .section-flow-list-txt {
        font-size: 22px;
    }
}
@media screen and (max-width: 639px){
    .section-flow-list li{
        height: 14vw;
        padding: 0 0.5vw 0 4vw;
    }
    .section-flow-list-step {
        font-size: 2.5vw;
    }
    .section-flow-list-step .txt-big {
        font-size: 3.5vw;
        margin-right: 3vw;
    }
    .section-flow-list-icon {
        width: 8vw;
        height: 8vw;
        margin-right: 2vw;
    }

    .section-flow-list-txt {
        font-size: 3.5vw;
    }
}
@media screen and (max-width: 499px){
    .section-flow-list li{
        margin-bottom: 40px;
    }
    .section-flow-list li::before {
        width: 23px;
        height: 20px;
        bottom: -30px;
    }
    .section-flow-list-txt {
        font-size: 4.2vw;
        display: block;
        width: 65vw;
        line-height: 1.2;
    }
    .section-flow-list-txt .kakko-right{
        margin-right: 0;
    }
    .section-flow-list-txt .br{
        display: inline-block;
    }
}

/* よくある質問 */
.section-question{
    background: url("../images/section-question-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-question{
    background: url("../images/section-question-bg.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-question-list-box{
    background-color: #f1f4fb;
    padding: 40px 0;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    margin-bottom: 70px;
}
.section-question-list-box:last-of-type{
    margin-bottom: 0;
}
.section-question-list-box-inner{
    max-width: 900px;
    width: 92%;
    margin: 0 auto;
}
.section-question-list-box-title{
    padding-left: 50px;
    padding-bottom: 30px;
    margin-bottom: 30px;
    position: relative;
    border-bottom: 1px solid #8d8d8d;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0;
}
.section-question-list-box-title::before{
    content: "";
    background: url("../images/section-question-q.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 24px;
    height: 31px;
    position: absolute;
    top:4px;
    left: 0;
}
.section-question-list-box-txt{
    padding-left: 50px;
    position: relative;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.8;
}
.section-question-list-box-txt::before{
    content: "";
    background: url("../images/section-question-a.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 23px;
    height: 26px;
    position: absolute;
    top:2px;
    left: 0;
}
@media screen and (max-width: 1280px){

}
@media screen and (max-width: 767px){
    .section-question-list-box {
        padding: 30px 0;
        margin-bottom: 50px;
    }
    .section-question-list-box-title {
        padding-left: 40px;
        padding-bottom: 25px;
        margin-bottom: 25px;
        font-size: 20px;
    }
    .section-question-list-box-txt{
        padding-left: 40px;
        font-size: 16px;
    }

}
@media screen and (max-width: 499px){
    .section-question-list-box-title {
        font-size: 18px;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
}

/* 調査料金について */
.section-fee{
    background: url("../images/section-fee-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.webp .section-fee{
    background: url("../images/section-fee-bg.jpg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.section-fee h2::before{
    color: #fff;
}
.section-fee-box{
    background-color: #fff;
    padding-bottom: 40px;
    margin: 60px auto;
    border-radius: 10px;
}
.section-fee-box-title{
    background-color: #495295;
    color: #fff;
    width: 100%;
    height: 90px;
    border-radius: 10px 10px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    font-weight: 600;
}
.section-fee-box-info{
    font-size: 18px;
    padding: 0 5%;
    margin: 50px auto;
    text-align: center;
    font-weight: 500;
}
.section-fee-box-info .txt-orange{
    font-weight: 700;
}
.section-fee-box-list{
    display: flex;
    justify-content: space-between;
    max-width: 900px;
    width: 92%;
    margin: 0 auto;
}
.section-fee-box-list li{
    max-width: 280px;
    width: 32%;
    background-color: #fffde9;
    border-radius: 8px;
    padding: 10px 0 20px;
}
.section-fee-box-list li .img{
    width: 100%;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.section-fee-box-list li .txt{
    width: 100%;
    padding: 0 5%;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
}
.section-fee-box-note{
    text-align: center;
    font-size: 24px;
    font-weight: 500;
}
.section-fee-box-note .txt-orange{
    font-size: 30px;
    font-weight: 600;
}


@media screen and (max-width: 1280px){
    .section-fee-box {
        padding-bottom: 30px;
        margin: 50px auto;
    }
    .section-fee-box-title {
        height: 80px;
        font-size: 32px;
    }
    .section-fee-box-info {
        font-size: 18px;
        margin: 40px auto;
    }
    .section-fee-box-list li .txt {
        height: 60px;
        font-size: 20px;
    }
    .section-fee-box-note{
        font-size: 20px;
    }
    .section-fee-box-note .txt-orange{
        font-size: 26px;
    }
}
@media screen and (max-width: 767px){
    .section-fee-box-title {
        height: 14vw;
        font-size: 5vw;
    }
    .section-fee-box-info {
        font-size: 16px;
        margin: 30px auto;
    }
    .section-fee-box-list{
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px 4vw;
    }
    .section-fee-box-list li {
        max-width: 280px;
        width: 47%;
    }
    .section-fee-box-list li .txt {
        height: 10vw;
        font-size: 3.5vw;
    }
    .section-fee-box-list li .img{
        height: 28vw;
    }
    .section-fee-box-list li .img img{
        width: 20vw;
    }
    .section-fee-box-list li:last-of-type .img img{
        width: 26vw;
    }
    .section-fee-box-note{
        font-size: 18px;
    }
    .section-fee-box-note .txt-orange{
        font-size: 22px;
    }
}
@media screen and (max-width: 499px){
    .section-fee-box-title {
        height: 16vw;
        font-size: 6vw;
    }
    .section-fee-box-list{
        width: 90%;
    }
    .section-fee-box-list li {
        max-width: 280px;
        width: 100%;
    }
    .section-fee-box-list li .txt {
        height: 13vw;
        font-size: 5vw;
    }
    .section-fee-box-list li .img{
        height: 30vw;
    }
    .section-fee-box-list li .img img{
        width: 22vw;
    }
    .section-fee-box-list li:last-of-type .img img{
        width: 28vw;
    }
    .section-fee-box-note{
        font-size: 16px;
    }
    .section-fee-box-note .txt-orange{
        font-size: 18px;
    }

}

/* お客様の声 */
.section-review{
    background-color: #f9f9f9;
}
.section-review-flex{
    display: flex;
    justify-content: space-between;
}
.section-review-flex-box{
    max-width: 480px;
    width: 49%;
    background-color: #fff;
    padding: 50px 0;
}
.section-review-flex-box-inner{
    max-width: 400px;
    width: 92%;
    margin: 0 auto;
}
.section-review h3{
    display: flex;
    align-items: center;
    font-size: 22px;
    color: #f2813b;
    font-weight: 700;
    letter-spacing: 0;
    gap: 25px;
    margin-bottom: 30px;
}
.section-review h3 .icon{
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #f6f6f6;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.section-review .txt-box p{
    line-height: 1.8;
}




@media screen and (max-width: 1280px){

}
@media screen and (max-width: 767px){
    .section-review-flex{
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px;
    }
    .section-review-flex-box{
        width: 100%;
        padding: 30px 0;
    }
    .section-review h3{
        font-size: 20px;
        margin-bottom: 25px;
    }
    .section-review h3 .icon{
        width: 80px;
        height: 80px;
    }
    .section-review h3 .icon img{
        width: 80%;
    }

}
@media screen and (max-width: 499px){
    .section-review h3{
        font-size: 18px;
        margin-bottom: 20px;
        gap: 20px;
    }
    .section-review h3 .icon{
        width: 70px;
        height: 70px;
    }
    .section-review h3 .icon img{
        width: 70%;
    }
}






















