body {
    margin: 0;
    padding: 0;
    color: #313131;
    font-size: min(4.65vw, 20px);
    line-height: 190%;
    background: #ffcbcb;
    font-family: "Kosugi Maru", sans-serif;
    font-weight: 400;
    font-style: normal;
}

h2 {
    color: #c21024;
    margin-bottom: 20px;
}

h3 {
    color: #ea5517;
    margin-bottom: 10px;
}

hr {
    border: none;
    border-top: dotted 2px #ea5517;
}

.pc_mode {
    display: block;
}

.sp_mode {
    display: none;
}

@media (max-width : 800px) {
    body {
        font-size: min(3.33vw, 20px);
    }

    h2 {
        font-size: min(5vw, 30px);
        margin-bottom: 2.5%;
    }

    h3 {
        font-size: min(4vw, 20px);
        margin-bottom: 1.67%;
    }

    .pc_mode {
        display: none;
    }

    .sp_mode {
        display: block;
    }
}

.header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

/*------------------------------- top -------------------------------*/

.top {
    width: 100%;
    padding-top: 832.91692px;
    position: relative;
    text-align: center;
    user-select: none;
    background-image: url(../img/top.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
}

.top_text {
    position: absolute;
    top: 7%;
    left: 50%;
    -ms-transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    white-space: nowrap;
}

.top_text h1 {
    font-family: "cooper-black-std", serif;
    font-weight: 400;
    font-style: normal;
    line-height: 120%;
    font-size: 40px;
    color: #c51024;
}

.top_text h1 span {
    font-family: "Kosugi Maru", sans-serif;
    font-weight: bold;
    font-style: normal;
}

.top_text p {
    margin-top: 20px;
}

.top_text_img {
    width: 344px;
    position: absolute;
    top: 35%;
    left: 50%;
    -ms-transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
}

.top_text_img img {
    aspect-ratio: 344 / 500;
}

.top_img_tanpopo {
    width: 200px;
    position: absolute;
    top: 3%;
    left: 2%;
}

.top_img_tanpopo img {
    aspect-ratio: 300 / 93;
}

.top_img_kanpou {
    width: 200px;
    position: absolute;
    top: 3%;
    right: 2%;
}

.top_img_kanpou img {
    aspect-ratio: 300 / 93;
}

.Tablet {
    display: block;
}

.Phone {
    display: none;
}

.dots {
    background-image: radial-gradient(circle at center, #e95418 20%, transparent 20%);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    padding-top: .4em;
}

@media (max-width : 800px) {
    .top {
        width: 100%;
        padding-top: 133.33%;
        position: relative;
        text-align: center;
        user-select: none;
        background-image: url(../img/sp_top.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top center;
    }

    .top_text {
        top: 10%;
    }

    .top_text h1 {
        font-size: 8vw;
    }

    .top_text p {
        margin-top: 2.5%;
        font-size: 4vw;
        line-height: 170%;
    }

    .top_text_img {
        width: 46%;
        top: 50%;
    }

    .top_img_tanpopo {
        width: 35%;
        top: 1%;
    }

    .top_img_kanpou {
        width: 35%;
        top: 1%;
    }

}

@media (max-width : 500px) {
    .top_text {
        top: 15%;
    }

    .top_text_img {
        top: 52%;
    }

    .top_img_tanpopo {
        width: 47%;
        top: 1%;
    }

    .top_img_kanpou {
        width: 47%;
        top: 1%;
    }

    .Tablet {
        display: none;
    }

    .Phone {
        display: block;
    }
}

/*------------------------------- think -------------------------------*/

.think {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto 30px auto;
}

.think_1 span {
    color: #ea5517;
}

.think_1 p {
    margin-bottom: 30px;
}

.think_1_img {
    width: 100%;
    display: flex;
    justify-content: space-around;
    margin: 0;
}

.think_1_img_in {
    max-width: 500px;
    width: 49%;
    margin: 0 auto 30px auto;
}

.think_2_top {
    margin-bottom: 10px;
}

.think_2_text {
    margin: 20px 0;
}

.greeting {
    display: flex;
    max-width: 1000px;
    width: 95%;
    margin: 0 auto;
    justify-content: space-around;
    align-items: center;
}

.greeting_text {
    max-width: 500px;
    width: 50%;
    color: #ea5517;
}

.greeting_img {
    max-width: 300px;
    width: 30%;
}

@media (max-width : 800px) {
    .think {
        margin: 3.75% auto;
    }

    .think_1 p {
        margin-bottom: 3.75%;
    }

    .think_1_img {
        display: block;
    }

    .think_1_img_in {
        width: 80%;
        margin: 0 auto 4% auto;
    }

    .think_2_top {
        margin-bottom: 1.25%;
    }

    .think_2_text {
        margin: 2.5% 0;
    }

    .greeting {
        display: flex;
        max-width: 1000px;
        width: 95%;
        margin: 7% auto;
        justify-content: space-around;
        align-items: center;
    }

    .greeting_text {
        max-width: 500px;
        width: 50%;
    }

    .greeting_img {
        max-width: 300px;
        width: 30%;
    }
}

/*------------------------------- service -------------------------------*/

.service_bg {
    background-image: url(../img/bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
}

.service {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
}

.care {
    margin-bottom: 30px;
}

.care_text {
    margin: 10px 0;
}

.care_contact {
    padding-bottom: 6px;
    color: #ea5517;
    border-bottom: solid 2px #ea5517;
}

.care_table {
    max-width: 600px;
    width: 95%;
    margin: 30px auto 0 auto;
}

.care_table th {
    text-align: center;
    border: solid 2px #c5c5be;
    font-weight: normal;
    width: 50%;
    padding: 7px 0;
}

.care_table thead {
    background: #d4e7be;
}

.care_table tbody {
    background: #fffbc2;
}

.care_table caption {
    caption-side: bottom;
}

.self {
    margin-bottom: 30px;
}

.self_text {
    margin: 10px 0;
}

.self_contact {
    padding-bottom: 6px;
    color: #ea5517;
    border-bottom: solid 2px #ea5517;
}

.self_table {
    max-width: 600px;
    width: 95%;
    margin: 30px auto 0 auto;
}

.self_table th {
    text-align: center;
    border: solid 2px #c5c5be;
    font-weight: normal;
    width: 50%;
    padding: 7px 0;
}

.self_table thead {
    background: #d4e7be;
}

.self_table tbody {
    background: #fffbc2;
}

@media (max-width : 800px) {
    .service_bg {
        background-size: cover;
    }

    .care {
        margin-bottom: 9%;
    }

    .care_text {
        margin: 2.5% 0;
    }

    .care_contact {
        padding-bottom: 1%;
    }

    .care_table {
        margin: 7% auto 0 auto;
    }

    .care_table th {
        padding: 1% 0;
    }

    .self {
        margin-bottom: 9%;
    }

    .self_text {
        margin: 2.5% 0;
    }

    .self_contact {
        padding-bottom: 1%;
    }

    .self_table {
        margin: 7% auto 0 auto;
    }

    .self_table th {
        padding: 1% 0;
    }
}

/*------------------------------- use -------------------------------*/

.use {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto 30px auto;
}

.use_list {
    list-style: inside;
    text-indent: -1.35em;
    padding-left: 1.35em;
    margin: 10px 0 0 15px;
}

.use_img {
    width: 100%;
    display: flex;
    justify-content: space-around;
    margin: 0;
}

.use_img_in {
    max-width: 500px;
    width: 49%;
    margin: 0 auto 30px auto;
}

.use_img_in2 {
    max-width: 470px;
    width: 47%;
    margin: 0 auto 30px auto;
}

@media (max-width : 800px) {
    .use {
        margin: 0 auto 9% auto;
    }

    .use_list {
        margin: 2.5% 0 0 15px;
    }

    .use_img {
        display: block;
    }

    .use_img_in {
        width: 80%;
        margin: 0 0 4% auto;
    }

    .use_img_in2 {
        width: 80%;
        margin: 0 auto 4% 0;
    }
}

/*------------------------------- connection -------------------------------*/

.connection_bg {
    background-image: url(../img/bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
}

.connection {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto 30px auto;
}

.connection_in p {
    margin: 10px 0 30px 0;
}

.toiro h3 {
    font-size: 23.4px;
    color: #c31123;
    margin-bottom: 10px;
}

.toiro_text {
    margin-bottom: 30px;
}

.toiro_contact {
    background: #ffffff;
    max-width: 500px;
    width: 95%;
    padding: 20px 0;
    margin: 0 auto;
    border-radius: 10px;
}

.toiro_contact_text {
    display: inline-block;
    position: relative;
    left: 50%;
    -ms-transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    margin-bottom: 30px;
}

.toiro_sns {
    display: flex;
    justify-content: space-around;
    max-width: 300px;
    width: 95%;
    margin: 0 auto;
    text-align: center;
    line-height: 100%;
}

.line {
    width: 45%;
    color: #ea5517;
}

.instagram {
    width: 45%;
    color: #ea5517;
}

@media (max-width : 800px) {
    .connection_bg {
        background-size: cover;
    }

    .connection {
        margin: 0 auto 9% auto;
    }

    .connection_in p {
        margin: 2.5% 0 5% 0;
    }

    .toiro h3 {
        font-size: min(4vw, 23.4px);
        margin-bottom: 2.5%;
    }

    .toiro_text {
        margin-bottom: 10%;
    }

    .toiro_contact {
        padding: 3.62% 0;
    }

    .toiro_contact_text {
        font-size: min(3.62vw, 20px);
        margin-bottom: 5%;
    }

    .toiro_sns {
        width: 60%;
    }

    .line {
        width: 45%;
    }

    .instagram {
        width: 45%;
    }
}

/*------------------------------- contact_footer -------------------------------*/

.contact {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
}

.map {
    width: 100%;
    height: 450px;
    margin: 30px 0;
}

.address {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
    text-align: center;
}

.address_text {
    font-size: 32px;
    padding: 30px 0;
}

.address_text small {
    font-size: 20px;
}

.address_mail {
    color: #c40f24;
}

.footer_img {
    max-width: 500px;
    width: 95%;
    margin: 0 auto;
}

@media (max-width : 800px) {
    .map {
        width: 100%;
        height: 450px;
        margin: 7% 0;
    }

    .address_text {
        font-size: min(5.33vw, 32px);
        padding: 5% 0;
    }

    .address_text small {
        font-size: min(3.33vw, 20px);
    }

    .address_mail {
        color: #c40f24;
    }

    .footer_img {
        max-width: 500px;
        width: 95%;
        margin: 0 auto;
    }
}

.sns-area {
    max-width: 1200px;
    width: 98%;
    margin: 30px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    font-size: max(1.2vw, 15px);
}

.sns {
    max-width: 400px;
    width: 100%;
    line-height: 100%;
}

.sns>a {
    display: flex;
    align-items: center;
    color: #c21024;
    text-decoration: none;
    text-decoration-color: #c21024;
    text-decoration-thickness: 1px;
}

.sns>a:hover {
    text-decoration: underline;
}

.sns-name {
    width: 65%;
    text-align: center;
    font-weight: bold;
}

.sns-qr {
    width: 35%;
}

@media screen and (max-width: 768px) {
    .sns {
        margin: 30px 0;
    }
}