@charset "utf-8";
/* CSS Document */

/*---------------------common---------------------*/
* {
	margin: 0;
	padding: 0;
}
body{
	min-width: 1040px;
	font-family: "Noto Sans CJK JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic", sans-serif;
	line-height: 1.6;
	color: rgb(0,0,0);
}
body.open {
    padding-right: 17px;
    box-sizing: border-box;
    overflow: hidden !important;
    width: auto;
}
a{
	color: rgb(0,0,0);
	text-decoration: none;
}
li{
	list-style: none;
}
p{
	font-size: 18px;
}
table{
	border-collapse: collapse;
}
th,
td{
}
img{
	display: block;
	border: none;
    vertical-align: bottom;
}

.en{
	font-family: 'Anton', sans-serif;
}


.box{
	max-width: 1000px;
	margin: 0 auto;
}
.btn a{
	display: block;
	background-color: rgb(0,0,0);
	color: rgb(255,255,255);
	font-weight: 500;
}

.ojf {
  font-family: 'object-fit: cover;';
}
.pc{
	display: block;
}
.sp{
	display: none;
}
@media only screen and (max-width: 768px){
	body{
		min-width: inherit;
	}
	body.open{
		padding-right: 0;
	}
	.box{
		max-width: inherit;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
}


/*---------------------load----------------------*/
#loading{
    -webkit-transition: all 1s cubic-bezier(0.785, 0.135, 0.15, 0.86) 1.8s;
    transition: all 1s cubic-bezier(0.785, 0.135, 0.15, 0.86) 1.8s;
    background-color: rgb(250,206,65);
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9000;
}
#loading.active {
    width: 0; 
}
#loading.active_neo{
	display: none;
	background-color: transparent;
} 
#loading .logo {
    position: absolute;
    top: 50vh;
    left: 50vw;
    opacity: 0;
    width: 157px;
    height: 106px;
    background: url("../images/ic_load.png") no-repeat center center;
    background-size: 100% auto;
    -webkit-animation: logo 0.4s ease 0.2s 1 forwards;
    animation: logo 0.4s ease 0.2s 1 forwards;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transform-origin: center;
    transform-origin: center;
}
#loading .bar {
    position: relative;
    width: 0;
    height: 100%;
    background-color: #fff;
    -webkit-transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86) 1.2s;
    transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86) 1.2s;
}
#loading .bar.active {
    width: 100%;
}
#loading .bar.active_neo,
#loading .active_neo .logo{
	display: none;
}
@-webkit-keyframes logo {
    0% {
        opacity: 0;
        margin-top: 22px
    }
    100% {
        opacity: 1;
        margin-top: 0
    }
}
@keyframes logo {
    0% {
        opacity: 0;
        margin-top: 22px
    }
    100% {
        opacity: 1;
        margin-top: 0
    }
}

/*---------------------フェード----------------------*/
.animation {}
.animation.fade {
	opacity: 0;
}
.animation .fade {
	opacity: 0;
}
.animation.active.fade {
	animation-name: fadeInDown;
	animation-duration: 1.2s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
	backface-visibility: hidden;
}
.animation.active .fade {
	animation-name: fadeInDown;
	animation-duration: 1.35s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
	backface-visibility: hidden;
}

/*--移動--*/
.updown {transform: translateY(-50px);}
.downup {transform: translateY(30px);}
.slide-right {transform: translateX(30px);}
.slide-left {transform: translateX(-30px);}

/*--ディレイ--*/
.delay01 {}
.delay02 {
	animation-delay: 0.5s;
}
.delay03 {
	animation-delay: 0.7s;
}
.delay04 {
	animation-delay: 1s;
}
.delay05 {
	animation-delay: 1.2s;
}
.delay06 {
	animation-delay: 1.4s;
}
.delay07 {
	animation-delay: 1.6s;
}
.delay08 {
	animation-delay: 1.8s;
}
.delay09 {
	animation-delay: 2.0s;
}
.delay10 {
	animation-delay: 2.2s;
}


@keyframes fadeInDown {
    0% {
        opacity: 0;
    }
    100% {
    opacity: 1;
    transform: translate(0);
    }
}


/*---------------------header---------------------*/
.header{
	position: relative;
	background-color: rgb(255,255,255);
}
.header .box{
	position: relative;
	padding: 30px 0;
}
.header .logo{
	width: 192px;
	margin: auto;
}
.header .head_contact{
	display: flex;
	position: absolute;
	right: 0;
	top: 0;
}
.header .head_contact .cont_btn{
	width: 120px;
	margin-right: 15px;
}
.header .head_contact .cont_btn a{
	font-size: 15px;
	line-height: 1.1;
	padding: 15px 0;
	text-align: center;
	transition: all .3s ease-in-out;
}
.header .head_contact .cont_btn a:hover{
	background-color: rgb(70,70,70);
}
.header .head_contact .sns_btn{
	display: flex;
	align-items: center;
}
.header .head_contact .sns_btn .instagram{
	margin-right: 15px;
}
.header .head_contact .sns_btn a{
	display: block;
	transition: all .2s ease-in;
}
.header .head_contact .sns_btn a:hover{
	opacity: 0.7;
}
.header .opennav_btn{
	display: block;
	position: fixed;
	top:60px;
	width: 53px;
	height: 45px;
	font-size: 0;
	cursor: pointer;
	transition: all .3s;
	z-index: 5000;
	padding-top: 15px;
}
.header .opennav_btn span{
	display: block;
	position: absolute;
	width: 53px;
	height: 4px;
	background-color: rgb(0,0,0);
	transition: background-color 0s .3s, left .3s;
}
.header .opennav_btn span:before,
.header .opennav_btn span:after{
	content: "";
	position: absolute;
	display: block;
	left: 0;
	width: 53px;
	height: 4px;
	background-color: rgb(0,0,0);
	-webkit-transition-duration: 0.3s, 0.3s;
	transition-duration: 0.3s, 0.3s;
	-webkit-transition-delay: 0.3s, 0s;
	transition-delay: 0.3s, 0s;
}
.header .opennav_btn:hover span:before,
.header .opennav_btn:hover span:after{
	left: -15px;
}
.open .header .opennav_btn:hover span:before,
.open .header .opennav_btn:hover span:after{
	left: 0;
}
.header .opennav_btn span:before{
	top: -15px;
	-webkit-transition-property: top, left, -webkit-transform;
    transition-property: top, left, transform;
}
.header .opennav_btn span:after{
	bottom: -15px;
    -webkit-transition-property: bottom, left, -webkit-transform;
    transition-property: bottom, left, transform;
}
.open .header .opennav_btn span{
	background: none;
}
.open .header .opennav_btn span:before{
	top: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.open .header .opennav_btn span:after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.header .opennav_btn p{
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 19px;
	line-height: 0.8;
	text-align: center;
}
.open .header .opennav_btn{
	left: 60px;
	/*left: 146px;*/
}
.header .open_nav{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: 4000;
	height: 100%;
}
.header .open_nav #opennav_overray{
	width: auto;
	height: auto;
	overflow: auto;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,0.75);
	z-index: 4900;
	opacity: 0;
	transition: opacity .5s; 
}
.open .header .open_nav #opennav_overray{
	opacity: 1;
}
.header .open_nav .nav_inner{
	width: 530px;
	height: 100%;
	background-color: rgb(255,255,255);
	position: relative;
	overflow: auto;
	padding-left: 152px;
	/*padding-left: 165px;*/
	box-sizing: border-box;
	z-index: 4910;
}
.header .open_nav .nav_inner > ul{
	margin: 60px 0 150px;
}
.header .open_nav .nav_inner li.first{
	margin-bottom: 55px;
}
.header .open_nav .nav_inner li.first > a{
	font-size: 15px;
	display: block;
	transition: all .2s ease-in;
}
.header .open_nav .nav_inner li.first > a:hover{
	opacity: 0.7;
}
.header .open_nav .nav_inner li.first:first-of-type > a{
	pointer-events: none;
}
.header .open_nav .nav_inner li.first > a p{
	font-size: 34px;
	margin-bottom: 5px;
	line-height: 1;
}
.header .open_nav .nav_inner li.faq{
	margin-bottom: 0;
}
.header .open_nav .nav_inner ul.second_menu{
	margin-top: 20px;
}
.header .open_nav .nav_inner ul.second_menu li{
	font-size: 18px;
	margin-bottom: 10px;
}
.header .open_nav .nav_inner ul.second_menu li a{
	transition: all .2s ease-in;
}
.header .open_nav .nav_inner ul.second_menu li a:hover span{
	padding-left: 40px;
}
.header .open_nav .nav_inner ul.second_menu li .one{
	position: relative;
	padding-left: 30px;
	transition: all .2s ease-in;
}
.header .open_nav .nav_inner ul.second_menu li .one::after{
	content: "";
	position: absolute;
	display: block;
	width: 19px;
	height: 1px;
	background-color: rgb(78,72,71);
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
}
.header .open_nav .nav_inner ul.second_menu li .two{
	position: relative;
	padding-left: 30px;
    display: block;
	transition: all .2s ease-in;
}
/*
.header .open_nav .nav_inner ul.second_menu li .two::after{
	content: "";
	position: absolute;
	display: block;
	width: 19px;
	height: 1px;
	background-color: rgb(78,72,71);
	top: -23px;
	bottom: 0;
	left: 0;
	margin: auto 0;
}*/

@media only screen and (max-width: 768px){
  /*br.sp { display: none; }*/
	.header .box{
		padding: 45px 0 15px;
		margin: 0 5% !important;
	}
	.header .logo{
		width: 100px;
	}
	.header .logo img{
		width: 100%;
	}
	.header .head_contact .cont_btn a{
		font-size: 12px;
		padding: 10px 0;
	}
	.header .head_contact .cont_btn{
		width: 100px;
		margin-right: 15px;
	}
	.header .head_contact .sns_btn{
		padding-top: 5px;
	}
	.header .head_contact .sns_btn .instagram{
		margin-right: 10px;
	}
	.header .head_contact .sns_btn .instagram img{
		width: 20px;
		height: auto;
	}
	.header .head_contact .sns_btn .facebook img{
    width: auto;
    height: 20px;
	}
	.header .opennav_btn{
		top: 50px;
		left: 5%;
		width: 30px;
		height: 30px;
		padding-top: 10px;
	}
	.header .opennav_btn p{
		font-size: 12px;
	}
	.header .opennav_btn span{
		width: 30px;
		height: 2px;
	}
	.header .opennav_btn span:before,
	.header .opennav_btn span:after{
		width: 30px;
		height: 2px;
	}
	.header .opennav_btn span:before{
		top: -10px;
	}
	.header .opennav_btn span:after{
		bottom: -10px;
	}
	
	.header .open_nav .nav_inner{
		width: 100%;
		padding-left: 0;
	}
	.header .open_nav .nav_inner > ul{
		margin: 50px 0 150px;
		width: 265px;
		padding: 0 5% 0 30%;
		/*padding: 0 5% 0 35%;*/
		box-sizing: border-box;
	}
	.header .open_nav .nav_inner li.first{
		margin-bottom: 25px;
	}
	.header .open_nav .nav_inner li.busi{
		margin-bottom: 35px;
	}
	.header .open_nav .nav_inner li.first > a{
		font-size: 9px;
	}
	.header .open_nav .nav_inner li.first > a p{
		font-size: 19px;
		margin-bottom: 5px;
	}
	.header .open_nav .nav_inner ul.second_menu{
		margin-top: 15px;
	}
	.header .open_nav .nav_inner ul.second_menu li{
		font-size: 11px;
		margin-bottom: 5px;
	}
	.header .open_nav .nav_inner ul.second_menu li .one{
		padding-left: 20px;
	}
	.header .open_nav .nav_inner ul.second_menu li .one::after{
		width: 10px;
	}

	.header .open_nav .nav_inner ul.second_menu li .two{
		padding-left: 20px;
	}

	.open .header .opennav_btn{
		left: 5%;
		top: 50px;
	}
	

}


/*---------------------footer---------------------*/
#footer .footer_top{
	padding: 60px 0;
	background-color: rgb(227,224,216);
}
#footer .footer_top .logo{
	margin-bottom: 35px;
}
#footer .footer_top .logo img{
	margin: auto;
}
#footer .footer_top .inner{
	display: flex;
	/* margin: 0 10% */
	margin-left: 1%;
	margin-bottom: 0;
}
#footer .footer_top .inner .footer_nav a{
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
	transition: all .2s ease-in;
}
#footer .footer_top .inner .footer_nav ul:first-of-type a{
	/* font-weight: bold; */
}
#footer .footer_top .inner .footer_nav a:hover{
	opacity: 0.7;
}
#footer .footer_top .inner .footer_nav > a{
	display: inline-block;
	margin-bottom: 10px;
	line-height: normal;
	font-weight: bold;
}
#footer .footer_top .inner .footer_nav ul{
	display: inline-block;
	margin-right: 25px;
}
#footer .footer_top .inner .footer_nav ul:first-of-type{
	/*display: block;*/
}
#footer .footer_top .inner .footer_nav ul:last-of-type{
	margin-right: 0;
}
#footer .footer_top .inner .data{
	margin-right: 35px;
}
#footer .footer_top .inner .data p{
	font-size: 15px;
	font-weight: bold;
	margin-bottom: 10px;
}
#footer .footer_top .inner .data li{
	font-size: 14px;
}
.footer_bottom{
	position: sticky;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 105px;
	box-sizing: border-box;
	background-color: rgb(0,0,0);
	color: rgb(255,255,255);
	z-index: 1000;
	min-width: 1000px;
	overflow-x: auto;
}
.footer_bottom .box{
	display: flex;
	height: 100%;
	align-items: center;
}
.footer_bottom .text{
	margin-right: 30px;
}
.footer_bottom .text p{
	font-size: 21px;
}
.footer_bottom .text p span{
	font-size: 16px;
	display: block;
}
.footer_bottom .tel_area{
	margin-right: 25px;
}
.footer_bottom .tel_area p{
	font-size: 30px;
	font-weight: bold;
}
.footer_bottom .tel_area p span{
	position: relative;
	padding-left: 75px;
}
.footer_bottom .tel_area p span::after{
	content: "";
	position: absolute;
	background: url("../images/ic_tel.png") no-repeat center center;
	background-size: cover;
	width: 63px;
	height: 42px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	left: 0;
}
.footer_bottom .tel_area .tel_no a{
  color: #FFF;
}
.footer_bottom .cont_btn a{
	display: block;
	border: 1px solid rgb(255,255,255);
	color: rgb(255,255,255);
	background-color: rgb(0,0,0);
	font-size: 15px;
	font-weight: 500;
	padding: 10px 15px;
	transition: all .2s ease-in;
}
.footer_bottom .cont_btn a span{
	position: relative;
	padding-left: 35px;
}
.footer_bottom .cont_btn a span::after{
	content: "";
	position: absolute;
	background: url("../images/ic_mail.png") no-repeat center center;
	width: 30px;
	height: 23px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	left: 0;
	transition: background .2s ease-in;
}
.footer_bottom .cont_btn a:hover{
	background-color: rgb(60,60,60);
	border: 1px solid rgb(60,60,60);
}
@media only screen and (max-width: 768px){
	#footer .box,
	.footer_bottom .box{
		margin: 0 8vw !important;
	}
  	.footer_bottom .box{
		margin: 0 2.667vw !important;
	}
	#footer .footer_top{
		padding: 10.667vw 0 8vw;
	}
	#footer .footer_top .logo{
		width: 66.665vw;
		margin: 0 auto 6.667vw;
	}
	#footer .footer_top .logo img{
		width: 100%;
	}
	#footer .footer_top .inner{
		display: block;
		margin: 0 2%;
		/*margin: 0 5%;*/
	}
	#footer .footer_top .inner .data{
		margin-right: 0;
		margin-bottom: 5.333vw;
	}
	#footer .footer_top .inner .data p{
		font-size: 3.2vw;
		margin-bottom: 1.333vw;
	}
	#footer .footer_top .inner .data li{
		font-size: 2.933vw;
	}
  #footer .footer_top .inner .footer_nav .list{
		overflow: hidden;
	}
	#footer .footer_top .inner .footer_nav ul{
		/*margin-right: 0;
		display: flex !important;
		flex-wrap: wrap;
		justify-content: space-between;
    overflow: hidden;*/
    display: inherit;
    margin-right: 0;
	}
	#footer .footer_top .inner .footer_nav ul li{
    /*width: 45%;
    flex-basis: calc(50% - 5px);*/
    display: inline-block;
	  width: 48%;
    margin-right: 1%;
    /*width: 45%;
    margin-right: 5%;*/
    float: left;
    margin-bottom: 2px;
	}
  #footer .footer_top .inner .footer_nav ul li a{
    line-height: 1.5;
    display: inline-block;
    vertical-align: top;
	}
  #footer .footer_top .inner .footer_nav ul li a br.sp{}
  
	#footer .footer_top .inner .footer_nav ul:last-of-type{
		/*margin-right: 0;*/
	}
	#footer .footer_top .inner .footer_nav .list ul li:last-of-type{
		/*margin-right: 0;*/
	}
	#footer .footer_top .inner .footer_nav a{
		font-size: 2.933vw;
	}
	.footer_bottom{
		height: auto;
		min-width: inherit;
		padding: 2.667vw 0;
		z-index: 5000;
	}
	.footer_bottom .box{
		display: block;
		font-size: 0;
    text-align: center;
	}
	.footer_bottom .tel_area{
		margin-right: 0;
		margin-bottom: 6.667vw;
		text-align: center;
	}
	.footer_bottom .text{
    margin-left: 0;
		margin-right: 0;
		text-align: center;
		margin-bottom: 1.333vw;
	}
	.footer_bottom .text p{
		font-size: 2.933vw;
		font-weight: bold;
    letter-spacing: 0.05em;
	}
	.footer_bottom .text p span{
		font-size: 2.4vw;
		display: inline-block;
	}
	.footer_bottom .tel_area{
		display: inline-block;
		margin-bottom: 0;
    margin-right: 2.667vw;
		/*float: left;*/
    padding-top: 1.067vw;
    vertical-align: middle;
	}
	.footer_bottom .tel_area p{
		font-size: 2.933vw;
    line-height: 100%;
	}
	.footer_bottom .tel_area p span{
		padding-left: 6.667vw;
    font-size: 4.4vw;
	}
	.footer_bottom .tel_area p span::after{
		width: 5.867vw;
		height: 3.733vw;
    background-size: contain;
	}
	.footer_bottom .cont_btn{
		display: inline-block;
    /*float: right;*/
    box-sizing: content-box;
    vertical-align: middle;
	}
	.footer_bottom .cont_btn a{
		font-size: 2.133vw;
    letter-spacing: 0;
		padding: 1.067vw 2.133vw;
    box-sizing: border-box;
	}
	.footer_bottom .cont_btn a span{
		display: inline-block;
		padding-left: 4vw;
	}
	.footer_bottom .cont_btn a span::after{
		width: 3.2vw;
		height: 2.4vw;
		background-size: contain;
	}
}
/* ------------------------- 電話番号対応 ------------------------- */
@media only screen and (min-width: 768px){
  a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  }
}
/*--------------------------- postbody ---------------------------*/
.postbody {
	overflow: hidden;
}
.postbody *:first-child {
	margin-top: 0;
}
.postbody p {
	margin-bottom: 1.5em;
	line-height: 180%;
}
.postbody h1, 
.postbody h2 {
	margin-top: 40px;
	margin-bottom: 16px;
	color: rgb(19,126,175);
	font-size: 18px;
	font-weight: bold;
	text-align: left;
}

.postbody h3,
.postbody h4 {
	display: inline-block;
	border-bottom: 1px solid rgb(19, 126, 175);
	margin-top: 30px;
	margin-bottom: 14px;
	font-size: 16px;
	font-weight: bold;
	color: rgb(19,126,175);
}

.postbody a,
.postbody a:hover {
	text-decoration: underline;
}

.postbody img {
	display: block;
	margin: inherit;
	margin-top: 1em;
	margin-bottom: 2em;
}
.postbody img:first-child {
	margin-top: 0;
}

.postbody ul {
	margin-bottom: 1.5em;
}
.postbody ul > li {
	padding-bottom: 0.5em;
	list-style-position: inside;
	list-style-type: disc;
	font-size: 14px;
	line-height: 180%;
	letter-spacing: 0.08em;
}

.postbody ol {
	margin-bottom: 1.5em;
}
.postbody ol > li {
	padding-bottom: 0.5em;
	list-style-position: inside;
	list-style-type: decimal;
	font-size: 14px;
	line-height: 180%;
	letter-spacing: 0.08em;
}

.postbody table {
	width: 100%;
	margin-bottom: 2em;
	border-spacing: 0px;
}
.postbody table th,
.postbody table td {
	border: solid 1px rgb(210,210,210);
	padding: 15px 20px;
	line-height: 180%;
	font-size: 14px;
	text-align: left;
}
.postbody table th {
	background-color: rgb(246,246,246);
	font-weight: bold;
	vertical-align: top;
}

.postbody .alignleft {
	float: left;
	margin-right: 2em;
}
.postbody .alignright {
	float: right;
	margin-left: 2em;
}
.postbody .aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.postbody .wp-caption {
	margin-top: 1.2em;
	margin-bottom: 1.2em;
}
.postbody .wp-caption > img {
	margin: 0;
}
.postbody .wp-caption .wp-caption-text {
	font-size: 12px;
	margin: 0;
}
@media only screen and (max-width: 768px){
	   /* postbody */
	.postbody {}
	.postbody h1,
	.postbody h2 {
		font-size: 15px;
		font-weight: bold;
		margin: 2.5em 0 0.8em;
		letter-spacing: 0.08em;
	}
	.postbody h3,
	.postbody h4 {
		font-size: 13px;
		font-weight: bold;
		margin: 2em 0 0.8em;
		letter-spacing: 0.08em;
	}
	.postbody p {
		margin-bottom: 0.8em;
		font-size: 13px;
	}
	.postbody img {
		max-width: 100%;
		height: auto;
		margin: 0.7em auto 1.5em;
	}
	.postbody img:first-child {
		margin-top: 0;
	}

	.postbody ul {}
	.postbody ul > li {
		padding-left: 0.2em;
		padding-bottom: 0.3em;
		font-size: 13px;
	}

	.postbody ol {
		margin-bottom: 1.0em;
	}
	.postbody ol > li {
		padding-left: 0.2em;
		padding-bottom: 0.3em;
		font-size: 13px;
	}

	.postbody table {
		width: 100%;
		margin-bottom: 1.5em;
	}
	.postbody table th,
	.postbody table td {
		padding: 8px 10px;
		font-size: 13px;
	}

	.postbody .alignleft {
		float: none;
		margin-right: 0;
	}
	.postbody .alignright {
		float: none;
		margin-left: 0;
	}
	.postbody .aligncenter {}
}

