@charset "utf-8";
/*
Theme Name: plain
Theme URI: https://www.dik.co.jp/
Version: 2.0.1
Author: DIK
*/
:root{
    --main-color: #219765;
    --sub-color:#215b97;
    --sub-color-orange:#f6622e;
}
#humberger {
    -vendor-animation-duration: 3s;
    -vendor-animation-delay: 2s;
    -vendor-animation-iteration-count: infinite;
}
* { box-sizing: border-box; }
html { font-size: 62.5%; /* 15px x 0.625 = 10px(=1rem) */ }
body {
	background: #fff;
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;*/
	font-size: 1.6rem;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	line-height: 1.7;
}
/*img {
    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%;
}
#container {
	max-width: 1115px;
	min-width: 1000px;
	margin: 0 auto 25px;
	padding: 0;
	clear: both;
}

#footer {
	width: 100%;
	min-width: 1000px;
}
#footer.under{
    margin-top: 75px;
}
@media only screen and (max-width:999px) {
    #container {
        min-width: 100px;
        width: 100%;
        /* padding: 0 15px 0 15px; */
    }
    #main {
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
    #main #container{
        padding: 0 15px;
    }
    #side {
        width: 100%;
        float: none;
    }
    #footer {
        min-width: 100px;
        width: 100%;
    }
}

/* ------------------------------------------------------- */
/* header ------------------------------------------------ */
/* ------------------------------------------------------- */

#header {
    height: 110px;
    display: flex;
    align-items: center;
    width: 100%;
    position: fixed;
    z-index: 10;
    background: #fff;
    top: 0;
    left: 0;
    transition: 0.3s;
    .inner{
        width: 100%;
    }
}
#header.is-fixed{
    border-bottom: 3px solid var(--main-color);
}

#top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.headerTitle {
	display: flex;
	align-items: center;
	padding: 15px 0;
}
.headerLogo{
    display: flex;
    align-items: center;
    gap: 15px;
    .logo {
        flex-shrink: 0;
        img{
            width: 260px;
        }
    }
    .logoSmallTxt{
        font-size: 1.5rem;
        letter-spacing: 0.04em;
        color: #333;
        font-weight: bold;
        white-space: nowrap;
        span{
            display: inline-block;
        }
    }
}
.headerRightMenu{display:flex;}
.snsIcon{
    --snsIconSize:45px;
    display:inline-flex;
    gap:0 calc(var(--snsIconSize) / 2);
    margin:0 calc(var(--snsIconSize) / 2);
    & div a{
        width:var(--snsIconSize);
        height:var(--snsIconSize);
        display:block;
        overflow: hidden;
        white-space: nowrap;
        text-indent: 100%;
        position:relative;
    }
    & div a::before{
        content:"";
        width:var(--snsIconSize);
        height:var(--snsIconSize);
        background-repeat: no-repeat;
        background-size:100%;
        display:inline-block;
        position:absolute;
        top:0;
        left:0;
    }
    & div:nth-child(1) a::before{
        background-image: url("images/base/instagram.webp");
    }
    & div:nth-child(2) a::before{
        background-image: url("images/base/line.webp");
    }    
}

.headerMenu li {
    display: inline-block;
    margin-left: 15px;
}
.headerMenu li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0da";
    margin-right: 5px;
}
@media only screen and (max-width:999px) {
    #header{
        height: 80px;
    }
    #top{
        justify-content: center;
    }
    .headerLogo{
        gap: 20px;
        .logo{
            width: 180px;
        }
        .logoSmallTxt{
            font-size: 1.3rem;
            span{
                display: block;
                line-height: 1.4;
            }
        }
    }
    .snsIcon{
        display:none;
    }
}
@media screen and (max-width:374px) {
    #header {
        .inner{
            padding: 0 10px;
        }
    }
    .headerLogo {
        .logo {
            width: 130px;
        }
        .logoSmallTxt {
            font-size: 1.1rem;
        }
    }
}

#entryBtn{
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 10;

    a{
        border: 2px solid var(--sub-color-orange);
        background: var(--sub-color-orange);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        line-height: 1;
        font-weight: bold;
        letter-spacing: 0.05em;
        font-size: 1.7rem;
        writing-mode: vertical-rl;
        width: 60px;
        height: 180px;
        text-decoration: none;
        transition: 0.3s;
        &::before{
            font-family: 'Font Awesome 5 Free';
            content: '\f007';
            font-weight: bold;
            line-height: 1;
            font-size: 1.5rem;
        }
        &:hover{
            background: #fff;
            color: var(--sub-color-orange);
        }
    }
}

@media screen and (max-width:999px) {
    #entryBtn{
        top: auto;
        transform: none;
        right: auto;
        bottom: 0;
        width: 100%;
        a{
            border: 2px solid var(--sub-color-orange);
            background: var(--sub-color-orange);
            color: #fff;
            line-height: 1;
            font-size: 1.7rem;
            writing-mode: horizontal-tb;
            width: 100%;
            height: 60px;
        }
    }


}



/* ------------------------------------------------------- */
/* footer ------------------------------------------------ */
/* ------------------------------------------------------- */

#footer {
    padding: 75px 0;
	border-top: 2px solid #eee;
}


.footerContent{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    .footerLeft{
        .logo{
            width: 100%;
            max-width: 300px;
            height: auto;
            margin-bottom: 15px;
        }
        address{
            div{
                font-size: 2rem;
                letter-spacing: .006em;
                color: #333;
                font-weight: 500;
                margin-bottom: 5px;
                line-height: 1.3;
            }
            span{
                font-size: 1.8rem;
                letter-spacing: .0.6em;
                color: #333;
            }
        }
    }
    .footerRight{
        text-align: right;
        
        .footerMenu{
            margin-bottom: 15px;
        }
        .footerMenu ul li {
            display: inline-block;
            margin-left: 15px;
            font-weight: 500;
            color: #333;
            a{
                color: #333;
                text-decoration: none;
                transition: 0.3s;
            }
            a:hover{
                opacity: 0.7;
            }
        }
    }
    .footerBtn{
        a{
            width: 180px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-weight: 500;
            background: var(--sub-color);
            border: 2px solid var(--sub-color);
            text-decoration: none;
            transition: 0.3s;
            margin: 0 0 0 auto;
        }          
        a:hover{
            background: #fff;
            color: var(--sub-color);
        }

    }
}
#copyright {
    text-align: center;
    font-size: 1.6rem;
    padding-top: 50px;
}
@media only screen and (max-width:999px) {
    .footerContent{
        flex-direction: column;
        gap: 25px;
        align-items: center;

        & .footerLeft {
            & address {
                div {
                    font-size: 1.8rem;
                }
            }
            span{
                font-size: 1.6rem;
            }
        }
        .footerBtn{
            a{
                margin: 0 auto;
            }
        }
    }

}

/* ------------------------------------------------------- */
/* side -------------------------------------------------- */
/* ------------------------------------------------------- */

#side {}

/* Widget */
.widget ul li {
	border-bottom: 1px dotted #CCC;
	margin-bottom: 5px;
	padding: 0 10px 0px 10px;
	font-size: 1.4rem;
}
.widget ul li a {
	display: block;
}
.tagcloud a {
	border-bottom: 1px dotted #CCC;
	margin-bottom: 5px;
	padding: 0 10px 0px 10px;
	font-size: 1.4rem !important;
	display: block;
}
.archive_month select {
	width: 96%;
	margin: 0 2%;
}

/* ------------------------------------------------------- */
/* プリント用 -------------------------------------------- */
/* ------------------------------------------------------- */

@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); }
}*/