@charset "utf-8";
/*
Theme Name: Charitie Maebashi
Theme URI: https://www.dik.co.jp/
Version: 2.0.1
Author: DIK
*/

:root {
    
    /* Color */
	--color-main: #922a41;
	--color-main-light: #c46e78;
    --color-main-soft: #d5746b;
	--color-main-thin: #ffdedb;
    
    --color-link: #00e;
    --color-link_hover: #07e;
    
    /* Font */
    --font-main: "Zen Maru Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", serif;
    --font-serif: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro W3", "MS P明朝", "MS PMincho", serif;
    --font-kaku900: "Zen Kaku Gothic New", sans-serif;
    --font-copyright: Verdana, "Droid Sans", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    
    --fa: "Font Awesome 6 Free"; /* https://fontawesome.com/search?o=r&m=free */
    
    /* Header, Logo Size */
    --size-header-height: 130px;
    --img-logo-src: url("images/base/logo-header.svg");
    --img-logo-width: 201px;
    --img-logo-height: 80px;
    @media (width <= 999px) {
        --size-header-height: 60px;
        --img-logo-width: 101px;
        --img-logo-height: 40px;
    }
    
    /* Contents Size */
    --size-content-max-width: 1200px;
    --size-content-min-width: 1200px;
    @media (width <= 999px) {
        --size-content-max-width: 100%;
        --size-content-min-width: 100px;
    }
    
    /* Toggle Menu - Width Size */
    --side-toggle-width: 100%;
    
    /* Global Menu Count */
    --global-menu-count: 5;
    
}

* { box-sizing: border-box; }
html { font-size: 62.5%; /* 15px x 0.625 = 10px(=1rem) */ }
body {
	background: #fff;
	font-family: var(--font-main);
    font-weight: 500;
	font-size: 1.6rem;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	line-height: 1.7;
    letter-spacing: 2px;
}
#container img {
    border-radius: 10px;
    /*pointer-events: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-touch-callout: none;
    -moz-user-select: none;
    user-select: none;*/
}

/* ------------------------------------------------------- */
/* layout ------------------------------------------------ */
/* ------------------------------------------------------- */

/* base サイトレイアウトの基本設定 ----------------------- */

#top {
	width: 100%;
}
.sectionInner {
	max-width: var(--size-content-max-width);
	min-width: var(--size-content-min-width);
	margin: 0 auto;
	padding: 0;
	clear: both;
}
#footer {
	width: 100%;
	min-width: 1000px;
}
@media only screen and (max-width:999px) {
    .sectionInner {
        width: 100%;
        padding: 0 20px 0 20px;
    }
    #footer {
        min-width: 100px;
        width: 100%;
    }
}

/* ------------------------------------------------------- */
/* header ------------------------------------------------ */
/* ------------------------------------------------------- */

#header {
    .headerInner {
        background: rgba(255,255,255,0.8);
        width: 100%;
        height: var(--size-header-height);
        position: absolute;
        z-index: 10;
        top: 0;
        left: 0;
        @media (width <= 999px) {
            position: fixed;
        }
        header {
            max-width: var(--size-content-max-width);
            min-width: var(--size-content-min-width);
            margin: 0 auto;
            @media (width <= 999px) {
                width: 100%;
                padding: 10px;
            }
            &#top {
                display: flex;
                align-items: center;
                justify-content: space-between;
                @media (width <= 999px) {
                    order: 2;
                }
            }
            .headerTitle {
                display: flex;
                align-items: center;
                padding: 25px 0;
                @media (width <= 999px) {
                    flex-wrap: wrap;
            		padding: 0;
                }
                .logo {
                    width: var(--img-logo-width);
                    height: var(--img-logo-height);
                }
                .logo a {
                    display: block;
                    width: 100%;
                    height: 100%;
                    background: var(--img-logo-src) no-repeat;
                    background-size: 100%;
                    overflow: hidden;
                    text-indent: 100%;
                    white-space: nowrap;
                    @media (width <= 999px) {
                        background-size: 100%;
                    }
                }
            }
        }
    }
}
body:not(.front) #header {
    background-image: url("images/base/header-bg.webp");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}
body:not(.front).overview #header {
    background-image: url("images/base/header-bg_overview.webp");
}
body:not(.front).access #header {
    background-image: url("images/base/header-bg_access.webp");
}
body:not(.front).privacy #header {
    background-image: url("images/base/header-bg_privacy.webp");
}
body:not(.front).recruit #header {
    background-image: url("images/base/header-bg_recruit.webp");
}
body:not(.front).contact #header {
    background-image: url("images/base/header-bg_contact.webp");
}

/* ------------------------------------------------------- */
/* footer ------------------------------------------------ */
/* ------------------------------------------------------- */

#footer {
    background: var(--color-main);
    color: #fff;
    a {
        color: #fff;
        text-decoration: none;
        &:hover {
            text-decoration: underline;
        }
    }
}
.footerInner {
	max-width: var(--size-content-max-width);
    min-width: var(--size-content-min-width);
	margin: 0 auto;
	padding: 30px 0 25px;
    display: grid;
    grid-template-columns: 190px 1fr 1fr 280px;
    gap: 40px;
    @media (width <= 999px) {
        width: 100%;
        min-width: 100px;
	    padding: 45px 15px 20px 15px;
        display: block;
    }
    .footer-logo {
        @media (width <= 999px) {
            margin-bottom: 30px;
            text-align: center;
        }
        img {
            @media (width <= 999px) {
                width: 60%;
            }
        }
    }
    .footerMenu {
        @media (width <= 999px) {
            margin-bottom: 30px;
        }
    }
    .footerInfo {
        @media (width <= 999px) {
            text-align: center;
        }
        address {
            @media (width <= 999px) {
                margin-bottom: 30px;
                font-size: 1.5rem;
            }
            .tel {
                font-family: var(--font-kaku900);
                font-weight: 900;
                font-size: 2.8rem;
                color: #fff;
                a {
                    font-size: 3.5rem;
                }
            }
        }
    }
    .footer-banner {
        display: flex;
        align-items: center;
        @media (width <= 999px) {
            justify-content: center;
        }
        div:first-child {
            margin-right: 10px;
        }
        div {
            img {
                width: 160px;
            }
        }
    }
}
#copyright {
    text-align: center;
    font-size: 1.3rem;
    padding: 5px;
	font-family: var(--font-copyright);
    @media (width <= 999px) {
        font-size: 1.1rem;
    }
}
@media only screen and (max-width:999px) {
    .footerInfo, .footerMenu { width: 100%; }
    .footerInfo {
        text-align: left;
        padding-right: 0;
    }
}

/* ------------------------------------------------------- */
/* プリント用 -------------------------------------------- */
/* ------------------------------------------------------- */

@media print {	
    #humberger, #pageTop, #pageTop div, #movePageTop, #pageTop p {
        display: none!important;
    }
    #container {
        padding: 0!important;
    }
    #header {
        position: static!important;
    }
    .topContents {
        min-width: 1000px!important;
        width: 100%!important;
        margin: 0!important;
        padding: 0!important;
        overflow: hidden!important;
    }
}

/* ------------------------------------------------------- */
/* dark mode --------------------------------------------- */
/* ------------------------------------------------------- */

/*@media (prefers-color-scheme: dark) {
	html { filter: invert(1) hue-rotate(180deg); }
	html img { filter: invert(1) hue-rotate(180deg); }
}*/