

	.sl_menu{
	margin:20px 0px 0px 20px;
	list-style:none;
}
.sl_menu li,
.sl_examples{
	float:left;
	margin-right:5px;
	text-transform:uppercase;
}
.sl_menu a,
.sl_examples a{
	display:block;
	position:relative;
	float:left;
	text-decoration:underline;
	clear:both;
}
.sl_menu a > span,
.sl_examples a > span{
	height:35px;
	float:left;
	position:relative;
	overflow:hidden;
}
@media screen and (max-width: 870px) {
	.sl_examples a > span{
		height:55px;
	}
}
.sl_menu a span span,
.sl_examples a span span{
	position:absolute;
	display:block;
	left:0px;
	top:0px;
	text-align:center;
}
.sl_menu a span span.sl-w1,
.sl_examples a span span.sl-w1{
	z-index:2;
}
.sl_menu a span span.sl-w2{
	z-index:3;
}
.sl_examples{
	clear:both;
	display:block;
}
.sl_examples a{
}
.sl_examples a#example5 > span{
	height:100px;
}
@charset "UTF-8";
/* CSS Document */

body{
	margin:0;
	padding:0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.6em;
	font-size:16px;
	color:#636362;
	background:#fff url(../img/bg.png);
}

img,
#showcase .showcases p.photo img{
    vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
figure{
    margin: 0;
    padding: 0;
}
a{
	color:#f00;
}
a.icon{
	padding-right:10px;
	background:url(../img/icon_link.png) no-repeat right 8px;
}
.block{
    padding: 4em 0 6em;
}
.flex{
	display:flex;
	flex-wrap:wrap;
    gap:3%;
}
.flex .col-2,
.flex .col-3,
.flex .col-4,
.flex .col-5,
.flex .col-6,
.flex .col-7,
.flex .col-8,
.flex .col-9,
.flex .col-10,
.flex .col-12{
	box-sizing:border-box;
}

.flex .col-2{/*5分割*/
	width:17.6%;
}
.flex .col-3{/*4分割*/
	width:22.7%;
}
.flex .col-4{/*3分割*/
	width:31.3%;
}
.flex .col-5{
	width:39%;
}
.flex .col-6{/*2分割*/
	width:48.5%;
}
.flex .col-7{
	width:57%;
}
.flex .col-8{
	width:65%;
}
.flex .col-9{
	width:73%;
}
.flex .col-10{
	width:83%;
}
.flex .col-12{
	width:100%;
}
.pagetop a.icon{
	background:url(../img/icon_link2.png) no-repeat right top;
}

nav h1{
	width:113px;
	height:41px;
	padding:8px 8px 8px 15px;
	background-color:#fff;
}
nav h1 a{
	display:block;
	width:113px;
	height:41px;
	background:url(../img/logo.png) no-repeat;
	text-indent:-9999px;
}


table{
	border-collapse:collapse;
}
table th,
table td{
	padding:14px;
	text-align:left;
	vertical-align:top;
	border-top:1px solid #efefef;
	border-bottom:1px solid #efefef;
}
table th{
	width:25%;
}
.error{
	color:#f00;
}
.clear{
	clear:both;
}
section.block{
	padding-left:35px;
	padding-bottom:14px;
	margin-bottom:50px;
	border-bottom:1px solid #efefef;
}
p.pagetop{
	text-align:right;
	font-size:0.8em;
}
.center{
	text-align:center;
}
.img-responsive{
	max-width:100%;
	width:100%;
	height:auto;
}

.pc{
	display:inherit;
}
.smp{
	display:none;
}
.pc-center{/* PC時のみセンタリング */
	text-align:center;
}
.smp-center{
	text-align:left;
}

/* For PC*/

div#main{
    height:99%;
}
article{
    width:78vw;
    float:left;
    background-color:#fff;
    padding:0;
    min-height:90%;
}

article div.contents{
    width:100%;
    padding: 2vw;
    box-sizing: border-box;
    margin:0 auto;
}
nav{
    width:20vw;
    min-width:230px;
    height:90vh;
    box-sizing: border-box;
    position:fixed;
    top:0;
    right:0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1em;
}
article{
    padding:10px 0;
}
nav ul{
    list-style-type:none;
    font-family:Helvetica, Arial, sans-serif;
    font-size:14px;
}
nav ul li{
    line-height:2.5em;
}
nav ul li a{
    background-color:#fff;
    padding:8px 8px 8px 15px;
    letter-spacing:0.3em;
    text-decoration:none;
    margin:0;
}
nav ul li a:before{
}

aside{
    position:absolute;
    bottom:150px;
}
aside ul{
    list-style-type:none;
    padding:0;
    color:#f00;
    font-size:14px;
}
aside ul li{
    line-height:2.5em;
}
aside ul li span{
    padding:8px;
    padding-left:30px;
    background:#fff url(../img/icon_phone.png) no-repeat 10px 9px;
}

footer{
    clear:both;
    background-color:#000;
    position:fixed;
    width:100%;
    bottom:0;
    color:#fff;
    padding:10px;
}
footer section{
    padding:10px;
}
footer h2{
    font:12px normal;
    margin:2px 0 0 0;
    float:left;
    width:80px;
}
footer .ticker {
    font-size:12px;
    width: 600px;
    height: 18px;
    overflow: hidden;
    margin:0;
    padding: 0;
    list-style: none;
    float:left;
}
footer .ticker li {
    margin-top:0px;
    height: 24px;
}
footer .ticker li a{
    color:#fff;
}
#index{
    margin: 2vw;
}
#index .contents2{
    width: 80%;
    margin: 0 auto;
}
#index .btn{
    display: flex;
    justify-content: center;
}
#index .btn a{
    display: block;
    padding: .5em 2em;
    font-size: 1.2em;
    border: 1px solid #f00;
    border-radius: 30px;
    text-align: center;
    color: #f00;
    background-color: #fff;
    text-decoration: none;
}
#index .btn a::before{
    content: ">";
    margin-right: .5em;
}
#index h1{
    text-align: center;
    margin: 4em 0;
}
#index h2.title{
    text-align: center;
    background:         url("../2025/img/qot_p1.png") no-repeat left top/auto 70%,
        url("../2025/img/qot_p2.png") no-repeat right bottom/auto 70%;
    margin: 2em 0;
    font-size: 2.4em;
    line-height: 1.3em;
}
#index h2.title.mt{
    margin-top: 6em;
}
section.pink{
    background: url("../2025/img/bg1.jpg") no-repeat center top/100% auto,
        #ff4665 url("../2025/img/bg2.jpg") no-repeat center bottom/100% auto;
    padding: 6em 0;
    color: #fff;
}
section.pink a{color: #fff;}
section.pink h2.title{
    text-align: center;
    background:         url("../i2025/mg/qot_w1.png") no-repeat left top/auto 70%,
        url("../2025/img/qot_w2.png") no-repeat right bottom/auto 70%;
}

#index .works{
    display: flex;
    flex-wrap: wrap;
}
#index .works div{
    width: 22%;
    text-align: center;
}
#index .works div:nth-child(4n+2),
#index .works div:nth-child(4n+4){
    margin: 0 3%;
}
#index .works div img{
    max-width: 100%;
    height: auto;
}
#index section.pink.contact{
    background:#ff4665 url("../2025/img/bg1.jpg") no-repeat center top/100% auto;
    text-align: center;
}

#index section.pink.contact .whitebox{
    background-color: #fff;
    padding: 2em;
    color: #070707;
}
#index section.pink.contact input{
    width: 30px;
    height: 30px;
}
#index section.pink.contact .hide{
    display: none;
}
#index section.pink.contact .hide .btn a{
    background-color: #ff4665;
    padding: .75em 2em;
    border-bottom: 5px solid #c83d54;
    display: block;
    color: #fff;
    text-decoration: none;
}
#index section.pink.contact table{
    border-collapse: collapse;
}
#index section.pink.contact table th{
    text-align: right;
    border-bottom: 1px solid #fff;
    padding: .5em 1em .5em .5em;
    width:20%;
    vertical-align: top;
}

#index section.pink.contact table td{
    text-align: left;
    border-bottom: 1px solid #fff;
    padding: .5em;
}

h3.en{
    font-family:'League Script', cursive;
    font-size:3em;
    font-weight:normal;
}
h3.en span{
    font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size:16px;
}
section.lead p{
    line-height:1.8em;
    margin-bottom:50px;	
}

#news section.entry p{
    float:left;
    width:500px;
}
#news section.entry p.date{
    width:80px;
    margin-right:20px;
    font-family:'League Script', cursive;
    font-size:14px;
}
section#ikuseiplan{
    font-size:1.2em;
}
section#ikuseiplan h3{
    background:#E6290F url(../service/img/ikuseiplan/title.png) center center no-repeat;
    height:50px;
    text-indent:-9999px;
    border-bottom:3px solid #5A1C12;
}
#service section#ikuseiplan h4{
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
    padding:1em;
    text-align:center;
    margin-bottom:2em;
}
#service section#ikuseiplan .merit{
    font-size:1.2em;
    color:#E6290F;
    text-align:center;
    line-height:1.5em;
}
#service section#ikuseiplan .contact{
    background-color:#eee;
    padding-bottom:0.5em;
}
#service section#ikuseiplan .contact h4{
    border:none;
    background-color:#9C9C9D;
    color:#fff;
}



/* Each Page Layout */

.page-category h2{
	background:no-repeat;
	height:60px;
	text-indent:-9999px;
	margin:0 0 50px 0;
}

/* About */
#about h2.title{
	background-image:url(../about/img/title.gif);
}

/* Contact */
#contact h2.title{
	background-image:url(../contact/img/title.gif);
}
#contact .phone{
	border:1px solid #efefef;
	background-color:#efefef;
	padding:12px;
	width:630px;
}
#contact .phone h4{
	margin:0;
}
#contact .phone p{
	margin:0;
}
/* news */
#news h2.title{
	background-image:url(../news/img/title.gif);
}
#news section.entry{
	border-bottom:1px solid #efefef;
	padding-bottom:30px;
	margin-bottom:30px;
	overflow:auto;
}
/* service */
#service h2.title{
	background-image:url(../service/img/title.gif);
	height:120px;
}
#service h3.en{
	border-bottom:1px solid #efefef;
	margin-bottom:20px;
	padding-bottom:20px;
}
#service section.block h4{
	margin:0;
}
#service section.block p{
	margin:4px 0 36px 0;
}
img{
    max-width: 100%;
    height: auto;
}
#service #wordpress>h3{
    background-color: #3855fa;
    border: 1px solid #3855fa;
    color: #fff;
    padding: .5em 1em;
    text-align: center;
    margin-bottom: 0;
}
#service #wordpress>h3+p{
    margin: 0 0 2em 0;
    border: 1px solid #3855fa;
    border-top: none;
    padding: .5em 1em;
}
/*showcase */
#showcase h2.title{
	background-image:url(../showcase/img/title.gif);
}
#showcase ul.tabs{
    display: flex;
    list-style-type: none;
    padding: 0;
    gap:1em;
}
#showcase ul.tabs li a{
    display: block;
    padding: 0.25em 1em;
    border: 1px solid #4A4A4A;
    color: #4A4A4A;
    text-decoration: none;
}
#showcase ul.tabs li a.active{
    background-color: #4A4A4A;
    color: #fff;
}
#showcase .case-web,
#showcase .case-dtp{
    display: none;
    
}
#showcase .case-web.active,
#showcase .case-dtp.active{
    display: block;
}
#showcase .case-web .flex,
#showcase .case-dtp .flex{
    display: flex;
    gap:5%;
    flex-wrap: wrap;
}
#showcase section.showcases{
    width: 45%;
    box-sizing: border-box;
    min-width: 400px;
    padding: 4em 0;
	margin-bottom:4em;
	border-bottom:1px solid #efefef;
}
#showcase .showcases p.photo{
}
#showcase .showcases p.photo img{
    border:1px solid #efefef;
}
#showcase .showcases .caption{
}
#showcase .showcases .caption p{
    margin:0;
}
/* news */
#news h2.title{
	background-image:url(../news/img/title.gif);
}
/* recruit */
#recruit h2.title{
	background-image:url(../recruit/img/title.gif);
}
