@charset "utf-8";

/* --------------------------------------------- */
/* ▼ 全体を通して共通箇所のスタイル　/
/* --------------------------------------------- */

.animate__fadeInUp{
	animation-duration: 3s; /* アニメーションの時間 */
}



main {
	background-image: url(../img/base/bg_washi.gif);
	background-repeat: repeat;
}
article {padding: 60px 0px;}
@media screen and (max-width: 786px){
	article{
		padding: 0px;
	}
}/*786px*/


section{margin-bottom: 40px;}


.Inner {
	width: 1200px;
	margin:0 auto;
	box-sizing: border-box;
}
@media screen and (max-width: 1200px){
	.Inner{
		width: 100%; 
		padding: 0px 20px;
	}
}/*1200px*/
@media screen and (max-width: 786px){
	.Inner{
		padding: 0px 20px;
	}
}/*786px*/
@media screen and (max-width: 480px){
	.Inner{
		padding: 0px 10px;
	}
}/*480px*/



.Inner1000 {
		width: 1000px;
		margin:0 auto;
	}
	@media screen and (max-width: 1000px){
		.Inner1000{
			width: 100%;
			padding: 20px;
			box-sizing: border-box;
		}
}/*1000px*/

.Inner768 {
	width: 768px;
	margin:0 auto;
}
@media screen and (max-width: 768px){
	.Inner768{
		width: 100%;
		padding: 30px;
		box-sizing: border-box;
	}
}/*768px*/
@media screen and (max-width: 480px){
	.Inner768{
		padding: 20px;
	}
}/*480px*/



.flexbetween {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	/*box-sizing: border-box;*/
	/*padding: 20px 0px;*/
}
/*article.colum_Left {
	width: 70%;
	width: 768px;
	margin: 0 auto;
	background: #fff;
	border-radius: 10px;
	box-sizing: border-box;
	margin-bottom: 20px;
	padding: 0px;
}
aside{
	width: 27%;
	margin-left: 3%;
	margin-bottom: 20px;
}
*/
@media screen and (max-width: 768px){
	.flexbetween{display: block;padding:0px 10px;}
	/*article.colum_Left{width: 100%;}
	aside{width: 100%;margin-left:0;}*/
}/*768px*/

@media screen and (max-width: 480px){
	.flexbetween{padding:5px 15px;}
}/*480px*/


/* --------------------------------------------- */
/* ▼ 文字 */
/* --------------------------------------------- */
h1 {
    text-align: right;
    font-size: 10px;
    font-family: sans-serif;
    font-weight: normal;
		line-height: 3em;
}
@media screen and (max-width: 768px){
	h1 {
		display: none;
	}
}/*768px*/

h2{
	font-size: 2.5em;
	line-height: 1.2;
}

h3{
	font-size: 1.2em;
}

h4{
	font-size: 1.0em;
	font-weight: bold;
	/*margin-bottom: 5px;*/
}
h5 {
	font-size: 1.0em;
	font-weight: bold;
	/*margin-bottom: 5px;*/
}

/*文字の左右に線*/
.lineLR {
	font-family: serif;
	font-weight: bold;
	display: flex;
	align-items: center;
	/*width: 50%;*/
	text-align: center;
	margin: 60px auto;
}
@media screen and (max-width: 768px){
	.lineLR{
		margin: 40px auto;
	}
}/*768px*/


.lineLR::before,
.lineLR::after {
	content: "";
	height:1px;
	flex-grow: 1;
	background-color:#666;
}
.lineLR:before {
	margin-right: 20px;
}
.lineLR:after {
	margin-left: 20px;
}

/*文字の右に線*/
.lineR{
display: flex;
align-items: center;
}
.lineR:after {
border-top: 1px solid;
content: "";
flex-grow: 1;
}
.lineR:after {
margin-left: 1rem;
}

a.kiji_title {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 10px;
}

/* --------------------------------------------- */
/* ▼ header */
/* --------------------------------------------- */
header {
	position: relative;
	z-index: 999;
}
header #h1title {
	/*color: #fff;*/
	/*background: #3e2009;*/
	text-align: left;
}
header #h1title h1 {
	font-size: 10px;
	font-weight: normal;
	line-height: 1em;
	text-align: right;
}
header .Inner {
	position: relative;
}
header #heder_logo {
	margin: 20px 0px;
	float: left;
	z-index: 1;
}
header .header_menu{
	float: right;
}

@media screen and (max-width: 768px){
	header #heder_logo {
		margin: 15px;
		width: 80px;
	}
}/*768px*/


/* --------------------------------------------- */
/* ▼ navメニュー */
/* --------------------------------------------- */
nav {
	font-size: 15px;
	line-height: 15px;
	font-weight: bold;
	font-family: serif;
}
nav#pcmenu {
	float: right;
	margin-bottom: 15px;
}

#dropmenu li {
	position: relative;
	text-align: center;
	margin-bottom: 0px;
}

#dropmenu li a {
	position: relative;
	display: block;
	text-decoration: none;
	/*color: #fff;*/
	padding: 20px 16px;
}
#dropmenu li.yoyaku a {
   color: #fff;
}
#dropmenu li a span {
	display: block;
	font-size: 11px;
	font-family: initial;
	font-weight: normal;
	opacity: 0.6;
	margin-top: 3px;
}

/*#dropmenu li a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  background-color: #d26e24;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}*/
#dropmenu li a:hover{
	/*background: #ffe9be;*/
}
/*#dropmenu li a:hover:after {
	color: #d26e24;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}*/
/*#dropmenu li a:before{
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	bottom: -12px;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #c1272d transparent transparent transparent;
	border-width: 6px 6px 0 6px;
}*/

/*展開メニュー*/
#submenu {
	width: 150px;
	background: #c1272d;
	position: absolute;
	left: -50%;
	right: -50%;
	margin: auto;
	top: 62px;
	/* padding-top: 50px; */
	/* border-left: 1px solid #000; */
	/* border-right: 1px solid #000; */
	z-index: 1;
}
#submenu li{
  border:none;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding:0px;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
}
#submenu li a {
	color: #fff;*/
	text-align: left;
	padding: 12px 0px;
	font-size: 12px;
	font-weight: normal;
	border-top: 1px dotted #fff;
}
#submenu li a:hover {
	background: rgba(0,0,0,0.15);
}
#submenu li a span {
	display: inline-block;
}
#submenu li:first-child {
	border:none;
}
#submenu .webicon.svg-webicon {
	color: #E3007F;
}
#dropmenu li:hover ul#submenu li {
	height: 35px;
	position: initial;
}

#mg-wprm-wrap ul li.yoyaku a {
	background: #A01F24;
	margin: 0px 10px;
	box-sizing: border-box;
}
li.yoyaku a {
	background: #A01F24;
}


/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba( 71,70,73,0.6 );
  text-align: center;
  width: 100%;
  transform: translateX(100%);
  transition: all 0.6s;
}
nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}
nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}
/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
   transform: translateX(0%);
}



/* --------------------------------------------- */
/* ▼ footer */
/* --------------------------------------------- */

footer nav {
	margin: 30px 0px;
}
footer nav li {
	border-right: 1px solid #555;
	padding: 0px 15px;
}
footer #footer_logo{
	margin: 40px 0px;
	text-align: center;
}
footer #copyright {
	color: #fff;
	background: #333;
}
footer .footer_bg {
    width: 100%;
    padding: 100px 0;
    background: url(../img/index/bg_info.webp);
    background-size: cover;
    background-position: center;
    box-sizing: border-box;
}
/*----------------- 
レスポンシブ対応　768px 
------------------- */
@media screen and (max-width: 768px){
	footer nav{
		display: none;
	}
}/*768px*/


/*----------------- 
レスポンシブ対応　480px 
------------------- */
@media screen and (max-width: 480px){
	footer #footer_logo {
		margin: 0px;
	}
	footer .footer_bg {
    padding: 50px 0;
    
	}
}/*480px*/




/* --------------------------------------------- */
/* ▼ パーツ　ボタン */
/* --------------------------------------------- */
.btn {
	font-size: 1.1em;
	margin: 20px auto 0px;
}
.btn_yoyaku a {
    font-size: 1.1em;
    font-family: serif;
    font-weight: bold;
    color: #fff;
    background: #A01F24;
    text-align: center;
    padding: 15px;
    width: 260px;
    display: block;
    margin: 0 auto;
}
.btn_black a {
    font-family: serif;
    font-weight: bold;
    color: #fff;
    background: #333;
    text-align: center;
    padding: 15px;
    width: 280px;
    display: block;
    margin: 0 auto;
}

/*----------------- 
レスポンシブ対応　480px 
------------------- */
@media screen and (max-width: 480px){

}/*480px*/


a.img_hover {
	font-family: 'Anton', sans-serif;
	font-weight: normal;
	position:relative;  /* 相対位置指定 */
	overflow: hidden;
	margin-bottom: 5px;
	/*border: 1px solid #ddd;*/
}
a.img_hover .mask {
	width:100%;
	height:100%;
	position:absolute;  /* 絶対位置指定 */
	top:0;
	left:0;
	opacity:0;/* マスクを表示しない */
	background-color:   rgba(0,0,0,0.4);/* マスクは半透明 */
	-webkit-transition: all 0.5s ease;
	transition:all 0.3s ease;
}
a.img_hover:hover .mask {
	opacity:1;  /* マスクを表示する */
}
a.img_hover:hover{
	opacity:1 !important;
}
a.img_hover img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
}
a.img_hover:hover img{
	transform: scale(1.2) rotate(3deg);
	transition-duration: 0.3s;
	/* opacity: 0.5; */
}
a.img_hover .readmore {
    font-size: 14px;
    font-family: serif;
    text-align: center;
    color: #fff;
    top: 42%;
    position: relative;
}

/* --------------------------------------------- */
/* ▼ 動的アニメーション */
/* --------------------------------------------- */

/*エフェクト　フェードインでふんわり表示*/
body{
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}


.title_bg h2 {
	color: #fff;
	font-size: 2.2em;
	font-family: serif;
	line-height: 1.2;
	padding-bottom: 5px;
	display: inline-block;
	border-bottom: solid 1px #fff;
	margin-left: 10px;
}
.title_bg p {
	color: #fff;
	font-size: 15px;
	font-family: serif;
	font-weight: bold;
	display: block;
	text-transform: uppercase;
	 margin-left: 10px;
}
.title_bg {
	padding: 150px 0;
	background-image: url(../img/base/bg_title.webp);
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	box-sizing: border-box;
}


/*----------------- 
レスポンシブ対応　768px 
------------------- */
@media screen and (max-width: 786px){
	.title_bg {
	    padding: 80px 0;
	    background-image: url(../img/base/bg_title.webp);
	    background-size: cover;
	    background-position: center;
	    background-attachment: initial;
	    box-sizing: border-box;
	    background-position-y: top;
	    background-position-x: right;
	}
}/*786px*/

/*----------------- 
レスポンシブ対応　480px 
------------------- */
@media screen and (max-width: 480px){
	.title_bg {padding: 30px 0px;}
}/*480px*/




/* --------------------------------------------- */
/* ▼ single.php */
/* --------------------------------------------- */

#single .kiji img{margin:20px 0;}