@charset "utf-8";
:root {
	--header-height: 19vw;
}
.two-column {
    width: 100%;
    padding-top: 7vw;
}
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: 90%;
}
.w100p {
    width: 100%;
    height: auto;
}
.sp {
    display: block !important;
}
.pc {
    display: none !important;
}
/*==========================================================
	     headline
===========================================================*/
h1 {
    font-size: 5.5vw;
    padding: 2.5vw 2vw;
    box-sizing: border-box;
    line-height: 1.1;
	border-top-width: 2px;
    border-bottom-width: 2px;
}
h2 {
	line-height: 1.2;
    font-size: 5vw;
	padding: 2vw 2vw 2vw 8vw;
}
h2:before,
h2:after {
    width: 7vw;
    height: 7vw;
}
h3 {
    font-size: 4.5vw;
    padding: 2.5vw;
    line-height: 1.2;
	border-left-width: 3px;
}
main.top h2 {
    padding: 3vw 4vw;
    font-size: 5vw;
    box-sizing: border-box;
}
main.top h3 {
	padding: 2.5vw 3vw;
    margin: 3.5vw 0 0;
    font-size: 4.4vw;
}

h4 {
    font-size: 4.2vw;
    position: relative;
    line-height: 1.2;
    padding: 2.2vw 2.6vw 2.2vw 7vw;
}
h4:before,
h4:after {
    width: 5vw;
    height: 5vw;
}
h5 {
    font-size: 3.8vw;
    line-height: 1.2;
	border-bottom-width: 2px;
}

h6 {
    font-size: 3.5vw;
	padding: 0 1vw 0.5vw 5vw;
    line-height: 1.2;
}
h6:before {
    height: 10px;
    left: 0;
    bottom: -2px;
    clip-path: polygon(0 100%, 10px 0, 10px calc(100% - 2px), 100% calc(100% - 2px), 100% 100%, 10px 100%, 0 100%);
}
.sub-page h2,
.sub-page h3,
.sub-page h4,
.sub-page h5,
.sub-page h6 {
    margin-top: 6vw;
    margin-bottom: 5vw;
    width: 100%;
    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__info {
    height: 100%;
}
.header__logo {
    width: 70vw;
    padding: 2vw 0;
}
.header__catch {
    font-size: 2.4vw;
}
.header__company {
    font-size: 2.3vw;
}
header .menubtn.sp {
    width: 15vw;
    margin-top: 5vw;
}
.footer-info__cotainer {
    flex-wrap: wrap;
	gap: 6vw;
	justify-content: center;
}
footer {
    margin-bottom: 20vw;
}
footer .copy {
    font-size: 2.4vw;
    padding: 3.5vw 0;
}
.footer-info__logo {
    width: 100%;
    padding: 1.5vw 0;
}
.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 {
    padding: 14vw 0 8vw;
}
.footer-info__box {
    gap: 4vw;
    flex-wrap: wrap;
}
.footer-info__catch {
    font-size: 3.2vw;
}
.footer-info__contact {
    gap: 5vw;
    font-size: 3.6vw;
    border-width: 1px;
    width: 50%;
    height: 15vw;
    padding: 0 0 0 7vw;
	margin: 0 auto;
}
.footer-info__download {
    border-radius: 10px;
    width: 100%;
    height: 34vw;
}
.footer-info__download-title {
    font-size: 3.4vw;
    padding: 2.5vw 0 0 0;
}
.footer-info__download-content figcaption {
    padding: 2vw 0 0 0;
    font-size: 3.2vw;
}
.footer-info__download-content a:nth-child(1) img {
    width: 48%;
}
.footer-info__download-content a:nth-child(2) img {
    width: 52%;
}
.footer-info__download-content a {
    height: 27vw;
    padding: 0 0 3vw 0;
}
.footer-info__download-content:after {
    height: 21vw;
    top: 2vw;
}
/* .footer-menu */
.footer-menu__cotainer {
    flex-wrap: wrap;
}
.footer-menu a {
    padding: 2vw 0;
    font-size: 4.2vw;
    position: relative;
    line-height: 1.2;
	border-bottom-width: 2px;
}
.footer-menu .menu > li {
	position:relative;
}
.footer-menu .menu > li > a {
    font-size: 4.4vw;
    border-bottom-width: 2px;
    padding: 1.5vw 0 1.5vw 0.5vw;
}
.footer-menu .toggle {
    display: block;
    width: 5vw;
    height: 5vw;
    position: absolute;
    right: 0;
    top: 1vw;
}
.footer-menu .toggle:before {
	content: '';
	display: block;
	width: 0.6vw;
	height: 100%;
	background: #fff;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.footer-menu .toggle:after {
	content: '';
	display: block;
	height: 0.6vw;
	width: 100%;
	background: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.footer-menu .toggle.active:before {
	content:none;
}
.footer-menu li {
    padding: 0;
}
.footer-menu ul {
    width: 100%;
}
.footer-menu .sub-menu {
  display: none;
	padding: 2vw 0 0 0;
}
.menu-footer01-container,
.menu-footer02-container,
.menu-footer03-container,
.menu-footer04-container {
    width: 100%;
	flex: inherit;
}
.footer-menu ul .sub-menu li a {
	font-size:3.6vw;
	gap: 3vw;
    padding: 2vw 0;
}

.footer-menu ul .sub-menu li a:after {
color: #00c500;
}
.footer-menu li:not(:first-child) {
    margin-top: 0;
}
.footer-menu {
    padding: 0;
	width: 100%;
    flex-direction: column;
	gap: 4vw;
}
.footer-menu__inner {
    display: inherit;
    flex-direction: inherit;
    gap: inherit;
}
.footer-menu__cotainer > div {
    flex: inherit;
}
/*==========================================================
	フローティング
===========================================================*/
/* .footer-floating */
.footer-floating-sp {
     position: fixed;
     bottom: 0;
    z-index: 9999;
    background: #ffffffed;
    box-sizing: border-box;
    width: 100%;
}
.footer-floating-sp__list {
    display: flex;
}
.footer-floating-sp__item-tel-text {
    color: #fff;
    top: 2vw;
    left: 7vw;
    text-align: center;
}

.footer-floating-sp__item {
    position: relative;
}
.footer-floating-sp__mail {
    background: #ff3f02;
    width: 25%;
}
.footer-floating-sp__line {
    background: #06c655;
    width: 25%;
}
.footer-floating-sp__item a {
    text-decoration: none;
	display: block;
}
.footer-floating-sp__item-text {
    display: block;
    color: #fff;
    text-align: center;
    width: 100%;
    font-weight: bold;
    font-size: 3.6vw;
}
.footer-floating-sp__item-icon {
    display: block;
    text-align: center;
    width: 5vw;
	margin: 2vw auto 0;
}
.footer-floating-sp__item-tel {
    width:50%;
	padding: 1vw 0;
}
.footer-floating-sp__item-tel a {
	text-decoration: none;
    color: #333;
}
.footer-floating-sp__item-tel__tel-num {
	font-size: 6.5vw;
    display: flex;
    align-items: center;
	justify-content: center;
    gap: min(8px, 0.8vw);
}
.footer-floating-sp__item-tel__tel-num:before {
    display: inline-block;
    content: '\f87b';
    font-family: "Font Awesome 5 Free";
    color: var(--main-color);
    z-index: 1;
    font-weight: 900;
    font-size: 0.75em;
    position: relative;
    transform: rotate(90deg);
}
.footer-floating-sp__item-tel__hour {
    font-size: 2.6vw;
	text-align: center;
	display: block;
}
/*==========================================================
	    global navi
===========================================================*/


.menu-btn{
	position: relative;
	cursor: pointer;
	width: 10vw;
	height: 8vw;
	z-index: 10001;
}
.menu-btn.active {
	background: none;
	border: none;
}
.menu-btn.active span{
	background: #fff;
}
.menu-btn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    width: 100%;
    height: 1.1vw;
    background: var(--main-color);
	transform:  translateX(-50%);
	left: 50%;
}
.menu-btn span:nth-of-type(1) {
    top: 0;
}
.menu-btn span:nth-of-type(2) {
    top: 50%;
}
.menu-btn span:nth-of-type(3) {
	top: 100%;
}
.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%;
}
.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-navi-pc {
  display: none;
}
.global-navi-pc.active {
	display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    position: fixed;
    background: #f5800df7;
	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 > li > a {
	height: 15vw;
    font-size:4vw;
	padding: 0;
	align-items: center;
	justify-content: center;
    gap: 2vw;
}
.global-navi-pc.active .nav-title {
	width: auto;
}

/*=========================================================
	   共通
===========================================================*/

.contact-banner__tel-num {
    font-size: 8.5vw;
    top: 12vw;
    left: 10.5vw;
	pointer-events:inherit;
}
.contact-banner__hour {
    font-size: 2.8vw;
    top: 22vw;
    left: 6vw;
    text-align: center;
}
.contact-banner__mail {
    font-size: 3vw;
    width: 34vw;
    height: 11vw;
    top: 32vw;
    right: 43vw;
    gap: 3vw;
    padding: 0 0 0 5vw;
    line-height: 1.2;
}
/* .case-search */
.case-search__submit button {
    border-radius: 4px;
    font-size: 3.6vw;
    width: 14vw;
    height: 9vw;
}

.case-search__input input {
    border-width: 1px;
    border-radius: 4px;
    height: 9vw;
    padding: 0 0 0 8vw;
}
.case-search__input:before {
    height: 5.8vw;
    width: 5.6vw;
    left: 2vw;
}
.case-search__container {
    gap: 2vw;
    padding: 3vw 0 1vw;
}
.case-search__box-container {
    padding: 4vw 0 0 0;
}
.case-search__box-list {
    padding: 4vw 2.5vw;
    gap: 2.5vw;
}
.case-search__box:not(:last-of-type) {
    margin: 0 0 3vw 0;
}
.case-search__box-title {
    font-size: 3.8vw;
    padding: 3.5vw;
	display: flex;
    align-items: center;
    justify-content: space-between;
}
.case-search__box-title-icon {
	width: 5vw;
	height: 5vw;
	position: relative;
}
.case-search__box-title-icon:before {
	content:'';
	display: block;
	width: 0.6vw;
	height: 100%;
	background: #fff;
	position: absolute;
	left: 50%;
    transform: translateX(-50%);
}
.case-search__box-title.active .case-search__box-title-icon:before {
	content:none;
}
.case-search__box-title-icon:after {
	content:'';
	display: block;
	height: 0.6vw;
	width: 100%;
	background: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.case-search__box-item {
    width: 100%;
    border-radius: 4px;
    height: 13vw;
}
.case-search__box-item a {
    font-size: 3.6vw;
}
.case-search__box-item-title {
    gap: 1.5vw;
    padding: 0 0 0 2.5vw;
}
.case-search__box-item-title:before {
    height: 5vw;
    width: 0.8vw;
}
/* 執筆者 */
.writer__container {
    padding: 5vw;
    font-size: 3.6vw;
}
.writer__content {
    flex-wrap: wrap;
    justify-content: center;
}
.writer__name {
    font-size: 5vw;
    margin: 0 0 0 4vw;
}
.writer__text {
    flex: inherit;
}
.writer__title {
    font-size: 3.6vw;
}
.writer__item-container {
    flex-wrap: wrap;
}
.writer__item-text {
    flex: inherit;
    line-height: 1.7;
}
.writer__item-title {
    width: 16vw;
    height: 7vw;
    font-size: 3.2vw;
}
.writer__btn {
    font-size: 3.6vw;
    width: 80%;
    height: 10vw;
    border-radius: 3px;
}
/*==========================================================
	    .mv
===========================================================*/
.mv {
    background-image: url(/wp-content/uploads/2025/05/mv__bg_sp.jpg.webp);
    background-position: bottom;
	margin-bottom: 35vw;
	position: relative;
}
.mv:after {
    content: '';
    width: 100%;
    height: 26vw;
    display: block;
    bottom: 0;
    background: #ffffffba;
    position: absolute;
    z-index: 1;
}
.mv__image {
    bottom: inherit;
    right: -18vw;
    width: 100vw;
    top: 28vw;
}
.mv__image figcaption {
    right: 20vw;
    bottom: 8vw;
    font-size: 2.2vw;
}
.mv__catch {
    top: 37vw;
    left: 1vw;
	right: inherit;
    width: 25vw;
	height: 25vw;
}
.mv__title {
    width: 100%;
    padding: 3vw 0 0 0;
    justify-content: start;
    gap: 34vw;
}
.mv__sub-title {
    width: 52%;
}
.mv__container {
    width: 92%;
    height: 114vw;
}
.mv__feature-list {
    gap: 0;
    padding: 4vw 0 0 0;
    justify-content: space-between;
}
.mv__feature-item {
    width: 29vw;
    height: 29vw;
}
.mv__feature-item-container {
    width: 27.5vw;
    height: 27.5vw;
}
.mv__feature-item-text {
    font-size: 3.4vw;
}
.mv__record {
    background: var(--main-color);
    position: absolute;
    bottom: 0;
    right: -4vw;
	transform: translateY(100%);
    border: none;
    border-radius: 0;
    overflow: hidden;
    z-index: 2;
    width: 100vw;
    height: 35vw;
    box-sizing: border-box;
	padding: 2vw 3vw;
}
.mv__record-catch {
    font-size: 3.4vw;
    position: absolute;
    border-radius: 3px;
    padding: 0.5vw 3vw;
    left: 8vw;
}
.mv__record-catch:after {
    content: none;
}
.mv__record-numbers-list {
    flex-direction: row;
	gap: 0;
	justify-content: space-between;
}
.mv__record-title {
    font-size: 5.3vw;
	padding: 2vw 0 0 16vw;
}
.mv__record-content {
    padding: 0;
}
.mv__record-aggregate {
    font-size: 3.2vw;
    padding: 3vw 0 1.8vw;
}
.mv__record-numbers {
    font-size: 3.6vw;
    border-radius: 5px;
    box-shadow: 0 0 4px #0000004d;
    height: 11vw;
    padding: 0;
    width: 48.5%;
	justify-content: center;
}
/* .reason-01 */
.reason-01 {
    padding: 5vw 0 10vw;
}
.reason-01 h2 {
    font-size: 5.5vw;
}
.reason-01__list {
    padding: 5vw 0 0 0;
    flex-wrap: wrap;
    gap: 3vw;
}
.reason-01__item {
    display: flex;
    align-items: center;
    font-size: 4.2vw;
    gap: 3vw;
    border-radius: 3px;
    height: 20vw;
	width: 100%;
	text-align: left;
	padding: 3vw;
}
.reason-01__item-title {
    padding: 0;
}
.reason-01__item-icon {
    width: 15vw;
    height: 15vw;
    position: inherit;
    top: inherit;
    transform: inherit;
    left: inherit;
}
/* .top-contact */
.top-contact {
    background: var(--main-color);
    padding: 8vw 0 8vw 0;
}
.top-contact h2 {
    font-size: 6vw;
}
.top-contact__box {
    border-radius: 5px;
    width: 100%;
    height: 38vw;
    margin: 8vw 0 0 0;
	justify-content: end;
	flex-wrap: wrap;
	padding: 1vw 7vw 0 7vw;
}

.top-contact__image {
    width: 21vw;
    left: 0;
    bottom: 16vw;
}
.top-contact__tel-num {
    font-size: 9.5vw;
    gap: 1.5vw;
	pointer-events:inherit;
}
.top-contact__hour {
    font-size: 3vw;
}
.top-contact__mail {
    border-radius: 6px;
    font-size: 3.8vw;
	width: 100%;
    height: 13vw;
    border-bottom-width: 2px;
    gap: 2vw;
}
.top-contact__container {
    width: 100%;
}
.top-contact__mail-icon {
    width: 5.6vw;
    height: 4.6vw;
}
/* .worries */
.worries {
    padding: 10vw 0 6vw;
}
.worries h2 {
    font-size: 5vw;
}
.worries__container {
    gap: 0;
    padding: 5vw 0 0 0;
    flex-wrap: wrap-reverse;
}
.worries__list {
	position: relative;
	z-index: 2;
    gap: 1.5vw;
    padding: 0;
	width: 100%;
}
.worries__item {
    font-size: 3.6vw;
    gap: 2vw;
    border-radius: 5px;
    padding: 3vw;
}
.worries__item:before {
    width: 3.2vw;
    height: 3.2vw;
}
.worries__icon {
	position: relative;
	z-index: 1;
    width: 34vw;
	margin: 0 0 -6vw 0;
}
/* .banner */
.banner__item {
    margin: 5vw 0;
}
/*========================================================
	TOPコンテンツ
=========================================================*/
/* .main-menu */
.main-menu__title {
    left: 4vw;
    font-size: 4.4vw;
}
.main_menu__item {
    width: 48%;
	border-width: 1px;
    height: 40vw;
}
.main_menu__list {
    gap: 6vw 4%;
    padding: 7vw 0 9vw;
}
.main-menu__item-image {
    height: 24vw;
}
.main-menu__item-image img {
	display: block;
	width: 80%;
	margin:0 auto;
}
.main-menu__item-title {
    font-size: 4vw;
    height: 16vw;
}
.main_menu__item:after {
    width: 3vw;
    height: 3vw;
    bottom: 1.5vw;
    right: 1.5vw;
}
/* .reason */
.reason {
    padding: 12vw 0 12vw 0;
}
main.top .reason h2 {
    font-size: 5.2vw;
}

main.top .reason h2 .title-text {
    padding: 0 0 3vw 0;
}
main.top .reason h2 .title-letter {
    width: 13vw;
    height: 13vw;
    margin: 0 1vw;
    border-width: 1px;
}
.reason__list {
    padding: 16vw 0 0 0;
    gap: 11vw;
}
.reason__item a {
    border-radius: 10px;
    flex-wrap: wrap;
    gap: 0;
}

.reason__item-num {
    font-size: 3.3vw;
    width: 15vw;
    height: 15vw;
    left: 2.5vw;
    top: -6vw;
}
.reason__item-image {
    width: 100%;
	height: 45vw;
}

.reason__item-title {
    font-size: 5vw;
}
.reason__item-text-wrapper {
    flex: inherit;
    padding: 5vw 4vw;
}
.reason__item-text {
    line-height: 1.5;
    font-size: 3.6vw;
    height: inherit;
    padding: 3vw 0;
}
.reason__item-btn {
    font-size: 3.4vw;
    width: 40vw;
    height: 10vw;
    gap: 3vw;
    margin: 0 auto;
}
/*.greeting  */
.greeting {
    padding-bottom: 7vw;
}
.greeting__box {
    padding: 6vw 0 4vw 0;
    flex-wrap: wrap-reverse;
    gap: 6vw;
    justify-content: center;
}
.greeting__image {
    width: 55%;
}
.greeting__text {
    padding: 0;
    font-size: 3.7vw;
    line-height: 1.5;
    width: 100%;
}
.greeting__youtube {
    height: 52vw;
    width: 100%;
}
/* .study-group-banner */
.study-group-banner {
    padding: 0 0 5.5vw;
}
/* .area */
.area {
    padding: 8vw 0 4vw 0;
}
.area__logo {
    width: 82vw;
    padding: 8vw 0 4vw;
}
.area__text {
    font-size: 3.8vw;
}
.area__text p {
    padding: 0 0 5vw 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 .parent-child__item.parent a {
    padding: 3vw 3.5vw;
}
.sub-page .parent-child__item.child a {
	padding: 3vw 3.5vw 3vw 5vw;
    gap: 2vw;
}
.sub-page .parent-child__item a {
    font-size: 3.8vw;
}
.sub-page .parent-child__item.child a:before {
    font-size: 0.8em;
}
/**/
.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;
}

/* テーブル対応
---------------------------------------------*/
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 {
    padding: 2vw;
    font-size: 3.8vw;
}

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: block;
        float: inherit;
	margin: 0 auto 3vw auto;
}

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

td img.alignleft {
    max-width:      90%;
}
img.alignleft {
        display: block;
        float: inherit;
	margin: 0 auto 3vw auto;
}
time > p {
    font-size: 0.7em;
}
.alignright {
    float: inherit;
}
.wp-caption {
    max-width: 100%;
    margin: 0 auto;
}
/*==========================================================
	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 {
    width: 25vw;
    padding: 2vw 0;
    font-size: 3vw;
    border-radius: 4px;
}
.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%;
}
/*----------------------------------------------------------------------------------------------------------------------
	インポート元
-----------------------------------------------------------------------------------------------------------------------*/
/* .nav04 */
.nav04__list {
    position: inherit;
    top: inherit;
    left: inherit;
    right: inherit;
    gap: 2vw 0.5%;
}
.nav04 .btn {
    position: inherit;
    bottom: inherit;
    left: inherit;
    transform: inherit;
	margin: 0 auto;
}
.sub-page__content .nav04__item {
    width: 33%;
}
.nav04__item a {
    height: 16vw;
    border-width: 1px;
    background-size: 5.84vw 5.44vw;
    padding: min(5px, 0.5vw) 0 0 7vw;
    font-size: 3vw;
}
/* .nav07 */
.nav07__list {
    justify-content: center;
    position: inherit;
    bottom: inherit;
    left: inherit;
    right: inherit;
    gap: 3vw;
	padding: 3vw 0 0 0;
}
.sub-page__content .nav07__item {
    width: 100%;
}
.nav07__item:nth-child(1) .nav07__item-main-text span, .nav07__item:nth-child(2) .nav07__item-main-text span {
    font-size: 3em;
}
.nav07__item-sub-text {
    font-size: 0.8em;
}
.nav07__item a {
    height: 30vw;
    border-width: 2px;
    background-size: 21.9vw 20.4vw;
    padding: min(5px, 0.5vw) 0 0 26vw;
    font-size: 4.2vw;
}
/* .caselist */
.caselist .inner {
    border-width: 5px;
    padding: 4% 2%;
}
.caselist ul li {
    font-size: 4vw;
	gap:2vw;
}
.caselist ul li a .amount .stress {
    font-size: 2.2em;
}
.caselist ul li a {
    flex-wrap: wrap;
	gap: 2vw;
}
.caselist ul li:before {
    width: 15vw;
    height: 5vw;
    font-size: 3.6vw;
    line-height: 5vw;
}
.caselist .btn a {
	text-decoration :none;
}
.caselist .btn p {
        color: #fff;
        font-weight: 700;
        font-size: 16px;
        background-color: #b28500;
        box-shadow: 2px 2px 4px gray;
}