@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*--------------------------------------------------

  common

  ------------------------------------------------*/
#content{
  margin: 0 auto 5em;
}

main .post_content h2{
  margin-left: 0;
  margin-right: 0;
}

main h2.reset{
  background: none;
  padding: 0;
  margin: 0;
  position: static;
}

main h3.reset{
  padding: 0;
  margin: 0;
}

main h2.reset::before,
main h3.reset::before{
  content: none;
}

main h4.reset{
  border-left: none;
  padding: 0;
  margin: 0;
}

main img{
  width: 100%;
  height: auto;
  display: block;
  vertical-align: middle;
}

main table a{
  text-decoration: underline;
}

main table a:hover{
  text-decoration: none;
}

main em, main i, address{
  font-style: normal;
}

main li::marker{
  color: #5588c8;
}

main .caution{
  font-size: .9em;
  display: inline-block;
}

main .roboto, main .number{
  font-family: 'Roboto', sans-serif;
}

main [class*=page-numbers].current,
main [class*=page-numbers]:hover{
  background: #39abff;
}

/*--------------------------------------------------
  btn
  ------------------------------------------------*/
.btn{
  text-align: center;
}

.btn a{
  color: #fff;
  font-size: .9em;
  font-weight: bold;
  line-height: 1;
  width: 100%;
  max-width: 100%;
  background: #084085;
  border: 1px #084085 solid;
  box-shadow: none;
  display: inline-block;
  padding: 1.25em 2em;
  transition: all .25s;
  position: relative;
}

.btn a::after{
  content: '\e930';
  font-weight: normal;
  font-family: icomoon;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .25s;
}

.btn a:hover{
  color: #084085;
  background: #fff;
  box-shadow: none;
  transition: all .25s;
}

.btn a:hover::after{
  -webkit-transform: translateX(4px) translateY(-50%);
  transform: translateX(4px) translateY(-50%);
}

/*--------------------------------------------------
  parts
  ------------------------------------------------*/
main .balloon{
  color: #084085;
  background: #ebeff6;
  border-radius: 50vh;
  padding: .75em 1em;
  margin-bottom: 1.25em;
  position: relative;
}

main .balloon::after{
  content: '';
  position: absolute;
  top: 100%;
  left: 20%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .75em 0 0 .75em;
  border-color: #ebeff6 transparent transparent transparent;
}

main .support_list .wp-block-columns{
  align-items: center !important;
  gap: 1.25em !important;
  border: 2px #ebeff6 solid;
  border-radius: .75em;
  padding: 1.25em;
}

main .support_list h3{
  color: #084085;
  padding: 0;
  margin-bottom: .75em;
}

main .support_list h3::before{
  content: none;
}

main .support_list .wp-block-columns img{
  width: 100%;
  max-width: 18.365vw;
}

/*--------------------------------------------------

  common page

  ------------------------------------------------*/
.work.page main .post_content,
.page-common main .post_content,
.error404 main .post_content{
  padding-inline: 0;
  margin-block: 0;
}

.page-common main section:not(:last-child){
  margin-bottom: 2.5em;
}

.page-common main h1{
  color: #fff;
  font-size: 1.333335em;
  text-align: center;
  line-height: 1.4;
  background: #084085;
  padding: .75em 1em;
  margin-bottom: 1.5em;
  position: relative;
  z-index: 1;
}

.page-common main h1::before{
  content: '';
  width: 100%;
  height: calc(100% + 4px);
  display: block;
  box-sizing: content-box;
  border-top: solid 2px #084085;
  border-bottom: solid 2px #084085;
  pointer-events: none;
  position: absolute;
  top: -4px;
  left: 0;
}

.page-common main h1::after{
  content: none;
}

.page-common main h1 span{
  padding-top: 0;
}

.page-common main h2{
  margin-top: 0;
  text-align: center;
}

.top main .post_content h2,
.work.page main h1,
.contact.page main h1,
.archive main h1,
.search-results main h1{
  color: #084085;
  font-size: 2em;
  text-align: center;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 1px;
}

.top main .post_content h2{
  font-size: 1.75em;
  margin-bottom: .9em;
}

.search-results main h1{
  font-size: 1.25em;
}

.work.page main h1 span,
.contact.page main h1 span,
.archive main h1 span,
.search-results main h1 span{
  padding-top: 0;
}

.search-results main h1 span{
  margin-left: -.5em;
}

.top main .post_content h2 small,
.work.page main h1 small,
.contact.page main h1 small,
.archive main h1 small{
  color: #6e95c5;
  font-size: .45em;
  letter-spacing: 0;
  font-style: normal;
  display: block;
  opacity: 1;
  padding-block: 0;
  margin-left: 0;
}

/*
.top main .post_content h2 small{
  font-weight: 700;
}
*/

.top main ul,
.page-common main ul.style_none,
.page-common main ol.style_none,
footer .info_box ul, #sidebar ul.bnr_box{
  list-style: none;
  padding: 0;
}

.top main ul li,
.page-common main ul li, .page-common main ol li,
footer .info_box ul li, #sidebar ul.bnr_box li{
  line-height: 1.6;
  margin-block: 0;
}

/*--------------------------------------------------

  header

  ------------------------------------------------*/
header .l-container{
  display: flex;
  justify-content: space-between;
  padding-top: 0;
}

header .l-header__logo{
  padding: 0;
}

header .c-headLogo{
  padding: 8px;
}

header .c-headLogo a.c-headLogo__link{
  display: flex;
  align-items: center;
  padding: 0;
}

header .c-headLogo a.c-headLogo__link:hover{
  opacity: 0.8;
}

header .c-headLogo .site_name{
  color: #084085;
  font-size: 1.2em;
  font-weight: bold;
  display: inline-block;
  margin-left: .5em;
}

header .menu_box{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 0%;
}

#header .w-header{
  display: block !important;
}

#header .w-header .cv_box{
  display: flex;
  justify-content: flex-end;
  height: var(--logo_size_sp);
  list-style: none;
  padding-left: 0;
}

#header .w-header .cv_box li{
  width: 100%;
  line-height: normal;
  margin: 0;
}

header .w-header .cv_box a{
  line-height: normal;
  width: var(--logo_size_sp);
  height: 100%;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}

header .w-header .cv_box a:hover{
  opacity: 0.8;
}

header .w-header .tel_box a{
  color: #fff;
  background: #084085;
}

header .w-header .tel_box .img_box img{
  max-width: 14px;
  height: 16px;
  display: block;
  margin-bottom: 6px;
}

header .w-header .tel_box .tel_txt,
header .w-header .mail_box p{
  font-size: 8px;
  font-weight: bold;
}

header .w-header .mail_box .btn{
  height: 100%;
}

header .w-header .mail_box a{
  background: #39abff;
  border: none;
  padding: 0;
}

header .w-header .mail_box a::after{
  content: none;
}

header .w-header .mail_box a:hover{
  color: #fff;
}

header .w-header .mail_box a i{
  font-size: 16px;
  line-height: 0;
  margin-bottom: 6px;
}

header .w-header .tel_box .number,
header .w-header .tel_box .office_hours,
header .w-header .mail_box a span{
  display: none;
}

header .l-header__customBtn{
  display: none;
}

/*--------------------------------------------------
  header top
  ------------------------------------------------*/
.top header{
  height: 0;
  border-bottom: none;
}

.top header .l-container{
  align-items: flex-start;
}

.top header .menu_box{
  align-items: flex-start;
  margin-left: 1em;
}

.top header .c-headLogo{
  height: auto;
  padding: 0;
}

.top header .c-headLogo a.c-headLogo__link{
  background: #fff;
  flex-flow: column;
  border-radius: 0 0 .5em .5em;
  padding: 1em 1em 1.25em;
}

.top header .c-headLogo a img{
  max-height: 15.0255vw;
  margin-bottom: 1em;
}

.top header .c-headLogo .site_name{
  font-size: 1em;
  margin-left: 0;
}

.top header .l-header__menuBtn{
  background: #fff;
}

.top header .l-header__menuBtn span{
  font-weight: bold;
}

[data-scrolled=true] .top header{
  display: none;
}

/*--------------------------------------------------
  header fix
  ------------------------------------------------*/
#fix_header{
  border-bottom: solid 1px rgba(0,0,0,.1);
}

/*--------------------------------------------------
  sp menu
  ------------------------------------------------*/
#sp_menu .c-widget__title{
  margin-bottom: 0;
}

#sp_menu .p-spMenu__nav{
  margin-top: 0;
}

#sp_menu .c-listMenu a:hover{
  background-color: #e7f3fc;
}

/*--------------------------------------------------

  top

  ------------------------------------------------*/
.top #content{
  padding-top: 0;
}

.top main .is-style-more_btn{
  padding: 0;
  margin-top: 2em;
}

.top main .is-style-more_btn a{
  color: #fff;
  font-weight: bold;
  line-height: 1;
  background: #084085;
  border: 1px #084085 solid;
  box-shadow: none;
  padding: 1.25em 2em;
}

.top main .is-style-more_btn a:hover{
  color: #084085;
  background: #fff;
}

.top main .is-style-more_btn a:after{
  font-weight: normal;
}

/*--------------------------------------------------
  main visual
  ------------------------------------------------*/
.top #main_visual .p-mainVisual__textLayer{
  text-shadow: 0 0 1em #004579 !important;
  text-shadow: 0 0 10px #004579, 0 0 20px #004579, 0 0 30px #004579 !important;
  justify-content: flex-end;
  padding-bottom: 15vw;
}

.top #main_visual .p-mainVisual__slideTitle{
  font-size: 5vw;
  font-weight: bold;
  line-height: 1.6;
}

.top #main_visual .p-mainVisual__slideText{
  font-weight: bold;
  margin-top: 1.5em;
  line-height: 1.8;
}

/*--------------------------------------------------
  top message
  ------------------------------------------------*/
.top #message{
  position: relative;
  padding-block: .5em 0 !important;
}

.top #message::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 8.5vw;
  background: url(img/common/bg/wave_sp.svg) center bottom / 100% 100% no-repeat;
  top: -7vw;
  left: 0;
  z-index: 1;
}

.top #message h2{
  margin-bottom: .75em;
}

.top #message h3{
  color: #084085;
  font-size: 1.25em;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 1em;
}

.top #message .txt_box p:last-child br{
  display: none;
}

.top #message .img_box{
  max-width: 80%;
  margin: 0 auto;
}

/*--------------------------------------------------
  top work
  ------------------------------------------------*/
.top #work ul.list_box > li{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1em;
  background: #fff;
  border-radius: .75em;
  padding: 1em;
  margin: 0;
}

.top #work ul.list_box > li:not(:last-child){
  margin-bottom: 1em;
}

.top #work .img_box,
.work.page main .img_box{
  background: #e0efff;
  padding: 1em 1em 0;
}

.top #work .img_box img,
.work.page main .img_box img{
  max-width: 80%; 
  margin: 0 auto;
}

.top #work h3{
  color: #084085;
  font-size: 1.25em;
  text-align: center;
  border-top: #084085 2px solid;
  padding-block: .4em;
  border-bottom: #084085 2px solid;
}

.top #work ul.services{
  list-style: disc;
  padding-left: 1.25em;
  margin-bottom: .25em;
}

.top #work ul.services li:not(:last-child){
  margin-bottom: .25em;
}

.top #work ul.services li::marker{
  color: #6e95c5;
}

.top #work ul.services li span{
  display: inline-block;
  margin-inline: -.4em;
}

.top #work .img_box{
  margin-bottom: .25em;
}

/*--------------------------------------------------
  top contact
  ------------------------------------------------*/
.top #contact{
  background-color: #084085 !important;
  overflow: hidden;
}

.top #contact .l-container{
  position: relative;
}

.top #contact .l-container::after{
  content: '';
  position: absolute;
  background: url(img/common/man.webp) no-repeat 0 0;
  background-size: 100%;
  width: 27.046vw;
  height: 34.392vw;
  right: -1em;
  bottom: -2em;
  z-index: 1;
}

.top #contact h2,
.top #contact .lead_box{
  color: #fff;
}

.top #contact h2 small{
  color: #fff;
}

.top #contact .cv_box{
  flex-flow: column;
  width: 90%;
  margin: 0 auto;
}

.top #contact .cv_box > div{
  text-align: center;
  background: #fff;
  border-radius: .75em;
  padding: 1.25em;
}

.top #contact .cv_box h3{
  color: #084085;
  font-size: 1.15em;
  margin-bottom: .25em;
}

.top #contact .cv_box p{
  font-size: .85em;
  font-weight: bold;
}

.top #contact .tel_box p{
  color: #61bebf;
}

.top #contact .mail_box p{
  color: #39abff;
}

.top #contact .cv_box a{
  max-width: 85%;
  border: none;
  padding: 0;
}

.top #contact .tel_box a{
  background: #61bebf;
}

.top #contact .tel_box a::after{
  content: none;
}

.top #contact .mail_box a{
  background: #39abff;
  padding: 0;
}

.top #contact .cv_box a:hover{
  color: #fff;
  opacity: 0.8;
}

.top #contact .cv_box figure{
  display: flex;
  align-items: center;
}

.top #contact .img_box{
  width: 12vw;
  height: 12vw;
  border-right: 1px #fff solid;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top #contact .tel_box img{
  width: 3.34vw;
}

.top #contact .mail_box img{
  width: 3.674vw;
}

.top #contact figcaption{
  flex: 1 1 0%;
}

.top #contact .tel_box .number{
  font-size: 1.6em;
  letter-spacing: 1.2px;
}

.top #contact .mail_box figcaption{
  margin-left: -1.5em;
}

/*--------------------------------------------------
  top blog archive(search)
  ------------------------------------------------*/
.archive.cat-blog main,
.search-results main{
  max-width: 1200px;
}

.top #blog .p-postList,
.archive.cat-blog main .p-postList,
.search-results main .p-postList{
  margin-inline: 0;
}

.top #blog .p-postList__item,
.archive.cat-blog main .p-postList__item,
.search-results main .p-postList__item{
  padding: 0 !important;
}

.top #blog .p-postList__item:not(:last-child),
.archive.cat-blog main .p-postList__item:not(:last-child),
.search-results main .p-postList__item:not(:last-child){
  margin-bottom: 1em;
}

.top #blog .p-postList__item:last-child,
.archive.cat-blog main .p-postList__item:last-child,
.search-results main .p-postList__item:last-child{
  margin-bottom: 0;
}

.top #blog .p-postList__link,
.archive.cat-blog main .p-postList__link,
.search-results main .p-postList__link{
  height: auto;
  display: flex;
  border-radius: .5em;
  box-shadow: .25em .25em #ebeff6;
  overflow: hidden;
  padding: 0;
}

.top #blog .p-postList__body,
.archive.cat-blog main .p-postList__body,
.search-results main .p-postList__body{
  padding: .9em;
  width: 100%;
  border: 2px #ebeff6 solid;
  border-left: none;
  border-radius: 0 .5em .5em 0;
}

.top #blog .c-postThumb,
.archive.cat-blog main .c-postThumb,
.search-results main .c-postThumb{
  max-width: 38%;
}

.top #blog figure,
.archive.cat-blog main figure,
.search-results main figure{
  height: 100%;
}

.top #work .c-postThumb__cat,
.archive.cat-blog main .c-postThumb__cat,
.search-results main .c-postThumb__cat{
  font-size: 2.33723vw;
  line-height: 1;
  right: auto;
  left: 0;
  opacity: 0.9;
  transform: none;
  padding: .65em .75em .75em;
}

.top #blog .p-postList__title,
.archive.cat-blog main .p-postList__title,
.search-results main .p-postList__title{
  color: #084085;
  font-size: 4vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  margin-bottom: .5em;
}

.top #blog .p-postList__excerpt,
.archive.cat-blog main .p-postList__excerpt,
.search-results main .p-postList__excerpt{
  font-size: 3.8vw;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-block: 0 .75em;
}

.top #blog .p-postList__meta,
.archive.cat-blog main .p-postList__meta,
.search-results main .p-postList__meta{
  line-height: 1;
  flex-flow: row-reverse;
  align-items: center;
  justify-content: space-between;
}

.top #blog .p-postList__times,
.archive.cat-blog main .p-postList__times,,
.search-results main .p-postList__times,
.top #blog .p-postList__cat,
.archive.cat-blog main .p-postList__cat,
.search-results main .p-postList__cat{
  padding: 0;
  margin-right: 0;
}

.top #blog time,
.archive.cat-blog main time,
.search-results main time{
  color: #999;
  font-size: 3.4vw;
  font-weight: bold;
}

.top #blog .p-postList__cat,
.archive.cat-blog main .p-postList__cat,
.search-results main .p-postList__cat{
  color: #fff;
  font-size: 2.6vw;
  text-align: center;
  font-weight: bold;
  min-width: 15vw;
  background: #39abff;
  border-radius: 50vh;
  opacity: 1;
  padding: .6em .75em .5em;
}

.top #blog .c-postTimes__posted::before,
.archive.cat-blog main .c-postTimes__posted::before,
.search-results main .c-postTimes__posted::before,
.top #blog .p-postList__cat::before,
.archive.cat-blog main .p-postList__cat::before,
.search-results main .p-postList__cat::before{
  content: none;
}

.top #blog .is-style-more_btn{
  margin-top: 2.25em;
}

.archive main .c-pagination,
.search-results main .c-pagination{
  margin-top: 7vw;
}

/*--------------------------------------------------
  top news archive
  ------------------------------------------------*/
.top #news .p-postList{
  background: #fff;
  border-top: none;
  border-radius: .75em;
  padding: 2em 1.75em;
}

.top #news .p-postList__item a,
.archive.cat-news main .p-postList__item a{
  padding: 1.25em .25em;
}

.top #news .p-postList__item a:hover,
.archive.cat-news main .p-postList__item a:hover{
  background-color: #e7f3fc;
}

.top #news .p-postList__item:first-child a{
  border-top: 1px solid var(--color_border);
}

.top #news h3,
.archive.cat-news main h2{
  font-weight: normal;
}

.top #news .p-postList__meta,
.archive.cat-news main .p-postList__meta{
  margin-bottom: 1em;
}

.top #news .p-postList__times,
.archive.cat-news main .p-postList__times{
  opacity: 1;
  padding: 0;
  margin-right: 1.5em;
}

.top #news time,
.archive.cat-news main time{
  font-size: 3.6vw;
}

.top #news .p-postList__cat,
.archive.cat-news main .p-postList__cat{
  color: #fff;
  font-size: 2.6vw;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  min-width: 15vw;
  background: #084085;
  border-radius: 50vh;
  opacity: 1;
  padding: .6em .75em .5em;
  margin-right: 0;
}

.top #news time::before,
.top #news .p-postList__cat::before,
.archive.cat-news main time::before,
.archive.cat-news main .p-postList__cat::before{
  content: none;
}

.top #news .p-postList__cat[data-cat-id="15"],
.archive.cat-news main .p-postList__cat[data-cat-id="15"]{
  background: #61bebf;
}

.archive main .l-parent,
.search-results main .p-searchContent{
  margin-top: 2em !important;
}

/*--------------------------------------------------
  top access page
  ------------------------------------------------*/
.top #access{
  padding-bottom: 0 !important;
}

.top #access .info{
  flex-flow: column-reverse;
  gap: 1.75em !important;
}

.top #access .google_map,
.access.page main .google_map{
  position: relative;
  overflow: hidden;
  height: 30vh;
  border: .25em #ebeff6 solid;
  padding-bottom: 50%;
}

.top #access .google_map{
   border-radius: .75em;
}

.access.page main .google_map{
  margin: 0 auto 1.75em;
}

.top #access .google_map iframe,
.access.page main .google_map iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.top #access .info h3,
.access.page main .info h2{
  color: #084085;
  font-size: 1.2em;
  display: inline-block;
  padding-left: 1.5em;
  margin-left: -1em;
  margin-bottom: 1em;
  position: relative;
}

.top #access .info h3::after,
.access.page main .info h2::after{
  content: '';
  position: absolute;
  background: url(img/access/icon_map.svg) no-repeat 0 0;
  background-size: 100%;
  width: 4.341vw;
  height: 6.012vw;
  left: 0;
  top: 0;
}

.top #access .info address,
.access.page main .info address{
  text-align: center;
  margin-bottom: 2em;
}

.top #access .info ul{
  list-style: none;
  padding-left: 0;
}

.top #access .info address li:not(:last-child),
.access.page main .info address li:not(:last-child){
  margin-bottom: .25em;
}

.top #access .info address .caution,
.access.page main .info address .caution{
  font-size: .9em;
}

.top #access .info .route .caution,
.access.page main .info .route .caution{
  font-size: .85em;
}

.top #access .info .route{
  margin-bottom: 2em;
}

.top #access .info .route h4,
.access.page main .info .route h3{
  color: #084085;
  text-align: center;
  background: #ebeff6;
  border-radius: 50vh;
  padding: .75em 1em;
  margin-bottom: 1.25em;
}

.top #access .info .route h4 span,
.access.page main .info .route h3 span{
  margin-left: 1em;
  position: relative;
}

.top #access .info .route h4 span::before,
.access.page main .info .route h3 span::before{
  content: '';
  position: absolute;
  width: 8.348vw;
  height: 6.012vw;
  left: -2.5em;
  top: 0;
  bottom: 0;
  margin: auto;
}

.top #access .info .route .car h4 span::before,
.access.page main .info .route .car h3 span::before{
  background: url(img/access/icon_car.webp) no-repeat 0 0;
  background-size: 100%;
}

.top #access .info .route .train h4 span::before,
.access.page main .info .route .train h3 span::before{
  background: url(img/access/icon_train.webp) no-repeat 0 0;
  background-size: 100%;
}

.top #access .info .route li:not(:last-child),
.access.page main .info .route li:not(:last-child){
  margin-bottom: 2em;
}

.top #access .info .route li a,
.access.page main .info .route li a{
  color: #111;
  text-decoration: underline;
}

.top #access .info .route li a:hover,
.access.page main .info .route li a:hover{
  color: #39abff;
  text-decoration: none;
}

.top #access .info .route p.parking,
.access.page main .info .route p.parking{
  margin-bottom: .5em;
}

.top #access .info .route .train p,
.access.page main .info .route .train p{
  margin-bottom: .75em;
}

.top #access .info .route p.parking,
.top #access .info .route .train a,
.access.page main .info .route p.parking,
.access.page main .info .route .train a{
  padding-left: 2.5em;
  position: relative;
}

.top #access .info .route p.parking::before,
.top #access .info .route .train a::before,
.access.page main .info .route p.parking::before,
.access.page main .info .route .train a::before{
  content: '';
  position: absolute;
  width: 6.5vw;
  height: 6.5vw;
  border-radius: .2em;
  left: 0;
  top: -.25em;
}

.top #access .info .route p.parking::before,
.access.page main .info .route p.parking::before{
  background: url(img/access/icon_parking.svg) center center / cover no-repeat, #084085;
  background-size: 40%;
}

.top #access .info .route .train a::before,
.access.page main .info .route .train a::before{
  background: url(img/access/icon_walk.svg) center center / cover no-repeat, #084085;
  background-size: 40%;
}

.top #access .info .btn a{
  border-radius: 0;
}

/*--------------------------------------------------

  footer

  ------------------------------------------------*/
footer{
  position: relative;
}

footer::before{
  content: '';
  position: absolute;
  top: -7vw;
  left: 0;
  width: 100%;
  height: 8.5vw;
  background: #084085;
  mask: url(img/common/bg/wave_sp.svg) center bottom / 100% 100% no-repeat;
  -webkit-mask: url(img/common/bg/wave_sp.svg) center bottom / 100% 100% no-repeat;
}

footer .l-footer__widgetArea{
  padding: 0 4vw 8vw;
}

footer .w-footer.-col3{
  max-width: 1200px;
  display: flex;
  flex-flow: column;
  padding: 0;
  margin: 0 auto;
}

footer .w-footer__box{
  padding: 0;
}

footer .w-footer__box + .w-footer__box,
footer .c-widget + .c-widget{
  margin-top: 0;
}

footer .c-widget__title.-footer::before,
footer .c-widget__title.-footer::after{
  content: none;
}

/*--------------------------------------------------
  footer info
  ------------------------------------------------*/
footer .info_box{
  text-align: center;
  margin-bottom: 1.5em;
  order: 1;
}

footer .info_box .information{
  margin-bottom: 1.25em;
}

footer .info_box .logo{
  display: inline-flex;
  flex-flow: column;
  align-items: center;
}

footer .info_box .logo:hover{
  opacity: 0.8;
}

footer .info_box .logo img{
  max-width: 16.696vw;
  margin-bottom: 1em;
}

footer .info_box .logo p{
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1;
  display: inline-block;
}

footer .info_box .address{
  margin-bottom: 1em;
}

footer .info_box .address li{
  line-height: 1.8;
}

footer .info_box .sns{
  display: flex;
  align-items: center;
  justify-content: center;
}

footer .info_box .sns li:not(:last-child){
  margin-right: .5em;
}

footer .info_box .sns li a{
  color: #084085;
  font-size: 1.25em;
  width: 8vw;
  height: 8vw;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

footer .info_box .sns li a:hover{
  color: #39abff;
  transform: rotate(360deg);
  transition: 1s; 
}

footer .info_box .sns li a i{
  margin-top: .25em;
}

footer .info_box .sns li i.icon-twitter-x{
  font-size: .9em;
}

/*--------------------------------------------------
  footer contact
  ------------------------------------------------*/
footer .contact_box{
  width: 70%;
  margin: 0 auto 2em;
  order: 2;
}

footer .contact_box .balloon{
  color: #fff;
  text-align: center;
  font-weight: bold;
  background: #39abff;
  border-radius: 50vh;
  padding: .75em 1em;
  margin-bottom: 1.5em;
  position: relative;
}

footer .contact_box .balloon::after{
  content: '';
  position: absolute;
  top: 100%;
  left: 20%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .75em 0 0 .75em;
  border-color: #39abff transparent transparent transparent;
}

footer .tel_box{
  text-align: center;
  margin-bottom: 1.25em;
}

footer .tel_box a{
  display: inline-block;
  margin-bottom: .25em;
}

footer .tel_box .number{
  font-size: 1.6em;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
}

footer .tel_box figure{
  display: inline-flex;
}

footer .tel_box figure .img_box img{
  width: 100%;
  max-width: 3.674vw;
  margin-top: .15em !important;
  margin-right: .5em;
}

footer .tel_box .office_hours{
  font-size: .8em;
  line-height: 1;
}

footer .tel_box .office_hours span{
  font-size: .9em;
}

footer .contact_box .btn a{
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px #fff solid;
  border-radius: .3em;
}

footer .contact_box .btn i{
  font-size: 1.25em;
  margin-inline: -.75em .75em;
}

/*--------------------------------------------------
  footer menu
  ------------------------------------------------*/
footer .menu_box{
  order: 3;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 4vw;
}

footer .menu_box .widget_nav_menu{
  background: #00316a;
  border-radius: .5em;
  padding: 1em;
}

footer .menu_box .c-widget__title.-footer{
  font-size: .95em;
  border-bottom: 1px rgba(255, 255, 255, 0.7) solid;
  padding: 0 0 .75em;
  margin-bottom: .75em;
}

footer .menu_box li{
  padding-left: 1em;
}

footer .menu_box li::before{
  content: '－';
  position: absolute;
  font-size: .6em;
  top: .75em;
  left: 0;
}

footer .menu_box a{
  font-size: .85em;
  display: inline-block;
  border-bottom: none;
  padding: 0;
}

footer .menu_box a::before{
  content: none;
}

footer .menu_box a:hover{
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  text-decoration: underline;
}

/*--------------------------------------------------
  footer copyright
  ------------------------------------------------*/
footer .description{
  background: #00316a;
  padding: 1em;
}

footer .description p{
  color: #fff;
  font-size: .8em;
  text-align: center;
}

#pagetop{
  color: #fff;
  background: #39abff;
  border: 2px #39abff solid;
  opacity: 1;
}

/*--------------------------------------------------

  breadcrumb

  ------------------------------------------------*/
#breadcrumb{
  background: #ebeff6;
}

#breadcrumb li::after, #breadcrumb .icon-home::before{
  color: #757575;
}

#breadcrumb li, #breadcrumb .icon-home{
  color: #555;
}

#breadcrumb li:last-child span{
  opacity: 1;
}

.single-post #breadcrumb li:nth-last-child(2):after{
  content: none;
}

/*--------------------------------------------------

  work page

  ------------------------------------------------*/
.work.page main .swell-block-fullWide{
  padding: 2em 1em;
}

.work.page main .swell-block-fullWide:last-child{
  padding: 2em 1em 0 !important;
}

.work.page main .swell-block-fullWide__inner{
  background: #fff;
  border-radius: .75em;
  padding: 1em 1em 1.25em;
}

.work.page main .swell-block-fullWide:nth-child(odd) > .l-container{
  border: 2px #ebeff6 solid;
}

.work.page main .swell-block-fullWide .txt_box{
  flex-flow: column-reverse;
  --wp-column-gap: 1em;
  margin-bottom: 1.5em;
}

.work.page main .swell-block-fullWide .txt_box p{
  line-height: 1.8;
  padding-inline: .5em;
}

.work.page main h2{
  color: #084085;
  font-size: 1.4em;
  border-bottom: .15em #ebeff6 solid;
  padding-bottom: .9em;
  margin-bottom: .9em;
}

.work.page main h2 small{
  font-size: .6em;
  color: #5588c8;
  opacity: 1;
}

.work.page main .list_box{
  gap: 1em !important;
}

.work.page main .list_box .wp-block-column{
  border: 2px #5588c8 solid;
  border-radius: .5em;
}

.work.page main h3{
  color: #fff;
  text-align: center;
  background: #5588c8;
  border-radius: .25em .25em 0 0;
  padding: .5em .75em;
  margin-bottom: 0;
}

.work.page main h3::before{
  content: none;
}

.work.page main h3.mandate::after{
  color: #fff;
  font-size: .8em;
  line-height: 1;
  background: #61bebf;
  border-radius: 50vh;
  padding: .6em 1em .5em;
  content: '義務化';
  position: absolute;
  top: -.75em;
  left: -.75em;
  z-index: 1;
}

.work.page main h3 br{
  display: none;
}

.work.page main .list_box p.wp-block-paragraph{
  padding: .75em 1em;
  margin-bottom: 0;
}

.work.page main .list_box .btn{
  width: 100%;
  padding: 0 1em 1em;
}

/*--------------------------------------------------

  price page

  ------------------------------------------------*/
.price.page main h2{
  margin-bottom: 1.25em;
}

.price.page main h3{
  color: #084085;
  text-align: center;
  border-top: 2px #084085 solid;
  border-bottom: 2px #084085 solid;
  padding: .75em 0;
  margin-bottom: 1.25em;
}

.price.page main h3 span{
  display: block;
  margin: 0 -.4em;
}

.price.page main .balloon{
  color: #fff;
  text-align: center;
  font-weight: bold;
  background: #5588c8;
  margin-bottom: 1.5em;
}

.price.page main .balloon::after{
  border-color: #5588c8 transparent transparent transparent;
}

.price.page main ul.list_box{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.price.page main ul.list_box li{
  background: #ebeff6;
  border-radius: .5em;
  overflow: hidden;
}

.price.page main ul.list_box li a:hover p{
  background: #084085;
}

.price.page main ul.list_box li .img_box{
  padding: 1.25em 1em;
}

.price.page main ul.list_box li .img_box img{
  max-width: 80%;
  margin: 0 auto;
}

.price.page main ul.list_box li p{
  color: #fff;
  font-size: .9em;
  text-align: center;
  font-weight: bold;
  background: #5588c8;
  padding: .5em .2em;
}

.price.page main ul.list_box li p i{
  font-weight: 200;
  margin: 0 -.15em;
}

.price.page main .lead_box{
  margin-bottom: 1.5em;
}

.price.page main .lead_box p:not(:last-child){
  margin-bottom: 1em;
}

.price.page main .price_box:not(:last-child){
  margin-bottom: 2.5em;
}

.price.page main table thead{
  display: none;
}

.price.page main table tbody{
  border-bottom: 2px solid #ebeff6;
}

.price.page main table th, .price.page main table td{
  display: block;
  border: none;
}

.price.page main table thead th{
  padding: .75em 1em;
}

.price.page main table tbody th, .price.page main table tbody td,
.price.page main .price_note{
  padding: .75em 1em;
}

.price.page main table tbody th{
  color: #fff;
  background: #5588c8;
  border-left: 2px solid #5588c8;
  border-right: 2px solid #5588c8;
}

.price.page main table tbody td{
  text-align: left;
  background: #fff;
  border-left: 2px solid #ebeff6;
  border-right: 2px solid #ebeff6;
  padding: 0;
}

.price.page main table tbody td.off{
  display: none;
}

.price.page main table tbody td::before{
  font-weight: normal;
  text-align: left;
  background: #ebeff6;
  display: block;
  content: attr(data-label) ''attr(data-tax);
  padding: .75em 1em;
}

.price.page main table tbody td ul,
.price.page main table tbody td p{
  padding: .75em 1em;
}

.price.page main table tbody th br,
.price.page main table tbody td br,
.price.page main table tbody .caution br{
  display: none;
}

.price.page main table tbody .caution{
  margin: 0 -.3em;
}

.price.page main table i{
  font-size: .8em;
  font-weight: normal;
}

.price.page main p.tax{
  display: none;
}

.price.page main .price_note{
  display: flex;
  align-items: flex-start;
}

.price.page main ul.note_list{
  flex: 1 1 0%;
}

.price.page main table br.spon,
.price.page main ul.note_list br{
  display: inline-block;
}

.price.page main .price_note p,
.price.page main .price_note ul.note_list{
  padding: 0;
}

/*--------------------------------------------------

  access page

  ------------------------------------------------*/
.access.page main .walk ol{
  counter-reset: route;
  list-style: none;
  padding-left: 0;
}

.access.page main .walk ol > li{
  counter-increment: route;
  position: relative;
}

.access.page main .walk ol > li::before{
  color: #fff;
  font-size: 1.25em;
  text-align: center;
  font-weight: bold;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 1px;
  line-height: 10vw;
  width: 100%;
  max-width: 10vw;
  height: 100%;
  max-height: 10vw;
  background: #5588c8;
  border-radius: .25em;
  position: absolute;
  top: -.5em;
  left: -.5em;
  content: counter(route, decimal-leading-zero);
}

.access.page main .walk ol > li:not(:last-child){
  margin-bottom: 9vw;
}

.access.page main .walk ol > li:not(:last-child)::after{
  content: '';
  background: url(img/access/route_arrow.svg) no-repeat 0 0;
  background-size: 100%;
  position: absolute;
  width: 4.007vw;
  height: 2.672vw;
  left: 0;
  right: 0;
  bottom: -5.4vw;
  margin: auto;
}

.access.page main .walk figure img{
  margin-bottom: 1em;
}

.access.page main .walk figcaption p:not(:last-child){
  margin-bottom: .75em;
}

.access.page main .walk ul{
  margin-top: 2em;
}

.access.page main .walk ul li:not(:last-child){
  margin-bottom: 1.5em;
}

.access.page main .walk h3{
  margin-top: 0;
}

.access.page main .walk h3::before{
  content: none;
}

.access.page main .walk p span{
  display: inline-block;
  margin-left: 1.2em;
}

/*--------------------------------------------------

  office page

  ------------------------------------------------*/
.office.page main h2.reset{
  color: #084085;
  text-align: left;
  display: inline-block;
  margin-bottom: 1em;
}

.office.page main .message{
  margin-bottom: 2em;
}

.office.page main .message > div::after{
  content: '';
  display: block;
  clear: both;
}

.office.page main .message .business_photo{
  float: right;
  width: 42%;
  margin-left: 1.5em;
  margin-bottom: 1em;
}

.office.page main .information .book_photo img{
  border: 6px #ebeff5 solid;
}

.office.page main .message p.spoff br{
  display: none;
}

.office.page main .profile table th{
  padding: .75em 1em;
}

.office.page main .profile table th{
  background: #ebeff5;
}

.office.page main .president_profile br{
  display: none;
}

.office.page main .profile p.ttl{
  color: #5588c8;
  font-weight: bold;
  margin-bottom: .6em;
}

.office.page main .profile ul li:not(:last-child){
  margin-bottom: 0.25em;
}

.office.page main .profile ul.president{
  list-style: none;
  padding-left: .4em;
  margin-bottom: 1em;
}

.office.page main .profile ul.interest span{
  display: block;
  margin-inline: -.5em;
}

/*--------------------------------------------------

  contact page - form

  ------------------------------------------------*/
.contact.page main .post_content{
  padding-inline: 0;
  margin-top: 1.5em;
}

.contact.page .smf-form .lead{
  text-align: center;
  margin-bottom: 1em;
}

.contact.page .smf-form .lead span{
  font-size: .9em;
  display: block;
}

.contact.page .smf-form .lead span i{
  color: #cc3033;
}

.contact.page ol.smf-progress-tracker{
  padding-left: 0;
  margin-bottom: 1.5em;
}

.contact.page ol.smf-progress-tracker li{
  margin: 0;
}

.contact.page .smf-progress-tracker__item__number{
  width: 6vw;
  height: 6vw;
}

.contact.page .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text{
  color: #39abff;
}

.contact.page .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number{
  background: #39abff;
}

.contact.page .smf-form{
  margin-bottom: 2.25em;
}

.contact.page .smf-form .smf-item{
  margin-bottom: 1em;
}

.contact.page .smf-form .smf-item.select_box{
  margin-bottom: .5em;
}

.contact.page .smf-form .smf-item.privacy_box{
  margin-bottom: 0;
}

.contact.page .smf-form .smf-item label{
  line-height: 1.5;
}

.contact.page .smf-form .smf-item .smf-item__label{
  margin-bottom: .3em !important;
}

.contact.page .smf-form .smf-item .smf-item__label__text{
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  position: relative;
}

.contact.page .smf-form .smf-item .smf-item__label__text:after{
  content: '*';
  color: #cc3033;
  font-size: 1em;
  font-weight: normal;
  line-height: 1;
  position: absolute;
  top: 0;
  right: -.75em;
}

.contact.page .smf-form .smf-item.optional .smf-item__label__text:after{
  content: none;
}

.contact.page .smf-form .smf-item input{
  width: 100%;
}

.contact.page .privacy_message{
  font-size: .9em;
  margin-top: .25em;
}

.contact.page .privacy_message a{
  text-decoration: underline;
}

.contact.page .privacy_message a:hover{
  text-decoration: none;
}

.contact.page .smf-action .smf-button-control{
  margin: 0;
}

.contact.page .smf-action button{
  background-color: transparent;
  background-image: none;
  border: none;
  color: #fff;
  font-weight: bold;
  width: 100%;
  display: block;
  background: #39abff;
  border-radius: 0;
  padding: .75em 1em;
  margin: 0 auto;
}

.contact.page .smf-action button:hover{
  opacity: 0.8;
}

.contact.page .smf-action button[data-action="back"]{
  background: #ddd;
  margin-bottom: 1em;
}

.contact.page .smf-form :is(.smf-text-control__control:active,
.contact.page .smf-text-control__control:focus,
.contact.page .smf-text-control__control:focus-within,
.contact.page .smf-text-control__control[aria-selected=true]),
.contact.page .smf-form :is(.smf-textarea-control__control:active,
.contact.page .smf-textarea-control__control:focus,
.contact.page .smf-textarea-control__control:focus-within,
.contact.page .smf-textarea-control__control[aria-selected=true]){
  border-color: #39abff;
}

.contact.page .smf-form input[type="radio"],
.contact.page .smf-form input[type="checkbox"]{
  width: 1em;
  height: 1em;
  padding: 0;
}

.contact.page .smf-form input[type="radio"]::before{
  width: .375em;
  height: .375em;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.contact.page .smf-form input[type="checkbox"]::before{
  width: .375em;
  height: .5em;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -60%) rotate(45deg);
}

.contact.page .smf-form .smf-radio-button-control__control:checked,
.contact.page .smf-form .smf-checkbox-control__control:checked{
  background-color: #39abff;
  border-color: #39abff;
}

/*--------------------------------------------------
  contact page - form error messages
  ------------------------------------------------*/
.contact.page .smf-item .smf-error-messages{
  font-size: .85em;
  margin-top: .25em;
}

.contact.page form[data-screen="input"] .confirm.lead,
.contact.page form[data-screen="back"] .confirm.lead,
.contact.page form[data-screen="invalid"] .confirm.lead{
  display: none;
}

/*--------------------------------------------------
  contact page - form confirm（確認画面）
  ------------------------------------------------*/
.contact.page .smf-form .smf-item .smf-placeholder{
  overflow-wrap: anywhere;
}

.contact.page form[data-screen="confirm"] .input.lead,
.contact.page form[data-screen="confirm"] .privacy_message{
  display: none;
}

.contact.page form[data-screen="confirm"] .smf-form .smf-item{
  border-bottom: 1px #ddd solid;
  padding-bottom: .75em;
}

.contact.page form[data-screen="confirm"] .smf-form .smf-item:nth-child(3){
  border-top: 1px #ddd solid;
  padding-top: .8em;
}

.contact.page form[data-screen="confirm"] .smf-form .smf-item .smf-item__label{
  margin-bottom: 0 !important;
}

.contact.page form[data-screen="confirm"] .smf-form .smf-item .smf-item__description,
.contact.page form[data-screen="confirm"] .smf-form .smf-item .smf-item__label__text:after{
  display: none;
}

/*--------------------------------------------------
  contact page - form complete（完了画面）
  ------------------------------------------------*/
.contact.page .smf-complete-content h2{
  color: #084085;
  text-align: center;
  background: none;
  padding: 0;
  margin: 0 0 1em;
}

.contact.page .smf-complete-content h2::before{
  content: none;
}

.contact.page .smf-complete-content .txt_box{
  margin-bottom: 2em;
}

.contact.page .smf-complete-content .txt_box p:not(:last-child){
  margin-bottom: 1em;
}

.contact.page .smf-complete-content .txt_box p.frame{
  color: #39abff;
  font-weight: bold;
  border: 2px #39abff solid;
  border-radius: .5em;
  padding: .75em 1em;
  margin: 1.5em auto;
}

/*--------------------------------------------------

  privacy page

  ------------------------------------------------*/
.privacy.page main section > div .txt_box:not(:last-child){
  margin-bottom: 2em;
}

.privacy.page main h2{
  margin-bottom: 1.5em;
}

.privacy.page main h2.reset{
  color: #084085;
  font-size: 1.2em;
  text-align: left;
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: .5em;
  margin-bottom: 1.5em;
  position: relative
}

.privacy.page main h2.reset::before{
  content: '';
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--color_htag) 0%, var(--color_htag) 29.3%, rgba(150,150,150,.2) 29.3%, rgba(150,150,150,.2) 100%);
  border: none;
  top: auto;
  bottom: 0;
  z-index: 0;
}

.privacy.page main ul li:not(:last-child){
  margin-bottom: .25em;
}

/*--------------------------------------------------

  sitemap page

  ------------------------------------------------*/
.sitemap.page main h2.reset{
  color: #084085;
  text-align: left;
  background: #ebeff6;
  border-radius: .5em;
  padding: .75em 1em;
  margin-bottom: 1.25em;
}

.sitemap.page main .link_home i{
  color: #5588c8;
  margin-right: .5em;
}

.sitemap.page main a{
  color: #111;
}

.sitemap.page main a:hover{
  color: #39abff;
  text-decoration: underline;
}

.sitemap.page main ul li:not(:last-child){
  margin-bottom: .25em;
}

/*--------------------------------------------------

  sidebar

  ------------------------------------------------*/
#sidebar{
  margin-top: 2em;
}

#sidebar #fix_sidebar{
  display: block !important;
  position: static;
}

#sidebar .c-listMenu > .c-widget__title{
  margin-bottom: 0;
}

#sidebar .c-widget__title{
  padding: .75em 1em;
}

#sidebar .c-listMenu a{
 padding: 1em;
}

#sidebar .c-listMenu li a::before{
  content: none;
}

#sidebar .c-listMenu li a::after{
  content: '\e930';
  color: #5588c8;
  font-weight: normal;
  font-family: icomoon;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .25s;
}

#sidebar .c-listMenu li a:hover{
  background-color: #e7f3fc;
}

#sidebar .c-listMenu li a:hover::after{
  -webkit-transform: translateX(4px) translateY(-50%);
  transform: translateX(4px) translateY(-50%);
}

#sidebar .widget_search button{
  background-color: #5588c8 !important;
}

#sidebar .c-searchForm__s:focus-visible{
  outline: none;
}

/*--------------------------------------------------
  side bnr
  ------------------------------------------------*/
#sidebar .bnr_box{
  max-width: 304px;
  list-style: none;
  padding: 0;
  margin: 0 auto;
}

#sidebar .bnr_box li{
  margin: 0;
}

#sidebar .bnr_box li:not(:last-child){
  margin-bottom: 20px;
}

.bnr_box img{
  width: 100%;
  display: block;
}

.bnr_box .bnr_contact{
  border: 5px #084085 solid;
}

.bnr_box .bnr_contact .txt_box{
  background: #084085;
  padding: 13px 10px 10px;
}

.bnr_box .bnr_contact .tel_box{
  text-align: center;
  margin-bottom: 10px;
}

.bnr_box .bnr_contact .tel_box a{
  display: flex;
  align-items: center;
  justify-content: center;
}

.bnr_box .bnr_contact .tel_box .number{
  color: #fff;
  font-size: 28px;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
}

.bnr_box .bnr_contact .tel_box .img_box{
  width: 16px;
  margin-right: .5em;
}

.bnr_box .bnr_contact .tel_box .office_hours{
  color: #fff;
  font-size: 12px;
  margin-top: 5px;
}

.bnr_box .bnr_contact .tel_box .office_hours span{
  margin-left: -.25em; 
}

.bnr_box .bnr_contact .btn a{
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #39abff;
  padding: 1em 2em;
}

.bnr_box .bnr_contact .btn a:hover{
  background: #fff;
}

.bnr_box .bnr_contact .btn a i{
  font-size: 20px;
  margin-inline: -.5em .5em;
}

/*--------------------------------------------------

  single post

  ------------------------------------------------*/
.single-post main .post_content{
  padding-inline: 0;
  margin: 1.5em 0 0;
}

.single-post main figure.p-articleThumb{
  margin-bottom: 1.75em;
}

.single-post main h1{
  color: #084085;
  font-size: 5.2256vw;
}

.single-post main .p-articleMetas{
  flex-flow: row-reverse;
  justify-content: flex-end;
  gap: 3vw;
  margin-top: 4vw;
}

.single-post main .c-categoryList a{
  font-size: 2.6vw;
  text-align: center;
  font-weight: bold;
  min-width: 15vw;
  border-radius: 50vh;
  padding: .6em .75em .5em;
}

.single-post main .c-categoryList a:hover{
  box-shadow: none;
}

.single-post.cat-news main .c-categoryList a[data-cat-id="15"]{
  background: #61bebf;
}

.single-post.cat-blog main .c-categoryList a{
  background: #39abff;
}

.single-post main .c-postTimes{
  opacity: 1;
}

.single-post main time{
  color: #999;
  font-size: 3.6vw;
  font-weight: bold;
  letter-spacing: .025em;
}

.single-post main .c-categoryList::before,
.single-post main time::before{
  display: none;
}

.single-post main .p-articleFoot{
  display: none;
}

/*--------------------------------------------------

  404 error

  ------------------------------------------------*/
.error404 #content{
  max-width: 1200px;
}

.error404 main h1{
  color: #ccc;
  font-size: 6vw;
  line-height: 1;
  padding-top: 0;
  margin-bottom: .75em;
}

.error404 main h1 span{
  font-size: 20vw;
  display: block;
  margin-bottom: .5vw;
}

.error404 main .post_content .u-ta-c{
  margin-bottom: 1em;
}

.error404 main .post_content .lead{
  color: #39abff;
  font-size: 1.1em;
}

.error404 main .post_content .last_txt{
  margin-bottom: 2em;
}

.error404 main .post_content .btn{
  padding: 0;
  margin: 0;
}

.error404 main .post_content .btn a{
  box-shadow: none;
}