@charset "UTF-8";

html,
body {
    margin: 0;
    padding: 0;
}

ul {
    list-style-type:none;
    margin:0;
    padding:0;
}

dl ,
dt ,
dd {
    margin:0;
    padding:0;
}

img {
	max-width:100%;
	height:auto;
	margin:0;
	padding:0;
}

h1 ,
h2 ,
h3 {
	margin:0;
	padding:0;
}

.mintyou {
    font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "MS PMincho",
    "MS Mincho",
    serif;
}

a[href^="tel:"] {
    color: inherit;
    text-decoration: none;
}

/* -----------------------------------------------------
    WordPress RESET
----------------------------------------------------- */
div.wp-block-column,
div.wp-block-columns,
div.is-layout-flex,
div.is-layout-constrained,
div.is-layout-flow {
    margin: 0;
    padding: 0;
    gap: 0;
}

div.wp-block-column figure,
div.wp-block-columns figure,
div.is-layout-flex figure,
div.is-layout-constrained figure,
div.is-layout-flow figure {
    margin: 0;
    padding: 0;
}

div.wp-block-columns {
    width: 92%;
    margin: 0 auto;
}

html {
    background:url('../img/bg.webp');
    background-size:20%;
    height:100%;
}

body {
    display:flex;
    flex-direction: column;
    min-height:100%;
}
main {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

header {
        height:var(--header-height);
        display:flex;
        align-items: center;
}

.outer {
    flex-grow: 1;
    width:100%;
}

.inner {
    width: 92%;
    max-width:960px;
    margin: 0 auto;
    height: 100%;
    position:relative;
}

footer {
    margin:0;
    padding:0;
    background:#000;
    text-align:center;
    position:relative;
}
body#page footer {
    /* top:-1rem; */
}


/* 色・サイズ調整 */ 
:root {
	--arrow-margin:0.8rem;
}

/* 吹き出し（共通） */
footer h2 {
	position:relative;
	display:block;
	padding:0.5em 1em;
    background:url('../img/footer_bg.png');
    background-size:100% auto;
	background-color:#0a2244;
    color:#fff;
    text-align:center;
    font-size:1.2rem;
    line-height:1em;
    padding:1.5rem 0 1.5rem;
    top:-1rem;
}
footer h2:before {
	content:"";
	position:absolute;
}
/* 下向き */
footer h2:before {
	top:100%;
	left:50%;
	margin-left:calc(var(--arrow-margin) * -1);
	border:var(--arrow-margin) solid transparent;
	border-top:var(--arrow-margin) solid #0a2244;
}

body#page footer h2 {
    padding:2.5rem 0 1.5rem;
}


footer .support {
    color:#fff;
    text-align:center;
    margin:2rem 0 0.5rem;
}
footer .tel {
    background:url('../img/icon_tel.svg') no-repeat;
    background-size:auto 100%;
    background-position:left center;
    color:#fff;
    text-align:center;
    display:inline-block;
    margin:0 auto;
    font-size:2.4rem;
    line-height:1em;
    font-weight:bold;
    padding-left:2.4rem;
}

footer .contact {
    display:flex;
    gap:1rem;
    padding:2rem 0 2rem;
}

footer .contact .contact_mail ,
footer .contact .contact_line {
    flex-basis:50%;
}
footer .contact .contact_mail a {
    border-radius:5rem;
    background:#fff;
    color:#000;
    text-decoration:none;
    font-weight:bold;
    font-size:0.8rem;
    line-height:1em;
    padding:1.5rem 0;
    display:block;
}
footer .contact .contact_mail a:hover {
    opacity:0.8;
}
footer .contact .contact_line a {
    border-radius:5rem;
    color:#fff;
    text-decoration:none;
    font-weight:bold;
    font-size:0.8rem;
    line-height:1em;
    padding:1.5rem 0;
    display:block;
    background:url('../img/icon_line.png') no-repeat;
    background-size:auto 70%;
    background-position:left 1rem center;
    background-color:#06c755;
    padding-left:2rem;
}
footer .contact .contact_line a:hover {
    opacity:0.8;
}

footer .copyright {
    border-top:1px solid #262626;
    background:#1b1b1b;
    padding:1rem 0;
}
footer .copyright img {
    width:34%;
    height:auto;
    margin-bottom:0.5rem;

}
footer .copyright span {
    color:#fff;
    font-size:0.6rem;
    line-height:1em;
    display:block;
}