* {
    margin: 0;
    padding: 0;
}

p {
    color: #2f2f2f;
}

body {
    background-color: #fff4fb;
    font-family: "uddigikyokasho-pro",
    sans-serif;
    font-style: normal;
}
.body_padding {
    padding: 0 44px 0 44px;
}
.main_text {
    font-size: 15px;
    font-feature-settings: "palt";
    letter-spacing: 0.5px;
}

/* 大見出しのコード */
.major_heading {
    font-size: 19px;
    border-left: solid 3px #e07594;
    border-bottom: solid 3px #e07594;
    padding: 5px 5px 5px 10px;
    color: #2f2f2f;
    position: relative;
    margin-left: 30px;
    line-height: 1.4em;
}
.major_heading::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -33px;
    border-top: 3px solid #e07594;
}



/* 中見出しのコード */
h1 {
  padding: 0em 0.4em;/*上下 左右の余白*/
  color: #2f2f2f;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 3px #e07594;/*左線*/
  font-size: 17px;
  line-height: 1.5em;
  font-weight: normal;

}
.middle_heading_padding {
    padding: 0 30px 0 30px;
}
/* 小見出しのコード */
.small_heading_content {
    padding: 0 45px 0 45px;
}
h2.square {
    position: relative;
    display: block;
    padding: 3px 0 0 20px;
    font-size: 16px;
    color: #2f2f2f;
}

h2.square::before {
    position: absolute;
    top: 0.9em;
    left: 0;
    display: block;
    width: 0.6em;
    height: 0.6em;
    background: #e07594;
    content: "";
}
/* 小見出し本文のインデント */
.small_heading_indent {
    padding-left: 1em;
}
.small_heading_indent_brackets {
    padding-left: 1.1em;
    text-indent: -0.2em;
}

/* ラインマーカーのコード */
.line_marker {
    background: linear-gradient(transparent 70%, 70%, #63BDEB);
    font-weight: 600;
}

/* お問い合わせコーナー適宜変えてくださいその場合は独自のcss作ってね */
.inquiry_address {
    display: flex;
}
.inquiry_address_span {
    padding-left: 36px;
    padding-right: 7px;
}
.inquiry_mail {
    display: flex;
}
.inquiry_mail_span {
    padding-left: 34px;
    padding-right: 9px;
}
.inquiry_time {
    display: flex;
    gap: 5px;
}
.inquiry_place {
    padding-left: 83px;
}
.mail_link {
    color: #e07594;
    word-break: break-all;
    white-space: nowrap;
}
/* paddingたち */

/* 中見出し隙間 */
.padding_top_middle {
    padding-top: 1.5vh;
}
/* 各コンテンツの隙間 */
.padding_top_space {
    padding-top: 3.5vh;
}
/* 大見出し隙間 */
.padding_top_major {
    padding-top: 30px;
}
/* headerの後 */
.padding_top {
    padding-top: 40px;
}

/* 一行あけ */
.one_line_space {
    padding-top: 1.5vh;
}
/* 太字 */
.font_weight600 {
    font-weight: 600;
}

@media screen and (min-width: 320px) {
.body_padding {
    padding: 0 34px 0 34px;
}
.middle_heading_padding {
    padding: 0 21px 0 21px;
}
.major_heading {
    font-size: 19px;
    border-left: solid 3px #e07594;
    border-bottom: solid 3px #e07594;
    padding: 5px 5px 5px 10px;
    color: #2f2f2f;
    position: relative;
    margin-left: 20px;
    line-height: 1.4em;
}

.major_heading::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -33px;
    border-top: 3px solid #e07594;
}
.small_heading_content {
    padding: 0 34px 0 34px;
}
}

@media screen and (min-width: 550px) {
    .major_heading {
        font-size: 24px;
        border-left: solid 3px #e07594;
        border-bottom: solid 3px #e07594;
        padding: 0px 15px 0px 13px;
        color: #2f2f2f;
        position: relative;
        margin-left: 45px;
        line-height: 1.8em;
        width: fit-content;
    }

    .major_heading::before {
        content: "";
        display: block;
        width: 48px;
        /* height: 50px; */
        position: absolute;
        top: 0;
        bottom: 0;
        left: -48px;
        border-top: 3px solid #e07594;
    }
    .main_text {
        font-size: 16px;
        font-feature-settings: "palt";
    }
    .body_padding {
        padding: 0  60px 0 60px;
    }
    h1 {
        padding: 0em 10px;
        /*上下 左右の余白*/
        color: #2f2f2f;
        /*文字色*/
        background: transparent;
        /*背景透明に*/
        border-left: solid 3px #e07594;
        /*左線*/
        font-size: 19px;
        line-height: 1.5em;
    }

    .middle_heading_padding {
        padding: 0 45px 0 45px;
    }
    .small_heading_content {
        padding: 0 61px 0 61px;
    }

    h2.square {
        position: relative;
        display: block;
        font-size: 17px;
        color: #2f2f2f;
    }

    h2.square::before {
        position: absolute;
        top: 0.9em;
        left: 0;
        display: block;
        width: 0.6em;
        height: 0.6em;
        background: #e07594;
        content: "";
    }
    .small_heading_indent {
        padding-left: 1.1em;
    }

    .small_heading_indent_brackets {
        padding-left: 1.1em;
        text-indent: -0.2em;
    }
    .padding_top_major {
        padding-top: 50px;
    }
    .padding_top_middle {
        padding-top: 20px;
    }
    .padding_top_space {
        padding-top: 45px;
    }
    .padding_top {
        padding-top: 50px;
    }
    /* spだけにbrをつけたい */
    .sp_only {
        display: none;
    }
    /* pcのリンクhover */
    .mail_link:hover {
        color: #ffc5da;
    }
    /* かっこのカーニング */
    .kerning {
        letter-spacing: -0.1em;
    }
    /* お問い合わせ */
    .inquiry_address {
        display: flex;
    }

    .inquiry_address_span {
        padding-left: 40px;
        padding-right: 8px;
    }

    .inquiry_mail {
        display: flex;
    }

    .inquiry_mail_span {
        padding-left: 36px;
        padding-right: 10px;
    }

    .inquiry_time {
        display: flex;
        gap: 5px;
    }

    .inquiry_place {
        padding-left: 93px;
    }
}
@media screen and (min-width: 650px) {
.body_padding {
    padding: 0 100px 0 100px;
}
.middle_heading_padding {
    padding: 0 85px 0 85px;
}
.major_heading {
    padding: 0px 5px 0px 13px;
    font-size: 24px;
}
.major_heading {
    font-size: 24px;
    border-left: solid 3px #e07594;
    border-bottom: solid 3px #e07594;
    color: #2f2f2f;
    position: relative;
    margin-left: 85px;
    line-height: 1.8em;
}

.major_heading::before {
    content: "";
    display: block;
    width: 88px;
    /* height: 50px; */
    position: absolute;
    top: 0;
    bottom: 0;
    left: -88px;
    border-top: 3px solid #e07594;
}
.small_heading_content {
    padding: 0 101px 0 101px;
}
h1 {
    padding: 0em 10px;
    /*上下 左右の余白*/
    color: #2f2f2f;
    /*文字色*/
    background: transparent;
    /*背景透明に*/
    border-left: solid 3px #e07594;
    /*左線*/
    font-size: 20px;
    line-height: 1.5em;
}

.main_text {
    font-size: 17px;
    font-feature-settings: "palt";
}
h2.square {
    position: relative;
    display: block;
    font-size: 18px;
    color: #2f2f2f;
}
/* お問い合わせ */
.inquiry_address {
    display: flex;
}

.inquiry_address_span {
    padding-left: 40px;
    padding-right: 8px;
}

.inquiry_mail {
    display: flex;
}

.inquiry_mail_span {
    padding-left: 38px;
    padding-right: 10px;
}

.inquiry_time {
    display: flex;
    gap: 5px;
}

.inquiry_place {
    padding-left: 93px;
}
}
@media screen and (min-width: 1180px) {
.body_padding {
    padding: 0 216px 0 216px;
}
.middle_heading_padding {
    padding: 0 200px 0 200px;
}
.major_heading {
    padding: 0px 5px 0px 12px;
    font-size: 26px;
}
.major_heading {
    font-size: 24px;
    border-left: solid 3px #e07594;
    border-bottom: solid 3px #e07594;
    color: #2f2f2f;
    position: relative;
    margin-left: 200px;
    line-height: 1.8em;
    width: 340px;
}

.major_heading::before {
    content: "";
    display: block;
    width: 208px;
    /* height: 50px; */
    position: absolute;
    top: 0;
    bottom: 0;
    left: -208px;
    border-top: 3px solid #e07594;
}
.small_heading_content {
    padding: 0 216px 0 216px;
}
h1 {
    padding: 0em 10px;
    /*上下 左右の余白*/
    color: #2f2f2f;
    /*文字色*/
    background: transparent;
    /*背景透明に*/
    border-left: solid 3px #e07594;
    /*左線*/
    font-size: 20px;
    line-height: 1.5em;
}
.main_text {
    font-size: 17px;
    font-feature-settings: "palt";
    color: #2f2f2f;
}
h2.square {
    position: relative;
    display: block;
    margin-top: 1.5vh;
    font-size: 18px;
    color: #2f2f2f;
}
/* お問い合わせ */
.inquiry_address {
    display: flex;
}

.inquiry_address_span {
    padding-left: 40px;
    padding-right: 8px;
}

.inquiry_mail {
    display: flex;
}

.inquiry_mail_span {
    padding-left: 38px;
    padding-right: 10px;
}

.inquiry_time {
    display: flex;
    gap: 5px;
}

.inquiry_place {
    padding-left: 93px;
}
}


