*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root{
  --site-max-width:100%;
  --site-main-width:100%;
  --site-division:393;
  --site-horizontal-ratio:calc(100vw / var(--site-division));
}

/* tosho-header */
.tosho-header{
    padding: 15px;
}
.tosho-header>a>img{
    width: 40%;
}
/* tosho-header */

/* tosho-clientTitle */
.tosho-clientTitle{
    padding: 15px;
    background-color: #FBE3D6;
}
.tosho-clientTitle>h1{
    text-align: center;
}
.tosho-clientTitle>p{
    text-align: center;
}
/* tosho-clientTitle */

/* tosho-clientList */
.tosho-clientList{
    padding: 15px;
}
.tosho-clientList>h2{
    text-align: center;
}
.tosho-clientList>div{
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}
.tosho-clientList>div>div{
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    background-color: #FEFFE5;
}
.tosho-clientList>div>div>span{
    word-wrap: break-word;
    width: 100%;
}
.tosho-clientList>div>div>a.apply_btn{
    background-color: #FC5E3A;
    text-align: center;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    padding: 5px 10px;
    font-size: 12px;
    align-self: flex-start;
}
.tosho-clientList>div>div>img{
    width: 100%;
    vertical-align: top;
}
.tosho-clientList>div>div>table{
    width: 100%;
}
.tosho-clientList>div>div>table th,
.tosho-clientList>div>div>table td{
    padding: 5px;
}
.tosho-clientList>div>div>table th{
    background-color: #FBE3D6;
}
.tosho-clientList>div>div>table td{
    background-color: #ffffff;
}
.tosho-clientList>div>div>dl{
    width: 100%;
}
.tosho-clientList>div>div>a.review_btn{
    background-color: #FC5E3A;
    text-align: center;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    padding: 10px 20px;
    font-size: 12px;
    align-self: flex-start;
    margin: auto;
}
/* tosho-clientList */

/* tosho-erea */
.tosho-erea{
    padding: 15px;
}
.tosho-erea>h2{
    width: fit-content;
    margin: auto;
    position: relative;
}
.tosho-erea>h2::before,
.tosho-erea>h2::after{
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background-color: #FC5E3A;
    position: absolute;
    top: 50%;
}
.tosho-erea>h2::before{
    left: 0;
    transform: translate(-120%,-50%);
}
.tosho-erea>h2::after{
    right: 0;
    transform: translate(120%,-50%);
}
.tosho-erea>div>img{
    width: 100%;
}
.tosho-erea>div>div{
    display: flex;
    flex-wrap: wrap;
    row-gap: 5px;
}
.tosho-erea>div>div>a::after{
    content: "・";
}
.tosho-erea>div>div>a:last-of-type::after{
    content: none;
}
/* tosho-erea */

/* tosho-province */
.tosho-province{
    padding: 15px;
}
.tosho-province>h2{
    width: fit-content;
    margin: auto;
    position: relative;
}
.tosho-province>h2::before,
.tosho-province>h2::after{
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background-color: #FC5E3A;
    position: absolute;
    top: 50%;
}
.tosho-province>h2::before{
    left: 0;
    transform: translate(-120%,-50%);
}
.tosho-province>h2::after{
    right: 0;
    transform: translate(120%,-50%);
}
.tosho-province>div{
    margin-top: 10px;
}
.tosho-province>div>div{
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
}
.tosho-province>div>div>a{
    color: #4892dc;
    font-weight: 500;
}
/* tosho-province */

/* tosho-review */
.tosho-review__div-wrap{
    background-color: #FEFFE5;
}
.tosho-review{
    padding: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.tosho-review>*{
    width: 100%;
}
.tosho-review>a.apply_btn{
    width: fit-content;
    background-color: #FC5E3A;
    text-align: center;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    padding: 10px 15px;
    font-size: 12px;
    align-self: flex-start;
}
.tosho-review>a:nth-of-type(1).apply_btn{
    margin-right: 0;
    margin-left: auto;
}
.tosho-review>a:last-of-type.apply_btn{
    margin: auto;
}
.tosho-review>div{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.tosho-review>div>*{
    width: 100%;
}
.tosho-review>div.addr>span:first-of-type{
    font-weight: 500;
}
.tosho-review>div.top>img{
    width: 100%;
}
.tosho-review>div.info>table{
    background-color: #ffffff;
    border-collapse: collapse;
}
.tosho-review>div.info>table th,
.tosho-review>div.info>table td
{
    text-align: left;
    padding: 5px 8px;
    border: 1px solid #000000;
}
.tosho-review>div.review>div{
    background-color: #FBE3D6;
    border-radius: 15px;
    padding: 15px;
    position: relative;
    width: calc(100% - 80px);
    margin-right: 0;
    margin-left: auto;
}
.tosho-review>div.review>div::before{
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background-size: contain;
    background-position: center;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(-80px);
}
.tosho-review>div.review>div::after{
    content: "";
    display: block;
    width: 20px;
    height: 10px;
    clip-path: polygon(100% 0,100% 100%,0 50%);
    background-color: #FBE3D6;
    background-size: contain;
    background-position: center;
    position: absolute;
    left: 0;
    top: 15px;
    transform: translateX(-19px);
}
.tosho-review>div.review>div.female::before{
    background-image: url(../images/female.svg);
}
.tosho-review>div.review>div.male::before{
    background-image: url(../images/male.svg);
}
.tosho-review>div.chievement>table{
    border-collapse: collapse;
    width: 80%;
    margin: auto;
}
.tosho-review>div.chievement>table th,
.tosho-review>div.chievement>table td
{
    border:1px solid #042433;
    width: 33%;
    padding: 5px;
    text-align: center;
    vertical-align: middle;
}
.tosho-review>div.chievement>table td>img{
    width: 100%;
}
/* tosho-review */

/* tosho-map */
.tosho-map__div{
    background-color: #ffffff;
    padding: 15px;
}
.tosho-map>div.map{
    display: none;
}
/* tosho-map */

/* tosho-buttons */
.tosho-buttons{
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.tosho-buttons>a{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border-style: solid;
    border-width: 3px;
    padding-top: 10px;
    padding-bottom: 10px;
    position: relative;
    font-weight: 900;
    text-decoration: none;
    color: inherit;
    height: 74px;
}
.tosho-buttons>a[href*='/jump_media/']{
    border-color: #FFE190;
    padding-right: 55px;
}
.tosho-buttons>a[href*='tel:']{
    border-color: #8BC64D;
    padding-left: 55px;
}
.tosho-buttons>a[href*='/jump_media/']::after,
.tosho-buttons>a[href*='tel:']::before
{
    content: "";
    display: block;
    width: 60px;
    height: 45px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.tosho-buttons>a[href*='/jump_media/']::after{
    background-image: url(../images/magnifying-glass.png);
    right: 5px;
}
.tosho-buttons>a[href*='tel:']::before{
    background-image: url(../images/tel.png);
    left: 5px;
}
.tosho-buttons>a[href*='/jump_media/']>span>span
{
    font-size: 22px;
    color: red;
}
.tosho-buttons>a[href*='tel:']>span
{
    font-size: 26px;
}
/* tosho-buttons */

/* reputation-form */
.reputation-form{
    --shadow-weight:10px;
    width: calc(100% - var(--shadow-weight) * 2);
    margin: calc(var(--shadow-weight) * 5) auto 25px;
    padding: 5px 20px 15px;
    border: 3px solid #ffffff;
    border-radius: 20px;
    background-image: linear-gradient(#FC5E3A, #FC5E3A);
    box-shadow: 0px 0px 0px var(--shadow-weight) #FC5E3A;
    position: relative;
}
.reputation-form>span{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,calc(-120% - var(--shadow-weight)));
    font-size: 20px;
    font-weight: bold;
    display: block;
    width: max-content;
    background-image: linear-gradient(to bottom,transparent 0 60%, yellow 60% 90%,transparent 90% 100%);
    padding: 0 5px;
}
.reputation-form>span::before,
.reputation-form>span::after{
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../images/triangel.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
}
.reputation-form>span::before{
    left: 0;
    transform: translate(-130%,-50%);
}
.reputation-form>span::after{
    right: 0;
    transform: translate(130%,-50%);
}
.reputation-form>fieldset{
    all: unset;
    display: block;
    background-color: #ffffff;
    padding: 4px;
    margin: 10px auto;
}
.reputation-form>fieldset>select{
    display: block;
    width: 100%;
    padding: 8px 5px;
    border: 2px solid #FC5E3A;
    appearance: none;
    font-size: 18px;
    font-weight: 500;
    background-image: url(../images/select-triangle.png);
    background-repeat: no-repeat;
    background-position: top 50% right 3%;
    background-size: 10%;
}
.reputation-form>input[type="button"]{
    outline: none;
    border:none;
    background-color: #24C2B3;
    box-shadow: inset 0px -3px 5px 0px #205550;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-weight: bold;
    font-size: 20px;
    height: 52px;
    width: 100%;
    border-radius: 8px;
}
/* reputation-form */

/* search-form */
.search-form{
    width: calc(100% - 30px);
    margin: 15px auto;
    padding: 15px;
    border: 2px solid #aeaeae;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.search-form>select,
.search-form>button[type=button]
{
    width: 100%;
    border: 2px solid #082836;
    border-radius: 10px;
    padding: 5%;
    text-align: center;
    text-align-last: center;
    background-color: transparent;
    font-size: 20px;
    font-weight: 500;
}
.search-form>select[name='kaitori_type']{
    appearance: none;
    background-image:url(../images/caret-down-solid-full.png);
    background-position: top 50% right 10%;
    background-size: 10%;
    background-repeat: no-repeat;
}
.search-form>select[name='province']{
    appearance: none;
    background-image:
        url(../images/location.png),
        url(../images/caret-down-solid-full.png);
    background-position:
        top 50% left 10%,
        top 50% right 10%;
    background-size:
        7.5%,
        10%;
    background-repeat: no-repeat;
}
.search-form>button[type=button]{
    appearance: none;
    background-image:url(../images/magnifying-glass2.png);
    background-position: top 50% right 7%;
    background-size: 14%;
    background-repeat: no-repeat;
}
/* search-form */

/* relate_splide */
.relate_splide{
    padding: 15px;
    position: relative;
}
.relate_splide>h2{
    text-align: center;
    margin-bottom: 10px;
}
.relate_splide>.splide__track{
    padding-bottom: 3px;
}
.relate_splide>.splide__track>.splide__list>.splide__slide{
    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.18);
    position: relative;
}
.relate_splide>.splide__track>.splide__list>.splide__slide>span{
    position: absolute;
    top: 5px;
    left: 5px;
    padding: 1px 6px;
    font-weight: 500;
    text-align: left;
    font-size: 0.5rem;
    color: #fff;
    letter-spacing: 0;
    border-radius: 20px;
    background-color: #ffcd44;
}
.relate_splide>.splide__track>.splide__list>.splide__slide>div{
    color: #3b4675;
    font-size: 12px;
    font-weight: bold;
    padding: 6px 8px;
}
.relate_splide>.splide__track>.splide__list>.splide__slide>img{
    width: 100%;
    height: auto;
}
.relate_splide>.splide__track>.splide__list>.splide__slide>time{
    display: block;
    text-align: right;
    font-size: 0.65rem;
    padding: 7px 8px;
    letter-spacing: 1px;
}
.relate_splide>.splide__arrows>.splide__arrow{
    position: absolute;
    z-index: 1;
    border: none;
    background-color: transparent;
    top: 50%;
    transform: translateY(-100%);
    font-size: 2em;
    color: #fff;
    text-shadow: 0 0 2px #aaa;
}
.relate_splide>.splide__arrows>.splide__arrow:is(.splide__arrow--prev){
    left: 5%;
}
.relate_splide>.splide__arrows>.splide__arrow:is(.splide__arrow--next){
    right: 5%;
}
.relate_splide>.splide__pagination{
    gap: 2%;
}
.relate_splide>.splide__pagination>li>button.splide__pagination__page{
    width: 6px;
    height: 6px;
    border-radius: 50%;
    border: none;
    background: #000;
    opacity: .2;
}
.relate_splide>.splide__pagination>li>button.splide__pagination__page:is(.is-active){
    background-color: #ffcd44;
    opacity: 1;
}
/* relate_splide */

/* footer */
footer{
    background-color: #ff5e3a;
}
.footer-inner a,
#copyright,
#copyright-center{
    border-color: #fff !important;
    color: #fff !important;
}
/* footer */

/* --------------------------- */


@media (min-width: 768px){
    :root{
        --site-max-width:1200px;
    }

    /* tosho-header */
    .tosho-header{
        max-width: var(--site-max-width);
        margin: auto;
    }
    .tosho-header>a>img{
        width: 250px;
    }
    /* tosho-header */

    /* tosho-clientTitle */
    .tosho-clientTitle>*{
        max-width: var(--site-max-width);
        margin: auto;
    }
    .tosho-clientTitle>p{
        line-height: 2;
    }
    /* tosho-clientTitle */

    /* tosho-clientList */
    .tosho-clientList>*{
        max-width: var(--site-max-width);
        margin: 30px auto 0;
    }
    .tosho-clientList>div{
        gap: 20px;
        margin-top: 20px;
    }
    .tosho-clientList>div>div,
    .tosho-clientList>div>div>img,
    .tosho-clientList>div>div>table
    {
        width: calc(calc(100% - 20px) / 2);
    }
    .tosho-clientList>div>div{
        padding: 15px;
        gap: 15px;
    }
    .tosho-clientList>div>div>a.apply_btn{
        font-size: 16px;
        padding: 10px 20px;
    }
    .tosho-clientList>div>div>table th,
    .tosho-clientList>div>div>table td{
        padding: 10px 5px;
    }
    .tosho-clientList>div>div>a.review_btn{
        font-size: 16px;
    }
    /* tosho-clientList */

    /* tosho-erea */
    .tosho-erea>*{
        max-width: var(--site-max-width);
        margin: 30px auto 0;
    }
    .tosho-erea>div{
        gap: 20px;
        margin-top: 20px;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
    }
    .tosho-erea>div>img{
        width: 25%;
    }
    .tosho-erea>div>div{
        align-self: center;
    }
    /* tosho-erea */

    /* tosho-review */
    .tosho-review{
        gap: 25px;
        max-width: var(--site-max-width);
        margin: auto;
        padding: 35px;
    }
    .tosho-review>a.apply_btn{
        padding: 15px 25px;
        font-size: 16px;
    }
    .tosho-review>div{
        gap: 10px;
    }
    .tosho-review>div.info>table th,
    .tosho-review>div.info>table td
    {
        padding: 10px;
    }
    .tosho-review>div.review>div{
        padding: 20px;
    }
    /* tosho-review */

    /* tosho-map */
    .tosho-map__div{
        padding: 15px 0;
    }
    .tosho-map{
        display: grid;
        grid-template-areas: "map-map map-form";
        grid-template-columns: 1fr calc(33.3333333333% - 26.6666666667px);
        column-gap: 2vw;
        max-width: 1200px;
        margin: auto;
    }
    .tosho-map>div.map{
        margin-top: 15px;
        position: relative;
        display: block;
        grid-area: map-map;
        height: 36vw;
        background-image: url(/image/media/japan-map.png);
        background-repeat: no-repeat;
        background-position: top;
        background-size: 60%;
    }
    .tosho-map>div.map>div{
        width: 12vw;
        position: absolute;
        display: flex;
        flex-wrap: wrap;
        padding: 0.5%;
        border-radius: 0.5vw;
    }
    .tosho-map>div.map>div#area_1{
        background-color: #df803a;
        bottom: 45%;
        left: 1%;
    }
    .tosho-map>div.map>div#area_2{
        background-color: #ea5413;
        top: 12%;
        left: 25%;
    }
    .tosho-map>div.map>div#area_3{
        background-color: #23ac38;
        top: 2%;
        left: 47%;
    }
    .tosho-map>div.map>div#area_4{
        background-color: #28a7e1;
        top: 5%;
        right: 0%;
    }
    .tosho-map>div.map>div#area_5{
        background-color: #ef8ea7;
        bottom: 18%;
        left: 14%;
    }
    .tosho-map>div.map>div#area_6{
        background-color: #eba91f;
        bottom: 6%;
        left: 36%;
    }
    .tosho-map>div.map>div#area_7{
        background-color: #6bac16;
        bottom: 18%;
        right: 24%;
    }
    .tosho-map>div.map>div#area_8{
        background-color: #0ba29a;
        bottom: 20%;
        right: 2%;
    }
    .tosho-map>div.map>div>div.title{
        font-size: 1.5vw;
        font-weight: bold;
        color: #fff;
        width: 100%;
        text-align: center;
    }
    .tosho-map>div.map>div>a{
        text-decoration: none;
        font-size: 1.2vw;
        display: block;
        width: 48%;
        margin: 1%;
        text-align: center;
        color: #333;
        background: #fff;
        border-radius: 0.5vw;
        padding: 1.3% 1% 1% 1%;
        box-sizing: border-box;
    }
    .tosho-map>.tosho-form__div--sidebar{
        grid-area: map-form;
    }
    /* tosho-map */

    /* tosho-province */
    .tosho-province>div{
        margin: 15px auto;
        max-width: 690px;
        display: flex;
        flex-direction: row;
        gap: 15px;
    }
    .tosho-province>div>span{
        word-break: keep-all;
        white-space: nowrap;
    }
    .tosho-province>div>div{
        gap: 10px;
    }
    /* tosho-province */

    /* tosho-buttons */
    .tosho-buttons{
        flex-direction: row;
    }
    .tosho-buttons>a{
        width: 48%;
    }
    /* tosho-buttons */

    /* reputation-form */
    .reputation-form{
        width: 600px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        padding: 10px 25px 20px;
    }
    .reputation-form>fieldset{
        width: 45%;
    }
    .reputation-form>fieldset>select{
        cursor: pointer;
    }
    .reputation-form>input[type="button"]{
        height: 52px;
        width: 80%;
        cursor: pointer;
    }
    /* reputation-form */

    /* search-form */
    .search-form{
        max-width: 630px;
        padding: 0;
        border: 2px solid #fae2d5;
        gap: 20px;
        flex-direction: row;
        border-radius: 10px;
        overflow: hidden;
        background-image: linear-gradient(to bottom,transparent 0 10%,#aeaeae 10% 90%,transparent 90% 100%);
        background-size: 2px;
        background-repeat: no-repeat;
        background-position: top 50% left 38.5%;
    }
    .search-form>select,
    .search-form>button[type=button]
    {
        border-radius: 0;
        border: none;
        padding: 2%;
        outline: none;
        cursor: pointer;
    }
    .search-form>select[name='kaitori_type']{
        width: 38%;
        background-position: top 50% right 5%;
        background-size: 15%;
    }
    .search-form>select[name='province']{
        width: 38%;
        background-position:
            top 50% left 10%,
            top 50% right 5%;
        background-size:
            11%,
            15%;
    }
    .search-form>button[type=button]{
        width: 20%;
        background-image: url(../images/magnifying-glass-white.png);
        background-position: top 50% right 50%;
        background-size: 35%;
        font-size: 0;
        height: 65px;
        background-color: #ff5e3aff;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }
    /* search-form */

    /* relate_splide */
    .relate_splide{
        padding: 0;
        max-width: var(--site-max-width);
        margin: 30px auto;
    }
    .relate_splide>.splide__track>.splide__list>.splide__slide{
        box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.18);
    }
    .relate_splide>.splide__track>.splide__list>.splide__slide>span{
        top: 11px;
        left: 11px;
        padding: 3px 8px;
        margin-left: -1px;
        font-weight: 400;
    }
    .relate_splide>.splide__arrows>.splide__arrow{
        cursor: pointer;
    }
    .relate_splide>.splide__arrows>.splide__arrow:is(.splide__arrow--prev){
        left: 2%;
    }
    .relate_splide>.splide__arrows>.splide__arrow:is(.splide__arrow--next){
        right: 2%;
    }
    .relate_splide>.splide__pagination{
        gap: 10px;
    }
    .relate_splide>.splide__pagination>li>button.splide__pagination__page{
        width: 8px;
        height: 8px;
    }
    /* relate_splide */
}

@media (min-width: 1024px) {
    /* tosho-map */
    .tosho-map{
        grid-template-columns: 1fr calc(32.5% - 39.75px);
    }
    /* tosho-map */

    /* tosho-buttons */
    .tosho-buttons{
        max-width: var(--site-max-width);
        margin: 30px auto 0;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 25px;
    }
    .tosho-buttons>a{
        border-radius: 15px;
        border-width: 4px;
        padding-top: 15px;
        padding-bottom: 15px;
        width: 40%;
        height: 100px;
        font-size: 18px;
    }
    .tosho-buttons>a[href*='/jump_media/']{
        padding-right: 80px;
    }
    .tosho-buttons>a[href*='tel:']{
        padding-left: 90px;
    }
    .tosho-buttons>a[href*='/jump_media/']::after,
    .tosho-buttons>a[href*='tel:']::before
    {
        width: 85px;
        height: 75px;
    }
    .tosho-buttons>a[href*='/jump_media/']::after{
        right: 15px;
    }
    .tosho-buttons>a[href*='tel:']::before{
        left: 15px;
    }
    .tosho-buttons>a[href*='/jump_media/']>span>span
    {
        font-size: 32px;
    }
    .tosho-buttons>a[href*='tel:']>span
    {
        font-size: 38px;
    }
    /* tosho-buttons */
}

@media (min-width: 1200px) {
    /* tosho-map */
    .tosho-map{
        grid-template-columns: 1fr calc(32.5% - 39.75px);
    }
    .tosho-map>div.map{
        height: 432px;
    }
    .tosho-map>div.map>div{
        width: 144px;
        padding: 0.5%;
        border-radius: 3px;
    }
    .tosho-map>div.map>div>div.title{
        font-size: 18px;
    }
    .tosho-map>div.map>div>a{
        font-size: 14px;
        border-radius: 3px;
    }
    /* tosho-map */
}