@charset "utf-8";

main { width:100%; /*padding-top: 75px; padding-bottom: 75px;*/ }
section.about, .topic main > section, .topic-entry main > section, section.service, .news main > section, .news-entry main > section, section.horitsu-index, section.horitsu-entry { padding-top: 75px; padding-bottom: 75px; }
main > *:not(.map), .map > div, footer > p, footer > section > div { max-width: 1000px; margin: 0 auto; }
h1.theme-color, h2.theme-color, .topic-entry div.theme-color, .news-entry div.theme-color { text-align: center; }

/* nav */
header{ max-width:inherit; position:relative; z-index:100; }
.logo { float: left; }
nav { float: right; }
.globalNav li { display: inline-block; float: left; }
.globalNav li:nth-child(n+2):before { content: ""; width: 2px; height: 75%; background-color: #fff; border-radius: 1px; position: absolute; top: 13px; }
.globalNav li a svg:last-child { position: relative; bottom: -5px; }
.globalNav li:first-child { width: 122px; text-align: center; } 
.globalNav li a { width: 143px; text-align: center; }
.globalNav li a svg { display: block; margin: 0 auto; }

@media screen and (max-width: 1600px){
	.globalNav li:first-child { width: 92px; text-align: center; } 
	.globalNav li a { width: 113px; text-align: center; }
}

#gnav{ z-index:10000;}
#gnav nav{ text-align:right; position:relative; display:block; }
#gnav .gnav-contact{ display:inline-block; text-align:right; }
#gnav .gnav-contact li{ display:inline-block; }
#gnav .gnav-contact .telnum span:first-child{position: relative; top: -3px;}
#gnav .gnav-tel { line-height:46px; }
#gnav .gnav-tel svg{ display:none;}
#gnav #drowerWrap .gnav-subnav{ position: absolute; top: 0; }
#gnav #drowerWrap .gnav-subnav li { float: left; margin-right:20px; }
#gnav #drowerWrap .gnav-subnav li a{ line-height: 48px; }
#gnav .gnav-contact ul{ float: right; }
#gnav .gnav-contact li{ float: left; }
#gnav .gnav-contact .btn-drower{ display:none;}
#gnav nav .gnav-subnav a:hover { background: -webkit-linear-gradient(bottom, #F4CD21, #F4CD21 5%, #fff 5%); background: linear-gradient(to top, #F4CD21, #F4CD21 5%, #fff 5%); }

@media screen and (max-width: 1100px){
	.open nav > div > ul:first-child, .open nav > div > ul:nth-child(2) li:first-child, .open .globalNav{ display:block;}

	#gnav .logo{ width:80px; height:auto; }
	#gnav .logo svg{ width:100%; height:100%;}
	#gnav nav .gnav-subnav a:hover{ background:none;}
	#gnav #drowerWrap{display:block; position:fixed; left:0; background:#FFF; width:100%; padding-top:180px; padding-bottom:50px;
	box-shadow:0px 3px 0px 0px #C19574; -moz-box-shadow:0px 3px 0px 0px #C19574; -webkit-box-shadow:0px 3px 0px 0px #C19574; top:0; opacity:1;
	-webkit-transform: translateY(-110%); -ms-transform: translateY(-110%); -moz-transform: translateY(-110%); transform: translateY(-110%); 
	-webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease;
	}
	#gnav.open #drowerWrap{display:block; top:0; opacity:1;
	-webkit-transform: translateY(0%); -ms-transform: translateY(0%); -moz-transform: translateY(0%); transform: translateY(0%); 
	-webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1.5s ease; transition: all 1s ease;	
	}
	#gnav #drowerWrap .gnav-subnav{ position:relative; top:auto; display:block; margin:0 20px; text-align: center; }
	#gnav #drowerWrap .gnav-subnav li{ display:inline-block; width:24.25%; margin-right:1%;}
	#gnav #drowerWrap .gnav-subnav li:last-child{ margin-right:0;}
	#gnav #drowerWrap .gnav-subnav li a{ display:block; text-align:center; border-bottom:1px solid #109954;}
	#gnav #drowerWrap .btn-nav { width: 100%; height: auto; background-color: #109954; color: #fff; border-radius:0; position: relative; overflow:hidden; padding:10px 0; margin:0;}
	#gnav #drowerWrap .btn-nav:after{ display:none;}
	#gnav #drowerWrap .btn-nav ul{ margin:0 10px; position:relative;  width:100%; overflow:hidden;}
	#gnav #drowerWrap .btn-nav ul li:nth-child(n+2):before{ display:none;}
	#gnav #drowerWrap .btn-nav ul li{ width:14%; }
	#gnav #drowerWrap .btn-nav ul li{ border-left:1px solid #fff;}
	#gnav #drowerWrap .btn-nav ul li:nth-child(1){ border-left:none;}
	#gnav #drowerWrap .btn-nav ul li a{ width:100%; display:block; text-align:center; padding:20px 0; margin-top:0;}
	#gnav #drowerWrap .btn-nav ul li a svg{ display:block; margin:0 auto;}
	#gnav #drowerWrap .btn-nav ul li a svg:last-child{ height:13px; width:auto;}
	#gnav #drowerWrap .gnav-subnav li a svg{ height:13px; width:auto;}
	
	#gnav{ box-sizing:border-box; width: 100%; position: fixed; padding:25px 25px 0;}
	#gnav .logo{position: relative; z-index: 10;}
	#gnav nav{ position:relative; }
	#gnav .gnav-contact{ width:auto; position: relative; z-index: 10;}
	#gnav .gnav-contact li:first-of-type { position: relative; top: 10px; }
	#gnav .gnav-contact .btn-drower{   color: #fff; position:relative; z-index:50; margin-left:10px; display:block;}
	#gnav .gnav-contact .btn-drower:active { -webkit-transform: translateY(5px); -ms-transform: translateY(5px); transform: translateY(5px); }
	#gnav .gnav-contact .btn-drower div{box-sizing:border-box;  width:46px; height:46px;  background-color: #fff; border:2px solid #109954; border-radius: 6px; position:relative;}
	#gnav .gnav-contact .btn-drower div:after { content: ""; width: calc(100% - 6px); height: 40%; position: absolute; bottom: 0; box-shadow: 0 0px 0px 3px #E8D0BC; z-index: -1; border-radius: inherit;  bottom:-2px; left:3px;}
	#gnav .gnav-contact .btn-drower span{width:20px;height:2px;background:#109954;position:absolute;left: 50%;top: 50%; -webkit-transform: translateX(-50%) translateY(-1px); /* Safari用 */ -ms-transform: translateX(-50%) translateY(-1px); transform: translateX(-50%) translateY(-1px); z-index:10;}
	#gnav .gnav-contact .btn-drower:before{content:"";width:20px;height:2px;background:#109954;position:absolute; z-index:10; left: 50%;top: 50%; -webkit-transform: translateX(-50%) translateY(6px); -ms-transform: translateX(-50%) translateY(6px); transform: translateX(-50%) translateY(6px);}
	#gnav .gnav-contact .btn-drower:after{content:"";width:20px;height:2px;background:#109954;position:absolute; z-index:10; left: 50%;top: 50%; -webkit-transform: translateX(-50%) translateY(-8px); -ms-transform: translateX(-50%) translateY(-8px); transform: translateX(-50%) translateY(-8px);}
	
	#gnav.open .gnav-contact .btn-drower div{ background:#F4CD21; border: 2px solid #F4CD21;}
	#gnav.open .gnav-contact .btn-drower span{ display:none;}
	#gnav.open .gnav-contact .btn-drower:before{content:"";width:20px;height:2px;background:#109954;position:absolute; z-index:10; left: 50%;top: 50%; -webkit-transform: translateX(-50%) translateY(-50%) rotate(30deg); /* Safari用 */ -ms-transform:  translateX(-50%) translateY(-50%) rotate(30deg); transform:  translateX(-50%) translateY(-50%) rotate(30deg);}
	#gnav.open .gnav-contact .btn-drower:after{content:"";width:20px;height:2px;background:#109954;position:absolute; z-index:10; left: 50%;top: 50%; -webkit-transform: translateX(-50%) translateY(-50%) rotate(-30deg); /* Safari用 */ -ms-transform: translateX(-50%) translateY(-50%) rotate(-30deg); transform: translateX(-50%) translateY(-50%) rotate(-30deg);}

	#gnav .gnav-tel{ line-height:0;}
	#gnav .gnav-tel a{height: 46px; line-height:47px; background-color: #109954; color: #fff; border-radius: 6px; position: relative; }
	#gnav .gnav-tel a{ position:relative; padding-left:25px; padding-right: 10px;}
	#gnav .gnav-tel a:after { content: ""; width: calc(100% - 6px); height: 40%; position: absolute; bottom: 0; box-shadow: 0 0px 0px 3px #E8D0BC; z-index: -1; border-radius: inherit; left:3px; }
	#gnav .gnav-tel a svg{ fill:#ffffff; display:block; position:absolute; left:10px; top:15px;}
	#gnav .gnav-tel a span span:first-child{ display:none;}
	#gnav .gnav-tel .telnum .font-medium{ font-size:16px;}
}

@media screen and (max-width: 600px){
	#gnav{ padding:20px 20px 0; }
	#gnav .logo{ width:60px; height:88px;   display:block; }
	#gnav .logo svg{ width:100%; height:100%;}
	
	#gnav .gnav-contact li:first-of-type { top: 0; }
	#gnav .gnav-contact .btn-drower div{ width:40px; height:40px; }
	#gnav .gnav-contact .btn-drower span{width:18px;height:2px;}
	#gnav .gnav-contact .btn-drower:before{content:"";width:18px;height:2px;}
	#gnav .gnav-contact .btn-drower:after{content:"";width:18px;height:2px;}
	
	#gnav .gnav-tel a{width:40px; height:40px; padding:0;}	
	#gnav .gnav-tel .telnum .font-medium{ display:none;}
	#gnav .gnav-tel a svg{ left:12px; top:12px;}
	
	/**/
	#gnav #drowerWrap{padding-bottom: 23px;padding-top:125px;}
	#gnav #drowerWrap .btn-nav {padding:50px 0 25px;margin-bottom:10px;}
	#gnav #drowerWrap .btn-nav:before{ content:""; width:100%; display:block; margin-bottom:20px; height:16px; background:url(../img/horitsu_lead.svg) no-repeat center; background-size:contain; position:absolute; top:16px; }
	#gnav #drowerWrap .btn-nav:after{ display:none;}
	#gnav #drowerWrap .btn-nav ul{ margin:0 20px; border:1px solid #fff; position:relative; width:auto;}
	#gnav #drowerWrap .btn-nav ul:after{ content:""; width:100%; height:1px; position:absolute; left:0; top:50%; background:#FFF; }
	#gnav #drowerWrap .btn-nav ul li:first-child{ display:none;}
	#gnav #drowerWrap .btn-nav ul li:nth-child(n+2):before{ display:none;}
	#gnav #drowerWrap .btn-nav ul:after{ content:""; width:100%; height:1px; position:absolute; left:0; top:50%; background:#FFF; }
	
	#gnav #drowerWrap .btn-nav ul li{ width:33.333%; border-left:none; border-right:none; }
	#gnav #drowerWrap .btn-nav ul li:nth-child(2),
	#gnav #drowerWrap .btn-nav ul li:nth-child(5){ border-right:1px solid #fff; width:33.333%; width : calc(33.333% - 1px) ;}
	#gnav #drowerWrap .btn-nav ul li:nth-child(4),
	#gnav #drowerWrap .btn-nav ul li:nth-child(7){ border-left:1px solid #fff; width:33.333%; width : calc(33.333% - 1px) ;}
	#gnav #drowerWrap .btn-nav ul li a{ width:100%; display:block; text-align:center; padding:10px 0;}
	#gnav #drowerWrap .btn-nav ul li a svg:first-child{ height:30px; width:auto;}
	#gnav #drowerWrap .btn-nav ul li a svg:last-child{ height:13px; width:auto;}
	
	#gnav #drowerWrap .gnav-subnav li{display:inline-block; margin-bottom:10px; width:46%; margin-right:0; line-height:30px;}
	#gnav #drowerWrap .gnav-subnav li:nth-child(odd) { margin-right:4%;}
	#gnav #drowerWrap .gnav-subnav li a{ line-height:30px;} 
	#gnav #drowerWrap .gnav-subnav li a svg{ height:13px; width:auto;}
	#gnav #drowerWrap .gnav-subnav li:last-child { margin-right:0;}	
}

/* map */
div.map { background-image: url("../img/svg_mapback.svg"); background-size: 6px 6px; background-position: center; }
.map > div > div img { display: none; }
.map > div > div.img { width: 60%; /*width: 600px;*/ height: 300px; height: 94%; background: url(../img/svg_map.svg) no-repeat; position: absolute; left: -105px; bottom: 0; }
.map > div > section { width: calc( 50% - 75px ); float: right; }
.map > div > section a:first-child { float: left; position:relative; z-index:100; }
.map > div > section a:nth-child(2) { float: right;  position:relative; z-index:100;}

/* home */
#top-topic li { width: 100%; }
#top-topic li a { width: calc(100% - 50px); }
#top-topic section.w-twocolumn:first-child { float: left; }
#top-blog { float: right; }

/* horitsu index */
.horitsu-index > div:nth-child(1) { margin: 0 auto; }
.horitsu-index > div:nth-child(2) > div { float: left; }
.horitsu-index > div:nth-child(2) > div:nth-of-type(3n+2) { margin: 0 26px; } 
.horitsu-index > div:nth-child(2) > div { background-image: url("../img/svg_mapback.svg"); background-size: 6px 6px; background-position: center; }
.horitsu-index > div:nth-child(2) > div:nth-of-type(n+4) { margin-top: 25px; }
.horitsu-index > div:nth-child(2) a { position: relative; z-index: 0; }
.horitsu-index > div .w-threecolumn { text-align: center; }
.horitsu-index > div .w-threecolumn > section > div { text-align: left; }
.horitsu-index > div .w-threecolumn > a { display: inline-block; }
.horitsu-index > div .w-threecolumn > a .btn { display: block; }
.horitsu-index section.box{ box-sizing:border-box; padding-bottom:100px; position:relative; }
.horitsu-index section.box a{position:absolute;  bottom:30px; left:50%; -webkit-transform: translateX(-50%); /* Safari用 */ -ms-transform: translateX(-50%); transform: translateX(-50%);}


/* horitsu entry */
section.horitsu-entry { text-align: center; }
.horitsu-entry ul li { line-height: 1.65em; text-indent: -1em; padding-left: 2em; }
.horitsu-entry ul li:before { content: "・"; }
.horitsu-entry ol { counter-reset: my-counter; }
.horitsu-entry ol li { line-height: 1.65em; padding-left: 2.5em; }
.horitsu-entry ol li:before {
	content: counter(my-counter);
    counter-increment: my-counter;
    background-color: #fff;
    display: block;
    float: left;
	line-height: 1.6em;
    margin-left: -1.8em;
    text-align: center;
    height: 16px;
    width: 16px;
    position: relative;
    top: 3px;
    left: -0.3em;
    border-radius: 50%;
    border: solid 1px #109954;
    font-size: 0.7em;
}
.horitsu-entry > section { text-align: left; }
.horitsu-entry > section > div:first-of-type div img { margin-top: 17px; }
.horitsu-entry > section > div:last-of-type { display: inline-block; }
.horitsu-entry > section > div:nth-of-type(2) { margin-top: 25px; margin-bottom: 30px; }
.horitsu-entry > section > div:nth-of-type(2) h2 { margin: 10px 0; line-height: 1.65em; }
.horitsu-entry > section > div:nth-of-type(2) img { padding: 10px 0; }
.horitsu-entry > section > div:nth-of-type(2) img:first-of-type { padding: 10px 10px 10px 0; }
.horitsu-entry > section > div:nth-of-type(2) img + p { margin-top: 0; }
.horitsu-entry > a .back-archive img { height: 16px; }
.horitsu-entry > a .back-archive img.hover { display: none; }
@media screen and (min-width: 1101px){
.horitsu-entry > a .back-archive:hover img { display: none; }
.horitsu-entry > a .back-archive:hover img.hover { display: inline-block; }
}
.horitsu-entry > a p { text-indent: 0; }

/* service */
dl > * { border-top: 1px solid #E8D0BC; padding: 20px 25px; }
dt { width: 25%; padding: 20px 0 0 25px; float: left; box-sizing: border-box; padding-right: 0; }
dd { width: 75%; float: left; box-sizing: border-box; }
dt:last-of-type, dd:last-of-type { border-bottom: 1px solid #E8D0BC; }

/* about */
.about iframe { width: 100%; height: 600px; max-width: 800px; }
.about dt { width: 25%; position: relative; box-sizing:border-box; }
.about dd { width: 75%; padding: 0 25px; box-sizing:border-box;}
.about dd > * { width: calc(100% - 25px); padding: 20px 25px; }
.about dd:nth-of-type(2) > div > * { float: left; }
.about dd:nth-of-type(4) > div:first-child { width: calc(28% - 25px); padding: 20px 0 0 25px; float: left; }
.about dd:nth-of-type(4) > div:last-child { width: calc(72% - 25px); padding: 20px 0 0 25px; float: right; }
.about dl.profile > * { border: none; padding: 20px 0 25px 0; }
.about dl.profile dt { width: 25%; padding: 10px 0 0 0; float: left; }
.about dl.profile dd { width: 75%; line-height: 1.2em; padding: 10px 0 10px 25px; float: left; }
.about dl.profile dd:last-of-type p:nth-of-type(1) { position: absolute; top: 8px; }
.about dl.profile dd:last-of-type p:nth-of-type(2) { margin-top: 20px; }
.about img.noscript { position: relative; top: 5px; left: -5px; }
.about p.no-indent { text-indent: 0; line-height: 1.2em; }

/* topic news */
.topic main > section ul:nth-of-type(1) li, .news main > section ul:nth-of-type(1) li { width: 100%; }
.topic main > section ul:nth-of-type(1) li:last-child, .news main > section ul:nth-of-type(1) li:last-child { border-bottom: 1px solid #E8D0BC; }
.topic main > section ul:nth-of-type(1) li a, .news main > section ul:nth-of-type(1) li a { width: calc(100% - 50px); }
.topic main > section ul:nth-of-type(1) li a section, .news main > section ul:nth-of-type(1) li a section { margin-bottom: 10px; }
.topic main > section ul:nth-of-type(1) li a div.btn, .news main > section ul:nth-of-type(1) li a div.btn { margin: 20px auto 0; }
.topic main > section ul:nth-of-type(2), .news main > section ul:nth-of-type(2) { text-align: center; }
.topic main > section ul:nth-of-type(2) li, .news main > section ul:nth-of-type(2) li { display: inline-block; }
.subNav-start { width: 200px; background-image: url("../img/svg_mapback2.svg"); background-size: 6px 6px; position: absolute; right: 0; top: 300px; }
.subNav { background-image: url("../img/svg_mapback2.svg"); background-size: 6px 6px; position: fixed; top: 0; z-index: 1; }

.topic-entry main > section, .news-entry main > section { text-align: center; }
.topic-entry main > section ul li, .news-entry main > section ul li { line-height: 1.65em; text-indent: -1em; padding-left: 2em; }
.topic-entry main > section ul li:before, .news-entry main > section ul li:before { content: "・"; }
.topic-entry main > section ol li, .news-entry main > section ul li { line-height: 1.65em; padding-left: 2.5em; }
.topic-entry main > section ol li:before, .news-entry main > section ul li:before {
	content: counter(my-counter);
    counter-increment: my-counter;
    background-color: #fff;
    display: block;
    float: left;
	line-height: 1.6em;
    margin-left: -1.8em;
    text-align: center;
    height: 16px;
    width: 16px;
    position: relative;
    top: 3px;
    left: -0.3em;
    border-radius: 50%;
    border: solid 1px #109954;
    font-size: 0.7em;
}
.topic-entry main > section > section, .news-entry main > section > section { text-align: left; }
.topic-entry main > section > section img, .news-entry main > section > section img { padding: 10px 0; }
.topic-entry main > section > section img + p, .news-entry main > section > section img + p { margin-top: 0; }

/* footer */
footer > section > div > div { float: left; text-align: left; }
footer > section > div > address { float: right; text-align: center; }
footer ul li:first-child svg:first-child { position: absolute; left: 16px; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
footer ul li:first-child svg:nth-child(2) { margin-top: 15px; }
footer ul li:last-of-type div:first-child { float: left; }
footer ul li:last-of-type div:nth-child(2) { float: right; }
footer li.btn-white-sp { display: none; }
footer br.tb { display: none; }

@media screen and (max-width: 1100px){
	section.about, .topic main > section, .topic-entry main > section, section.service, .news main > section, .news-entry main > section, section.horitsu-index, section.horitsu-entry { padding-top: 180px; padding-bottom: 75px; }
	/*.topic main > section, .topic-entry main > section,*/ .news main > section, .news-entry main > section { padding-top: 160px; padding-bottom: 0; }
	main > *:not(.map), .map > div, footer > p, footer > section > div { max-width: 800px; margin: 0 auto; }
	h2 svg.w100 { width: 60%; min-width: 360px; }

	/* header */
	nav > div > ul:first-child, nav > div > ul:nth-child(2) li:first-child, .globalNav { display: none; }

	/* map */
	.map > div > * { display: block; }
	.map > div > div img { display: block; }
	.map > div > div.img { width: 80%; background: none; position: relative; left: -50px; margin: 0 auto; z-index:0; }
	.map > div > section { width: calc( 100% - 50px ); position:relative; z-index:1;}
	.map > div > section > div a { width: calc(50% - 5px); }

	/* home */
	#top-topic section.w-twocolumn:first-child { float: none; }
	#top-topic section.w-twocolumn:first-child li:first-child a, #top-topic section.w-twocolumn:first-child li:nth-child(2) a { height: auto; }
	#top-topic section span.btn-brown { margin-top: 0; }
	#top-topic .padding-exception1 { padding-bottom: 25px; }
	#top-blog { float: none; }
	#top-blog li a span { width: 20%; position: relative; top: 4px; float: left; }
	#top-blog li a h3 { width: calc(80% - 10px); float: right;}

	/* horitsu index */
	.horitsu-index > div:nth-child(1) { width: 100%; }
	.horitsu-index > div:nth-child(2) { background-image: url("../img/svg_mapback.svg"); background-size: 6px 6px; }
	.horitsu-index > div:nth-child(2) > div { float: none; display: inline-block; } 
	.horitsu-index > div:nth-child(2) > div h2 { height: auto; }
	.horitsu-index > div:nth-child(2) > div:nth-of-type(3n+2) { margin: 0; } 
	.horitsu-index > div:nth-child(2) > div:nth-of-type(n+4) { margin-top: 0; }
	.horitsu-index > div:nth-child(2) > div:nth-child(n+1) > section { margin-bottom: 0; }
	.horitsu-index > div:nth-child(2) > div:last-child > section { margin-bottom: 10px; }
	.horitsu-index > div:nth-child(2) > div > section > div { width: 100%; }
	
	/* horitsu entry */
	section.horitsu-entry > section > div:first-child div {display: inline-block; float: left; position:relative; overflow:hidden; }
	.horitsu-entry h1 { width: calc(100% - 126px); margin-left: 20px; display: inline-block; }

	/* service */
	section.service { position: relative; }
	.service dl { margin-top: 0; }
	dl > * { border-top: none; border-bottom: 1px solid #E8D0BC; }
	dt { width: 100%; float: none; margin-top: 30px; padding: 20px 25px 10px 25px; }
	dt h2, .about h2 { position: relative; left: -12px; }
	dd { width: 100%; float: none; }
	
	/* about */
	.about dl { margin-top: 0; }
	.about dt { width: 100%; }
	.about dd { width: 100%; padding: 0; }
	.about dd > * { width: calc(100% - 50px); padding: 20px 25px; }
	.about dd:nth-of-type(2) > div > a { width: 100%; }
	.about dd:nth-of-type(4) > div:first-child { width: 0; padding: 0; }
	.about dd:nth-of-type(4) > div:last-child { width: calc(100% - 50px); padding: 20px 25px 0 25px; }
	.about dl.profile { margin-top: 15px; }
	.about dl.profile > * { padding: 20px 0; }
	.about dl.profile dt { width: 100%; font-size: 13px; font-weight: bold; padding: 10px 0 0 0; float: none; margin:0; }
	.about dl.profile dd { width: 100%; padding: 10px 0; float: none; }
	.about dl.profile dd:last-of-type { margin-bottom: 0; }
	.about dl.profile dd:last-of-type p:nth-of-type(1) { width: 100%; position: relative; top: 0; }
	.about dl.profile dd:last-of-type p:nth-of-type(2) { width: 100%; margin-top: 10px; }

	/* topic news */
	.topic main > section ul:nth-of-type(1) li a section, .news main > section ul:nth-of-type(1) li a section { margin-bottom: 0; }
	/*.topic main section .btn, .news main section .btn { display: none; }*/
	.subNav-start, .subNav { width: calc(100% - 130px); max-width: 770px!important; background-image: url(../img/svg_mapback.svg);
    background-size: 6px 6px; position: relative; top: 0; padding: 10px 20px 10px 10px; margin-top: 50px!important; margin-bottom: 75px!important; }
	.subNav-start > section { padding: 20px; }
	.subNav-start > section h2 svg { height: 26px; }
	.subNav-start > section span { font-size: 1rem; }
	.subNav-start > section li a { float: none; margin-right: 15px; }

	.topic-entry main > section a, .topic-entry main > section .btn, .news-entry main > section a,  .news-entry main > section .btn { width: 100%; }
	
	/* footer */
	footer > section > div { width: 60%; display: block; }
	footer > section > div > div { float: none; text-align: center; }
	footer > section > div > address { float: none; }
	footer li.btn-white-sp { display: inline-block; }
	footer li.btn-white-sp svg { position: absolute; left: 16px; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
	footer li:last-of-type div:first-child { display: none; }
	footer li:last-of-type div:nth-child(2) { float: none!important; }
	footer p:nth-of-type(1) { margin-bottom: 20px; }
	footer br.pc { display: none; }
	footer br.tb { display: inline; }
}
@media screen and (max-width: 730px){
	.map > div > div.img { left: -35px; }
	.map > div > section p { margin-top: 0; }
}

@media screen and (max-width: 600px){
	section.about, .topic main > section, .topic-entry main > section, section.service, .news main > section, .news-entry main > section, section.horitsu-index, section.horitsu-entry { padding-top: 158px; padding-bottom: 50px; }
	/*.topic main > section, .topic-entry main > section, */.news main > section, .news-entry main > section { padding-top: 158px; padding-bottom: 0; }
	main > *:not(.map), .map > div, footer > p, footer > section > div { max-width: 520px; margin: 0 auto; }
	.btn svg { height: 14px; margin-top:13px; }
	h2 svg.w100 { width: 100%; min-width: 0; max-width: 400px; }
	h2 svg:not(.w100) { height: 21px; }
	
	/* home */
	#top-topic li a { width: calc(100% - 40px); padding: 20px 20px 15px 20px; }
	#top-topic li a.padding-exception1 { padding-bottom: 15px; }
	#top-topic > section, #top-topic section.top-blog { margin-top: 30px; }
	#top-topic > section ul { margin-top: 10px; }
	#top-blog li a > * { display: block; }
	#top-blog li a span { width: auto; position: relative; top: 0; float: none; }
	#top-blog li a h3 { width: auto; margin: 5px 0 0 0; float: none;}

	/* map */
	.map > div > section{ width: auto; padding: 10px 20px 20px 20px; }
	.map > div > div.img { left: -35px; }
	.map > div > section > div a { width: 100%; }
	.map > div > section > div a > div { margin: 0 0 10px 0; }
	.map > div > section > div a:last-child > div{ margin-bottom:0;}

	
	/* horitsu index */
	.horitsu-index h1 img { height: 70px; width: auto; }
	.horitsu-entry ul li { text-indent: -1em; padding-left: 1em; }
	.horitsu-entry ol li { padding-left: 1.5em; }

	.horitsu-index div.w-threecolumn > section { padding: 15px; }
	.horitsu-index > div:nth-child(2) > div a { margin: 0 0 10px 0; }
	.horitsu-index section.box a{position: relative; bottom: 0; left: 0; -webkit-transform: none; /* Safari用 */ -ms-transform: none; transform: none; }

	/* horitsu-entry */
	.horitsu-entry > section > div:first-child > div img { height: 40px; width: auto; margin-top: 15px; }
	.horitsu-entry h1 { width: calc(100% - 96px); font-size: 21px; margin-left: 10px; }
	.horitsu-entry > a, section.horitsu-entry > a div.btn { width: 100%; }
	.horitsu-entry > a .back-archive img { height: 14px; }

	/* service */
	dl > * { padding: 20px 20px 10px 20px; }
	dt { width: 100%; margin-top: 30px; }
	dd { width: 100%; }

	/* about */
	.about iframe { width: 100%; height: 300px; max-width: 600px; }
	.about dt { width: 100%; }
	.about dd > * { width: calc(100% - 40px); padding: 20px; }

	/* topic news */
	.topic main > section ul:nth-of-type(1) li a, .news main > section ul:nth-of-type(1) li a, .topic-entry main > section > section, .news-entry main > section > section { width: calc(100% - 40px); padding: 20px 20px 15px 20px; }
	.topic-entry main > section ul li, .news-entry main > section ul li { text-indent: -1em; padding-left: 1em; }
	.topic-entry main > section ol li, .news-entry main > section ul li { padding-left: 1.5em; }
	.subNav-start, .subNav { width: calc(100% - 70px); margin-top: 20px!important; margin-bottom: 50px!important; }

	/* footer */
	footer > section > div { width: calc(100% - 40px); }
	footer p:nth-of-type(1){ text-align: left; }
	footer p small{ font-size:0.7rem; display: block; text-align:center; }
	footer address.w-twocolumn ul a{ font-size:0.8rem; display: block; }
}
@media screen and (max-width: 480px){
	#top-topic h2 { text-align: left; }
	.map > div > div.img img[src$=".svg"] { width: 150%; height: 100%; }
	.about dd:nth-of-type(2) > div > div { float: none; display: block; margin-left: 0; }
	.about dd:nth-of-type(2) > div:nth-child(2) a, .about dd:nth-of-type(2) > div:nth-child(2) .btn { width: 100%; }
	.about dd:nth-of-type(2) > div:nth-child(2) .btn { display: block; }

}