@charset "utf-8";
:root {
    --gn: 16vw;
}
.two-column {
    width: 100%;
    padding-top: 7vw;
}
.two-column:has(main.top) {
    padding-top: 0;
}
main.top .wrap {
    width: 90%;
}
#wpadminbar {
    top: inherit;
    position: fixed;
}

#breadcrumbs {
    width: 100vw;
    white-space: nowrap;
    overflow: auto;
    font-size: 2.8vw;
	top: 2vw;
	left: 2vw;
}
#breadcrumbs.breadcrumbs-404-search {
    padding: 23vw 0 0;
}
html {
    margin-top: 0 !important;
}
body {
    font-size: 3.73vw;
    color: #303030;
    -webkit-text-size-adjust: 100%;
        overflow-x: hidden;
}
img {
    vertical-align: top;
    max-width: 100%;
}
.sub-page iframe {
    width: 100%;
}
main.top {
    width: 100%;
}
.wrap {
    width: auto;
}
.w100p {
    width: 100%;
    height: auto;
}
.sp {
    display: block !important;
}
.pc {
    display: none !important;
}
.tb {
    display: none !important;
}
.btn {
    width: 78%;
    padding: 4vw 0;
    font-size: 3.8vw;
    border-radius: 6px;
}
.btn:after {
    font-size: 3.4vw;
}
/*==========================================================
	     headline
===========================================================*/
h1 {
     font-size: 2.7vw;
    padding: 1.5vw 4vw;
    width: 100%;
    box-sizing: border-box;
    line-height: 1.1;
}
h2 {
line-height: 1.2;
    clear: both;
    font-weight: 800;
    font-size: 5vw;
    text-align: left;
    position: relative;
    margin: 15px 0 0;
	  overflow: hidden;
}
h2:before {
    width: 2px;
    left: 5px;
}
h2:after {
    width: 1px;
    left: 8px;
}
h3 {
    font-size: 5vw;
    padding: 2.5vw;
    position: relative;
    clear: both;
    line-height: 1.3;
}
h3:after {
     display: none;
}
h4 {
    font-size: 1.6rem;
}
main.top h2 {
    padding: 3vw 4vw;
    font-size: 5vw;
    box-sizing: border-box;
}
main.top h3 {
    background-image: -moz-linear-gradient( 90deg, rgb(231,231,231) 0%, rgb(255,255,255) 100%);
    background-image: -webkit-linear-gradient( 
90deg
, rgb(231,231,231) 0%, rgb(255,255,255) 100%);
    background-image: -ms-linear-gradient( 90deg, rgb(231,231,231) 0%, rgb(255,255,255) 100%);
    border-bottom: 0.6vw solid #ffa54b;
    border-top: 1px solid #d9d9d9;
    text-align: left;
    width: 100%;
    padding-left: 5%;
    padding-right: 0;
	 
}
h3 span {
    font-weight: bold;
}

h4 {
    font-size: 4.1vw;
    font-weight: bold;
    position: relative;
    line-height: 1.2;
    clear: both;
    padding: 2.2vw 2.6vw;
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", "Meiryo", sans-serif;
}
h5 {
    color: #575757;
    font-size: 3.8vw;
    font-weight: bold;
    padding: 1.5vw;
    position: relative;
    line-height: 1.2;
    clear: both;
}

h6 {
background: #fffcd2;
    color: #494949;
    font-size: 3.57vw;
    padding: 2.53vw;
    clear: both;
    line-height: 1.2;
}

.sub-page h2,
.sub-page h3,
.sub-page h4,
.sub-page h5,
.sub-page h6 {
    margin-top: 6vw;
    margin-bottom: 5vw;
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
}
main.top h5 {
    font-size: 1.7rem;
    color: #101010;
    padding: 2vw;
    margin: 3vw 0;
    border-bottom: solid 1px #ffad5b !important;
    text-align: left;
    border: 0;
    text-align: center;
}
main.top h4 {
    margin: 0 0 5vw 0px;
    text-align: left;
    width: 100%;
    padding: 2vw 3vw!important;
    font-size: 1.65rem;
    box-sizing: border-box;
}
img.alignright {
    padding: 4px;
    margin: 0 0 0.1em 0.5em;
    display: inline;
    max-width: 50%;
    float: right;
    height: auto;
}
.wpcf7 .ajax-loader {
    position: absolute;
}

.wpcf7-list-item-label {
    font-size: inherit;
}
.wp-pagenavi {
    margin: 10vw 0;
    text-align: center;
}

.wp-pagenavi .first,
.wp-pagenavi .last {
    display: none;
}


/*==========================================================
	header footer
===========================================================*/
.header__logo img {
    max-width: inherit;
    width: 72vw;
}
.header__info {
    height: 20vw;
    padding: 3vw;
}
.header-info__wrapper {
    height: 26vw;
    box-sizing: border-box;
    padding: 2vw 0;
    margin: 0 2vw !important;
}
header .menubtn.sp {
    width: 15vw;
    margin-top: 5vw;
}
.footer-info__cotainer {
    flex-wrap: wrap;
    width: 90%;
	gap: 4vw;
	justify-content: center;
}
footer {
    margin-bottom: 50vw;
}
footer .copy {
    font-size: 2.4vw;
    padding: 3.5vw 0;
}
.footer__logo {
    width: 93%;
}
.footer-info__wrapper {
    flex-wrap: wrap;
    gap: 5vw;
	  margin: 0 6vw !important;
}
.footer-info .logo {
   width: 85vw;
}
.footer-info__company-name {
    font-size: 3.4vw;
    padding: 4vw 0 3vw;
}
.footer-info__text {
    font-size: 3.2vw;
}
.footer-info__contact-title {
    padding: 1vw 0 0.5vw;
    font-size: 4vw;
}
.footer-info__contact-tel {
    font-size: 7.8vw;
    gap: 2vw;
    padding: 1vw 0;
}
.footer-info__contact-hour {
    font-size: 3vw;
    gap: 2vw;
}
.footer-info__contact-hour span {
	font-size: 3vw;
}
.footer-info__time {
    font-size: 3vw;
    padding: 0 4vw;
}
.footer-info__contact-box {
    margin-bottom: 4vw;
    height: 26vw;
}
.footer-info {
    padding: 5vw 0 7vw;
}
.footer__flow-btn {
    padding: 2vw 0 1.5vw;
    font-size: 3.2vw;
    width: 100%;
}
.footer-info__right {
    width: 90%;
    padding: 0;
}
/* .footer-menu */
.footer-menu__cotainer {
    flex-wrap: wrap;
}
.footer-menu ul li a {
    display: block;
    border-bottom: solid 1px var(--main-color);
    border-top: none;
    text-decoration: none;
    padding: 3.5vw 8vw 3.5vw 4vw;
    font-size: 4vw;
    position: relative;
    line-height: 1.2;
}
.footer-menu ul li a:before {
    content: " \f105";
    font-family: "Font Awesome 5 Free";
    color: var(--main-color);
    position: absolute;
    right: 3vw;
	  left: inherit;
     top: 50%;
     transform: translateY(-50%);
}
.footer-menu li {
    padding: 0;
}
.footer-menu ul {
    width: 100%;
}
.footer-menu ul .sub-menu {
  display: none;
}
.menu-footer01-container,
.menu-footer02-container,
.menu-footer03-container,
.menu-footer04-container {
    width: 100%;
	flex: inherit;
}
.footer-menu ul .sub-menu li a {
background: #fff;
    color: #545454;
    border-bottom: 0.13vw solid #00c500;
}
.footer-menu ul .sub-menu li a {
    border-left: none;
    border-right: none;
}

.footer-menu ul .sub-menu li a:after {
color: #00c500;
}
.footer-menu li:not(:first-child) {
    margin-top: 0;
}
.footer-menu {
    padding: 0;
	border-top: solid 1px var(--main-color);
	width: 100%;
	background: #fff;
}
/*==========================================================
	フローティング
===========================================================*/
/* .footer-floating */
.footer-floating-sp__item-tel-text {
    position: absolute;
    color: #fff;
    top: 2vw;
    left: 7vw;
    text-align: center;
}

.footer-floating-sp__item {
    position: relative;
}
.footer-floating-sp__item a {
    text-decoration: none;
	display: block;
}
.footer-floating-sp__item span {
    position: absolute;
    display: block;
    color: #333;
    text-align: center;
	width: 100%;
   font-weight: bold;
   bottom: 2vw;
   font-size: 3.6vw;
}
.footer-floating-sp {
     position: fixed;
     bottom: 0;
    z-index: 9999;
    background: #ecf4f9;
    box-sizing: border-box;
    padding: 3vw 1vw;
    width: 100%;
}
.footer-floating-sp__item-tel-text b {
    display: block;
    font-size: 4.5vw;
}
.footer-floating-sp__item-tel-text b small {
    font-size: 0.85em;
}
.footer-floating-sp__item-tel-text span {
    font-size: 2.8vw;
    padding-top: 2.5vw;
    display: block;
}
.footer-floating-sp__list {
    display: flex;
    gap: 1vw;
}
.footer-floating-sp__item-tel {
    position: relative;
}

.page-header .title_area {
    font-size: 4vw;
}
.page-header .thumbnail img {
    bottom: -193%;
    height: 200%;
    max-width: inherit;
    width: auto;
    right: 65%;
}
.page-header h2 {
    padding: 0;
    font-size: 7vw;
    margin: 0;
}
.page-header p {
    font-size: 4vw;
	padding: 3vw 0 0;
}
.page-header__container {
    height: 50vw;
}
.page-header {
    height: 50vw;
    margin-bottom: 0vw;
    background-size: cover;
}
.page-header .thumbnail:before {
    height: 62vw;
    top: -4vw;
    left: 1vw;
}
.page-header .thumbnail:after {
    height: 62vw;
    top: -4vw;
    right: 1vw;
}

/*==========================================================
	    global navi
===========================================================*/


.menu-btn{
        position: absolute;
        cursor: pointer;
        width: 14vw;
        height: 14vw;
        right: 2vw;
        top: 50%;
        transform: translateY(-50%);
        border: 1px solid;
        border-radius: 5px;
	background: linear-gradient(#fff, #eeeeee);
		z-index:10001;
}
.menu-btn.active {
	background: none;
	border: none;
}
.menu-btn.active span{
	background: #fff;
}
.menu-btn.active .menu-btn__title {
	display:none;
}
.menu-btn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    width: 35%;
    height: 3px;
    background: var(--main-color);
	transform:  translateX(-50%);
	 left: 50%;
  }
.menu-btn span:nth-of-type(1) {
    top: 25%;
}
.menu-btn span:nth-of-type(2) {
    top: 37%;
}
.menu-btn span:nth-of-type(3) {
  top: 49%;
}
.menu-btn.active span:nth-of-type(1) {
   transform:  translateX(-50%) translateY(-50%) rotate(-45deg);
	top: 40%;
	width: 50%;
	left: 50%;
}
.menu-btn.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-btn.active span:nth-of-type(3){
   transform:   translateX(-50%) translateY(-50%) rotate(45deg);
	top: 40%;
	bottom: inherit;
	 width: 50%;
	  left: 50%;
}
.menu-btn__title {
    text-align: center;
    font-size: 2.8vw;
    margin-top: 9vw;
    font-weight: bold;
}
.global-nav__list {
    display: flex;
    width: 100%;
    margin: 0 auto;
}
nav.global-nav.global-navi-sp .global-nav__list {
	border-bottom: 1px solid #ffffffb0;
}
.global-nav__list li:before {
    width: 1px;
    height: 85%;
    background: #ffffffb0;
}
.global-nav__list a {
    height: 15vw;
    font-size: 2.6vw;
    text-align: center;
    line-height: 1.2;
    padding: 0;
    align-items: start;
}
.global-nav .nav-icon img{
   transform: scale(0.5);
}
.global-nav .nav-title {
    display: grid;
    place-content: center;
    height: 50%;
}
.global-nav .nav-icon {
    height: 50%;
}
.global-navi-pc {
  display: none;
}
.global-navi-pc.active {
	display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    position: fixed;
    background: #0069aa;
	transition: all .5s;
	overflow-y: auto;
}
.global-navi-pc.active .global-nav__list li {
    flex: inherit;
	width:100%;
	border-bottom: solid 1px #f7f4f18f;
	text-align: center;
	font-weight: bold;
}
.global-navi-pc.active .global-nav__list {
    flex-wrap: wrap;
	padding-top: 28vw;
}
body:has(.global-navi-pc.active) {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    overflow: hidden;
}
.global-navi-pc.active .global-nav__list a {
	flex-wrap: nowrap;
    font-size:4vw;
	padding: 0;
	align-items: center;
	justify-content: center;
    gap: 2vw;
}
.global-navi-pc.active .nav-title,
.global-navi-pc.active .nav-icon {
	width: auto;
}

/*=========================================================
	   コンタクトブロック
===========================================================*/
/* .contact */
.contact {
    padding: 6vw 0 8vw;
    border-radius: 0;
}
.contact__date {
    top: 19vw;
    font-size: 3vw;
    white-space: pre;
}
.contact__tel-num {
    top: 11%;
    left: 8%;
    font-size: 10vw;
    gap: 3vw;
}
.contact__tel-num:before {
    font-size: 0.9em;
}
.contact__wrapper {
    flex-wrap: wrap;
    width: 92%;
    margin: 0 auto;
}
.contact__tel,
.contact__mail {
  width: 100%;
}
.contact__tel {
    padding-bottom: 4vw;
}
.contact__tel-btn {
    min-height: 24vw;
    border-radius: 6px;
}
.contact__hour {
	font-size: 3vw;
}
.contact__mail-line {
    width: 100%;
}
.contact__title {
    font-size: 5.2vw;
    padding-bottom: 2vw;
}
.contact__mail-line-btn {
    min-height: 31vw;
    border-radius: 6px;
	background-position: top 4vw center;
}
.contact__mail-line-text {
    font-size: 4.6vw;
    padding-top: 18vw;
}
/*==========================================================
	    .mv
===========================================================*/
.mv {
    background-image: url(/wp-content/uploads/2025/03/mv__bg_sp.jpg);
    background-position: center top;
	aspect-ratio: inherit;
}
.mv__strong__container {
    align-items: end;
    gap: 8vw;
    flex-wrap: wrap;
    justify-content: right;
}
.mv__strong {
    border-radius: 10px;
    width: 100%;
    box-shadow: 0 0 3px #7d7d7d;
    padding: 0.5vw 3vw;
    height: 48vw;
}
.mv__strong-title-wrapper {
    font-size: 4.2vw;
    padding: 1.7vw 0 1.4vw 1vw;
    position: relative;
}
.mv__strong-title-wrapper:before {
    width: 5vw;
    height: 5vw;
    font-size: 3vw;
    margin-right: 2vw;
}
.mv__strong-title {
    position: relative;
    width: 90%;
    margin-right: 0;
    margin-left: auto;
	line-height: 1.2;
}
.mv__catch {
    width: 37vw;
}
.mv__title {
    width: 100%;
	height: auto;
    padding: 3vw 0 9vw 0;
}
.mv__container {
    width: 94%;
    height: 150vw;
	min-height: inherit;
    place-content: inherit;
	display: block;
}
/*========================================================
	TOPコンテンツ
=========================================================*/
/* .main-menu */
.main-menu__title {
    left: 4vw;
    font-size: 4.4vw;
}
.main_menu__item {
    width: 77%;
}
.main_menu__list {
    gap: 4vw;
    padding: 7vw 0;
}
/*.greeting  */
.greeting {
    padding-bottom: 6vw;
}
.greeting h2 span { display: block; }
.greeting__box {
    margin: 5vw 0 0 0;
}
.greeting__text {
    padding: 5vw;
    font-size: 3.8vw;
    line-height: 1.5;
    position: relative;
    width: 92%;
    left: 0;
    top: -13vw;
    left: 50%;
    transform: translateX(-50%);
}
/* .strengths */

main.top .strengths h2 {
    font-size: 5.4vw;
}
main.top .strengths h2 span {
	line-height: 1.3;
	display: block;
    padding: 0 0 2vw 0;
}
.strengths {
   padding: 10vw 0;
}
.strengths__title:before {
    font-size: 4vw;
    line-height: 6vw;
    width: 6vw;
    height: 6vw;
    padding: 1px 0 0 0;
}
.strengths__text-wrapper {
    width: 100%;
    display: block;
	flex: inherit;
}
.strengths__list {
    padding: 6vw 0 0 0;
    gap: 6vw;
}
.strengths__text {
    line-height: 1.5;
    padding-top: 3vw;
    font-size: 3.8vw;
}
.strengths__image {
    width: 75%;
}
.strengths__item {
    height: inherit;
    padding: 3vw 3vw 5vw 3vw;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3vw;
	border-width: 1px;
}
.strengths__title {
    font-size: 5vw;
    align-items: start;
    gap: 2vw;
}
.strengths__item:nth-child(3) .strengths__title {
    width: inherit;
}
.strengths__title span {
    width: 80%;
}
.strengths__title-image {
    width: 96%;
}
/* .access */
.access iframe {
    height: 55vw;
    width: 100%;
    padding: 8vw 0 0 0;
}
/* .latest-news */
.latest-news {
    padding: 0 0 7vw;
}
.latest-news__list {
    height: 66vw;
    border: none;
}
.latest-news__title {
    font-size: 3.8vw;
    flex: inherit;
    width: 100%;
    padding-top: 2vw;
}
.latest-news__link {
    flex-wrap: wrap;
    padding: 3vw;
}
.latest-news__date {
    font-size: 3.2vw;
}
.latest-news__type {
    width: 24vw;
    font-size: 3.2vw;
    height: 5vw;
    margin: 0 0 0 3vw;
}
/* .merit */
.merit h2 span {
    display: block;
}
.merit__list {
    gap: 6vw;
    padding: 6vw 0 0 0;
}
.merit__item-title {
    font-size: 4.6vw;
    padding: 3vw 4vw 2vw;
}
.merit__item-text {
    font-size: 3.7vw;
    padding: 5vw 0 0 0;
}
/* .office */
.office__container {
    display: flex;
    gap: 6vw;
    padding: 7vw 0 0 0;
    flex-wrap: wrap;
    justify-content: center;
}

.office__info {
    width: 100%;
}
.office__image {
    width: 73%;
}
.office__info-text p {
    font-size: 3.6vw;
    padding: 0 0 4vw 0;
}

.office__btn {
    width: 55%;
    border-radius: 2px;
}
/*.access*/
.access {
    padding: 0 0 8vw 0;
}
/* .area */
.area {
    padding: 0 0 9vw 0;
}
.area__text {
    padding: 5vw 0 0 0;
}
/* .case */
.case {
    padding: 0 0 10vw 0;
}
.case__list {
    padding: 6vw 0 0;
    width: 100%;
}
.case__title {
    font-size: 4vw;
    height: 22vw;
    line-height: 1.4;
}
.case__image {
    height: 32vw;
}
.case__tag {
    font-size: 3.2vw;
    padding: 0.7vw 3vw;
    margin: 3vw 0;
}
.case__text {
    font-size: 3.6vw;
    line-height: 1.6;
    height: 28vw;
}
.case__item a {
    padding: 3vw 4vw;
}
.case .slick-prev:before, .case .slick-next:before {
    font-size: 10vw;
}
.case .slick-prev {
    left: 11vw;
}
.case .slick-next {
    right: 11vw;
}
/* .voice */
.voice {
    padding-bottom: 8vw;
}
.voice__list {
    gap: 10vw;
    padding: 6vw 0 6vw;
    flex-wrap: wrap;
}
.voice__item {
    width: 68%;
    height: 86vw;
}
/*--------------------------------------------------------------------------------------------------------------------------------
	　共通
--------------------------------------------------------------------------------------------------------------------------------*/
 
.consultation-flow__list {
    margin: 4vw 0 6vw;
}
.consultation-flow__text-wrapper {
    padding: 10vw 0 0;
}
.consultation-flow__item {
	width: 100%;
	margin-bottom: 18vw;
}
.consultation-flow__item:before {
    top: 50vw;
    font-size: 9vw;
    width: 13vw;
    height: 13vw;
}
.consultation-flow {
    padding: 8vw 0;
}
.consultation-flow__text {
	font-size: 3.8vw;
}
.consultation-flow__item:after {
	bottom: -16.5vw;
	right: 50%;
	font-size: 16vw;
	transform: rotateZ(90deg) translate(50%, -15%);
}
.consultation-flow__item:last-child {
	margin-bottom: 0;
}
/*----------------------------------------------------
  sub-page
----------------------------------------------------*/
.sub-page {
    font-size: 4.0vw;
    width: 93%;
    margin: 0 auto 4vw;
}
.sub-page__content p {
    padding: 2vw 0;
    font-size: 3.8vw;
}
.sub-page__content ul {
   padding: 2vw 0;
}
.sub-page__content li {
    font-size: 3.8vw;
}
.sub-page img {
    height: auto;
    max-width: 100%;
    display: block;
    text-align: center;
    margin: auto;

}

.sub-page td img {
    height: auto;
    width: 90% !important;
    padding-right: 5%;
    padding-left: 5%;   
}

.sub-page table {
    word-break : break-all;
    width: 100% !important;
}

.sub-page table td span {
    word-break : break-all; 
}


.page_list {
  border-top: 3px solid #c18e55;
  margin: 8vw 0 0;
}

.page_list ul li a {
  display: block;
  border-bottom: 1px solid #e2e2e2;
  padding: 4vw;
  color: #4f3e2b;
  text-decoration: none;
}

.page_list ul li a:before {
  content: " \f0da";
  font-family: "Font Awesome 5 Free";
  padding: 0 0.67vw 0 0;
}

.page_list ul.child li a {
  padding: 4vw 6vw;
}

table.line th {
    background-color: #eae8e3;
    border: #d3d3d3 1px solid;
    padding: 10px;
    vertical-align: middle;
    text-align: left;
}

table.line td {
    border: #d3d3d3 1px solid;
    padding: 10px;
    text-align: left;
    vertical-align: middle;
}

.pagenation {
  border-top: 1px solid #efefef;
  text-align: center;
  margin: 4vw 0 0;
  padding: 4vw 0;
}

.pagenation li {
  display: inline-block;
  padding: 0 0.67vw;
}

.pagenation li a {
    display: block;
    border: 1px solid var(--main-color);
    padding: 2vw 1.73vw;
    color: #4c4c4c !important;
    text-decoration: none;
    padding: 1vw 4vw !important;
    font-size: 3.4vw !important;
}
/* .parent-child */
.sub-page .parent-child {
    padding: 5vw 0;
}
.sub-page__content .parent-child__list {
    display: flex;
    gap: 5vw 4%;
}
.sub-page .parent-child__item {
    width: 48%;
}
.sub-page .parent-child__item-thumbnail {
    height: 30vw;
}
.sub-page .parent-child__item-title {
    font-size: 3.6vw;
    line-height: 1.4;
    padding: 3vw 0 0 0;
}
/*----------------------------------------------------
  pagetop
----------------------------------------------------*/

#pagetop {
    position: fixed;
    bottom: 25vw;
    right: 3vw;
    z-index: 100;
    width: 15vw;
}

/**/
.wp-pagenavi a, .wp-pagenavi span {
    padding: 1.4vw 2.3vw;
    margin: 1vw 1vw;
    border-radius: 4px;
    font-weight: bold;
}.search input{
    border: 0.33vw solid #ccc;
}
.contents_menu {
    font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", "Meiryo", sans-serif;
	border-top: solid 1px var(--sub-color);
}

/* テーブル対応
---------------------------------------------*/
table , td, th , tr {
    font:           100%;
    line-height: 1.3em;
}

table.mainstyle {
    border: 1px #b9b9b9 solid;
    border-collapse:    collapse;
    border-spacing:     0;
    margin: 3vw 0;
}

table.mainstyle th {
    font-weight:        bold;
    padding: 2vw;
    font-size: 3.8vw;
    border:             1px #b9b9b9 solid;
    background:         #FFFFCC;
    vertical-align: middle;
}

table.mainstyle td {
    padding: 2vw;
    font-size: 3.8vw;
    border:             1px #b9b9b9 solid;
    background:         #fff;
    vertical-align: middle;
}

.ptable p {
  margin: 0 !important;
}

.p_zero {
  margin: 0 !important;
}


/* WP STYLE
---------------------------------------------*/

img.centered {
    display: block;
    margin-left: auto;
    margin-right: auto;}

img.alignright {
    display: inline;
}

td img.alignright {
    max-width:      90%;
}

td img.alignleft {
    max-width:      90%;
}
img.alignleft {
    display: inline;
}
time > p {
    font-size: 0.7em;
}

/*==========================================================
	sidebar
===========================================================*/
.sidebar {
    display: none;
}
/*==========================================================
	ARCHIVE
===========================================================*/
/*----------------------------------------------------
archive
----------------------------------------------------*/
.archive__item {
    border-bottom: 1px solid #e8e8e8;
    padding: 0;
    position: relative;
    line-height: 1.2;
    font-size: 3.8vw;
    padding-bottom: 4vw;
}
.archive__title {
    font-size: 5vw;
    margin: 2vw 0 1vw;
}
.archive__date {
    font-size: 3.2vw;
}
li.cat-item {
    width: 100% !important;
    padding: inherit !important;
}
li.cat-item:after {
    content: "";
    display: block;
    clear: both;
}
li.cat-item {
    border: none !important;
    margin: 5px 0 !important;
}

/*----------------------------------------------------
archive-tax-parents
----------------------------------------------------*/
.archive-tax-parents__list {
    gap: 2vw 2%;
	  width: 100%;
}
.archive-tax-parents__item {
    width: 48%;
    font-size: 3.8vw;
}
.archive-tax-parents {
    display: flex;
    justify-content: space-between;
    gap: 3vw;
    flex-wrap: wrap;
}

/*----------------------------------------------------
archive-with-thumbnail
----------------------------------------------------*/
.archive-with-thumbnail__btn {
    border: 1px solid #eee !important;
    margin: 0;
}
.archive-with-thumbnail__image {
    width: 60%;
    margin: auto;
    height: 50vw;
    display: block;
    background-color: #ffffff;
    overflow: hidden;
    text-align: center;
    border: 1px solid #eeee;
	
}
.archive-with-thumbnail__item dd {
    width: 100%;
}
.archive-with-thumbnail__item dt {
    width: 100%;
}
.archive-with-thumbnail__image img {
    object-fit: cover;
    vertical-align: top;
    height: 50vw!important;
	width: 100%;
}
.archive-with-thumbnail dl {
    flex-wrap: wrap;
    justify-content: center;
}

/*==========================================================
	 SINGLE
===========================================================*/

.wpcf7 .ajax-loader {
    display: block !important;
}
.writer {
    margin-bottom: 10vw;
}
.sub-page .page_lawyer table tr {
	display: block;
}

.wpcf7-spinner {
    display: block!important;
}
/*----------------------------------------------------------------------------------------------------------------------
	.contact-form
-----------------------------------------------------------------------------------------------------------------------*/
.sub-page__content .contact-form .btn {
    padding: 2vw 0;
    width: 45%;
}
.contact-form .btn input {
    font-size: 3.6vw;
}
.contact-form .required {
    padding: 3px 5px 3px 5px;
    margin: 0 10px 0 0;
}
.sub-page__content:has(form) textarea {
    height: 58vw;
}
/* お問い合わせ確認 */
.sub-page__content:has(form) form td,
.sub-page__content:has(form) form th {
	display: block;
    padding: 2vw 3vw;
}
button.wpcf7cp-cfm-edit-btn,
button.wpcf7cp-cfm-submit-btn {
    font-size: 4vw;
    width: 45%;
}