@charset "utf-8";

/*
  Reset CSS
----------------------------------------------------------------------------------------------------*/

*{ font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: 0.03em; word-wrap: break-word; overflow-wrap: break-word; }
*, *::before, *::after, input, textarea, select, option{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
html{ font-size: 62.5%; }
body{ color: #101010; font-size: 1.6em;  font-weight: 500; line-height: 1.6; -webkit-text-size-adjust: 100%; text-align: center; background: #fff none; }
body{ font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, sans-serif; }
a{ color: #352be1; text-decoration: none; }
a:hover{ color: #df1a1a; }
a, a:hover, input:hover, textarea:hover, select:hover{ transition: all 0.3s; }
img{ border: none; vertical-align: bottom; }
table{ text-align: left; border-spacing: 0px; border-collapse: collapse; }
body, nav, header, footer, main, article, section, div, ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, img, figure, address, iframe, table, tr, th, td, form, input, textarea, select, option, label{ margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6, th, td, p, dl, dt, dd, ul, li, address{ font-style: normal; font-weight: 500; }
p{ color: #101010; font-weight: 500; line-height: 1.6; }
ol, ul{ list-style: none outside none; }
.cf::after{ display: block; content: ""; clear: both; }

.center{ text-align: center !important; }
.left{ text-align: left !important; }
.right{ text-align: right !important; }
.bold{ font-weight: bold !important; }
.red{ color: #ee0000 !important; }
.underline{ text-decoration: underline !important; }
.none{ font-weight: normal !important; border: none !important; box-shadow: none !important; }
.bg-yellow{ background-color: #ffffcc !important; }

@media only screen and ( max-width: 1219px) {
  html{ height: 100%; }
  body{ height: 100%; min-width: 320px; }
  img{  max-width: 100%; height: auto; }
  .center{ text-align: left !important; }
}





/*
  Link Button - リンクボタン設定
----------------------------------------------------------------------------------------------------*/

p.more{ font-size: 1.8rem; }
p.more a{ display: block; width: 468px; margin: 50px auto 0px; padding: 15px 0px 12px; color: #fff; font-weight: 700; text-align: center; border: 2px #007282 solid; border-radius: 5px; background: #007282 }
p.more a:after{ padding-left: 10px; font-family: "Font Awesome 5 Free"; content: '\f101'; color: #fff; font-weight: 900; }
p.more a:hover{ color: #007282; background: #fff; }
p.more a:hover::after{ color: #007282; }

p.more2 a{ color: #007282; background: #fff }
p.more2 a:after{ color: #007282; }
p.more2 a:hover{ color: #fff; background: #007282; }
p.more2 a:hover::after{ color: #fff; }

a.link{ padding: 0px 7.5px; margin: 0px; text-decoration: underline; background: #ffffcc; }
a.link::before{ display: inline-block; padding: 4px 2px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f101'; color: #352be1; font-size: 1.2rem; font-weight: 900; vertical-align: top; }
a.link:hover::before{ color: #df1a1a; }

a.outlink{ display: inline-block; padding: 1.5px 7.5px; margin: 2.5px -7.5px; text-decoration: underline; background: #ffffcc; }
a.outlink::after{ display: inline-block; margin-top: -3px; font-family: "Font Awesome 5 Free"; content: '\f35d'; color: #352be1; font-size: 1.5rem; font-weight: 900; vertical-align: top; text-indent: 5px; }
a.outlink:hover::after{ color: #df1a1a; }

@media only screen and ( min-width: 641px ) and ( max-width: 1219px ){
  a.link::before{ padding: 3px 2px 0px 0px; }
}

@media only screen and ( max-width: 640px ){
  a.link::before{ padding: 1.5px 2px 0px 0px; }
}


ul.more{ display: flex; justify-content: center; margin: 50px auto 0px; text-align: center; }
ul.more li a{ display: block; width: 400px; margin: 0px 15px; padding: 15px 0px 12px; color: #fff; font-size: 1.8rem; font-weight: 700; border: 2px #007282 solid; border-radius: 5px; background: #007282; }
ul.more li a:after{ padding-left: 10px; font-family: "Font Awesome 5 Free"; content: '\f101'; color: #fff; font-weight: 900; }
ul.more li a:hover{ color: #007282; background: #fff; }
ul.more li a:hover:after{ color: #007282; }

ul.more li:last-child a{ color: #fff; border: 2px #f3850c solid; background: #f3850c; }
ul.more li:last-child a:hover{ color: #f3850c; background: #fff; }
ul.more li:last-child a:hover:after{ color: #f3850c; }

@media only screen and ( min-width: 641px ) and ( max-width: 1219px ){
  p.more a{ padding: 12px 0px 10px; }
  ul.more{ margin: 30px 10px 0px; }
  ul.more li{ width: 46%; margin: 0px 1.5%; }
  ul.more li a{ width: 100%; margin: 0px; }
}

@media only screen and ( max-width: 640px ){
  p.more{ font-size: 1.6rem; }
  p.more a{ width: calc( 100% - 40px ); margin: 40px 20px 0px; padding: 10px 0px 8px; }
  ul.more{ flex-direction: column; margin: 20px 20px 0px; }
  ul.more li a{ width: 100%; margin: 10px 0px 0px; padding: 10px 0px 8px; font-size: 1.6rem; }
}





/*
  Header - ヘッダー
----------------------------------------------------------------------------------------------------*/

#header{ position: relative; width: 100%; height: 110px; margin: 0px auto; border-top: 3px #007282 solid; border-bottom: 1px #dfdfdf solid; }

#header .copy{ display: flex; width: 1200px; height: 27px; margin: 0px auto; }
#header .copy h1{ margin: 0px auto 0px 0px; font-size: 1.1rem; font-weight: 700; line-height: 30px; }
#header .copy dl{ display: flex; align-items: center; margin: 8px 0px 0px; }
#header .copy dl dt{ margin: 5px 10px 0px 0px; font-size: 2.2rem; font-family: "Montserrat", sans-serif; }
#header .copy dl dt::before{ display: inline-block; margin: 0px 4px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f098'; color: #6f6f6f; font-size: 2.1rem; font-weight: 900; }
#header .copy dl dt a{ color: #000; letter-spacing: 0em; }
#header .copy dl dd{ padding: 5px 0px 0px; color: #7f7f7f; font-size: 1.1rem; font-weight: 700; vertical-align: bottom; }

#header .in{ display: flex; width: 1200px; margin: 0px auto; }
#header .in p{ margin: 3px auto 0px 10px; }
#header .in p img{ width: auto; height: 60px; margin-right: 20px; }

#header nav ul{ display: flex; align-items: center; }
#header nav ul li{ width: 140px; height: 70px; margin: 12px 5px 0px; font-size: 1.4rem; }
#header nav ul li a{ display: block; padding: 18px 0px; color: #101010; font-weight: 700; }
#header nav ul li a:hover{ color: #007282; }
#header nav ul li a:hover::after{ display: block; content: ""; width: 100%; height: 2px; margin: 10px 0px 0px; background: #007282; }

#header nav ul li.matching{ width: 200px; margin-right: 0; }
#header nav ul li.matching a{ color: #fff; border: 0px; border-radius: 3px; background: #007282; }
#header nav ul li.matching a:hover{ color: #ffff66; background: #f3850c; }
#header nav ul li.matching a:hover::after{ display: none; }

#header nav .menu{ display: none; position: absolute; top: 107px; left: 0px; width: 100%; margin: 0px; padding: 0px; border-bottom: 1px #999 solid; background: #007282; z-index: 1000; }
#header nav .menu ul{ display: flex; flex-wrap: wrap; justify-content: center; width: 1160px; margin: 0px auto; padding: 25px 0px 20px; }
#header nav .menu ul li{ width: auto; height: auto; margin: 0px; }
#header nav .menu ul li a{ padding: 10px 0px 10px 15px; color: #fff; font-size: 1.4rem; }
#header nav .menu ul li a:hover{ color: #ffff66; text-decoration: underline; }
#header nav .menu ul li a::after{ content: "/"; margin-left: 20px; }
#header nav .menu ul li a:hover::after{ display: inline-block; content: "/"; margin: 0px 0px 0px 20px; width: auto; height: auto; color: #fff; }
#header nav .menu ul li:last-of-type a::after{ content: ""; margin: 0px; }
#header nav .menu ul li:last-of-type a:hover::after{ content: ""; }

#header nav .menu-service ul{ width :1100px; }

@media only screen and ( min-width: 641px ) and ( max-width: 1219px  ){
  #header{ height: auto; }
  #header .copy{ display: block; width: auto; height: auto; }
  #header .copy h1{ margin: 12px 0px 0px; color: #3f3f3f; font-size: 1.2rem; line-height: 1; }
  #header .copy dl{ display: none; }

  #header .in{ display: block; width: auto; margin: 0px auto; }
  #header .in p{ margin: 12px 0px 0px; }
  #header .in p img{ height: 70px; margin-right: 20px; }

  #header nav{ margin-top: -5px; }
  #header nav ul{ padding: 5px; }
  #header nav ul li{ width: 16%; height: auto; margin: 0px; }
  #header nav ul li.matching{ width: 20%; }
  #header nav ul li a:hover::after{ display: none; }

  #header nav .menu{ display: none !important; position: static; top: auto; left: auto; width: auto; border: none; }
}

@media only screen and ( max-width: 640px ){
  #header{ position: static; width: auto; height: auto; margin: 0px; padding-bottom: 10px; border-top: 5px #007282 solid; }

  #header .copy{ display: block; width: auto; height: auto; margin: 0px; }
  #header .copy h1{ margin: 8px 0px 0px; font-size: 1.1rem; font-weight: 700; line-height: 1.4; }
  #header .copy dl{ display: none; }

  #header .in{ display: block; width: auto; margin: 5px 0px 0px; }
  #header .in p{ margin: 0px; }
  #header .in p img{ width: auto; height: 70px; margin: 0px; }

  #header nav{ display: none; }
}





/*
  SPmenu - スマホ用モーダルメニュー
----------------------------------------------------------------------------------------------------*/

.sp-nav{ display: none; }
.sp-menu{ display: none; }

@media only screen and (max-width: 640px) {
.sp-nav{ position: fixed; display: block; bottom: 0px; width: 100%; height: 50px; margin: 0px; padding: 0px; background-color: #007282; border-top: 1px #fff solid; overflow: hidden; z-index: 9999; }
.sp-nav ul{ display: flex; }
.sp-nav ul li{ width: calc( 100% / 3 ); padding: 6px 0px; color: #fff; font-size: 1.2rem; font-weight: 700; line-height: 1.3; border-right: 1px #fff dotted; text-align: center; cursor: pointer;}
.sp-nav ul li:first-of-type{ background-color: #dd0201; }
.sp-nav ul li:last-of-type{ background-color: #fd8c15; }

.sp-nav ul li a{ color: #fff; font-size: 1.2rem; font-weight: 700; text-decoration: none; }

.sp-nav ul li::before{ display: block; margin: 0px; font-family: "Font Awesome 5 Free"; content: '\f0c9'; color: #fff; font-size: 17px; font-weight: 900; }
.sp-nav ul li:first-of-type:before{ content: "\f0c0"; }
.sp-nav ul li:last-of-type:before{ display: inline; margin-right: 3px; content: "\f227"; }
.sp-nav ul li:last-of-type a:before{ font-family: "Font Awesome 5 Free"; content: "\f226\a"; font-size: 17px; font-weight: 700; white-space: pre; }

.sp-menu{ margin: 0px; text-align: left; z-index: 1000; }
.sp-menu .close{ position: relative; background-color: #007282; }
.sp-menu .close a{ display: block; margin: 0px; text-decoration: none; cursor: pointer; }
.sp-menu .close p{ margin: 0px; padding: 10px 5px 10px 10px; color: #fff; font-weight: bold; }
.sp-menu .close p span{ position: absolute; top: 6px; right: 5px; }
.sp-menu .close p span a{ display: block; padding: 3px 10px 3px; color: #007282; font-size: 1.0em; border: 1px #dfdfdf solid; border-radius: 5px;  background-color: #fff; }
.sp-menu .close p span a::before{ margin: 0px 3px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f057'; color: #007282; font-size: 14px; font-weight: 900; vertical-align: middle; }

.sp-menu .guide{ margin: 10px 0px; text-align: center; }
.sp-menu .guide-bottom{ margin: 30px 0px 0px; padding: 30px 10px; border-top: 1px #dfdfdf solid; }
.sp-menu .guide p{ margin: 0px; }
.sp-menu .guide p img{ width: 60%; }
.sp-menu .guide dl{ margin: 2px 10px 0px; }
.sp-menu .guide dl dt{ margin: 0px; font-size: 1.3rem; font-weight: 700; }
.sp-menu .guide dl dd{ margin: 10px 0px 0px; }
.sp-menu .guide dl dd ul{ display: flex; flex-wrap: wrap; justify-content: center; }
.sp-menu .guide dl dd ul li{ width: 48%; margin: 0px 1%; }
.sp-menu .guide dl dd ul li:last-child{ display: flex; justify-content: center; align-items: center; width: 100%; margin: 8px 0px 0px; color: #007282; border: 1px #dfdfdf solid; border-radius: 3px; background: #f6f6f6; }
.sp-menu .guide dl dd ul li:last-child a{ display :block; width: 100%;  padding: 0px 0px 3px; color: #007282; font-size: 2.2rem; font-family: "Montserrat", sans-serif; }
.sp-menu .guide dl dd ul li:last-child a:before{ display: inline-block; margin: 0px 2px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f098'; color: #007282; font-size: 18px; font-weight: 900; line-height: 1; }
.sp-menu .guide dl dd ul li:last-child span{ display: block; margin-top: -7px; color: #007282; font-size: 1.1rem; align-items: center; }
.sp-menu .guide dl dd ul li img{ width: 100%; border-radius: 3px; }

.sp-menu .sp-contents{ margin: 25px 0px 0px; padding: 30px 10px 30px; background: #f9f9f9; border-top: 1px #dfdfdf solid; border-bottom: 1px #dfdfdf solid; }
.sp-menu .sp-contents::before{ display: block; margin: -10px 0px 8px ; padding: 5px 0px; content: "Contents"; color: #fff; font-size: 2.0rem; font-family: "Montserrat", sans-serif; text-align: center; background: #007282; }
.sp-menu .sp-contents dl{ margin: 3px 0px 0px; background: #f0f0f0; }
.sp-menu .sp-contents dl dt{ padding: 12px 10px 10px; font-size: 1.6rem; font-weight: 700; }
.sp-menu .sp-contents dl dt::after{ float:right; margin-top: -2px; font-family: "Font Awesome 5 Free"; content: '\f067'; color: #007282; font-size: 18px; font-weight: 900; }
.sp-menu .sp-contents dl dt.active:after{ content: '\f068'; }

.sp-menu .sp-contents dl dd{ margin: 0px 10px 10px; padding: 0px 0px 10px; }
.sp-menu .sp-contents dl dd ul li{ margin: 3px 0px; }
.sp-menu .sp-contents dl dd ul li a{ display: block; padding: 10px 10px 8px; color: #1f1f1f; font-size: 1.5rem; background: #fff; }
.sp-menu .sp-contents dl dd ul li a::after{ float:right; margin: -5px -15px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f105'; color: #333; font-size: 22px; font-weight: 900; }

.sp-menu .sp-contents p{ margin: 3px 0px 0px; background: #f0f0f0; }
.sp-menu .sp-contents p a{ display: block; padding: 12px 10px 10px; color: #1f1f1f; font-size: 1.6rem; font-weight: 700; }
.sp-menu .sp-contents p a::after{ float:right; margin: -5px 3px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f105'; color: #333; font-size: 22px; font-weight: 900; }

.sp-menu .btn-list{ margin: 20px 10px 0px; }
.sp-menu .btn-list img{ width: 100%; }

.sp-menu .magazine{ margin: 20px 10px 50px; padding: 0px; border: 0; }
.sp-menu .magazine p{ margin: 25px 0px 0px; padding: 8px 0px; color: #fff; font-size: 1.6rem; font-weight: 700; text-align: center; background: #007282; }

.sp-menu .magazine p.title{ font-size: 2.0rem; color: #000; font-weight: bold; line-height: 1.4; text-align: center; background: #fff; }
.sp-menu .magazine p.title span{ display: block; margin-bottom: 5px; color: #007282; font-size: 1.7rem; font-weight: 400; font-family: "Raleway", sans-serif; font-style: italic; }
.sp-menu .magazine p.title::after{ display: block; content: ""; width: 120px; height: 3px; margin: 10px auto 0px; border-radius: 5px; background: #007282; }

.sp-menu .magazine p.more{ margin: 0px; font-size: 1.5rem; background: #fff; }
.sp-menu .magazine p.more a{ width: 100%; margin: 10px auto 0px; color: #fff; }
.sp-menu .magazine p.more a:hover{ color: #007282; background: #fff; }


.sp-menu .magazine a{ color: #1f1f1f; text-decoration: none; }
.sp-menu .magazine dl{ display: flex; margin: 10px 0px 0px; }
.sp-menu .magazine dl dt{ width: 38%; margin: 0px 2% 0px 0px; }
.sp-menu .magazine dl dt img{ border: 1px #dfdfdf solid; border-radius: 3px; }
.sp-menu .magazine dl dd{ width: 60%; margin: 3px 0px 0px; font-size: 1.4rem; line-height: 1.4; }
.sp-menu .magazine dl dd span{ display: block; margin-bottom: 3px; color: #6f6f6f; }

.sp-menu .siteseal{ margin: 20px 10px; padding: 10px 0px; text-align: center; border: 2px #007282 solid; border-radius: 3px; }
.sp-menu .siteseal p{ margin: 10px 0px; font-size: 1.5rem; line-height: 1.4; text-align: center; }
.sp-menu .siteseal p br{ display: block; }
}





/*
  main - 枠組設定
----------------------------------------------------------------------------------------------------*/

main{ padding: 0px 0px 150px; }

@media only screen and ( min-width: 641px ) and ( max-width: 1219px  ){
  main{ padding: 0px 0px 150px; }
}

@media only screen and ( max-width: 640px ){
  main{ padding: 0px 0px 100px; }
}

/*
  breadcrumbs - パンくずナビ
----------------------------------------------------------------------------------------------------*/

.breadcrumbs{ width: 100%; margin: 0px; overflow: hidden; overflow-x: auto; background: #dfdfdf; }
.breadcrumbs ol{ display: flex; align-items: center; width: 1200px; margin: 0px auto; padding: 7.5px 0px 7.5px 15px; }
.breadcrumbs ol li{ margin: 0px 0px 0px 10px; font-size: 1.4rem; }
.breadcrumbs ol li a{ color: #101010; text-decoration: underline; }
.breadcrumbs ol li::after{ padding-left: 10px; font-family: "Font Awesome 5 Free"; content: '\f101'; color: #6f6f6f; font-size: 1.2rem; font-weight: 900; }
.breadcrumbs ol li:last-child::after{ display: none; }
.breadcrumbs ol li a:hover{ color: #dd0000; }
.breadcrumbs ol li br{ display: none; }

@media only screen and ( min-width: 641px ) and ( max-width: 1219px ){
  .breadcrumbs ol{ width: auto; display: table; margin: 0px; padding: 8px 0px 8px 10px; }
  .breadcrumbs ol li{ display: table-cell; white-space: nowrap; font-size: 1.3rem; padding: 0px 0px 0px 8px; }
}

@media only screen and ( max-width: 640px ){
  .breadcrumbs ol{ width: auto; display: table; margin: 0px; padding: 5px 0px 3px 5px; }
  .breadcrumbs ol li{ display: table-cell; white-space: nowrap; font-size: 1.2rem; padding: 0px 0px 0px 7px; }
  .breadcrumbs ol li::after{ padding-left: 8px; }
}




/*
  Footer - フッター
----------------------------------------------------------------------------------------------------*/
#footer{ position: relative; clear: both; margin: 0px 0px 0px; padding: 0px 0px 20px; border-bottom: 5px #007282 solid; }
#footer::before{ content:"ぜひ、私たちにご相談ください。"; display: block; position: absolute; top: -30px; left: calc( 50% - 400px ); width: 800px; margin: 0px auto; padding: 10px 0px; color: #fff; font-size: 2.0rem; font-weight: 700; border-radius: 5px; background: #007282; }

#footer .contact{ margin: 0px; padding: 70px 0px; border-top: 1px #dfdfdf solid; border-bottom: 1px #dfdfdf solid; background: #fff url(../img/common/contact-bg.jpg) center center no-repeat fixed; }
#footer .contact .desc p{ width: 1000px; margin: 30px auto 0px; padding: 18px 20px; font-size: 1.7rem; border: 1px #dfdfdf solid; border-radius: 5px; line-height: 1.6; background-color: #fff; }

#footer .realtime{ margin: 20px auto 0px; width: 1000px; border: 1px #dfdfdf solid; border-radius: 3px; background: #fff url(../img/common/realtime-bg.jpg) 10px 55px no-repeat; }
#footer .realtime .realtime-in{ height: 140px; overflow: auto; }
#footer .realtime p{ margin: 0px; padding: 7px 0px 5px; color: #da1212; font-size: 1.7rem; font-weight: 700; background-color: #dfdfdf; }
#footer .realtime p span{ color: #4f4f4f; font-size: 1.5rem; font-weight: 500; }
#footer .realtime dl{ display: flex; flex-wrap: wrap; margin: 5px 5px 10px 170px; text-align: left; }
#footer .realtime dl dt{ width: 150px; margin: 5px 0px 0px 0px; border-bottom: 1px #ccc dotted; }
#footer .realtime dl dd{ width: calc( 100% - 160px ); margin: 0px; padding: 5px 0px 0px; font-size: 1.5rem; border-bottom: 1px #ccc dotted; }
#footer .realtime dl dd span{ padding: 0px 2.5px; font-weight: 700; }
#footer .realtime dl dd span.area{ color: #47b511; }
#footer .realtime dl dd span.age{ color: #119cb1; }
#footer .realtime dl dd span.type{ color: #e71847; }

@media only screen and ( min-width: 641px ) and ( max-width: 1219px ){
  #footer:before{ left: 10%; width: 80%; margin: 0px; padding: 8px 0px; font-size: 1.8rem; }
  #footer .contact{ padding: 50px 0px; }
  #footer .contact .desc p{ width: 94%; margin: 30px auto 0px; padding: 15px; font-size: 1.6rem; }
  #footer .realtime{ margin: 20px 0px 0px; width: auto; background: #fff none; }
  #footer .realtime p{ font-size: 1.6rem; }
  #footer .realtime dl{ margin: 5px 0px 10px 10px; }
  #footer .realtime dl dt{ width: 140px; }
  #footer .realtime dl dd{ width: calc( 100% - 140px ); }
}

@media only screen and ( max-width: 640px ){
  #footer{ margin: 0px; padding: 0px 0px 60px;  border-bottom: 0; }
  #footer:before{ top: -20px; left: 10%; width: 80%; margin: 0px; padding: 5px 0px; font-size: 1.5rem; }
  #footer .contact{ padding: 50px 0px; border-bottom: 0; }
  #footer .contact .desc p{ width: auto; margin: 25px 10px 0px; padding: 12px; font-size: 1.4rem; line-height: 1.5; }
  #footer .realtime{ margin: 30px 0px 0px; width: auto; border: 0; background: #fff none; }
  #footer .realtime .realtime-in{ height: 180px; }
  #footer .realtime p{ margin: 0px; padding: 5px 0px 3px; font-size: 1.4rem; }
  #footer .realtime p span{ display: block; font-size: 1.4rem; }
  #footer .realtime dl{ display: block; margin: 5px 5px 10px 10px; text-align: left; }
  #footer .realtime dl dt{ width: auto; float: left; margin: 5px 3px 0px 0px; font-size: 1.4rem; border: none; }
  #footer .realtime dl dd{ width: auto; margin: 0px; padding: 5px 0px; font-size: 1.4rem; border-bottom: 1px #ccc dotted; }
}

#footer .sitemap{ display: flex; width: 1200px; margin: 10px auto 0px; }
#footer .sitemap dl{ width: 280px; margin: 0px 0px 0px 20px; text-align: left; }
#footer .sitemap dl:nth-of-type(1){ width: 300px; margin: 0px 0px 0px 20px; text-align: left; }
#footer .sitemap dl:nth-of-type(2){ width: 240px; margin: 0px 0px 0px 20px; text-align: left; }
#footer .sitemap dl:nth-of-type(3){ width: 300px; margin: 0px 0px 0px 20px; text-align: left; }
#footer .sitemap dl dt{ margin: 15px 0px 5px; padding: 0px 0px 0px 20px; color: #007282; font-size: 1.4rem; font-weight: 700; }
#footer .sitemap dl dt a{ color: #007282; }
#footer .sitemap dl dt::before{ display: inline-block; margin: 0px 4px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f07b'; color: #6f6f6f; font-size: 16px; font-weight: 500; }
#footer .sitemap dl dd{ margin: 0px 0px 0px 7px; }
#footer .sitemap dl dd ul li{ margin: 3px 0px 0px; padding: 0px 0px 0px 15px; font-size: 1.4rem; }
#footer .sitemap dl dd ul li::before{ display: inline-block; margin: 0px 6px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f101'; color: #6f6f6f; font-size: 14px; font-weight: 900; }
#footer .sitemap a{ color: #202020; text-decoration: none; }
#footer .sitemap a:hover{ color: #ef0000; text-decoration: underline; }

#footer .company{ margin: 25px 0px 0px; background-color: #007282; }
#footer .company ul{ width: 980px; margin: 0px auto; padding: 10px 0px 8px; text-align: center; }
#footer .company ul li{ display: inline; }
#footer .company ul li a{ margin: 0px 12px; color: #fff; }
#footer .company ul li a::before{ display: inline-block; margin: 0px 4px 0px 0px; font-family: "Font Awesome 5 Free"; content: '\f105'; color: #fff; font-size: 12px; font-weight: 900; }
#footer .company ul li a:hover{ color: #ffff99; text-decoration: underline; }

@media only screen and ( min-width: 641px ) and ( max-width: 1219px  ){
  #footer .sitemap{ width: auto; margin: 10px 0px 0px; }
  #footer .sitemap dl{ width: 24%; margin: 0px 0.5%; }
  #footer .sitemap dl{ width: 24%; margin: 0px; }
  #footer .sitemap dl:nth-of-type(1){ width: 24%; margin: 0px 0.5%; }
  #footer .sitemap dl:nth-of-type(2){ width: 24%; margin: 0px 0.5%; }
  #footer .sitemap dl:nth-of-type(3){ width: 24%; margin: 0px 0.5%; }
  #footer .sitemap dl dt{ margin: 15px 0px 5px; padding: 0px 0px 0px 10px; font-size: 1.3rem; }
  #footer .sitemap dl dt::before{ font-size: 13px; }
  #footer .sitemap dl dd{ margin: 0px 0px 0px 5px; }
  #footer .sitemap dl dd ul li{ padding: 0px 0px 0px 5px; font-size: 1.3rem; }
  #footer .sitemap dl dd ul li::before{ margin: 0px 5px 0px 0px; font-size: 13px; }
  #footer .company ul{ width: auto; margin: 0px; padding: 10px 0px; }
}

@media only screen and ( max-width: 640px ){
  #footer .sitemap{ display: none; }
  #footer .company{ margin: 15px 0px 0px; }
  #footer .company ul{ width: auto; margin: 0px; padding: 8px 0px 8px; }
  #footer .company ul li a{ margin: 0px 5px; font-size: 1.4rem; }
}

#footer .copyright{ margin: 30px 0px 0px; }
#footer .copyright p.logo img{ width: 250px; height: auto; margin-bottom: 10px; }
#footer .copyright .social{ display :flex; justify-content: center; margin: 10px auto 0px; }
#footer .copyright .social div{ margin: 0px 5px; padding: 8px 20px; border: 1px #dfdfdf solid; border-radius: 3px; background: #efefef; }
#footer .copyright .social div:hover{ color: #fff; border: 1px #000 solid; background: #000; transition: 0.2s linear; }
#footer .copyright .social div:first-of-type:hover{ border: 1px #e7709f solid; background: #e7709f; }
#footer .copyright .social div:nth-of-type(2):hover{ border: 1px #ff0000 solid; background: #ff0000; }
#footer .copyright .social div:hover dd{ color: #fff; }
#footer .copyright .social div:first-of-type:hover dd{ color: #fff; }
#footer .copyright .social div:nth-of-type(2):hover dd{ color: #fff; }
#footer .copyright .social div:hover dd span{ color: #fff; }
#footer .copyright .social div:hover dl dt{ border: 1px #fff solid; }
#footer .copyright .social div:first-of-type:hover dl dt{ border: 1px #fff solid; }
#footer .copyright .social div:nth-of-type(2):hover dl dt{ border: 1px #fff solid; }
#footer .copyright .social dl{ display: flex; justify-content: center; font-family: "Montserrat", sans-serif; }
#footer .copyright .social div dl dt{ margin-right: 5px; padding: 5px 8px 7px; border: 1px #000 solid; border-radius: 50%; background-color: #000; }
#footer .copyright .social div:first-of-type dl dt{ padding: 4px 8px 8px; border: 1px #ea51ab solid; background-color: #ea51ab; background-image: linear-gradient(-38deg,#ffb63e 0,#e745b9 100%); }
#footer .copyright .social div:nth-of-type(2) dl dt{ padding: 5px 5px 5px; border: 1px #ff0000 solid; background-color: #ff0000; }
#footer .copyright .social div a dl dd{ color: #000; font-weight: bold; text-align: left; display: -webkit-box; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; letter-spacing: -0.02em; }
#footer .copyright .social div:first-of-type a dl dd{ color: #e7709f; }
#footer .copyright .social div:nth-of-type(2) a dl dd{ color: #ff0000; }
#footer .copyright .social a dl dd span{ margin-left: 5px; color: #6f6f6f; font-size: 1.2rem; font-weight: normal; }
#footer .copyright p{ margin: 20px 0px 0px; font-size: 1.4rem; text-align: center; }

@media only screen and ( min-width: 641px ) and ( max-width: 1219px  ){
  #footer .copyright .social{ flex-wrap: wrap; }
  #footer .copyright .social div{ width: 47%; margin: 0.5%; background: #f9f9f9; }
  #footer .copyright .social div dl dt{ margin-right: 5px; padding: 5px 8px 7px; }
  #footer .copyright .social div:first-of-type dl dt{ padding: 4px 10px 8px; }
}

@media only screen and ( max-width: 640px ){
  #footer .copyright .social{ flex-wrap: wrap; justify-content: space-around; margin: 10px 5px 0px; }
  #footer .copyright .social div{ width: 48.5%; margin: 0.75%; padding: 5px 10px; }
  #footer .copyright .social dl{ padding: 2px 0px; }
  #footer .copyright .social div dl dt{ padding: 5px; width: 36px; height: 36px; display: flex; align-items: center; margin-right: 8px; }
  #footer .copyright .social div:first-of-type dl dt{ padding: 5px; }
  #footer .copyright .social div a dl dd{ font-size: 1.4rem; text-align: left; display: block; }
  #footer .copyright .social a dl dd span{ display: block; margin: 0px; font-size: 1.1rem; line-height: 1; }
}





/*
  Pagetop - ページトップに戻る
----------------------------------------------------------------------------------------------------*/

#pagetop{ position: fixed; bottom: 65px; right: 20px; font-size: 1.4rem; cursor: pointer; line-height: 1.4; text-align: center; }
#pagetop a{ display: block; padding: 12px 15px; color: #606060; text-decoration: none; border: 1px #e0e0e0 solid; border-radius: 3px; background-color: #fff; }
#pagetop a:hover{ text-decoration: none; color: #fff; border: 1px #fff solid; background-color: #007282; }

@media only screen and ( max-width: 1199px ) {
  #pagetop{ display: none; }
  #pagetop a{ display: none; }
  #pagetop br{ display: none; }
}
