/*
Theme Name: Shinkodenki
Theme URI: https://iwate-shinkodenki.com/
Description: WordPress 用
Version: 1
Author: Shinkodenki
Author URI: https://iwate-shinkodenki.com/
*/

@charset "utf-8";

@font-face {
	font-family: 'Noto';
	src: url('./webfonts/NotoSansJP-Black.woff') format('woff'),
			 url('./webfonts/NotoSansJP-Black.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'Noto';
	src: url('./webfonts/NotoSansJP-Regular.woff') format('woff'),
			 url('./webfonts/NotoSansJP-Regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
}


/*//////////////////////////////////////////////////////////

	 1: Application all
	 2: Flame layout
	 3: Decoration
	 4: Entry

//////////////////////////////////////////////////////////*/

/*=========================================================

	Application all

==========================================================*/

html,body{
	margin: 0;
	padding: 0;
}
html{-webkit-text-size-adjust: 100%;}

body{
	text-align: left;
	font-family: 'Noto';
	font-weight: 400;
	line-height: 1.5;
	font-size: 15px;
	color: #333;
	width: 100%;
}

a{
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(153,191,0,0.8);
	color: #333;
	transition: all .3s;
}
a:hover{
	color: #99bf00;
}

img{
	vertical-align: middle;
	max-width: 100%;
	height: auto;
	border: 0;
}

h1,h2,h3,h4,h5,h6{
	font-weight: 700;
	font-size: 15px;
	margin: 0;
}

table{
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
	border: 0;
}
th,td{
	box-sizing: border-box;
	text-align: left;
	vertical-align: top;
	font-weight: 400;
	padding: 0;
	margin: 0;
}

ul,ol{
	list-style-position: outside;
	padding: 0;
	margin: 0 0 0 20px;
}

form,fieldset,p,dl,dd{
	padding: 0;
	margin: 0;
	border: 0;
}

input,select,textarea{
}
input,button{line-height: 1;}

input[type="file"]::file-selector-button{
	text-align: center;
	font-weight: bold;
	font-size: 120%;
	color: #fff;
	padding: 12px 20px;
	border: 0;
	border-radius: 10em;
	background: #1e88e5;
}

hr{
	display: none;
	clear: both;
	height: 1px;
	padding: 0;
	margin: 0;
	border: 0;
}

strong,b{
	font-weight: 700;
}

address,em{
	font-style: normal;
}

::selection {
	color:#fff;
	background: #fa550c;
}


@media screen and (min-width: 737px){ /* PC */
	.brsp,
	.space-sp{
		display: none;
	}
}
@media screen and (max-width: 736px){ /* SP */
	.brpc,
	.space-pc{
		display: none;
	}
}



/*=========================================================

	Flame layout

==========================================================*/

#header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	display: flex;
	width: 100%;
}

#container{
	border-top: 5px solid #0079ac;
}

#footer{
	padding: 50px 0;
	margin-top: 100px;
	background: #e0eaee;
}


@media screen and (min-width: 737px){ /* PC */
	#header{
		align-items: center;
		width: calc(100% - 20px);
		padding: 10px;
		margin-top: 5px;
	}
	
	#contents{}
	
	#crumb,
	.layout{
		width: 1100px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 736px){ /* SP */
	#header{
		top: 10px;
		left: 5px;
		width: calc(100% - 10px);
	}
	
	#contents{}
	
	#crumb,
	.layout{
		padding: 0 15px;
	}
	
	#footer{
		margin-top: 70px;
	}
}



/*=========================================================

	Decoration

==========================================================*/

/*	Header
***********************************************************/



/*	Contents
***********************************************************/

h2.pagetitle{
	height: 380px;
	background: url('./img/back_pagetitle.webp') 50% 50% no-repeat;
}
h2.pagetitle span{
	display: block;
	color: #0079ac;
}
h2.pagetitle strong{
	font-size: 250%;
}

.subtitle{
	position: relative;
	font-size: 200%;
	padding-bottom: 20px;
	margin-bottom: 50px;
}
.subtitle::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 50px;
	height: 5px;
	background: #0079ac;
}

#crumb{
	margin: 15px auto 100px auto;
}
#crumb ul{
	list-style: none;
	font-size: 80%;
	color: #999;
	margin: 0;
}
#crumb ul li{
	display: inline-block;
}
#crumb ul li:not(:last-child)::after{
	content: '>';
	margin: 0 10px;
}
#crumb ul li a{
	color: #999;
}
#crumb ul li a:hover{
	color: #99bf00;
}

.error-url{
	color: #a00;
	margin: 100px 0 15px;
}


/*	Footer
***********************************************************/

#footer .layout{
	display: flex;
	gap: 100px;
	align-items: flex-start;
}

#footer .layout dl{
	display: flex;
	gap: 50px;
}
#footer .layout dl dt img{
	width: 150px;
}
#footer .layout dl dd strong{
	display: inline-block;
	margin-bottom: 5px;
}

#footer .layout .iso{
	text-align: center;
	color: #fff;
	padding: 30px 50px;
	border-radius: 5px;
	background: #005bac;
}

#footer .layout ul{
	list-style: none;
	margin: 0;
}
#footer .layout ul li:not(:first-child){
	margin-top: 10px;
}
#footer .layout ul li i{
	margin-right: 5px;
}

#copyright{
	line-height: 50px;
	text-align: center;
	color: #fff;
	background: #003354;
}


@media screen and (min-width: 737px){ /* PC */
	h1#logo{
		font-size: 150%;
		padding: 15px 30px;
		border-radius: 5px;
		background: rgba(255,255,255,0.7);
		backdrop-filter: blur(5px);
	}
	h1#logo img{
		width: auto;
		height: 50px;
		margin-right: 30px;
	}

	#header-navi{
		margin-left: auto;
		border-radius: 5px;
		background: rgba(255,255,255,0.7);
		backdrop-filter: blur(5px);
	}

	.menu-trigger{
		display: none;
	}

	#navigation ul{
		list-style: none;
		display: flex;
		align-items: center;
		gap: 30px;
		height: 80px;
		padding: 0 30px;
		margin: 0;
	}
	#navigation ul li{
		line-height: 1;
		font-weight: 700;
	}

	#footer .layout ul{
		padding-left: 50px;
	}

	h2.pagetitle .pagetitle-wrap{
		width: 1100px;
		padding-top: 230px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 736px){ /* SP */
	#header h1#logo{
		padding: 10px;
	}
	#header h1#logo img{
		width: auto;
		height: 45px;
		margin-right: 15px
	}
	
	/*#header{}　position:fixed;の関係でbeforeに指定しないと#navigationのbackdrop-filterが効かない*/
	#header::before{
		content: "";
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 5px;
		background: rgba(255,255,255,0.8);
		backdrop-filter: blur(5px);
	}
	
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .3s;
		box-sizing: border-box;
	}
	.menu-trigger{
		cursor: pointer;
		position: absolute;
		display: block;
		top: 2px;
		right: 2px;
		z-index: 1100;
		width: 60px;
		height: 60px;
	}
	.menu-trigger div{
		text-align: center;
		font-size: 70%;
		padding-top: 10px;
	}
	.menu-trigger span{
		position: absolute;
		left: 18px;
		width: 24px;
		height: 2px;
		background-color: #005bac;
	}
	.menu-trigger span:nth-of-type(1){
		top: 26px;
	}
	.menu-trigger span:nth-of-type(2){
		top: 35px;
	}
	.menu-trigger span:nth-of-type(3){
		top: 44px;
	}
	
	.menu-trigger.active span:nth-of-type(1){
		transform: translateY(9px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2){
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3){
		transform: translateY(-9px) rotate(45deg);
	}
	
	#navigation{
		box-sizing: border-box;
		display: none;
		position: absolute;
		z-index: 9999;
		top: 70px;
		right: 0;
		width: 100%;
		padding: 15px;
		border-radius: 5px;
		background: rgba(255,255,255,0.8);
		backdrop-filter: blur(5px);
	}
	#navigation > ul{
		list-style: none;
		font-size: 110%;
		margin: 0;
	}
	#navigation > ul li a{
		display: block;
		padding: 15px;
	}
	#navigation > ul li:not(:first-child){
		border-top: 1px solid #aaa;
	}
	
	#footer .layout{
		flex-direction: column;
		gap: 30px;
	}
	#footer .layout dl dt img{
		width: 130px;
	}
	#footer .layout .iso{
		width: 100%;
		padding: 30px 0;
	}
	#footer .layout ul{
		display: none;
	}
	
	h2.pagetitle{
		height: 250px;
	}
	h2.pagetitle .pagetitle-wrap{
		padding: 150px 15px 0;
	}
	h2.pagetitle strong{
		font-size: 200%;
	}
	
	#crumb{
		margin-bottom: 70px;
	}
	
	.error-url{
		margin-top: 70px;
	}
}



/*=========================================================

	Entry

==========================================================*/


#entry-list{
	display: flex;
	flex-wrap: wrap;
}

#entry-list div a{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#entry-list div a span{
	font-size: 80%;
	margin-bottom: -8px;
}

#single h2{
	display: inline-block;
	line-height: 1;
	color: #fff;
	padding: 10px 15px;
	margin-bottom: 10px;
	background: #f39800;
}

.entry-title{
	font-size: 150%;
	margin-bottom: 5px;
}
.entry-info{
	position: relative;
	font-size: 80%;
	color: #777;
	margin-bottom: 30px;
}

.pagenav{/* シングル記事の方 */
	width: 100%;
	padding-top: 50px;
	margin-top: 50px;
	border-top: 1px dotted #ccc;
}
.pagenav::after{
	content: '';
	display: block;
	clear: both;
}
.pagenav div{
	width: 48%;
}
.pagenav div.prev{
	float: left;
}
.pagenav div.next{
	float: right;
	text-align: right;
}
.pagenav div.prev i{
	margin-right: 5px;
}
.pagenav div.next i{
	margin-left: 5px;
}

.pagenav-list{/* 記事一覧の方 */
	text-align: center;
	padding-top: 50px;
}
.pagenav-list span,
.pagenav-list a{
	display: inline-block;
	text-decoration: none;
	line-height: 50px;
	width: 50px;
	margin-left: 10px;
	border-radius: 5px;
}
.pagenav-list span:first-child,
.pagenav-list a:first-child{
	margin-left: 0;
}
.pagenav-list a{
	color: #777;
	border: 1px solid #777;
	background: #fff;
}
.pagenav-list span.current{
	color: #fff;
	border: 1px solid #f39800;
	background: #f39800;
}
.pagenav-list a:hover{
	color: #fff;
	border: 1px solid #f39800;
	background: #f39800;
}

#side .side-list{
	margin-bottom: 50px;
}
#side .side-list ul{
	list-style: none;
	margin: 0;
}
#side .side-list ul li:not(:first-child){
	margin-top: 30px;
}
#side .side-list ul li a{
	display: flex;
	flex-direction: column;
}
#side .side-list ul li a span{
	font-size: 80%;
}
#side .side-list ul li a p{
	font-size: 80%;
	margin-top: 10px;
}

@media screen and (min-width: 737px){ /* PC */
	#entry-list{
		gap: 32px;
	}
	#entry-list div{
		width: 251px;
	}
	#entry-list div a .entry-thumb{
		overflow: hidden;
		height: 251px;
	}
	#entry-list div a .entry-thumb img{
		transition: all .3s;
	}
	#entry-list div a:hover .entry-thumb img{
		transform: scale(1.1);
	}

	#single{
		display: flex;
		justify-content: space-between;
	}
	#single .article{
		width: 700px;
	}
	#single #side{
		width: 300px;
	}
}

@media screen and (max-width: 736px){ /* SP */
	#single #side{
		padding-top: 50px;
		margin-top: 50px;
		border-top: 1px solid #ccc;
	}

	#entry-list{
		gap: 30px 16px;
	}
	#entry-list div{
		width: calc(50% - 8px);
	}
	#entry-list div .entry-thumb{
		overflow: hidden;
		height: 150px;
	}
	#entry-list div a p{
		font-size: 80%;
	}

	.pagenav div{
		font-size: 80%;
	}

	.pagenav-list span,
	.pagenav-list a{
		line-height: 40px;
		width: 40px;
		margin-left: 3px;
	}
}
