@charset "utf-8";
#main-title { display: none }
#content #mainVisual { display: block; margin: 0 auto 0; width: 100%; height: 673px; position: relative }
#content #mainVisual .mainVisual__inner { height: 673px; margin: 0 7% 0 auto; padding: 142px 0 0 0; width: 100%; position: relative; box-sizing: border-box; background: url(../images/top/top_mainvisual_bg01.png) no-repeat left top / 100%; }
#mainVisual .mainVisual__inner .block { margin: 0 auto; width: 1000px; position: absolute; left: 23%; }
#mainVisual .mainVisual__inner .ttl { margin-bottom: 40px; color: #000; font-size: 58px; font-family: a-otf-ryumin-pr6n, serif; font-style: normal; line-height: 1.6; letter-spacing: 0.14em; }
#mainVisual .mainVisual__inner .ttl span { color: #ff4b4c; }
#mainVisual .mainVisual__inner .txt { font-size: 18px; line-height: 2.2; letter-spacing: 0.1em; }
#hananoya_bnr .pc { margin: 0 auto; width: 1040px; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
@media (max-width:768px) {
	#content #mainVisual { display: block; width: 100%; height: auto; margin-bottom: 0; }
	#content #mainVisual img { width: 100% }
	#hananoya_bnr .sp { margin: 0 auto; width: 95%; }
}
#content #hananoya { margin: 0 auto; padding: 100px 0; width: 100%; text-align: center }
#content #hananoya h2 { margin: 0 auto 70px; }
#content #hananoya ul { margin: 0 auto; width: 1040px; border-left: 1px solid #EAEAEA; border-top: 1px solid #EAEAEA }
#content #hananoya ul li { float: left; padding: 230px 0 44px 0; width: 519px; font-size: 14px; text-align: center; border-right: 1px solid #EAEAEA; border-bottom: 1px solid #EAEAEA; cursor: pointer }
#content #hananoya ul li.box:hover { background: #F8F8F8 }
#content #hananoya ul li#box-pic01 { background-image: url(../images/top/bg_hananoya01.png); background-repeat: no-repeat; background-position: center 30px }
#content #hananoya ul li#box-pic02 { background-image: url(../images/top/bg_hananoya02.png) }
#content #hananoya ul li#box-pic03 { background-image: url(../images/top/bg_hananoya03.png) }
#content #hananoya ul li#box-pic04 { background-image: url(../images/top/bg_hananoya04.png) }
#content #hananoya ul li#box-pic01, #content #hananoya ul li#box-pic02, #content #hananoya ul li#box-pic03, #content #hananoya ul li#box-pic04 { background-repeat: no-repeat; background-position: center 30px }
#content #hananoya ul li .copy-hananoya { margin: 0 auto; height: 56px; font-size: 22px; font-weight: 700; letter-spacing: 0.22em; text-align: center }
#content #hananoya ul li .text-hananoya { margin-bottom: 15px; padding: 20px 0 0 0; height: 83px; line-height: 180% }
#content #hananoya ul li .btn-hananoya { margin: 0 auto; width: 224px; text-align: center; border: 1px solid #ff4b4c; border-radius: 5px }
#content #hananoya ul li .btn-hananoya a { display: block; padding: 13px 0 }
#content #hananoya ul li .btn-hananoya a:hover { background: #ff4b4c; color: #FFFFFF }
#content #hananoya ul li .btn-hananoya a span { display: inline-block }
@media (max-width:768px) {
	#content #hananoya { padding: 23px 5.625%; box-sizing: border-box }
	#content #hananoya .btn-hananoya { margin: 0 auto; width: 100%; text-align: center; border: 1px solid #FF4B4C; border-radius: 5px; box-sizing: border-box }
	#content #hananoya .btn-hananoya a { display: block; padding: 15px 0; color: #FF4B4C; font-size: 17px }
	#content #hananoya .btn-hananoya a:hover { background: #FF4B4C; color: #FFFFFF; text-decoration: none }
	#content #hananoya .btn-hananoya a span { display: inline-block }
}
#content #service { background-image: url(../images/top/bg_service.png); background-repeat: repeat; margin: 0 auto; padding: 100px 0 80px; width: 100%; text-align: center }
#content #service h2 { margin: 0 auto 70px; }
#content #service ul { margin: 0 auto; width: 1100px; letter-spacing: -.40em; text-align: center }
#content #service ul li { background: #FFFFFF; display: inline-block; margin: 0 10px 20px; padding: 0; letter-spacing: normal; width: 333px; cursor: pointer; position: relative }
#content #service ul li a:hover img { opacity: 1.0; filter: alpha(opacity=100); -moz-opacity: 1.0 }
#content #service ul li.box p { overflow: hidden; line-height: 0 }
#content #service ul li.box p img { -webkit-transition: 0.7s; -moz-transition: 0.7s; -o-transition: 0.7s; transition: 0.7s }
#content #service ul li.box:hover p img { transform: scale(1.2) }
#content #service ul li.box p.cover_image { position: absolute; left: 0; top: 0; z-index: 10; opacity: 0; background: rgba(255, 75, 76, 0); filter: alpha(opacity=0); -moz-opacity: 0; -webkit-transition: 0.7s; -moz-transition: 0.7s; -o-transition: 0.7s; transition: 0.7s }
#content #service ul li.box:hover p.cover_image { background: rgba(255, 75, 76, 0.6); opacity: 1; filter: alpha(opacity=100); -moz-opacity: 1 }
#content #service ul li.box p.cover_image img { transform: scale(0.7) }
#content #service ul li.box:hover p.cover_image img { transform: scale(1) }
#content #service ul li a { color: #181818 }
#content #service ul li a:hover { text-decoration: none }
#content #service ul li span { display: block }
#content #service ul li span { -webkit-transition: 0.7s; -moz-transition: 0.7s; -o-transition: 0.7s; transition: 0.7s; background: url(../images/top/ico_service.png) no-repeat right bottom #fff; padding: 15px 0; font-size: 17px; font-weight: 700 }
#content #service ul li span.icon { display: none }
#content #service ul li.box:hover { }
#content #service ul li.box:hover span { background-image: url(none); background-color: #ffdbdb }
@media (max-width:768px) {
	#content #service { padding: 55px 0; background-size: 50% }
	#content #service h2 { margin: 0 auto 30px; }
	#content #service ul { margin: 0 auto; width: 100% }
	#content #service ul li { background: rgba(255, 255, 255, 0.5); float: left; margin: 0; padding: 0; width: 50% }
	#content #service ul li a { display: block; padding: 25px 0 25px 7%; text-align: left }
	#content #service ul li:nth-child(2n+1) { border-right: 1px solid #EFEFEE; box-sizing: border-box }
	#content #service ul li:nth-child(1), #content #service ul li:nth-child(2), #content #service ul li:nth-child(3), #content #service ul li:nth-child(4) { border-bottom: 1px solid #EFEFEE }
	#content #service ul li#service01, #content #service ul li#service02, #content #service ul li#service03, #content #service ul li#service04, #content #service ul li#service05, #content #service ul li#service06 { background-image: url(none) }
	#content #service ul li#service01 p, #content #service ul li#service02 p, #content #service ul li#service03 p, #content #service ul li#service04 p, #content #service ul li#service05 p, #content #service ul li#service06 p { display: none }
	#content #service ul li#service01.box:hover, #content #service ul li#service02.box:hover, #content #service ul li#service03.box:hover, #content #service ul li#service04.box:hover, #content #service ul li#service05.box:hover, #content #service ul li#service06.box:hover { background-image: url(none) }
	#content #service ul li span { background: none; font-size: 14px; display: inline }
	#content #service ul li.box:hover span { background-image: url(none) }
	#content #service ul li span.icon { display: inline }
}
#content #works { margin: 0 auto; padding: 100px 0 80px; width: 100%; text-align: center }
#content #works h2 { margin: 0 auto 70px; }
#content #works ul { margin: 0 auto 50px; width: 96%; max-width: 1540px; letter-spacing: -.40em; text-align: center }
#content #works ul li { display: inline-block; box-sizing: border-box; margin: 0 0 40px; padding: 0 1% 40px; letter-spacing: normal; width: 25%; vertical-align: top }
#content #works ul li span { display: block; text-align: left }
#content #works ul li span a { background: #ff4b4c; display: inline-block; width: 100%; height: 173px; overflow: hidden; }
#content #works ul li span a img { vertical-align: bottom;	/* border: 1px solid #EAEAEA; */ width: 100%; object-fit: cover; object-position: top; height: 100%; }
#content #works ul li span.title { padding: 15px 0 10px 0; font-size: 14px; line-height: 1.6; border-bottom: 1px solid #D6D6D6; }
#content #works ul li span.category { color: #a4a4a4; font-size: 13px; font-family: 'Libre Baskerville', serif; font-style: italic; margin: 6px 0 0 0; }
#content #works .btn-all-case { margin: 0 auto; width: 224px; text-align: center; border: 1px solid #181818; border-radius: 5px }
#content #works .btn-all-case a { display: block; padding: 15px 0; color: #181818 }
#content #works .btn-all-case a:hover { background: #181818; color: #FFFFFF; text-decoration: none }
#content #works .btn-all-case a span { display: inline-block }
@media (max-width:768px) {
	#content #works { padding: 50px 0 40px; box-sizing: border-box }
	#content #works img { width: 100% }
	#content #works h2 { margin: 0 auto 30px; }
	#content #works ul { width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; }
	#content #works ul li { margin: 0 0 18px; width: 48%; border-bottom: 0 }
	#content #works ul li span a { height: 28vw; overflow: hidden; }
	#content #works ul li span.title { padding: 13px 0 8px 0; font-size: 13px }
	#content #works ul li span.category { font-size: 10px }
}
#content #topics { background: #F8F8F8; margin: 0 auto; padding: 100px 0; width: 100%; text-align: center }
#content #topics .topics-inner { margin: 0 auto; width: 1040px }
#content #topics .topics-inner .btn-list { margin: 0 auto; width: 224px; text-align: center; border: 1px solid #181818; border-radius: 5px }
#content #topics .topics-inner .btn-list a { display: block; padding: 15px 0; color: #181818; font-size: 14px }
#content #topics .topics-inner .btn-list a:hover { background: #181818; color: #FFFFFF; text-decoration: none }
#content #topics .topics-inner .btn-list a span { display: inline-block }
@media (max-width:768px) {
	#content #topics { padding: 0 }
	#content #topics .topics-inner { width: 100% }
	#content #topics .topics-inner .btn-list { width: 47.5% }
	#content #topics .topics-inner .btn-list a { padding: 10px 0; font-size: 11px }
}
#content #topics .topics-inner #blog { float: left; width: 495px; padding-bottom: 0 }
#content #topics .topics-inner #blog h2, #content #topics .topics-inner #news h2 { position: relative; margin-bottom: 40px; color: #191919; font-size: 44px; letter-spacing: 0.04em; }
#content #topics .topics-inner #blog h2:after, #content #topics .topics-inner #news h2:after { content: ''; position: absolute; bottom: 4px; left: 26%; width: 240px; height: 1px; border-bottom: 1px solid #000; }
#content #topics .topics-inner #blog h2 span, #content #topics .topics-inner #news h2 span { padding-left: 30px; color: #000; font-size: 20px; letter-spacing: 0.28em; }
#content #topics .topics-inner #blog dl { background: #ffffff; margin-bottom: 20px; height: 160px; position: relative }
#content #topics .topics-inner #blog dl.last { margin-bottom: 50px }
#content #topics .topics-inner #blog dt { float: left; width: 235px }
#content #topics .topics-inner #blog dd { float: right; padding: 15px 15px 0; width: 230px; height: 145px; line-height: 1.4 }
#content #topics .topics-inner #blog dd span { display: block; text-align: left }
#content #topics .topics-inner #blog dd span.icon { display: inline-block }
#content #topics .topics-inner #blog dd span.date { margin-bottom: 10px; color: #191919; font-family: 'Libre Baskerville', serif }
#content #topics .topics-inner #blog dd span.cate { margin-bottom: 10px; color: #ff4b4c }
#content #topics .topics-inner #blog dd span.title { }
#content #topics .topics-inner #blog dd span.title a { color: #191919; font-size: 15px; font-weight: 700; line-height: 140% }
#content #topics .topics-inner #blog dd span.writer { color: #848484; font-size: 14px; text-align: right; position: absolute; right: 15px; bottom: 15px }
#content #topics .topics-inner #blog dd.hover_img { padding: 0; width: 495px; height: 160px; position: absolute; left: 0; top: 0 }
#content #topics .topics-inner #blog dd.hover_img a img { opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; -webkit-transition: 0.7s; -moz-transition: 0.7s; -o-transition: 0.7s; transition: 0.7s; opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0 }
#content #topics .topics-inner #blog dd.hover_img a:hover img { opacity: 1.0; filter: alpha(opacity=100); -moz-opacity: 1.0 }
#content #topics .topics-inner #blog dd span.title span.icon { display: none }
@media (max-width:768px) {
	#content #topics .topics-inner #blog { float: none; padding: 50px 0 35px; width: 100%; border-bottom: 1px solid #E6E6E6 }
	#content #topics .topics-inner #blog img { width: 100%; vertical-align: top }
	#content #topics .topics-inner #blog h2, #content #topics .topics-inner #news h2 { margin: 0 auto 30px; font-size: 6.875vw; }
	#content #topics .topics-inner #blog h2:after, #content #topics .topics-inner #news h2:after { bottom: 4px; left: 31%; width: 37.5vw; height: 1px; border-bottom: 1px solid #000; }
	#content #topics .topics-inner #blog h2 span, #content #topics .topics-inner #news h2 span { padding-left: 3vw; font-size: 3.5vw; }
	#content #topics .topics-inner #blog dl { margin-bottom: 10px; padding: 12px 3.125%; height: auto }
	#content #topics .topics-inner #blog dl.last { margin-bottom: 25px }
	#content #topics .topics-inner #blog dt { width: 37.333% }
	#content #topics .topics-inner #blog dd { padding: 0; width: 58.333%; height: auto; line-height: inherit }
	#content #topics .topics-inner #blog dd span.date { margin-bottom: 0; font-size: 10px }
	#content #topics .topics-inner #blog dd span.cate { margin-bottom: 2px; font-size: 10px }
	#content #topics .topics-inner #blog dd span.title { }
	#content #topics .topics-inner #blog dd span.title a { font-size: 13px }
	#content #topics .topics-inner #blog dd span.writer { display: none }
}
#content #topics .topics-inner #news { float: right; margin-top: -18px; width: 495px; font-size: 14px }
#content #topics .topics-inner #news h2 { }
#content #topics .topics-inner #news h2:after { bottom: 6px; }
#content #topics .topics-inner #news dl { background: #ffffff; margin-bottom: 20px; height: 160px; position: relative }
#content #topics .topics-inner #news dl.last { margin-bottom: 50px }
#content #topics .topics-inner #news dt { padding: 30px; text-align: left; }
#content #topics .topics-inner #news dd { }
#content #topics .topics-inner #news dd span { display: block; text-align: left }
#content #topics .topics-inner #news dd span.icon { display: inline-block }
#content #topics .topics-inner #news dd span.date { margin-bottom: 10px; color: #191919; font-family: 'Libre Baskerville', serif }
#content #topics .topics-inner #news dd span.cate { margin-bottom: 10px; color: #ff4b4c }
#content #topics .topics-inner #news dd span.title { }
#content #topics .topics-inner #news dd span.title a { color: #191919; font-size: 15px; font-weight: 700; line-height: 140% }
#content #topics .topics-inner #news dd span.writer { color: #848484; font-size: 14px; text-align: right; position: absolute; right: 15px; bottom: 15px }
#content #topics .topics-inner #news dd.hover_img { padding: 0; width: 495px; height: 160px; position: absolute; left: 0; top: 0 }
#content #topics .topics-inner #news dd.hover_img a img { opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; -webkit-transition: 0.7s; -moz-transition: 0.7s; -o-transition: 0.7s; transition: 0.7s }
#content #topics .topics-inner #news dd.hover_img a:hover img { opacity: 1.0; filter: alpha(opacity=100); -moz-opacity: 1.0 }
#content #topics .topics-inner #news dd span.title { margin-left: 30px; }
#content #topics .topics-inner #news dd span.title span.icon { color: #ff4b4c; }
@media (max-width:768px) {
	#content #topics .topics-inner #news h2:after { bottom: 0; }
	#content #topics .topics-inner #news { float: none; padding: 34px 0 50px; width: 100%; border-bottom: 1px solid #E6E6E6 }
	#content #topics .topics-inner #news h2 { }
	#content #topics .topics-inner #news dl { background: none; margin-bottom: 10px; padding: 12px 3.125%; height: auto; border-bottom: 1px solid #FFFFFF }
	#content #topics .topics-inner #news dl.last { margin-bottom: 25px; border-bottom: 0 }
	#content #topics .topics-inner #news dt { padding: 0; color: #848484; font-size: 2.604vw; }
	#content #topics .topics-inner #news dd { padding: 0; width: 100%; height: auto }
	#content #topics .topics-inner #news dd span.date { margin-bottom: 0; font-size: 10px; color: #848484 }
	#content #topics .topics-inner #news dd span.cate { display: none }
	#content #topics .topics-inner #news dd span.title { }
	#content #topics .topics-inner #news dd span.title a { font-size: 13px; text-decoration: underline }
	#content #topics .topics-inner #news dd span.title { margin-left: 0; }
	#content #topics .topics-inner #news dd span.title span.icon { display: inline-block; margin-right: 5px; font-size: 11px; padding: 0 }
	#content #topics .topics-inner #news dd span.writer { display: none }
}
#content #message { margin: 0 auto; padding: 100px 0; width: 1040px }
#content #message .message-pic { float: right; padding: 62px 0 0 0; width: 218px }
#content #message .message-text { float: left; width: 760px; line-height: 220% }
#content #message .message-text p { font-size: 14px }
#content #message p.message-text__copy { font-size: 26px; letter-spacing: 0.1em; margin-bottom: 20px; line-height: 1.6; }
#content #service_txt { margin: 0 auto 100px; padding: 15px; width: 1040px; font-size: 11px; overflow: hidden; border: 1px solid #eaeaea; background: #f8f8f8; }
#content #service_txt p { margin-bottom: 10px }
#content #service_txt div { width: 510px }
@media (max-width:768px) {
	#content #message { padding: 50px 3.125% 40px; width: 100%; box-sizing: border-box }
	#content #message img { width: 100% }
	#content #message .message-pic { float: none; margin: 0 auto 25px; padding: 0; width: 44.333% }
	#content #message .message-text { float: none; width: 100%; line-height: 220% }
	#content #message .message-text p { font-size: 12px; line-height: 2.2 }
	#content #message p.message-text__copy { font-size: 4vw; }
	#content #service_txt { display: none }
	#content #hananoya ul { margin: 0 auto; width: 100%; border: none; }
	#content #hananoya ul li { float: initial; padding: 0; width: 100%; font-size: 14px; text-align: center; border: 1px solid #eaeaea; cursor: pointer; }
	#content #hananoya ul li#box-pic01, #content #hananoya ul li#box-pic02, #content #hananoya ul li#box-pic03, #content #hananoya ul li#box-pic04 { position: relative; display: table; height: 32.919vw; margin-bottom: 3vw; box-sizing: border-box; padding: 4vw 0 4vw; background-repeat: no-repeat; background-position: left -4vw center; background-size: 50%; }
	#content #hananoya ul li .copy-hananoya { display: table-cell; padding: 0 0 0 37vw; height: auto; font-size: 3.727vw; letter-spacing: 0.18em; text-align: left; vertical-align: middle; }
	#content #hananoya ul li .text-hananoya { display: none; }
	#content #hananoya ul li .btn-hananoya { display: none; }
	#content #hananoya ul li .icon { position: absolute; bottom: 3vw; right: 1vw; color: #ff4b4c; font-size: 26px; }
}
#content #mainVisual .mainVisual__inner { background: url(../images/top/top_mainvisual_bg02.png) no-repeat left top / 100%; }
#mainVisual .mainVisual__inner .block { left: calc(50% - 36vw); }
.consul_amount_block { position: absolute; left: 1130px; width: 596px; height: 15em; bottom: calc(80% - 580px); font-size: 16px; border-radius: 1.5em; background: #fff; box-shadow: 0 0 1em #ccc; overflow: hidden; }
.consul_amount_block .ttl { background: #f4f2f3; text-align: center; font-weight: bold; letter-spacing: 1px; }
.consul_amount_block .ttl .num { color: #ff4b4c; font-weight: bold; font-family: arno-pro-display, serif; font-size: 3rem; }
.consul_amount_block .list { padding: 1em 0 1em 1em; overflow: auto; height: 9.5em; margin-right: 0.5em; font-size: 15px; background: #fff; }
.consul_amount_block .list li { display: flex; height: 2em; overflow: hidden; }
.consul_amount_block .list .date { padding-right: 1.5em; }
.consul_amount_block .list .content { }
@media(max-width:1700px) {
	.consul_amount_block { position: relative; left: calc(50% - 520px); bottom: 40px; width: 1040px; box-sizing: border-box; background: #f4f2f3; }
	.consul_amount_block .list { padding: 1em 0 11em 18em; }
}
@media(max-width:768px) {
	.consul_amount_block { position: relative; left: auto; right: auto; bottom: 10vw; width: 96vw; margin: 0 auto 0; }
	.consul_amount_block .list { padding: 1em 0 11em 1em; font-size: 3.5vw; }
	.consul_amount_block .list li { display: block; margin: 0 0 0.5em 0; padding: 0 0 0.5em 0; height: auto; border-bottom: 1px solid #e6e6e6; }
	.consul_amount_block .list li:last-child { border-bottom: none; }
	.consul_amount_block .list li:last-child { border-bottom: none; }
}
