@import url("/web/20230630090622cs_/https://sanyou-c.co.jp/wp-content/themes/sanyou-c/css/default.css");

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#000;}
a:visited{text-decoration:none; color:#000;}
a:hover{text-decoration:none; color:#000;}
a:active{text-decoration:none; color:#000;}

body { font-size: .14rem; line-height: 1.8; overflow-x: hidden; background-color: #fff; font-family: a-otf-gothic-bbb-pr6n, sans-serif; font-style: normal; font-weight: 400;}

.contents-area h1 { font-size: 2em; line-height: 2.1; font-weight: normal; color: @black; position: relative; padding-bottom: 15px;}
.contents-area h2 { font-size: 1.5em; line-height: 2.1; font-weight: normal; color: @black; position: relative; padding-bottom: 15px;}
.contents-area h3 { font-size: 1.17em; line-height: 2.1; font-weight: normal; color: @black; position: relative; padding-bottom: 15px;}
.contents-area h4 { font-size: 1em; line-height: 2.1; font-weight: normal; color: @black; position: relative; padding-bottom: 15px;}
.contents-area h5 { font-size: 0.83em; line-height: 2.1; font-weight: normal; color: @black; position: relative; padding-bottom: 15px;}
.contents-area h6 { font-size: 0.67em; line-height: 2.1; font-weight: normal; color: @black; position: relative; padding-bottom: 15px;}
.contents-area p { font-size: .14rem; line-height: .32rem; margin-bottom: .1rem;}
.contents-area p strong { font-weight: bold;}
.contents-area p em { font-style: italic;}
.contents-area p a { font-size: 1em; line-height: 2.1; text-decoration: underline; transition: all 0.3s;}
.contents-area p a:hover { color: blue; text-decoration: underline;}
.contents-area hr { margin-top: .1rem; margin-bottom: .1rem;}
@media (max-width: 575px) {
	.contents-area p { font-size: .18rem; line-height: .35rem;}
}

.visible-sp { display: none;}
.page-navi-wrap { margin-top: 65px; text-align: center;}
.wp-pagenavi * { font-size: 14px;}
.wp-pagenavi .pages { display: none;}
.wp-pagenavi span, .wp-pagenavi a { background: #210000; color: #fff; border: none!important; padding: 7px 13px!important; width: 42.5px; height: 42.5px; display: inline-block; vertical-align: middle; margin: 0 .06rem!important;}
.wp-pagenavi a:hover, .wp-pagenavi span.current { border: none; background: #08519c!important;}
.wp-pagenavi .current { color: #fff; border-color: #08519c!important;}
.container-fluid { max-width: 830px;}
.mw1280 { max-width: 1280px;}
.ryo { font-family: ryo-display-plusn, serif;}
.yugo { font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",serif;}
.ttl { text-align: center; font-size: .27rem; font-family: ryo-display-plusn, serif; font-weight: 800; font-style: normal; letter-spacing: .05em; line-height: 1; font-style: italic; overflow: hidden;}
.ttl div { display: inline-block; position: relative; min-width: 1.8rem; line-height: 1.5;}
.ttl div:before { content: ""; right: 100%; top: 0; bottom: 0; margin: auto; width: 3.2rem; height: 1px; background: #000000; position: absolute;}
.ttl div:after { content: ""; left: 100%; top: 0; bottom: 0; margin: auto; width: 3.2rem; height: 1px; background: #000000; position: absolute;}
.ttl span:before { content: ""; right: 0; top: 0; bottom: 0; margin: auto; height: .22rem; width: 1px; background: #000000; position: absolute; transform: rotate(25deg); -ms-transform: rotate(25deg);}
.ttl span:after { content: ""; left: 0; top: 0; bottom: 0; margin: auto; height: .22rem; width: 1px; background: #000000; position: absolute; transform: rotate(25deg); -ms-transform: rotate(25deg);}
.ttl-lg { padding: 1.4rem 0 1.2rem; text-align: center;}
.left-ttl { text-align: left; position: relative; font-size: .18rem; letter-spacing: .1em; line-height: .36rem; font-style: italic; margin-bottom: .4rem;}
.left-ttl:after { content: ""; left: 0; top: 0; bottom: 0; margin: auto; width: 100%; height: 1px; background: #000000; position: absolute;}
.left-ttl span { background: #fff; padding-right: .15rem; border-right: 1px solid #000; position: relative; z-index: 1; font-weight: bold;}
.centerbold { position: relative; margin-top: 1.4rem; margin-bottom: 1.5rem;}
.centerbold:after { content: ""; left: 0; top: 0; bottom: 0; left: 0; margin: auto; width: 100%; height: 2px; background: #000000; position: absolute;}
.smallbtn { width: 2.08rem; position: relative; z-index: 1;}
.msg { padding-bottom: .5rem; font-size: .16rem; letter-spacing: .2em; line-height: .26rem; position: relative;}
.msg:after { content: ""; border-bottom: 1px solid #000; border-right: 1px solid #000; position: absolute; bottom: .2rem; left: 0; right: 0; height: .15rem; width: .15rem; margin: auto; transform: rotate(45deg);}
.t_news { background: url(../images/common/bg_news.jpg); background-position: center; background-size: cover; padding: 1.2rem 0 1.15rem;}
.t_news .container-fluid { max-width: 100%; text-align:}
.t_news .wrap { max-width: 900px; background: rgba(255,255,255,0.9); margin: auto; padding: .5rem; position: relative;}
.t_news .wrap h2 { max-width: 800px; margin: 0 auto .4rem;}
.t_news .wrap .linkbtn { position: absolute; bottom: -.17rem; left: 0; right: 0; margin: auto; width: 1.68rem;}
.t_news .wrap ul li { border-bottom: 1px dashed #000000; padding-bottom: .07rem; margin-bottom: .07rem; font-size: .16rem; letter-spacing: .06em;}
.t_news .wrap ul li a { display: block; padding-right: .5rem; position: relative;}
.t_news .wrap ul li .time { display: inline-block; vertical-align: middle; margin-right: .05rem;}
.t_news .wrap ul li .cat-name { background: #908080; color: #fff; padding: 0 .06rem .02rem; line-height: 1; font-size: .13rem; vertical-align: middle; margin-right: 0.1rem; transition: .3s;}
.t_news .wrap ul li .post-ttl { vertical-align: middle; display: inline-block;}
.t_news .wrap ul li a:after { content: ""; background-image: url(../images/common/arrow-btn-black.svg); background-position: center; background-size: cover; width: .23rem; height: .12rem; position: absolute; right: .15rem; top: 0; bottom: 0; margin: auto;}
.t_news .wrap ul li a:hover .cat-name { background: #08519c;}
.t_news .wrap .wp-pagenavi { position: absolute; bottom: -20px; left: 0; right: 0;}
.t_access { padding-top: 2rem;}
.t_access h2 { margin-bottom: .35rem;}
.t_works { background: rgba(211,204,204,.3); padding-bottom: .9rem;}
.t_works h2 { top: -.2rem; position: relative; margin-bottom: .7rem;}
.t_works h3 { font-size: .28rem; letter-spacing: .2em; margin-bottom: .1rem;}
.t_works ul { margin-left: -.02rem; margin-right: -.02rem; margin-bottom: .2rem;}
.t_works ul > li { padding: .02rem;}
.t_works ul > li .bg { display: block; background-position: center; background-size: cover; position: relative; padding-top: 80%;}
.t_works ul > li .bg .vol { position: absolute; left: 0; right: 0; bottom: 0; top: 0; margin: auto; height: .4rem; line-height: 1; letter-spacing: .05em; font-size: .3rem; color: #fff;}
.t_works ul > li .bg .vol strong { font-size: .45rem; letter-spacing: 0;}
.t_works ul > li .caption { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(255,255,255,.8); align-items: center; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; visibility: hidden; opacity: 0; transition: .6s; transform: scale(0); -ms-transform: scale(0);}
.t_works ul > li .caption div { display: block; flex: 0 0 100%; max-width: 100%; padding: .15rem; line-height: 1.5;}
.t_works ul > li .caption div strong { display: block; font-size: .18rem; font-weight: bold; letter-spacing: .2em; border-bottom: 2px solid #210000; padding-bottom: .06rem;}
.t_works ul > li .caption div span { font-size: .15rem; font-weight: bold; letter-spacing: .2em; padding-top: .06rem; display: block;}
.t_works ul > li a:hover .caption { opacity: 1; visibility: visible; transform: scale(1); -ms-transform: scale(1);}
.bread-list { text-align: right; max-width: 1030px; padding: .1rem 15px .5rem; margin: auto; line-height: 1;}
.bread-list li { display: inline-block;}
.bread-list li:after { content: ""; display: inline-block; width: 7px; height: 7px; border-top: 1px solid #000000; border-right: 1px solid #000000; transform: rotate(45deg); vertical-align: middle; margin: -.02rem .06rem 0;}
.bread-list li:last-child:after { display: none;}
.bread-list li a:hover { text-decoration: underline;}
.linkbtn { text-align: center; display: inline-block; min-width: 1.68rem; font-size: .14rem; letter-spacing: .2em; line-height: 1; padding: .1rem 0; color: #fff!important; background: #210000; position: relative; font-family: "Helvetica Neue", sans-serif; transition: .3s;}
.linkbtn:after { content: ""; background-image: url(../images/common/arrow-btn.svg); background-size: cover; background-position: center; position: absolute; right: .1rem; top: 0; bottom: 0; width: .17rem; height: .1rem; margin: auto;}
.linkbtn:hover { background-color: #08519c;}
.linkbtn.contactbtn { width: 2.9rem; font-weight: bold; background: #08519c; letter-spacing: .2em; font-size: .16rem;}
.linkbtn.contactbtn:after { right: .35rem;}
.linkbtn.contactbtn:hover { background: #210000;}
.linkbtn.contactbtn span { position: relative; top: .02rem; padding-right: .2rem;}
.linkbtn.contactbtn img { margin-right: .1rem; height: .18rem;}
.linkbtn.contactbtn br { display: none;}
.fixed_top { position: fixed; bottom: 60px; right: 45px; z-index: 999; width: 55px; height: 55px;}
.fixed_contact { display: block; width: 50px; height: 180px; position: fixed; right: 0; top: 0; bottom: 0; margin: auto; background: #08519c; border-radius: 8px 0 0 8px; z-index: 10; transition: .3s;}
.fixed_contact:hover { background-color: #210000;}
.fixed_contact img { position: relative; left: 14px; top: 24px;}
@media (max-width: 991px) {
	.t_works ul > li .bg .vol { bottom: auto; top: .1rem; left: .1rem; right: auto;}
	.t_works ul > li .bg { padding-top: 60%;}
	.t_works ul > li .caption { position: static; visibility: visible; opacity: 1; transform: scale(1);}
}
@media (max-width: 767px) {
	.fixed_contact { display: none;}
	.fixed_top { right: 15px; bottom: 25px;}
	.visible-sp { display: block;}
	.visible-pc { display: none;}
}
@media (max-width: 575px) {
	.ttl-lg { padding: .7rem 0 .6rem;}
	.sp-none { display: none;}
	.t_access { padding-top: 1rem;}
}

main { padding-top: 85px; padding-bottom: 1.5rem;}
@media (max-width: 767px) {
	main { padding-top: 65px;}
}
@media (max-width: 575px) {
	main { padding-bottom: .75rem;}
}

/* header */
header.is-fixed { position: fixed; width: 100%; top: 0; left: 0; z-index: 999; transition: .4s;}
header { height: 85px; position: relative; transition: .4s; background: #210000;}
header.trans { background: none;}
header.trans.header_sizing { background: #210000;}
header .container-fluid { max-width: 1030px; margin: 0 auto;}
header .logo { display: inline-block; padding-top: 27px; transition: .4s;}
header .logo img { transition: .4s;}
header .gnav { float: right; padding-top: 18px;}
header .gnav > li { display: inline-block; line-height: 40px; position: relative; letter-spacing: .1em;}
header .gnav > li:not(.icons) > a { display: block; font-size: .13rem; line-height: .21rem; color: #fff; padding: 0 .15rem; font-weight: bold; position: relative; transition: .3s;}
header .gnav > li:not(.icons) > a:before { background: #1f5ab2; content: ""; z-index: 1; height: 5px; position: absolute; left: 0; right: 0; bottom: -10px; margin: auto; width: calc(100% - .3rem); transform: scale(0, 1); transform-origin: right center 0; -webkit-transform: 1s cubic-bezier(0.23, 1, 0.32, 1); transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);}
header .gnav > li:not(.icons) > a:hover:before {transform: scale(1, 1);transform-origin: left center 0;}
header .gnav > li.icons { position: relative; top: 3px; padding-left: .15rem;}
header .gnav > li.icons a { color: #fff; padding: 0 .075rem; font-size: .23rem;}
header .gnav li.icon_fb ,
header .gnav li.icon_insta { background: #fff; height: 25px; width: 25px; border-radius: 3px; margin-left: 15px;}
header .gnav li.icon_fb { position: relative; top: 2px;}
header .gnav li.icon_insta { position: relative; top: 1px;}
header .gnav li.icon_fb a,
header .gnav li.icon_insta a { width: 25px; height: 25px; line-height: 25px; color: #ffb600; font-size: 18px; padding: 1px 5px 0;}
header .gnav li.icon_fb a { padding: 2px 7px 0;}
header .gnav li.last { display: none;}
header .menu-trg-area { width: 50px; height: 50px; position: absolute; top: 15px; right: 15px; display: none!important;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; right: 5px; top: 0; width: 30px; height: 35px; z-index: 2;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #fff;}
header .menu-trigger span:nth-of-type(1) { top: 15px;}
header .menu-trigger span:nth-of-type(2) { top: 25px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: 5px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -11px;}
header a.box_button { -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; text-align: center;}
header a.box_button span { position: relative; display: inline-block; height: 20px; overflow: hidden; transition: .3s;}
header a.box_button span img { transform:translatey(0px); transition: .3s;}
header a.box_button span:hover img { transform:translatey(-35px);  transition: .3s;}
header a.box_button:hover span::before { opacity: 1;}
@media only screen and ( max-width: 1212px) {
	header .gnav > li > a { padding: 0 .2rem;}
	header .gnav > li > a:before  { width: calc(100% - 40px);}
}
@media only screen and ( max-width: 1132px){
	header .gnav > li > a { padding: 0 .14rem;}
	header .gnav > li > a:before  { width: calc(100% - 28px);}
}
@media only screen and ( max-width: 1036px){
	header .gnav > li > a { padding: 0 .15rem;}
	header .gnav > li > a:before  { width: calc(100% - 30px);}
}
@media only screen and ( max-width: 767px) {
	header { position: relative; height: 65px;}
	header .logo { z-index: 1; position: relative; padding-top: 15px;}
	header .menu-trg-area { display: inline-block!important; top: 8px;}
	header .other_nav { top: 65px; transition: .4s;}
	header .gnav { font-size: 0; letter-spacing: 0; position: fixed; visibility: hidden; opacity: 0; transition: .3s; left: 0; top: 0; height: 100vh; width: 100%; background: #210000;}
	header .gnav:after { content: ""; position: fixed; bottom: 0; left: 0; width: 100%; height: 0; background: #210000; transition: .1s;}
	header .gnav li { width: 50%; text-align: center; line-height: 1; padding: .1rem; position: relative; z-index: 1;}
	header .gnav li a { font-size: .18rem!important; letter-spacing: .1em; padding: .15rem 0 .2rem!important; border: 1px solid #fff; display: block;}
	header .gnav li a:before { display: none;}
	header .gnav li.icons a { font-size: .3rem!important; border: none; display: inline; padding-left: .1rem!important; padding-right: .1rem!important;}
	header .gnav li.last { display: block; width: 100%;}
	header .gnav li.last a { background: #fff; color: #210000; padding: 20px 0 24px!important; font-size: 16px!important;}
	header .gnav.active { opacity: 1; visibility: visible; padding-top: 100px;}
	header .gnav.active:after { height: 100%;}
}
footer { background: #210000; color: #fff; padding: .62rem 0 0;}
footer a { color: #fff!important;}
footer .fl-left { float: left; position: relative;}
footer .fl-left figure { display: inline-block; vertical-align: top; padding-right: .2rem;}
footer .fl-left > div { display: inline-block; vertical-align: top;}
footer .fl-left > div img { margin-bottom: .15rem;}
footer .fl-right { float: right; font-size: 0; letter-spacing: 0;}
footer .fl-right ul { border-left: 1px solid #fff; padding: 0 .6rem 0 .2rem; display: inline-block; vertical-align: top; font-size: .14rem; letter-spacing: .1em; min-height: 1.25rem;}
footer .fl-right ul.last { padding-right: 0;}
footer .fl-right ul li { padding-bottom: .213rem; line-height: 1;}
footer .fl-right ul li:last-child { padding: 0;}
footer .fl-right ul li.icons { font-size: .27rem;}
footer .copyright { text-align: center; padding: .65rem 0 .17rem; font-size: .12rem; letter-spacing: .1em; line-height: 1;}
@media (max-width: 575px) {
	footer .fl-left { float: none; margin-bottom: .4rem;}
	footer .fl-left figure { padding-right: .15rem;}
	footer .fl-right { float: none;}
	footer .fl-right ul { width: 50%; font-size: .18rem;}
	footer .fl-right ul li.icons { font-size: .38rem;}
}

.home { padding-top: 0; padding-bottom: 0;}
.home .t_fv { height: 100vh; position: relative; overflow: hidden;}
.home .t_fv .t_ttl { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; z-index: 2; height: 1.53rem; padding: 0 .3rem;}
.home .t_fv .t_scroll { position: absolute; left: 0; right: 0; bottom: .17rem; margin: auto; z-index: 2; height: .383rem; animation: key1 .6s ease infinite alternate;}
@keyframes key1{ 0% {transform: translateY(0px);} 100% {transform: translateY(-7px);}}
@-webkit-keyframes key1{ 0% {transform: translateY(0px);} 100% {transform: translateY(-7px);}}
.home .simple-slide { height: 100%; margin-bottom: 0; transition: .3s;}
.home .simple-slide .slick-list,
.home .simple-slide .slick-list .slick-track { height: 100%; transition: .1s;}
.home .simple-slide .slick-list:after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 100%; width: 100%; background-color: rgba(33,0,0,0.2);}
.home .simple-slide .slick-arrow { display: none!important;}
.home .simple-slide .slick-slide { background-position: center; background-size: cover; height: 100%;}
.home .simple-slide .slick-dots { bottom: .8rem;}
.home .simple-slide .slick-dots li { width: 10px; height: 10px;}
.home .simple-slide .slick-dots li.slick-active button { position: relative; border: 2px solid #ddd;}
.home .simple-slide .slick-dots li:nth-child(1) button { background: #210000;}
.home .simple-slide .slick-dots li:nth-child(2) button { background: #908080;}
.home .simple-slide .slick-dots li:nth-child(3) button { background: #d3cccc;}
.home .simple-slide .slick-dots li:nth-child(4) button { background: #fff;}
.home .simple-slide .slick-dots li button { background: #fff; border-radius: 50%; z-index: 1; width: 10px; height: 10px;}
.home .simple-slide .slick-dots li button:before { display: none;}
.home .t_concept { padding: 1.6rem 0 1.9rem;}
.home .t_concept h3 { font-size: .24rem; letter-spacing: .29em; margin: .5rem 0 .3rem;}
.home .t_concept p { font-size: .16rem; letter-spacing: .12em; line-height: .3rem;}
.home .t_concept .linkbtn { margin-top: .55rem;}
.home .t_instagram { padding: 1.2rem 0 0;}
.home .t_instagram i { font-size: .27rem; position: relative; top: .05rem;}
.home .t_instagram h2 { margin-bottom: .35rem;}
.home .t_instagram .obf { background-size: cover; background-position: center; padding-bottom: 80%;}
.home .t_instagram .row { margin-left: -.02rem!important; margin-right: -.02rem!important;}
.home .t_instagram .row [class*="col"] { padding: .02rem;}
@media (max-width: 575px) {
	.home .t_concept { padding: .8rem 0 .95rem;}
}

/* company */
.company { padding-bottom: 0;}
.company .fv { background-size: cover; background-position: center; padding: 1.45rem 0 1.15rem;}
.company .fv .container-fluid { max-width: 100%;}
.company .fv .wrap { max-width: 900px; margin: auto; background: rgba(255,255,255,0.8); padding: .5rem; margin-top: .6rem;}
.company .fv .wrap .ttl { margin-bottom: .35rem;}
.company .fv .wrap h3 { margin-bottom: .3rem; font-size: .24rem; letter-spacing: .3em; line-height: 1;}
.company .fv .wrap .bl{ max-width: 700px; margin: auto;}
.company .greeting { padding: 1.5rem 0 2rem;}
.company .greeting .container-fluid { max-width: 720px;}
.company .greeting h3 { text-align: center; font-size: .25rem; letter-spacing: .27em; margin-bottom: .3rem;}
.company .greeting p { font-size: .14rem; line-height: .31rem;}
.company .greeting .text-right { margin-top: .4rem;}
.company .greeting small { font-size: .14rem; letter-spacing: .1em;}
.company .greeting strong { font-size: .19rem; font-weight: bold; letter-spacing: .1em;}
.company .outline .ttl { margin-bottom: .6rem;}
.company .outline dl { position: relative; padding-left: 1.2rem; font-size: .14rem; line-height: .27rem;}
.company .outline dl dt { width: 1.2rem; position: absolute; left: 0; top: 0; bottom: 0; font-weight: normal;}
.company .outline .col-sm-12.col-12 { max-width: 550px; margin: auto;}
@media (max-width: 575px) {
	.company .fv { padding: .725rem 0 .575rem;}
	.company .fv .wrap .bl ul li { margin-bottom: .2rem;}
	.company .fv .wrap .bl ul li:last-child { margin-bottom: 0;}
	.company .fv .wrap .bl ul li img { width: 100%;}
	.company .greeting { padding: .75rem 0 1rem;}
	.company .outline .ttl { margin-bottom: .55rem;}
	.company .outline figure { margin-bottom: .2rem;}
	.company .outline figure img { width: 100%;}
	.company .outline dl { font-size: .18rem; line-height: .36rem; padding-left: 1.3rem;}
	.company .outline dl dt { width: 1.3rem;}
}

/* concept */
.concept .fv { background-size: cover; background-position: center; padding: 1.45rem 0 1.15rem;}
.concept .fv .container-fluid { max-width: 100%;}
.concept .fv h2 { margin-bottom: .5rem;}
.concept .fv h3 { margin-bottom: .3rem; text-align: center; font-size: .25rem; letter-spacing: .27em;}
.concept .fv p { font-size: .14rem; letter-spacing: .07em; line-height: .31rem;}
.concept .kodawari { padding: 1.8rem 0 1.1rem; text-align: center;}
.concept .kodawari h2 { margin-bottom: .65rem;}
.concept .kodawari h3 { text-align: center; font-size: .25rem; letter-spacing: .27em; margin-bottom: .3rem;}
.concept .kodawari .resize { max-width: 1030px;}
.concept .kodawari .text-right { margin-top: .4rem;}
.concept .kodawari small { font-size: .14rem; letter-spacing: .1em;}
.concept .kodawari strong { font-size: .19rem; font-weight: bold; letter-spacing: .1em;}
.concept .bgimg { background-size: cover; background-position: center; padding: 1.2rem 0;}
.concept .bgimg .container-fluid { max-width: 100%;}
.concept .bgimg .wrap { max-width: 1000px; margin: auto; background: rgba(255,255,255,0.8); padding: .5rem .3rem .6rem;}
.concept .bgimg .wrap .ttl { margin-bottom: .35rem;}
.concept .bgimg .wrap h3 { margin-bottom: .35rem; font-size: .24rem; letter-spacing: .3em; line-height: 1;}
.concept .bgimg .wrap .bl{ max-width: 700px; margin: auto;}
.concept .bgimg p { display: none;}
.concept .last { padding: .7rem 0;}
.concept .last figure { padding-top: .06rem;}
.concept .last h3 { margin-bottom: .2rem; font-weight: bold; font-size: .17rem; letter-spacing: .15em; border-bottom: 1px dotted #000; display: inline-block; padding-bottom: .08rem;}
.concept .last p { font-size: .14rem; line-height: .26rem;}
.concept section.mgt50 { margin-top: 0!important;}
.concept section.mgt50 .msg { border-top: 1px solid #000; padding-top: 1.2rem;}
@media (max-width: 575px) {
	.concept .fv { padding: .725rem 0 .575rem;}
	.concept .kodawari { padding: .9rem 0 .55rem;}
	.concept .kodawari .col-12 { margin-bottom: .2rem;}
	.concept .bgimg { padding: .6rem 0;}
	.concept .bgimg .scroll { overflow-x: scroll;}
	.concept .bgimg .scroll img { width: 700px; height: 139px; max-width: none; margin-bottom: 10px;}
	.concept .bgimg p { display: block; margin-top: .05rem; font-weight: bold; text-align: left;}
	.concept .last .ttl { margin-bottom: .55rem;}
	.concept .last figure { margin-bottom: .2rem;}
	.concept .last figure img { width: 100%;}
	.concept .last dl { font-size: .18rem; line-height: .36rem; padding-left: 1.3rem;}
	.concept .last dl dt { width: 1.3rem;}
	.concept section.mgt50 .msg { padding-top: .6rem;}
}

/* 施工一覧 */
.single-works .t_works { background: none; padding-bottom: 0;}
.single-works .t_works .msg { margin-top: 1.2rem;}
.single-works .cat-list { font-size: 0; letter-spacing: 0; margin: 0 0 .45rem;}
.single-works .cat-list li { display: inline-block; font-size: .14rem; letter-spacing: .15em; line-height: 1; position: relative; vertical-align: middle; padding: 0 .25rem;}
.single-works .cat-list li:first-child { padding-left: 0;}
.single-works .cat-list li:last-child { padding-right: 0;}
.single-works .cat-list li:first-child:after { display: none;}
.single-works .cat-list li:last-child:before { display: none;}
.single-works .cat-list li:nth-child(even) { height: 1px; width: 1.5rem; background: #000; padding: 0;}
.single-works .cat-list li:nth-child(even):before,
.single-works .cat-list li:nth-child(even):after { display: none;}
.single-works .cat-list li:before { content: ""; right: 0; top: 0; bottom: 0; margin: auto; height: .22rem; width: 1px; background: #000000; position: absolute; transform: rotate(25deg); -ms-transform: rotate(25deg);}
.single-works .cat-list li:after { content: ""; left: 0; top: 0; bottom: 0; margin: auto; height: .22rem; width: 1px; background: #000000; position: absolute; transform: rotate(25deg); -ms-transform: rotate(25deg);}
.single-works .cat-list li a { font-weight: bold; display: block; transition: .3s;}
.single-works .cat-list li a:hover { color: #08519c;}
/* 施工詳細 */
.single-works .post-ttl { font-size: .24rem; text-align: center; letter-spacing: .15em; line-height: .3rem; font-weight: bold; border-bottom: .02rem solid #210000; padding-bottom: .07rem; margin-bottom: .45rem;}
.single-works .tiles { font-size: 0; letter-spacing: 0; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: .5rem;}
.single-works .tiles dl { font-size: .14rem; letter-spacing: .07em; line-height: .3rem; -ms-flex: 0 0 41%; flex: 0 0 41%; max-width: 41%; text-align: center; border-bottom: 1px solid #210000; overflow: hidden;}
.single-works .tiles dl:first-child { -ms-flex: 0 0 18%; flex: 0 0 18%; max-width: 18%; border-left: 1px solid #210000;}
.single-works .tiles dl:last-child { border-right: 1px solid #210000;}
.single-works .tiles dl dt { font-weight: bold; letter-spacing: .15em; font-size: .18rem; background: #210000; color: #fff; line-height: 1; padding: .1rem 0 .13rem; position: relative; font-style: italic;}
.single-works .tiles dl dt:after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; height: 70%; width: 1px; background: #fff; margin: auto;}
.single-works .tiles dl:last-child dt:after { display: none;}
.single-works .tiles dl dd { position: relative; padding: .3rem .1rem; height: 100%; line-height: 1.7;}
.single-works .tiles dl dd:after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; height: 100%; width: 1px; border-right: 1px dotted #210000; margin: auto;}
.single-works .tiles dl:last-child dd:after { display: none;}
@media (max-width: 860px) {
	.single-works .cat-list li:nth-child(even) { width: 1rem;}
}
@media (max-width: 767px) {
	.single-works .cat-list li { padding: 0!important; display: block; border: 1px solid #000;}
	.single-works .cat-list li:nth-child(even) { width: 1px; height: .3rem; margin: auto;}
	.single-works .cat-list li:before,
	.single-works .cat-list li:after { display: none;}
	.single-works .cat-list li a { padding: .1rem .2rem; font-size: .2rem;}
}
@media (max-width: 575px) {
	.single-works .centerbold { margin-top: .7rem; margin-bottom: .75rem;}
}

/* 新着情報詳細 */
.single-news.single .post-ttl { position: relative; border-top: 1px solid #000; border-bottom: 1px solid #000; padding: .2rem .5rem; margin-bottom: .5rem;}
.single-news.single .post-ttl:before { content: ""; position: absolute; top: -.07rem; left: 0; width: 100%; height: .03rem; background: #000;}
.single-news.single .post-ttl .tag { text-align: center; display: inline-block; font-size: .13rem; letter-spacing: .1em; line-height: 1; padding: .05rem .1rem; color: #fff!important; background: #08519c; position: relative; vertical-align: middle; font-weight: bold; margin-right: .2rem;}
.single-news.single .post-ttl .title { font-size: .22rem; font-weight: bold; letter-spacing: .05em; vertical-align: middle;}
@media (max-width: 767px) {
	.single-news.single .post-ttl { padding: .15rem .2rem;}
}

/* お問い合わせ */
.contact h3.ryo { margin-bottom: .25rem; font-size: .24rem; letter-spacing: .3em; line-height: 1;}
.contact h3 + p { font-size: .14rem; line-height: .31rem;}
.contact .tel-wrap { border-top: 1px solid #000; border-bottom: 1px solid #000; padding: .15rem 0; position: relative;}
.contact .tel-wrap:after { content: ""; margin: auto; position: absolute; left: 0; right: 0; width: 1px; top: 0; bottom: 0; height: 50%; background: #000;}
.contact .tel-wrap .row { max-width: 600px; margin: auto;}
.contact .tel-wrap .row a img { position: relative; top: -.02rem;}
.contact-block dl { border-top: 1px solid #000; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; align-items: center; padding: .2rem 0;}
.contact-block dl.last { border-bottom: 1px solid #000; margin-bottom: .7rem;}
.contact-block dl dt { -ms-flex: 0 0 1.6rem; flex: 0 0 1.6rem; max-width: 1.6rem;}
.contact-block dl dd { -ms-flex: 0 0 calc(100% - 1.6rem); flex: 0 0 calc(100% - 1.6rem); max-width: calc(100% - 1.6rem);}
.contact-block dl dd span.wpcf7-list-item { margin: 0; padding-left: .3rem;}
.contact-block dl dd span.wpcf7-list-item.first { padding-left: 0;}
.contact-block dl dd input[type*="text"],
.contact-block dl dd input[type*="tel"],
.contact-block dl dd input[type*="email"],
.contact-block dl dd textarea { border: none; background: #f4f2f2; padding: .05rem 0.1rem;}
.contact-block dl dd input[type*="email"],
.contact-block dl dd textarea { width: 100%;}
.contact-block .msg { font-size: 12px; letter-spacing: .14em; line-height: 25px;}
.contact-block .linkbtn.contactbtn { padding-bottom: .15rem; position: relative;}
.contact-block .linkbtn.contactbtn input { opacity: 0; position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.contact-block dl dd label { margin-bottom: 0;}
@media (max-width: 575px) {
	.contact .tel-wrap { padding: 0;}
	.contact .tel-wrap:after { width: .5rem; height: 1px;}
	.contact .tel-wrap [class*="col"] { margin: .2rem 0;}
	.contact-block dl dt { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; font-size: .18rem; margin-bottom: .1rem;}
	.contact-block dl dd { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}
	.contact-block dl dd span.wpcf7-list-item { display: block; padding-left: 0; font-size: .16rem;}
}

.contact-block input[type="submit"] { border: none; cursor: pointer; padding: 15px 0!important; }
.contact-block .wpcf7-spinner { display: block; margin-left: auto; margin-right: auto; }