@charset "UTF-8";
/*
Theme Name: DESIGN WOLF theme
Version: 2025
Author: DESIGN WOLF CO.,LTD.
*/

/* reset  -------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:top;background:transparent;}body{line-height:1;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}nav ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:none;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}ins{background-color:#ff9;color:#222;text-decoration:none;}mark{background-color:#ff9;color:#222;font-style:italic;font-weight:bold;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help;}table{border-collapse:collapse;border-spacing:0;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}
a {
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media screen and (min-width: 901px) { a:hover { cursor: pointer; } }
ul, li { list-style: none;}
img { max-width: 100%; height: auto; }
img[src$=".svg"] { width: 100%; }
a:focus { outline: none; }
body, h1, h2, h3, h4 { font-weight: normal; }
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* clearfix ----------------------*/
.clearfix { zoom: 1; }
.clearfix:after { content: ""; display: block; clear: both; }

/* img hover ----------------------*/
a img {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
@media screen and (min-width: 901px) {
	a:hover img {
	opacity: 0.5;
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
	}
}

body {
	/*font-family: 'Noto Sans JP', sans-serif;*/ /*20231010*/
	font-family: 'Gothic Medium BBB', sans-serif;
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	letter-spacing: 0.1rem;
}
@media screen and (max-width: 600px) {
	body {
		letter-spacing: 0;
	}
}

/* font color ----------------------*/
body { color: #222; }
/*
	ブルーグレー　#222
	赤　#e50038
*/

/* font size ----------------------*/
html { font-size: 62.5%;  }

/* image ----------------------*/
.image_mobile { display: none; }
@media screen and (max-width: 600px) {
	.image_mobile { display: block; }
	.image_pc { display: none; }
}

/* space */

.space_topbottom { padding: 100px 0; }
.space_top { padding: 100px 0 0 0; }
.space_bottom { padding: 0 0 100px 0; }
.space_top50 { padding: 50px 0 0 0; }
.space_bottom50 { padding: 0 0 50px 0; }
.space_top30 { padding: 30px 0 0 0; }
.space_bottom30 { padding: 0 0 30px 0; }
.space_top20 { padding: 20px 0 0 0; }
.space_bottom20 { padding: 0 0 20px 0; }
.space_bottom5 { padding: 0 0 5px 0; }
@media screen and (max-width: 600px) {
	.space_topbottom { padding: 50px 0; }
}


/* contents ━━━━━━━━━━━━━━━━━━━━━━━━━━　*/

.contents { padding: 0 20px; max-width: 1000px; margin: 0 auto; z-index: 0; }

/* header ━━━━━━━━━━━━━━━━━━━━━━━━━━　*/

#header {
	position: fixed; top: 0; left: 0; height: 100vh; z-index: 100;
}

.header_title {
	width: 200px; height: auto;
	position: fixed; top: 20px; left: 30px; right: auto; bottom: auto;
}
@media screen and (max-width: 1200px) {
	#header {
		width: 100%; height: 60px; display: block; background: #fff;
	}
	.header_title {
		width: 110px; height: auto;
		position: fixed; top: 17px; left: 20px; right: auto; bottom: auto;
	}
}


/*menuButton*/

#menuButton { display: block; z-index: 200; }
#menuButton span {
    display: block;
    background: #222;
    position: absolute; left: 9px;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}
#menuButton span:first-child { }
#menuButton.active span:first-child,
#menuButton.active span:last-child { opacity: 0; }
@media screen and (min-width: 1201px) {
	#menuButton {
	width: 60px; height:60px;
	position: fixed; top: 20px; right: 30px;
	}
	#menuButton span { width: 50px; height: 2px; position: absolute; left: 9px; }
	#menuButton span:first-child { top: 12px; }
	#menuButton span:nth-child(2) { margin-top: -1px; top: 50%; width: 35px; }
	#menuButton span:last-child { bottom: 12px; }
	#menuButton.active span:nth-child(2) { width: 50px; }
}
@media screen and (max-width: 1200px) {
	#menuButton {
		position: absolute; top: 10px; bottom: auto; right: 20px; margin: 0;
		width: 42px; height:42px;
		}
	#menuButton span { width: 24px; height: 2px; position: absolute; left: 9px; }
	#menuButton span:first-child { top: 12px; }
	#menuButton span:nth-child(2) { margin-top: -1px; top: 50%; width: 14px; }
	#menuButton span:last-child { bottom: 12px; }
	#menuButton.active span:nth-child(2) { width: 24px; }
}

/* header_nav */

.header_nav {
	position: fixed; top: 0; left: 0; z-index: 99;
	background: #fff; width: 100%; height: 100vh; opacity: 0; display: none;
	overflow: auto;
}
.header_nav ul {
	position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto;
	width: 500px; height: 270px; letter-spacing: -0.4em;
}
.header_nav ul li{
	display: inline-block; letter-spacing: normal; padding: 5px; width: 50%;
}
.header_nav ul li:first-child { width: 100%; }
.header_nav ul li a {
	display: block; height: 80px; line-height: 80px;
	font-size: 1.8rem; text-align: center; color: #fff; background: #e50038;
	/*border: solid 1px #e50038;*/
}
@media screen and (min-width: 901px) {
	.header_nav ul li a:hover { background: #222; }
}
@media screen and (max-width: 800px) {
	.header_nav ul { width: 400px; }
}
@media screen and (max-width: 600px) {
	.header_nav ul { width: 80%; }
	.header_nav ul li{ padding: 2px; }
	.header_nav ul li a { font-size: 1.6rem; }
}


/* 記事  ━━━━━━━━━━━━━━━━━━━━━━━━━━　*/

.blog_body h1 {
	font-size: 3rem; line-height: 160%; padding: 60px 0 20px 0;
	text-align: justify; text-justify: inter-ideograph !important;
}
.blog_body h2 {
	font-size: 2.2rem; line-height: 160%; padding: 30px 0;
	border-top: solid 5px #ccc; margin: 30px 0 0 0; text-align: center;
}

.blog_date {
	display: block; vertical-align: middle; padding: 0 0 30px 0;
	font-size: 1.3rem; text-indent: 1px; color: #e50038;
	line-height: 150%;
}
.blog_date span, .blog_date strong { display: inline-block; vertical-align: middle;  }
.blog_date span {  }
.blog_date strong { padding: 0 10px 0 0; }

.blog_body p {
	font-size: 1.8rem; line-height: 220%; padding: 0 0 40px 0;
	text-align: justify; text-justify: inter-ideograph !important;
}
.blog_body p a { color: #e50038; }
@media screen and (min-width: 901px) { .blog_body p a:hover { color: #666; }  }
.photo_data {
	font-size: 1rem; line-height: 160%; text-align: center;
	padding: 0 0 40px 0; margin: -35px 0 0 0;
}
@media screen and (max-width: 1200px) { .blog_body h1 { padding: 80px 0 20px 0; } }
@media screen and (max-width: 600px) {
	.blog_date {  }
	.blog_date span { /*transform: scale(0.8); transform-origin: top left;*/ }
	.blog_date strong { display: block; }
	.photo_data {
		transform: scale(0.6);
		display: block; margin: -45px -20px 0 -20px;
	}
	.blog_body h1 { font-size: 2.6rem; text-align: left; padding: 100px 0 20px 0; }
	.blog_body h2 { text-align: left; }
	.blog_body h1, .blog_body p, .nextprev_prev a, .nextprev_next a { letter-spacing: 0rem; }
	.blog_body p {  }
}

@media screen and (min-width: 901px) {
	.blog_body p a:hover img {
		opacity: 0.8;
    	filter: alpha(opacity=80);
    	-moz-opacity: 0.8;
	}
}


.blogimage { margin: 20px 0 0 0; display: block;  }
@media screen and (max-width: 600px) { .blogimage { margin: 0 -20px; }	}

/* nextprev  ---------------------- */

.nextprev { width: 100%;  padding: 100px 0; }
.nextprev_prev { float: left; } .nextprev_next { float: right; }
.nextprev_prev a, .nextprev_next a {
	display: block; width: 150px;
	position: relative;
	font-size: 1.7rem; text-align: center; color: #e50038;
	padding: 50px 0 20px 0;
}
@media screen and (min-width: 901px) {
 .nextprev_prev a:hover, .nextprev_next a:hover { opacity: 0.5; }
}

.nextprev_prev a:after, .nextprev_next a:after {
	content: ""; display: block; background: #e50038; width: 145px; height: 1px;
}
.nextprev_prev a:after { position: absolute; left: 5px; top: 30px; }
.nextprev_next a:after { position: absolute; right: 5px; top: 30px; }

.nextprev_prev a:before {
	display: block; width: 0; height: 0; content: "";
	border-style: solid;
	border-width: 10px 20px 0 0;
	border-color: transparent #e50038 #e50038 transparent;
	position: absolute; top: 21px; left: 0;
}
.nextprev_next a:before {
	display: block; width: 0; height: 0; content: "";
	border-style: solid;
	border-width: 0 20px 10px 0;
	border-color: transparent transparent #e50038 #e50038;
	position: absolute; top: 21px; right: 0;
}
@media screen and (max-width: 400px) {
	.nextprev_prev a, .nextprev_next a { width: 100px; }
	.nextprev_prev a:after, .nextprev_next a:after { width: 95px; }
	
}




/* footer　━━━━━━━━━━━━━━━━━━━━━━━━━━　*/

#footer {  }

/* 404　━━━━━━━━━━━━━━━━━━━━━━━━━━　*/

.not_found {
	display: block; margin: 80px 0 0 0; padding: 200px 0;
	border: solid 1px #e50038;
	color: #e50038;
	font-size: 1.6rem; text-align: center;
}

.not_found span { display: block; font-size: 4rem;}



/* トップページ　メインビジュアル　━━━━━━━━━━━━━━━━━━━━━━━━━━　*/

.top_main2022 {
	width: 100%; position: relative;
}
.top_main2022_image {
	width: 100%; height: 70%; overflow: hidden;
	position: absolute; bottom: 0; left: 0;
}

.top_main2022_image img {
	object-fit: cover;
	font-family: 'object-fit: cover;'; /*ie*/
	transition: all 2.5s ease;
	width: 120%; height: 120%; opacity: 0;
}
.top_main2022_fix img {
	width: 100%; height: 100%; opacity: 1;
}
@media screen and (min-width: 1201px) {  }
@media screen and (max-width: 1200px) {
	.top_main2022_image { width: 100%; height: 70%; }
}

