@charset "utf-8";
/*
Theme Name: Laser Microscopy
Theme URI: https://www.dik.co.jp/
Version: 2.0.1
Author: DIK
*/

:root {
    
    /* Color */
	--color-main: #378ccd;
	--color-main-light: #abd7ff;
	--color-main-thin: #deebf7;
	--color-main-deep: #004c93;
    
    /* Font */
    --font-main: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    --font-serif: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro W3", "MS P明朝", "MS PMincho", 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.webp");
    --img-logo-src_en: url("images/base/logo_en.webp");
    --img-logo-width: 375px;
    --img-logo-height: 50px;
    @media (hover: none) and (any-pointer: coarse) {
        --size-header-height: 60px;
        /*--img-logo-src: url("images/base/logo-sp.webp");*/ /* PC, SP 違う画像の場合 */
        --img-logo-width: 225px;
        --img-logo-height: 30px;
    }
    
    /* Contents Size */
    --size-content-max-width: 1115px;
    --size-content-min-width: 1000px;
    @media (hover: none) and (any-pointer: coarse) {
        --size-content-max-width: 100%;
        --size-content-min-width: 100px;
    }
    
    /* 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-size: 1.6rem;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	line-height: 1.7;
    letter-spacing: 1px;
}

/* ------------------------------------------------------- */
/* layout ------------------------------------------------ */
/* ------------------------------------------------------- */

/* base サイトレイアウトの基本設定 ----------------------- */

#top {
	width: 100%;
}
#container {
    #main {
        section {
            .sectionInner {
                max-width: var(--size-content-max-width);
                min-width: var(--size-content-min-width);
                margin: 0 auto;
                padding: 30px 0;
                clear: both;
                @media (width <= 999px) {
                    width: 100%;
                    padding: 30px 15px;
                }
            }
        }
    }
}
#footer {
	width: 100%;
	min-width: var(--size-content-min-width);
    @media (width <= 999px) {
        width: 100%;
    }
}

/* ------------------------------------------------------- */
/* header ------------------------------------------------ */
/* ------------------------------------------------------- */

#header {
	height: var(--size-header-height);
	width: 100%;
	position: fixed;
	z-index: 10;
	background: #fff;
	top: 0;
	left: 0;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.headerInner {
	max-width: var(--size-content-max-width);
	min-width: var(--size-content-min-width);
	margin: 0 auto;
}
#top {
    display: flex;
    justify-content: space-between;
}
.headerTitle {
	display: flex;
	align-items: center;
	padding: 15px 0;
}
.logoTxt {
	font-size: 1.3rem;
	padding-left: 20px;
}
.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;
}
.english .logo a {
	background: var(--img-logo-src_en) no-repeat;
    background-size: 100%;
}
@media only screen and (max-width:999px) {
	.headerInner {
		width: 100%;
		padding: 15px 10px;
	}
    #top {display: block;}
	.headerTitle {
		flex-wrap: wrap;
		padding: 0;
	}
	.logoTxt {
		width: 100%;
		font-size: 1.2rem;
		padding-left: 0;
        order: 1;
	}
	.logo {
        order: 2;
	}
	.logo a {
		background-size: 100%;
	}
}

/* ------------------------------------------------------- */
/* footer ------------------------------------------------ */
/* ------------------------------------------------------- */

#footer {
    background: var(--color-main-deep);
    color: #fff;
    a {
        text-decoration: none;
        color: #fff;
        &: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: flex;
    justify-content: space-between;
}
.footerInfo, .footerMenu { width: 50%; }
.footerInfo {
    order: 1;
    text-align: left;
    padding-right: 25px;
    display: flex;
    align-items: center;
    @media (width <= 999px) {
        display: block;
    }
    .footer-logo-img {
        width: 100px;
        margin-right: 10px;
        @media (width <= 999px) {
            width: 100%;
            margin-bottom: 10px;
            margin-right: 0;
            text-align: center;
        }
        img {
            vertical-align: bottom;
            @media (width <= 999px) {
                width: 100px;
                height: auto;
            }
        }
    }
    .footer-logo-text {
        @media (width <= 999px) {
            text-align: center;
            font-size: 1.4rem;
        }
    }
}
#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) {
    .footerInner {
        width: 100%;
        display: block;
	    padding: 15px;
    }
    .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); }
}*/