﻿#page_title .txt_shadow-b {
    text-shadow: none;
}
#cms_2-a .cate_title {
	display: block;
    text-align: center;
}
#cms_5-b .cate_box .open_bt .box_title1::before {
    color: #025827!important;
}
header .button {
	border: 3px solid #ffd600;
}
.button {
    background-color: #de1d1d;
    color: #fff;
    border-radius: 50px;
    border: none;
    z-index: 0;
}
.button2 {
	border-radius: 24px;
    border: none;
    color: #ffffff;
    background: #2f6d4a;
}
.button:hover::after {
    box-shadow: inset 0 0 0 15em #dec546;
}
.button2:hover {
    background-color: #dec546;
    box-shadow: none;
    color: #fff;
}
.button::after {
    transition: all .4s;
}


.bounceIn {
    -webkit-animation: bounceIn 0.55s ease forwards;
    animation: bounceIn 0.55s ease forwards;
}
@keyframes bounceIn {
	0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
}

	100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
}
}










header {
	position: relative;
background-color: #fbf7ef;
background-image: url("https://www.transparenttextures.com/patterns/grid-me.png");
}
header:before {
	content: "";
    background-image: url(Dup/img/head.png);
    width: 100%;
    height: 100%;
    background-size: 100% 93%;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    position: absolute;
	z-index: -1;
}
#main_menu ul li a {
    margin-bottom: 16px;
}
#video h2 img {

}
#contents1, #contents2 {
	position: relative;
}
.png1 {
	position: absolute;
	width: 147px;
	top: 20px;
	right: 20px;
	animation-name: swing1;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.png2 {
	position: absolute;
	width: 80px;
	bottom: 20px;
	left: 20px;
	animation-name: swing1;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}
.png3 {
position: absolute;
    width: 120px;
    bottom: 2px;
    left: 41%;
    animation-name: swing1;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
}
.JS_ScrollAnimationItem {
  position: relative;
  z-index: 1;
padding-left: 34px;display: inline-block;
}
.JS_ScrollAnimationItem:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -9px;
  width: 0%;
  height: 4px;
  background: #a73737;
  z-index: -1;
  transition: all 0.8s;
}
.JS_ScrollAnimationItem.isActive:after {
  width: 100%;
}

@media(max-width: 768px) {

}
@media(max-width: 667px) {
.png1 {
    width: 106px;
	top: 4px;
}
.png2 {
    width: 60px;
    bottom: 10px;
    left: 31px;
}
.png3 {
    width: 78px;
    bottom: 36%;
    left: 73%;
}
}
/* ------------------------------------------------------- */
.txt1 {
    top: 6%;
    left: auto;
    z-index: 2;
    width: 55%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: inherit;
    right: 3%;
}

body {
	background: #fbf7ef;
background-image: url("https://www.transparenttextures.com/patterns/back-pattern.png");
}
h2, h3, .font_en, #main_menu ul li a {
font-family: tbcgothic-std, sans-serif;
font-weight: 800;
font-style: normal;
}
body {
	font-size: 15px;
	line-height: 2;
font-weight: 400;
font-style: normal;
}
.font_12 {
	font-size: 14px;
}
.font_14 {
	font-size: 16px;
}
/* --------------------logo------------------- */
#logo {
	max-width: 186px;margin-top: 20px;
}
#logo img {
	width: 100%!important;
}
#logo img:hover {
	animation-name: swing1;
    animation-duration: 1.0s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
    z-index: 1;
}
@media(max-width: 768px) {
	header {
		padding: 10px 0 5px!important;background-image: none;
	}
	.main_box {
    padding-top: 100px;
}
	    #logo {
			max-width: 96px;margin-top: 0;
	}
	.hamburger {
    top: 29px;
    right: 18px;
}
	header:before {
		display: none;
	}
}
@media(max-width: 667px) {
		header {
		padding: 8px 0 5px!important;
	}
	    #logo {
			max-width: 72px;
	}
		.main_box {
    padding-top: 71px;
}
	.hamburger {
    top: 15px;
    right: 6px;
}
	.txt1 {
    width: 60%
}
}
.hamburger__icon:after, .hamburger__icon:before, .hamburger__icon {
    background-color: #241816;
}

/* ---------------------------------------- */
#loader{z-index: 9999;}
#loader img {
	animation-name: swing1;
    animation-duration: 1.0s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
    z-index: 1;
}
#loader img {
    width: 100%;
    height: 300px;
    top: 50%;
    left: 0;
}
.loader_icon {
    top: 48%;
    width: 300px;
}
@keyframes swing1 {
	0% {
    animation-timing-function: cubic-bezier(.175,.885,.32,1.275);
    transform: rotate(0deg) translateY(0);}
	35% {
    animation-timing-function: cubic-bezier(.165,.84,.44,1);
    transform: rotate(5deg) translateY(-10px);}
	50% {
    animation-timing-function: cubic-bezier(.175,.885,.32,1.275);
    transform: rotate(0deg) translateY(0);}
	85% {
    animation-timing-function: cubic-bezier(.165,.84,.44,1);
    transform: rotate(-5deg) translateY(-10px);}
	100% {
    animation-timing-function: cubic-bezier(.175,.885,.32,1.275);
    transform: rotate(0deg) translateY(0);}
}
@keyframes fadein {
	0% {opacity:0;transform: translateY(50px);}
	100% {opacity:1;transform: translateY(0px);}
}
@keyframes leftin {
	0% {opacity:0;transform: translate(-150px,0);}
	100% {opacity:1;transform: translate(0,0);}
}
@keyframes rightin {
	0% {opacity:0;transform: translate(100px,0);}
	100% {opacity:1;transform: translate(0,0);}
}
@keyframes loader{
    0% {width: 0;left: 0;}
	50% {}
	100% {width: 100%;}
}
@keyframes page_title{
    0% {width: 0;}
	100% {width: 100%;}
}
/* ------------------------------------------- */
.more a {
	z-index: 4;
}
/* ---------------------見出し----------------------*/
#contents1 h2, #contents2 h2, #contents3 h3 {
	position: relative;
	margin-bottom: 32px;
}
#contents1 h2:before, #contents2 h2:before, #contents3 h3:before {
    position: absolute;
    top: 17px;
    left: 0px;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    content: '';
    display: block;
    box-sizing: border-box;
    border: solid 4px #228b22;
}
#contents3 h3:before {
	border-color: #a73737;
}
@media(max-width: 667px) {
#contents1 h2:before, #contents2 h2:before, #contents3 h3:before {
    top: 12px;
    
}
}

/* ------------------入れておく------------------- */
#main_menu ul {
	margin-bottom: 23px;
}
.link_box ul {
    justify-content: center;
}
.link_box ul li {
    width: 30px!important;
    margin-left: 10px;
    margin-right: 10px;
}
.fat-nav li {
    font-size: 16px;
}
/* ---------------------------------------- */

#contents2 figure, #contents3 figure, figure  {
position: relative;
}
#contents2 figure:before, #contents3 figure:before, figure:before {
    background-image: url(Dup/img/waku.png);
}
#contents2 figure:before, #contents3 figure:before, figure:before {
	content: "";
    display: block;
    background-repeat: no-repeat;
    position: absolute;
    background-size: 100% 100%;
    width: 101%;
    height: 103%;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    z-index: 1;
	pointer-events: none;
}
figure.square_img:before {
	height: 105%;
}
.contents3Wrap, #top_cms {
	position: relative;
}
.contents3Wrap::after {
	position: absolute;
    content: "";
    width: 100%;
    top: 150px;
    bottom: 0;
    background-color: #025827;
    z-index: -1;
    right: 0;
    margin: auto;
}
#top_cms .box:nth-child(2), #top_cms .box:nth-child(4) {
background: #e0d496;
background-image: url("https://www.transparenttextures.com/patterns/asfalt-light.png");
}
/* --------------------------------------*/
.contents1_inner {
	background-color: #fff;
	padding: 53px 80px;
	border-radius: 8px;
    box-shadow: 0 3px 0 0 #86785c;
}

@media(max-width: 667px) {
.contents1_inner {
	padding: 30px 19px;
}
	#contents1 {
		padding: 56px 10px 72px;
	}
}
/* -------------------装飾線------------------- */
.top_cms_box{
	position: relative;
}
.top_cms_box:before {
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 20px;
    content: '';
    display: block;
    background-color: #fbf7ef;
    background-image: url(Dup/img/arabesque.png);
}

.top_cms_box:nth-child(2):before, .top_cms_box:nth-child(4):before {
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 20px;
    content: '';
    display: block;
    background-color: #e0d496;
    background-image: url(Dup/img/arabesque.png);
}
@media(min-width: 769px) {
	.top_cms_box {
		padding-bottom: 70px;
	}
}


.footerWrap {
    background-position: 0% 0%, 100% 100%;
    background-size: 64% auto, 64% auto;
    background-repeat: no-repeat;
	background-color: #025827;
	position: relative;
	background-image: url(Dup/img/foot_l.png), url(Dup/img/foot_r.png);
}
.footerWrap:before {
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 20px;
    content: '';
    display: block;
background-color: #de1d1d;
background-image: url("Dup/img/black-thread-light.png");
}
.footer_cms {
	color: #fff;
}
#page-top {
text-align:center;
}
#page-top a {
	display: inline-block;
}
#page-top a img {
	width: 65px;
	animation-name: swing1;
    animation-duration: 2.0s;
    animation-fill-mode: forwards;
	animation-iteration-count: infinite;
	margin-top: 10px;
}
#page-top span, #page-top i {
	color: #fff;
}
footer li a.txt_color_nomal, #copyright, #copyright a{
	color: #fff;
}
.foot_tel_bt {
	z-index: 10;/*要る*/
}
.foot_tel_bt a {
	border-color: #fff;
	color: #fff;
	z-index: 10;/*要る*/
}

@media(max-width: 768px) {
footer .logo {
	text-align: center;
}
.footerWrap {
		background-size: 83% auto, 86% auto;
	}
header {
border-bottom: 4px solid #e03636;
}

}
@media(max-width: 667px) {
.footerWrap {
		background-size: 105% auto, 115% auto;
	}
	.loader_icon {
    width: 177px;
}
}

@media all and (-ms-high-contrast: none) {
	
	/*.cate_list li a {
		padding: 10px 0;
	}*/
	/*.cate_wrap h3 {
		padding: 0 5px 20px;
	}*/
	#page10 ul li a {
		padding: 12px 0;
	}
	#main_menu ul li a::before {/*左メニューの横線*/
		top: 50%;
	}
	.pc_box .contact_bt a {
		padding:  15px 0 18px
	}
	.head_box {/*ロゴ部分がスクロールする*/
		-ms-overflow-style :none;
	}
	/*.pager li a {
		padding: 3px 0 3px;
	}*/
	/*#page8 #contact_tel a {
		padding: 30px 10px 21px;
	}*/
	.tel_bt a, .foot_tel_bt a {
		padding: 16px 0 17px;
	}
	.tel_bt a i, .foot_tel_bt a i {
		padding-bottom: 3px;
	}
	/*#page9 .box p a {
		padding: 3px 5px;
	}*/
	#cms_5-b .cate_box .open_bt .box_title1::before, .cms_5-b .cate_box .open_bt .box_title1::before {
		top: -2px;/*Q*/
	}
#cms_2-a .cate .cate_title {
padding-top: 11px!important;
}
}


