@charset "utf-8";
/*
Theme Name: gros2023
Theme URI: https://www.dik.co.jp/
Version: 2.0.1
Author: DIK
*/

:root{
    --main-font: "Noto Serif JP", serif;
    --main-en-font: "Playfair", serif;
    --sub-font: "Noto Sans JP" , sans-serif;
    --color-text: #292424;
    --color-white: #fff;
    --bgColor-gray: #4f4d4d;

    /* --color-primary: #a64d4d; */
    --color-primary: #8d0000;
    --btn-hover-primary:#952727;

    --fa: "Font Awesome 6 Free"; /* https://fontawesome.com/search?o=r&m=free */  
}
#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: #f5f5f5;
    font-family: var(--sub-font);
	/* font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", 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;
    color:#333;
}
/* @media only screen and (max-width:999px) {
    body {
        font-size: 3.39vw;
    }
} */
/* @media only screen and (max-width:768px) {
    body {
        font-size: 4.3vw;
    }
} */
/*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;
	padding: 0;
	clear: both;
}
.front #container,#container.wide,.zumen #container,.zumen-check #container{
    max-width:100%;
    width:100%;
}
.front #container{
    margin: 0 auto;
}
#main {
	width: 100%;
}
.inner{
    max-width: 1165px;
    width: 100%;
    padding: 0 25px;
    margin: 0 auto;
}
#contactBtm {
	width: 100%;
	min-width: 1000px;
}
#footer {
	width: 100%;
	min-width: 1000px;
}
@media only screen and (max-width:999px) {
    .inner{
        padding: 0 20px;
    }
    #container,.front #container,#container.wide,.zumen #container {
        min-width: 100px;
        width: 100%;
        padding: 0 15px 0 15px;
    }
    .front #container,#container.wide,.zumen #container{
        padding: 0px;
    }
    .front #container{
        margin: 0 auto;
    }
    #main {
        width: 100%;
        float: none;
    }
    .front #main {
        margin: 0 0 0px 0;
    }
    #contactBtm {
        min-width: 100px;
        width: 100%;
    }
    #footer {
        min-width: 100px;
        width: 100%;
        padding-bottom: 60px;
    }
}

/* ------------------------------------------------------- */
/* header ------------------------------------------------ */
/* ------------------------------------------------------- */

#header {
	/* height: 110px; */
	width: 100%;
	position: fixed;
	z-index: 10;
	/* background: #fff; */
	top: 0;
	left: 0;
    transition: all 0.3s;
}
.headerInner {
	max-width: 1115px;
	min-width: 1000px;
	margin: 0 auto;
}
#top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.headerTitle {
	display: flex;
    flex-direction: column;
    justify-content: center;
	height:110px;
}
.companyNameWrap{
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 7px;
    .companyLogo{
        img{
            aspect-ratio: 132 / 85;
            height: 25px;
        }
    }
    .companyName{
        font-family: var(--sub-font);
        color: var(--color-white);
        font-size: 1.3rem;
        letter-spacing: 0.06em;
        line-height:1;
        /* margin-bottom:5px; */
        font-weight: 500;
    }
}

a.siteName {
    width: 235px;
	height: 50px;
    color: var(--color-white);
    text-decoration:none;
    line-height:1;
    font-family: var(--main-font);
    font-size: 2.2rem;
    letter-spacing: 0.04em;
    font-weight: 500;
    &:hover{
        color: var(--color-white);
    }
}

.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;
}
.headerBtnContainer{
    display:flex;
    gap: 20px;
    line-height:1;
}
.headerBtn{
    a{
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        letter-spacing: 0.02em;
        font-family: var(--main-font);
        color: var(--color-white);
        text-decoration: none;
        border: 1px solid var(--color-white);
        border-radius: 50px;
        padding: 12px 35px 12px 30px;
        font-weight: 500;
        background: transparent;
        transition: 0.3s;
        position: relative;
        &:hover{
            width: 100%;
            background: var(--color-primary);
            color: var(--color-white);
        }
        &::after{
            font-family: 'Font Awesome 5 Free';
            position: absolute;
            content: '\f054';
            font-weight: bold;
            right: 15px;
            font-size: 1.1rem;
        }
    }
}
.headerBtn.primary{
    a{
        background: var(--color-primary);
        color: var(--color-white);
        border: 1px solid var(--color-primary);
        &:hover{
            color: var(--color-primary);
            background-color: var(--color-white);
        }
    }
}


/* ------------------------
スクロール後
.is-scroll スクロール後
.subPage 下層用クラス
--------------------------*/
#header.is-scroll,
#header.subPage{
    background: #f5f5f5;
    #top{
        padding-top: 25px;
    }
    .headerTitle{
        height: auto;
        .companyNameWrap {
            .companyName {
                color: var(--color-text);
            }
        }
    
        h1{
            a{
                color: var(--color-text);
                &:hover{
                    color: var(--color-text);
                }
            }
        }
    }
    .headerBtn{
        a{
            color: var(--color-text);
            border-color: var(--color-text);
            &:hover{
                color: var(--color-white);
                background-color: var(--color-primary);
                border-color: var(--color-primary);
            }
        }
    }
    .headerBtn.primary{
        a{
            color: var(--color-white);
            border-color: var(--color-primary);
            &:hover{
                color: var(--color-primary);
                background-color: var(--color-white);
            }
        }
    }
}
#header.subPage{
    a.siteName{
        color: var(--color-text);
    }
}


@media only screen and (max-width:999px) {
	/* #header {
		height: 60px;
	} */
	.headerInner {
		width: 100%;
		min-width: 100px;
		padding: 0px 15px 0;
	}
    #top {
        display: block;
        padding-top: 15px;
    }
	.headerTitle {
		flex-direction: column;
        justify-content:center;
        /* height:60px; */
        height: auto;
    }
    .campanyName{
        background: url("images/base/logo.jpg") no-repeat;
        background-size: 30px;
        height: 20px;
        padding-left: 35px;
        padding-top: 3px;
        line-height:1;
        margin:2px 0 4px;
        font-size:1.4rem;
    }

    a.siteName{
        font-size: 1.7rem;
    }
    .headerMenu,.headerBtn {display: none;}


    #header.is-scroll,
    #header.subPage{
        #top{
            padding: 15px 0;
        }
    }
}

/* ------------------------------------------------------- */
/* footer ------------------------------------------------ */
/* ------------------------------------------------------- */
#footer {
    background-color:var(--bgColor-gray);
    padding: 50px 0 50px;
}

.footerInner {
	max-width: 1115px;
	min-width: 1000px;
	margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color:#fff;
}
.footerInfo,
.footerMenu {width: 50%;}
.footerInfo {
    order: 1;
    text-align: left;
    padding-right: 25px;
}
.footerInfo dt{
    font-weight:bold;
    margin-bottom:10px;
    font-size:1.8rem;
}
.footerInfo dd{
    font-size:1.5rem;
}
.footerMenu {
    order: 2;
    text-align: right;
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    height:100%;
}
.footerMenu ul li {
    display: inline-block;
    margin-left: 15px;
}
.footerMenu ul li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0da";
    margin-right: 5px;
}
.footerMenu ul li a{
    text-decoration:none;
    color:#fff;
}

/* フッターリンク */
.footerTelContainer{
    .telContainer{
        padding-block: 0;
        margin-bottom: 50px;
    }
    .inner{
        padding-bottom: 50px;
        border-bottom: 2px solid #666;
    }
}

#copyright {
    text-align: right;
    font-size: 1.3rem;
    padding: 5px;
	font-family: Verdana, "Droid Sans", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media only screen and (max-width:999px) {
    #footer{
        padding: 30px;
        padding-bottom: 75px;
    }
    .footerInner {
        width: 100%;
        min-width: 100px;
    }
    /* .footerInner{
        padding:6.0vw 3.91vw
    } */
    .contentsBtmInner{
	    padding-top: 30px;
    }
    .contentsBtmInner > div:nth-child(1){
        width:100%;
    }
    .footerInner{
        flex-direction: column;
        justify-content: flex-start;
    }

    .footerInfo,
    .footerMenu {width: 100%;}
    .footerInfo{
        text-align:center;
        order:0;
        margin-bottom:15px;
        padding-right:0;
    }
    .footerMenu {
        text-align: center;
        margin-bottom: 0px;
        order:1;
    }

    .footerTelContainer{
        .telContainer{
            padding: 0;
            margin-bottom: 0;
            .inner{
                padding: 30px;
            }
        }
    }

    #copyright {
        text-align: center;
        font-size: 1.4rem;
    }
}

/* ------------------------------------------------------- */
/* 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); }
}*/