@charset "UTF-8";
html{
    scroll-behavior: smooth;
}
body{
    line-height: 2em;
    font-weight: 400;
    color: #333;
}
p{line-height: 2em;}

.header-top{display: none;}
header#site-header{box-shadow: none;}
ul#menu-header-nav li{padding-left: 6px;padding-right: 6px;}
ul#menu-header-nav li.sp-ony,
ul#menu-header-nav li.home-only{display: none;}
body.home ul#menu-header-nav li.home-only{display:block;}

ul.service-list-btn li,
div.service-detail-unit ul li,
ul.news-list li,
.cta ul li{list-style: none;}
/* ------------

共通パーツ

--------------- */
img{max-width: 100%;}

.tac{text-align: center;}

/* リンクボタン */
a{
    transition: 0.3s;
}
a.link-btn{
    background-color:#D82E8B;
    color: #fff;
    width: 90%;
    max-width: 280px;
    display: block;
    text-align: center;
    margin: 24px auto 0;
    padding: 12px 0;
    border-radius: 3rem;

}
a.link-btn.left{
    margin: 24px auto 0 0;
}
a.link-btn:hover{
    background-color:#74318E;
}
section p a{
    color:#1B7BC4;
    text-decoration: underline;
}
section p a:hover{
    color:#ddd;
    text-decoration: none;
}
/* 電話リンク スマホのみ適用 */
@media (min-width: 751px) {
    a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    }
}


/* レイアウト */
/*main{
    padding-top:90px;
}*/

.inner-contents{
    width: 88%;
    max-width: 1100px;
    margin-inline: auto;
}
.inner-contents.min-width{max-width: 900px;}

section{
    margin-bottom: 80px;
}
section.round-box,
div.page-header{
    width: 94%;
    margin-inline:auto ;
    border-radius: 36px;
    padding-top: 80px;
    padding-bottom: 80px;
}
div.page-header::before{display:none;}
section.bg-gray{
    /*background-image: url(../images/common/bg-pttern-b.png);
    background-size: 16px;*/
    background-color: #f1f1f1;

}
section.bg-grade,
div.page-header,
.site-body-bottom{
    background-image: url(/cms/assets/images/common/bg-pttern.png),linear-gradient(90deg, #74318E 0%, #D82E8B 100%);
    background-size: 16px, auto;
}

div.page-header,
section.page-main{
    text-align: center;
    color: #fff;
}
div.page-header h1,
section.page-main h1{
    font-size:2em;
}

.sp-only{display: none;}
.pc-only{display: inherit;}
@media (max-width: 767px) {
    .sp-only{display: inherit;}
    .pc-only{display: none;}
}

/* headding */
h1,h2,h3,h4,h5,
.headding p,
.cta ul,
div.service-list-headding p,
article.point-unit div.point-headding p{
    font-family: "Zen Maru Gothic", serif;
    font-weight: 500;
}

h2{
    font-size:2.6em;
    line-height: 1.6em;
    margin-bottom: 46px;
}
.headding h2,
h2.wp-block-heading{
    letter-spacing: .1em;
    display: inline-block;
    background: linear-gradient(90deg, #74318E 0%, #D82E8B 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 500;
}
.headding h2{margin-top: 0;}
.headding.min-spacing h2{letter-spacing: .15rem;}
.headding p{
    color:#74318E;
    display: block;
    font-size:1.5em;
    line-height: 1.5em;
}
section.bg-grade .headding h2,
section.bg-grade .headding p{
    color: #fff;
    background: none;
    -webkit-text-fill-color: #fff;
}

h3{
    font-size: 1.8em;
    line-height: 1.8em;
    margin-bottom: 32px;
}
h3.line-headding,
h3.wp-block-heading{
    border-left: 5px solid #D82E8B;
    border-top: 1px solid #999;
    padding: 24px;
}
h4{
    font-size: 1.6em;
    line-height: 1.7em;
    margin-bottom: 18px;
    font-weight: 600;
}
.color-text{color: #D82E8B;}



/* ----------------------- */
/* main-visual
/* ----------------------- */

section.main-visual{
    color: #fff;
    padding: 0 5%;
    background-image: url(/cms/assets/images/common/bg-pttern.png),linear-gradient(90deg, #74318E 0%, #D82E8B 100%);
    background-size: 16px, auto;
    height: 750px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8%;
}
section.main-visual .mv-inner{
    font-family: "Zen Maru Gothic", serif;
    color: #fff;
}
section.main-visual .mv-inner h1{
    font-size:4em;
    display: flex;
    flex-direction: column;
}
section.main-visual .mv-inner h1 span{
    font-size: 5em;
    line-height: 0.8em;
    letter-spacing: 0;
    margin-left: -20px;
}
section.main-visual .mv-inner p.copy-main{
    font-size: 3.5em;
    font-weight: 500;
    line-height: 1.3em;
    margin: 40px 0 20px;
}
section.main-visual .mv-inner p.copy-sub{
    font-size: 1.8em;
    font-weight: 500;
    line-height: 2em;
}
section.main-visual p.mv-img{
    width: 42%;
    max-width: 600px;
    height: auto;
}


/* ----------------------- */
/* concept
/* ----------------------- */
.index-concept div.inner-contents{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.index-concept .ic-img{
    width: 45%;
}
.index-concept .ic-text{
    width:50%;
}
.index-concept .ic-text p{
    margin-bottom: 20px;
}

.sevice-img{
    text-align: center;
    margin-inline:auto ;
    width: 94%;
    max-width: 1200px;
    margin-bottom: 0;
}
.sevice-img img,
.sevice-img img.zoom-image{
  width: 100%;
  border-radius: 36px 36px 0 0;
}
/* ----------------------- */
/* service
/* ----------------------- */
section article:nth-of-type(n+2){
    margin-top: 80px;
}
.service-headding{
    display: flex;
    justify-content: space-between;
}
.service-headding h3{width: 48%;}
.service-headding p{width: 44%;}

article.service-list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 32px;
}
article.service-list div.service-list-unit{
    background-color: #fff;
    padding: 24px;
    border-radius: 20px;
    border: 3px solid #D82E8B;
}

div.service-list-headding{
    text-align: center;
    margin-bottom: 24px;
}
div.service-list-headding p{
    color: #D82E8B;
    font-size: 1.4em;
}
div.service-list-headding h4{
    font-size: 2em;
    margin: 12px 0 20px;
}

ul.service-list-btn li a{
    display: block;
    background-image: url(/cms/assets/images/common/arrow-down.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 20px;
    font-size: 1.2em;
    font-weight: 500;
    padding: 12px 0;
    text-decoration: none;
    color: #222;
}
ul.service-list-btn li a:hover{
    color: #D82E8B;
}

article.service-detail{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 32px;
}
article.service-detail div.service-detail-unit{
    background-color: #fff;
    border-radius: 24px;
    padding: 20px;
}

div.service-detail-unit p,
div.service-detail-unit h4{
    text-align: center;
}
div.service-detail-unit p{
    font-size: 1.1em;
    margin-top: 20px;
}
div.service-detail-unit h4{
    color: #D82E8B;
    font-size: 1.5em;
    margin: 16px 0 24px;
}
div.service-detail-unit h4 span{
    font-size: 0.8em;
}
div.service-detail-unit ul li{
    background-image: url(/cms/assets/images/index/icon-check.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px;
    padding:8px 0 8px 30px;
}

/* ----------------------- */
/* problem
/* ----------------------- */
p.caption-text{margin-bottom: 24px;}

div.flow-list{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border: 1px solid #ccc;
    margin-bottom:32px;
}
div.flow-list div.flow-list-unit{
    border-right: 1px solid #ccc;
}
div.flow-list div.flow-list-unit{
    text-align: center;
}
div.flow-list div.flow-list-unit h4{
    font-size: 1.4em;
}
div.flow-list div.flow-list-unit p.flow-title{
    background-color: #D82E8B;
    color: #fff;
    padding: 12px;
    font-size: 1.2em;
    margin-bottom: 20px;
}

div.flow-list div.flow-list-unit:nth-child(n+3) p.flow-title{
    background-color: #838383;
}
div.flow-list div.flow-list-unit img{
    width: 60%;
}
div.flow-list div.flow-list-unit p.flow-caption{
    text-align: left;
    padding: 24px;
}

div.problem-list{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 8px;
}
div.problem-list div.problem-list-unit{
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    padding: 20px;
}

.mb-plus{margin-bottom: 24px;}

/* ----------------------- */
/* point
/* ----------------------- */

article.point-unit{
    border-radius: 32px;
    border: 2px solid #fff;
    overflow: hidden;
}
article.point-unit div.point-headding{
    padding: 32px;
}
article.point-unit div.point-headding p{
    display: inline-block;
    background-color: #fff;
    padding: 8px 20px;
    color: #D82E8B;
    font-size: 1.3em;
    border-radius: 3rem;
    margin-bottom: 28px;
}
article.point-unit div.point-headding h3{
    color: #fff;
    margin-bottom: 0;
    margin-top: 0;
}
article.point-unit div.point-contents{
    background-color: #fff;
    padding: 5%;
}
div.point-contents.column1 p:nth-child(n+2){
    margin-top: 24px;
}
div.point-contents.column2{
    display: flex;
    justify-content: space-between;
}
div.point-contents.column2 p.point-img{width: 45%;}
div.point-contents.column2 div.point-text{width: 50%;}
div.point-contents.column2 h4:nth-child(n+2){margin-top: 50px;}


/* ----------------------- */
/* greeting
/* ----------------------- */
article.greeting-unit{
    position: relative;
    z-index: 1;
    padding-bottom: 200px;
    margin-bottom: 60px;
}
article.greeting-unit::after{
    content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    bottom:0;
    background-image: url(/cms/assets/images/index/img-company.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 55%;
    height: 500px;
    border-radius: 32px;
}
div.round-contents{
    background-color: #fff;
    border-radius: 24px;
    padding: 32px;
}
article.greeting-unit div.round-contents{
    width: 64%;
}
article.greeting-unit dl{margin-bottom: 32px; }
article.greeting-unit dl dt,article.greeting-unit dl dd{font-weight: 500;}
article.greeting-unit dl dd{font-size: 1.3em;}

article.greeting-unit p:nth-child(n+2){margin-top: 24px;}

article.profile-unit ul{
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 1px dotted #999;
}
article.profile-unit ul li{
    list-style: disc;
    margin-left: 20px;
}
article.profile-unit ul li:nth-child(n+2){margin-top:12px;}

/* ----------------------- */
/* company
/* ----------------------- */
.default-table table{
    width: 100%;
    border: none;
}

.default-table table tr{
    border-bottom: 1px dotted #ccc;
}
.default-table table tr th,
.default-table table tr td{
    box-sizing: border-box;
    vertical-align: middle;
    padding: 16px 12px;
    border: none;
    text-align: left;
}
.default-table table tr th{width: 20%;}
.default-table table tr td{width: 80%;}

.default-table table tr td ul li{
    list-style: disc;
    margin: 0 0 4px 20px;
}

/* ----------------------- */
/* news
/* ----------------------- */
ul.news-list{
    border-top: 1px dotted #CCC;
}
ul.news-list a{
    display: flex;
    flex-wrap: nowrap;
    border-bottom: 1px dotted #CCC;
    padding: 20px 0;
}
ul.news-list a p.date,
ul.news-list a p.blog-cat{
    width: 100px;
    font-size: 0.8em;
    border-right: 1px dotted #CCC;
    text-align: center;
}

ul.news-list a h3{
    font-size: 15px;
    margin: 0 0 0 20px;
    padding: 0 0 0 0;
    width: 72%;
}
ul.news-list a:hover h3{color: #D82E8B;}



/* ----------------------- */
/* CTA
/* ----------------------- */
body.page-id-21 section.cta{display: none;}
.site-body-bottom .container{
  max-width: 94%;
}

section.cta{
    margin-bottom: 0;
    color: #fff;
    padding: 100px 0;
    text-align: center;
}
section.cta h2{margin-bottom: 24px;}

.cta ul{
    display: flex;
    justify-content: center;
    gap:40px;
    margin: 50px 0 0;
    padding: 0 0 0 0;
}
.cta ul li.cta-caption{
    margin-bottom: 36px;
}
.cta ul li.cta-tel span{
    font-size: 3rem;
    display: block;
    margin-bottom: 20px;
}
.cta ul li.cta-mail{
    width:300px;
}
.cta ul li a {text-decoration: none;}
.cta ul li.cta-mail a{
    width: 100%;
    max-width: 100%;
    background-color: #fff;
    color:#D82E8B;
    font-size: 1.2rem;
    padding-top: 20px;
    padding-bottom: 20px;
    display: block;
    border-radius: 5rem;
}

.cta ul li.cta-mail a:hover{
    background-color:#74318E;
    color: #fff;
}

/* ----------------------- */
/* footer
/* ----------------------- */
footer,
div.site-footer-content{
    padding: 40px 0;
}
footer div.footer-info,
div.site-footer-content{
    text-align: center;
}
footer div.footer-info h2{
    width: 80%;
    max-width: 120px;
    margin:0 auto 24px;
}
footer div.footer-info p.site-name,
div.div.site-footer-content h4{
    font-weight: 700;
    font-size: 1.1rem;
}
footer ul li{
    margin-top: 16px;
}

.copy-write{
    border-top:1px solid #ccc ;
    margin-top: 36px;
    padding-top: 36px;
    padding-bottom: 36px;
    text-align: center;
    font-size: 0.75rem;
}

/* ----------------------- */
/* Blog
/* ----------------------- */

/* archive */
.entry-info{
    display: flex;
    gap: 20px;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.pagenavi{
    margin-top: 60px;
    text-align: center;
}

/* single */
.entry-headding{
    border-bottom: 2px solid #D82E8B;
    padding-bottom: 24px;
    margin-bottom: 36px;
}
.entry-headding h2{margin-bottom: 0;}
.blog-unit{
    margin-bottom: 60px;
}

/* ----------------------- */
/* Contact
/* ----------------------- */
div.form-table table{
    width: 100%;
    border: none;
}
div.form-table table tr th,
div.form-table table tr td{
    vertical-align: middle;
    padding: 1rem;
    box-sizing: border-box;
    text-align: left;
    border: none;
}
div.form-table table tr th{width: 30%;}
div.form-table table tr td{width: 70%;}
div.form-table table tr th span{
    background-color: #ca0502;
    color: #fff;
    padding: 4px 16px;
    border-radius: 6px;
    margin-right: 12px;
}
div.form-table table tr td input,
div.form-table table tr td textarea{
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 12px;
}
div.form-table tr td .form-text{
    width: 90%;
}
div#submit{
    display: flex;
    justify-content: center;
    margin-top: 24px;
    gap: 24px;
}
div#submit input{
    background-color: #1B7BC4;
    color: #fff;
    border: none;
    border-radius: 3rem;
    padding: 16px 20px;
    min-width:200px;
    text-align: center;
    transition: .3s;
}
div#submit input.confbtn{background-color: #D82E8B;}
div#submit input:hover{background-color: #255477;}
div#submit input.confbtn:hover{background-color:#74318E;}

/* タブレット対応 */
@media screen and ( max-width:1024px) {

    /* ----------------------- */
    /* main-visual-tablet
    /* ----------------------- */
    section.main-visual{
        height: auto;
        padding: 8% 3%;
    }
    section.main-visual .mv-inner h1{
        font-size:2.5em;
    }
    section.main-visual .mv-inner h1 span{
        font-size: 4em;
        margin-left: 0;
    }
    section.main-visual .mv-inner p.copy-main{
        font-size: 2.2em;
    }
    section.main-visual .mv-inner p.copy-sub{
        font-size: 1.2em;
    }
    /* ----------------------- */
    /* concept-stablet
    /* ----------------------- */
    .index-concept div.inner-contents{
        flex-direction: column;
    }
    .index-concept .ic-img{
        width: 45%;
        margin-bottom: 24px;
    }
    .index-concept .ic-text{
        width:100%;
    }
    .sevice-img{
        width: 94%;
        overflow: hidden;
        margin: 0 auto;
    }
    .sevice-img img.zoom-image {
        width: 94%;
        border-radius: 12px 12px 0 0;
    }

    /* ----------------------- */
    /* service-stablet
    /* ----------------------- */
    .service-headding{
        flex-direction: column;
    }
    .service-headding h3{width: 100%;}
    .service-headding p{width: 100%;}

    article.service-list{
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }
    article.service-detail{
        gap: 8px;
    }
    article.service-detail div.service-detail-unit{
        border-radius: 12px;
        padding: 5%;
    }
    div.service-detail-unit h4{
        font-size: 1.8em;
        margin: 16px 0 24px;
    }
    div.service-detail-unit h4 span{
        font-size: 0.8em;
        display: block;
    }
    div.service-detail-unit ul li{
        background-size: 16px;
        padding:8px 0 8px 24px;
        border-top: 1px dotted #ccc;
        background-position: left 15px;
    }
    div.service-detail-unit img{width: 100%;}
    /* ----------------------- */
    /* problem-tablet
    /* ----------------------- */
    div.flow-list{
        grid-template-columns: repeat(2,1fr);
        margin-bottom:32px;
    }
    div.flow-list div.flow-list-unit img{
        width: 45%;
    }
    div.flow-list div.flow-list-unit p.flow-caption{
        padding: 5%;
    }

    div.problem-list{
        grid-template-columns: repeat(1,1fr);
        gap: 20px 0;
    }
    div.problem-list div.problem-list-unit{
        padding: 20px;
    }
    /* ----------------------- */
    /* point-tablet
    /* ----------------------- */
    div.point-contents.column2{
        flex-direction: column;
    }
    div.point-contents.column2 p.point-img{width: 70%; text-align: center; margin: 0 auto 24px;}
    div.point-contents.column2 div.point-text{width: 100%;}
    div.point-contents.column2 h4:nth-child(n+2){margin-top: 50px;}

    /* ----------------------- */
    /* greeting-tablet
    /* ----------------------- */
    article.greeting-unit{
        padding:520px 0 0 0;
        margin-bottom: 60px;
    }
    article.greeting-unit::after{
        top: 0;
        bottom:auto;
        width: 100%;
        height: 500px;
        border-radius: 20px;
    }
    div.round-contents{
        border-radius: 24px;
        padding: 32px;
    }
    article.greeting-unit div.round-contents{
        width: 100%;
    }


}


/* SP対応 */
@media screen and (max-width:768px) {
    body{
        font-size: 14px;
    }

    section{
        margin-bottom: 50px;
    }
    section.round-box,
    div.page-header,
    .site-body-bottom{
        width: 100%;
        border-radius: 0;
        padding-top: 8%;
        padding-bottom: 8%;
    }

    /* headding-sp */
    h2{
        font-size:2em;
        margin-bottom: 40px;
    }
    .headding p{
        font-size:1.2em;
    }
    .headding.min-spacing h2{font-size:1.8em;}
    h3{
        font-size: 1.4em;
        line-height: 1.8em;
        margin-bottom: 32px;
    }
    h3.line-headding{
        padding:4%;
    }
    h4{
        font-size: 1.2em;
    }


    a.link-btn,
    a.link-btn.left{
        max-width: 90%;
        margin: 32px auto 0;
    }


    /* ----------------------- */
    /* main-visual-sp
    /* ----------------------- */
    main{padding-top: 0;}

    section.main-visual{
        flex-direction: column;
        gap: 20px;
        padding:8% 5%;
        height: auto;
        text-align: center;
        border-radius: 0;
    }
    section.main-visual .mv-inner h1{
        font-size:2em;
    }
    section.main-visual .mv-inner h1 span{
        font-size: 5em;
        margin-left: -20px;
    }
    section.main-visual .mv-inner p.copy-main{
        font-size: 2em;
        font-weight: 500;
        line-height: 1.3em;
        margin: 40px 0 20px;
    }
    section.main-visual .mv-inner p.copy-sub{
        font-size: 1.3em;
    }
    section.main-visual p.mv-img{
        width: 70%;
    }


    /* ----------------------- */
    /* service-sp
    /* ----------------------- */
    section article:nth-of-type(n+2){
        margin-top: 60px;
    }
    .service-headding{
        flex-direction: column;
    }
    .service-headding h3{width: 100%;}
    .service-headding p{width: 100%;}

    article.service-list{
        grid-template-columns: repeat(1,1fr);
        gap: 20px;
    }
    article.service-list div.service-list-unit{
        padding: 5%;
    }
    div.service-list-headding h4{
        font-size: 1.8em;
    }

    article.service-detail{
        grid-template-columns: repeat(1,1fr);
        gap: 40px 0;
    }
    article.service-detail div.service-detail-unit{
        border-radius: 12px;
        padding: 5%;
    }
    div.service-detail-unit h4{
        font-size: 1.8em;
        margin: 16px 0 24px;
    }
    div.service-detail-unit h4 span{
        font-size: 0.8em;
        display: block;
    }
    div.service-detail-unit ul li{
        background-size: 16px;
        padding:8px 0 8px 24px;
        border-top: 1px dotted #ccc;
        background-position: left 15px;
    }

    /* ----------------------- */
    /* problem-sp
    /* ----------------------- */
    p.caption-text{margin-bottom: 20px;}

    div.flow-list{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        margin-bottom:32px;
    }
    div.flow-list div.flow-list-unit h4{font-size: 1.1em;}
    div.flow-list div.flow-list-unit img{
        width: 65%;
    }
    div.flow-list div.flow-list-unit p.flow-caption{
        padding: 5%;
    }

    div.problem-list{
        grid-template-columns: repeat(1,1fr);
        gap: 20px 0;
    }
    div.problem-list div.problem-list-unit{
        padding: 20px;
    }

    .mb-plus{margin-bottom: 20px;}

    /* ----------------------- */
    /* point-sp
    /* ----------------------- */

    article.point-unit{
        border-radius: 16px;
        border: 2px solid #fff;
        overflow: hidden;
    }
    article.point-unit div.point-headding{
        padding:5% 3%;
    }
    article.point-unit div.point-headding p{
        padding: 2px 20px;
        font-size: 1.1em;
        margin-bottom: 20px;
    }
    article.point-unit div.point-contents{
        padding: 4%;
    }
    div.point-contents.column1 p:nth-child(n+2){
        margin-top: 24px;
    }

    /* ----------------------- */
    /* greeting
    /* ----------------------- */
    article.greeting-unit{
        padding: 320px 0 0 0;
    }
    article.greeting-unit::after{
        height: 300px;
    }
    div.round-contents{
        border-radius: 24px;
        padding: 32px;
    }
    article.greeting-unit div.round-contents{
        width: 100%;
    }



    /* ----------------------- */
    /* company-sp
    /* ----------------------- */
    section.index-conmpay article{
        margin-bottom: 50px;
    }
    .default-table{
        margin-top: 20px;
    }

    .default-table table tr th,
    .default-table table tr td{
        display: block;
    }
    .default-table table tr th{width: 100%; padding: 12px 6px 0;}
    .default-table table tr td{width: 100%; padding: 0 0 12px 16px;}

    .default-table table tr td ul li{
        list-style: disc;
        margin: 0 0 4px 20px;
    }

    /* ----------------------- */
    /* news
    /* ----------------------- */
    ul.news-list a{
        flex-wrap: wrap;
        padding: 12px 0;
    }
    ul.news-list a p.date,
    ul.news-list a p.blog-cat{
        width: auto;
        text-align: left;
        padding-right: 10px;
        margin-right: 10px;
    }

    ul.news-list a h3{
        font-size: 1rem;
        margin:10px 0 0 0;
        width: 100%;
    }


    /* ----------------------- */
    /* CTA-sp
    /* ----------------------- */

    section.cta{
        padding: 8% 0;
    }
    section.cta h2{margin-bottom: 24px;}

    .cta ul{
        flex-direction: column;
        align-items: center;
        gap:40px 0;
        margin: 40px 0 0;
        padding: 0 6%;

    }
    .cta ul li.cta-tel{
        font-size: 1rem;
    }
    .cta ul li.cta-tel span{
        font-size: 2rem;
        display: block;
        margin-bottom: 10px;
    }
    .cta ul li.cta-mail,
    .cta ul li.cta-tel{
        width:100%;
    }
    .cta ul li.cta-tel a{
        width: 100%;
        max-width: 100%;
        background-color: #fff;
        color:#D82E8B;
        padding-top: 20px;
        padding-bottom: 20px;
        display: block;
        border-radius: 5rem;
    }

    .cta ul li.cta-tel a:hover
    .cta ul li.cta-mail a:hover{
        background-color:#74318E;
        color: #fff;
    }


    /* ----------------------- */
    /* footer-sp
    /* ----------------------- */
    footer{
        padding: 24px 0;
    }
    footer div.footer-info p.site-name{
        font-size: 1rem;
    }
    ul.foot-bnr{
        width: 70%;
        margin:24px auto 0;
        flex-direction: column;
        gap: 12px;
    }
    .copy-write{
        margin-top: 24px;
        padding-top: 24px;
        padding-bottom: 24px;
        font-size: 0.8rem;
    }

    ul#menu-footer-nav li{
      border-top: 1px dotted #ccc;
    }
    ul#menu-footer-nav li:last-child{
      border-bottom: 1px dotted #ccc;
    }

    /* ----------------------- */
    /* Blog-sp
    /* ----------------------- */
    .entry-headding h2{font-size: 1.5em;}

    /* ----------------------- */
    /* Contact
    /* ----------------------- */
    div.form-table table tr th,
    div.form-table table tr td{
        display: block;
        width: 100%;
    }
    div.form-table table tr th{padding-bottom: 0;}
    div.form-table table tr td{padding-top: 1em;}
    div.form-table table tr td input,
    div.form-table table tr td textarea{
        padding: 3%;
    }
    div.form-table tr td .form-text{
        width: 100%;
    }
    div#submit{
        flex-direction: column;
        margin-top: 24px;
        gap: 24px;
    }
    div#submit input{
        padding: 20px 0;
        min-width:auto;
        width: 100%;
    }

}
