@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
* {
	margin:0;
	padding:0;
}
.slicknav_menu,
.smp_860{
	display:none;
}
body {
	text-align:center;
	font-family: "Noto Serif JP", serif;
	font-size:16px;
	line-height:42px;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
	font-weight:300;
	color:#3D3742;
}
img {
	border:0;
	max-width:100%;
	height:auto;
	vertical-align: bottom;
}
ul,
.display_bl {
	display: block;
	letter-spacing: -0.6em;
	list-style-type: none;
}
li,
.display_in {
	letter-spacing: normal;
	display: inline-block;
	vertical-align: top;
	*display: inline;  
	*zoom: 1;
}
.display_fl {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-js-display: flex;
	letter-spacing: -0.6em;
}
.display_tb {
	display:table;
	table-layout: fixed;
}
.display_tc {
	display: table-cell;
}
.display_tc img {
    max-width: 100%;
    height: auto;
}
/* リンク装飾 */
a {
	color:#7E7E7F;
	text-decoration:none;
}
.tel a:hover {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a img
{
	background:none!important;
	border:0;
	transition: 1.0s ;
}
a:hover img{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
	background:none!important;
}
a:hover img.none_alpha
{
	opacity:1;
	filter:alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	background:none!important;
}

/* 画像設定 */
img {
	border:0;
	max-width:100%;
	height:auto;
	vertical-align: bottom;
}
table{
	border-top:1px solid #E9E9E9;
	border-collapse: collapse;
}
table th,
table td {
	padding:15px 10px;
	box-sizing:border-box;
	text-align:left;
	border-bottom:1px solid #E9E9E9;
}
table th {
	background-color:#EFEFEF;
	font-weight:500;
}

input[type="text"].width30 {
	width:60px;
	margin-bottom:5px;
}
input[type="text"].width40 {
	width:80px;
	margin-bottom:5px;
}
input[type="text"],
textarea{
	width:100%;
	padding:5px;
	box-sizing:border-box;
	border:1px solid #CCCCCC;
	font-size:16px;
	
}
select{
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding:10px;
	box-sizing:border-box;
	border:1px solid #999;
	
}
input[type="submit"],
input[type="reset"]{
	padding:5px 10px;
	font-size:16px;
	margin:10px;
	text-align:center;
	font-weight:600;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
label {
	width:100%;
}
/*　ヘッダー　*/
#header {
	color:#7E7E7F;
	width:100%;
	background-color:#FFFFFF;
	height:60px;
	position: fixed;
	top:0;
	left:0;
	box-sizing:border-box;
	padding-left:310px;
	padding-right:310px;
	text-align:center;
	z-index:99;
    border:1px solid #F0EFEF;
}
#header h1 {
	position:absolute;
	margin:auto;
	height:50px;
	left:0;
	top:0;
	bottom:0;
	z-index:100;
}
#header #header_icon {
	position:absolute;
	margin:auto;
	height:50px;
	right:0;
	top:0;
	bottom:0;
	z-index:100;
}
#header #header_icon .tel {
	font-size:29px;
	line-height:32px;
    background-image: url(../images/header_icom_tel.png);
    background-repeat: no-repeat;
    background-size: 26px 26px;
    background-position: left center;
	padding-left:30px;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
#header #header_icon li {
	margin-right:15px;
	vertical-align:middle;
	height: 30px;
}
#header #header_icon li img {
	vertical-align: text-bottom;
}
#header ul#menu {
	width:100%;
	max-width:520px;
	margin:auto;
    padding-top: 9px;
}
#header ul#menu li {
	margin-left:10px;
	margin-right:10px;
	letter-spacing:0.2rem;

}
#header ul#menu li a {
	color:#7E7E7F;
	text-decoration:none;
	position:relative;
	padding:5px 5px;
}
.page-id-2 #header ul#menu li:nth-of-type(1) a::after,
#header ul#menu li a:hover::after {
 border-bottom: 1px solid #C4C4CA;
 width:96%;
 content: "";
 display: block;
 margin-top: 0px;
 position: absolute;
 margin-left: auto;
 margin-right: auto;
 left: 0;
 right: 0;
 bottom: 1px;
 animation: fadeIn 2s ease 0s 1 normal;
 -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
/*　フッター　*/
#footer {
	padding: 70px 0 60px 0;
    max-width: 1400px;
    width: 100%;
    margin: auto;
    box-sizing: border-box;
    padding-left: 1%;
    padding-right: 1%;
    color: #7E7E7F;
	letter-spacing:0.1rem;
}
.footer_address {
	width:30%;
}
.footer_tel_fax {
	width:70%;
}
.footer_address{
	text-align:left;
	line-height:120%;
} 
.footer_address p {
	padding-left: 80px;
}
.footer_tel_fax ul {
	text-align:right;
}
.footer_tel_fax li {
	font-size:13px;
	line-height:15px;
	text-align:center;
	margin-right:35px;
	margin-left:35px;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
.footer_tel_fax .tel {
	font-size:29px;
	line-height:32px;
    background-image: url(../images/footer_icon_tel.png);
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: 2px center;
	padding-left:35px;
	letter-spacing:0.2rem;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
.footer_tel_fax .fax {
	font-size:29px;
	line-height:32px;
    background-image: url(../images/footer_icon_fax.png);
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: left center;
	padding-left:35px;
	letter-spacing:0.2rem;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
#copyright {
	text-align:center;
	font-size:11px;
	line-height:120%;
	padding:8px 0;
	font-weight:300;
    color: #7E7E7F;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
#pagetop_btn {
	position:fixed;
	right:0;
	bottom:100px;
	z-index:101;
	background-color:#FFFFFF;
}
/* main */
#main  {
padding-top: 60px;	
}
/* 共通設定 */
.inner_box {
	padding:100px 0;
	max-width:1200px;
	margin:0 auto;
}
.bg_gray {
	background-color:#F0EFEF;
	transform: skewY(-4deg) scale(1);
}
.bg_gray .inner_box {
	transform: skewY(4deg) scale(1);
}
/*　TOPページ　*/
.main_ph_box {
	position:relative;
	z-index:1;
}
.main_ph_box h2.main_txt img {
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
	position:absolute;
	z-index:2;
}
.display_in.ph_box{
	width:51.6%;
}
.display_in.txt_box{
	width:48.4%;
	padding-top:30px;
	box-sizing:border-box;
	text-align:left;
}
.display_in.txt_box h3 {
	font-size:40px;
	line-height:52px;
	color:#231815;
	letter-spacing:0.2rem;
	font-weight:400;
	margin-bottom:45px;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
.display_in.txt_box p {
	padding-left:55px;
	padding-right:65px;
	margin-bottom:45px;
}
.display_in.left.txt_box {
	padding-right:110px;
}
.display_in.right.txt_box {
	padding-left:110px;
}
.btn_syosai {
	text-align:right;
}
.btn_syosai a {
	background-color:#7E7E7F;
	color:#FFFFFF;
	font-size:16px;
	line-height:100%;
	padding:12px 0;
	max-width:330px;
	width:100%;
	display:inline-block;
	text-align:center;
	text-decoration:none;
    transition: all 0.3s ease 0s;
	-webkit-text-size-adjust: 100% !important;
	max-height: 100%;
}
.btn_syosai a:hover {
	background-color:#C4C4CA;
}
.top_ggmap,
.ggmap {
	position: relative;
	padding-top: 50px;
	height: 0;
	overflow: hidden;
	width:100%;
	max-width:1400px;
	margin:auto auto 0px auto;
}
.top_ggmap {
	padding-bottom: 25.4%;
}
.ggmap {
	padding-bottom: 45%;
}
.top_ggmap iframe,
.top_ggmap object,
.top_ggmap embed,
.ggmap iframe,
.ggmap object,
.ggmap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 1160px) {
.footer_address,
.footer_tel_fax{
	width:100%;
}
.footer_address {
    text-align: center;
    margin-bottom: 30px;
}
.footer_address p {
    padding-left: 0;
}
.footer_tel_fax ul {
    text-align: center;
}

.top_ggmap {
    padding-bottom: 65%;
}
}

@media screen and (max-width: 1050px) {
#header ul#menu {
	display:none!important;
}
.slicknav_menu {
	display:block;
}
#header {
    padding-left: 0;
    padding-right: 0;
}
#header #header_icon {
    right:0px;
}
.inner_box {
    width:98%;
}
.display_in.ph_box{
	width:55%;
}
.display_in.txt_box{
	width:45%;
}
.display_in.left.txt_box {
	padding-right:50px;
}
.display_in.right.txt_box {
	padding-left:50px;
}
.display_in.txt_box p {
    padding-left: 50px;
    padding-right: 0px;
}
}
@media screen and (max-width: 940px) {
.inner_box {
    width:90%;
}
.display_in.ph_box,
.display_in.txt_box{
	width:100%;
}
.box_flex {
   display: -webkit-flex;
   display: flex;
   -webkit-flex-direction:column-reverse;
   flex-direction:column-reverse;
}
.display_in.txt_box h3 {
	text-align:center;
	margin-bottom: 25px;
}
.display_in.left.txt_box,
.display_in.right.txt_box{
	padding-left:0px;
	padding-right:0px;
}
.display_in.txt_box p {
    padding-left: 50px;
    padding-right: 50px;
	margin-bottom: 25px;
}
.btn_syosai {
    text-align: center;
}
}
@media screen and (max-width: 860px) {
.br_860::before {
		content: "\A" ;
		white-space: pre ;
}
.smp_860{
	display:block;
}
.pc_860{
	display:none;
}
#smp_footer_tel {
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	z-index:102;
}
#smp_footer_tel a {
	background-color:#7E7E7F;
	color:#FFF;
	display:block;
	width:100%;
	height:100%;
	padding:10px 0 0 0;
	text-align:center;
	box-sizing:border-box;
	text-decoration:none;
}
#smp_footer_tel .tel_icon {
    font-size: 29px;
    line-height: 32px;
    background-image: url(images/icon_tel_wh.png);
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: left center;
    padding-left: 30px;
    letter-spacing: 0.2rem;
}
}
@media screen and (max-width: 650px) {
.br_650::before {
	content: "\A" ;
	white-space: pre ;
}
body {
    font-size: 18px;
    line-height: 42px;
    -webkit-text-size-adjust: 100% !important;
    max-height: 100%;
}
.footer_tel_fax li {
    text-align: center;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 15px;
    width: 100%;
}
.display_in.txt_box p {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 25px;
}
}
/*　アニメーション　*/
@-webkit-keyframes fadeIn {
 0% {
opacity: 0
}
 100% {
opacity: 1
}
}
