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


/*///////////////////////////////////////////
////////////　　　　共通　　　　////////////
///////////////////////////////////////////*/

body {
    line-height: 1.8;
    color: #333333;
    letter-spacing: 0.1rem;
}

/*相殺*/
p:empty:before {
	display: none!important;
}

/*サイト幅*/

section#content{
	padding:5% 0 0;
}
section#content:last-child {
	padding:5% 0 ;
}

.inner,.inner_s,.inner_b,.inner_100{
	width:100%;
	margin: 0 auto;
}
.inner {max-width: 1220px;}
.inner_s{max-width: 880px;}
.inner_b{max-width: 1380px;}
.inner_100{max-width: 100%;}

#content p{
	padding:1%;
}


/*google MAP*/

.gmap{
	width:100%;
	height:420px;
    margin: 0 0 -10px;
}

@media (max-width: 640px) {
.gmap {
    height: 280px;

}
}


@media (max-width: 640px) {

header.header-fixed {
    position: fixed;
    width: 100%;
}

section#content{
	padding:10% 0 0;
}
section#content:last-child {
	padding:10% 0 ;
}

.inner,.inner_s,.inner_b{
	padding:0 5%;
}

}


/*フォントサイズ*/

h1,h2,h3,h4,h5,.page_tit-en{
	font-weight:bold;
}

.s{font-size: 80%!important;}

a {	text-decoration: none;}
a {	color:#333;}
a:visited {	color:#333;}

.page_tit-en{
	font-size: 32px;
    line-height: 28px;
    width: 100%;
    display: block;
    text-shadow: 1px 1px 12px #707070;
    max-width: 1080px;
    margin: 0 auto;
}

@media (max-width: 640px) {

body,p{ line-height: 1.6;}
.page_tit-en { font-size: 20px; }
}

/*テキスト位置*/

.txt_r{text-align:right;}
.txt_c{text-align:center;}
.txt_l{text-align:left;}



/*MV*/

body#kaso #mv{
    height: 60vh;
}

body#kaso #mv .bg{
background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    width: 100%;
    height: 60vh;
}
body#kaso #mv .tit,
body#blog_template #mv .tit{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
background-color: rgba(255,255,255,0.2);
    width: 100%;
    max-width: 100%;
	height: 60vh;
}

body#kaso #mv .tit{
padding: 25vh 5% 0;
    height: 60vh;
}
body#kaso #mv .tit h1{
    width: 100%;
    display: block;
    text-shadow: 1px 1px 12px #707070;
    max-width: 1080px;
	margin: 0 auto;
}

body#blog_template{}
body.contact{}
body.privacy-policy{}

body#blog_template #mv,
body#kaso.contact #mv,
body#kaso.privacy-policy #mv {
    height: 45vh;
    padding: 0;
}


body#blog_template #mv .bg,
body#kaso.contact #mv .bg,
body#kaso.privacy-policy #mv .bg{
background-color: #333;
	width: 100%;
	position: relative;
	height: 45vh!important;
    background-size: cover;
    background-position: center;
}

body#blog_template #mv .tit,
body#kaso.contact #mv .tit ,
body#kaso.privacy-policy #mv .tit{
padding: 0!important;
	height: 45vh!important;
}

body#blog_template #mv .tit h1,
body#kaso.contact #mv .tit h1,
body#kaso.privacy-policy #mv .tit h1{
    padding: 22vh 5% 0;
    height: 45vh!important;
    color: #fff;
}




body#blog_template #mv .tit h1,
body#kaso.contact #mv .tit h1,
body#kaso.privacy-policy #mv .tit h1{
    width: 100%;
    display: block;
    text-shadow: 1px 1px 12px #707070;
    max-width: 1080px;
    margin: 0 auto;
}

/*スライダー*/

section#mv-slider .slider {
    position: relative;
}

section#mv-slider .slick-slide img {
    display: block;
    width: 100%;
    height: 85vh;
    object-fit: cover;
}

section#mv-slider .tit_logo.innner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 42.5vh auto 0;
    height: 42.5vh;
}
section#mv-slider .tit_logo.innner h1.txt_c{
width: 15%;
    margin: 0 auto;
}

section#mv-slider span.prev-arrow.slick-arrow,
section#mv-slider span.next-arrow.slick-arrow {
    position: absolute;
    display: block;
    z-index: 2;
    padding: 42.5vh 1%;
    height: 85vh;
    font-weight: bold;
	color:#fff;
}

section#mv-slider span.prev-arrow.slick-arrow{
top:0;
left:0;
}
section#mv-slider span.next-arrow.slick-arrow{
top:0;
right:0;
}

section#mv-slider ul.slide-dots {
    text-align: center;
}

section#mv-slider ul.slide-dots li {
    display: inline-block;
    margin: 0 15px;
}

section#mv-slider ul.slide-dots li button {
    position: relative;
    text-indent: -9999px;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


section#mv-slider ul.slide-dots li button:before {
    content: "○";
    font-size: 20px;
    text-indent: 0px;
    position: absolute;
    top: 0;
    left: 0;
}

section#mv-slider .slide-dots li.slick-active button:before {
    content: "●";
}

@media (max-width: 640px) {

body#kaso #mv {
    height: 32vh;
}

body#kaso #mv .bg {
    height: 30vh;
}

body#blog_template #mv .bg, body#kaso.contact #mv .bg, body#kaso.privacy-policy #mv .bg {
    padding: 10vh 0 0;
    height: 25vh!important;
}
body#blog_template #mv .tit {
    padding: 10vh 0 0;
}

#blog_template .blog-detail img {
    width: 100%!important;
}
	
	#sidebar .side_img img {
    height: 110px!important;
}

	

body#blog_template #mv .tit h1, body#kaso.contact #mv .tit h1, body#kaso.privacy-policy #mv .tit h1 {
    padding: 10vh 5% 0;
    height: 45vh!important;
    color: #fff;
}
	
	
/*スライダー*/
section#mv-slider .slick-slide img {
	height: 30vh;
}

section#mv-slider span.prev-arrow.slick-arrow,
section#mv-slider span.next-arrow.slick-arrow {
    height: 30vh;
padding: 15vh 2%;
}

section#mv-slider .tit_logo.innner h1.txt_c {
    width: 50%;
}

section#mv-slider .tit_logo.innner {
	margin: 15vh auto 0;
	height: 30vh;
}


}



/*パンくず*/
#pankuzu{
	padding:1% 0;
	font-size: 12px;
    background-color: #204572;
	color:#fff;
}

#pankuzu a{
	color:#fff;
}


@media (max-width: 640px) {
	#pankuzu{font-size:10px;}
}

/*float*/


/*img*/

img{
width:100%;
margin:0 0 1%;
}

*:first-child+html img {
	vertical-align: top;
}
* html img {
	vertical-align: top;
}

a:hover img{
	opacity:0.7;
	filter:alpha(opacity=70);
	-ms-filter: “alpha( opacity=70 )”;

}


/* header */

header {
    width: 100%;
    padding: 1% 0;
    z-index: 9;
    height: 80px;
}

header .logo img {

}

header .logo_img{
    line-height: 1.8;
    font-size: unset;
    margin: 0!important;
    display: block;
}


/*パターン切り分け*/

header.pattern1{}
header.pattern2 {
    position: fixed;
    background-color: rgba(255,255,255,0.6);
}
header.pattern2 ul#menu-global li a {
    color: #333!important;
}
header.pattern2.header-fixed ul#menu-global li a {
    color: #333!important;
}


header.pattern3{position: fixed;}
header.pattern4{height: 135px;}

header .header_base{
	position:relative;
}

header .logo{
	position:absolute;
	left:calc(50% - 590px);
}
header .global-navi{
position: absolute;
    right: 0;
    width: 60%;
    padding: 1% 0 0;
}


header.pattern4 .logo{width: 40%;
    position: static;}
header.pattern4 .tel{width: 60%;
    position: absolute;
    right: 0;
    top: 0;
}
header.pattern4 .global-navi{width:100%;}

header.pattern4 .tel{
    font-size: 32px;
    font-weight: bold;
text-align: right;
    letter-spacing: -2px;
}

header.pattern4 .tel i{
font-size: 22px;
    letter-spacing: 0;
    padding: 0 10px 5px 0;
}


.pattern1-only.tel,
.pattern2-only.tel,
.pattern3-only.tel{
	display:none;
}

header.pattern3 .header_base {
    position: relative;
    max-width: 96%!important;
}

header.pattern3 .logo.pattern3-only {
    display: block;
}

header.pattern3 ul#menu-global,
header.pattern3 ul#menu-global li{
display: block!important;
    width: 100%!important;
    text-align: center;
}


.global-navi.pattern3-none {
    position: absolute;
    right: -100%;
    width: 30%;
    top: -2vh;
    z-index: 9999;
    background-color: rgba(255,255,255,0.8);
    height: 100vh;
    padding: 5%;
	transition: all 0.8s;/*アニメーション設定*/
}

header.pattern3 ul#menu-global li a {
display: block;
padding: 20px 0 20px 10px;
border-bottom: 1px solid #eee;
text-decoration: none;
letter-spacing: 2px;
}

header.pattern3 ul#menu-global li.pull-down a::after {
content: "＋";
position: absolute;
font-size: 16px;
font-weight: bold;
color: #0291d3;
transform: none;
width: 15px;
height: 25px;
transition: none;
background: transparent;
top: 20px;
left: auto;
right: 15px;
bottom: 0;
z-index: 99;
}

header.pattern3 ul#menu-global li.pull-down ul.sub-menu a:after{
display:none;
}

header.pattern3 ul#menu-global li.nodown,
header.pattern3 ul#menu-global li.pull-down {
font-size: 18px;
letter-spacing: 0px;
line-height: normal;
}

header.pattern3 ul#menu-global li.pull-down a {
pointer-events: all;
}

header.pattern3 ul#menu-global li.pull-down ul.sub-menu {
background-color: transparent!important;
color: #333;
position: static;
width: auto;
}

header.pattern3 ul#menu-global li.pull-down.active ul.sub-menu {
  display: block;
}


header.pattern3 ul#menu-global li.pull-down ul.sub-menu li.pull-down-item a {
    color: #333!important;
    font-size: 16px;
}


header.pattern3 ul#menu-global li.pull-down:hover > .sub-menu {
display: none;
}


.hamburger.pattern1-none,
.hamburger.pattern2-none,
.hamburger.pattern4-none{
display:none;
}


/*ヘッダーデザイン　PCデザイン*/

header ul#menu-global {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
	z-index: 999;
}

header ul#menu-global li a{
	display:block;
}

header ul#menu-global li.nodown,
header ul#menu-global li.pull-down{
	display: inline-block;
    font-size: 16px;
	letter-spacing: 0px;
}
header ul#menu-global li.pull-down {
	position: relative;
	padding: 0 0 5px;
}

header ul#menu-global li.pull-down a{pointer-events: none;}


/* サブメニュー */
header ul#menu-global li.pull-down:hover > .sub-menu {
	display: block;
}
header ul#menu-global li.pull-down ul.sub-menu {
position: absolute;
    background-color: #0291D3;
    color: #ffffff;
    width: 360px;
    display: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    left: 0px;
    top: 30px;
    z-index: 3;
    text-align: left;
}

header ul#menu-global li.pull-down ul.sub-menu li{

}

header ul#menu-global li.pull-down ul.sub-menu li.pull-down-item a {
	color: #ffffff;
    font-size: 14px;
   pointer-events: all;
padding: 15px 5%;
}

/*ヘッダーデザイン　SPデザイン
　SPとパターン３*/

.hamburger {
    position: absolute;
    right: 0;
    top: 0;
    width: 58px;
    height: 58px;
    cursor: pointer;
    z-index: 9999;
    background-color: #333;
    border-radius: 30px;
    padding: 1%;
}

.hamburger__line {
position: absolute;
left: 11px;
width: 35px;
height: 1px;
background-color: #fff;
-webkit-transition: all .6s;
transition: all .6s;
}
.hamburger__line--1 {
top: 17px;
}
.hamburger__line--2 {
top: 28px;
}
.hamburger__line--3 {
top: 39px;
}

.nav-open header .global-navi {
    right: -3%!important;
}
.nav-open .black-bg {
opacity: .8;
visibility: visible;
}
.nav-open .hamburger__line--1 {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
    top: 28px;

}
.nav-open .hamburger__line--2 {
width: 0;
left: 50%;
}
.nav-open .hamburger__line--3 {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
    top: 28px;

}








@media (max-width: 640px) {
header {
    height: 70px;
}

.hamburger.pattern1-none,
.hamburger.pattern2-none,
.hamburger.pattern4-none{
    display: block;
    border-radius: unset;
}

header .header_base {
    max-width: 100%!important;
}
header.pattern3 .header_base {
    max-width: 100%!important;
}

header .logo {
z-index:99999;
left: 0;
}
header .logo img {
    width: 200px;
    padding: 9% 0 0 9%;
}

.hamburger {
    transform: scale(0.8);
}

.nav-open header .global-navi {
    right: 0%!important;
    width: 100%!important;
    top: 0;
    padding: 70px 5% 0!important;
    background: #FFF;
}

header ul#menu-global,
header ul#menu-global li{
display: block!important;
    width: 100%!important;
    text-align: center;
}


.global-navi {
	right: -100%!important;
    width: 30%!important;
    top: 0;
    z-index: 9999;
    background-color: rgba(255,255,255,0.8);
    height: 100vh;
    padding: 5%!important;
	transition: all 0.8s;/*アニメーション設定*/
}

header ul#menu-global li a {
display: block;
padding: 20px 0 20px 10px;
border-bottom: 1px solid #eee;
text-decoration: none;
letter-spacing: 2px;
color: #111;
}

header ul#menu-global li.pull-down a::after {
content: "＋";
position: absolute;
font-size: 16px;
font-weight: bold;
transform: none;
width: 15px;
height: 25px;
transition: none;
background: transparent;
top: 20px;
left: auto;
right: 15px;
bottom: 0;
z-index: 99;
}

header ul#menu-global li.pull-down ul.sub-menu a:after{
display:none;
}

header ul#menu-global li.nodown,
header ul#menu-global li.pull-down {
font-size: 14px;
letter-spacing: 0px;
line-height: normal;
}

header ul#menu-global li.pull-down a {
pointer-events: all;
}

header ul#menu-global li.pull-down ul.sub-menu {
background-color: transparent!important;
color: #333;
position: static;
width: auto;
}

header ul#menu-global li.pull-down.active ul.sub-menu {
  display: block;
}


header ul#menu-global li.pull-down ul.sub-menu li.pull-down-item a {
    font-size: 12px;
}


header ul#menu-global li.pull-down:hover > .sub-menu {
display: none;
}

.hamburger {
    background-color: transparent;
}
.hamburger__line {
	background-color: #fff;
    height: 2px;
}

header.pattern4 {
    height: 70px;
}

header.pattern4 .tel {
	display: none!important;
}
header.pattern4 .logo {
    width: 100%;
}
header.pattern4 .logo img{
	padding: 5% 0 0 0!important;
	margin: -5px 0 0 -10px;
}






}




/* footer */

footer{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	color: #ffffff;
	background-color: #000000;
	font-size: 10px;
	text-align: center;
	letter-spacing: .5px;
}

footer .foot-logo img{
	max-width:240px;
}

footer a,
footer a:visited{
	color:#3C80A3;
}

copyright{
color: #fff;
    padding: 10px 0;
    display: block;
}


footer .copyright a{color: #fff;}


@media (max-width: 640px) {
.footer_tel{
	position: fixed;
    bottom: 0;
    z-index: 15;
    text-align: center;
    width: 100%;
	}
.footer_tel a{
    background: #333;
    display: block;
    width: 100%;
    color: #fff;
    padding: 4% 0;
	font-weight: 800;
}

	footer .on{display:block!important;}
	footer .off{display:none!important;}

	footer.on{
		margin:0 0 47px;
	}

}





#content{}
#content #detail{padding:5% 0;}



/*TOP　新着*/

section.news{}

section.news.thumbnail_news{}
section.news.nothumbnail_news{}

section.news ul.post_list{
	overflow:hidden;
}

section.news.thumbnail_news ul.post_list li{
    width: 33%;
    float: left;
    padding: 1%;
    margin: 0 0 1%;
}


section.news.thumbnail_news ul.post_list li img{
    width: 100%;
    height: 222px;
    object-fit: cover;
}


section.news.thumbnail_news ul.post_list li .tit_flex{
	margin:3% 0;
}



section.news.nothumbnail_news ul.post_list{
	padding:1%;
}

section.news.nothumbnail_news ul.post_list li{
    border-bottom: 1px solid #ccc;
    padding: 0 1%;
}
section.news.nothumbnail_news ul.post_list li:first-child{
	border-top:1px solid #ccc;
}

section.news.nothumbnail_news ul.post_list li a{
    padding: 1.5% 0;
    display: block;
}

section.news.nothumbnail_news ul.post_list li a:hover{
	opacity:0.8;
}

section.news.nothumbnail_news ul.post_list li a .day{
width: 12%;
    display: inline-block;
}

section.news.nothumbnail_news ul.post_list li .f_l,
section.news.nothumbnail_news ul.post_list li .f_r{width: 100%;}

section.news.nothumbnail_news ul.post_list li .f_r {
	font-weight:500;
}

section.news ul.post_list li a .cate{
    text-align: center;
    background-color: #333;
    color: #fff;
    font-size: 12px;
    padding: 2px 15px;

}

@media (max-width: 640px) {

	section.news ul.post_list li img{
		width:100%;
		height:50px;
		object-fit:cover;
	}

	section.news.thumbnail_news ul.post_list li{
		border-bottom:1px solid #ccc;
		padding: 1% 1% 5%;
    margin: 0 0 5%;
	}

	section.news.thumbnail_news ul.post_list li img {
    height: 50px;
}
	section.news ul.post_list,
	section.news.nothumbnail_news ul.post_list{
    padding: 5%;
}
	section.news.nothumbnail_news ul.post_list li a {
    padding: 3% 0;
	}


section.news.thumbnail_news ul.post_list li {
    width: 100%;
}
section.news.thumbnail_news ul.post_list li .tit_flex {
    margin: 0 0 3%;
}
	section.news.thumbnail_news ul.post_list li .img_vox{
		    float: left;
    width: 25%;
	}

	section.news.thumbnail_news ul.post_list li .c_tit{
		float: right;
    width: 70%;
	}



	section.news .c_tit{
		font-size:12px;
	}

	body#top section.news ul.post_list li a .cate{
	    font-size: 10px;
    float: none;
		padding: 2px 5px;
	}



section.news.nothumbnail_news ul.post_list li .f_l,
	section.news.nothumbnail_news ul.post_list li .f_r{
    width: 100%;
    line-height: 1.4;
}
section.news.nothumbnail_news ul.post_list li span {
    display: inline-block!important;
}
section.news.nothumbnail_news ul.post_list li a .day {
    width: 30%;
	}


	section.news.nothumbnail_news ul.post_list li .f_r {
		    margin: 3% 0 0;
	}












}

/***********************************
レイアウト雛・パーツ雛
***********************************/

/*レイアウト*/
.f_o{overflow:hidden;}
.f_l{float:left;}
.f_r{float:right;}

/*************
 * パーツ *
***************/

/*a*/
a.link_parts{
max-width: 320px;
    position: relative;
    display: block;
    font-size: 16px;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding-bottom: 30px;
    padding-left: 32px;
    width: 100%;
    border-bottom: 1px solid #fff;
    color: #fff;
}
a.link_parts:before {
    position: absolute;
    top: 5px;
    left: 0;
    content: "";
    width: 14px;
    height: 14px;
    background-size: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../top/assets/img/square.png);
}


a.link_parts:after{
    position: absolute;
    top: 2px;
    right: 0;
    content: "";
    width: 72.5px;
    height: 18.5px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
	background-image: url(../top/assets/img/arrow.png);
}





a.link_parts.mal0{margin-left: 0;}
a.link_parts.mar0{margin-right: 0;}

@media (max-width: 640px) {
a.link_parts.mal0{margin: 0 auto;}
a.link_parts.mar0{margin: 0 auto;}


a.link_parts {

}

}


a.link_parts:hover{opacity:0.7;}

/*tel*/
.tel_no {
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    letter-spacing: -2px;
	color: #fff;
}
.tel_no:before{
	content:"Tel:";
    font-size: 22px;
    letter-spacing: 0;
	color:#fff;
}

/*table*/

@media (max-width: 640px) {
html,body{
	overflow-x:hidden;
}

.table-wrap {
  overflow-x: scroll;
}

	.table-wrap .table_parts td{
		font-size:14px;
	}

.table-wrap.left_tit{overflow-x: unset;}

.table-wrap.left_tit .table_parts{
	min-width:100%;
    border-top: none;
    border-right: none;
}


.table-wrap.left_tit .table_parts th.tit,
.table-wrap.left_tit .table_parts td{
width: 100%;
    display: block;
    padding: 2%;
    border-left: none;
    border-bottom: none;
}



}

.table_parts {
  width: 100%;
min-width: 640px;
  border-collapse: collapse;
	border-top: 2px solid #eee;
	border-right: 2px solid #eee;
}
.table_parts th,
.table_parts td {
	border-bottom: 2px solid #eee;
	border-left: 2px solid #eee;
	padding: 1%;
}
.table_parts td {
	    background: #fff;
}


.table_parts th.tit{
	background-color:#000;
	color:#fff;
	font-weight:bold;
	width: 20%;
}

.table_parts .no_border-l{
	border-left:none!important;
}


@media (max-width: 640px) {
.table_parts .tel_no {
    font-size: 24px;
}

}




/*************
 * レイアウト *
***************/
#template .sample{
background: #f5f5f5;
    padding: 3% 0 1%;
}
#template h2.tit_sample{
    background: #000;
    color: #fff;
    font-size: 18px;
    padding: 15px;
}

#template h3.tit_sample{
    font-size: 18px;
    padding: 15px;
}


#layout_block{
	margin:1% 0 3%;
}


/*左画像　右テキスト*/

#layout_block .l-img_r-text{
overflow:hidden;
}

#layout_block .l-img_r-text .img{
    float: left;
    width: 40%;
}
#layout_block .l-img_r-text .text {
    float: right;
    width: 55%;
}

#layout_block .l-img_r-text .text h3{
	margin-bottom: 1%;
    padding-bottom: 1%;
    border-bottom: 1px solid;
    color: #204572;
}

#layout_block .l-img_r-text .text p{
    line-height: 2.2;
}



/*左テキスト　右画像*/

#layout_block .l-text_r-img{
overflow:hidden;
}

#layout_block .l-text_r-img .img{
	float:right;
width: 40%;
}
#layout_block .l-text_r-img .text {
    width: 100%;
	overflow:hidden;
}

#layout_block .l-text_r-img .text h3{
margin-bottom: 1%;
    padding-bottom: 1%;
    border-bottom: 1px solid;
    width: 55%;
    color: #204572;
}

#layout_block .l-text_r-img .text p{
    width: 55%;
    line-height: 2.2;
}



/*画像1枚＋テキスト　2カラム（左右）*/

#layout_block .l-img2_r-text2 {overflow:hidden;}

#layout_block .l-img2_r-text2 h3{
    margin: 2% 0 1%;
    font-size: 20px;
}

#layout_block .l-img2_r-text2 .f_l{float:left;}
#layout_block .l-img2_r-text2 .f_r{float:right;}

#layout_block .l-img2_r-text2 .f_l,
#layout_block .l-img2_r-text2 .f_r{
	width:48%;
}




/*画像1枚（大）＋テキスト*/

#layout_block .imgb_text{}

#layout_block .imgb_text h3{
margin-bottom: 1%;
    padding: 0 1%;
}






/*画像の中にテキスト*/


#layout_block .in_img{}

#layout_block .in_img .bg{
	background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#layout_block .in_img .layer_black{
background-color: rgba(51,51,51,0.6);
padding: 5% 0;
    text-shadow: 1px 1px 12px #707070;

}
#layout_block .in_img h3{
	text-align:center;
	margin-bottom: 1%;
}
#layout_block .in_img p{
	color:#fff;
}

/*3カラム*/


#layout_block .column3{
	    overflow: hidden;
}

#layout_block .column3 .text {
    width: 32%;
    float: left;
	    background: #fff;
}
#layout_block .column3 .text:nth-child(2n+2) {
	margin: 0 2%;
}

#layout_block .column3 .text h3{
	font-size:18px;
	margin:2% 0 ;
	padding: 0 5%;
}
#layout_block .column3 .text p{
	font-size:12px;
	margin:2% 0 ;
	padding: 0 5% 2%;
}

#layout_block .column3.waku {
    padding: 0 0 3%;
}

#layout_block .column3.waku .text{
    width: 31%;
    box-shadow: 3px 3px 7px 1px #cccccc;
    margin: 1%;
	background: #fff;

}
#layout_block .column3.waku .text h3{
	padding: 5% 5% 0;
}




/*お問い合わせ*/


#layout_block .lead{
text-align: center;
    color: #fff;
    font-size: 18px;
    margin: 1%;
}

#layout_block .tel_box p.s{
text-align: center;
}

#layout_block .telmail_box{

}
#layout_block .telmail_box .l-img2_r-text2{
	margin:3% 0 0;
}
#layout_block .telmail_box .l-img2_r-text2 h4{
	text-align: center;
	color: #fff;
}

#layout_block .telmail_box .l-img2_r-text2 .tel_no{
	margin: 2% 0 0;
}

#layout_block .telmail_box .l-img2_r-text2 .link_parts {
margin: 3% auto 5px;
    padding: 10px;
}

#layout_block .telmail_box .l-img2_r-text2 .f_r{
	border-left:2px solid #fff;
	padding: 0 0 0 5%;
}

@media (max-width: 640px) {

#layout_block .in_img .layer_black {
    padding: 10% 0;
}

#layout_block .l-img2_r-text2 .f_l, #layout_block .l-img2_r-text2 .f_r {
    width: 100%;
}
#layout_block .telmail_box .l-img2_r-text2 .f_r {
    border-left: none;
    padding: 5% 0 0;
}

#layout_block .l-img_r-text .img {
    position: static;
    padding: 0;
    width: 100%;
    margin: 0 0 5%;
    float: none;
}

#layout_block .l-img_r-text img,
#layout_block .l-text_r-img img{
	width:100%;
	height:190px;
	object-fit:cover;
}


#layout_block .l-img_r-text .text,
#layout_block .l-text_r-img .text {
    width: 100%;
}

#layout_block .l-img_r-text .text h3,#layout_block .l-text_r-img .text h3 {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
    width: 55%;
    font-size: 20px;
}

#layout_block .l-img_r-text .text h3{
float: right;
    font-size: 18px;
}

#layout_block .l-img_r-text .text p,
#layout_block .l-text_r-img .text p {
    clear: both;
    padding: 5% 0 0;
}
#layout_block .l-text_r-img .text h3{
    font-size: 18px;
}

#layout_block .l-text_r-img .img {
    position: static;
    padding: 0;
    right: 0;
    width: 100%;
    float: none;
    margin: 0 0 5%;
}

#layout_block .l-img2_r-text2 .f_r{
	margin: 5% 0 0 ;
}

#layout_block .l-img_r-text img,
#layout_block .l-text_r-imgt img{
    width: 100%;
    height: 220px;
    object-fit: cover;
}

#layout_block .l-text_r-img .text p {
    width: 100%;
}

#layout_block .column3 .text {
    width: 100%;
    float: none;
}

#layout_block .column3 .text:nth-child(2n+2) {
    margin: 0;
}

#layout_block .column3.waku .text {
    width: 99%;
}



}

/**********************************
新着情報ページ・お問い合わせページ
**********************************/







/*ブログ*/

body#blog_template h1.blog_tit{
    font-size: 32px;
}


body#blog_template .main img {
    width: 100%;
    height: 245px;
    object-fit: cover;
    margin: 0;
}


body#blog_template .main .archive-list .cat-data {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;

    padding: 2% 4%;
    font-size: 12px;
    color: #fff;
}

body#blog_template .blog-h5,
body#blog_template .sidebar-title,
body#blog_template .popular-posts h2 {
    background-color: #008CCF;
    color: #FFF;
    text-align: center;
    line-height: 1.2;
    margin: 0 0 15px;
    padding: 10px 0;
}

section.new-blog {
    padding: 0 0 10%;
}
body#blog_template .inner_b.f_o{
	margin: 0 auto 5%;
}


/*お問い合わせ*/

body.contact div#mail_form {
    margin: 3% auto 10%;
    padding: 10px 0;
    background: #fff;
    border: 1px solid #ccc;
    width: 100%;
    letter-spacing: 1px;
}

@media (max-width: 640px) {

body#blog_template #mv, body.contact #mv, body.privacy-policy #mv {
    height: 25vh!important;
    margin: 70px 0 0;
}

body#blog_template #mv .bg, body.contact #mv .bg , body.privacy-policy #mv .bg{
    height: 25vh!important;
}

body#blog_template #mv .tit, body.contact #mv .tit {

}


body#blog_template #mv h1.blog_tit {
    width: 90%;
    font-size: 18px;
}
#blog_template .blog-detail img {
    height: 240px;
	}

}






/**********************************
一覧（動的）共通
**********************************/

.img_pattern{}
.img_pattern .f_l,
.img_pattern .f_r{width:48%;}


/**********************************
サービス一覧（動的）
**********************************/



/*共通*/
body.service_list,
body.service_list2{}

/*TOP*/

body.service_top ul.service_list_all,body.service2_top ul.service_list_all{}

body.service_top ul.service_list_all li,
body.service2_top ul.service_list_all li{
	margin: 0 0 10%;
}
body.service_top ul.service_list_all li .f_o,
body.service2_top ul.service_list_all li .f_o{
	margin:10px 0 0 ;
}
body.service_top ul.service_list_all li .f_l,
body.service2_top ul.service_list_all li .f_l{
	width:30%;
}
body.service_top ul.service_list_all li .f_r,
body.service2_top ul.service_list_all li .f_r{
	width:68%;
}


/*詳細*/

body.service_list .service_outline_catch,
body.service2_list .service_outline_catch{
	font-size:24px;
	font-weight:bold;
}



@media (max-width: 640px) {
body.service_top ul.service_list_all li .f_l,
body.service_top ul.service_list_all li .f_r,
body.service2_top ul.service_list_all li .f_l,
body.service2_top ul.service_list_all li .f_r{
    width: 100%;
}
body.service_top ul.service_list_all li img,
body.service2_top ul.service_list_all li img{
	width:100%;
	height:215px;
	object-fit:cover;
}
}

/**********************************
メンバー一覧（動的）
**********************************/

/*共通*/

body.member_list{}


/*TOP*/

body.member_top ul.member_list_all{
	overflow:hidden;
}

body.member_top ul.member_list_all li{
	width:30%;
	float:left;
	margin:0 0 3%;
}

body.member_top ul.member_list_all li:nth-child(3n+2){
	margin:0 5% 3%;
}

body.member_top ul.member_list_all li img{
    width: 100%;
    height: 210px;
    object-fit: cover;
}




/*詳細*/

body.member_list .member_outline_catch{
	font-size:24px;
	font-weight:bold;
}

body.member_list #content #detail{
	margin:1% 0 0!important;
}

body.member_list .img_pattern .f_o{
    margin: 1% 0 0;
    padding: 0 1%;
}

body.member_list .img_pattern .f_l{width:30%;}
body.member_list .img_pattern .f_r{width:68%;}


@media (max-width: 640px) {

body.member_top ul.member_list_all li {
    width: 48%;
    margin: 0 1% 2%;
}

body.member_top ul.member_list_all li:nth-child(3n+2) {
    margin: 0 1% 2%;
}

body.member_top ul.member_list_all li img{
width: 100%;
    height: 100px;
    object-fit: cover;
}

}



/**********************************
メニュー一覧（サムネイル）（動的）
**********************************/

/*共通*/

body.menu_thumbnail{}


/*TOP*/

body.menu_thumbnail ul.menu_list_all{
	overflow:hidden;
}

body.menu_thumbnail ul.menu_list_all li{
    width: 24.2%;
    float: left;
    margin: 0 0 3%;
}

body.menu_thumbnail ul.menu_list_all li:nth-child(4n+2){
	margin:0 0.5% 3% 1%;
}
body.menu_thumbnail ul.menu_list_all li:nth-child(4n+3){
	margin:0 1% 3% 0.5%;
}

body.menu_thumbnail h2.menu_category{
background-color: #333;
    color: #fff;
    padding: 1%;
    font-size: 26px;
    margin: 0 0 2%;
}

body.menu_thumbnail .menu_detail .text {
	padding:0.5%;
}

body.menu_thumbnail .menu_detail .text h3{
	font-size: 18px;
    margin: 4% 0 1%;
    font-weight: bold;
}


body.menu_thumbnail .menu_detail .text .price{text-align:right; font-weight:bold;}
body.menu_thumbnail .menu_detail .text .txt{
    line-height: 1.2;
    margin: 5% 0 0;
}



@media (max-width: 640px) {

body.menu_thumbnail ul.menu_list_all li {
    width: 31%;
    margin: 0 1% 2%;
}

body.menu_thumbnail ul.menu_list_all li:nth-child(4n+3) {
    margin: 0 1% 2%;
}
body.menu_thumbnail ul.menu_list_all li:nth-child(4n+2) {
    margin: 0 1% 2%;
}

body.menu_thumbnail h2.menu_category {
    padding: 4%;
    font-size: 16px;
    margin: 0 0 4%;
}

body.menu_thumbnail .menu_detail .text h3 {
    font-size: 12px;
}
body.menu_thumbnail .menu_detail .text .price {
font-size: 10px!important;
    letter-spacing: -2px;
}

body.menu_thumbnail ul.menu_list_all li img{
width: 100%;
    height: 70px;
    object-fit: cover;
}

body.menu_thumbnail .menu_detail .text .txt{
		display:none;
}

}

/**********************************
メニュー（PDF式）（動的）
**********************************/

body.menu_pdf {}

body.menu_pdf #detail img {
    width: 100%;
    height: 720px;
    object-fit: cover;
}


@media (max-width: 640px) {
body.menu_pdf #detail img {
    height: 190px;
}
}
/**********************************
施工事例（ギャラリー）（動的）
**********************************/

/*共通*/

body.gallery_list{}

/*TOP*/

body.gallery_list .hide2{ display: none; }


body.gallery_list ul.tab{
width: 100%;
    display: flex;
    border-bottom: 2px solid #333;
    margin: 0 0 5%;
}

body.gallery_list ul.tab li{
    width: 100%;
    text-align: center;
    padding: 1% 0;
    font-weight: bold;
}


body.gallery_list ul.tab li.select{
	background: #333;
	color: #fff;
}


body.gallery_list .tab_content {
    margin: 10% 0;
}

body.gallery_list .tab_content h3{
    margin-bottom: 3%;
    border-left: 5px solid #333;
    padding: 0 0 0 10px;
    font-size: 20px;
}


body.gallery_list .tab_content ul.gallery_list_all{
	overflow:hidden;
}

body.gallery_list .tab_content ul.gallery_list_all li{
    width: 30%;
    float: left;
    margin: 0 0 3%;
}

body.gallery_list .tab_content ul.gallery_list_all li img{
width: 100%;
    height: 230px;
    object-fit: cover;
}


body.gallery_list .tab_content ul.gallery_list_all li:nth-child(3n+2) {
    margin: 0 5% 3%;
}


/*詳細*/

#playPause{
	display:none
}

body.gallery_list .gallery_main_img {
    margin: 0 0 3%;
}

body.gallery_list .gallery_main_img img{
width: 100%;
    height: 640px;
    object-fit: cover;
}

body.gallery_list .gallery_detail{}

body.gallery_list .gallery_detail #detail{
    margin: 0 0 3%;
}
body.gallery_list .gallery_detail #detail:last-child{
    margin: 0;
}

body.gallery_list .gallery_thumbnail {}
body.gallery_list .gallery_thumbnail ul.gallery_thumbnail_list{
	overflow:hidden;
}
body.gallery_list .gallery_thumbnail ul.gallery_thumbnail_list li{
    width: 30%;
    float: left;
    margin: 0 0 3%;
}

body.gallery_list .gallery_thumbnail ul.gallery_thumbnail_list li img{
    width: 100%;
    height: 220px;
	object-fit:cover;
    border: 1px solid #ccc;
}


body.gallery_list .gallery_thumbnail ul.gallery_thumbnail_list li:nth-child(3n+2) {
    margin: 0 5% 3%;
}


@media (max-width: 640px) {
body.gallery_list ul.tab {
    display: inline-block;
}
body.gallery_list ul.tab li {
    width: 32%;
	padding: 3% 0;
	display: inline-block;
}

body.gallery_list .tab_content h3 {
    margin: 2% 0 10%;
    font-size: 14px;
}

body.gallery_list .tab_content ul.gallery_list_all li,
body.gallery_list .gallery_thumbnail ul.gallery_thumbnail_list li{
    width: 48%;
    margin: 0 1% 3%;
}

body.gallery_list .tab_content ul.gallery_list_all li:nth-child(3n+2),
body.gallery_list .gallery_thumbnail ul.gallery_thumbnail_list li:nth-child(3n+2){
    margin: 0 1% 3%;
}
body.gallery_list .gallery_main_img img {
    height: 220px;
}

body.gallery_list .tab_content ul.gallery_list_all li img,
body.gallery_list .gallery_thumbnail ul.gallery_thumbnail_list li img {
    height: 110px;
}



}

/**********************************
よくあるご質問（動的）
**********************************/

/*共通*/

body.faq_list{}

/*TOP*/

.accordion{
  margin:5% 0;
}

.accordion__container {
  width: 100%;
  margin: 0 auto;
}

.accordion__title {
    font-size: 1.25em;
    position: relative;
    cursor: pointer;
    user-select: none;
    border-bottom: 2px solid #333;
    padding: 1rem;
}

.accordion__title::before, .accordion__title::after {
  content: '';
  display: block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  width: 15px;
  height: 2px;
  right: 25px;
}

.accordion__title::after {
  transform: rotate(90deg);
  transition-duration: .3s;
}

.accordion__title:hover,
.accordion__title:active,
.accordion__title.is-active {

}

.accordion__title.is-active::before {
  opacity: 0;
}

.accordion__title.is-active::after {
  transform: rotate(0);
}

.accordion__content {

  padding: 0 1.5em;
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: .3s;
}

.accordion__content.is-open {

  padding: .625em 1.5em;
  line-height: normal; /* numberに書き換える*/
  height: auto;
  opacity: 1;
}

.accordion__content span.a{
	font-weight: bold;
    font-size: 1.25em;
}

.accordion__content img{
    width: 32%;
    height: 210px;
    object-fit: cover;
    float: right;
    padding: 0 0 0 2%;
}


@media (max-width: 640px) {

.accordion__title {
    padding: 0 0.5rem 1%;
}

.accordion__content img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    /* float: right; */
    padding: 0;
    display: block;
    margin: 0 0 5%;
}
}




/*新着連動型サービスページ*/

section.blog_category{}
section.blog_category ul.blog_category_list{
	overflow: hidden;
	margin: 0 0 5%;
}

section.blog_category ul.blog_category_list h3{
    margin: 0 0 15px;
}

section.blog_category ul.blog_category_list li{
    float: left;
	width: 31.3%;
    display: block;
    margin: 0 2% 0 0;
    border-radius: 10px;
    background-color: #fff;
}
section.blog_category ul.blog_category_list li:last-child{
    margin: 0;
}
section.blog_category ul.blog_category_list li img{
    height: 240px!important;
}

section.blog_category ul.blog_category_list li span.day{font-size: 10px;}

section.blog_category ul.blog_category_list li h4{
    font-size: 15px!important;
    margin: 0!important;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;

    /*IE対策*/
    line-height: 1.5em!important;
    max-height: 4.5em;
}
section.blog_category ul.blog_category_list li p {
    font-size: 12px;
}


@media (max-width: 640px) {
section.blog_category ul.blog_category_list {
    margin: 0 0 10%;
}

section.blog_category ul.blog_category_list li {
    width: 48.5%;
}
section.blog_category ul.blog_category_list li:nth-child(even){
    margin: 0;
}
section.blog_category ul.blog_category_list li img {
    height: 110px!important;
}

}

/*GOTOP*/

.gotopon{display:block;}
.gotopoff{display:none;}

#gotop{
    background: #333;
    position: fixed;
    z-index: 66;
    right: 0px;
    bottom: 0px;
    width: 60px;
    height: 60px;
    text-align: center;
    padding: 1%;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
}

#gotop a{
	color:#fff;
}




/*Instagram API連動*/


section#content.insuta{}

section#content.insuta .instagram{
    overflow: hidden;
    margin: 3% 0 0;
}



section#content.insuta .instagram .insta_img{
    width: 32%;
    float: left;
    margin: 0 1% 1% 0;
}

@media (max-width: 640px) {
section#content.insuta {
    margin: 0 0 15%;
}



}







@media (max-width: 640px) {
#gotop {
display:none!important;
}
}


/* PC スマホで切り替える場合 */

@media (max-width: 640px) {
.pc{ display:none!important;}
}

@media screen and (min-width: 641px) {
.sp{ display:none!important;}
}














/*///////////////////////////////////////////
////////////　　　　個別　　　　////////////
///////////////////////////////////////////*/

body#top section#mv{
	padding:15% 0;
}
