@charset "utf-8";
/*
Theme Name:astra_child
Template:astra
Version: 2.3.1
*/
		/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
}
	a:visited{
		text-decoration: none;
	}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
/* リセットCSSここまで */
*, *::before, *::after {
    box-sizing: border-box;
}



/* 全般 */
/* テキストのサイズをrem指定する */
html{
    font-size: 10px;
}
body{
    font-size: 1.6rem;
}

/* h1で囲われたimgの下余白を削除する。 */
h1 img{vertical-align: bottom;}

/* 全般 */
/*テキスト装飾セット*/
.font_b{
    font-weight: bold;
}

.font_size15b{
    font-size: 1.5em;
}

.font_size08b{
    font-size: 0.8em;
}

.fontsize_20b{
font-size: 2em;
}

.font-size05{
font-size:0.5em;
}

.line_accent {
    background: linear-gradient(transparent 75%, #FDF27D 75%);
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: 0.4s;
}

.isAnimate2 {
    background-size: 100% 100% !important;
    transition: 0.4s;
}

/* 左右上下中央寄せ */
.p_cc{
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}


.cont_fit{
    width: fit-content !important;
}

/* 画像ホバー拡大セット */

.img_waku {
    overflow: hidden;
}

.img_waku img {
    display: block;
    width: 100%;
    object-fit: cover;
    transition: 0.5s;
}

.waku_link:hover .img_waku img {
    opacity: 0.8;
}

/* CTA */

.cont_fit_spclear{
    width: fit-content !important;
}

.tel_btn svg{
    width:0.7em;
}
.cta_sousyoku {
    position: absolute;
    top: 0;
    left:0;
    height: 100%;
    z-index: 1;
    display: flex;
    gap: 3px;
}
.cta_border {
    display: block;
    background-color:
#ffffff;
    width: 1px;
}
@media screen and (max-width:1024px){
    .cta_sousyoku {
    flex-direction: column;
    gap: 3px;
    height:30px;
    width:100%;
}
    .cta_border {
    display: block;
    background-color:
#ffffff;
    width: 100%;
    height:1px;
}

}

@media screen and (max-width:767px){
        .cta_sousyoku {
    gap: 2px;
}

.cont_fit_spclear{
    width: 100% !important;
}

}

/* 小見出し */

.h3midashi_sousyoku {
    display: flex;
    flex-direction: column;
    width: 30px;
    gap: 5px;
}

.h3midashi_sousyoku span {
    height: 1px;
    background-color: #999999;
    transform: scaleY(2);          /* 見た目は2pxだが、位置は1px基準 */
    transform-origin: center center;
    will-change: transform;        /* レンダリングをGPUに委ねて安定化 */
}

@media screen and (max-width:767px){
    .h3midashi_sousyoku {
        width: 20px;
        gap: 5px;
    }


}


/* MV */
.p_cc_cta{
    position: absolute !important;
    top: 55% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* こんなお悩みありませんか？ */
.onayami_list{
    display: flex;
    flex-wrap: wrap;
    align-content: stretch;
    gap: 30px 6%;
}

.onayami_list_item p{
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height:1.5;
}

.onayami_list_item {
    display: flex;
    width: 47%;
    align-items: center;
    gap: 15px;
    padding: 20px 15px;
    position: relative;
    background-color: #F6F8F9;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.25);
}

/* 白三角形（ページ背景色に合わせて変更） */
.onayami_list_item::before {
    content: '';
    position: absolute;
    top: -10px;
    right: -10px;
    width: 30px;
    height: 30px;
    background-color: #ffffff;
}

/* 灰色三角形（折り目の影） */
.onayami_list_item::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 0 20px;
    border-color: transparent transparent transparent #c0c4c7;
}

@media screen and (max-width:767px){
    .onayami_list_item {
    width: 100%;
    padding: 10px 21px 10px 15px;
}

    .onayami_list_item img {
    width: 14px;

}
}

.onayami_sousyoku{
    display: flex;
    flex-direction: column;
    gap:5px;
    width: 100%;
}

.onayami_border{
    height:1px;
    background-color: #F6F8F9;
}

.b20{
    height:3px;
}

/*便利なCSS*/
/* ブラウザ幅により、表示非表示を切り替えるCSS：クラス名一覧
◆パソコンのみ表示する
pconly
◆タブレットのみ表示する
tbonly
◆スマホのみ表示する
sponly
◆パソコン～タブレットのみ表示する
pctbonly
◆タブレット～スマホのみ表示する
tbsponly
◆パソコン・スマホのみ表示する
pcsponly
 */
/* パソコン幅 */
    /* パソコンのみ表示する */
    .npconly{
        display: none !important;
    }
    .pconly{
        display: block !important;
    }
    /* タブレットのみ表示する */
    .tbonly{
        display: none !important;
    }
    /* スマホのみ表示する */
    .sponly{
        display: none !important;
    }
    /* パソコン～タブレットのみ表示する */
    .pctbonly{
        display: block !important;
    }
    /* タブレット～スマホのみ表示する */
    .tbsponly{
        display: none !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: block !important;
    }
    @media screen and (max-width:1024px){
        .npconly{
            display: block !important;
        }
    }
/* タブレット幅 */

@media screen and (max-width:1024px){
    /* パソコンのみ表示する */
    .pconly{
        display: none !important;
    }
    /* タブレットのみ表示する */
    .tbonly{
        display: block !important;
    }
    /* タブレット～スマホのみ表示する */
    .tbsponly{
        display: block !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: none !important;
    }
}
/* スマホ幅 */
@media screen and (max-width:767px){
    /* タブレットのみ表示する */
    .tbonly{
        display: none !important;
    }
    /* スマホのみ表示する */
    .sponly{
        display: block !important;
    }
    /* パソコン～タブレットのみ表示する */
    .pctbonly{
        display: none !important;
    }
    /* パソコン・スマホのみ表示する */
    .pcsponly{
        display: block !important;
    }
}

