
/* CSS Document */


main{
	margin: 3% auto 8%;
}
article{
	margin: 5% auto;
}

h2.red{
	color: #9b1118;
	font-weight: 500;
	text-align: left;
	margin-bottom: 5%;
}
h2.waku{
	color: #9b1118;
	border:1px solid #9b1118;
	border-bottom:5px solid #9b1118;
	padding: 5px 20px;
	font-weight: 500;
	text-align: left;
	margin-bottom: 5%;
}
h3{
	margin: 5% auto;
}

h3.backb{
	display: inline-block;
	color: #fff;
	position: relative;
	padding: 1px 25px;
}
h3.backb::before{
    transform: skewX(-35deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	background: #000;
    z-index: -1;
}
h3.line{
	text-align: left;
	color: #9b1118;
	border-bottom: 3px solid #e1c7c8;
	padding: 10px;
	position: relative;
	margin: 5% auto 3%;
}
h3.line::after{
	content: "";
	border: 0;
	width: 150px;
	height: 3px;
	background: #9b1118;
	position: absolute;
	bottom: -3px;
	left: 0;
}

h3.lineb{
	padding: 15px;
	position: relative;
	text-align: center;
	margin-bottom: 5%;
}

h3.lineb::after{
	content: "";
	border: 0;
	width: 120px;
	height: 5px;
	background: #000;
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
	margin: auto;
}
h4{
	text-align: center;
	margin: 3% auto;
}
h5.line{
	padding: 10px;
	position: relative;
	text-align: center;
	margin: 3% auto;
}

h5.line::after{
	content: "";
	border: 0;
	width: 80px;
	height: 3px;
	background: #000;
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
	margin: auto;
}

p{
	padding: 20px;
}
table p,
dl p{
	padding: 0;
}

table a.sublink{
	display: inline-block;
	color: #fff;
	position: relative;
	padding: 1px 10px;
	font-size: 0.7em;
	margin: 0 10px;
	line-height: 1.7em;
}
table a.sublink::before{
    transform: skewX(-35deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	background: #000;
    z-index: -1;
}
table a.sublink:hover::before{
    transform: skewX(-35deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	background: #999;
    z-index: -1;
}


table .link{
	text-align: right;
	margin: 0 0 0 auto;
}
table .link a{
	display: inline-block;
	color: #fff;
	position: relative;
	padding: 1px 20px;
	font-size: 0.8em;
}
table .link a::before{
    transform: skewX(-35deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	background: #000;
    z-index: -1;
}
table .link a:hover::before{
    transform: skewX(-35deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	background: #999;
    z-index: -1;
}


.glaywaku{
	background: #f3f3f3;
	padding: 50px;
	margin: 3% auto 5%;
	position: relative;
}
.waku{
	padding: 50px;
	margin: 3% auto 5%;
	position: relative;
	z-index: 1;
}
.mission .glaywaku{
	margin: 8% auto 5%;
	padding: 20px 50px;
}
.product .glaywaku{
	padding: 20px;
}
.glaywaku .num{
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 5.5rem;
	padding: 5px 10px;
	font-style: italic;
	position: absolute;
	top: -25px;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}
.glaywaku .btn{
	width: 60%;
	max-width: 220px;
	margin: 30px 0 30px auto;
}
.product .Flexbox .txt,
table .Flexbox .txt,
.glaywaku .Flexbox .txt{
	width: 50%;
}
.product .Flexbox .photo{
	width: 55%;
	padding: 10px 20px;
	margin-left: -5%;
}
.product .Flexbox .txtL{
	width: 50%;
	order: 1;
}
.product .Flexbox .photoR{
	width: 55%;
	padding: 10px 20px;
	margin-right: -5%;
	order: 2;
}
table .Flexbox .photo,
.glaywaku .Flexbox .photo{
	width: 50%;
	padding: 10px 20px;
}
.Flexbox .txt_green{
	width: 60%;
}
.Flexbox .photo_green{
	width: 40%;
	padding: 10px 20px;
}
.glaywaku h5{
	text-align: center;
	margin: 0 auto 3%;
}
.glaywaku dl{
	display: flex;
	padding: 5px;
}
.glaywaku dl.line{
	border-bottom:1px solid #757575;
}
.glaywaku dl dt{
	font-family: 'Barlow Condensed', sans-serif;
	width: 40px;
	font-size: 2.5rem;
	padding: 5px 10px;
	font-style: italic;
}
.glaywaku dl dd{
	flex: 1;
	padding: 10px;
}
.glaywaku dl dd h5{
	text-align: left;
}
.glaywaku .backw{
	margin: 10px auto;
	padding: 30px 50px;
	background: #fff;
	display: flex;
	flex-wrap: wrap;
}

.glaywaku .taiseizu{
	width: 90%;
	max-width: 600px;
	text-align: center;
	margin: auto;
}
.glaywaku .backw .list{
	width: 50%;
	list-style: disc;
}
.glaywaku .backw .listL{
	width: 100%;
	list-style: disc;
}

.glaywaku .Flexbox .txtL{
	width: 65%;
}
.glaywaku .Flexbox .photoS{
	width: 35%;
	padding: 10px 20px;
	text-align: center;
}
.zu{
	width: 95%;
	max-width: 800px;
	margin: 3% auto 5%;
	position: relative;
	z-index: 5;
}
.environment .backg{
	background: #f3f3f3;
	margin: 3% auto 5%;
/*	padding: 1px 30px 30px;*/
	position: relative;
}

.back-relative{
	position: relative;
}
.back-relative .back01{position: absolute;
left: 0;
top: -6%;
width: 40%;
margin: auto;
z-index: -1;}

.environment .backg .back02{
	position: absolute;
right: 0;
top: 0;
width: 40%;
margin: auto;
}

.back-relative .back01 img,
.environment .backg .back02 img{
width: 100%;
height: auto;}

.btnb{
	text-align: center;
	margin: 5% auto 5%;
}
.btnb a{
	display: inline-block;
	color: #fff;
	position: relative;
	padding: 1px 20px;
	font-size: 0.8em;
}
.btnb a::before{
    transform: skewX(-35deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	background: #000;
    z-index: -1;
}
.btnb a:hover::before{
    transform: skewX(-35deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	background: #999;
    z-index: -1;
}

.mission{
	position: relative;
	margin: 0;
	padding: 3% 0 8%;
}
.mission .backl{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 55%;
}
.mission .backr{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
}
.mission .backl img,
.mission .backr img{
	width:100%;
	height: auto;
}

.mission01,
.mission02,
.mission03{
	margin: 5% auto;
	position: relative;
}

.mission01 .title{
	width: 40%;
	margin-left: 5%;
}
.mission01 .txtwakuR{
	width: 85%;
	background: #fff;
	padding: 4% 20px 20px;
	margin: -3% 0 0 auto;
}

.mission02 .title{
	width: 30%;
}
.mission02 .photo{
	width: 70%;
	padding: 20px;
}
.mission02 .txtwakuL{
	width: 85%;
	background: #fff;
	padding: 20px;
	margin: -5% auto 0 0;
}
.mission .gwaku{
	background: #f3f3f3;
	padding: 5% 20px 20px;
	margin: -3% auto 5%;
	position: relative;
	z-index: -1;
}
.mission .gwaku h5{
	text-align: center;
}
.mission .gwaku ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 20px auto;
}
.mission .gwaku ul li{
	list-style: disc;
	width: 40%;
}
.title .num{
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12rem;
	font-weight: 200;
	padding: 30px 10px;
	font-style: italic;
	text-align: center;
	color: #5d5d5d;
}
.mission .wwaku{
	background: #fff;
	padding: 20px;
}
.mission .wwaku h4{
	display: inline-block;
	background: #666666;
	padding: 0 10px;
	color: #fff;
	text-align: center;
	margin: auto;
}

@media only screen and (min-width:1px) and (max-width: 1080px) {
	
.product .Flexbox .txt{
	width: 50%;
}
.product .Flexbox .photo{
	width: 50%;
	padding: 10px 20px;
	margin-left: 0;
}
.product .Flexbox .txtL{
	width: 50%;
	order: 1;
}
.product .Flexbox .photoR{
	width: 50%;
	padding: 10px 20px;
	margin-right: 0;
	order: 2;
}
	
}

@media only screen and (min-width:1px) and (max-width: 960px) {
	
table .Flexbox .txt,
.glaywaku .Flexbox .txt{
	width: 50%;
}
table .Flexbox .photo,
.glaywaku .Flexbox .photo{
	width: 50%;
	padding: 10px 10px;
}
	
.glaywaku .Flexbox .txtL{
	width: 60%;
	padding: 10px 10px;
}
.glaywaku .Flexbox .photoS{
	width: 40%;
	padding: 10px 10px;
}
	
.Flexbox .txt_green{
	width: 60%;
}
.Flexbox .photo_green{
	width: 40%;
	padding: 10px 10px;
}
.glaywaku,
.waku{
	padding: 30px;
}
.mission .glaywaku{
	padding: 20px 30px;
}
	
.mission .gwaku{
	padding: 5% 10px 10px;
}
.glaywaku .backw .list{
	width: 100%;
	list-style: disc;
}
.title .num{
	font-size: 9rem;
	padding: 30px 10px;
}
}

@media only screen and (min-width:1px) and (max-width: 768px) {
	
table .Flexbox .txt,
.glaywaku .Flexbox .txt{
	width: 100%;
}
.glaywaku .Flexbox .txtL{
	width: 100%;
}
.glaywaku .Flexbox .photoS{
	width: 100%;
}
table .Flexbox .photo{
	width: 100%;
	margin: auto;
	padding: 10px 10px;
	text-align: center;
}
.glaywaku .Flexbox .photo{
	width: 100%;
	margin: auto;
	padding: 10px 20px;
	text-align: center;
}

.Flexbox .txt_green{
	width: 100%;
}
.Flexbox .photo_green{
	width: 80%;
	margin: auto;
	padding: 10px 20px;
	text-align: center;
}	
.btnb{
	text-align: center;
	margin: 30px auto;
}	
	
.product .Flexbox .txt{
	width: 100%;
}
.product .Flexbox .photo{
	width: 100%;
	padding: 10px 20px;
	margin-left: 0;
}
.product .Flexbox .txtL{
	width: 100%;
	order: 2;
}
.product .Flexbox .photoR{
	width: 100%;
	padding: 10px 20px;
	margin-right: 0;
	order: 1;
}
	
.title .num{
	font-size: 9rem;
	padding: 30px 10px;
}
	
	
.mission01 .title{
	width: 60%;
	margin-left: 5%;
}
.mission01 .txtwakuR{
	width: 95%;
	background: #fff;
	padding: 4% 20px 20px;
	margin: -3% 0 0 auto;
}

.mission02 .title{
	width: 40%;
}
.mission02 .photo{
	width: 60%;
	padding: 20px;
}
.mission02 .txtwakuL{
	width: 95%;
	background: #fff;
	padding: 20px;
	margin: -5% auto 0 0;
}

	
}
@media only screen and (min-width:1px) and (max-width: 530px) {

.glaywaku,
.waku{
	padding: 20px;
}
.mission .glaywaku{
	padding: 20px 20px;
}
.glaywaku .btn{
	width: 60%;
	max-width: 180px;
	margin: 30px auto 10px;
}
	
.mission01 .title{
	width: 100%;
	margin: auto;
}
.mission01 .txtwakuR{
	width: 100%;
	background: #fff;
	padding: 10px;
	margin: 0 auto;
}

.mission02 .title{
	width: 100%;
	margin: auto;
}
.mission02 .photo{
	width: 80%;
	padding: 20px;
	margin: auto;
}
.mission02 .txtwakuL{
	width: 100%;
	background: #fff;
	padding: 10px;
	margin: 0 auto;
}

}


/* form */


.form-style {
	
}
.form-style input {
	font-size: 1.6rem;
}
.form-style select {
	font-size: 1.6rem;
}
.form-style input[type="checkbox"] {
	margin: 0 0.5em;
}
.form-style input[type="text"],.form-style textarea {
	border: 1px solid #999;
	border-radius: 4px;
	background: #FFF;
	margin: 10px 10px 10px 0;
	padding: 3px;
}
.form-style input[type="number"] {
	border: 1px solid #999;
	border-radius: 4px;
	background: #FFF;
	margin: 10px 10px 10px 0;
	padding: 3px;
}
.form-style input[type="radio"] {
	margin-left: 2px;
	margin-right: 6px;
}

.form-style select {
	border: 1px solid #CCC;
	margin: 10px 0;
	padding: 8px;
	border-radius: 5px;
}
.formwidth-ss {
	width: 15%;
}
.formwidth-s {
	width: 15%;
}
.formwidth-ms {
	width: 25%;
}
.formwidth-m {
	width: 45%;
}
.formwidth-l {
	width: 80%;
}
.regi-buttun {
	text-align: center;
	margin: 3% 0 0;
}

.entry-area {
	width: 520px;
	margin: 60px auto 0;
}

/* ボタン */

.add-bu {
	font-size: 1.2rem!important;
	-webkit-appearance: none;
	cursor: pointer;
	text-align: center;
	color: #FFF;
	background: #666;
	border-radius: 6px;
	padding: 4px 10px;
}

.entry-b {
	width: 100%;
	max-width: 560px;
	display: block;
	-webkit-appearance: none;
	cursor: pointer;
	font-size: 1.8rem;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #a09052;
	margin: 80px auto 0;
	padding: 30px 10px;
}
.back-b {
	width: 100%;
	max-width: 260px;
	display: block;
	-webkit-appearance: none;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #b5b5b5;
	margin: 80px auto 0;
	padding: 3% 0;
}

.button-rd,
.button-yl,
.button-gr{
	width: 50%;
	display: block;
	text-align: center;
}

.button-rd button,
.button-rd input{
	background: #8d2220;
	color:#fff;
	display: block;
	padding: 15px 10px;
	width: 100%;
}
.button-rd button:hover,
.button-rd input:hover {
	background: #b64543;
}
.button-yl button,
.button-yl input {
	background: #b78b2e;
	color:#fff;
	display: block;
	padding: 15px 10px;
	width: 100%;
}
.button-yl button:hover,
.button-yl input:hover {
	background: #d3b066;
}
.button-gr button,
.button-gr input{
	background: #b5b5b5;
	color:#fff;
	display: block;
	padding: 15px 10px;
	width: 100%;
}
.button-gr button:hover,
.button-gr input:hover {
	background: #CCC;
}

[class^="button"] {
	width: 50%;
	display: block;
	-webkit-appearance: none;
	cursor: pointer;
	float: left;
	text-align: center;
	color: #FFF;
	padding: 3% 0;
}

/* cf */

.entry-area:after {
    content:" ";
    display:block;
    clear:both;
}


@media only screen and (max-width: 768px) {
	
	.entry-area {
		width: 100%;
		margin: 5% auto 0;
	}
	.formwidth-m,.formwidth-l {
		width: 98%;
	}
	.formwidth-s {
		width: 60px;
	}
	.formwidth-ss {
		width: 100px;
	}
	.entry-b {
		font-size: 1.6rem;
		margin: 8% auto 0;
		padding: 20px 10px;
	}
	.back-b {
		font-size: 1.6rem;
		margin: 8% auto 0;
		padding: 3% 0;
	}

}
dl.privacy{
	margin: 3% auto 5%;
	width: 96%;
}
 dl.privacy dt{
	color: #225598;
	font-weight: 500;
	margin: 20px 0 10px;
	 font-size: 1.1em;
}
 dl.privacy dd{
	margin: 10px 20px 20px;
}

.contactbox{
	width: 31.3333%;
	margin: 20px 1%;
	padding: 20px;
	border:1px solid #dfdfdf;
}
.contactbox a{
	text-align: center;
	display: block;
	margin: 30px auto 10px;
	background: url("../img/contact/entry_back.png") center center no-repeat;
	background-size: cover;
	padding: 8px 5px;
	color: #fff;
	font-weight: 500;
	max-width: 320px;
}
@media only screen and (min-width:1px) and (max-width: 960px) {
	
.contactbox{
	width: 31.3333%;
	margin: 20px 1%;
	padding: 20px 10px;
	border:1px solid #dfdfdf;
}
	
}
@media only screen and (min-width:1px) and (max-width: 768px) {
	
.contactbox{
	width: 90%;
	margin: 10px auto;
	padding: 0 10px;
	border:1px solid #dfdfdf;
}
	
}
@media only screen and (min-width:1px) and (max-width: 430px) {
	
.contactbox{
	width: 98%;
	margin: 10px auto;
}
	
}




.Newsbox{
	display: flex;
	flex-wrap: wrap;
}
.Newsbox .Newsmain{
	width: 80%;
	padding: 20px;
}
.Newsbox .Newsmain h4{
	background: #efefef;
	padding: 5px;
	margin: 8% auto 3%;
}
.Newsbox .news_detail{
	margin: 3% auto 5%;
	padding: 20px;
}
.Newsbox .news_detail a{
	color: #225598;
}
.Newsbox .news_detail a:hover{
	color: #f8624e;
}
.Newsbox .Newsnav{
	width: 20%;
	padding: 20px;
}
.Newsbox .Newsnav ul{
	margin: 50px auto 0;
}
.Newsbox .Newsnav ul li a{
	padding: 8px 0 8px 18px;
	display:block;
    position: relative;
    display: inline-block;
}

.Newsbox .Newsnav ul li a::before{
    position: absolute;
    top: 0;
    bottom: 0;
	left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.date {
	text-align: right;
	margin: 0 3%;
}

@media only screen and (min-width:1px) and (max-width: 960px) {	

}

@media only screen and (min-width:1px) and (max-width: 768px) {


	
.Newsbox .Newsmain{
	width: 100%;
	padding: 20px 0;
}
.Newsbox .Newsnav{
	width: 100%;
	padding: 10px 20px;
}
	
.Newsbox .Newsnav ul{
	display: flex;
	flex-wrap: wrap;
	}
.Newsbox .Newsnav ul li{
	width: 50%;
	}
	
}
