@charset "utf-8";
/*
Theme Name: みおつくしパートナーズ
Author: SOEL design
Description: original theme
Version： 3.0.0
*/



/*----------------------------------------------------
　header
----------------------------------------------------*/
.header {
    border-bottom: 1px solid #ddd;
}
.header-inner {
    position: relative;
    padding: 0 30px;
}
.site-title {
    line-height: 1;
    display: inline-block;
}
.site-title a {
    display: block;
    text-decoration: none;
}
.site-title a img {
    width: 100%;
    max-height: 80px;
}
.header-nav li a {
  display: block;
  text-decoration: none;
}



/*----------------------------------------------------
　グローバルメニュー
----------------------------------------------------*/
.header-nav li {position: relative;}
.header-nav .sub-menu {
    position: absolute;
    top: 30px;
    left: 0;
    overflow: hidden;
    width: 250px;
    height: 0;
    transition: .8s;
    transform: translateY(-8%);
    opacity: 0;
}
.header-nav li:hover .sub-menu {
    height: auto;
    transform: translateY(0);
    opacity: 1;
}
.header-nav .sub-menu li {
    display: block;
    margin-left: 0;
    padding: 0;
    border-bottom: 1px solid #ddd;
    background-color: rgb(255 255 255 / 90%);
}

.header-nav .menu-item-has-children:nth-last-child(1) .sub-menu,
.header-nav .menu-item-has-children:nth-last-child(2) .sub-menu {
    right: 0;
    left: auto;
}
.header-nav .sub-menu li a {
    padding: 1em;
}
 
@media(max-width: 820px) {
  .header-nav li a {
    text-align: left;
  }
 
  .header-nav .menu-item-has-children > a {
    padding-bottom: 1em;
  }
 
  .header-nav .sub-menu li a {
    position: relative;
    padding: 1rem 1rem 1rem 2.75em;
  }
 
  .header-nav .sub-menu li a::before {
    position: absolute;
    top: 1.25em;
    left: 1.75em;
    display: block;
    width: .5em;
    height: .5em;
    content: "";
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
  }
}




/*----------------------------------------------------
　共通
----------------------------------------------------*/
.container {}

.contents-box {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    padding: 5em 0;
}









/*------------- ページタイトル -------------*/
.page-title-wrap {
    background-color: #1d2d43;
}

.page-title-wrap .page-title {
  position: relative;
  max-width: 1080px;
  height: 22rem;
  margin: 0 auto 2rem;
  padding: 0 1.5rem;
}

.page-title-wrap .page-title .text-warp {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: calc(100% - 3rem);
  transform: translateY(-50%);
  text-align: center;
}

.page-title-wrap .page-title .text-warp h1 {
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 1px;
  color: #fff;
}



























/*----------------------------------------------------
　トップページ
----------------------------------------------------*/

/* MV */
.mv {
  margin-bottom: 2rem;
}

.mv img {
    display: block;
    width: 100%;
    /*height: min(31.25rem, 46.5vw);*/
    object-fit: cover;
}



.slider img{
    width:100%;
}

.slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    cursor: pointer;
}

.slick-prev {
    left: 0;
}

.slick-next {
    right: 0px;
}






/*--------------------------　トップページ　--------------------------*/










.top-content {
    margin: 0 auto 5em;
}










.top-content .top-3box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 2em;
}
.top-content .top-trouble-case {
    width: 100%;
    flex: 1;
    text-align: center;
    background: #fff;
    border-radius: 10px;
    padding: 2em 1em 0;
    margin: 0 0.5em;
    box-shadow: 0 0 8px rgba(0, 0, 0, .16);
}
.top-content .top-trouble-case img {width: 100%;}
.top-content .top-trouble-case h3 {
    margin: 0 auto 0.5em!important;
}

.top-content h2 {
    font-size: 160%!important;
    font-weight: bold!important;
    line-height: 1.6 !important;
    margin: 0 auto 1em!important;
}

.top-content h2.ttl01 {
    padding: 0 0 0 2.5em!important;
    position: relative;
    text-align: left!important;
}
.top-content h2.ttl01:before {
    width: 50px;
    height: 4px;
    display: block;
    content: '';
    background: #45b3bf;
    position: absolute;
    left: 0;
    top: 18px;
}



.top-content .top-trouble01 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.top-content .top-trouble01-img {
    width: 100%;
    flex: 1;
    text-align: center;
}
.top-content .top-trouble01-img img {width: 100%;}
.top-content .top-trouble01-txt {
    width: 100%;
    flex: 2;
}

.top-content .top-trouble01-txt ul {
    list-style-type: none;
    margin-left: 1em;
}
.top-content .top-trouble01-txt ul li {
    display: flex;
    align-items: baseline;
    gap: 0 10px;
    padding: 0 0 0.3em 0;
    line-height: 2;
}
.top-content .top-trouble01-txt ul li::before {
    display: inline-block;
    position: relative;
    width: 10px;
    height: 5px;
    top: -3px;
    border-bottom: 3px solid #e4360b;
    border-left: 3px solid #e4360b;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}



.top-content .top-trouble02 {
    display: flex;
    flex-wrap: wrap;
    background: #f6f5f5;
    border-radius: 10px;
    padding: 2em 5em;
    align-items: center;
}
.top-content .top-trouble02-txt {
    width: 100%;
    flex: 2;
    margin-right: 3em;
}
.top-content .top-trouble02 h3 {
    margin: 0 auto 0.5em!important;
}
.top-content .top-trouble02-img {
    width: 100%;
    flex: 1;
    text-align: center;
}
.top-content .top-trouble02-img img {width: 100%;}


.top-content .top-trouble02-txt ul {
    list-style-type: disc;
    margin-left: 1em;
}
.top-content .top-trouble02-txt ul li {
    line-height: 2;
    padding: 0;
}
.top-content .top-trouble02-txt ul li::marker {
    color: #e4360b;
    font-size: 1.1em;
}


.top-content .top-trouble02-txt ul li span.point {
    color: #e4360b;
    display: contents;
    font-weight: bold;
}



.top-service-box {padding: 5em 0 0;}

.top-service-box h2.s-ttl {
    text-align: left;
    font-size: 220%!important;
    color: #fcec74;
    background-color: #3b4043;
    letter-spacing: 0.1em;
    display: inline-block;
    width: max-content;
    margin-top: 10px;
    padding: 0.1em 0.5em;
}
.top-service-box h2.s-ttl span {font-size: 60%!important}
.top-service-box h2.s-ttl-sub {
    text-align: left;
    font-size: 130%!important;
    color: #fff;
    background-color: #3b4043;
    letter-spacing: 0.1em;
    display: table-caption;
    width: max-content;
    margin-top: 10px;
    padding: 0.1em 0.5em;
    margin: 0 auto 0.3em!important;
}

.top-service-2col {
    display: flex;
}

.top-service-img {
    width: 100%;
    flex: 1;
    text-align: center;
}
.top-service-img img {width: 100%;}
.top-service-txt {
    width: 100%;
    flex: 1;
    padding-left: 3em;
}

.training  {margin: 3em auto 0;}
.training ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none!important;
    margin-left: 0!important;
}
.training ul::after {
    content: "";
    display: block;
    width: 50%;
    height: 0;
}
.training li {
    width: 45%;
    color: #fff;
    text-align: center;
    background: #002755;
    margin: 0 1em 1em;
    border-radius: 30px;
    padding: 0.5em 0;
}






/*----------------------------------------------------
　セミナー
----------------------------------------------------*/
#mio table.seminar {
    white-space: normal;
}
#mio table.seminar th,
#mio table.seminar td {
    line-height: 1.8!important;
    border: 1px solid #cecece!important;
}
#mio table.seminar th {
    width: 20%;
    background: #f6f5f5!important;
    vertical-align: middle;
    
}
#mio .seminar-prof-img {
    margin: 0 auto 2em;
}
#mio .seminar-prof-img img {width: 35%;}
#mio .seminar-prof {
    background: #f8f7f6;
    border-left: 3px solid rgba(0, 0, 0, .15);
    padding: 2em 2em 1em;
}









































/*----------------------------------------------------
　トップページ
----------------------------------------------------*/



.post_content p {
    line-height: 2.1!important;
    margin: 0 0 1.8em 0!important;
}
small {font-size: smaller!important;}




/*　header　*/
#global_menu > ul > li.current-menu-item > a:hover,
#global_menu > ul > li > a:hover {
    background: #3b4043!important;
}
.megamenu_b {background: #3b4043!important;}
#global_menu > ul > li.active_megamenu_button > a {
    background: #3b4043!important;
}




/*　TOP　*/
.cb_header {
    margin: 0 auto 1em!important;
}
.cb_header .desc {
    text-align: center;
    font-size: 130%;
    font-weight: 600;
    line-height: 2.4;
    margin: 0 auto!important;
}


.news_list .category {background: #3b4043!important;}


/*　footer　*/
#footer_box_content .item .headline {
    font-size: 140% !important;
}

#footer_box_content .item .tel {
    color: #45b3bf;
    font-weight: bold;
    margin: 0.3em 0 0;
}
#footer_box_content .item.style_type2 .desc {margin-top: 0.5em!important;}

/*　reCAPTCHA　*/
.grecaptcha-badge { visibility: hidden; }





#page_header {background: #45b3bf!important;}
#page_header .headline {font-size: 160% !important;}




/*　Widget　*/
.tcd_banner_widget .title {text-shadow: #1093ac 1px 0 10px;!important;}
.tcd_banner_widget .overlay {
    background: linear-gradient(to right,  rgba(16,147,172,0.7) 30%,rgba(16,147,172,0) 100%)!important;
}








/*--------------------------　共通　--------------------------*/
.c {text-align: center;!important}
.l {text-align: left!important;}
.r {text-align: right!important;}


.br-pc {display: block;}
.br-sp {display: none;}


#mio .content-box {
    width: 100%;
    margin: 0 auto 5em;
}
#mio .txt-box {
    padding: 0 0 1em;
    margin: 0 auto;
}

/*　囲み　*/
#mio .frame-txt {
    padding: 1em;
    margin: 0 auto;
    background: #fff;
    border: 2px solid #45b3bf;
    border-radius: 30px;
}
#mio .frame-txt p {
    color: #45b3bf;
    font-weight: bold;
    text-align: center;
    line-height: 0!important;
    margin-bottom: 0!important;
}
#mio .frame-box {
    padding: 2em 5em;
    margin: 0 auto 3em;
    border: 2px solid #45b3bf;
    border-radius: 10px;
}
#mio .frame-box h3 {
    color: #45b3bf;
    text-align: center;
}
#mio .solid-box {
    padding: 2.5em 3em 1em;
    margin: 0 auto;
    background: #f6f5f5;
}
#mio .solid-box h3 {
    text-align: center;
    margin-bottom: 0.3em!important;
}
#mio .solid-box p {text-align: center;}
#mio .flex-box01 {
    width: 100%;
    margin: 0 auto 3em;
    padding: 0;
    border: 2px solid #45b3bf;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
#mio .flex-box01 h3 {
    font-size: 120% !important;
    line-height: 2.1!important;
    text-align: center;
    color: #fff;
    background: #45b3bf;
}
#mio .flex-box-2col {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 0 3em 2em;
}
#mio .flex-box-img,
#mio .flex-box-txt {
    width: 100%;
    flex-grow: 1;
    line-height: 2.1;
}
#mio .flex-box-img {text-align: center;}
#mio .flex-box-img img {width: 75%;}
#mio .flex-box02 {
    width: 100%;
    margin: 0 auto 3em;
    padding: 0;
    background: #fff;
}
#mio .flex-box02 .flex-box-2col {padding: 0;}




/*　タイトル　*/
#mio h2 {
    font-size: 160%!important;
    font-weight: bold!important;
    line-height: 1.6 !important;
    margin: 0 auto 1em!important;
}

#mio h2.ttl01 {
    padding: 0 0 0 2.5em!important;
    position: relative;
    text-align: left!important;
}
#mio h2.ttl01:before {
    width: 50px;
    height: 4px;
    display: block;
    content: '';
    background: #45b3bf;
    position: absolute;
    left: 0;
    top: 18px;
}
#mio h2.ttl02 {
    font-size: 200%!important;
    color: #45b3bf;
    position: relative;
    margin: 0 auto 2.5em!important;
}
#mio h2.ttl02:before {
    position: absolute;
    bottom: -0.8em;
    left: calc(50% - 30px);
    width: 60px;
    height: 5px;
    content: '';
    border-radius: 3px;
    background: #45b3bf;
}
#mio h2.ttl02 span {
    font-size: 160%!important;
    line-height: 0!important;
}
#mio h2.ttl03 {
    font-weight: 600!important;
    text-align: left;
    padding-left: 0.8em;
    border-left: 3px solid #45b3bf;
}
#mio h2.ttl04 {
    font-size: 200%!important;
    color: #45b3bf;
    position: relative;
    padding-top: .75em;
}
#mio h2.ttl04::before {
    position: absolute;
    bottom: 0.3em;
    left: 38%;
    z-index: -1;
    color: rgba(0, 180, 210, 0.3);
    font-size: 200%;
    line-height: 1;
    content: attr(data-word);
    pointer-events: none;
}
#mio h2.ttl05 {
    display: flex;
    justify-content: center;
    align-items: center;
}

#mio h2.ttl05::before,
#mio h2.ttl05::after {
    width: 3px;
    height: 40px;
    background-color: #45b3bf;
    content: '';
}

#mio h2.ttl05::before {
    transform: rotate(-35deg);
    margin-right: 30px;
}

#mio h2.ttl05::after {
    transform: rotate(35deg);
    margin-left: 30px;
}











#mio h3 {
    font-size: 135%!important;
    font-weight: bold!important;
    line-height: 1.6 !important;
    margin: 0 auto 1em!important;
}







/*　マーカー　*/
#mio span.marker {
    font-weight: bold;
    background:linear-gradient(transparent 60%, #fcec74 60%);;
}


/*　リスト　*/
#mio .check-list {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    margin-left: 4em;
}
#mio .check-list li {
    display: flex;
    width: 48.888%;
    align-items: baseline;
    gap: 0 10px;
    padding: 0 0 0.3em 0;
}
#mio .check-list li::before {
    display: inline-block;
    position: relative;
    width: 10px;
    height: 5px;
    top: -3px;
    border-bottom: 3px solid #e4360b;
    border-left: 3px solid #e4360b;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}



/*　リスト番号　*/
#mio .list-num {
    list-style:  none;
    counter-reset: li_count;
}
#mio .list-num li {line-height: 1.5!important;}
#mio .list-num li:before  {
    counter-increment: li_count;
    content: counter(li_count)".";
    color: #45b3bf;
    margin-right: 0.5em;
    font-weight: bold;
    font-size: 160%;
}


/*　ボタン　*/
.btn-check a {
    width: 100%;
    max-width: 210px;
	position: relative;
	font-weight: bold;
	padding: 1em;
	margin: 0px 5px;
	border-radius: 7px;
	font-size: 120%;
    color: #4c4948!important;
	background-color: #fcec74;
	display: inline-block;
	box-shadow: 0 4px 0 #b9ac4f;
}
.btn-check a:hover {
	animation-play-state: paused;
	top: 3px;
}
.updown {animation: updown 2s infinite;}
@keyframes updown {
	0% {transform: translate(0px, 2px);}
	5% {transform: translate(0px, -2px);}
    10% {transform: translate(0px, 2px);}
	15% {transform: translate(0px, -2px);}
	20% {transform: translate(0px, 2px);}
	25% {transform: translate(0px, -2px);}
	30% {transform: translate(0px, 0px);}
}


.btn01 {
    text-align: center;
    margin-top: 65px;
}
.btn01 a {
    max-width: 100%;
    min-width: 300px;
    height: 70px;
    line-height: 1.5;
    padding: 0 1.5em;
    font-weight: 600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -ms-justify-content: center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    font-size: 16px;
    z-index: 1;
    color: #fff!important;
    border-width: 1px;
    border-style: solid;
    border-radius: 6px;
    text-decoration: none;
    transition: border-color 0.3s ease;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #45b3bf;
}



.btn01 a:hover {background-color: #008eaa;}





.triangle {
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #45b3bf;
    margin: 0 auto 3em;
}




/*　kikiCall　*/
#mio span.kiki {font-size: 120%;}









/*--------------------------　kikiCall　--------------------------*/
#mio table.outside-merit th,
#mio table.outside-merit td {
    border: 1px solid rgba(0, 0, 0, .1);
    vertical-align: middle;
    line-height: 1.6;
}
#mio table.outside-merit th {
    font-weight: bold;
    color: #fff;
    background: #45b3bf!important;
}
#mio table.outside-merit td.label {
    text-align: center;
    font-weight: bold;
    color: #fff;
    background: #45b3bf!important;
}
#mio table.outside-merit td.merit {background:  rgba(0, 180, 210, 0.1);}


/*--------------------------　ホットライン　--------------------------*/
#mio .trouble {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#mio .trouble-box {
    width: 48.888%;
}
#mio .trouble-img,
#mio .trouble-txt {
    width: 100%;
    flex-grow: 1;
    line-height: 2.1;
}
#mio .trouble-img {text-align: center;}
#mio .trouble-img img {width: 90%;}
#mio .trouble-txt {padding: 0 2em;}
#mio .trouble-txt h3 {text-align: center;}
#mio .trouble-list {
    list-style-type: none;
    margin-left: 2em;
}
#mio .trouble-list li {
    display: flex;
    align-items: center;
    gap: 0 10px;
    padding: 0 0 0.3em 0;
}
#mio .trouble-list li::before {
    display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid  #e4360b;
    border-left: 2px solid  #e4360b;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}
#mio .price01 {
    font-size: 200%;
    font-weight: bold;
    color: #45b3bf;
    text-align: center;
    margin-bottom: 0.5em!important;
}
#mio .price01 span {
    font-size: 200%;
    line-height: 0!important;
    padding: 0 0 0 0.3em;
}

#mio .price-note {
    width: 100%;
    max-width: 530px;
    padding: 2em 3em;
    margin: 0 auto;
    background: #f6f5f5;
}
#mio ul.price-memo {
    width: 100%;
    max-width: 450px;
    list-style-type: disc;
    margin: 0 auto 2em;
}
#mio ul.price-memo li {
    line-height: 1.6;
    padding: 0;
}
#mio ul.price-memo li::marker {
    color: #45b3bf;
    font-size: 1.1em;
}

#mio .price-note {
    width: 100%;
    max-width: 420px;
    padding: 2em 3em 1em;
    margin: 0 auto;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .16);
}
#mio .price-note h3 {
    text-align: center;
    font-weight: 600;
}
#mio .price02 {
    font-size: 160%;
    font-weight: bold;
    color: #45b3bf;
    text-align: center;
    margin-bottom: 0.5em!important;
}
#mio .price02 span {
    font-size: 200%;
    line-height: 0!important;
}


#service_page_header {display: none!important;}



/*--------------------------　企業情報　--------------------------*/
#mio .message {
    display: flex;
    align-items: center;
}
#mio .message-txt {
    width: 100%;
    flex: 2;
    padding-right: 3em;
}
#mio .message-img {
    width: 100%;
    flex: 1;
    text-align: center;
}
#mio .message-img img {width: 100%;}

#mio p.message-logo {
    text-align: center;
    margin: 0 auto!important;
}
#mio p.message-logo img {width: 35%;}

#mio table.company th,
#mio table.company td {
    line-height: 1.8!important;
    border: 1px solid #cecece!important;
}
#mio table.company th {
    width: 25%;
    background: #f6f5f5!important;
    vertical-align: middle;
    
}

/*--------------------------　お知らせ　--------------------------*/
#single_post_title .update {display: none!important;}









/*--------------------------　お問い合わせ（固定ページ）　--------------------------*/
.contact {
    padding: 2em;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .16);
    margin: 3em auto 0;
}
.contact h3 {text-align: center;}
.contact-box {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}
.contact-tel {
    width: 100%;
    flex: 2;
    text-align: center;
}
.contact-tel .tel {margin: 0 auto 0.5em;}
.contact-tel .tel a {
    font-size: 330%;
    font-weight: bold;
    color: #45b3bf;
}
.contact-tel p {margin: 0 auto!important;}
.contact-form {
    width: 100%;
    flex: 1;
    text-align: center;
    padding-left: 3em;
    border-left: 1px solid #ddd;
}
.contact-form p {margin: 0 auto 0.1em!important;}
.contact-btn {
    text-align: center;
    margin: 0 auto;
}
.contact-btn a {
    max-width: 100%;
    min-width: 300px;
    height: 70px;
    line-height: 1.5;
    padding: 0 1.5em;
    font-weight: 600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -ms-justify-content: center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    font-size: 16px;
    z-index: 1;
    color: #fff !important;
    border-width: 1px;
    border-style: solid;
    border-radius: 6px;
    text-decoration: none;
    transition: border-color 0.3s ease;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #45b3bf;
}

/*--------------------------　コラム　--------------------------*/
#single_post_image {display: none;}


/*--------------------------　お問い合わせ（コラム）　--------------------------*/
.contact-column {
    padding: 2em;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 8px rgba(0, 0, 0, .16);
    margin: 3em auto 0;
}
.contact-column h3 {text-align: center;}
.contact-box-column {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}
.contact-tel-column {
    width: 100%;
    flex: 2;
    text-align: center;
}
.contact-tel-column .tel-column {margin: 0 auto 0.5em;}
.contact-tel-column .tel-column a {
    font-size: 300%;
    font-weight: bold;
    color: #45b3bf;
}
.contact-tel-column p {margin: 0 auto!important;}
.contact-form-column {
    width: 100%;
    flex: 1;
    text-align: center;
    padding-left: 2em;
    border-left: 1px solid #ddd;
}
.contact-form-column p {margin: 0 auto 0.1em!important;}
.contact-btn-column {
    text-align: center;
    margin: 0 auto;
}
.contact-btn-column a {
    max-width: 100%;
    min-width: 240px;
    height: 60px;
    line-height: 1.5;
    padding: 0 1.5em;
    font-weight: 600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -ms-justify-content: center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-align-items: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    font-size: 16px;
    z-index: 1;
    color: #fff !important;
    border-width: 1px;
    border-style: solid;
    border-radius: 6px;
    text-decoration: none;
    transition: border-color 0.3s ease;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #45b3bf;
}




/*--------------------------　お問い合わせ（contact7）　--------------------------*/
.wpcf7 {
    border: none!important;
    background: none!important;
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {font-size: 14px!important;}

#mio .contact7 table th p,
#mio .contact7 table td p {
    margin-bottom: 0!important;
}


#mio .contact7 table th,
#mio .contact7 table td {
    line-height: 1.8!important;
    border: 1px solid #cecece!important;
}
#mio .contact7 table th {
    width: 28%;
    text-align: left!important;
    background: #f6f5f5!important;
    vertical-align: top;
    
}
#mio .contact7 span,
#mio .contact7 table th span {
    color: #ff6600;
    font-weight: bold;
}
.wpcf7-not-valid-tip {font-size: 14px!important;}


.wpcf7 .wpcf7-submit {
    width: 100%!important;
    max-width: 300px!important;
    height: 65px!important;
    line-height: 70px;
    border-radius: 6px;
    background: #45b3bf!important;
    border: none;
    font-size: 16px!important;
}


.wpcf7 .wpcf7-list-item-label {
    color: #000!important;
    font-weight: normal!important;
}








@media only screen and (max-width: 1020px) {
    
    /*--------------------------　トップページ　--------------------------*/
    .btn-check a {
        width: auto;
        padding: 0.5em 2em;
    }
    .top-content .top-trouble-case h3 {
        font-size: 100%!important;
    }
    
}

    
@media only screen and (max-width: 600px) {
    
    
    
    #drawer_menu {background: #fff!important;}
    #mobile_menu a {color: #3b4043!important;}
    #mobile_menu .child_menu_button:before,
    #mobile_menu .child_menu_button:after {
        background: #3b4043!important;
    }
    #mobile_menu li li a {
        color: #fff!important;
        background: #45b3bf!important;
    }
    
    
    /*--------------------------　共通　--------------------------*/
    .br-pc {display: none;}
    .br-sp {display: block;}
    
    
    #mio .content-box {margin: 0 auto 3em;}
    
    
    
    /*　タイトル　*/
    #mio h2 {font-size: 130%!important;}
    #mio h2.ttl01:before {
        width: 35px;
        height: 3px;
        top: 14px;
    }
    #mio h2.ttl02 {
        font-size: 160% !important;
        margin: 0 auto 2em !important;
    }
    #mio h2.ttl02:before {
        bottom: -0.5em;
        left: calc(50% - 25px);
        width: 50px;
        height: 3px;
    }
    

    
    #mio h2.ttl04 {font-size: 160% !important;}
    #mio h2.ttl04::before {
        left: 32%;
        font-size: 170%;
    }
    
    
    /*　ボタン　*/
    .btn01 {margin-top: 1em;}
    
    
    /*--------------------------　トップページ　--------------------------*/
    .top-content h2 {font-size: 140% !important;}
    .top-content h2.ttl01:before {
        width: 35px;
        height: 3px;
        top: 14px;
    }
    
    .top-content .top-3box {
        display: block;
    }
    
    .top-content .top-trouble-case {
        padding: 0 0 1em 0;
        margin: 0 auto 1em;
    }
    
    .top-content .top-trouble01 {
        display: block;
    }
    .top-content .top-trouble01-img img {width: 70%;}
    .top-content .top-trouble01-txt {margin: 1em auto 0;}
    .top-content .top-trouble02 {
        display: block;
        padding: 2em 1.5em 1em;
            
    }
    .top-content .top-trouble02-txt ul {margin-bottom: 1em;}
    .top-content .top-trouble02-img img {width: 70%;}
    
    .top-service-box {padding: 1em 0 0;}
    .top-service-box h2.s-ttl {font-size: 170% !important;}
    .top-service-2col {display: block;}
    .top-service-txt {
        padding-left: 0;
        margin: 1em auto 0;
    }
    .training li {width: 100%;}
    
    
    
    /*--------------------------　ホットライン　--------------------------*/
    #mio .trouble {display: block;}
    #mio .trouble-box {width: 100%;}
    #mio .trouble-txt {padding: 0;}
    #mio .trouble-img img {width: 70%;}
    #mio .price01 {font-size: 170%;}
    #mio ul.price-memo {padding-left: 2em;}
    #mio .price-note {
        width: auto;
    }
    #mio .price02 span {font-size: 170%;}
    
    
    /*--------------------------　キキコール　--------------------------*/
    #mio .frame-box {padding: 2em 1.5em;}
    #mio .list-num {margin-left: 0;}
    #mio .solid-box {
        padding: 2em 1.5em 1em;
    }
    #mio .check-list {margin-left: 1em;}
    #mio .check-list li {
        display: block;
        width: 100%;
    }
    #mio .check-list li::before {margin-right: 0.5em;}
    #mio .frame-txt {border-radius: 0;}
    #mio .frame-txt p {
        text-align: left;
        line-height: 1.8!important;}
    #mio .flex-box-2col {display: block;}
    #mio .flex-box-2col {padding: 0 1.5em 1em;}
    
    
    
    /*--------------------------　企業情報　--------------------------*/
    #mio .message {display: block;}
    #mio .message-txt {padding-right: 0;}
    #mio .message-img img {width: 70%;}
    #mio p.message-logo img {width: 60%;}
    
    
    
    
    
    
    /*--------------------------　お知らせ　--------------------------*/
    #mio table.seminar th {width: 30%;}
    #mio .seminar-prof-img img {width: 60%;}


}













































































/*PCレイアウト*/
@media (min-width: 821px) {
  .two-columns {
    display: flex;
    flex-direction: row;

    gap: 2.5rem;
  }

  .two-columns .contents {
    flex: 1 1 auto;
  }

  .two-columns .sidebar {
    flex: 0 0 15.625rem;
  }
}

/*タブレットレイアウト*/
@media (max-width: 820px) {
  .two-columns .contents {
    margin-bottom: 4rem;
  }
}

/*スマホレイアウト*/
@media (max-width: 480px) {
  html {
    font-size: 15px;
  }

  .container {
    padding-top: 1.4rem;
  }
}




@media(min-width: 821px) {
  .navbutton {
    display: none;
  }

  .header-nav-wrap {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    margin-left: 15rem;/*タイトル分の余白をあけておく*/
    transform: translateY(-50%);
  }

  .header-nav {
    font-size: 0;
  }

  .header-nav li {
    font-size: 1rem;
    display: inline-block;
    margin-left: 1.5rem;
    padding: .25rem 0;
  }

  .header-nav li a {
    font-weight: 500;
    color: #000;
  }

  .header-nav li a:hover {
    opacity: .6;
  }
}

@media(max-width: 820px) {
  .navbutton {
    position: absolute;
    z-index: 10;
    top: 50%;
    right: 1.5rem;
    display: block;
    cursor: pointer;
    transform: translateY(-50%);
    border: 0;
    background-color: transparent;
  }

  .navbutton:focus {
    outline: 0;
  }

  .navbutton::after {
    font-family: "Material Symbols Outlined";
    font-size: 2.5rem;
    content: "\e5d2";
    color: #000;
  }

  .menu-active .navbutton::after {
    content: "\e5cd";
    color: #fff;
  }

  .header-nav-wrap {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    display: none;
    overflow-y: auto;
    width: 100%;
    height: 100vh;
    background-color: rgb(50 50 50 / 80%);
  }

  .header-nav {
    padding: 6rem 0;
  }

  .header-nav li a {
    font-weight: 400;
    padding: 1.5rem;
    text-align: center;
    color: #fff;
  }
}

/*フッター*/
.footer {
  background-color: #000;
}

.footer-nav-wrap {
  padding: .75rem 1rem;
  background-color: #f5f5f5;
}

.footer-nav ul {
  font-size: 0;
  text-align: center;
}

.footer-nav ul li {
  font-size: .875rem;
  display: inline-block;
  margin-right: 1rem;
  padding: .25rem 0;
}

.footer-nav ul li:last-child {
  margin-right: 0;
}

.footer-nav ul li a {
  text-decoration: none;
  color: #333;
}

.copyright {
  padding: 1rem;
  text-align: center;
}

.copyright p {
  font-size: .875rem;
  color: #fff;
}


/*投稿*/
.article-head .article-info {
  margin-bottom: .5rem;
}

.article-head .article-info .article-cat {
  display: inline-block;
  vertical-align: middle;
}

.article-head .article-info .article-cat a {
  font-size: .875rem;
  line-height: 1;
  display: inline-block;
  margin-right: .5rem;
  padding: .375rem .5rem;
  text-decoration: none;
  color: #fff;
  background-color: #03162f;
}

.article-head .article-info .article-date {
  font-size: 1rem;
  display: inline-block;
  vertical-align: middle;
  color: #888;
}

.article-head .article-info .article-date i {
  font-size: 1.25rem;
  position: relative;
  top: .25rem;
}

.article-head h1 {
  font-size: 2.125rem;
  margin: 0 0 2rem;
  letter-spacing: 1px;
}

.article-head .article-img {
  margin-bottom: 2rem;
}

.article-head .article-img img {
  display: block;
}

.article-foot .article-tag {
  margin-bottom: 1rem;
  text-align: right;
}

.article-foot .article-tag ul {
  list-style: none;
}

.article-foot .article-tag ul li {
  font-size: .9rem;
  display: inline-block;
  margin-right: .5rem;
  vertical-align: middle;
}

.article-foot .article-tag ul li:last-child {
  margin-right: 0;
}

.article-foot .article-tag ul li a {
  line-height: 1;
  display: block;
  padding: .25rem .5rem;
  text-decoration: none;
  color: #000;
  border: 1px solid #000;
}

.article-foot .article-tag ul li a:hover {
  opacity: .6;
}

.article-foot .article-author {
  font-weight: 500;
  line-height: 1;
  text-align: right;
  vertical-align: middle;
}

.article-foot .article-author i {
  font-size: 1.25rem;
  position: relative;
  top: .25rem;
}

@media(max-width: 480px) {
  .article-head h1 {
    font-size: 1.75rem;
  }
}

/*エディタコンテンツ*/
.editor-content p code,
.editor-content p img,
.editor-content p iframe,
.editor-content p object,
.editor-content figure img,
.editor-content figure iframe,
.editor-content figure video,
.editor-content figure audio,
.editor-content pre code {
  margin-bottom: 0;
}

.editor-content th,
.editor-content td {
  border-color: #ddd;
}

.editor-content p,
.editor-content ul,
.editor-content ol,
.editor-content table,
.editor-content dl,
.editor-content blockquote,
.editor-content pre,
.editor-content code,
.editor-content img,
.editor-content picture img,
.editor-content figure,
.editor-content iframe,
.editor-content object,
.editor-content hr,
.editor-content video,
.editor-content audio {
  margin-bottom: 2.5em;
  letter-spacing: 1px;
}

.editor-content b,
.editor-content strong {
  font-weight: bold;
}

.editor-content a {
  text-decoration: underline;
}

.editor-content ul:not([class]) {
  padding-left: 1.25em;
  list-style: disc;
}

.editor-content ol:not([class]) {
  padding-left: 1.875em;
  list-style: decimal;
}

.editor-content table {
  width: 100%;
}
.editor-content table thead {
  border: none;
}
.editor-content table th,
.editor-content table td {
  box-sizing: border-box;
  padding: .625em;
  text-align: left;
  vertical-align: middle;
  border: 1px solid #ddd;
}
.editor-content img,
.editor-content iframe,
.editor-content object,
.editor-content video,
.editor-content audio {
  line-height: 1;
}
.editor-content figure {
  max-width: 100%;
}

.editor-content iframe,
.editor-content object {
  width: 100%;
}

.editor-content blockquote {
  line-height: 1.5;
  position: relative;
  padding: 3.125em 1.875em .625em;
  color: #555;
  background-color: #f1f4f4;
}

.editor-content blockquote::before {
  font-family: "Material Symbols Outlined";
  font-size: 1.875em;
  font-weight: 900;
  position: absolute;
  top: .3125em;
  left: .9375em;
  content: "\e244";
  color: #ccc;
}

.editor-content blockquote p,
.editor-content blockquote cite {
  margin-bottom: 1em;
}

.editor-content blockquote p cite {
  margin-bottom: 0;
}
.editor-content blockquote cite {
  font-size: .6125em;
  display: block;
  text-align: right;
}

.editor-content h2,
.editor-content h3,
.editor-content h4,
.editor-content h5 {
  line-height: 1.4;
  margin: 3rem 0 2rem;
  letter-spacing: 1px;
}

.editor-content h2 {
  font-size: 1.875rem;
  padding: .75rem 0;
  border-bottom: solid 5px #03162f;
}

.editor-content h3 {
  font-size: 1.5rem;
  padding: 0 1rem;
  border-left: solid .375rem #415671;
  background: transparent;
}

.editor-content h4 {
  font-size: 1.25rem;
}

.editor-content h5 {
  font-size: 1.125rem;
}

@media (max-width: 480px) {
  .editor-content p,
  .editor-content ul,
  .editor-content ol,
  .editor-content table,
  .editor-content dl,
  .editor-content blockquote,
  .editor-content pre,
  .editor-content code,
  .editor-content img,
  .editor-content picture img,
  .editor-content figure,
  .editor-content iframe,
  .editor-content object,
  .editor-content hr,
  .editor-content video,
  .editor-content audio {
    margin-bottom: 1.5em;
  }

  .editor-content th,
  .editor-content td {
    padding: .625em;
  }

  .editor-content blockquote {
    padding: 2.5em 1.875em 1.875em;
  }

  .editor-content blockquote::before
  .editor-content blockquote::after {
    font-size: 1.25em;
  }

  .editor-content blockquote p,
  .editor-content blockquote cite {
    margin-bottom: .625em;
  }

  .editor-content h2,
  .editor-content h3,
  .editor-content h4,
  .editor-content h5 {
    margin: 2rem 0;
  }

  .editor-content h2 {
    font-size: 1.5rem;
  }
  .editor-content h3 {
    font-size: 1.375rem;
  }
  .editor-content h4 {
    font-size: 1.25rem;
  }
  .editor-content h5 {
    font-size: 1rem;
  }
  .editor-content h6 {
    font-size: .9375rem;
  }
}


@media (max-width: 332px) {
  .editor-content h2 {
    font-size: 1.25rem;
  }
  .editor-content h3 {
    font-size: 1.125rem;
  }
  .editor-content h4 {
    font-size: 1rem;
  }
  .editor-content h5 {
    font-size: .9375rem;
  }
  .editor-content h6 {
    font-size: .875rem;
  }
}

/*サイドバーウィジェット*/
.sidebar-wrapper {
  margin-bottom: 2rem;
}

.sidebar .sidebar-title,
.sidebar .wp-block-heading {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 1rem;
  padding: .375rem;
  letter-spacing: 1px;
  border: 0;
  border-bottom: .1875rem solid #1d2d43;
}

.sidebar a {
  text-decoration: none;
  color: #333;
}

.sidebar ul {
  list-style: none;
}

.sidebar li {
  border-bottom: 1px solid #ddd;
}

.sidebar li a {
  display: block;
  padding: .5rem;
}

.sidebar select {
  display: block;
  width: 100%;
  padding: .5rem;
  border: 1px solid #ddd;
}



@media(max-width: 820px) {
  .page-title-wrap .page-title {
    height: 20rem;
    margin-bottom: 1rem;
  }

  .page-title-wrap .page-title .text-warp h1 {
    font-size: 2.75rem;
  }
}

@media(max-width: 480px) {
  .page-title-wrap .page-title {
    height: 12rem;
    margin-bottom: 0;
  }

  .page-title-wrap .page-title .text-warp h1 {
    font-size: 2rem;
  }
}

/*記事アーカイブ*/
.article-list {
  display: grid;

  gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}

.article-list .article-item {
  position: relative;
  z-index: 1;
  border: 1px solid #ddd;
}

.article-list .article-item a {
  display: block;
  text-decoration: none;
  color: #333;
}

.article-list .article-item img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.article-list .article-item .text-wrap {
  padding: 1rem;
}

.article-list .article-item .article-cat {
  font-size: .875rem;
  line-height: 1;
  display: inline-block;
  margin-right: .5rem;
  padding: .25rem .5rem;
  vertical-align: middle;
  text-decoration: none;
  color: #fff;
  background-color: #03162f;
}

.article-list .article-item .article-date {
  font-size: .875rem;
  display: inline-block;
  vertical-align: middle;
  color: #888;
}

.article-list .article-item .article-date i {
  font-size: 1rem;
  position: relative;
  top: .1875rem;
  margin-right: .125rem;
}

.article-list .article-item .text-wrap h2 {
  font-size: 1rem;
  font-weight: 500;
  margin-top: .5rem;
}

@media(max-width: 480px) {
  .article-list {
    display: block;

    gap: none;
    grid-template-columns: none;
  }

  .article-list .article-item {
    margin-bottom: 2rem;
  }
}


/*ページネーション*/
.pagination {
  margin: 4rem 0;
  text-align: center;
}

.pagination ul {
  font-size: 0;
}

.pagination ul li {
  font-size: 1rem;
  display: inline-block;
  margin-right: .75rem;
}

.pagination ul li:last-child {
  margin-right: 0;
  border: 0;
}

.pagination ul li a,
.pagination ul li .current {
  font-weight: 600;
  line-height: 1;
  display: block;
  padding: .75rem .875rem;
  border: 1px solid #ddd;
}

.pagination ul li a {
  text-decoration: none;
  color: #555;
}

.pagination ul li .current {
  color: #fff;
  background-color: #1d2d43;
}

.pagination ul li .prev,
.pagination ul li .next {
  padding: .75rem .5rem;
  border: 0;
}

.pagination ul li i {
  font-size: 1rem;
  color: #1d2d43;
}

@media(max-width: 480px) {
  .pagination {
    margin: 3rem 0;
  }

  .pagination ul li a {
    padding: .5rem;
  }
}


@media(min-width: 1921px) {
  .home-fv-wrap img {
    height: auto;
  }
}

@media(min-width: 821px) {
  .home-article-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
