@charset "utf-8";

/* --------------------ハンバーガーメニュー---------------------------------*/
nav.gnavSp {
	position: fixed;
	z-index: 999;
	top: 80px;
	right: 0;
	background: rgba(249,96,51,0.9);
	color: #000;
	transform: translateX(100%);
	transition: all 0.6s;
	width:  100%;
	padding: 0 2em 100%;
	text-align: center;
}

nav.gnavSp ul {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

nav.gnavSp ul li {
	font-size: 1.1em;
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px dotted #fff;
}

nav.gnavSp ul li a {
	display: block;
	color: #FFF;
	padding: 1em 0;
}

/* このクラスを、jQueryで付与・削除する */
nav.gnavSp.active {
	transform: translateY(0%);
}

/*--------ハンバーガーメニュー内--------*/
.navToggle {
	display: block;
	position: fixed;    /* bodyに対しての絶対位置指定 */
	right: 13px;
	top: 20px;
	width: 42px;
	height: 39px;
	cursor: pointer;
	z-index: 99999;
	text-align: center;
}

.navToggle span {
	display: block;
	position: absolute;    /* .navToggleに対して */
	width: 30px;
	border-bottom: solid 3px #f96033;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 6px;
}
.navToggle span.BB{
	border-bottom: solid 3px #333;
}
.navToggle span:nth-child(1) {
	top: 9px;
}

.navToggle span:nth-child(2) {
	top: 18px;
}

.navToggle span:nth-child(3) {
	top: 27px;
}

.navToggle span:nth-child(4) {
	border: none;
	color: #FFF;
	font-size: 9px;
	font-weight: bold;
	top: 34px;
}


.gnavSp address{
	padding:2em 0;
}
.gnavSp address .gnavTel a{
	font-size:24px;
}
.gnavSp address .gnavTel a:before {
    font-family: "icomoon";
    content: '\e942';
    font-size: 20px;
	display:inline-block;
	margin-right:0.5em;
}
.gnavSp address .gnavTel{
	color:#FFF;
}
/*-----------------タップした後の「X」------------------*/
.navToggle.active{
	background:#f96033;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
	border-bottom: solid 3px #FFF;
	top: 18px;
	left: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
	border-bottom: solid 3px #FFF;
	top: 18px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*----------------------------ハンバーガーメニューここまで-----------------------------*/

.showSp{
	display:none;
}
.showSp1080{
	display:none;
}
@media screen and (max-width: 1080px) {
.hideSp1080{
	display:none;
}
.showSp1080{
	display:block;
}
/* Header Setting
=========================================================================================== */
#headerLogo{
	float:none;
}
#HeaderSetInner{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
/****メインビジュアル****/
#contentsHead #mainVisual h1{
	padding:12% 0;
}
/****パンくず****/
ul#path{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}

/* ALLcontents Setting
=========================================================================================== */
#sub section{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
.columnSet .column2{
	width:48%;
	margin-left:4%;
}
.columnSet .column3{
	width:32%;
	margin-left:2%;
}
.columnSet .column4{
	width:48%;
	margin-left:4%;
}
.columnSet .column4:nth-child(2n+1){
	margin-left:0;
}
.boxPatternA{
	padding-left:4%;
	padding-right:4%;
}
.boxPatternB{
	padding-left:4%;
	padding-right:4%;
}
/* index Setting
=========================================================================================== */
#indexContentsHead .catchBox{
	right:10%;
}
#index section{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
#index .greetingSet .greetingColumnL{
	width:66%;
}
#index .greetingSet .greetingColumnR{
	width:30%;
	margin-left:4%;
}
/* footer Setting
=========================================================================================== */
footer section{
	width:100%;
	padding-left:4%;
	padding-right:4%;
}
}
	
@media screen and (max-width: 960px) {

}
	
@media screen and (max-width: 767px) {
.hideSp{
	display:none;
}
.showSp{
	display:block;
}
/* Header Setting
=========================================================================================== */
#HeaderSet{
	height:64px;
	display: table;
	padding:0;
}
#HeaderSetInner{
	display: table-cell;
    vertical-align: middle;
}
#headerLogo{
	max-width: calc(84% - 50px);
}
nav.gnavSp{
	top:64px;
}
.navToggle{
	top:12px;
}
/****メインビジュアル****/
#contentsHead{
	margin-top:64px;
}
#contentsHead #mainVisual h1{
	font-size:28px;
}
/****パンくず****/
ul#path{
	margin-bottom:20px;
}
/* ALLcontents Setting
=========================================================================================== */
h2.h2Style4{
	font-size:24px;
	letter-spacing:normal;
}
h2.h2Style4:after{
	bottom:-20px;
}
h2.h2Style2{
	font-size:24px;
}
h3.h3Style3{
	text-align:center;
}
h3.h3Style3 span{
	margin-right:0;
	margin-bottom:0.5em;
}
h3.h3Style3 strong{
	display:block;
}
h4.h4Style1{
	display:block;
	border-bottom: 4px solid #46C4DB;
	border-image:none;
}
.btnStyle1 a{
	display:block;
	text-align:center;
}
.btnStyle2 a{
	display:block;
	text-align:center;
	padding:1em 0;
}
.halfBtnStyle1 li{
	width:100%;
	float:none;
	margin-bottom:1em;
}
.halfBtnStyle1 li:last-child{
	margin-left:0;
}

ul.checkListStyle1 li{
	width:100%;
	float:none;
}
ul.checkListStyle1 li:nth-child(even){
	margin-left:0;
}
ol.noListStyle1 li{
	display:block;
}
ol.noListStyle1 li .no{
	display: block;
    width: 100%;
}
ol.noListStyle1 li .text{
	display: block;
    width: 100%;
	padding:1.5em 4%;
}
.newsList .cate{
	margin-bottom:0.5em;
}
.newsList .date{
	display:block;
}

.tableStyle1 th,
.tableStyle1 td{
	display:block;
}
.tableStyle2 caption{
	text-align:center;
}
.tableStyle2 th,
.tableStyle2 td{
	padding:0.5em;
	font-size:14px;
}

.columnSet .column2{
	width:100%;
	float:none;
	margin-left:0;
}
.columnSet .column3{
	width:100%;
	float:none;
	margin-left:0;
}
.columnSet .column4{
	width:100%;
	float:none;
	margin-left:0;
}
.columnSet .column70L{
	width:100%;
	float:none;
}
.columnSet .column30R{
	width:100%;
	float:none;
	margin-left:0;
}
.columnSet .columnImgR_up{
	float:none;
	width:100%;
	margin-left:0;
}
.columnSet .columnTextL_down{
	float:none;
	width:100%;
}

.flowColumnSet .column20L{
	display:none;
}
.flowColumnSet .column80R{
	display:block;
	padding-left:0;
}
.flowColumnSet .column80R .imgOnlyStyle{
	text-align:center;
}
.flowColumnSet .column80R .imgOnlyStyle img{
	width:60%;
}

.exampleColumnSet .example01{
	margin-bottom:3em;
}

.telephone{
	font-size:24px;
}
/*お問い合わせフォーム*/
form .boxPatternB .textSmall1{
	margin-bottom:0;
}
form .formBtn1 #submit_button{
	width:100%;
}
input.formBtn2{
	width:100%;
}

/* index Setting
=========================================================================================== */
#indexContentsHead{
	margin-top:64px;
}
#indexContentsHead #mainVisualSp img{
	width:100%;
}
#indexContentsHead .catchBox{
	width:100%;
	text-align:center;
	right:0;
	padding:2em;
}
#indexContentsHead .catchBox .catch{
	font-size:34px;
	margin-bottom:120px;
}
#index section{
	padding-top:40px;
	padding-bottom:40px;
}
#index article:first-child section{
	padding-top:0;
}

#index .greetingSet .greetingColumnL{
	width:100%;
	float:none;
}
#index .greetingSet .greetingColumnR{
	width:100%;
	float:none;
	margin-left:0;
}
#index .greetingSet .greetingColumnL p{
	margin-bottom:2em;
}
#index .greetingSet .greetingColumnL .imgOnlyStyle{
	margin-bottom:1em;
}
#index .greetingSet .greetingColumnL .imgOnlyStyle img{
	width:100%;
}
/* footer Setting
=========================================================================================== */
footer .columnSet .footerColumnL{
	width:100%;
	float:none;
	text-align:center;
}
footer .columnSet .footerColumnR{
	display:none;
}
footer section #footerLogo{
	text-align:center;
	display: block;
}
footer section #footerLogo {
    width: 100%;
    margin-bottom: 30px;
}
footer section #footerLogo a {
    display: inline-block;
    width: 60%;
}
}
@media screen and (max-width: 579px) {
}