@charset "utf-8";
/*
Theme Name: Dehenken
Text Domain: dehenken
Version: 1.0
Requires at least: 5.2
Requires PHP: 7.2
Description: 
Author: Fuji Power station & Freekobo
Author URI: https://fps2000.com/
Theme URI: http://www.dehenken.co.jp/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*==============================================================
    Common
==============================================================*/
* {
    background-color: #fff;
}
body {
	width: 100%;
    max-width: 1260px;
	margin: 0 auto;
	padding-top: 20px;
    background-color: #fff;
}
#wrapper {
    width: 100%;
    margin: 0 auto;
}
/****** Header block *****/
#main-header {
	width: 100%;
    max-width: 1110px;
	margin: 0 auto 10px auto;
    padding: 0;
}
#header-logo {
	display: table-cell;
    max-width: 410px;
	min-width: 140px;
    height: 100%;
	font-size: 0px;
	line-height: 0;
	vertical-align: middle;
}
#header-logo img {
	width: 100%;
    height: auto;
}
#header-menu {
	display: table-cell;
	width: 700px;
	height: 100%;
	text-align: right;
	vertical-align: bottom;
}
#header-menu .current {
	width: 100%;
	height: 20px;
	overflow: hidden;
}
#header-menu .current > li {
	float: left;
}
#mobile-main-header {
	display: none;
}
/****** Footer block *****/
footer {
	width: 100%;
    max-width: 960px;
    margin: 0 auto 20px auto;
	padding: 20px 10px;
	border-top: 1px solid #ccc;
}
footer #footer-menu {
	display: block;
	width: 100%;
	margin-bottom: 30px;
	padding: 10px;
	background-color: #eee;
}
footer #footer-menu > h3 {
	font-size: 14px;
	margin-bottom: 0.5em;
}
footer #footer-menu > ul.current {
	width: 100%;
	font-size: 14px;
	margin-left: 2em;
}
footer #footer-menu > ul.current > li {
	display: inline-block;
	margin-right: 1.5em;
}
footer #footer-menu > ul.current > li:nth-child(-n+2) {
	display: block;
}
footer #footer-menu > ul.current > li:nth-child(-n+2) > a:hover {
	color: #008;
}
footer #footer-menu > ul.current > li:before {
	content: '〇';
}
footer #footer-menu ul.sub-menu {
	width: 100%;
	font-size: 12px;
	margin: 0 0 0.5em 3em;
}
footer #footer-menu ul.sub-menu > li {
	display: inline-block;
	margin-right: 2em;
}
footer #footer-menu ul.sub-menu > li:before {
	content: '●';
}
footer #footer-logo {
    width: 230px;
    height: 45px;
    margin: 0 0 5px 0;
}
footer #footer-logo img {
    width: 100%;
    height: auto;
}
footer #company {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
}
footer #footer-note {
    width: 100%;
    font-size: 7pt;
}
footer #footer-note p {
    margin: 0;
}
footer #footer-note #address {
    display: inline-block;
    width: 50%;
}
footer #footer-note #copyright {
    display: inline-block;
    width: 49.5%;
    text-align: right;
}
/***** Contents block *****/
#contents-block {
    width: 100%;
	max-width: 960px;
	margin: 0 auto 50px auto;
	padding: 0 10px;
}


/***************************************************************
    Common (Mobile)
***************************************************************/
@media screen and ( max-width: 800px ) {
	body {
		width: 100%;
		max-width: 800px;
		min-width: 480px;
		padding: 0;
	}
    #wrapper {
        width: 100%;
    }
	#main-header {
		display: none;
	}
	#mobile-main-header {
		display: block;
		width: 100%;
		height: 50px;
		margin: 0 auto;
		padding: 0;
		background-color: #fff;
		box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.5);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
	}
	#mobile-header-logo {
		display: block;
		width: 180px;
		position: fixed;
		top: 5px;
		left: 0;
		z-index: 1001;
	}
	#mobile-header-logo img {
		width: 100%;
		height: auto;
	}
	#mobile-menu {
		width: 100%;
		height: auto;
		padding: 0;
		background-color: #fff;
		position: absolute;
		right: 0;
	}
	#mobile-menu .current {
		display: none;
	}
	#mobile-menu #mega-menu-mobile {
		width: 100%;
		height: 100%;
		overflow-y: scroll;
		box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.5);
	}
	/***** Contents block *****/
	#contents-block {
		width: 100%;
		padding: 0 0.5em;
	}
	/***** Footer block *****/
	footer {
		width: 100%;
		padding: 20px 1em;
	}
	footer #footer-menu {
		display: none;
	}
}
@media screen and ( max-width: 755px ) {
	footer #footer-note #address {
		display: block;
		width: 100%;
		font-size: 14px;
		margin-bottom: 1em;
	}
	footer #footer-note #copyright {
		display: block;
		width: 100%;
		font-size: 14px;
		text-align: right;
	}
}

/*==============================================================
    TOP page
==============================================================*/
#top-header {
    width: 100%;        /* 1260px */
    height: 47.619%;    /*  600px */
}
#top-header h2 {
	width: 100%;
	margin: 0;
}
#top-header img {
    width: 100%;
    height: auto;
}
#top-header #annotation {
	width: 100%;
	font-size: 18px;
	font-weight: bold;
	text-align: right;
	color: #888;
	margin-bottom: 20px;
	padding: 10px;
}
#top .top-linklist,
#product .top-linklist {
    width: 100%;
    margin: 0 0 50px 0;
}
#top .top-linklist figure,
#top .top-linklist figure img,
#product .top-linklist figure,
#product .top-linklist figure img {
    width: 100%;
    height: auto;
}
#top .top-linklist p,
#product .top-linklist p {
    font-size: 20px;
    padding: 0 10px;
}
#top .next-link {
    text-align: right;
}
#top .boder-line {
    width: 100%;
    margin: 20px 0 50px 0;
}

/***************************************************************
    Top page (Mobile)
***************************************************************/
@media screen and ( max-width: 800px ) {
	#top-header {
		margin-top: 52px;
	}
	#top-header #annotation {
		font-size: 10px;
	}
	#top .top-linklist p,
    #product .top-linklist p {
    	font-size: 16px;
	}
}

/*==============================================================
    Page common
==============================================================*/
#contents-block p,
#contents-block dl,
#contents-block ul {
    font-size: 18px;
    line-height: 1.4em;
    margin: 0 0 1em 0;
    padding: 0 2em;
}
#contents-block dd,
#contents-block li {
	margin-bottom: 0.5em;
}
#page-header {
    width: 100%;
    font-size: 22px;
    line-height: 1.45em;
    margin: 0 auto 20px auto;
}
#page-header h2,
#page-header h2 img {
    width: 100%;
    height: auto;
	margin: 0;
}
#page-header #annotation {
	width: 100%;
	font-size: 14px;
	text-align: right;
	color: #888;
	margin-bottom: 20px;
	padding-right: 2em;
}
.page-headline {
	width: 93%;
	font-size: 20px;
	margin: 0 auto;
}
.page-item-title {
    width: 100%;
    font-size: 28px;
	font-weight: normal;
    color: #fff;
    margin: 0 0 0.75em 0;
    padding: 10px 30px;
    border: 1px solid #fff;
    border-radius: 13px;
}
.page-item-list {
    font-size: 18px;
    line-height: 1.4em;
    margin: 0 2em 30px 3em;
    list-style-type: disc;
}
.page-note {
    font-size: 14px;
    margin: 0 0 0 2em;
}
.page-small {
    font-size: 12px;
}
.post-item-title {
	width: 100%;
	font-size: 18px;
	color: #fff;
	margin: 0 0 0.5em 0;
	padding: 5px 0.5em;
}
.post-date {
	width: 100%;
	text-align: right;
	margin: 0 0 1em 0;
	padding: 0 1em;
}
.post-content {
	width: 100%;
	margin: 0 0 50px 0;
	padding: 0 1em;
}
.block-frame {
	padding: 1.75em 0;
	border: 1px solid #666;
}
/***************************************************************
    Page common (Mobile)
***************************************************************/
@media screen and ( max-width: 800px ) {
    #page-header {
		margin-top: 52px;
    }
    #page-header p {
        font-size: 18px;
    }
	.page-item-title{
		font-size: 16px;
	}
    .page-item-title + p {
        font-size: 14px;
    }
    .page-item-list {
        font-size: 14px;
    }
	#page-header #annotation {
		font-size: 10px;
	}
	.page-headline {
		font-size: 18px;
		line-height: 24px;
	}
	#contents-block p,
	#contents-block dl,
	#contents-block ul {
		padding: 0 2em;
	}
}

/***************************************************************
    Page information
***************************************************************/
.movie-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin: 20px 0;
}
.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
