@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:wght@300;400;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap);

:root {
    --whitecolor: #ffffff;
    --blackcolor: #000000;
    --color1: #114882;
    --color2: #cba145;
    --color3: #dfb23f;
    --color4: #c68e13;
    --color5: #13224b;
    --color6: #0d0d0d;
    --color7: #404040;
    --color8: #a45905;
    --contents-width: 1280px;
}

body {
	width: 100%;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    color: black;
    background-color: var(--color12);
}
html{
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
@media screen and (max-width:1200px){
	html{
		font-size: 0.8vw;
	}
}
@media screen and (max-width:750px){
	html{
		font-size: 1.3333vw;
	}
}
@media screen and (max-width:480px){
	html{
		font-size: 1.3333vw;
	}
}
/*************
画像関連
*************/
picture{
    display: block;
}
img{
    max-width: 100%;
    height:auto;
    /*
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
    image-rendering: pixelated;
    */
}
.image img{
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*************
slick
*************/
.slick-prev, .slick-next{
    width: 5rem;
    height: 10rem;
    background-color: rgb(111 111 111 / 70%);
    font-family: inherit;
    font-size: 1.8rem;
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus{
    background-color: rgb(111 111 111 / 70%);
    opacity: 0.8;
}
.slick-prev{
    left: -4rem;
    z-index: 99;
}
.slick-next {
    right: -4rem;
    z-index: 99;
}
.slick-prev:before, .slick-next:before{
    /*
    font-size: 5rem;
    opacity: 1;
    color: #000000;
    */
    font-size: inherit;
    opacity: 1;
    color: #ffffff;
    font-family: inherit;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;

    content: '';
    display: block;
    background-image: url(../images/arrow1.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 1em;
    aspect-ratio: 1 / 2;
}
.slick-prev:before{
    transform: rotate(180deg);
}
.slick-next:before{

}
.slick-dots{
    bottom: -5rem;
}
.slick-dots li{
    width: 1.5rem;
    height: 1.5rem;
}
.slick-dots li button{
    width: 1.5rem;
    height: 1.5rem;
}
.slick-dots li button:before{
    font-size: 1.5rem;
    line-height: 1;
    width: 1em;
    height: 1em;
}
.slick-dots li.slick-active button:before{
    opacity: 1;
    color: var(--color1);
}
.slick-dots li button:before{
    opacity: 1;
    color: var(--whitecolor);
}

/*************

*************/
.full-none{
    display: none;
}
.xs-block{
    display: none;
}
.box-shadow{
    box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.16);
}
mark.yellow{
    background-color: #f8ebc9;
}
/*************
btn
*************/
.btn-wrap{
    margin-top: 5rem;
    margin-bottom: 0rem;
}
.btn-wrap .btn{
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: max-content;
    max-width: 38%;
}
/*
.btn-wrap .btn{
    display: block;
    background: linear-gradient(135deg, var(--color3) 0%, var(--color8) 100%);
    color: var(--whitecolor);
    font-family: "Zen Old Mincho", serif;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    padding: 1em 2.5em;
    line-height: 1;
    text-align: center;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    letter-spacing: 0.2em;
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.25);
    color: #fff;
    border: none;
    border-radius: 4px;
}
*/
.btn-wrap .btn:hover{
    opacity: 0.8;
}

/*************
header
*************/
header{

}
/*************
main
*************/
main{
    background-color: #dac28c;
}
/*************
section
*************/
section .contents{
    width: var(--contents-width);
    margin-left: auto;
    margin-right: auto;
    max-width: 90%;
}
section h2{
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    max-width: 95%;
    font-size: 4.8rem;
    font-family: "Zen Old Mincho", serif;
    margin-bottom: 5rem;
    font-weight: 600;
}
section h2 span{
    display: block;
    font-size: 2rem;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 0.1em;
    color: var(--color4);
    border-bottom: 2px solid var(--color4);
    margin-bottom: 1em;
    letter-spacing: 0.1em;
    font-weight: normal;
}
section p{
    font-size: 1.6rem;
    line-height: 1.45;
    margin-bottom: 1em;
}
section p:last-of-type{
    margin-bottom: 0;
}
/*************
kv
*************/
#kv{
    background-image: url(../images/kv_bg.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 3rem;
}
#kv h1{
    margin-bottom: 2rem;
    max-width: 25%;
}
#kv .kv_main{
    position: relative;
    width: 1209px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#kv .kv_main picture img{
    display: block;
    margin-left: auto;
    margin-right: auto;
}
#kv .kv_main .btn{
    position: absolute;
    bottom: 13%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: max-content;
    max-width: 38%;
}
#kv .kv_main .btn:hover{
    opacity: 0.8;
}
/*************
service
*************/
#service{
    padding-top: 8rem;
    padding-bottom: 8rem;
    background-image: url(../images/service_bg.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--whitecolor);
}
#service h2{
    color: var(--color6);
}
#service h2 span{
    margin-bottom: 0;
}
#service h2 b{
    font-size: 7rem;
    font-weight: inherit;
    font-style: italic;
    display: inline-block;
}
#service .item-wrap{
    counter-reset: mycounter;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: baseline;
    grid-gap: 2.5rem;
    gap: 2.5rem;
    box-sizing: border-box;
}
#service .item-wrap .item{

}
#service .item-wrap .item .top{

}
#service .item-wrap .item .bottom{
    padding: 1.5rem 0;
}
#service .item-wrap .item .bottom h3{
    font-family: "Zen Old Mincho", serif;
    font-size: 2.2rem;
    color: var(--color6);
    position: relative;
    margin-left: 4em;
    line-height: 1.6;
    font-weight: 900;
    margin-bottom: 0.5em;
}
#service .item-wrap .item .bottom h3:before{
    counter-increment: mycounter;
    content: counter(mycounter, decimal-leading-zero);
    font-size: 6rem;
    line-height: 1;
    position: absolute;
    left: -1.5em;
    top: 0;
    bottom: 0;
    font-style: italic;
    font-weight: normal;
    height: 1em;
    margin-top: auto;
    margin-bottom: auto;
}
#service .item-wrap .item .bottom p{
    font-size: 1.8rem;
    line-height: 1.7;
    color: var(--color7);
}

/*************
voice
*************/
#voice{
    padding-top: 8rem;
    padding-bottom: 8rem;
    background-image: url(../images/voice_bg.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}
#voice .item-wrap{
    
}

#voice .item-wrap .item{
    display: flex;
    flex-wrap: wrap;
    margin-top: 7.5rem;
    margin-bottom: 7.5rem;
    padding: 5.5rem 6.5rem;
    position: relative;
    max-width: 1160px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: var(--whitecolor);
    justify-content: space-between;
}
#voice .item-wrap .item::before{
    content: "";
    display: block;
    background-image: url(../images/voice_bg_img001.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 12%;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 1%;
    left: 1%;
}
#voice .item-wrap .item::after{
    content: "";
    display: block;
    background-image: url(../images/voice_bg_img002.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 12%;
    aspect-ratio: 1 / 1;
    position: absolute;
    bottom: 1%;
    right: 1%;
}
/*
#voice .item-wrap .item::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--whitecolor);
    transform: skewX(-9deg);
    z-index: 0;
}
*/
#voice .item-wrap .item:last-of-type{
    margin-bottom: 0;
}
#voice .item-wrap .item:nth-of-type(2n){
    flex-direction: row-reverse;
}
#voice .item-wrap .item .img-wrap{
    width: 20%;
    position: relative;
    z-index: 1;
}
#voice .item-wrap .item .img-wrap picture{
    width: 100%;
}
#voice .item-wrap .item .img-wrap p{
    margin-top: 1.5rem;
    font-size: 1.8rem;
    line-height: 1.8;
    color: var(--color5);
    text-align: center;
}
#voice .item-wrap .item .img-wrap p b{
    font-weight: inherit;
    background-color: var(--color5);
    color: var(--whitecolor);
    padding: 0.25em;
    line-height: 1;
    display: block;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#voice .item-wrap .item .text-wrap{
    width: 73%;
    position: relative;
    /*margin-left: 5%;*/
}
/*
#voice .item-wrap .item:nth-of-type(2n) .text-wrap{
    margin-left: auto;
    margin-right: 5%;
}
*/
#voice .item-wrap .item .text-wrap h3{
    font-size: 3.2rem;
    font-family: "Zen Old Mincho", serif;
    color: var(--color5);
    border-bottom: 2px solid;
    border-image: linear-gradient(to right, #c5a256, transparent) 1;
    padding-bottom: 0.5em;
    line-height: 1.45;
    margin-bottom: 0.5em;
    font-weight: 600;
}
#voice .item-wrap .item:nth-of-type(2n) .text-wrap .text{
    margin-right: 1rem;
}
#voice .item-wrap .item .text-wrap p{
    font-size: 1.8rem;
    line-height: 1.75;
}
/*************
consultant
*************/
#consultant{
    padding-top: 8rem;
    padding-bottom: 8rem;
    background-image: url(../images/consultant_bg.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}
#consultant h2{
    color: var(--color6);
}
#consultant .item-wrap{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: baseline;
    grid-gap: 2.5rem;
    gap: 2.5rem;
    box-sizing: border-box;
}
#consultant .item-wrap .item{

}
#consultant .item-wrap .item .top{

}
#consultant .item-wrap .item .bottom{
    padding: 1.5rem 0;
}
#consultant .item-wrap .item .bottom h3{
    font-family: "Zen Old Mincho", serif;
    font-size: 2.4rem;
    color: var(--color6);
    text-align: center;
    font-weight: 900;
}
#consultant .item-wrap .item .bottom h4{
    font-family: "Zen Old Mincho", serif;
    font-size: 1.5rem;
    color: var(--color2);
    text-align: center;
    margin-top: 1rem;
    font-weight: 900;
}
#consultant .item-wrap .item .bottom p{
    font-size: 1.6rem;
    margin-top: 1rem;
    line-height: 1.7;
    color: var(--color7);
}

/*************
entry
*************/
#entry{
    padding-top: 8rem;
    padding-bottom: 8rem;
    background-image: url(../images/entry_bg.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}
#entry .entry-wrap{
    position: relative;
    width: 710px;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    background-color: var(--whitecolor);
    border: 3px solid;
    border-image: linear-gradient(135deg, var(--color3) 0%, var(--color4) 100%);
    border-image-slice: 1;
}
#entry .step-form{
    position: relative;
    padding: 5rem;
}
#entry .step-form form{
    width: 440px;
    margin-left: auto;
    margin-right: auto;
    max-width: 90%;
}
#entry .step-form .step-title{
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 2rem;
}
#entry .step-form .step-title h3{
    font-family: "Zen Old Mincho", serif;
    color: var(--color2);
    font-size: 5rem;
    line-height: 1;
    background: linear-gradient(135deg, var(--color3) 0%, var(--color4) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#entry .step-form .step-title p{
    font-family: "Zen Old Mincho", serif;
    background: linear-gradient(135deg, var(--color3) 0%, var(--color4) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 2.4rem;
    line-height: 1;
}
#entry .step-form .step-bar{
    background-color: #d8d8d8;
    display: block;
    width: 100%;
    height: 2rem;
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 4rem;
}
#entry .step-form .step-bar .bar{
    display: block;
    height: 100%;
    background: linear-gradient(135deg, var(--color3) 0%, var(--color4) 100%);
    border-radius: inherit;
}
#entry .step-form #step1 .step-bar .bar{
    width: 12.5%;
}
#entry .step-form #step2 .step-bar .bar{
    width: 25%;
}
#entry .step-form #step3 .step-bar .bar{
    width: 37.5%;
}
#entry .step-form #step4 .step-bar .bar{
    width: 50%;
}
#entry .step-form #step5 .step-bar .bar{
    width: 62.5%;
}
#entry .step-form #step6 .step-bar .bar{
    width: 75%;
}
#entry .step-form #step7 .step-bar .bar{
    width: 87.5%;
}
#entry .step-form #step8 .step-bar .bar{
    width: 100%;
}
#entry .step-form .step{
    display: none;
    position: relative;
    min-height: 550px;
    height: max-content;
    padding-bottom: 8rem;
}
#entry .step-form .step h4{
    font-family: "Zen Old Mincho", serif;
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 3rem;
}
#entry .step-form .step h4 b{
    font-size: 2.4rem;
    color: var(--color2);
}
#entry .step-form .step.active{
    display: block;
}
#entry form input[type="text"]{
    border: 2px solid #b2b2b2;
    background-color: var(--whitecolor);
    border-radius: 5px;
    padding: 1.25rem 1rem;
    font-size: 1.6rem;
    width: 100%;
}
#entry form input[type="number"]{
    border: 2px solid #b2b2b2;
    background-color: var(--whitecolor);
    border-radius: 5px;
    padding: 1.25rem 1rem;
    font-size: 1.6rem;
    width: 100%;
}
#entry form input[type="email"]{
    border: 2px solid #b2b2b2;
    background-color: var(--whitecolor);
    border-radius: 5px;
    padding: 1.25rem 1rem;
    font-size: 1.6rem;
    width: 100%;
}
#entry form input[type="tel"]{
    border: 2px solid #b2b2b2;
    background-color: var(--whitecolor);
    border-radius: 5px;
    padding: 1.25rem 1rem;
    font-size: 1.6rem;
    width: 100%;
}
#entry form select{
    border: 2px solid #b2b2b2;
    background-color: var(--whitecolor);
    border-radius: 5px;
    padding: 1.25rem 1rem;
    font-size: 1.6rem;
    width: 100%;
}
#entry form .select-wrap{
    position: relative;
}
#entry form .select-wrap:after{
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    pointer-events: none;

}
#entry form input[type="radio"] {
    display: none;
}
#entry form input[type="radio"]:checked + label {
    background: linear-gradient(135deg, var(--color3) 0%, var(--color4) 100%);
    color: var(--whitecolor);
}
#entry form input[type="radio"] + label{
    display: block;
    border: 2px solid #b2b2b2;
    border-radius: 5px;
    padding: 1.25rem 1rem;
    text-align: center;
    background-color: var(--whitecolor);
    font-size: 1.8rem;
    color: #1a1a1a;
    margin-bottom: 2rem;
}
#entry form input[type="radio"] + label:hover {
    border: 2px solid var(--color4);
}
#entry form .bottom-wrap{
    position: absolute;
    top: auto;
    bottom: 0;
    width: 100%;
    height: fit-content;
}
#entry form .bottom-wrap p{
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
}
#entry form .bottom-wrap p a{
    color: var(--color4);
}
#entry form .btn-wrap{
    display: flex;
    justify-content: space-between;
    margin-top: auto;
    margin-bottom: auto;
}
#entry form .btn-wrap .btn{
    display: block;
    border-radius: 5px;
    padding: 1.25rem 1rem;
    text-align: center;
    font-size: 2.4rem;
    width: 7em;
    margin-left: auto;
    margin-right: auto;
    font-family: "Zen Old Mincho", serif;
}
#entry form .btn-wrap .btn-next{
    background: linear-gradient(135deg, var(--color3) 0%, var(--color4) 100%);
    color: var(--whitecolor);
}
#entry form .btn-wrap .btn-back{
    display: block;
    outline: 1px solid var(--color4);
}
#entry form .btn-wrap .btn-submit{
    background: linear-gradient(135deg, var(--color3) 0%, var(--color4) 100%);
    color: var(--whitecolor);
    width: max-content;
    max-width: 100%;
    padding: 1.25rem 3rem;
}

#entry form .birth{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    grid-gap: 2.5rem;
    gap: 2.5rem;
}
#entry form .name{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    grid-gap: 2.5rem;
    gap: 2.5rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
}
#entry form label.error{
    color: red;
    font-size: 1.8rem;
    display: block;
    margin-top: 1rem;
    line-height: 1.45;
}
/*************
footer
*************/
footer{

}
footer .footer1{
    padding-top: 5rem;
    padding-bottom: 5rem;
    background-image: url(../images/footer_bg.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}
footer .footer1 h2{
    margin-left: 0;
    max-width: 33%;
    margin-bottom: 2.5rem;
}
footer .footer1 h3{
    color: var(--whitecolor);
    font-size: 1.8rem;
}
footer .footer1 p{
    color: var(--whitecolor);
    font-size: 1.6rem;
    line-height: 1.6;
}
footer .footer1 .company1{
    margin-top: 4rem;
}
footer .footer1 .company1 p{
    margin-bottom: 0.5em;
}
footer .footer1 .company2{
    margin-top: 4rem;
}
footer .footer1 .company2 p{
    margin-bottom: 0.5em;
}
footer #copyright{
    background-color: var(--blackcolor);
}
footer .footer1 .company2 span{
    display: block;
    margin-left: 5em;
}
footer #copyright p{
    text-align: center;
    color: var(--whitecolor);
    font-size: 1.6rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
/*************
floating-banner
*************/
.floating-banner{
    position: fixed;
    bottom: -100%;
    left: 0;
    right: 0;
    transition: all 0.75s ease-in-out;
    z-index: 9999999;
}
.floating-banner.UpMove{
    bottom: 1%;
}
.floating-banner a{
    display: block;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    max-width: 80%;
}
.floating-banner a:hover{
    opacity: 0.9;
}
@media screen and (max-width:1317px){
    /*************
    service
    *************/
    #service .item-wrap .item .bottom h3{
        font-size: 2rem;
    }
    #service .item-wrap .item .bottom p {
        font-size: 1.7rem;
    }
    /*************
    voice
    *************/
    #voice .item-wrap .item .text-wrap p{
        font-size: 1.75rem;
    }
}
@media screen and (max-width:1200px){
    /*************
    entry
    *************/
    #entry .step-form .step {
        min-height: 55vw;
    }
}
@media screen and (max-width:750px){
    .full-none{
        display: block;
    }
    .sp-none{
        display: none;
    }
    main {
        background-color: #a98334;
    }
    /*************
    header
    *************/

    /*************
    kv
    *************/
    #kv{
        background-image: url(../images/kv_bg_sp.webp);
        background-size: auto;
        margin-bottom: 17rem;
    }
    #kv .contents{
        max-width: 96%;
        margin-right: 0;
    }
    #kv h1 {
        margin-bottom: 2rem;
        max-width: 50%;
    }
    #kv .kv_main .btn{
        max-width: 80%;
        bottom: -14.5rem;
    }
    /*************
    section
    *************/
    section h2{
        font-size: 6rem;
        text-align: center;
    }
    section h2 span{
        font-size: 3rem;
        margin-bottom: 0.5em;
        border-bottom: 1px solid var(--color4);
    }
    /*************
    service
    *************/
    #service{
        background-image: url(../images/service_bg_sp.webp);
    }
    #service h2 b{
        font-size: 8.4rem;
    }
    #service h2 span {
        margin-bottom: 1em;
    }
    #service .item-wrap{
        display: block;
        width: max-content;
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
    }
    #service .item-wrap .item{
        margin: 5rem 0;
    }
    #service .item-wrap .item .top img{
        max-width: none;
        width: 100%;
    }
    #service .item-wrap .item .bottom {
        padding: 2.5rem 0;
    }
    #service .item-wrap .item .bottom h3 {
        font-size: 3.8rem;
        margin-left: 3.5em;
        line-height: 1.5;
    }
    #service .item-wrap .item .bottom h3:before{
        font-size: 8.5rem;
        left: -1.65em;
    }
    #service .item-wrap .item .bottom p {
        font-size: 2.8rem;
    }
    #service .item-wrap .item .bottom p br{
        display: none;
    }
    /*************
    voice
    *************/
    #voice{
        background-image: url(../images/voice_bg_sp.webp);
        background-color: var(--whitecolor);
    }
    #voice .item-wrap {
        background-color: var(--whitecolor);
        box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.16);
    }
    #voice .item-wrap .item{
        display: block;
        background-color: var(--whitecolor);
        position: relative;
        margin: 0;
        padding: 0;
    }
    #voice .item-wrap .item::before{
        display: none;
    }
    #voice .item-wrap .item::after{
        display: none;
    }
    #voice .item-wrap .item .img-wrap {
        width: 100% !important;
        display: grid;
        grid-template-columns: 1fr 4fr;
        align-items: center;
        grid-gap: 2.5rem;
        gap: 2.5rem;
        padding: 2.5rem;
        background-color: #faf5eb;

    }
    #voice .item-wrap .item .img-wrap picture{
        width: 100% !important;
    }
    #voice .item-wrap .item .img-wrap p{
        font-size: 2.5rem;
        line-height: 1.8;
        letter-spacing: 0.1em;
        color: var(--color5);
        font-weight: 400;
        width: 100%;
        text-align: left;
    }
    #voice .item-wrap .item .img-wrap p b{
        font-size: 105%;
        font-weight: 500;
        display: inline-block;
    }
    #voice .item-wrap .item .text-wrap{
        width: 100%;
        position: static;
        margin-left: auto;
        margin-right: auto;
        padding: 2.5rem;
    }
    #voice .item-wrap .item .text-wrap h3{
        width: 100%;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 3.7rem;
        line-height: 1.5;
        border-bottom: 1px solid;
        border-image: linear-gradient(to right, #c5a256, #e4c47f) 1;
        padding-bottom: 0.75em;
        margin-bottom: 0.75em;
    }
    #voice .item-wrap .item .text-wrap h3 br{
        display: none;
    }
    #voice .item-wrap .item .text-wrap p{
        font-size: 2.8rem;
    }
    #voice .item-wrap .item:nth-of-type(2n) .text-wrap .text{
        margin-right: auto;
    }
    #voice .item-wrap .item .text-wrap p br{
        display: none;
    }
    
    /*************
    consultant
    *************/
    #consultant{
        background-image: url(../images/consultant_bg_sp.webp);
    }
    #consultant .item-wrap{
        grid-template-columns: repeat(1, 1fr);
    }
    #consultant .item-wrap .item {
        display: grid;
        grid-template-columns: 4fr 6fr;
        align-items: center;
        grid-gap: 2.5rem;
        gap: 2.5rem;
        box-sizing: border-box;
    }
    #consultant .item-wrap .item .bottom h3{
        font-size: 3.4rem;
        text-align: left;
    }
    #consultant .item-wrap .item .bottom h4{
        font-size: 2.7rem;
        line-height: 1.4;
        text-align: left;
    }
    #consultant .item-wrap .item .bottom p{
        font-size: 2.4rem;
        margin-top: 0.25rem;
    }
    /*************
    entry
    *************/
    #entry{
        background-image: url(../images/entry_bg_sp.webp);
    }
    #entry .step-form form{
        max-width: 100%;
    }
    #entry .step-form .step-title p{
        font-size: 2.8rem;
    }
    #entry .step-form .step h4{
        font-size: 3rem;
    }
    #entry .step-form .step h4 b{
        font-size: inherit;
    }
    #entry .step-form .step {
        min-height: 100vw;
    }
    #entry form input[type="text"]{
        font-size: max(16px, 2.8rem);
    }
    #entry form input[type="number"]{
        font-size: max(16px, 2.8rem);
    }
    #entry form input[type="email"]{
        font-size: max(16px, 2.8rem);
    }
    #entry form input[type="tel"]{
        font-size: max(16px, 2.8rem);
    }
    #entry form select{
        font-size: max(16px, 2.8rem);
    }
    #entry form input[type="radio"] + label{
        font-size: 2.8rem;
    }
    #entry form label.error{
        font-size: 2.5rem;
    }
    #entry form .btn-wrap .btn{
        font-size: 3.2rem;
        width: 7em;
        min-width: max-content;
    }
    /*************
    footer
    *************/
    footer .footer1{
        background-image: url(../images/footer_bg_sp.webp);
        padding-top: 35rem;
        background-size: contain;
        background-color: var(--blackcolor);
    }
    footer .footer1 h2{
        margin-left: 0;
        max-width: 65%;
        margin-bottom: 3rem;
    }
    footer .footer1 h3{
        font-size: 2.6rem;
        text-shadow: 2px 2px 15px #000000, -2px 2px 15px #000000, 2px -2px 15px #000000, -2px -2px 15px #000000;
    }
    footer .footer1 p{
        font-size: 2.6rem;
        text-shadow: 2px 2px 15px #000000, -2px 2px 15px #000000, 2px -2px 15px #000000, -2px -2px 15px #000000;
    }
    footer .footer1 .company1 p{
        margin-bottom: 0;
    }
    footer .footer1 .company1 .tel{
        margin-bottom: 4rem;
    }
    footer #copyright p{
        font-size: 2.2rem;
    }
}
@media screen and (max-width:375px){
    #service .item-wrap .item .bottom p {
        font-size: 3.25rem;
    }
    #voice .item-wrap .item .text-wrap p{
        font-size: 3.25rem;
    }
}