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

*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

body{
	width: 100%;
	margin: 0 auto;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#585858;
}

.wrapper{
	max-width: 1150px;
	width:100%;
	text-align:center;
	margin: 0 auto;
	padding: 0px;
}
.pad1{
	margin: 5vw auto;
	max-width:1350px;
	padding-left:4vw;
	padding-right:4vw;
}
@media(max-width:500px){
	.pad1{
		padding-left:0;
		padding-right:0;
	}
}

.pad2{
	
}
.pad3{
	
}
.flex{
	display:flex;
}
.contents-padding{
	margin:0 2.5%;
}
.ptitle{
	margin: 55px 0 20px;
	padding:10px 20px;
	border-bottom: 1px solid #2e76bc;
	border-left: 1px solid #2e76bc;
	color:#555;
	text-align:left;
}
.sponly{display:none;}
.cf{clear:both;}
.cf:after {
    content:" ";
    display:block;
    clear:both;
}
.tal{
	text-align:left;
}
.tac{
	text-align:center;
}
.mgb15{
	margin-bottom:15px;
}

img{
	max-width:100%;
	vertical-align:bottom;
}

li{list-style-type:none;}
a{
	text-decoration:none;
	color:#2e76bc
}

.cf:after {
    content:" ";
    display:block;
    clear:both;
}

td, th{
	padding:10px 15px;
	line-height:1.3;
	min-width:120px
}

/*headerここから*/
.head_wrap{
    display: contents;
}



.head_border{
    border-top: 10px solid #2e76bc;
}

.header{
    /* max-width: 1200px; */
    width: 92%;
    margin: 20px auto 0px;
}

.header1{
	width: 35%;
	/* width: 40%; */
	margin-left:2%;
	float:left;
}
.header1 img{
    max-height: 75px;
    width:auto;
}

.header2{
	width: 30%;
	max-width: 360px;
	float:right;
	margin-right:2%;
}

.header1 p{
    color: #f567a9;
    letter-spacing: 2px;
	padding-left:0.9rem;
}

/*headerここまで*/

/* メニューここから */

#call{
	height:42px;
    display: none;
    position: absolute;
    right: 65px;
    top:7px;
    cursor: pointer;
    z-index: 100;
}

#toggle {
	display: block;
	background:white;
	color: #fff;
	text-align: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	position:fixed;
	top: 6px;
	right: 8px;
	z-index:9999;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.trigger,
.trigger span {
	display: inline-block;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.trigger {
	position: relative;
	width: 28px;
	height: 19px;
}

.trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #2e76bc;
	border-radius: 4px;
}
.trigger span:nth-of-type(1) {
	top: 0;
}
.trigger span:nth-of-type(2) {
	top: 8px;
}
.trigger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 3px;
	background-color: #2e76bc;
	border-radius: 4px;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.trigger span:nth-of-type(3) {
	bottom: 0;
}
.trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(8px) scale(0);
	transform: translateY(8px) scale(0);
}

.trigger.active span:nth-of-type(2) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.trigger.active span:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) scale(0);
	transform: translateY(-8px) scale(0);
}

.toggleWrap {
	background: #2e76bc;
	padding: 10px 15px 40px;
	position: fixed;
	top: 20px;
	left: 0;
	width: 100%;
}
.mainnav li {
	width:11%;
	list-style-type: none;
}


#global-nav a:hover::after {
	bottom: -4px;	
	opacity: 1;
	visibility: visible;
}

.hide {
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
}

.animation {
	-webkit-transition-property: opacity, visibility;
	transition-property: opacity, visibility;
	-webkit-transition-duration: .1s;
	transition-duration: .1s;
	-webkit-transition-timing-function: ease-in;
	transition-timing-function: ease-in;
}

.no-scroll {
	overflow: hidden;
}

.navItem {
	display: block;
	text-decoration: none;
	text-align: center;
	font-size:16px;
	font-weight:bold;
	padding:5px 0 3px;
	color: #2e76bc;
}

.menu_item1 a:before {content:url(../image/menu_icon1.png);display:block;}
.menu_item2 a:before {content:url(../image/menu_icon2.png);display:block;}
.menu_item3 a:before {content:url(../image/menu_icon3.png);display:block;}
.menu_item4 a:before {content:url(../image/menu_icon4.png);display:block;}
.menu_item5 a:before {content:url(../image/menu_icon5.png);display:block;}
.menu_item6 a:before {content:url(../image/menu_icon6.png);display:block;}
.menu_item7 a:before {content:url(../image/menu_icon7.png);display:block;}
/* メニューここまで*/

/*フッターここから*/
.footer_wrap{background: #2e76bc;}

.footer{
	max-width: 1200px;
	display: flex;
	width: 100%;
	margin: 60px auto 0px;
	color:white;
	padding:30px 1.5%;
}

.footer p,.footer a{
	color:white;
}

.footer1{
	min-width:290px;
	width: 33%;
}
.footer1 img{
	margin-bottom:20px;
	max-width:300px;
}

.footer1 p{
	padding-left:1rem;
	font-size:14px;
}

.footer2{
	width: 65%;
	margin-left:3%;
}

.footer-menu{
	padding-top:32px;
	text-align:right;
}
@media(max-width:700px){
	.footer-menu{
		display:none;
	}	
}

.footer-menu div{
	display:inline-block;
	font-size:15px;
	padding: 0 9px;
	margin-bottom:10px;
	text-align: center;
	border-left:2px solid white;
}

.footer2 div:nth-child(7){
	margin-right:0;
	border-right:2px solid white;
}

.c{
	text-align: right;
    padding-top: 30px;
}





.footer2 .photo{
	height:160px;
	text-align:center;
	overflow:hidden;
	background-image:url(../image/gaikan.jpg);
	background-size:cover;
	background-position:right 50%;
}
.footer2 .photo img{
	visibility:hidden;
}






.map{
	position:relative;
}
.map a{
	position:absolute;
	color:#3a84df;
	background-color:#fff;
	font-size:12px;
	padding:3px;
	top:13px;
	left: 22px;
}
.map a:hover{
	text-decoration:underline;	
}

/*フッターここまで*/


/* h1～ここから*/

h2{
    color: #2e76bc;
    font-size: 150%;
    letter-spacing: 2px;
    text-align: left;
    padding-left: 9px;
    border-bottom: 2px solid #2566a6;
    margin: 40px 0 15px;
}
.nomgb{
	margin-bottom:0;
}

h3{
    margin: 45px 0 15px;
    padding: 0 16px;
    font-size: 30px;
    text-align: left;
    border-left: 10px solid #7d7d7d;
}

h4{
    margin: 0 0 15px;
    padding: 0 16px;
    font-size: 30px;
    text-align: left;
    border-left: 10px solid #7d7d7d;
}
/* h1～ここまで*/

.intro{
	text-align:left;
	margin-top: 30px;
	border: 1px solid #2e76bc;
	padding:20px;
	border-radius:5px;
}

/* index.htmlここから*/

/*コロナお知らせ*/
.oshirase_top{
	border:1px solid #666;
	text-align:center;
	max-width:650px;
	margin: 25px auto;
}
.oshirase_top h3{
	margin:0;
	color:#fff;
	background-color:#666;
	display:block;
	border-radius:0;
	letter-spacing:3px;
	font-size:100%;
	text-align:center;
}
.oshirase_top h3 i{
	margin-right:4px;
}
.oshirase_top h2{
	margin:20px 10px 15px;
	font-size:120%;
	text-align:center;
	border:0;
	color:#333;
}
.oshirase_top p{
	margin:10px 10px 20px;
	font-size:90%
}
.oshirase_top a{
	display:inline-block;
	background-color:#333;
	padding:10px 20px;
	margin:0 10px 25px;
	color:#fff;
	letter-spacing:2px;
	font-size:90%;
}
@media(max-width:650px){
	.oshirase_top{
		font-size:85%;
		margin:20px 10px 30px;
		
	}
	.oshirase_top h3{
	    padding:4px
	}
	.oshirase_top h2{
        margin: 15px 0px 0px;
        font-size:110%;
        background:none;
 }
	.oshirase_top p{
		text-align:left;
		padding:0 4%;
		margin:10px 10px 15px;
	}
	.oshirase_top a{
	    padding:5px 12px;
	    letter-spacing:1px;
	    margin:0 10px 15px
	}
}




.topintro{
	/* margin:40px auto 55px; */
}
.topintro:after {
    content:" ";
    display:block;
    clear:both;
}
.topintro p{
	text-align:left;
	margin-left:10%;
	width: 80%;
	font-size: 116%;
}
.topintro h3{
	text-align:left;
	display:inline-block;
	width: 80%;
	border:0;
	padding:0;
	margin:15px 0 20px 4%;
	color: #2e76bc;
	line-height:1.3;
}

.topintro img{
	float:left;
	width: 48%;
}
@media(max-width:850px){
	.topintro{
		margin: 20px 2% 0;
		font-size:77%;
	}	
	.topintro p,.topintro h3,.topintro img{
		float:none;
		width:100%;
		margin:5px 0;
	}
}


.box{
	 margin-bottom:20px;
	 padding:5px 10px 5px;
	 width: 100%;
	 border: 1px solid #2e76bc;
	 border-top:0px;
	 position:relative;
}

.title-box{
	 font-weight: bold;
	 font-size:26px;
     position: absolute;
     top: -18px;
     background: white;
     padding: 1px 10px;
}

.text_box{
    display: flex;
    margin-top: 14px;
    padding-bottom: 3px;
    width: 96%;
    margin: 19px 2% 20px;
    border-left: 4px solid #2e76bc;
}

.text_box1{
    font-weight: bold;
    width: 10%;
    min-width:105px;
    margin-right:3%;
	padding-left:6px;
}

.text_box2{
    width: 88%;
    margin-left: 1%;
    text-align: left;
    border-bottom: 1px dotted #ccc;
}
.text_box2:after{
	content:" ";
	display:block;
	clear:both;
}

.text_box3{
    margin:40px 0 15px;
}

.pinkbtn{
	display:inline-block;
	background: #2e76bc;
	padding: 8px 20px;
	color: white;
	font-weight: bold;
	border-radius: 3px;
	transition: 0.2s;
	margin:8px 10px;
}

.pinkbtn:hover {
	background: #2e76bc77;
}

.small_p1{
    text-align: left;
    border-left: 6px solid #3a84df;
    padding-left: 5px;
    font-size: 17px;
    margin: 10px 10px;
}


.fom1{width:48%;height:185px;}
.fom2{width:48%; height:185px;}



.wrap1,.wrap2,.wrap3,.wrap4,.wrap5,.wrap_topevent,.wrap_shinchiku,.wrap_topcontact,.wrap7{
	display:flex;
	margin-bottom: 20px;
}
.wrap_topcontact{
	max-width:1050px;
	margin-left:auto;
	margin-right:auto;
}

.wrap_topevent div{
	width:31.33%;
	margin:0 1%;
	margin: 0 10px;
	/*border: 1px solid #ddd;*/
	padding: 0;
	position: relative;
	/* background: #fff5f9; */
}

a.topevent{
	display:inline-block;
	width: 100%;
	/* float:left; */
	background-size:cover;
	/* background-position: 50% 50%; */
}
.wrap_topevent b{
	display:block;
	margin-bottom:6px;
}
.wrap_topevent img{
	width:100%;
	height: 30vw;
	max-height: 420px;
	float:left;
	border:1px solid #ccc;
}
.wrap_topevent p a{
	/* color:#555; */
	/* width:50%; */
	float:left;
	text-align:left;
	padding:0px 7px 7px 10px;
	font-size:90%
}
.wrap_topevent p a:hover{
	color:#2e76bc;
}
.wrap_topevent a.kuro{
	color:#444;
	display:inline-block;
	padding-top:0;
	font-size:85%;
}

/*トップの事例*/
.topjirei{
	display:flex;
	flex-wrap:wrap;
	margin-top:3vw
}
.topjirei > div{
	width: 28.3%;
	margin:0 2.5% 4%;
	text-align:center;
}
.topjirei p{
	display:inline-block;
	margin-top:6px;
}
.topjirei a{
	display:inline-block;
	margin:0 0.66%;
	background-size:cover;
	background-position:50% 50%;
	width:100%;
}
.topjirei a.photobg{
	height:25vw;
	width:25vw;
	max-width: 300px;
	max-height: 300px;
}
@media(max-width:800px){
	.topjirei > div{
		width: 45%;
	}	
	.topjirei a.photobg{
		height:40vw;
		width:40vw;
	}
}


.wrap_shinchiku div{
	width:50%;
	margin:20px;
}

@media(max-width:500px){
	.wrap_topevent{
		display:block;
	}
	.wrap_topevent div{
		display:flex;
		width:100%;
		margin:0 0 10px;
		padding:10px;
		text-align:left;
	}
	.wrap_topevent div p{
		width:60%
	}
	.wrap_topevent a,.wrap_topevent p a{
		/* float:none; */
		width:100%;
	}
	a.topevent{
		width:54%;
		margin:0;
		background-repeat:no-repeat;
		background-position:top center
	}
	a.topevent img{
		height:40vw;
	    border:none;
	}
	.wrap_topevent b{
		margin-top:6px
	}
	/*トップの事例*/
	.topjirei{
		/* width: 48%; */
		margin: 0 1% 20px;
	}
	.topjirei a{
		font-size:85%;	
	}
	.topjirei p{
		width:fit-content;
		text-align:left;
		height: auto;
		overflow:hidden;
	}
	/*4番目を出す*/
	.topjirei:nth-child(4){
		display:block;
	}
}


.wrap9{
	display:flex;
    flex-wrap: wrap;
}

.wrap9 a{
	display:block;
	width: 30%;
	margin: 5px 1.3%;
	border: 1px solid #2e76bc;
	font-size: 23px;
	font-weight: bold;
	padding: 8px 8px 7px;
	position: relative;
	border-radius: 7px;
	background: linear-gradient(to top, #cce6ff 33%, #fff 75%);
}

.wrap1 div{
    color: #797979;
    width: 33%;
    margin: 0 10px;
   	border: 1px solid #ddd;
    font-size: 23px;
    font-weight: bold;
    padding: 0;
    position: relative;
    background:#a8d4ffd4
}

.wrap1 p{
	background-size:cover;
	background-position:50% 50%;
}


.wrap2 div{
	margin:0 10px;
    border:2px solid #2e76bc;
    padding: 7px;
}

.wrap2 p{
	font-weight: bold;
    text-align: left;
    padding-left: 16px;
    color: #676767;

    position: relative;
}

.wrap2 p::before {
     position: absolute;
     content: '';
     width:23px;
     height:23px;
     background:#f76807;
     border-radius: 50%;
     top: 5%;
     right:7px;
}

.wrap2 p::after {
     position: absolute;
     content: '';
     border: solid 4px transparent;
     border-left: solid 6px #fff;
     top:32%;
     right:11px;
}

.case{
	text-align:right;
	margin:35px 0 55px;
}

.case a{
    background: #f8b;
    color: white;
    font-weight: bold;
    padding: 7px 18px 5px;
    letter-spacing: 2px;
    border-radius: 10px;
    font-size: 20px;
}

.wrap3 div{
	margin:0 10px;
}

.wrap4 div{
	padding:30px 15px;
}
.wrap_topcontact div{
	padding: 30px 5%;
}

.wrap4 div,.wrap_topcontact div{
	margin:20px;
	box-shadow:2px 5px 14px #ddd;
}

.wrap4 p{
	font-weight: bold;
    text-align: left;
    padding-left: 16px;
    color: #676767;
    position: relative;
	margin-bottom:10px;
}

.wrap4 p::before {
     position: absolute;
     content: '';
     width:23px;
     height:23px;
     border-radius: 50%;
     top: 0;
     right:290px;
}
.wrap4 p::after {
     position: absolute;
     content: '';
     border: solid 4px transparent;
     top:7px;
     right:294px;
}

.wrap5 div{
	margin:0 10px;
	position:relative;
}

.wrap5 p{
    font-weight: bold;
    text-align: left;
    padding:5px 16px 3px;
    color: white;
    position: absolute;
    bottom: 0;
    background: black;
    width: 100%;
    opacity: 0.8;
}

.wrap5 span{
	font-size:24px;
	padding-left:18px;
}

.wrap6 div{
	margin:0 10px;
	position:relative;
}

.wrap6 p{
    font-weight: bold;
    text-align: left;
    padding:5px 16px 3px;
    color: white;
    position: absolute;
    bottom: 0;
    background: black;
    width: 100%;
    opacity: 0.8;
}

.wrap6 span{
	font-size:19px;
	padding-left:18px;
}


.wrap8_1{
	width:32%;
	margin:0 1%;
}

.wrap8_1p{
	display:flex;
}

.wrap8_1p p{
	width:42%;
	margin:7px 4% 6px;
}

.wrap8_1p span{
    color: white;
    background: #2e76bc;
    padding: 1px 15px;
    font-weight: bold;
    border-radius: 6px;
    margin-right: 9px;
}

.wrap8_a{
	margin-bottom:20px;
}

.wrap8_a a{
    color: #797979;
    border: 2px solid #2e76bc;
    font-size: 23px;
    font-weight: bold;
    padding: 7px 42px 6px;
    position: relative;
	border-radius: 7px;
}

.wrap8_a a::before {
     position: absolute;
     content: '';
     width:25px;
     height:25px;
     background:#2e76bc;
     border-radius: 50%;
     top: 23%;
     right:7px;
}
.wrap8_a a::after {
     position: absolute;
     content: '';
     border: solid 4px transparent;
     border-left: solid 6px #fff;
     top: 40%;
     right:11px;
}
.step{
	width:90%;
	margin:0 auto 20px;
}
.step_number{
	width:10%;
	margin-right:20px;
	float:left;
}
.step_number img{
	max-width:70px
}
.step_title{
	float:left;
	min-width:200px;
	font-size:150%;
	text-align:left;
	font-weight:bold;
}
.step_msg{
	float:left;
	width:80%;
	text-align:left;
}
.step:after {
    content:" ";
    display:block;
    clear:both;
}
.shadow{
	box-shadow:2px 5px 14px #ddd;
}

@media screen and (max-width:500px){
	.step_number{
		width:18%;
		margin-right:15px;
	}
	.step_number img{
		max-width: 100px;
	}
	.step_title{
		padding-top:10px
	}
	.step_msg{
		margin-top:0px;
		padding-left:70px;
		width:100%;
		line-height:1.4
	}	
}

/* ↓ トップのリフォームメニュー ↓ */
.mds_osusume{
	display:inline-block;
	width:600px;
	max-width:95%;
	margin:3vw 0 1.5vw;
}
.top_green_area{
	background-color:#cee7cd;
	background-image:url(../image/top_green_bg.jpg);
	background-repeat:no-repeat;
	background-position:center bottom;
	background-size: contain;
	padding:1px;
	min-height:1000px;
	margin-bottom:5vw;
	text-align:center;
}
.fs1.kuro{
	font-size:calc(13px + 0.3vw);
	padding:0 20px
}
.osusume_cards{
	display:flex;
	flex-wrap:wrap;
	max-width:1100px;
	margin:30px auto 100px;
	align-items:center;
}
.top_menu_card{
	background:#fff;
	padding:8px;
	width:calc(33.3% - 5%);
	margin:20px 2.5%
}

.top_menu_card > img{
	width:100%;
	height:30vw;
	max-height:200px;
    object-fit: cover;
}
.top_menu_card h3{
    background: #2e76bc;
    margin:0;
    border:0;
    color:#fff;
    text-align:center;
    font-size:calc(10px + 0.5vw);
    padding:5px;
}
.top_menu_card .flex{
	display:flex;
}
.top_menu_card .flex img{
	width:calc(38px + 1vw);
    margin:15px 1.5vw;
}
.top_menu_card .flex p:last-child{
	width:fit-content;
	font-size:calc(6px + 0.6vw);
	color:#000;
	padding:12px 0 0;
	text-align:right;
	line-height:1.3;
}
@media(min-width:1000px){
	.top_menu_card .flex p:last-child{
		font-size:calc(13px);
	}
}

.top_menu_card .flex p:last-child big{
	font-size:200%;
	font-weight:bold;
	color:#c00;
}
.top_menu_card .flex p:last-child b{
	font-size:150%;
	font-weight:bold;
}
.top_menu_card .flex p:last-child small{
	font-size:60%;
	display:inline-block;
}
@media(max-width:800px){
	.top_menu_card{
		width:calc(50% - 3%);
		margin:10px 1.5%
	}
	.top_menu_card .flex img{
		width:calc(32px + 1vw);
		margin:10px 5px 0 0;
	}
	.top_menu_card .flex p:last-child{
	    font-size:9px;
	}
}

/* ↑ トップのリフォームメニュー ↑ */



/* index.htmlここまで*/

/* staff.htmlここから*/
.shugou{
	width:95%;
	margin:0 auto 40px;
}
.shugou img{
	display:block;
	margin: 0 auto 20px;
	border-radius:15px
}
.shugou h3{
	text-align:center;
	border-left:0;
	color:#f8b;
	margin-top:10px
}

.staffbox{
	float:left;
	background: #dceaf8;
	width:30%;
	margin: 0 1.6% 40px;
	padding:30px 20px;
}
.after{
	background:#fff9f0;	
}

.staffbox img{
	display:block;
	width:90%;
	margin:0 auto 10px;
}
.staffbox p{
	display:block;
	width:85%;
	margin: 0 auto;
	font-size:90%;
}
.staffbox b{
	display:inline-block;
	font-size:130%;
	padding-bottom:10px
}

@media(max-width:950px){
	.staffbox{
		width:45%;
		margin: 0 2.5% 40px;	
		padding: 30px 0 0	
	}
}
@media(max-width:350px){
	.staffbox{
		width:80%;
		margin:0 10% 40px;
	}
	.staffbox p{
		height:auto;		
	}
}

/* staff.htmlここまで*/

/* work.htmlここから*/

/*タブ切り替え全体のスタイル*/
.tabs {
	margin-top: 50px;
	padding-bottom: 40px;
	/* box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); */
	width:100%;
	margin:0 auto;
}
/*タブのスタイル*/
.tab_item {
	display:none;
	width:20%;
	height: 50px;
	border-bottom: 3px solid #2e76bc;
	background-color: #d9d9d9;
	line-height: 50px;
	font-size: 16px;
	text-align: center;
	color: #565656;
	float: left;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
}
.tab_item:hover {
	opacity: 0.75;
}
/*ラジオボタンを全て消す*/
input[name="tab_item"] {
	display: none;
}
/*タブ切り替えの中身のスタイル*/
.tab_content {
	display: none;
	padding: 40px 1% 0;
	clear: both;
	overflow: hidden;
}
/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,#guide1:checked ~ #guide1_content,#guide2:checked ~ #guide2_content
,#guide3:checked ~ #guide3_content,#guide4:checked ~ #guide4_content {
	display: block;
}
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
	background-color:#2e76bc;
	color: #fff;
}

.work0{
	display:flex;
	flex-flow: wrap;
}

.work1{
    margin: 0 1% 35px;
	width:31%;
}
.work1_thumb{
	background-position:50% 50%;
	background-size:cover;
}
.work1_thumb img{
	width:100%;
	display:block;
}
.work1_title{
	text-align:left;
	color:#333;
	font-size: 100%;
	font-weight:bold;
	margin:5px 0
}
@media(max-width:500px){
	.work1_title{
		font-size:100%;
		line-height:1.2;
	}
}

.work1_1{
	display:flex;
}
.work1_1p{
	text-align:left;
	width:65%;
	font-size: 95%;
	line-height:120%;
}
.work1_1p img{
	vertical-align:top
}
 
.work1_1 span{
    vertical-align:4px;
	padding-left:5px;
}
.work1_btn{
	width:35%;
	text-align:right;
}
@media(max-width:500px){
	.work1_btn{
		display:none;
	}	
}
.work_category{
	margin-bottom:1.2em;
}
.work_category a{
	display:inline-block;
	min-width: 6.5em;
	font-size:100%;
	/* font-weight:bold; */
	padding: 4px 10px 2px;
	margin: 3px 4px;
	color:#fff;
	background:#2e76bc;
	border-radius:4px;
	box-shadow:2px 2px 0 #d8d8d8;
}
@media(max-width:500px){
	.work_category a{
		min-width: 42%;
		font-size:95%;
	}	
}

.button {
    position: relative;
    padding: 5px 2px 0;
    border: none;
	border-bottom:1px solid #2e76bc;
    cursor: pointer;
    outline: none;
    font-size: 90%;
    margin: 5px 0 8px 0;
    font-weight: bold;
    background: none;
    color:#2e76bc;
    border-radius:0;
}
.button:hover {
	background: #eeeeee;
}


/*
.button.type1.type1::after, .button.type1.type1::before {
	content: "";
	display: block;
	position: absolute;
	width: 20%;
	height: 20%;
	border: 1px solid;
	transition: all 0.6s ease;
	border-radius: 2px;
}

.button.type1.type1::after {
	bottom: 0;
	right: 0;
	border-top-color: transparent;
	border-left-color: transparent;
	border-bottom-color: #566473;
	border-right-color: #566473;
}

.button.type1.type1::before {
	top: 0;
	left: 0;
	border-bottom-color: transparent;
	border-right-color: transparent;
	border-top-color: #566473;
	border-left-color: #566473;
}


.button.type1.type1:hover:after, .button.type1.type1:hover:before {
	width: 100%;
	height: 100%;
}
/* work.htmlここまで*/

/*deep.htmlここから*/

.deep_table{
	border-collapse:collapse;
	margin:50px auto 10px;
	width: 100%;
}
.deep_table th,.deep_table td{
	border-top: 1px solid #2e76bc;
	border-bottom: 1px solid #2e76bc;
}
.deep_table th{
	border-left: 1px solid #2e76bc;
	border-right: 1px dotted #cce6ff;
	background:#2e76bc12;
	color:#2e76bc;
}
.deep_table td{
	border-right: 1px solid #2e76bc;
}
.deep1{
	display:flex;
	margin-bottom:30px;
}
.deep1 img{
	width:100%
}

.deep1_1{width:50%;}
.deep1_2{width:46%;margin-left:4%;}

.deep1_2p1,.deep1_2p2{text-align:left;}

.deep1_2p1{
    margin: 5px 0 15px;
    font-size: 21px;
    background: #2e76bc;
    color: white;
    font-weight: bold;
    border-radius: 4px;
    padding: 6px 6px 4px 9px;
}

.deep1_2p2{
	margin-bottom:25px;
}

.deep2{
	display:flex;
}
.jirei_omakase{
	border:2px solid #2e76bc;
	color:#2e76bc;
	width: 700px;
	max-width:95vw;
	margin:60px auto 20px;
	font-size:calc(13px + 0.5vw);
	font-weight:bold;
	padding:25px 10px;
	background-color:#f0f5fa;

	background-image:url(../image/jirei_omakase_bg.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center bottom;
}

#picbox1{
	width:100%;
	height:500px;
	overflow: hidden;
	position: relative;
	background-color:#eee;
	margin-bottom:15px	
}

.bfaf_imgbox{
	width:100%;
	height:500px;
	overflow: hidden;
	position: relative;
	background-color:#eee;
}
.bfaf_imgbox img, #picbox1 img{
  position: absolute;
  width: auto;
  height: auto;
  max-width: 99%;
  max-height: 99%;
  left: 50%;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
}
@media(max-width:600px){
	.bfaf_imgbox{
		width:100%;
		height:auto;
		overflow:auto;
		position:auto;
		background-color:#eee;
	}
	.bfaf_imgbox img{
	  position:relative ;
	  width: 100%;
	  height: auto;
	  max-width: none;
	  max-height: none;
	  left: auto;
	  top: auto;
	  -webkit-transform: none;
			  transform: none;
	}
}

.deep2_1,.deep2_3{width:44%;}
.deep2_2{width:10%;margin:auto 0.5%;}

#gallery1 ul,#gallery2 ul{display:flex;}
#gallery1 ul li,#gallery2 ul li{
    width: 23.5%;
    margin: 0 0 0 2%;
    background-size:cover;
    background-position:50% 50%;
}
#gallery1 ul li:nth-child(4n+1), #gallery2 ul li:nth-child(4n+1){
    margin: 0 0 0 0;
}
/*deep.htmlここまで*/

/*price.htmlここから*/
.price_type_lineup{
	margin-bottom:60px
}
.groups{
	margin-top: 30px;
}

.groups a{
	display:inline-block;
	padding: 5px 8px;
	margin: 0 4px 10px;
	border:1px solid #2e76bc;
	border-radius:4px;
}
.groups a:hover{
	background:#2e76bc;
	color:#fff;
}

.price_block,.price_block_2{
	display:flex;
	flex-flow: wrap;
	margin-bottom:0;
	width:49%;
	margin-left:2%;
	margin-bottom:20px;
	float:left;
	background-color: #cae5ff;
	font-size:125%;
	position:relative;
}
.price_block:nth-child(2n+1),.price_block_2:nth-child(2n+1){
	margin-left:0;
}

.price_block div{
	position:relative;
	margin-bottom:0;
}

.price_block1{
	width:50%;
}
.price_block1 a, .price_block1 p{
	display:block;
	background-size:cover;
	background-position:50% 50%;
}
.price_block1 img{
	max-width:100%;
	vertical-align:bottom;
}

.price_block2{
	width: 45%;
	text-align:left;
	padding:15px;
	height:170px;
	overflow:hidden;
}

.block_text1{
    font-weight:bold;
    position:absolute;
    top:5px;
    left:3px;
    font-size:15px;
    width:64px;
    height:64px;
    line-height:1;
    padding:18px 0 0 0;
    background:url(../image/price_label1.png) no-repeat;
    z-index: 10;
    color:#fff;
}

.block_text1 a{
	color:white;
}

.block_text1 span{
    color:white;
    font-size:16px;
    position:relative;
    font-weight:bold;
}

.block_text2 {
	font-size: 18px;
	font-weight: bold;
	color: #828282;
	text-align: left;
	margin-bottom:12px;
}

.block1{
	color:#828282;
	font-size:17px;
}

.block2{
	color:#828282;
	font-size:26px;
}
.block2 small{
	font-size:60%;
}
.price_kuwashiku{
	display:none;
}
.price_detail{
	margin-bottom:40px
}


.price_tittle{
    text-align: left;
    background: #2e76bc;
    font-size: 22px;
    margin:17px 0;
    padding: 4px 11px;
    color: white;
}

.price0{
	display:flex;
	width:100%;
}

.price0_1{
	width:48%;
	position:relative;
}
.tokucho img{
	height:120px;
	float:left;
	margin:2px 10px 8px 0;
}
.price0_2{
	width:50%;
	margin-left:2%;
	text-align:left;
}
.price0_2 p{
	margin: 15px 0 30px;
	font-size:90%;
}
.price0_1 img{
	max-width:100%;
}
.price0_1 p{
    color: white;
    font-weight: bold;
    position: absolute;
    top: 7px;
    left: 10px;
    font-size: 19px;
    /* border-radius: 50%; */
    /* background: #f768a5; */
    width: 76px;
    height: 76px;
    line-height: 1;
    padding: 21px 0 0 0;
    background: url(../image/price_label2.png) no-repeat;
}

.price0_1 span{
	color:white;
    font-size: 22px;
    position: relative;
    font-weight: bold;
}

.price_table{
	width: 100%;
	font-size:15px;
	text-align:left;
	border-collapse: collapse;
	box-sizing: content-box;
}
 
.price_table th,.price_table td {
	 width:65%;
	border: 1px solid #ccc;
	padding: 10px;
}
.tokka{
	font-size:180%;
	display:inline-block;
	padding-bottom:0;
	line-height:1.2;
	border-bottom: 3px double #2e76bc;
	font-weight:bold;
	color: #2e76bc;
}

.price_table tr {

}
.price_table th {
 	width:35%;
 	font-weight: bold;
 	background-color: #dedede;
}

.price1{
	display:flex;
	margin:17px 0 80px;
}

.price1_1{
	line-height:4.5;
	width:48%;
}

.price1_2{
    width: 50%;
    margin-left: 2%;
    text-align: right;
	letter-spacing:0.8px;
}

.price1_2p{
	font-size:33px;
	border-bottom: 1.5px dotted #b9b9b9;
    line-height: 1.5;
    margin-top: 5px;
}


.all_price1{display:inline-block;}
.all_price2{display:none;}

.all_price3{
    color: #fc66a8;
    font-weight: bold;
}

.price1_1 p{
	display:flex;
	font-weight:bold;
}

.price1_1 span{
    background: #fc66a8;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    color: white;
    margin:0 20px ;
    display: block;
    line-height: 5;
}

.price_btns a{
	display:block;
	width:90%;
	margin:0 auto 10px;
	background: #2e76bc;
	padding: 8px 20px;
	color: white;
	font-weight: bold;
	border-radius: 3px;
	text-align:center;
}
	.block2{
		display:inline-block;
		color: #2e76bc;
		font-weight:bold;
	}

.price_btns a:hover {
	background:#6ea6dc;
}
/*price.htmlここまで*/

/*contact.htmlコンテンツここから*/

.type01{
   border-collapse:collapse;
   width:92%;
   margin: 0 auto 0;
}

.type01 tr{
	height:90px;
}

.type01 th{
	text-align:center;
	width:30%;
	color:#666;
}
.type01 td{
   width:40%;
   padding:10px;
}
input,select{
   height: 39px;
   border: 2.3px solid #d8d8d8;
   border-radius: 6px;
	padding: 0 4px;
}
input[type='checkbox']{
	height:auto;
	margin-right:3px;
}
input[type='date'],select{
	height:28px;
	margin:3px 0;
}

.txt_area{
	border: 2.3px solid #d8d8d8;
	border-radius: 6px;
	padding:7px 0 0;
}

::placeholder{
 color:#ccc;
 font-size:16px;
}

.privacy_button{
   color: white;
   background: #6d6d6d;
   font-size: 20px;
   font-weight: bold;
   width: 15%;
   padding: 5px 0;
   height: auto;
   margin: 20px 0 0;
}

.contact_uptxt1{margin: 30px 0 15px;}
.contact_uptxt2{
	margin: 0 auto 15px;
	width:fit-content;
	font-size:90%;
	text-align:left;
	
}
.contact_uptxt3{margin: 0 0 15px;}

.contact_heading{
   text-align: left;
   font-weight: bold;
   color: #2e76bc;
   font-size: 94%;
   letter-spacing: 1px;
   margin: 21px 0 3px;
   padding-left:1.5em;
   text-indent:-1.8rem;
}

.contact_bottomtxt{
   text-align: left;
   padding-left: 1rem;
   margin: 0 0 10px;
}

.contact_requirements{
   width: 94%;
   margin: 15px auto 0;
   font-size:90%
}
.form_item_check p{
	margin-bottom:5px;
}
.endmsg{
	text-align:left;
	font-size:95%;
}
/*contact.htmlコンテンツここまで*/



@media screen and (min-width: 500px) {
	/*menu start*/
	#toggle {
		display: none;
	}
	.toggleWrap {
		background: none;
		height: auto;
		position: static;
		padding: 0;
	}
	.mainnav {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 93%;
		/* max-width:1200px; */
		margin: 0 auto;
	}
	
	.animation {
		-webkit-transition: none;
		transition: none;
	}
	.hide {
		opacity: 1;
		visibility: visible;
		border-bottom: 3px solid #2e76bc;
		position: sticky;
		top: 0;
		z-index: 99;
		background: white;
		padding: 10px 0 0;
	}
	/*menu end*/
}

@media screen and (max-width:500px) {
	.pconly{display:none;}
	.sponly{display:block;}

	.spsmall{font-size:80%;}
	
	.head_wrap{
		padding-bottom: 59px;
		display:block;
	}
	
	.wrapper {
		padding: 1vw;
	}
	.ptitle{
		margin-top: 0px;
		border-left:0;
		font-size:23px;
		padding:10px 20px 7px;
	}

	/*ヘッダーここから*/
	.sp_header{
		width:66%;
		margin: 5px 0 0 3%;
	}
	/*ヘッダーここまで*/
	
	/*メニューここから*/
	.header {
		padding-top: 0px;
	}
	
	.head_border {
		border-top: 0px solid #2e76bc;
	}

	.wrapper_head {
		padding: 0 0 62px;
	}
	
	.header {
		width:100%;
		margin-top: 0px;
		height:59px;
		position: fixed;
		z-index: 999;
		background:#2e76bc;
	}
	
	.header3 img{
	    max-height: 100%;
	    height: 47px;
	}

	.header3{
		width: 60%;
		float:left;
		margin: 7px 0 0 2%;
	}

	.header4{
	    width:10%;
	    min-width: 44px;
	    float:right;
	    margin: 7px 68px 0 0;
	}

	.header4 img{
	    max-height: 100%;
	    height: 44px;
	    width:auto;
	}
	
	.mainnav li {
		width: 100%;
		border-right: none;
		border-left: none;
	}
	
	.mainnav li+ li {
		border-right: none;
	}
	
	.navItem {
		margin-bottom: 0px;
		border-bottom: 1px solid white;
		padding: 20px 0;
		color: white;
	}
	
	.toggleWrap {
		top: 58px;
		z-index:999;
		width:80%;
		margin:10px 10%;
	}
	
	.menu_item1 a:before,.menu_item2 a:before,.menu_item3 a:before,.menu_item4 a:before,.menu_item5 a:before,
	.menu_item6 a:before, .menu_item7 a:before{
		display:none;
	}
	/*メニューここまで*/

	/* h1～ここから*/
	h2{
		width:100%;
		display:inline-block;
		font-size: 18px;
		border-bottom:0px;
		line-height:1.3;
		padding:8px 15px 5px;
		background: linear-gradient(90deg,#f5f9ff,#d5ddff);
		/* margin: 20px 0 18px; */
	}
	h2:first-child{
		margin-top:0;
	}
	h3 {
		margin: 20px 0 10px;
		padding: 0 7px;
		font-size: 18px;
		border-left: 7px solid #7d7d7d;
	}
	h4 {
		margin: 0 0 5px;
		padding: 0 7px;
		font-size: 18px;
		border-left:7px solid #7d7d7d;
	}
	/* h1～ここまで*/


	/*フッターここから*/
	.footer1 {
		width:89%;
		margin:0 5.5%;
	}
	.footer1 img{
		/* margin-bottom:10px; */
		max-width: 200px;
		margin: 0 auto 10px;
		display: block;
	}
	.footer1 p{
		padding:0;
		text-align:center;
		line-height:1.3;
		font-size:14px;
	}

	/*フッターここまで*/



	/* index.htmlここから*/
	.wrap1{
	    flex-flow: wrap;
	}

	.wrap1 div {
		width: 48%;
		margin: 0 1% 15px;
		padding: 0;
	}
	
	.small_p1{
		border-left: 0;
		padding-left:0;
		font-size:14px;
		margin: 10px 5px 10px 10px;
	}
	
	.wrap6{
	    flex-flow: wrap;
	}
	.wrap6 div{
		width: 48%;
		margin: 0 3px 0;
	}
	
	.title-box {
		font-size: 23px;
		top: -16px;
		padding: 1px 10px;
	}
	
	.box {
		margin: 10px 2% 20px;
		border-top:1px solid #2e76bc;
		width:96%;
	}
	
	.text_box1 {
		padding-left: 4px;
		border-left: 3px solid #2e76bc;
	}
	
	.text_box2 {
		width: 99%;
		margin-left: 1%;
		text-align: left;
		border-bottom: 1px dotted #ccc;
		margin-top: 6px;
	}
	.text_box3 {
		margin: 33px 0 25px;
	}

	.text_box {
		padding-bottom: 3px;
		width: 99%;
		margin: 12px 0 12px 1%;
		border-left: none;
		flex-flow: column;
	}

	
	.wrap2,.wrap3,.wrap5{
		flex-flow:column;
	}
	
	.wrap4,.wrap_topcontact, .wrap_shinchiku{
	    display:block;
	}
	.wrap_shinchiku div {
		width:96%;
		margin:0 2% 15px;
	}
	.wrap4 div{
		width: 96%;
		margin: 0 2% 15px;
		padding:20px 5px
	}
	.wrap_topcontact div {
		width: 96%;
		margin: 0 2% 15px;
		padding:20px 30px
	}
	
	.wrap4 p::before {right:6px;}
	.wrap4 p::after {right:10px;}

	
	.wrap8{
		flex-flow: column;
		margin-bottom:0;
	}
	
	.wrap8_1 {
		width: 100%;
		margin: 0 0%;
	}
	
	.wrap8_a {
		margin-bottom: 35px;
	}
	
	.wrap8_a a {
		font-size: 19px;
	}
	
	.wrap8_a a::after {
		top: 44%;
	}

	.wrap2 div {
		margin: 0 10px 15px;
	}
	
	.case{
		text-align:center;
		margin:5px 0 15px;
	}	
	
	.wrap5 div{	margin: 0 10px 15px;}
	.wrap5 span{font-size:21px;}
		
	
	.wrap9 a {
		/* width: 47%; */
		margin: 5px 5px;
		font-size: 14px;
		padding: 12px 0px;
	}

	.wrap1,.wrap2,.wrap3,.wrap4,.wrap5,.wrap_topevent,.wrap7,.wrap8,.wrap_shinchiku,.wrap_topcontact,.wrap9{
		margin:0 2% 10px;
	}

	/* index.htmlここまで*/


	/* work.htmlここから*/

	.tab_item {
		font-size: 12px;
	}
	
	.work0 {
		flex-wrap: wrap;
	}
	
	.work1 {
		width: 48%;
		font-size:88%
	}
	
	.work1_1 {
		flex-flow: column;
	}
	
	.work1_1p {
		width: 100%;
		font-size:100%;
	}
	
	.tabs {
		padding-bottom: 0px;
		box-shadow:none;
	}
	
	.tab_content {
		padding:0;
	}
	/* work.htmlここまで*/

	/*deep.htmlここから*/
	.deep1 {
		flex-flow: column;
		margin-bottom:10px;
	}
	
	.deep1_1 {
		width: 100%;
	}
	
	.deep1_2 {
		width: 100%;
		margin-left: 0%;
		display: flex;
	    flex-flow: column-reverse;
	}
	
	.deep_table{
    	margin: 9px auto 10px;
	}
	
	.deep_table th,.deep_table td{
		padding:5px;
		display: block;
		border-left: 1px solid #2e76bc;
		border-right: 1px solid #2e76bc;
	}
	.deep_table th{
		border-top: 1px solid #2e76bc;
		background: #cce6ff;
		border-bottom:none;
		margin-top:-1px;
	}
	.deep_table td{
		border-top:none;
		border-bottom: 1px solid #2e76bc;
	}
	.deep2 {
		flex-flow: column;
	}
	
	.deep2_1, .deep2_3 {
		width: 100%;
	}
	
	.deep2_2 {
		width: 15%;
		margin: 5px auto 7px;
	}
	
	.deep1_2p1 {
		margin: 5px 0 7px;
		font-size:19px;
	}

	.deep1_2p2 {
		margin-bottom: 0px;
	}
	/*deep.htmlここまで*/

	/*price.htmlここから*/
	.price_list_detail{
		display:none;
	}
	.price_block {
		display:block;
		float:left;
		width:49%;
		margin:0 0 15px 2%;
	}	
	/*CGI用　カテゴリ下層*/
	.price_block_2 {
		display:block;
		float:left;
		width:100%;
		margin:0 0 25px 0;
	}	
	.price_block1 {
		width: 100%;
		margin-left: 0%;
	}
	.price_block2 {
		width: 100%;
		height:auto;
		padding:8px 8px 4px;
		font-size:70%;
	}
	.block_text2{
		margin-bottom:5px;
	}
	.block1,.block2{
		padding-left:15px
	}
	.price_kuwashiku{
		float:right;
		display:inline-block;
		background-color:#f8b;
		font-size:15px;
		color:#fff;
		padding:5px 10px;
		border-radius:5px;
	}

	.price_tittle {
		font-size: 20px;
		margin-bottom: 9px;
	}

	.price0{
		flex-flow: column;
	}
	
	.price0_1 {
		width: 100%;
	}
	.price0_1 img{
		width: 100%;
		height: auto;
	}
	.tokucho img{
		height:80px;
		width:auto

	}
	
	.price0_2 {
		width: 100%;
		margin-left: 0%;
	}
	
	.price_table th, .price_table td {
		width: 100%;
		display: block;
	}
	
	
	.price0_1 p {
		top: 5px;
		left: 5px;
		font-size: 17px;
	}
	
	.price0_1 span {
		font-size: 19px;
	}
	
	.price1 {
		flex-flow: column;
	    margin-top: 16px;
	}
	
	.price1_1 {
		width: 100%;
	}
	
	.price1_1 span {
		width: 75px;
		height: auto;
		margin: 0 6px;
		font-size: 14px;
	    padding-top: 2px;
	}
	
	.price1_2 {
		width: 100%;
		margin-left: 0%;
		margin-top: 17px;
	}
	
	.price1_2p {
		font-size: 27px;
	}

	.all_price1{display:none;}
	.all_price2{display:inline-block;}

	.all_price3{
		color: #fc66a8;
		font-weight: bold;
	}
	/*price.htmlここまで*/
	.type01 th,.type01 td{
		display:block;
		width:100%;
	}
	.type01 th{
		padding-bottom:0;
		padding-top:20px
	}
	.privacy_button{
		width:auto;
		padding:5px 10px 3px 10px;
	}
}

.staff_shokai{
	display:flex;
	flex-wrap:wrap;
}
.staff_shokai > div{
	width:30%;
	margin-right:5%;
	margin-bottom:35px;
	background: #f3f3f3;
}
.staff_shokai > div:nth-child(3n){
	margin-right:0;
}
.staff_shokai img{
	max-width:50%;
	display:block;
	margin:20px auto
}


.staff_shokai > div p:nth-child(1){
	font-size:90%;
	text-align:center;
}
.staff_name{
	/* background:#fff; */
	margin:5px 10px 0;
	padding:5px
}
.staff_shokai > div p:nth-child(2){
	font-weight:bold;
	text-align:center;
}
.staff_shokai > div .staffcomment{
	font-size:82%;
	padding:10px 15px;
	/* border: 5px solid #f5f5f5; */
}

@media screen and (max-width:500px) {
	.staff_shokai > div{
		width:100%;
		margin-right:0;
		margin-bottom:35px;
	}
	.staff_shokai > div > p {
		padding:0 5px
	}
}

.makers a img{
	display:inline-block;
	max-height:160px;
	max-width:300px;
	margin:2em 2em 0;
}
.makers p{
	width:fit-content;
	text-align:left;
	margin:1.5em auto 2em;
	max-width:80vw;
	font-size:95%;
}

@media(max-width:900px){
	.makers a img{
		max-height:18vw;
		max-width:31vw;
		margin:4vw 3vw 0;
	}
}