@charset "utf-8";

/*
theme Name: true-north-partners
Author: 株式会社トゥルーノース・パートナーズ
Description: original theme
version： 1.0.0
*/

html,
body,
span,
p,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
}

* {
    margin: 0px;
    padding: 0px;
}

html {
    scroll-behavior: smooth;
}

body {
    line-height: 1;
    -webkit-text-size-adjust: none;
    counter-reset: number 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    background: transparent;
    color: #333;
}

a:hover {
    opacity: 0.7;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

ins {
    text-decoration: none;
    color: #000;
    background-color: #ff9;
}

mark {
    font-weight: bold;
    font-style: italic;
    color: #000;
    background-color: #ff9;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    cursor: help;
    border-bottom: 1px dotted;
}

table {
    border-spacing: 0;
    border-collapse: collapse;
}

hr {
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}

html {
    font-size: 16px;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.8;
    margin: 0;
    padding: 0;
    color: #333;
    font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 500;
    color: #333;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
    width: 100%;
}

.justify {
    text-align: justify;
}

.pc_block {
    display: block !important;
}

.pc_inlineblock {
    display: inline-block;
}

.sp_block {
    display: none !important;
}

br.sp_block,
.sp_inlineblock {
    display: none !important;
}

.header-inner,
.container,
.footer-inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
}

.container:after {
    display: block;
    clear: both;
    content: '';
}

.contents {
    float: left;
    width: 70%;
    margin-right: 3%;
}

.sidebar {
    width: calc(32.5% - 39.75px);
    float: left;
    max-width: 100%;
}

.inst_feed_inner {
    width: 80%;
    margin: 5vw auto 0;
}

.sb_instagram_header.sbi_medium.sbi_no_avatar {
    display: none;
}

div#sbi_load {
    display: none;
}

/*---------------------------------------------------------
アニメーション
---------------------------------------------------------*/

.js-animation {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: all 2s;
    -o-transition: all 2s;
    transition: all 2s;
}

.js-animation.is-show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
}


/*ローディング*/

.start {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 9000;
}

.start p {
    position: fixed;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: none;
    z-index: 9999;
    width: 22vw;
}

/*---------------------------------------------------------
アニメーション
---------------------------------------------------------*/

.js-animation {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: all 2s;
    -o-transition: all 2s;
    transition: all 2s;
}

.js-animation.is-show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
}

.animate {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 1.5s;
    -o-transition: all 1.5s;
    transition: all 1.5s;
}

.animate.show {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

.animate.show:nth-of-type(1) {
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}

.animate.show:nth-of-type(2) {
    -webkit-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.animate.show:nth-of-type(3) {
    -webkit-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.animate.show:nth-of-type(4) {
    -webkit-transition-delay: 0.6s;
    -o-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.animate.show:nth-of-type(5) {
    -webkit-transition-delay: 0.8s;
    -o-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

.animate.show:nth-of-type(6) {
    -webkit-transition-delay: 1.2s;
    -o-transition-delay: 1.2s;
    transition-delay: 1.2s;
}



/*---------------------------------------------------------
ボタンアニメーション
---------------------------------------------------------*/
.link a {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 50%;
    margin: 5vh auto 0;
    padding: 1vh 0;
    font-weight: 500;
    border: 2px solid #171c61;
    transition: 0.5s;
    background: #171c61;
    color: #fff;
    font-size: 1.2rem;
    letter-spacing: .1vw;
}

.link a:hover {
    color: #171c61;
    background: #fff;
}

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

header {
    height: 12vh;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    background: rgb(255 255 255 / 95%);
}

.site-title-wrap {
    width: 30%;
    height: 12vh;
    padding-left: 1.5%;

}

.site-title-wrap a {
    height: 12vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.site-title-wrap img {
    width: 95%;
    height: auto;
}


.header-inner {
    max-width: 100%;
    position: unset;
    left: 0;
    right: 0;
    z-index: 100;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

nav#g-nav {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

div#g-nav-list {
    width: 100%;
}

nav ul {
    width: 100%;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    height: 12vh;
}

.nav_left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 19%;
}

nav ul li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
}

nav ul li a {
    display: block;
    text-decoration: none;
    padding: 0 1.5vw;
    font-weight: 600;
    font-size: 1.15rem;
    letter-spacing: 2px;
    color: #171c61;
    line-height: 1.6;
}

nav ul li a:hover {
    opacity: 0.6;
}

nav ul li.blog a {
    padding: 0 2.5vw 0 1.5vw;
}

nav ul li.contact {
    width: 17%;
}


nav ul li.contact a {
    color: #fff;
        background: #005bbb;
    height: 12vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    outline: 1px solid #fff;
    outline-offset: -.6vh;
    font-size: 1.2rem;
}

nav ul li.contact a img {
    width: 20%;
    margin-top: 1vh;
}

nav ul li.contact a hr {
    border-top: 1px solid #fff;
    margin: 1vh auto .5vh;
}

.menu-list {
    display: none;
    width: 200%;
    position: absolute;
    top: 12vh;
    left: 0;
    border: 1px solid #171c61;
    height: auto;
}

nav ul li.menu-item,
.submenu-list>li {
    text-align: left;
}

.menu-list>li>a {
    text-decoration: none;
    position: relative;
    background: #ffffff;
    display: block;
    width: 100%;
    padding: 1.5vh;
    color: #171c61;
    border-bottom: 1px solid #171c61;
    box-sizing: border-box;
}

.menu-list>li:last-child>a {
    border-bottom: none;
}

nav ul.menu-list>li>a:hover {
    opacity: 0.8;
    transition: all .3s;
}

.submenu-list {
    display: none;
    position: absolute;
    top: -.5px;
    left: 100%;
    width: 120%;
    border: 1px solid #171c61;
    box-sizing: border-box;
    height: auto;
}

.menu-item:hover>.submenu-list {
    display: block;
}

.submenu-list>li>a {
    text-decoration: none;
    position: relative;
    background: #ffffff;
    display: block;
    width: 100%;
    padding: 1.5vh;
    color: #171c61;
    border-bottom: 1px solid #171c61;
    box-sizing: border-box;
}

.submenu-list>li:last-child>a {
    border-bottom: none;
}

.submenu-list>li>a:hover {
    opacity: 0.8;
    transition: all .3s;
}

/*---------------------------------------------------------
メインビジュアル
---------------------------------------------------------*/
.mainvisual {
    height: 88vh;
    position: relative;
    margin-top: 12vh;
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/09/mv-back.jpg);
    background-size: cover;
    overflow: hidden;
}

.mainvisual .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.mv_copy {
    text-align: center;
    position: absolute;
    top: 47%;
    left: 21vw;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.mv_copy p {
    color: #fff;
    font-size: 3rem;
    text-shadow: 3px 3px 5px #858585;
    font-weight: 600;
}

.mv_copy p span.small {
    font-size: .8em;
}

.mv_copy p.p2 {
    font-size: 3.5rem;
}

.mv_copy p.p4 {
    font-size: 5rem;
    line-height: 1.5;
    margin-top: 5vh;
    font-family: "Noto Serif JP", seri
}

.mv_copy p.p4 img {
    width: 16%;
    -webkit-filter: drop-shadow(0px 3px 10px rgba(255, 255, 255, .8));
    filter: drop-shadow(0px 3px 10px rgba(255, 255, 255, .5));
    position: relative;
    top: -1vh;
    right: 1vw;
}

.mv_copy p.p5 {
    font-size: 1.5rem;
}

img.mv-member {
    position: absolute;
    bottom: -5vh;
    right: -1vw;
    width: 64%;
}

.scroll {
    padding-top: 5px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.scroll a {
    position: relative;
    padding-bottom: 5px;
    color: #171c61;
    text-decoration: none;
    line-height: 1;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 2px;
    font-weight: 600;
    font-size: 1.1rem;
}

@-webkit-keyframes scroll {
    0% {
        height: 0;
    }

    100% {
        height: 40px;
    }
}

@keyframes scroll {
    0% {
        height: 0;
    }

    100% {
        height: 40px;
    }
}

@media (max-width: 743px) {
    @-webkit-keyframes scroll {
        0% {
            height: 0;
        }

        100% {
            height: 30px;
        }
    }

    @keyframes scroll {
        0% {
            height: 0;
        }

        100% {
            height: 30px;
        }
    }
}

.scroll a:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    width: 1px;
    height: 0;
    background: #171c61;
    margin: auto;
    -moz-animation-name: scroll;
    -moz-animation-duration: 1800ms;
    -moz-animation-timing-function: ease-out;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-name: scroll;
    -webkit-animation-duration: 1800ms;
    -webkit-animation-timing-function: ease-out;
    -webkit-animation-iteration-count: infinite;
    -o-animation-name: scroll;
    -o-animation-duration: 1800ms;
    -o-animation-timing-function: ease-out;
    -o-animation-iteration-count: infinite;
    -ms-animation-name: scroll;
    -ms-animation-duration: 1800ms;
    -ms-animation-timing-function: ease-out;
    -ms-animation-iteration-count: infinite;
}

.mouse .over {
    -o-transition: opacity 200ms ease-in;
    -webkit-transition: opacity 200ms ease-in;
    transition: opacity 200ms ease-in;
}

/*---------------------------------------------------------
TOPコンテンツ
---------------------------------------------------------*/

p.mb {
    margin-bottom: .7em;
}

.flex-wrap {
    display: flex;
    flex-wrap: wrap;
}

span.strong {
    font-weight: bold;
    color: #171c61;
    background: linear-gradient(transparent 60%, #03a9f42e 60%);
}

section.mission {
    position: relative;
    overflow: hidden;
}

section.mission p.en-big {
    top: -2vh;
    color: #171c61;
}


.home section h2 {
    font-family: "Lato", sans-serif;
    font-size: 4rem;
    line-height: 1.4;
    color: #171c61;
    letter-spacing: .1em;
}

.home section h2 span {
    display: block;
    font-size: 1.3rem;
    margin-top: 1vh;
}

section.mission h2 span {
    margin-top: 0;

}

section.mission .inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 15vh 0 22vh;
}

section.mission .flex-box.left {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 49%;
    text-align: center;
}

img.bg-logo {
    width: 83%;
}

section.mission .flex-box.left p {
    margin-top: 1vh;
    font-size: 1.2rem;
    color: #171c61;
    font-weight: 500;
}

section.mission .flex-box.right {
    text-align: center;
    width: 40%;
}

section.mission .text-wrap {
    margin-top: 5vh;
    margin-top: 5vh;
}

section.mission .text-wrap p {
    font-size: 1.3rem;
}

.en_bg {
    bottom: -1vh;
    font-size: 10rem;
    opacity: .1;
    position: absolute;
    left: 0;
    white-space: nowrap;
    color: #171c61;
    width: 86%;
    height: 13vh;
}

section.service.btob {
    background: #03bff4;
    position: relative;
}

section.service.btob::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: #171c61;
    content: "";
}

section.service .inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 15vh 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

section.service.btob h2 {
    color: #fff;
}

section.service .flex-wrap {
    justify-content: space-between;
}

section.service.btob .flex-box {
    width: 43%;
    margin-top: 10vh;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

section.service.btob .flex-box a {
    font-size: 4rem;
    text-decoration: none;
    line-height: 1.3;
    display: block;
    padding: 3vh 0 3.5vh;
    width: 100%;
    background: #fff;
}

section.service.btob .flex-box.left a {
    color: #03bff4;
    outline: 2px solid #03bff4;
    outline-offset: -1.25vh;
}

section.service.btob .flex-box.right a {
    color: #171c61;
    outline: 2px solid #171c61;
    outline-offset: -1.25vh;
}

section.service.btob .flex-box a span.small {
    font-size: .8em;
}

section.service.btob .flex-box a span.big {
    font-size: 6rem;
    display: block;
    font-family: "Noto Serif JP", serif;
}

section.service.btob .flex-box a span.support {
    font-size: 3rem;
    display: block;
}

section.service.rsec {
    background: #F5F5F5;
}

section.service.rsec .flex-wrap {
    justify-content: space-between;
    margin-top: 7vh;
}

section.service.rsec .flex-box {
    width: 30%;
    background: #fff;
    display: block;
    border: 1vh solid #171c61;
    box-sizing: border-box;
}

section.service.rsec .link a {
    width: 30%;
}

section.voice,
section.news {
    overflow: hidden;
    position: relative;
}

p.en-big {
    position: absolute;
    font-size: 16rem;
    right: -3vw;
    top: -2vh;
    line-height: 1;
    color: #607D8B;
    font-weight: 700;
    font-family: "Lato", sans-serif;
    writing-mode: vertical-rl;
    z-index: 1;
}

section.voice p.en-big {
    color: #171c61;
    opacity: 1;
}

section.news p.en-big {
    color: #ffffff;
}

section.voice .inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 15vh 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

section.voice .flex-wrap {
    justify-content: space-between;
    margin-top: 7vh;
}

section.voice .flex-box {
    width: 30%;
}

section.voice h3.c_name {
    background: #171c61;
    color: #fff;
    padding: .5vh 0;
    font-size: 1.3rem;
}

section.voice dl {
    display: flex;
    justify-content: space-between;
    text-align: center;
    border-collapse: collapse;
    font-size: 1.1rem;
    background: #F5F5F5;
}

section.voice dt {
    width: 40%;
    border: 1px solid #333;
    padding: .5vh 0;
}

section.voice dd {
    border: 1px solid #333;
    margin-left: -1px;
    width: calc(60% + 1px);
    padding: .5vh 0;
}

section.voice p.text {
    border: 1px solid #333;
    border-top: unset;
    padding: 1vh;
    font-size: 1.1rem;
    text-align: justify;
    line-height: 1.6;
    background: #fff;
}

section.voice .flex-box a {
    text-decoration: none;
}

section.voice .link a {
    width: 30%;
}

section.news {
    width: 100%;
    position: relative;
    overflow: hidden;
}

section.news:before {
    background: #F5F5F5;
    content: "";
    width: 100%;
    height: 60vh;
    position: absolute;
    right: 0;
}

section.news::after {
    background: #171c61;
    content: "";
    width: 100%;
    /*     height: 42vh; */
    height: 27vh;
    position: absolute;
    bottom: 0;
    border-radius: 0 0 0 7vw;
    right: 0;
}

section.news .inner {
    max-width: 90%;
    margin: 0 auto;
    padding: 15vh 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

section.news .swiper-wrapper {
    display: contents;
}

.he_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    margin-bottom: 5vh;
    margin-top: 7vh !important;
}

.he_box dt {
    width: 23%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.img-wrap {
    width: 100%;
}

.img-wrap img {
       width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.day-title {
    padding: 1vh .5vw;
    background: #fff;
    font-size: 1.1rem;
}

p.article-date {
    text-align: right;
    font-size: .9rem;
}

p.n_title {
    font-size: 1.1rem;
    color: #333;
    font-weight: 500;
    line-height: 1.6;
    text-align: left;
}

.he_box.swiper-container a {
    text-decoration: none;
}


section.news .link a {
    border: 2px solid #ffffff;
    background: #fff;
    color: #171c61;
    width: 30%;
}

section.news .hb_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-evenly;
    position: relative;
    margin-bottom: 9vh;
    margin-top: 6vh;
}

ul.hb_box li {
    list-style: none;
    width: 22.5%;
}

ul.hb_box li .img-wrap img {
    width: 100%;
    border-radius: 0.3em 0.3em 0 0;
    -webkit-box-shadow: 5px 3px 10px rgb(50 50 50/18%);
    box-shadow: 5px 3px 10px rgb(50 50 50/18%);
    z-index: 0;
    position: relative;
}

ul.hb_box h3 {
    background: #ffffff;
    padding: 0.5em;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 0 0 0.3em 0.3em;
    -webkit-box-shadow: inset -5px -5px 10px 0px rgb(255 255 255/50%), 5px 5px 10px 0px rgb(50 50 50 / 18%);
    box-shadow: inset -5px -5px 10px 0px rgb(255 255 255/50%), 5px 5px 10px 0px rgb(50 50 50 / 18%);
    z-index: 100;
    position: relative;
}

ul.hb_box a {
    text-decoration: none;
}

ul.hb_box a:hover,
.he_box.swiper-container a:hover {
    opacity: 0.6;
}

section.news .button {
    text-align: center;
    margin-top: 3vw;
}

section.news .button a {
    border: 1.5px solid #013373;
    width: 30%;
    display: block;
    color: #013373;
    text-decoration: none;
    margin: 0 auto;
    padding: 0.5em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    font-weight: 500;
    letter-spacing: 0.2em;
    font-size: 1.2rem;
}

/* section.cta {
    background: #f5f5f5;
    border-radius: 5vw 0 0 0;
}


section.cta .inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 10vh 0;
    text-align: center;
}

section.cta .flex-wrap {
    justify-content: space-between;
    margin-top: 10vh;
}

section.cta .flex-wrap .flex-box {
    width: 49%;
}

section.cta h3 {
    background: #171c61;
    color: #fff;
    font-size: 2rem;
    padding: .5vh 0;
}

section.cta .text-wrap {
    margin-top: 3vh;
}

section.cta p.c-copy {
    font-size: 1.7rem;
    font-weight: 600;
    margin-top: 4vh;
    color: #171c61;
}

section.cta .text-wrap p {
    font-size: 1.3rem;
    text-align: left;
}

section.cta .flex-wrap-in,
section#cta .flex-wrap-in {
    justify-content: space-between;
    margin-top: 3vh;
    display: flex;
    flex-wrap: wrap;
}

section#cta .flex-wrap-in {
    padding-bottom: 4vh;
}

section.cta .form,
section.cta .line,
section#cta .form,
section#cta .line {
    width: 48%;
}

section.cta .form a,
section#cta .form a {
    text-align: center;
    text-decoration: none;
    font-size: 1.6rem;
    width: 100%;
    margin: 0 auto;
    height: 6.6vh;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #171c61;
    font-weight: 500;
    color: #ffffff;
    background: #171c61;
}

section.cta .form a:hover,
section#cta .form a:hover {
    border: 2px solid #171c61;
    color: #171c61;
    background: #ffffff;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    opacity: unset;
}

section.cta .form a::before,
section#cta .form a::before {
    background: no-repeat;
    width: 2vw;
    height: 3vh;
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/09/mail-white.svg);
    content: '';
    margin-right: .5vw;
    display: inline-block;
    top: .3vh;
    position: relative;
}

section.cta .form a:hover::before,
section#cta .form a:hover::before {
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/09/mail-navy.svg);
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    opacity: unset;
}

section.cta .line a,
section#cta .line a {

    display: block;
    width: 100%;
    height: 6.6vh;
    border: 2px solid #06c755;
    font-size: 1.7rem;
    text-decoration: none;

    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    color: #ffffff;
    background: #06c755;
}

section.cta .line a::before,
section#cta .line a::before {
    background: no-repeat;
    width: 2vw;
    height: 4vh;

    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/09/line-icon-w.svg);
    content: '';
    margin-right: .5vw;
    display: inline-block;
    top: .3vh;
    position: relative;
}

section.cta .line a:hover::before,
section#cta .line a:hover::before {
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/09/line-icon-g.svg);
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    opacity: unset;
}

section.cta .line a:hover,
section#cta .line a:hover {
    border: 2px solid #06c755;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    opacity: unset;
    background: #fff;
    color: #06c755;
}

section.cta .flex-wrap .flex-box .line img,
section#cta .flex-wrap .flex-box .line img {
    position: unset;
    width: unset;
}

section.cta .flex-wrap .flex-box.right {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    right: -3vw;
}

section.cta .flex-wrap .flex-box img {
    width: 97%;
}

section.cta .flex-box.right p {
    margin-top: 1vh;
    font-size: 1.2rem;
    color: #171c61;
    font-weight: 500;
}

section#cta .flex-wrap-in {
    width: 90%;
    margin: 0 auto;
}
 */

/*---------------------------------------------------------
固定ページ
---------------------------------------------------------*/

section.page-mv,
.single {
    margin-top: 12vh;
}

section.page-mv {
    background: #171c61;
}

section.page-mv .inner {
    width: 80%;
    margin: 0 auto;
    padding: 4vh 0;
}

section.page-mv h1 {
    font-family: "Lato", sans-serif;
    font-size: 3rem;
    line-height: 1.4;
    color: #ffffff;
    letter-spacing: .1em;
    width: fit-content;
}

section.page-mv h1 span {
    display: block;
    font-size: 1.1rem;
    text-align: center;
}

.breadcrumb {
    width: 80%;
    margin: auto;
    text-align: left;
    padding: 10px;
    letter-spacing: 2px;
    font-size: 0.8rem;
}

.breadcrumb a {
    text-decoration: none;
    color: #666;
}

section.cta h2 {
    font-family: "Lato", sans-serif;
    font-size: 4rem;
    line-height: 1.4;
    color: #171c61;
    letter-spacing: .1em;
}

section.cta h2 span {
    display: block;
    font-size: 1.3rem;
    margin-top: 1vh;
}

/*---------------------------------------------------------
法人向けサービス
---------------------------------------------------------*/
.menu-wrap {
    max-width: 65%;
    margin: 0 auto;
    padding: 0 0 7vh;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.menu-wrap .flex-box {
    width: 48%;
    text-align: center;
}

.menu-wrap .flex-box a {
    display: block;
    padding: 1vh 0;
    font-size: 1.7rem;
    text-decoration: none;
    color: #fff;
    outline: 1px solid #fff;
    outline-offset: -.5vh;
    position: relative;
}

.menu-wrap .flex-box.attack a {
    background: #03bff4;
}

.menu-wrap .flex-box.defense a {
    background: #171c61;
}

.menu-wrap .flex-box a span {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 1.8rem;
}

.menu-wrap .flex-box a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    border-style: solid;
    border-width: 1.5vh .75vw 0 .75vw;
    border-color: #ffffff transparent transparent transparent;
}

.explanation {
    width: 65%;
    margin: 7vh auto 5vh;
}

.explanation h2 {
    background: #171c61;
    color: #fff;
    text-align: center;
    padding: 2vh 0;
    font-size: 1.7rem;
    letter-spacing: .1em;
    line-height: 1.6;
    outline: 1px solid #fff;
    outline-offset: -.6vh;
}

.explanation h2 span {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    font-size: 2rem;
}

.explanation .flex-box.left {
    text-align: center;
    position: relative;
    width: 100%;
}

.explanation .flex-box.left img {
    width: 62%;
    margin-top: 1vh;
}

.explanation .flex-box.left img.c-name {
    position: absolute;
    bottom: 13vh;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -ms-transform: translate(-50%, -50%);
    width: 100%;
    z-index: 1;
}

.explanation .flex-box.right {
    width: 100%;
}

.explanation p {
    font-size: 1.2rem;
    margin-top: 2vh;
}

section#attack,
section#defense {
    position: relative;
    overflow: hidden;
}

section.service-attack .inner {
    max-width: 65%;
    margin: 0 auto 10vh;

}

section.service-defense .inner {
    max-width: 65%;
    margin: 0 auto 10vh;
}

section.service-attack h2 {
    font-size: 2.5rem;
    text-decoration: none;
    color: #fff;
    text-align: center;
    background: #03bff4;
    width: 100%;
    font-weight: 400;
    position: relative;
}

section.service-defense h2 {
    font-size: 2.5rem;
    text-decoration: none;
    color: #fff;
    text-align: center;
    background: #171c61;
    width: 100%;
    font-weight: 400;
    position: relative;
}

section.service-attack h2 span,
section.service-defense h2 span {
    font-size: 3.5rem;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
}

section.service-attack h2::before,
section.service-defense h2::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11.35vh 4vw 0 0;
    content: "";
    bottom: 0;
    left: -1px;
    position: absolute;
    border-color: #ffffff transparent transparent transparent;
}

section.service-attack h2 img {
    position: absolute;
    width: 7%;
    right: 1vw;
    bottom: 0;
}

section.service-defense h2 img {
    position: absolute;
    width: 9%;
    right: 1vw;
    bottom: 0;
}

section.service-attack .service-wrap,
section.service-defense .service-wrap {
    margin-top: 5vh;
}

.service-wrap.flex-wrap .flex-box.left {
    width: 35%;
    height: 16.5vw;
    background-size: cover;
}

.service-wrap.flex-wrap.hojokin .flex-box.left {
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/hojyokin.jpg);
    background-position: right 83% top 0;
}

.service-wrap.flex-wrap.tax .flex-box.left {
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/setsuzei.jpg);
    background-position: right 77% top 0;
}

.service-wrap.flex-wrap.financing .flex-box.left {
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/yuushi.jpg);
    background-position: right 36% top 0;
}

.service-wrap.flex-wrap.web .flex-box.left {
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/web-marketing.jpg);
    background-position: right 0 bottom 0;
}

.service-wrap.flex-wrap.ai .flex-box.left {
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/ai-it.jpg);
    background-position: right 5% top 0;
}

.service-wrap.flex-wrap.brain .flex-box.left {
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/left-brain.jpg);
}

.service-wrap.flex-wrap.ma .flex-box.left {
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/manda.jpg);
    background-position: right 28% top 0;
}

.service-wrap.flex-wrap .flex-box.right {
    background: #F5F5F5;
    width: 65%;
}

p.side {
    position: absolute;
    font-size: 16rem;
    right: -2.5vw;
    line-height: 1;
    font-weight: 700;
    font-family: "Lato", sans-serif;
    writing-mode: vertical-rl;
    z-index: 1;
}

section#attack p.side {
    color: #03bff4;
    top: 0vh;
}

section#defense p.side {
    color: #171c61;
    top: -2vh;
}

section#attack h3 {
    background: #03bff4;
    color: #fff;
    text-align: center;
    padding: .75vh;
    font-size: 1.5rem;
    letter-spacing: .1em;
}

section#defense h3 {
    background: #171c61;
    color: #fff;
    text-align: center;
    padding: .75vh;
    font-size: 1.5rem;
    letter-spacing: .1em;
}

section#attack .link a,
section#defense .link a {
    border: 2px solid #333;
    background: #ffffff;
    color: #333;
    margin: 2vh auto 0;
}

section.service-attack .text-wrap,
section.service-defense .text-wrap {
    width: 95%;
    margin: 2vh auto 0;
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: justify;
}

/*---------------------------------------------------------
補助金サービス
---------------------------------------------------------*/

.page-id-101 section.page-mv h1 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.8rem;
    padding: 1.6vh 0;
    text-align: center;
    margin: 0 auto;
}

section.page-mv p {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: .2vw;
}

section.gs.one .inner {
    width: 100%;
    margin: 4vh auto 0;
}

section.gs h2 {
    color: #171c61;
    text-align: center;
}

.service-mv {
    position: relative;
    background: #fff;
    border: 1vh solid #171c61;
    box-sizing: border-box;
    width: 67%;
    margin: 0 auto;
}

.service-mv .flex-box.left {
    width: 50%;
}

section.gs .service-mv h2 {
    text-align: left;
    position: absolute;
    top: 5vh;
    left: 1vw;
    font-size: 2.5rem;
}

.service-mv .bg {
    position: absolute;
    width: 100%;
    bottom: 3vh;
    background: #03bff4;
    height: 18vh;
}

.service-mv p.p1 {
    font-size: 2.8rem;
    color: #171c61;
    font-weight: 600;
    line-height: 1.5;
    padding: 1vh 0 2vh;
    text-align: center;
}

.service-mv .text-wrap {
    background: #171c61;
    padding-bottom: 2vh;
    margin-bottom: 4vh;
}

.service-mv .text-wrap p {
    font-size: 2.3rem;
    color: #fff;
    font-weight: 500;
    line-height: 1.5;
}

.service-mv p span.zero {
    font-size: 1.5em;
    font-style: italic;
    padding: 0 .75vw 0 0.3vw;
    position: relative;
    top: .4vh;
}

.service-mv p span.small {
    font-size: 1.7rem;
}

.service-mv .text-wrap p.p2 {
    text-align: center;
}

.service-mv .flex-box.right {
    width: 50%;
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/hojyokin.jpg);
    background-size: cover;
}

.banner {
    text-align: center;
    margin-top: 3vh;
}

.banner a {
    background: #E91E63;
    display: block;
    padding: 1vh;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
    letter-spacing: .2vw;
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
}

section.gs.one .banner a {
    width: 35%;
}

section.gs.five .banner a {
    width: 60%;
}

section.gs.eight .banner a {
    width: 50%;
}

.banner a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5vw;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: .5em;
    height: .5em;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

section.gs.one h2 {
    margin-top: 6vh;
    background: #171c61;
    padding: 3vh 0;
    font-size: 2.3rem;
    letter-spacing: .05em;
    font-weight: 600;
    color: #fff;
    line-height: 1.7;
}

section.gs.one h2 .dots {
    background-image: radial-gradient(circle at center, #E91E63 20%, transparent 20%);
    background-position: top 0 right 0;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    padding-top: .1em;
    color: #E91E63;
}

section.gs.two .inner {
    width: 70%;
    margin: 5vh auto 5vh;
}

section.gs.two h2 {
    font-size: 2.5rem;
    line-height: 1.5;
    margin-bottom: 5vh;
}

section.gs.two .flex-wrap {
    justify-content: space-between;
}

section.gs.two .flex-box.left {
    width: 48%;
    display: flex;
    justify-content: center;
    align-items: center;
}

section.gs.two .flex-box.left img {
    width: 100%;
}

section.gs.two .flex-box.right {
    width: 46%;
}

.balloon {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 100%;
    background-color: #F5F5F5;
    color: #333333;
    height: 100%;
    border-radius: 4vw;
    box-sizing: border-box;
    width: 100%;
}

.balloon::before {
    position: absolute;
    left: -1.5vw;
    width: 2.1vw;
    height: 4vw;
    background-color: #f5f5f5;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    content: '';
}

section.gs.two .flex-box.right .wrap {
    width: 100%;
}

section.gs.two .flex-box.right p.p1 {
    text-align: center;
    font-size: 1.7rem;
    font-weight: 600;
}

section.gs.two .flex-box.right ul {
    padding-left: 10vw;
    margin-top: 2vh;
}

section.gs.two .flex-box.right ul li {
    font-size: 1.6rem;
    font-weight: 600;
}

.bottom-text {
    text-align: center;
    margin-top: 5vh;
}

.bottom-text p {
    font-size: 1.5rem;
    font-weight: 500;
}

section.gs.three .inner {
    width: 65%;
    margin: 0 auto 2vh;
}

section.gs.three h2 {
    background: #171c61;
    color: #fff;
    padding: 1vh 0;
    font-size: 2rem;
    letter-spacing: .1vw;
}

.pro-wrap {
    padding: 3vh 2vw;
    background: #F5F5F5;
}

section.gs.three dt,
section.gs.five dt {
    font-size: 1.7rem;
    font-weight: 600;
}

section.gs.three dt span.yellow,
section.gs.five dt span.yellow {
    background: #FFEB3B;
    padding: .5vh 1vw;
    margin-right: 1vw;
    border-left: .3vw solid #171c61;
}

section.gs.three dd,
section.gs.five dd {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-top: 2vh;
    margin-bottom: 5vh;
}

.arrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4vh 5vw 0;
    border-color: #f42679 transparent transparent;
    margin: 3vh auto 2vh;
}

section.gs.four h2 {
    font-size: 2.2rem;
    font-weight: 600;
}

section.gs.four .flex-wrap {
    margin-top: 3vh;
}

section.gs.four .flex-box {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

section.gs.four .flex-box.left {
    background: #F5F5F5;
}

section.gs.four .text-wrap {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70%;
    margin: 0px 4vw 0 auto;
}

section.gs.four .text-wrap p {
    font-size: 1.9rem;
    font-weight: 500;
    color: #171c61;
}

section.gs.four span {
    font-weight: 600;
    background: linear-gradient(transparent 60%, #FFEB3B 50%);
    color: #E91E63;
}

section.gs.four .flex-box.right img {
    width: 74%;
}

section.gs.five .inner {
    margin: 7vh auto;
    width: 60%;
}

section.gs.five h2 {
    background: #171c61;
    color: #fff;
    padding: 1vh 0;
    font-size: 2rem;
    letter-spacing: .1vw;
}

section.gs.five .bottom-text {
    text-align: center;
    margin-top: 5vh;
    background: #171c61;
    padding: 1vh 0;
}

section.gs.five .bottom-text p {
    font-size: 1.7rem;
    font-weight: 500;
    color: #fff;
}

span.red {
    color: #E91E63;
}

section.gs.six {
    position: relative;
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/10/gs-back.jpg);
    background-size: cover;
}

section.gs.six::after {
    width: 100%;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgb(23 28 97 / 80%);
}

section.gs.six .inner {
    width: 95%;
    padding: 7vh 0 10vh;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

section.gs.six h2 {
    font-size: 2.5rem;
    margin-bottom: 4vh;
    letter-spacing: .5vw;
    color: #fff;
}

section.gs.six .flex-wrap {
    justify-content: space-between;
}

section.gs.six .flex-box {
    width: 23%;
}

table {
    width: 100%;
}

section.gs table,
section.gs td,
section.gs th {
    border: 1px solid #595959;
    border-collapse: collapse;
    font-size: 1.1rem;
}

section.gs.six th {
    background: #F5F5F5;
    width: 30%;
    padding: .5vh 0;
    font-weight: 500;
    vertical-align: middle;
}

section.gs.six td {
    padding: 0.5vh .5vw;
    line-height: 1.6;
    font-weight: 500;
    background: #fff;
}

section.gs.six td.mh {
    height: 6vh;
}

section.gs.eight .link a {
    margin: 3vh auto 0;
    padding: .5vh 0;
    background: #ffffff;
    color: #171c61;
    border: 1px solid #171c61;
    width: 45%;
}

section.gs.seven .inner {
    margin: 7vh auto 10vh;
    width: 70%;
}

section.gs.seven .flex-box.left {
    width: 40%;
}

section.gs.seven .flex-box.left .text-wrap {
    border: 1px solid #333;
    padding: .5vh 0;
}

section.gs.seven .flex-box.left p {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
}

.voice-wrap:not(:first-of-type) {
    margin-top: 7vh;
}

section.gs.seven h2,
section.gs.eight h2,
section.gs.nine h2 {
    font-size: 2.5rem;
    margin-bottom: 5vh;
    letter-spacing: .5vw;
}

section.gs.seven .flex-box.right {
    width: 60%;
    background: #F5F5F5;
    padding: 0 3vw;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

section.gs.seven .flex-box.right p {
    font-size: 1.2rem;
}

section.gs.seven .flex-box.right .link a {
    margin: 2vh auto 0;
    background: #ffffff;
    color: #171c61;
    padding: .7vh 0;
}

section.gs.eight {
    background: #F5F5F5;
}

section.gs.eight .inner {
    width: 80%;
    padding: 7vh 0;
    margin: 0 auto;
}

section.gs.eight .flex-wrap {
    justify-content: space-between;
}

section.gs.eight .flex-box {
    width: 48%;
}

section.gs.eight .flex-box:nth-child(n+3) {
    margin-top: 5vh;
}

section.gs.eight h3 {
    background: #171c61;
    text-align: center;
    color: #fff;
    font-size: 1.5rem;
    padding: .5vh 0;
    letter-spacing: .1vw;
}

section.gs.eight th {
    padding: 1vh 0;
    font-weight: 500;
    background: #F5F5F5;
    width: 25%;
    vertical-align: middle;
}

section.gs.eight td {
    padding: 1vh .5vw;
    line-height: 1.6;
    font-weight: 500;
    background: #fff;
    vertical-align: middle;
}

section.gs.eight p {
    margin-top: 4vh;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
}


section.gs.nine .inner {
    margin: 7vh auto 10vh;
    width: 70%;
}

.accordion {
    margin: 5vh auto;
    max-width: 80%;
}

.toggle {
    display: none;
}

.faq {
    position: relative;
    margin-bottom: 1rem;
}

.question,
.anser {
    transform: translateZ(0);
    transition: all 0.3s;
}

.question {
    padding: 2vh 3vw 2vh 1vw;
    display: block;
    color: #333;
    background: #F5F5F5;
    border-radius: .2vw;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: .1vw;
    padding-left: 2.5vw;
    text-indent: -1.5vw;
}

.question span {
    font-size: 1.5rem;
    padding-right: 0.6rem;
    line-height: 0;
    color: #171c61;
    font-weight: bold;
}

.anser span {
    font-size: 1.5rem;
    padding-right: 0.6rem;
    line-height: 0;
    color: #E91E63;
    font-weight: bold;
}

.question:after,
.question:before {
    content: "";
    position: absolute;
    right: 1.5vw;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 2px;
    height: 2vh;
    background-color: #171c61;
    transition: all 0.3s;
}

.question:after {
    transform: rotate(90deg);
}

.anser {
    max-height: 0;
    overflow: hidden;
}

.anser div {
    margin: 0;
    padding: 2vh 1vw;
    line-height: 1.8;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: .1vw;
    padding-left: 2.5vw;
    text-indent: -1.5vw;
}

.toggle:checked+.question+.anser {
    max-height: 500px;
    transition: all 1.5s;
}

.toggle:checked+.question:before {
    transform: rotate(90deg) !important;
}

section.gs.ten {
    padding: 7vh 0 10vh;
    position: relative;
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/10/gs-back.jpg);
    background-size: cover;
}

section.gs.ten::after {
    width: 100%;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgb(158 158 158 / 83%);
}

section.gs.ten .inner {
    position: relative;
    z-index: 1;
    width: 70%;
    margin: 0 auto;
}

section.gs.ten h2 {
    color: #fff;
    font-size: 2.5rem;
    margin-bottom: 5vh;
    letter-spacing: .5vw;
}

section.gs.ten .flex-wrap {
    justify-content: space-between;
}

section.gs.ten .flex-box {
    width: 48%;
    text-align: center;
}

section.gs.ten .flex-box a {
    background: #fff;
    display: block;
    text-decoration: none;
    font-size: 1.4rem;
    padding: 2vh;
    outline: 1px solid #333;
    outline-offset: -.6vh;
    font-weight: 500;
    position: relative;
}

section.gs.ten .flex-box a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5vw;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: .5em;
    height: .5em;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

section.gs-cta .flex-box.left {
    width: 60%;
    background: #F5F5F5;
}

section.gs-cta h2 {
    background: #171c61;
    color: #fff;
    font-size: 2.3rem;
    padding: .5vh 0;
    text-align: center;
    letter-spacing: .2vw;
}

section#cta p.c-price {
    text-align: center;
    margin-top: 3vh;
    font-size: 2.5rem;
    color: #E91E63;
    font-weight: 500;
}

section#cta p.c-price span {
    background: #E91E63;
    color: #fff;
    padding: 0 2vw;
    line-height: 1;
    margin-right: 1vw;
    letter-spacing: .1vw;
}

section#cta p.c-copy {
    text-align: center;
    font-size: 1.7rem;
    font-weight: 600;
    margin-top: 3vh;
    color: #171c61;
}

section#cta .text-wrap {
    margin-top: 3vh;
}

section#cta .text-wrap {
    margin: 2vh auto 3vh;
    width: 89%;
}

section#cta .text-wrap p {
    font-size: 1.3rem;
}

section.gs-cta .flex-box.right {
    position: relative;
    background-image: URL(https://tnpartners.jp/wp-content/uploads/2024/11/cta-img.jpg);
    background-position: right 1% top 80%;
    background-size: 146%;
    width: 40%;
}

/*---------------------------------------------------------
節税支援サービス
---------------------------------------------------------*/
.page-id-186 section.page-mv h1,
.page-id-192 section.page-mv h1 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.8rem;
    padding: 1.6vh 0;
    text-align: center;
    margin: 0 auto;
}

section.tss .inner {
    width: 67%;
    margin: 5vh auto;
}

.page-id-186 section.tss h2 {
    background: #171c61;
    color: #fff;
    font-size: 2.3rem;
    padding: .5vh 0;
    text-align: center;
    letter-spacing: .2vw;
    margin-bottom: 3vh;
}

section.tss .flex-wrap {
    justify-content: space-between;
}

section.tss.one .flex-box.left {
    width: 49%;
}

section.tss.one .flex-box.right {
    width: 48%;
}

section.tss p {
    font-size: 1.3rem;
}

section.tss.two {
    padding: 7vh 0 10vh;
    position: relative;
    background: #f5f5f5;
}


section.tss.two .inner {
    width: 67%;
    margin: 0 auto;
}

.page-id-186 section.tss.two h2 {
    background: unset;
    color: #171c61;
}

section.tss.two ul {
    text-align: left;
    width: 83%;
    margin: 0 auto;
    background: #fff;
    padding: 2vh 2vw;
    border: 5px solid #171c61;
    box-sizing: border-box;
}

section.tss.two li {
    list-style: none;
    font-size: 1.4rem;
    text-align: left;
    border-bottom: 1px solid #333;
    padding: 2vh 1vw;
    font-weight: 500;
}

section.tss.two li:last-of-type {
    border-bottom: navajowhite;
}

.dli-check-circle {
    background: #171c61;
    display: inline-block;
    vertical-align: middle;
    color: #ffffff;
    line-height: 1;
    position: relative;
    width: 1.25vw;
    height: 2.5vh;
    border-radius: 50%;
    box-sizing: content-box;
    margin-right: .7vw;
    top: -.3vh;
}

.dli-check-circle>span {
    width: .58em;
    height: .261em;
    border: .1em solid currentColor;
    border-top: 0;
    border-right: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(-45deg);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

section.tss.three {
    margin-top: 9vh;
}

.system-wrap {
    margin: 5vh auto;
    border-bottom: 1px solid;
    padding-bottom: 5vh;
}

.system-wrap:last-of-type {
    border-bottom: unset;
}

section.tss.three .flex-box.left {
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #171c61;
    outline: 1.5px solid #ffffff;
    outline-offset: -1vh;
}

section.tss.three h3 {
    text-align: center;
    font-size: 2rem;
    letter-spacing: .1em;
    font-weight: 600;
    color: #fff;

}

section.tss.three .flex-box.right {
    width: 68%;
}

section.tss p.copy {
    text-align: center;
    color: #171c61;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: .5vh;
    border-bottom: 1.5px solid #171c61;
    padding-bottom: .5vh;
}

.case-wrap {
    padding: 1.5vh;
    background: #f5f5f5;
    text-align: center;
    margin: 2.5vh auto;
    border: 3px solid #171c61;
    box-sizing: border-box;
}

.case-wrap h4 {
    font-size: 1.3rem;
    letter-spacing: .1vw;
    font-weight: 600;
}

dl.cost,
dt.cost,
dd.cost {
    border-collapse: collapse;
    border: 1px solid #333;
}

dl.cost {
    display: flex;
}

dl.cost dt {
    width: 25%;
    padding: 1vh 0;
    text-align: center;
    font-size: 1.3rem;
    background: #9e9e9e;
    color: #fff;
}

dl.cost dd {
    width: 75%;
    padding: 1vh 0;
    text-align: center;
    font-size: 1.3rem;
}

span.tax {
    font-size: .8em;
}

section.tss.four {
    padding: 9vh 0 10vh;
    position: relative;
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/10/gs-back.jpg);
    background-size: cover;
}

section.tss.four::after {
    width: 100%;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: hsl(236deg 62% 24% / 80%);
}

section.tss.four .inner {
    width: 85%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.page-id-186 section.tss.four h2 {
    width: 73%;
    margin: 0 auto 5vh;
    background: unset;
    color: #fff;
}

section.tss.four ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

section.tss.four ul li {
    width: 49%;
    list-style: none;
    text-align: center;
    padding: 2.5vh 0;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 500;
    background: #fff;
    border: 3px solid #171c61;
    box-sizing: border-box;
}

section.tss.four ul li:nth-child(n+3) {
    margin-top: 3vh;
}

section.flow {
    position: relative;
    background: #f5f5f5;
}

section.flow .inner {
    width: 85%;
    margin: 0 auto;
    padding: 7vh 0 10vh;
}

.page-id-186 section.flow h2 {
    font-size: 2.3rem;
    padding: .5vh 0;
    text-align: center;
    letter-spacing: .2vw;
    margin-bottom: 3vh;
    background: unset;
    color: #171c61;
}

section.flow .flex-wrap {
    justify-content: space-between;
    position: relative;
    margin-top: 7vh;
}

section.flow .flex-wrap::after {
    content: "";
    display: none;
    background: #171c61;
    width: 90%;
    height: 32px;
    position: absolute;
    top: 55%;
    left: 5%;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: block;
}

section.flow .flex-box {
    width: 24%;
    position: relative;
    z-index: 9;
}

section.flow dl {
    background: #fff;
    padding: 4vh 1vw 2vh;
    box-sizing: border-box;
}

section.flow dl dt {
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
}

section.flow dl dd {
    margin-top: 1vh;
    font-size: 1.2rem;
    line-height: 1.6;
    min-height: 7vw;
}

section.flow p {
    position: absolute;
    background: #171c61;
    color: #fff;
    padding: 1vh 1vw;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1;
    letter-spacing: .05vw;
    font-weight: 600;
    top: -2vh;
    left: -.5vw;
    font-family: "Lato", sans-serif;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

section.flow p span {
    display: block;
    font-size: 1.5rem;
}

.page-id-186 section#cta p.c-price {
    font-size: 2.3rem;
}

/*---------------------------------------------------------
融資コンサルティングサービス
---------------------------------------------------------*/
.page-id-192 section.page-mv h1 {
    width: unset;
    text-align: center;
    font-family: unset;
}

.page-id-192 .service-mv .flex-box.right {
    width: 50%;
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/11/yuushi.jpg);
    background-size: cover;
    background-position: 0 26%;
}

.page-id-192 .service-mv .text-wrap {
    padding-top: 2vh;
    padding-bottom: 2vh;
}

.page-id-192 .service-mv .text-wrap p {
    font-size: 2.1rem;
}

.page-id-192 .service-mv .text-wrap p.p2 {
    font-feature-settings: "palt";
    letter-spacing: .08vw;
}

section.fs.one {
    background-color: #f5f5f5;
    padding: 5vh 0;
}

section.fs.one .inner {
    width: 70%;
    margin: 0 auto;
}

section.fs.one h3 {
    text-align: center;
    font-size: 2.2rem;
    color: #171c61;
    margin-bottom: 3vh;
}

section.fs.one .flex-wrap.btn {
    justify-content: space-between;
}

section.fs.one .flex-box {
    width: 49%;
}

section.fs.one .flex-box a {
    display: block;
    color: #fff;
    text-align: center;
    border-radius: .2vw;
    padding: 1vh 0;
    font-size: 1.7rem;
    text-decoration: none;
    font-weight: 500;
}

section.fs.one .flex-box.left a {
    background: #4CAF50;
}

section.fs.one .flex-box.right a {
    background: #03bff4;
}

section.fs.one .flex-box a span {
    font-size: 2rem;
    margin-right: .5vw;
    font-weight: 500;
    letter-spacing: .1vw;
}

section.fs.one p {
    text-align: center;
    font-size: 1.3rem;
    margin-top: 3vh;
    font-weight: 500;
}


.page-id-192 span.green {
    background: #4caf50;
    color: #fff;
    padding: 0 1vw;
    letter-spacing: .05vw;
    border-radius: .2vw;
    margin-right: 1vw;
}

.page-id-192 span.skyblue {
    background: #03bff4;
    color: #fff;
    padding: 0 1vw;
    letter-spacing: .05vw;
    border-radius: .2vw;
    margin-right: 1vw;
}

.page-id-192 section.gs.two h2 {
    font-size: 2.3rem;
}

.page-id-192 section.gs.two .flex-box.right ul li {
    font-size: 1.5rem;
}

.page-id-192 section.gs.two section#before .flex-box.right ul li {
    font-size: 1.5rem;
    font-weight: 600;
}

.page-id-192 section.gs.two .flex-box.right ul {
    padding-left: 5vw;
    margin-top: 2vh;
}

.page-id-192 section.gs.three .bottom-text p {
    font-size: 1.6rem;
    font-weight: 500;
    background: #E91E63;
    color: #fff;
    padding: 1vh 0;
}

.page-id-192 section.gs.three .inner {
    width: 65%;
    margin: 0 auto 7vh;
}

section.fs.two {
    padding: 7vh 0;
    position: relative;
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/10/gs-back.jpg);
    background-size: cover;
}

section.fs.two::after {
    width: 100%;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgb(255 255 255 / 70%);
}

section.fs.two .inner {
    margin: 0 auto;
    width: 70%;
    position: relative;
    z-index: 1;
}

section.fs.two h2 {
    font-size: 2.2rem;
    line-height: 1.5;
    margin-bottom: 5vh;
    text-align: center;
    letter-spacing: .1vw;
}

section.gs.two h2 span.small {
    font-size: .8em;
}

section.fs.two .flex-wrap {
    justify-content: space-between;
}

section.fs.two .flex-box {
    width: 47%;
}

section.fs.two .text-wrap {
    background: #f5f5f5;
}

section.fs.two h3 {
    font-size: 1.2rem;
    text-align: center;
    padding: 1vh 0;
    background: #f5f5f5;
}

section.fs.two p {
    font-size: 1.2rem;
    text-align: center;
    padding-bottom: 1vh;
}

section.fs.two .banner {
    margin-top: 5vh;
}

section.fs.two .banner a {
    width: 50%;
}

section#after {
    padding-top: 4vh;
}

.page-id-192 section.gs.three.pro {
    padding-top: 10vh;
}

section.gs.seven .flex-box span.before {
    background: #4CAF50;
    color: #fff;
    padding: 0 .5vw;
    margin-right: .5vw;
}

section.gs.seven .flex-box span.after {
    background: #03bff4;
    color: #fff;
    padding: 0 .5vw;
    margin-right: .5vw;
}

.page-id-192 section.flow h2 {
    font-size: 2.5rem;
    margin-bottom: 5vh;
    letter-spacing: .5vw;
    text-align: center;
}

.page-id-192 section.flow .flex-wrap.top .flex-box {
    display: grid;
    grid-auto-flow: column;
}

.page-id-192 section.flow h3 {
    font-size: 1.6rem;
    margin-bottom: 5vh;
    letter-spacing: .3vw;
    text-align: center;
    margin-top: 5vh;
}

.page-id-192 section.flow h3 span {
    background: #171c61;
    color: #fff;
    padding: 1vh 1vw;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1;
    letter-spacing: .2vw;
    font-weight: 600;
    font-family: "Lato", sans-serif;
    margin-right: .5vw;
}

.page-id-192 section.flow .flex-wrap.bottom::after {
    content: unset;
}

.page-id-192 section.flow .flex-wrap.bottom {
    width: 50%;
    margin: 0 auto;
}

.page-id-192 section.flow .flex-wrap.bottom .flex-box {
    width: 45%;
}

.page-id-192 section.flow .flex-wrap.bottom .left h4 {
    text-align: center;
    font-size: 1.6rem;
    color: #fff;
    background: #4CAF50;
    border-radius: .2vw;
    width: 100%;
}

.page-id-192 section.flow .flex-wrap.bottom .right h4 {
    background: #03bff4;
    text-align: center;
    font-size: 1.6rem;
    color: #fff;
    border-radius: .2vw;
    width: 100%;
}

.page-id-192 section.flow .inner {
    padding: 7vh 0;
}

.timeline {
    max-width: 800px;
    margin: 2rem auto;
    font-family: sans-serif;
}

.timeline-item {
    display: flex;
    margin-bottom: 2rem;
    position: relative;
}

.timeline-item::after {
    content: "";
    position: absolute;
    left: 1.5vw;
    top: 3vw;
    height: calc(100% - -1vw);
    width: 2px;
    background-color: #171c61;
}

.timeline-item.last::after {
    content: unset;
}

.timeline-step {
    flex: 0 0 3vw;
    height: 3vw;
    background-color: #171c61;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    z-index: 1;
    font-size: 1.5rem;
}

.timeline-content {
    flex: 1;
    margin-left: 1vw;
    padding: 1vh 1vw;
    background-color: #ffffff;
    border-radius: 8px;
}

.timeline-title {
    font-weight: 600;
    font-size: 1.2rem;
}

.timeline-duration {
    color: #666;
    font-size: 1rem;
}

.timeline-item .notes {
    font-size: .8rem;
}

/* .page-id-192 section.gs.seven {
    background: #f5f5f5;
}

.page-id-192 section.gs.seven .inner {
    padding: 7vh 0 10vh;
    width: 70%;
    margin: 0 auto;
}

.page-id-192 section.gs.seven .flex-box.right, .page-id-192 section.gs.seven .flex-box.left .text-wrap {
	background: #ffffff;} */

.page-id-192 section.gs.nine {
    background: #f5f5f5;
}

.page-id-192 section.gs.nine .inner {
    padding: 7vh 0 10vh;
    width: 70%;
    margin: 0 auto;
}

.page-id-192 .question {
    background: #ffffff;
}

.page-id-192 section.gs-cta .flex-box.left {
    background: #ffffff;
}

/*---------------------------------------------------------
中小企業診断士向けサービス
---------------------------------------------------------*/


section.service-rsec .tc-wrap {
    width: 65%;
    margin: 7vh auto 10vh;
}

section.service-rsec .logo-wrap {
    width: 48%;
    margin: 5vh auto;
}

section.service-rsec h2 {
    background: #171c61;
    color: #fff;
    text-align: center;
    padding: 2vh 0;
    font-size: 1.8rem;
    letter-spacing: .2vw;
    line-height: 1.6;
    outline: 1px solid #fff;
    outline-offset: -.6vh;
}

section.service-rsec .tc-wrap .text-wrap {
    padding: 0 1vw;
}

section.service-rsec .tc-wrap p {
    font-size: 1.2rem;
}

.sr-wrap .inner {
    width: 72%;
    margin: 0 auto;
    padding: 10vh 0;
}

.sr-wrap .flex-wrap {
    justify-content: space-between;
}

.sr-wrap .flex-box.left {
    width: 34%;
}

.sr-wrap .flex-box.left img {
    border: 1vh solid #171c61;
    box-sizing: border-box;
    background: #fff;
}

.sr-wrap .flex-box.right {
    width: 63%;
}

section.service-rsec h3 {
    text-align: center;
    font-size: 1.8rem;
    background: #171c61;
    color: #fff;
    letter-spacing: .2vw;
    padding: .25vh 0;
}

.sr-wrap .text-wrap {
    margin: 2vh .5vw 0;
}

.sr-wrap .text-wrap p {
    font-size: 1.2rem;
    text-align: justify;
    line-height: 1.6;
}

section.service-rsec .link a {
    border: 2px solid #171c61;
    transition: 0.5s;
    background: #ffffff;
    color: #171c61;
}

section.service-rsec .link a:hover {
    border: 2px solid #171c61;
    background: #171c61;
    color: #fff;
    opacity: 1;
}

.sr-wrap.one,
.sr-wrap.three {
    background: rgb(23 28 97 / 10%);
}

/*---------------------------------------------------------
メンバー紹介
---------------------------------------------------------*/

.page-id-59 .page-contents {
    position: relative;
    overflow: hidden;
}

.page-id-59 p.side {
    color: #171c61;
    top: 15vh;
}

section.member .inner {
    width: 60%;
    margin: 5vh auto 5vh;
}

.member-header.flex-wrap {
    background: #171c61;
    margin-top: 16vh;
}

.member-header .flex-box.left {
    width: 70%;
    padding: 1.5vh 0 1.5vh 6vw;
    box-sizing: border-box;
    position: relative;
}

.member-header .flex-box.left::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 19.35vh 4vw 0 0;
    content: "";
    bottom: 0;
    left: -1px;
    position: absolute;
}

section.member.odd .member-header .flex-box.left::before {
    border-color: #ffffff transparent transparent transparent;
}

section.member.even .member-header .flex-box.left::before {
    border-color: #F5F5F5 transparent transparent transparent;
}

.member-header p.catchcopy {
    font-size: 2rem;
    color: #fff;
}

.member-header h2 {
    font-size: 1.6rem;
    color: #fff;
    font-weight: 400;
}

.member-header h2 span.en {
    padding: 0 1vw 0 .5vw;
    font-family: "Lato", sans-serif;
    letter-spacing: .1vw;
    font-weight: 500;
}

.member-header p.RSEC {
    font-size: 1.6rem;
    color: #fff;
}

.member-header .flex-box.right {
    width: 30%;
    position: relative;
}

section.member.one .flex-box.right img {
    position: absolute;
    bottom: 0;
    right: 3vw;
    width: 110%;
}

section.member.two .flex-box.right img {
    position: absolute;
    bottom: 0;
    right: 6vw;
    width: 80%;
}

section.member.three .flex-box.right img {
    position: absolute;
    bottom: 0;
    right: 6vw;
    width: 85%;
}

section.member.four .flex-box.right img {
    position: absolute;
    bottom: 0;
    right: 5vw;
    width: 89%;
}

section.member.five .flex-box.right img {
    position: absolute;
    bottom: 0;
    right: 6vw;
    width: 85%;
}

section.member .wrap {
    margin-top: 5vh;
}

section.member h3 {
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: .1vw;
    margin-bottom: 3vh;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #171c61;
}

section.member h3::before,
section.member h3::after {
    border-top: 1px solid #171c61;
    content: "";
    width: 3em;
}

section.member h3::before {
    margin-right: 1em;
}

section.member h3::after {
    margin-left: 1em;
}

section.member .text-wrap p {
    font-size: 1.2rem;
}

section.member table {
    border-bottom: 1px solid #48666f;
    border-left: 1px solid #48666f;
    border-right: 1px solid #48666f;
    margin-top: 5vh;
}

section.member table tr {
    border-top: 1px solid #48666f;
}

section.member table th {
    border-right: 1px solid #48666f;
    padding: 1vh 1vw;
    width: 30%;
    font-size: 1.2rem;
    font-weight: 400;
    box-sizing: border-box;
    vertical-align: middle;
    background: #F5F5F5;
}

section.member table td {
    border-right: 1px solid #48666f;
    padding: 1vh 1vw;
    width: 70%;
    font-size: 1.2rem;
    font-weight: 400;
    box-sizing: border-box;
    background: #fff;
}

section.member.odd.one {
    padding: 0 0 5vh;
}

section.member.odd {
    padding: 6vh 0 5vh;
}

section.member.even {
    background: #F5F5F5;
    padding: 6vh 0 5vh;
}

/*---------------------------------------------------------
会社概要
---------------------------------------------------------*/
section.company-profile .inner {
    width: 56%;
    margin: 0 auto;
    padding: 7vh 0 10vh;
}

section.company-profile h2 {
    text-align: center;
    font-size: 2rem;
    color: #171c61;
    width: 100%;
    margin: 0 auto;
}

.page-id-55 table {
    margin-top: 5vh;
    border-collapse: collapse;
    border-spacing: 0;
    border-bottom: 1px solid #48666f;
    width: 100%;
}

.page-id-55 table tr {
    border-top: 1px solid #48666f;
}


.page-id-55 table tr th {
    font-size: 1.2rem;
    line-height: 1.79;
    width: 30%;
    font-weight: unset;
    vertical-align: middle;
}

.page-id-55 table tr td {
    font-size: 1.2rem;
    line-height: 1.79;
    letter-spacing: .05rem;
    font-weight: unset;
    border: unset;
    padding: 3vh 4vw;
}

.page-id-55 table tr td ul {
    margin-left: 1.2vw;
}

table a {
    color: #333;
    text-decoration: none;
}


/*---------------------------------------------------------
お客様の声　一覧
---------------------------------------------------------*/
.page.container.voice-archive .inner {
    width: 70%;
    margin: 7vh auto 10vh;
    min-height: 18vh;
}

.page.container.voice-archive h2,
.category .archive-top h2,
.archive.date .archive-top h2 {
    text-align: left;
    font-size: 1.5rem;
    margin-bottom: 3vh;
    letter-spacing: .1em;
    border-left: .4vw solid #171c61;
    padding-left: .5vw;
    line-height: 1.6;
}

.page.container.voice-archive .archive-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5vw;
}

.page.container.voice-archive .archive-wrap::after {
    content: '';
    flex: 0 1 calc((100% - 3vw) / 3);
}

.page.container.voice-archive .article-list {
    flex: 0 1 calc((100% - 3vw) / 3);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.page.container.voice-archive .article-list:nth-child(n+4) {
    margin-top: 5vh;
}

.page.container.voice-archive .text {
    padding: 1vh .5vw 2vh;
}

.voice-link {
    text-align: center;
}

.voice-link a {
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 50%;
    margin: 2vh auto 0;
    padding: .5vh 0;
    font-weight: 500;
    border: 2px solid #171c61;
    transition: 0.5s;
    background: #ffffff;
    color: #171c61;
    font-size: 1rem;
}

.cat-day a {
    background: #171c61;
    color: #ffffff;
    text-decoration: none;
    padding: .3vh 1vw;
    font-size: .8rem;
    margin-top: 1vh;
    display: inline-block;
}

.page.container.voice-archive h3 a {
    text-decoration: none;
    font-size: 1.1rem;
    margin: .5vh auto 0;
    display: block;
}

/*ページネーション*/
.pagination {
    margin: 2rem 0;
    text-align: center;
}

.pagination ul {
    font-size: 0;
}

.pagination ul li {
    font-size: 1rem;
    display: inline-block;
    margin-right: .5rem;
}

.pagination ul li:last-child {
    border: 0;
}

.pagination ul li a,
.pagination .current {
    display: block;
    border-radius: 4px;
    padding: .5vh 1vw;
    border: 1.5px solid #171c61;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

i.fas.fa-angle-right,
i.fas.fa-angle-left {
    color: #171c61;
}

.pagination ul li .prev,
.pagination ul li .next {
    border: 0;
}

.pagination ul li a {
    text-decoration: none;
    color: #171c61;
    font-weight: 500;
}

.pagination ul li a:hover {
    opacity: .6;
}

.pagination .current {
    color: #fff;
    background-color: #171c61;
}


/*---------------------------------------------------------
お客様の声　投稿
---------------------------------------------------------*/
.single-voice .inner {
    width: 50%;
    margin: 5vh auto 10vh;
}

/*---------------------------------------------------------
ブログ
---------------------------------------------------------*/

.page.container.blog .inner {
    max-width: 72%;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 7vh 0;
}

section.blog_wrap {
    width: calc(100% - 30%);
    padding-right: 4vw;
}

.page.container.blog article.article-list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    margin-bottom: 3vh;
    padding: 3vh 2vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 17%);
    box-shadow: 0px 5px 7px 2px rgb(120 120 120 / 22%);
    -ms-flex-pack: distribute;
    justify-content: space-around;
    border: 1px solid #E0E0E0;
    flex-wrap: wrap;
}

.page.container.blog article.article-list .img-wrap {
    width: 37%;
    height: auto;
    display: -ms-grid;
    display: grid;
    place-items: center;
}

.page.container.blog article.article-list .text {
    width: 60%;
    position: relative;
}

.page.container.blog article.article-list .text h2 {
    font-size: 1.3rem;
    margin-bottom: .7vw;
    line-height: 1.4;
}

.page.container.blog article.article-list a {
    text-decoration: none;
    width: 100%;
}

.page.container.blog .cat-day {
    position: relative;
}

.page.container.blog ul.post-categories {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.page.container.blog ul.post-categories a {
    background: #171c61;
    display: inline;
    color: #fff;
    padding: .2em 1em;
    margin-right: .5em;
    font-size: .8rem;
}

.page.container.blog ul.post-categories li {
    list-style: none;
}

.page.container.blog article.article-list p.article-date {
    position: absolute;
    top: 0;
    right: 0;
}

.page.container.blog article.article-list .archive-text {
    margin-top: 1vh;
}



/*---------------------------------------------------------
投稿
---------------------------------------------------------*/
.page.container.single {
    margin-top: 12vh;
}

article.article-content {
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 0.5em;
}

article.article-content p.cat-data a {
    background: #171c61;
    display: inline;
    color: #fff;
    padding: .5vh 1vw;
    margin-right: .5em;
    font-size: .8rem;
    text-decoration: none;
    letter-spacing: .05em;
}

article.article-content h1 {
       font-size: 1.6rem;
    border-bottom: 2px solid #171c61;
    margin-bottom: 1vh;
    letter-spacing: .05em;
    margin-top: 1vh;
    padding-bottom: 1vw;
    line-height: 1.6;
}

p.article-date {
    text-align: right;
    font-size: 0.9rem;
}

article.article-content .article-img {
    margin-top: 1vh;
    margin-bottom: 2vh;
}

.post_wrap figure img {
       margin-bottom: 2vw;
    margin-top: 2vw;
}

article.article-content .article-img img {
    width: 100%;
}

article.article-content .post_wrap p {
    font-size: 1.1rem;
    margin-bottom: 3vh;
}

.su-row .su-column {
    font-size: 1.1rem;
}

.post_wrap h2 {
    color: #fff;
    font-size: 1.5rem;
    margin: 3vh 0 2vh;
    line-height: 1.5;
    padding: 1vh 1vw;
    background: #171c61;
}

.post_wrap h3 {
    padding-left: 0.5rem;
    margin: 3vh 0 1.5vh;
    border-bottom: 2px solid #171c61;
    font-size: 1.4rem;
    padding-bottom: 0.2em;
}

.post_wrap h4 {
    font-size: 1.3rem;
    position: relative;
    margin: 3vh 0 1.5vh;
}

.post_wrap h4:before {
    content: "◆";
    color: #171c61;
    margin-right: .3em;
    font-size: .95rem;
    position: relative;
    top: -1px;
}

.post_wrap ul,
.post_wrap ol {
    padding-left: 1.1em;
    margin-bottom: 3vh;
    font-size: 1.1rem;
}

.post_wrap table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 1.1rem;
    margin-bottom: 3vh;
}

.post_wrap table tr:first-of-type {
    background: #171c61;
    color: #fff;
}

.post_wrap th {
    padding: 10px;
    border: solid 1px #171c61;
}

.post_wrap td {
    padding: 10px;
    border: solid 1px #171c61;
}

.article-tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.article-tag ul {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0 !Important;
}

.single .post p.tag {
    background: #333;
    color: #fff;
    text-align: center;
    width: 10%;
    border-radius: 4px;
    font-size: .9rem !important;
    padding: 0 0;
    margin-bottom: 0;
    display: -ms-grid;
    display: grid;
    place-items: center;
}

.single .post .article-tag ul {
    margin-bottom: 0;
}

.article-tag li {
    list-style: none;
    padding-right: 1em;
}

.article-tag a {
    text-decoration: none;
    color: #333;
    font-size: 1rem;
}

.article-tag a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f02b";
    font-weight: bold;
    font-weight: 700;
    padding-right: 0.3em;
}

.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 2em;
}

.youtube iframe {
    width: 100%;
    height: 100%;
}

blockquote {
    position: relative;
    border: 1px solid #9e9e9e;
    border-radius: .5vw;
    padding: 5vh 2vh 1vh;
    background: #f5f5f5;
}

blockquote:before {
    margin-right: 1em;
    display: block;
    position: absolute;
    width: 1.8em;
    height: 1.8em;
    background-image: url("https://web6.veronica9.com/wp-content/uploads/2024/05/block-quote.svg");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    left: 1.5vh;
    top: 1.5vh;
}

blockquote:after {
    margin-right: 1em;
    display: block;
    position: absolute;
    width: 1.8em;
    height: 1.8em;
    background-image: url(https://web6.veronica9.com/wp-content/uploads/2024/05/block-quote.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    right: 0;
    bottom: .5vh;
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

blockquote cite {
    display: block;
    font-size: 1rem;
    text-align: right;
    color: #9e9e9e;
    padding-right: 5vh;
}


/*記事下ページ前後*/
nav.page-nav {
    margin: 3vh 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.page-nav .prev-link {
    width: 49%;
    text-align: left;
    text-decoration: none;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333;
    border: 1.5px solid #171c61;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    font-size: .8rem;
    line-height: 1.5;
    padding: 0.5em 1em;
    font-weight: 500;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.page-nav .next-link {
    width: 49%;
    text-align: right;
    text-decoration: none;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333;
    border: 1.5px solid #171c61;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    font-size: 0.8rem;
    line-height: 1.5;
    padding: 0.5em 1em;
    font-weight: 500;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.page-nav .prev-link::before {
    content: "PREV";
    position: absolute;
    top: -0.85em;
    left: 0;
    line-height: 1;
    color: #171c61;
    font-size: 1.1rem;
    font-weight: 600;
    font-family: "Nunito", sans-serif;
    letter-spacing: 5px;
}

.page-nav .next-link:before {
    content: "NEXT";
    position: absolute;
    top: -0.85em;
    right: 0;
    line-height: 1;
    color: #171c61;
    font-size: 1.1rem;
    font-weight: 600;
    font-family: "Nunito", sans-serif;
    letter-spacing: 5px;
}

nav.page-nav a:hover {
    background: #ebf9ff;
}

.share {
    margin-bottom: 2em;
    margin-top: 3em;
}

.share p {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 0.5vw;
    letter-spacing: .2vw;
    font-family: "Nunito", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    line-height: 1;
    color: #171c61;
}

.share ul {
    width: 30%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding-left: 0 !important;
}

.share li {
    width: 31%;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.share li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 2.8vw;
    width: 2.8vw;
    border-radius: 50px;
}

.share li a:visited {
    opacity: .6;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.facebook_share a {
    background-color: #1877f1;
    color: #ffffff;
}

li.facebook_share a img {
    width: 32%;
}

.line_share a {
    background-color: #1dcd00;
    color: #ffffff;
}

li.line_share a img {
    width: 63%;
}

.tweet_share a {
    background-color: #444;
    color: #fff;
}

li.tweet_share a img {
    width: 50%;
}

.share li a:hover {
    opacity: 0.6;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}



@media(max-width: 599px) {
    .share li {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .share li i {
        font-size: 1.3em;
        padding-top: 3px;
    }

    .share li span {
        display: none;
    }

    .share li a {
        font-size: .7rem;
    }

    .share li a svg {
        font-size: .95rem;
    }
}

/* サイドバー */

div#block-10 h2 {
    font-size: 1.2rem;
    border-bottom: 2px solid #171c61;
    margin-bottom: 2vh;
    letter-spacing: .05em;
    padding-bottom: .5vh;
}

div#block-11 h4,
div#block-12 h4 {
    font-size: 1.2rem;
    border-bottom: 2px solid #171c61;
    margin-bottom: 1vh;
    letter-spacing: .05em;
    padding-bottom: .5vh;
}

aside#sidebar a {
    text-decoration: none;
}

div#block-10 li {
    list-style: none;
    border-bottom: 1px solid #9E9E9E;
    padding-bottom: 1vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 1.5vh;
    justify-content: space-between;
}

aside#sidebar .widget_block {
    margin-bottom: 5vh;
}

.Widget_newpost li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1em;
}

.Widget_newpost li a.np_img {
    width: 40%;
}

.wpp-list li {
    margin-bottom: 0;
}

p.blog_title {
    padding-left: .5em;
    line-height: 1.3;
    width: 65%;
}

div#block-10 li a {
    width: 39%;
    margin-right: .5vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
}

div#block-10 li a.wpp-post-title {
    width: 60%;
}

.wpp-thumbnail {
    margin: 0 .5vw 0 0 !important;
}


div#block-11 ul,
div#block-12 ul {
    padding-left: 1.5em;
}

div#block-11 li,
div#block-12 li {
    padding: .5vh 0;
    font-size: 1.1rem;
}

div#block-11 li::marker,
div#block-12 li::marker {
    color: #171c61;
}

/*---------------------------------------------------------
カテゴリ―一覧
---------------------------------------------------------*/
.category header,
.single header,
.tag header {
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 5px 0px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 5px 0px;
}

.page.container.category {
    margin-top: 12vh;
}

.page.container.category h1 {
    font-size: 1.5rem;
    margin-bottom: 2vh;
    color: #0079c7;
    padding: .3vh 0;
    letter-spacing: .1em;
}

section.contact_form .inner {
    width: 100%;
    margin: 10vh auto;
    max-width: 56%;
}

section.contact_form h2 {
    text-align: center;
    font-size: 2rem;
    color: #171c61;
    width: 100%;
    margin: 0 auto;
}

/*　ContactForm7　*/

.wpcf7 {
    background: #fff;
    margin: 0 0 2.5em !important;
    padding: 0;
    width: 100%;
}

.wpcf7 .table-res-form {
    width: 100%;
    margin-top: 3em;
}

.wpcf7 .table-res-form tr {
    border-top: 1px #171c61 solid;
}

.wpcf7 .table-res-form th,
.wpcf7 .table-res-form td {
    padding: 1.5em 1.5em 1.5em 0;
    text-align: center;
}

.wpcf7 .table-res-form tr.td_last td {
    padding: 1.5em 0;
}

.wpcf7 .table-res-form th {
    font-size: 1.2rem;
    width: 31%;
    text-align: right;
    vertical-align: baseline;
    font-weight: 500;
}

.wpcf7 .table-res-form th.top {
    vertical-align: top;
}

.wpcf7 .table-res-form .requied {
    font-size: 0.8em;
    color: #FFF;
    display: inline-block;
    padding: 0.2em 0.3em;
    background: -o-linear-gradient(227deg, #ff3ba1, #ff1766);
    background: linear-gradient(223deg, #ff3ba1, #ff1766);
    border-radius: 2px;
    margin-left: .1em;
}

.wpcf7 input,
.wpcf7 textarea {
    border: .5px solid #48666f !important;
}

.wpcf7 .wpcf7-submit {
    width: 55% !important;
}

span.wpcf7-form-control.wpcf7-checkbox {
    display: -ms-grid;
    display: grid;
    text-align: left;
    font-size: 1.2rem;
}

span.wpcf7-list-item-label {
    line-height: 1.8;
    vertical-align: middle;
}

span.wpcf7-list-item.last.has-free-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

span.wpcf7-list-item.last.has-free-text label {
    width: 12%;
}

span.wpcf7-list-item.last.has-free-text input.wpcf7-free-text {
    width: 30%;
    padding: 0 0.5em;
    height: 25px;
    margin-top: 4px;
}

.table-res-form input[type="text"],
input[type="email"],
textarea,
.wpcf7 input[type="tel"],
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
select.wpcf7-form-control.wpcf7-select {
    padding: 0.2em 0.5em;
    height: 2.5em;
    font-size: 1.2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 0;
    width: 100%;
}

.table-res-form input[type="text"]:focus,
textarea:focus {
    background: #FFF;
    -webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}

input[type="checkbox"] {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    margin-right: 0.5em;
}

span.nomal {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-weight: 400;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 15em;
    padding: 0.5em;
}

.table-res-form input[type="submit"] {
    position: relative;
    padding: 0.4em 0;
    color: #fff;
    background: -o-linear-gradient(227deg, #ff3ba1, #ff1766);
    background: linear-gradient(223deg, #ff3ba1, #ff1766);
    font-weight: 500;
    font-size: 1.2rem;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    border: 1.5px solid #ff3ba1 !important;
    letter-spacing: 0.2em;
}

.table-res-form input[type=submit]:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 1.5px solid #ff3ba1 !important;
    background: #fff;
    color: #ff3ba1;
    font-weight: 600;
}

tr.td_last {
    text-align: center;
}

tr.td_last td {
    padding: 1.5em 0;
}

span.wpcf7-not-valid-tip {
    color: #E91E63;
}

.wpcf7-response-output {
    text-align: center;
    color: #E91E63;
    border: none;
    margin-top: 2em;
    padding: 0.5em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #E91E63 !important;
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output,
div.screen-reader-response,
.wpcf7-spinner {
    display: none;
}

.wpcf7-spinner {
    display: none !important;
}

select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
    background: #fff;
    color: #333;
    border: .7px solid #48666f;
}


.recaptcha {
    text-align: center;
    margin-bottom: 1em;
}

.recaptcha a {
    text-decoration: none;
    color: #333;
}

.grecaptcha-badge {
    visibility: hidden;
}

p.pp {
    text-align: center;
}

p.pp a {
    color: #333;
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
}

p.pp a:hover {
    opacity: 0.6;
}

.contact_text_bottom {
    text-align: center;
    margin-top: 3vh;
}

/*---------------------------------------------------------
  プライバシーポリシー
  ---------------------------------------------------------*/
section.privacy_policy .inner {
    max-width: 56%;
    width: 100%;
    margin: 0 auto;
    padding: 7vh 0 7vh;
}

.privacy_policy h2 {
    margin-top: 2em;
    font-size: 1.4rem;
    font-weight: 500;
    border-bottom: 2px solid #ccc;
    padding-bottom: 0.5em;
    position: relative;
}

.privacy_policy h2::after {
    content: '';
    display: block;
    width: 75px;
    background-color: #171c61;
    height: 2px;
    position: absolute;
    bottom: -1.5px;
    left: 0;
}

.privacy_policy h2:first-of-type {
    margin-top: 0;
}

.privacy_policy p {
    margin-top: 1em;
    font-size: 1.1rem;
}

p.title_down img.office {
    width: 16%;
    position: relative;
    top: -2px;
}

.privacy_policy ol {
    margin-top: 1em;
    line-height: 2;
    padding-left: 1.5em;
    font-size: 1.1rem;
}

p.ppa a {
    color: #171c61;
    text-decoration: none;
    font-weight: 500;
}

p.ppa a:hover {
    opacity: 0.6;
}

li.pp_li_se {
    margin-top: 1em;
}

/*---------------------------------------------------------
  404
  ---------------------------------------------------------*/
.error404 main {
    text-align: center;
    padding: 5vw 0;
}

.error404 main h2 {
    font-size: 2rem;
    margin-bottom: 2vh;
}

.error404 main p {
    font-size: 1.2rem;
    margin-bottom: 2vh;
}

.error404 .totop {
    font-size: 1.2rem;
}

.error404 .totop a {
    color: #0079c7;
}

.error404 .totop a:hover {
    opacity: .7;
}

/*---------------------------------------------------------
  スマホ
  ---------------------------------------------------------*/

@media only screen and (max-width: 743px) {
    #topBtn {
        display: none !important;
    }

    br.sp_block {
        display: block !important;
    }

    .sp_block {
        display: block !important;
    }

    .sp_inlineblock {
        display: inline-block !important;
    }

    .pc_block,
    .pc_inlineblock {
        display: none !important;
    }

    span.pc_inline-block {
        display: none;
    }

    .mainvisual {
        height: calc(100vh - 12vh);
    }

    header {
        position: absolute;
    }

    .site-title-wrap {
        width: 100%;
        padding-left: 0;
    }

    .site-title-wrap a img {
        width: 66vw;
        margin: 0 auto;
    }

    .mv_copy {
        position: absolute;
        top: 37vw;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        white-space: nowrap;
    }



    img.mv-member {
        position: absolute;
        bottom: 0;
        right: -1vw;
        width: 100%;
    }

    .scroll a {
        color: #ffffff;
    }

    .scroll a:after {
        background: #ffffff;
    }

    .scroll {
        bottom: 5vh;
    }

    section.mission .inner {
        padding: 5vh 0 10vh;
    }



    .mv_copy p.p4 img {
        top: -2.5vh;
    }

    .link a {
        width: 100%;
        margin: 2.5vh auto 0;
        padding: .5vh 0;
        border: 2px solid #171c61;
    }

    section.mission p.en-big,
    section.voice p.en-big {
        top: -1vh;
        color: rgb(23 28 97 / 14%);
        font-size: 27vw;
        z-index: -1;
        right: -4vw;
    }

    section.news p.en-big {
        color: #ffffff;
        top: -1.5vh;
        font-size: 27vw;
        z-index: 1;
        right: -4vw;
    }

    .en_bg {
        bottom: 0;
        opacity: .2;
        position: absolute;
        left: 0;
        width: 100%;
        height: 4vh;
    }

    section.service .inner,
    section.voice .inner {
        padding: 5vh 0 7vh;
    }





    section.news .inner,
    section.cta .inner {
        padding: 5vh 0;
    }

    section.news .swiper-wrapper {
        display: flex;
        padding-bottom: 6vh;
    }

    section.news::after {
        border-radius: 0 0 0 9vw;
    }

    section.cta {
        border-radius: 9vw 0 0 0;
    }

    .home section h2 {
        font-weight: 600;
        letter-spacing: 0.05em;
    }

    .day-title {
        padding: 1vh 2vw;
    }

    .swiper-pagination-bullet-active {
        background: #ffffff !important;
    }

    .swiper-pagination-bullet {
        background: #ffffff !important;
        opacity: .5;
    }

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev,
    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        background-image: none !important;
    }

    .swiper-button-next,
    .swiper-button-prev {
        background-color: rgb(255 255 255 / 70%);
        border-radius: 50%;
        width: 10vw !important;
        height: 10vw !important;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: -6vh !important;
    }

    .swiper-button-next::after,
    .swiper-button-prev::after {
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        color: #171c61;
        font-size: 1.2rem;
    }

    .swiper-button-prev {
        left: 0 !important;
    }

    .swiper-button-next {
        right: 0 !important;
    }

    .swiper-button-next::after {
        content: '\f054';
    }

    .swiper-button-prev::after {
        content: '\f053';
    }


    section.cta .form a,
    section#cta .form a {
        height: unset;
        padding: 1vh 0;
        box-sizing: border-box;
        border: 2px solid #171c61;
        color: #fff;
        background: #171c61;
    }

    section.cta .line a,
    section#cta .line a {
        box-sizing: border-box;
        height: unset;
        padding: 1vh 0;
        border: 2px solid #06c755;
        color: #fff;
        background: #06c755;
    }

    section.cta .form a:before,
    section#cta .form a:before {
        width: 7vw;
        height: 2.3vh;
        top: 0;
    }

    section.cta .line a:before,
    section#cta .line a:before {
        background-image: url(https://tnpartners.jp/wp-content/uploads/2024/09/line-icon-w.svg);
        width: 6vw;
        height: 3vh;
        top: 0;
        margin-right: 1vw;
    }

    section.cta .line a:hover:before,
    section#cta .line a:hover:before {
        background-image: url(https://tnpartners.jp/wp-content/uploads/2024/09/line-icon-w.svg);
    }


    section.page-mv .inner {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    section.page-mv h1 {
        line-height: 1.6;
    }

    .explanation .flex-box.left img.c-name {
        bottom: 8vh;
    }


    .menu-wrap .flex-box a:after {
        right: 5vw;
        border-width: 1.5vh 2vw 0;
    }

    .menu-wrap {
        padding: 0 0 5vh;
    }

    section.service-attack h2:before,
    section.service-defense h2:before {
        border-width: 7vh 4vw 0 0;
        left: 0;
    }

    section.service-attack h2 img {
        width: 10%;
        right: 0;
    }



    section.service-defense .inner {
        margin: 0 auto 5vh;
    }

    section.service-rsec h3 {
        padding: 1vh 0;
    }

    .sr-wrap .flex-box.right .img-wrap {
        width: 100%;
        margin: 2vh auto 0;
        background: #fff;
    }

    .sr-wrap .flex-box.right img {
        width: 100%;
        border: 1vh solid #171c61;
        box-sizing: border-box;
    }

    section.page-mv h1 {
        text-align: center;
    }

    .member-header .flex-box.left:before {
        left: 0;
    }

    section.member h3 {
        margin-bottom: 2vh;
    }

    .member-header .flex-box.left:before {
        border-width: 19.35vh 7vw 0 0;
    }

    section.member table td {
        padding: 1vh 2vw;
    }

    section.member.even {
        padding: 2vh 0 5vh;
    }

    section.member.odd.one {
        padding: 0 0 2vh;
    }

    .page-id-55 table tr td {
        padding: 1vh 0;
    }

    .page-id-55 table tr td ul {
        margin-left: 4vw;
    }

    .page.container.voice-archive h2,
    .category .archive-top h2,
    .archive.date .archive-top h2 {
        border-left: 1vw solid #171c61;
        padding-left: 2vw;
    }

    .page.container.voice-archive .article-list {
        flex: 0 100%;
    }

    .page.container.voice-archive .text {
        padding: 0vh 2vw 2vh;
    }

    .page.container.blog .inner {
        flex-wrap: wrap;
        padding: 3vh 0;
    }

    .page.container.blog article.article-list {
        padding: 0;
    }

    .page.container.blog article.article-list p.article-date {
        top: 1vh;
    }

    .pagination ul li a,
    .pagination .current {
        padding: .5vh 3vw;
    }

    section.contact_form .inner {
        margin: 3vh auto;
    }

    .wpcf7 .table-res-form tr {
        border-top: .7px #171c61 solid;
        display: flex;
        flex-wrap: wrap;
    }

    .wpcf7 .table-res-form th {
        padding: 1vh 0 1vh;
        text-align: center;
        background: rgb(23 28 97 / 10%);
    }

    .wpcf7 .table-res-form td {
        padding: 1.5vh 0 3vh;
    }

    .wpcf7 .table-res-form tr.td_last {
        border-top: unset;
    }

    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select {
        padding: .2em .5em;
        height: 2.5em;
    }

    .wpcf7 .table-res-form tr.td_last td {
        padding: 0 0 3vh;
    }

    section.privacy_policy .inner {
        padding: 3vh 0;
    }

    .privacy_policy h2:after {
        height: 1px;
    }

    .privacy_policy h2 {
        border-bottom: 1px solid #ccc;
    }

    .single header {
        box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 5px 0px;
    }

    .post_wrap h2 {
        padding: 1vh 2vw;
    }

    blockquote:before,
    blockquote:after {
        width: 1em;
        height: 1em;
    }

    .share li a {
        height: 8.8vw;
        width: 8.8vw;
    }

    nav.page-nav {
        flex-wrap: wrap;
    }

    .wpcf7 input,
    .wpcf7 textarea {
        border: .7px solid #48666f !important;
    }

    input[type=checkbox] {
        position: relative;
        top: 2px;
    }

    .page-id-101 section.page-mv .inner,
    .page-id-186 section.page-mv .inner,
    .page-id-192 section.page-mv .inner {
        display: block;
    }

    .page-id-101 section.page-mv h1,
    .page-id-186 section.page-mv h1,
    .page-id-192 section.page-mv h1 {
        padding: 0 0 .5vh;
    }

    .service-mv .flex-wrap {
        flex-direction: column-reverse;
    }

    .service-mv p.p1 {
        line-height: 1;
        padding: 0 0 2vh;
    }

    .service-mv .text-wrap {
        padding-bottom: 1vh;
        margin-bottom: 0;
    }

    .banner a:after {
        right: 3.5vw;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }

    section.gs.two h2 {
        margin-bottom: 3vh;
    }

    section.gs.two .flex-box.right .wrap {
        margin: 0 auto;
        text-align: center;
        padding: 1vh 0;
    }

    section.gs.two .flex-box.right ul {
        margin-top: 1vh;
        display: inline-block;
        text-align: left;
        padding-left: 0;
    }

    .balloon {
        margin-top: 3vh;
    }

    .balloon:before {
        top: -2vh;
        left: 50%;
        transform: translateX(-50%);
        width: 12vw;
        height: 2vh;
        clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
        content: '';
    }

    section.gs.three dt span.yellow,
    section.gs.five dt span.yellow {
        margin-right: 0;
        display: block;
        text-align: center;
        margin-bottom: 1vh;
        border-left: 1.5vw solid #171c61;
        line-height: 1.8;
        box-sizing: border-box;
    }

    section.gs.three dt,
    section.gs.five dt {
        text-align: center;
    }

    .pro-wrap {
        padding: 3vh 3vw;
    }

    .arrow {
        border-width: 3vh 10vw 0;
        margin: 2vh auto;
    }

    section.gs.four .text-wrap {
        width: 100%;
        margin: 0 auto;
        padding: 2vh 3vw;
    }

    section.gs.six td.mh {
        height: unset;
    }

    section.gs.six td {
        padding: .5vh 2vw;
    }

    section.gs.seven h2,
    section.gs.eight h2,
    section.gs.nine h2 {
        margin-bottom: 3vh;
    }

    section.gs.seven .flex-box.right {
        padding: 2vh 3vw;
    }

    section.gs.eight td {
        padding: 1vh 2vw;
    }

    section.gs.eight p {
        text-align: left;
    }

    .question {
        padding: 2vh 8vw 2vh 1vw;
        padding-left: 8.5vw;
        text-indent: -6.5vw;
        text-align: justify;
    }

    .question:after,
    .question:before {
        content: "";
        position: absolute;
        right: 3.5vw;
    }

    .anser div {
        padding: 2vh 2vw 2vh 1vw;
        padding-left: 8.5vw;
        text-indent: -6vw;
        text-align: justify;
    }

    section.gs.ten .flex-box a:after {
        right: 4.5vw;
        border-top: 2px solid #333;
        border-right: 2px solid #333;
    }

    section.gs.ten {
        background-position: right 47% bottom 0;
    }

    section.gs.ten {
        padding: 5vh 0;
    }

    section#cta p.c-price span {
        padding: .5vh 2vw;
        margin-right: 2vw;
    }

    section.gs.six .inner {
        padding: 5vh 0 6vh;
    }

    .voice-wrap:not(:first-of-type) {
        margin-top: 4vh;
    }

    section.fs.one .flex-box a span {
        margin-right: 1vw;
    }

    .page-id-192 span.green,
    .page-id-192 span.skyblue {
        display: block;
        margin-bottom: 1vh;
        padding: .5vh 0;
    }

    section.fs.two {
        background-position: 54% 0;
    }

    section.flow dl {
        padding: 4vh 3vw 2vh;
    }

    section.flow .flex-wrap:after {
        width: 1%;
        height: 90vh;
        top: 55%;
        left: 50%;
    }

    .page-id-192 section.flow h3 span {
        display: block;
        width: 50%;
        margin: 0 auto;
    }

    .timeline-step {
        flex: 0 0 6vw;
        height: 6vw;
        font-size: 4vw;
    }

    .timeline-item:after {
        left: 2.5vw;
        top: 6vw;
        height: calc(100% - -2vw);
        width: .8%;
    }

    .page-id-192 section.flow .inner {
        padding: 3vh 0 1vh;
    }

    section.fs.one .flex-box a {
        position: relative;
    }

    section.fs.one .flex-box a::after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 2vw;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 2vw;
        height: 2vw;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(135deg);
    }

    section.flow p {
        letter-spacing: .5vw;
        top: -4vw;
    }

    section.gs.seven .flex-box span.before,
    section.gs.seven .flex-box span.after {
        margin-right: 2vw;
        padding: 0 1.5vw;
    }


    section.tss.four ul li {
        padding: 1.5vh 3vw;
    }

    section.tss.four ul li:nth-child(n+2) {
        margin-top: 1vh;
    }

    .page-id-186 section.tss.four h2 {
        margin: 0 auto 2vh;
    }

    section.tss.three .flex-box.left {
        outline: .7px solid #fff;
        outline-offset: -.5vh;
        padding: .5vh 0;
    }

    .case-wrap {
        padding: 1.5vh 2vw;
    }

    .system-wrap {
        padding-bottom: 0;
    }

    .dli-check-circle {
        margin-right: 2vw;
        width: 5vw;
        height: 5vw;
    }

    section.tss.two ul {
        padding: 0 4vw;
        border: 3px solid #171c61;
    }

    section.tss.two li {
        padding-left: 7vw;
        text-indent: -7vw;
    }

    section.flow .inner,
    section.tss.four,
    section.tss.two {
        padding: 3vh 0 5vh;
    }

    /* column-reverse */
    section.gs.four .flex-wrap {
        flex-direction: column-reverse;
    }

    .page.container.voice-archive .inner {
        min-height: 35vh;
    }

    /* line-height */
    .page.container.blog article.article-list .archive-text p,
    article.article-content .post_wrap p,
    section.gs.five dt,
    section.gs.five .bottom-text p,
    .explanation p,
    section.fs.two h3,
    section.fs.two p,
    .page-id-192 section.gs.three dt,
    .page-id-192 section.gs.three h2,
    .page-id-192 section.gs.three .bottom-text p,
    .page-id-192 section#cta p.c-price,
    .page-id-186 section#cta p.c-price {
        line-height: 1.6;
    }

    /* margin-top */

    .page-id-192 section.flow .flex-wrap.top .flex-box:nth-child(n+2),
    .page-id-186 section.flow .flex-wrap .flex-box:nth-child(n+2) {
        margin-top: 7vh;
    }

    .he_box {
        margin-top: 5vh !important;
    }

    section.service.rsec .flex-wrap,
    section.voice .flex-wrap,
    section.gs.eight .flex-box:nth-child(n+2),
    section.fs.two .flex-box.right,
    section.flow .flex-wrap {
        margin-top: 5vh;
    }

    .mv_copy p.p4 {
        margin-top: 4.5vh;
    }

    section.service.rsec .flex-box:nth-child(n+2),
    section.voice .flex-box:nth-child(n+2),
    section.cta .line a,
    section#cta .line a,
    section.member .wrap,
    section.member table,
    .page-id-55 table,
    .page.container.voice-archive .article-list:nth-child(n+2),
    section.service-attack .service-wrap,
    section.service-defense .service-wrap,
    .wpcf7 .table-res-form,
    .page-nav .next-link,
    section.gs.four .flex-box.left,
    section.gs.six .flex-box:nth-child(n+2),
    section.gs.ten .flex-box.two,
    section.tss.three {
        margin-top: 3vh;
    }

    section.member .img-wrap {
        text-align: center;
        margin-top: 3vh;
    }

    section.mission .text-wrap {
        margin-top: 2.5vh;
    }

    .menu-wrap .flex-box.defense,
    section.fs.one .flex-wrap.btn .flex-box.right {
        margin-top: 2vh;
    }

    section.tss.one .flex-box.right .text-wrap,
    section.tss p.copy,
    .system-wrap p.about {
        margin-top: 1.5vh;
    }

    section.gs.three dd,
    section.gs.five dd {
        margin-top: 1vh;
        margin-bottom: 3vh;
    }



    .member-header.flex-wrap {
        margin-top: 0;
    }

    section.fs.two h2 {
        margin-bottom: 3vh;
    }


    /* border */

    section#attack .link a,
    section#defense .link a {
        border: 1.5px solid #171c61;
        color: #171c61;
    }

    section.service-rsec .sr-wrap .link a,
    .voice-link a,
    .link a {
        border: 1.5px solid #171c61;
    }

    section.member table th,
    section.member table td {
        border-right: .7px solid #48666f;
    }

    section.member table tr {
        border-top: .7px solid #48666f;
    }

    section.member table {
        border-bottom: .7px solid #48666f;
        border-left: .7px solid #48666f;
        border-right: .7px solid #48666f;
    }

    /* outline */
    .explanation h2,
    .menu-wrap .flex-box a,
    section.service-rsec h2 {
        outline: .7px solid #fff;
    }

    section.service.btob .flex-box.left a {
        outline: 1px solid #03bff4;
    }

    section.service.btob .flex-box.right a {
        outline: 1px solid #171c61;
    }

    section.cta h3 {
        padding: 1vh 0;
        outline: .7px solid #fff;
        outline-offset: -.6vh;
    }

    /* justify */
    section.mission .text-wrap p,
    .explanation p,
    .page.container.blog article.article-list .archive-text p {
        text-align: justify;
    }

    /* width */
    .member-header.flex-wrap {
        width: 105%;
    }

    section.mission .inner,
    section.service .inner,
    section.voice .inner,
    section.cta .inner {
        max-width: 100%;
    }

    .accordion {
        margin: 3vh auto;
        max-width: 100%;
    }

    .menu-wrap,
    section.service-attack .inner,
    section.service-defense .inner,
    .page.container.blog .inner,
    section.contact_form .inner,
    section.privacy_policy .inner {
        max-width: 92%;
    }

    section.mission .flex-box.right,
    section.service.rsec .flex-box,
    section.service.rsec .link a,
    section.voice .flex-box,
    section.voice .link a,
    section.news .link a,
    section.cta .flex-wrap .flex-box,
    section.cta .form,
    section.cta .line,
    section#cta .form,
    section#cta .line,
    .menu-wrap .flex-box,
    .service-wrap.flex-wrap .flex-box.right,
    .sr-wrap .flex-box.right,
    .voice-link a,
    .page.container.blog article.article-list .img-wrap,
    .page.container.blog article.article-list a,
    .wpcf7 .table-res-form th,
    .wpcf7 .table-res-form td,
    .page-nav .next-link,
    .page-nav .prev-link,
    .service-mv .flex-box.left,
    section.gs.two .flex-box.left,
    section.gs.two .flex-box.right,
    section.gs.five .banner a,
    section.gs.six .flex-box,
    section.gs.seven .flex-box.left,
    section.gs.seven .flex-box.right,
    section.gs.eight .flex-box,
    section.gs.eight .link a,
    section.gs.eight .banner a,
    section.gs.ten .flex-box,
    section.gs-cta .flex-box.left,
    .page-id-192 .service-mv .flex-box.right,
    section.fs.one .flex-box,
    section.fs.two .flex-box,
    section.fs.two .banner a,
    section.flow .flex-box,
    .page-id-192 section.flow .flex-wrap.bottom,
    section.tss.two ul,
    section.tss.one .flex-box.left,
    section.tss.one .flex-box.right,
    section.tss.three .flex-box.left,
    section.tss.three .flex-box.right,
    section.tss.four ul li {
        width: 100%;
    }

    section.service.btob .flex-box {
        width: 100%;
        margin-top: 5vh;
    }

    .member-header .flex-box.left {
        width: 100%;
        padding: 1.5vh 0;
        text-align: center;
    }

    section.blog_wrap {
        width: 100%;
        padding-right: 0;
    }

    .sidebar {
        width: 100%;
        max-width: 100% !important;
    }

    .page.container.blog article.article-list .text {
        width: 100%;
        padding: 0 2vw 1vh;
    }

    .wpcf7 .wpcf7-submit {
        width: 100% !important;
    }

    .service-mv .flex-box.right {
        width: 100%;
        height: 33vh;
    }

    .sr-wrap .inner {
        width: 92%;
        padding: 5vh 0;
    }

    .explanation,
    section.service-rsec .tc-wrap,
    section.member .inner,
    .page.container.voice-archive .inner {
        width: 92%;
        margin: 3vh auto;
    }

    .single-voice .inner,
    section.gs.five .inner,
    section.gs.seven .inner,
    section.gs.two .inner,
    section.gs.nine .inner {
        width: 92%;
        margin: 3vh auto 5vh;
    }

    section.company-profile .inner,
    section.gs.eight .inner,
    .page-id-192 section.gs.nine .inner {
        width: 92%;
        padding: 3vh 0 5vh;
    }

    section.service-attack .text-wrap,
    section.service-defense .text-wrap {
        width: 92%;
        margin: 2vh auto 3vh;
    }

    section.service.rsec .link a,
    section.service-rsec .logo-wrap,
    .service-mv,
    section.gs.one .banner a,
    section.gs.three .inner,
    section.gs.four .flex-box.right img,
    section.gs.ten .inner,
    section#cta .text-wrap,
    section.fs.one .inner,
    .page-id-192 section.gs.three .inner,
    section.fs.two .inner,
    section.flow .inner,
    section.tss .inner,
    section.tss.two .inner,
    section.tss.four .inner {
        width: 92%;
    }

    section.cta .flex-wrap {
        width: 92%;
        margin: 5vh auto 0;
    }

    section.mission .flex-box.right,
    section.service .flex-wrap,
    section.voice .inner,
    section.gs.four .flex-box {
        width: 92%;
        margin: 0 auto;
    }

    section#cta .sp_block.img-wrap {
        width: 90%;
        margin: 0 auto;
    }

    .explanation .flex-box.left img {
        width: 81%;
    }

    .footer_logo img {
        width: 77%;
    }

    div#block-10 li a.wpp-post-title {
        width: 58%;
    }

    section.member .img-wrap img {
        width: 57%;
    }

    section.flow p {
        width: 50%;
    }

    .page-id-192 section.flow .flex-wrap.bottom .flex-box {
        width: 48%;
    }

    .share ul {
        width: 45%;
        margin: 1.5vh auto 0;
    }

    section.member h3.two:before,
    section.member h3.two:after {
        width: 12vw;
    }

    section.member h3.one:before,
    section.member h3.one:after {
        width: 12vw;
    }

    section.member h3.three:before,
    section.member h3.three:after {
        width: 4vw;
    }

    section.service-defense h2 img {
        width: 14%;
        right: 0;
    }

    .start p {
        width: 40vw;
    }

    /* display: none ;*/
    section.mission .flex-box.left,
    section.cta .flex-wrap .flex-box.right,
    .copyright,
    section#attack p.side,
    .service-wrap.flex-wrap .flex-box.left,
    section#defense p.side,
    .sr-wrap .flex-box.left,
    .page-id-59 p.side,
    .member-header .flex-box.right {
        display: none;
    }

    /* letter-spacing */

    .member-header p.catchcopy,
    .member-header h2,
    .member-header p.RSEC {
        letter-spacing: .2vw;
    }

    section.service-rsec h3,
    section.company-profile h2 {
        letter-spacing: 1vw;
    }

    /* font-wight */
    section.page-mv h1 {
        font-weight: 600;
    }

    /* font-size */

    section.service.btob .flex-box a span.big {
        font-size: 13vw;
    }

    .home section h2 {
        font-size: 10vw;
    }

    .service-mv p span.zero {
        font-size: 9vw;
    }

    .home section.service.btob h2,
    .home section.service.rsec h2 {
        font-size: 8vw;
    }

    section.service.btob .flex-box a {
        font-size: 7vw;
    }

    section.service-attack h2 span,
    section.service-defense h2 span {
        font-size: 6.5vw;
    }

    .mv_copy p,
    .mv_copy p.p2,
    section.page-mv h1,
    .mv_copy p.p4,
    section.service.btob .flex-box a span.support,
    section.gs.six h2,
    section.gs.seven h2,
    section.gs.eight h2,
    section.gs.nine h2,
    section.gs.ten h2,
    section.gs-cta h2,
    section#cta p.c-price,
    .page-id-192 section.flow h2,
    .page-id-186 section#cta p.c-price,
    .page-id-186 section.flow h2 {
        font-size: 6vw;
    }

    .menu-wrap .flex-box a span,
    section.service-attack h2,
    section.service-defense h2,
    .service-mv p.p1,
    .service-mv .text-wrap p,
    .page-id-101 section.page-mv h1,
    .page-id-186 section.page-mv h1,
    .page-id-192 .service-mv .text-wrap p,
    section.fs.one h3,
    section.fs.two h2,
    section.fs.one .flex-box a span,
    .page-id-192 span.green,
    .page-id-192 span.skyblue,
    .page-id-186 section.tss h2,
    section.tss.three h3, .page-id-186 section.page-mv h1, .page-id-192 section.page-mv h1 {
        font-size: 5.5vw;
    }

    section.cta h3,
    .explanation h2 span,
    section#attack h3,
    section#defense h3,
    section.service-rsec h2,
    section.member h3,
    section.company-profile h2,
    .page.container.voice-archive h2,
    .category .archive-top h2,
    .archive.date .archive-top h2,
    section.contact_form h2,
    article.article-content h1,
    section.gs.one h2,
    section.gs.two h2,
    section.gs.three dt,
    section.gs.five dt,
    section.gs.four h2,
    section.gs.five h2,
    section.fs.one .flex-box a,
    .page-id-192 section.gs.two h2,
    section.flow p,
    .page-id-192 section.flow .flex-wrap.bottom .left h4,
    .page-id-192 section.flow .flex-wrap.bottom .right h4,
    .page-id-192 section.flow h3 span,
    section.tss p.copy {
        font-size: 5vw;
    }

    section.cta p.c-copy,
    section.cta .form a,
    section#cta .form a,
    section.cta .line a,
    section#cta .line a,
    .menu-wrap .flex-box a,
    section.service-rsec h3,
    .member-header p.catchcopy,
    div#block-11 h4,
    div#block-12 h4,
    div#block-10 h2,
    .privacy_policy h2,
    .post_wrap h2,
    .share p,
    section.gs.two .flex-box.right p.p1,
    section.gs.two .flex-box.right ul li,
    section.gs.three h2,
    section.gs.three dt span.yellow,
    section.gs.five dt span.yellow,
    section.gs.five .bottom-text p,
    section.gs.eight h3,
    .question span,
    .anser span,
    .page-id-192 section.gs.two .flex-box.right ul li,
    .page-id-192 section.gs.three .bottom-text p,
    section.flow dl dt,
    .page-id-192 section.flow h3,
    section.tss.four ul li,
    section.tss.two li {
        font-size: 4.5vw;
    }

    .member-header h2,
    .post_wrap h3,
    section.gs.four .text-wrap p,
    section.fs.two h3,
    .case-wrap h4 {
        font-size: 4.2vw;
    }

    .mv_copy p.p5,
    section.mission .text-wrap p,
    .link a,
    section.voice h3.c_name,
    section.voice dl,
    section.cta .text-wrap p,
    .explanation h2,
    .explanation p,
    section.service-attack .text-wrap,
    section.service-defense .text-wrap,
    section.service-rsec .tc-wrap p,
    .sr-wrap .text-wrap p,
    .member-header p.RSEC,
    section.member .text-wrap p,
    section.member table th,
    section.member table td,
    .page-id-55 table tr th,
    .page-id-55 table tr td,
    .page.container.voice-archive h3 a,
    .page.container.blog article.article-list .text h2,
    div#block-11 li,
    div#block-12 li,
    div#block-11 li,
    div#block-12 li,
    .wpcf7 .table-res-form th,
    p.pp a,
    article.article-content .post_wrap p,
    .post_wrap h4,
    .page-nav .prev-link:before,
    .page-nav .next-link:before,
    .banner a,
    .bottom-text p,
    section.gs.three dd,
    section.gs.five dd,
    section.gs table,
    section.gs td,
    section.gs th,
    section.gs.seven .flex-box.left p,
    section.gs.seven .flex-box.right p,
    section.gs.eight th,
    section.gs.eight td,
    section.gs.eight p,
    .question,
    .anser div,
    section.gs.ten .flex-box a,
    section#cta .text-wrap p,
    section.fs.one p,
    section.fs.two p,
    section.flow dl dd,
    .timeline-title,
    section.tss p,
    section.tss.three .case-wrap p,
    dl.cost dt,
    dl.cost dd {
        font-size: 4vw;
    }

    .home section h2 span,
    section.voice p.text,
    .voice-link a,
    .privacy_policy p,
    .privacy_policy ol,
    .post_wrap ul,
    .post_wrap ol,
    .wp-block-table td,
    .wp-block-table th,
    blockquote cite,
    div#block-10 li a.wpp-post-title,
    .service-mv p span.small,
    .timeline-duration {
        font-size: 3.8vw;
    }

    .page.container.blog article.article-list .archive-text p,
    .contact_text_bottom p {
        font-size: 3.6vw;
    }

    .pagination ul li,
    section.page-mv p {
        font-size: 3.5vw;
    }

    .scroll a,
    p.article-date,
    .post_wrap h4:before {
        font-size: 3.4vw;
    }

    .cat-day a,
    .page.container.blog ul.post-categories a,
    .recaptcha p,
    article.article-content p.cat-data a,
    .page-nav .prev-link,
    .page-nav .next-link {
        font-size: 3vw;
    }

    section.page-mv h1 span {
        font-size: .6em;
    }

    .wpcf7 .table-res-form td,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    span.wpcf7-form-control.wpcf7-checkbox,
    .table-res-form input[type=submit] {
        font-size: 16px;
    }
}

/*--------------------------------
スマホフッター固定バー
---------------------------------*/

@media only screen and (max-width: 743px) {

    _::-webkit-full-page-media,
    _:future,
    :root ul.floating li a {
        padding: 1.5vh 0 2vh;
    }

    _::-webkit-full-page-media,
    _:future,
    :root ul.floating li .hamburger {
        padding: 1.5vh 0 2vh;
    }

    _::-webkit-full-page-media,
    _:future,
    :root .footer-inner {
        padding: 6svh 0 14svh;
    }

    ul.floating {
        background: #171c61;
        margin: 0 auto;
        width: 100%;
        overflow: hidden;
        display: table;
        table-layout: fixed;
        text-align: center;
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 99;
        -moz-opacity: 0.9;
        opacity: 0.9;
        border-top: 1px solid #fff;
    }

    ul.floating li {
        margin: 0;
        padding: 0;
        display: table-cell;
        vertical-align: middle;
        list-style-type: none;
        font-size: 13px;
        line-height: 1;
        width: 25%;
    }

    ul.floating li a i {
        font-size: 5vw;
        padding-top: 0;
        color: #fff;
        margin: 0 auto 1vh;
    }

    ul.floating li i {
        font-size: 5vw;
        color: #fff;
        margin: 0 auto 1vh;
    }

    ul.floating li .hamburger i {
        margin: 0 auto 1vh;
        top: -.1vh;
        position: relative;
        z-index: 999;
    }

    ul.floating li a,
    .hamburger {
        border: none;
        display: block;
        text-align: center;
        text-decoration: none;
        line-height: 1.5;
        padding: 1.5vh 0 1.5vh;
        color: #fff;
    }

    ul.floating li a {
        border-right: 1px solid #fff;
    }

    ul.floating li.right a {
        border-right: unset;
    }

    ul.floating li.center img {
        width: 16%;
        margin: 0 auto 1.2vh;
    }

    nav ul {
        display: block;
    }

    nav ul li.has-child::before {
        left: 20px;
    }

    nav ul ul li.has-child::before {
        transform: rotate(135deg);
        left: 20px;
    }

    nav ul li.has-child.active::before {
        transform: rotate(-45deg);
    }

    .menu-list {
        position: static;
        width: 100%;
    }

    .submenu-list {
        position: static;
        width: 93%;
        border: none;
        margin: 0 0 0 auto;
    }

    .submenu-list>li>a {
        padding-left: 3vh;
    }

    /*--------------------------------
ハンバーガーメニュー
---------------------------------*/
    .nav-menu .menu-list,
    nav.globalMenuSp ul {
        display: block;
    }

    .g-nav_title {
        color: #fff;
        text-align: center;
        font-family: "Lato", sans-serif;
        font-size: 6vw;
        letter-spacing: .1em;
        font-weight: 600;
    }

    nav#g-nav {
        background: #171c61;
    }

    .hamburger {
        display: block;
        height: auto;
        cursor: pointer;
        text-align: center;
        color: #fff;
    }

    nav.globalMenuSp {
        background: rgb(255 255 255 / 95%);
        position: fixed;
        z-index: 1000;
        top: 0;
        left: -100%;
        width: 100%;
        transition: left 0.6s;
        min-height: 100%;
    }

    nav.globalMenuSp.active {
        left: 0;
    }

    nav#g-nav {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10000;
    }

    .g-nav_logo {
        width: 70%;
        margin: 0 auto;
    }

    nav.globalMenuSp ul#g-navi {
        margin: 0 auto;
        padding: 0;
        width: 70%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        height: unset;
    }

    nav.globalMenuSp ul li {
        padding: .6vh 0;
        width: 100%;
        text-align: left;
    }

    nav.globalMenuSp ul li.last {
        padding: .6vh 0 0;
    }

    nav.globalMenuSp ul li.brain {
        padding: 0 0 .6vh;
    }

    nav ul li a {
        font-weight: 400;
        font-family: unset;
        border-right: unset;
    }

    nav ul li.contact {
        outline: unset;
        outline-offset: unset;
        background: unset;
    }

    nav.globalMenuSp ul li.contact a {
        color: #fff;
    }

    nav ul li.contact a hr {
        display: none;
    }

    header nav ul li,
    header li.has-child,
    nav.globalMenuSp ul li a {
        display: block;
        font-size: 4.2vw;
    }

    nav.globalMenuSp ul li:hover {
        background: rgb(255 255 255 / 50%);
    }

    nav.globalMenuSp ul li a {
        display: block;
        color: #fff;
        padding: 0;
        text-decoration: none;
        letter-spacing: 2px;
        margin-left: 2vw;
        font-weight: 500;
    }

    nav.globalMenuSp.active {
        opacity: 100;
        display: block;
        -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
        transform: translateX(0%);
    }

    nav.globalMenuSp ul li.has-child img {
        display: none;
    }

    nav li.has-child ul {
        background-color: unset;
        visibility: unset;
        opacity: 1;
        height: unset;
        position: unset;
        width: 100%;
    }

    .home nav li.has-child ul {
        width: 100%;
    }

    nav li.has-child ul li {
        width: 100%;
        height: unset;
        border-bottom: 1.5px solid #333;
    }

    nav.globalMenuSp ul li.has-child,
    nav.globalMenuSp ul li.nav-menu {
        padding: 0;
    }

    nav li.has-child ul li:last-of-type {
        border-bottom: unset;
    }

    nav.globalMenuSp ul li:hover {
        background: unset;
    }

    li.has-child span.title {
        display: block;
        background: #333;
        color: #fff;
        padding: .5vh 1em;
    }

    nav li.has-child ul li a {
        color: #333;
    }


    .is-fixed {
        display: none !important;
    }

    nav#g-nav .hamburger {
        color: #171c61;
        font-size: 3.6vw;
        background: #ffffff;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 3vh auto 0;
        padding: .5vh 1.5em;
        border-radius: 50px;
    }

    nav.globalMenuSp ul li.has-child ul li a {
        padding-left: .2em;
    }

    nav li.has-child ul li a span {
        display: inline-block ! Important;
        padding-right: .2em;
    }

    nav li.has-child ul li a span {
        display: inline-block ! Important;
        padding-right: 0;
        line-height: 1;
        width: 4%;
    }

    nav.globalMenuSp ul li.contact a {
        padding: 1.2vh 0;
        background: #171c61;
        height: unset;
        width: 100%;
        margin: 0 auto;
        text-align: center;
        outline: unset;
        border: 1px solid #fff;
        outline-offset: unset;
        margin-top: 1vh;
    }

    nav.globalMenuSp ul li.contact a div::before {
        background: no-repeat;
        content: '';
        display: inline-block;
        width: 5vw;
        height: 3vh;
        background-image: url(https://tnpartners.jp/wp-content/uploads/2024/11/mail-icon.svg);
        background-size: contain;
        vertical-align: middle;
        position: relative;
        margin-right: 2vw;
        transform: translateY(.3vh);
    }

    nav.globalMenuSp ul li a.contact {
        color: #fff;
    }

    .menu-list>li>a,
    .submenu-list>li>a {
        background: unset;
    }

    .g-nav-openbtn {
        display: block;
        position: relative;
        z-index: 999999;
        top: 2vh;
        right: 3%;
        cursor: pointer;
        width: 50px;
    }


    .g-nav-openbtn .openbtn-area {
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
    }

    .g-nav-openbtn span {
        display: inline-block;
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 2px;
        border-radius: 2px;
        width: 45%;
    }


    .g-nav-openbtn span:nth-of-type(1) {
        top: 2.8svh;
        background: -o-linear-gradient(227deg, #02c0d1, #128ae9);
        background: linear-gradient(223deg, #02c0d1, #128ae9);
    }

    .g-nav-openbtn span:nth-of-type(2) {
        top: 4svh;
        background: -o-linear-gradient(227deg, #02c0d1, #128ae9);
        background: linear-gradient(223deg, #02c0d1, #128ae9);
    }

    .g-nav-openbtn span:nth-of-type(3) {
        top: 5.2svh;
        background: -o-linear-gradient(227deg, #02c0d1, #128ae9);
        background: linear-gradient(223deg, #02c0d1, #128ae9);
    }

    .g-nav-openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        -webkit-transform: translateY(6px) rotate(-135deg);
        -ms-transform: translateY(6px) rotate(-135deg);
        transform: translateY(6px) rotate(-135deg);
        width: 40%;
        background: #fff;
    }

    .g-nav-openbtn.active span:nth-of-type(2) {
        opacity: 0;
        top: 24px;
        left: 18px;
        width: 40%;
    }

    .g-nav-openbtn.active span:nth-of-type(3) {
        top: 30px;
        left: 18px;
        -webkit-transform: translateY(-6px) rotate(135deg);
        -ms-transform: translateY(-6px) rotate(135deg);
        transform: translateY(-6px) rotate(135deg);
        width: 40%;
        background: #fff;
    }

    .breadcrumb {
        width: 95%;
        font-size: .6rem;
        padding: 1vh 0;
    }
}

@media screen and (min-width: 743px) {
    ul.floating {
        display: none !important;
    }
}

/*---------------------------------------------------------
  i pad all portrait
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 743px) and (max-device-width: 1024px) and (orientation: portrait) {

    section.company-profile,
    .page.container.voice-archive,
    .page.container.blog {
        min-height: 69vh;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* margin-top */

    .member-header.flex-wrap {
        margin-top: 8vh;
    }

    .mainvisual,
    section.page-mv,
    .single,
    .page.container.single {
        margin-top: 6vh;
    }

    section.service.btob .flex-box,
    section.cta .flex-wrap {
        margin-top: 5vh;
    }

    section.contact_form .inner {
        margin: 5vh auto;
    }

    section.gs.five .inner {
        margin: 3.5vh auto;
    }

    section.gs.nine .inner {
        margin: 3.5vh auto 5vh;
    }

    section.service.rsec .flex-wrap,
    section.voice .flex-wrap,
    .voice-wrap:not(:first-of-type) {
        margin-top: 3.5vh;
    }

    .he_box {
        margin-top: 3.5vh !important;
    }

    section.service-rsec .tc-wrap,
    .page.container.voice-archive .inner,
    section.gs.seven .inner {
        margin: 3.5vh auto 5vh;
    }

    .explanation {
        margin: 3.5vh auto 2.5vh;
    }

    section.gs.one h2 {
        margin-top: 3vh;
        padding: 1.5vh 0;
    }

    .mv_copy p.p4,
    section.mission .text-wrap,
    section.service-attack .service-wrap,
    section.service-defense .service-wrap,
    section.member .wrap,
    section.member table,
    .page-id-55 table,
    .page.container.voice-archive .article-list:nth-child(n+4),
    .bottom-text,
    section.gs.eight .flex-box:nth-child(n+3) {
        margin-top: 2.5vh;
    }

    section.service-rsec .logo-wrap,
    section.member .inner,
    section.gs.two .inner,
    .accordion {
        margin: 2.5vh auto;
    }

    section.gs.five .bottom-text {
        margin-top: 2.5vh;
        padding: .5vh 0;
    }

    section.cta p.c-copy,
    section.gs.eight p {
        margin-top: 2vh;
    }


    .link a {
        margin: 2.5vh auto 0;
        padding: .5vh 0;
    }

    section.cta .text-wrap,
    section.cta .flex-wrap-in,
    section#cta .flex-wrap-in,
    .contact_text_bottom,
    .banner,
    section#cta p.c-price {
        margin-top: 1.5vh;
    }

    nav.page-nav {
        margin: 1.5vh 0;
    }

    section.gs.eight .link a {
        margin: 1.5vh auto 0;
        padding: .25vh 0;
    }

    .share {
        margin-bottom: 1em;
        margin-top: 1.5em;
    }

    .wpcf7 .table-res-form,
    section.gs.four .flex-wrap {
        margin-top: 1.5em;
    }

    .arrow {
        border-width: 2vh 5vw 0;
        margin: 1.5vh auto 2vh;
    }

    section.service-attack .text-wrap,
    section.service-defense .text-wrap,
    section.gs.seven .flex-box.right .link a {
        margin: 1vh auto 0;
    }

    .sr-wrap .text-wrap {
        margin: 1vh .5vw 0;
    }

    .voice-link a {
        margin: 1vh auto 0;
    }

    section.gs.two .flex-box.right ul {
        margin-top: 1vh;
    }

    section.gs.three dd,
    section.gs.five dd {
        margin-top: 1vh;
        margin-bottom: 2.5vh;
    }

    section#cta .text-wrap {
        margin: 1vh auto 1.5vh;
    }

    nav ul li.contact a hr,
    .swiper-button-next {
        margin: .5vh auto .25vh;
    }

    nav ul li.contact a hr {
        border-top: .7px solid #fff;
    }

    section.mission .flex-box.left p {
        margin-top: .5vh;
    }


    article.article-content h1 {
        margin-bottom: .5vh;
        margin-top: .5vh;
    }

    section.service-attack .inner,
    section.service-defense .inner {
        margin: 0 auto 5vh;
    }

    .pagination {
        margin: 1rem 0;
    }

    aside#sidebar .widget_block,
    section.gs.two h2,
    section.gs.seven h2,
    section.gs.eight h2,
    section.gs.nine h2,
    section.gs.ten h2 {
        margin-bottom: 2.5vh;
    }

    section.gs.six h2 {
        margin-bottom: 2vh;
    }

    section.member h3,
    .page.container.voice-archive h2,
    .category .archive-top h2,
    .archive.date .archive-top h2 {
        margin-bottom: 1.5vh;
    }

    div#block-10 h2 {
        border-bottom: 1.5px solid #171c61;
        margin-bottom: 1vh;
    }

    div#block-11 h4,
    div#block-12 h4 {
        border-bottom: 1.5px solid #171c61;
        margin-bottom: .5vh;
    }

    .recaptcha {
        margin-bottom: .5em;
    }

    /* padding */
    section.service .inner,
    section.voice .inner,
    section.news .inner {
        padding: 7.5vh 0;
    }

    section.cta .inner,
    .sr-wrap .inner {
        padding: 5vh 0;
    }



    section.mission .inner {
        padding: 7.5vh 0 8vh;
    }

    .footer-inner {
        padding: 4vh 0 3vh;
    }

    section.company-profile .inner,
    section.gs.six .inner,
    section.gs.ten {
        padding: 3.5vh 0 5vh;
    }

    .page.container.blog .inner,
    section.privacy_policy .inner,
    section.gs.eight .inner {
        padding: 3.5vh 0;
    }

    section.member.even {
        padding: 3vh 0 2.5vh;
    }

    section.page-mv .inner {
        padding: 2vh 0;
    }

    section.service.btob .flex-box a {
        padding: 1.5vh 0 1.75vh;
    }

    .page-id-55 table tr td {
        padding: 1.5vh 4vw;
    }

    .page.container.blog article.article-list {
        padding: 1.5vh 1vh;
    }

    .pro-wrap {
        padding: 1.5vh 2vw;
    }

    .explanation h2,
    section.service-rsec h2 {
        padding: 1vh 0;
        outline-offset: -.3vh;
    }

    .question {
        padding: 1vh 3vw 1vh 2.5vw;
    }

    .anser div {
        text-indent: -2.2vw;
        padding: 1vh 1vw 1vh 3.5vw;
    }

    section.gs.ten .flex-box a {
        padding: 1vh 0;
    }

    .page-id-101 section.page-mv h1 {
        padding: .8vh 0;
    }

    .member-header .flex-box.left {
        padding: .75vh 0 .75vh 6vw;
    }

    .wpcf7 .table-res-form th,
    .wpcf7 .table-res-form td {
        padding: .75em 1.5em .75em 0;
    }

    .wpcf7 .table-res-form tr.td_last td {
        padding: .75em 0;
    }

    .service-mv p.p1 {
        padding: .5vh 0 1vh;
    }

    section.gs.five h2,
    section.gs.eight th {
        padding: .5vh 0;
    }

    section.voice p.text,
    .banner a,
    section.gs.three h2 {
        padding: .5vh;
    }

    .day-title,
    section.gs.eight td {
        padding: .5vh .5vw;
    }

    .page.container.voice-archive .text {
        padding: .5vh .5vw 1vh;
    }

    section.gs.seven .flex-box.right .link a {
        padding: .35vh 0;
    }

    div#block-11 li,
    div#block-12 li {
        padding: .25vh 0;
    }

    section.gs.six td {
        padding: .25vh .5vw;
    }

    .menu-wrap {
        padding: 0 0 3.5vh;
    }


    nav ul li a {
        padding: 0 1.2vw;
    }

    .service-mv .text-wrap {
        padding-bottom: 1vh;
        margin-bottom: 2vh;
    }

    section#cta .flex-wrap-in {
        padding-bottom: 2vh;
    }

    header,
    .site-title-wrap,
    .site-title-wrap a,
    nav ul,
    nav ul li.contact a {
        height: 6vh;
    }

    .mv_copy p.p4 img {
        width: 6vw;
    }

    .mv_copy p.p4 img {
        top: -.5vh;
    }

    .scroll {
        line-height: 1;
        padding-top: 2.5px;
    }

    @-webkit-keyframes scroll {
        0% {
            height: 0;
        }

        100% {
            height: 20px;
        }
    }

    @keyframes scroll {
        0% {
            height: 0;
        }

        100% {
            height: 20px;
        }
    }

    .member-header .flex-box.left:before {
        border-width: 21.35vh 4vw 0 0;
    }

    .en_bg {
        bottom: -2vh;
        height: 6.5vh;
    }

    section.service.btob .flex-box.left a {
        outline: 1.5px solid #03bff4;
        outline-offset: -.75vw;
    }

    section.service.btob .flex-box.right a {
        outline: 1.5px solid #171c61;
        outline-offset: -.75vw;
    }

    section.service.rsec .flex-box a,
    .sr-wrap .flex-box.left img {
        border: .5vh solid #171c61;
    }

    section.gs.ten .flex-box a {
        outline-offset: -.3vh;
    }

    section.gs.ten .flex-box a:after {
        border-top: 2px solid #333;
        border-right: 2px solid #333;
    }

    p.en-big {
        top: 0vh;
    }

    section.news:after {
        height: 21vh;
    }

    section.news:before {
        height: 30vh;
    }

    section.cta .form a,
    section#cta .form a,
    section.cta .line a,
    section#cta .line a {
        height: 3.3vh;
    }

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev,
    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        background-image: none !important;
    }

    p.en-big {
        right: -2.5vw;
    }

    .explanation .flex-box.left img.c-name {
        bottom: 6.5vh;
    }

    .service-wrap.flex-wrap .flex-box.left {
        height: 15.5vh;
    }

    .menu-wrap .flex-box a:after {
        right: 2vw;
        border-width: .75vh .75vw 0;
    }

    .menu-wrap .flex-box a {
        outline-offset: -.25vh;
    }

    .page-id-59 p.side {
        top: 7.5vh;
    }

    .privacy_policy h2:after {
        width: 5vw;
        height: 1.5px;
    }

    .privacy_policy h2 {
        border-bottom: 1.5px solid #ccc;
    }

    section.gs.six td.mh {
        height: 2.5vh;
    }

    .page.container.blog .cat-day,
    p.pp {
        line-height: 1;
    }

    #topBtn {
        right: 3vw;
        bottom: 1.5vh;
    }

    section.cta .form a:before,
    section#cta .form a:before {
        top: .2vh;
        height: 1.5vh;
    }

    section.cta .line a:before,
    section#cta .line a:before {
        top: .3vh;
        height: 2vh;
    }

    section.mission p.en-big {
        top: -1vh;
    }

    section.news p.en-big,
    section#defense p.side {
        top: -1vh;
    }

    .page.container.blog article.article-list p.article-date {
        top: 1vh;
    }

    section#attack .link a,
    section#defense .link a {
        margin: 1vh auto 0;
    }

    .service-mv {
        border: .5vh solid #171c61;
    }

    section.service-rsec .sr-wrap .link a,
    .link a,
    section.cta .form a,
    section#cta .form a,
    section.service-rsec .link a,
    section.service-rsec .link a {
        border: 1px solid #171c61;
    }

    .voice-link a {
        border: 1px solid #171c61;
    }

    section#attack .link a,
    section#defense .link a {
        border: 1px solid #333;
    }

    section.cta .line a,
    section#cta .line a {
        border: 1px solid #06c755;
    }

    section.voice dd {
        border: .7px solid #333;
        margin-left: -.7px;
        width: calc(60% + .7px);
    }

    section.voice dt,
    section.voice p.text {
        border: .7px solid #333;
    }

    .menu-list {
        width: 200%;
        top: 6vh;
        border: .7px solid #171c61;
    }

    .menu-list>li>a,
    .submenu-list>li>a {
        padding: .75vh;
        border-bottom: .7px solid #171c61;
    }

    .submenu-list {
        border: .7px solid #171c61;
    }

    section.gs.seven .flex-box.left .text-wrap {
        border: .7px solid #333;
        padding: .25vh 0;
    }

    section.gs table,
    section.gs td,
    section.gs th {
        border: .7px solid #595959;
    }

    section.gs.ten .flex-box a {
        outline: .7px solid #333;
    }

    section.service-rsec h2 {
        outline: .7px solid #fff;
    }

    blockquote:before,
    blockquote:after {
        width: 1.5vw;
        height: 1.5vw;
    }

    input[type=checkbox] {
        transform: scale(.8);
        position: relative;
        top: .3vh;
    }

    .mainvisual {
        height: 43vw !important;
    }

    .question:after,
    .question:before {
        width: 1px;
        height: 1vh;
    }

    section.gs-cta .flex-box.right {
        background-position: right 6% top 35%;
        background-size: 152%;
    }

    nav ul li.contact a {
        outline: .7px solid #fff;
        outline-offset: -.3vh;
    }

    /* max-width */
    .accordion {
        max-width: 100%;
    }

    section.mission .inner,
    section.service .inner,
    section.voice .inner,
    section.cta .inner {
        max-width: 90%;
    }

    .page.container.blog .inner {
        max-width: 85%;
    }

    .menu-wrap,
    section.service-attack .inner,
    section.service-defense .inner {
        max-width: 75%;
    }

    /* width */

    .breadcrumb {
        width: 90%;
    }

    section.member.one .flex-box.right img {
        width: 87%;
    }

    .sr-wrap .inner,
    .page.container.voice-archive .inner {
        width: 85%;
    }

    .explanation,
    section.service-rsec .tc-wrap,
    section.member .inner,
    section.contact_form .inner {
        width: 75%;
    }

    section.member.two .flex-box.right img {
        width: 68%;
    }

    section.company-profile .inner {
        width: 65%;
    }

    img.mv-member {
        width: 64vw;
    }

    section.service-attack h2 img {
        width: 6%;
    }

/* font-size */

    p.en-big,
    p.side {
        font-size: 15vw;
    }

    section.service.btob .flex-box a span.big {
        font-size: 5.8vw;
    }

    .mv_copy p.p4 {
        font-size: 4.6vw;
    }

    .home section h2,
    section.service.btob .flex-box a {
        font-size: 3.8vw;
    }

    section.service-attack h2 span,
    section.service-defense h2 span {
        font-size: 3vw;
    }

    .mv_copy p.p2 {
        font-size: 3.2vw;
    }

    .mv_copy p,
    section.service.btob .flex-box a span.support {
        font-size: 2.7vw;
    }

    section.page-mv h1,
    .page-id-101 section.page-mv h1,
    .service-mv p.p1,
    .page-id-186 section.page-mv h1,
    .service-mv p.p1, .page-id-186 section.page-mv h1, .page-id-192 section.page-mv h1 {
        font-size: 2.6vw;
    }

    section.service-attack h2,
    section.service-defense h2 {
        font-size: 2.4vw;
    }

    section.gs.two h2,
    section.gs.six h2,
    section.gs.seven h2,
    section.gs.eight h2,
    section.gs.nine h2,
    section.gs.ten h2,
    section#cta p.c-price,
    .page-id-192 section.flow h2 {
        font-size: 2.3vw;
    }

    section.gs-cta h2,
    .page-id-186 section.tss h2,
    .page-id-186 section.flow h2,
    .page-id-186 section#cta p.c-price,
    .page-id-192 section.gs.two h2 {
        font-size: 2.1vw;
    }

    .service-mv .text-wrap p,
    section.gs.one h2,
    section.gs.four h2,
    section.fs.one h3,
    section.fs.two h2 {
        font-size: 2vw;
    }

    section.gs.three h2,
    section.gs.five h2,
    .page-id-192 .service-mv .text-wrap p,
    section.fs.one .flex-box a span {
        font-size: 1.9vw;
    }

    .member-header p.catchcopy,
    section.company-profile h2,
    section.cta h3,
    .explanation h2 span,
    section.contact_form h2,
    .error404 main h2,
    section.tss.three h3 {
        font-size: 1.8vw;
    }

    .menu-wrap .flex-box a span,
    section.service-rsec h2,
    section.service-rsec h3,
    section.gs.four .text-wrap p,
    section.tss p.copy {
        font-size: 1.7vw;
    }

    section.cta p.c-copy,
    section.cta .line a,
    section#cta .line a,
    .explanation h2,
    .menu-wrap .flex-box a,
    section.gs.two .flex-box.right p.p1,
    section.gs.three dt,
    section.gs.five dt,
    section.gs.five .bottom-text p,
    .service-mv p span.small,
    section.fs.one .flex-box a {
        font-size: 1.6vw;
    }

    section.cta .form a,
    section#cta .form a,
    .member-header h2,
    .member-header p.RSEC,
    section.member h3,
    article.article-content h1,
    section.page-mv p,
    section.gs.two .flex-box.right ul li,
    section.flow p,
    .page-id-192 section.gs.three .bottom-text p,
    .page-id-192 section.flow h3 span,
    .page-id-192 section.flow h3,
    .page-id-192 section.flow .flex-wrap.bottom .left h4,
    .page-id-192 section.flow .flex-wrap.bottom .right h4 {
        font-size: 1.5vw;
    }

    .mv_copy p.p5,
    section#attack h3,
    section#defense h3,
    .page.container.voice-archive h2,
    .category .archive-top h2,
    .archive.date .archive-top h2,
    .post_wrap h2,
    .bottom-text p,
    section.gs.eight h3,
    .question span,
    .anser span,
    .page-id-192 section.gs.two .flex-box.right ul li,
    .timeline-step {
        font-size: 1.4vw;
    }

    
    .post_wrap h3,
    .privacy_policy h2,
    .banner a,
    section.gs.eight p,
    section.gs.ten .flex-box a,
    section.tss.two li,
    section.tss.four ul li,
    section.flow dl dt {
        font-size: 1.3vw;
    }

	.page.container.blog article.article-list .text h2,
    .home section h2 span,
    section.mission .text-wrap p,
    section.voice h3.c_name,
    section.cta .text-wrap p,
    .post_wrap h4,
    section.gs.three dd,
    section.gs.five dd,
    .question,
    .anser div,
    section#cta .text-wrap p,
    section.tss p,
    .case-wrap h4,
    dl.cost dd,
    dl.cost dt,
    section.fs.one p {
        font-size: 1.2vw;
    }

    .footer_logo a span {
        font-size: 1.15vw;
    }

    nav ul li.contact a,
    .link a,
    section.mission .flex-box.left p,
    .explanation p,
    section.service-attack .text-wrap,
    section.service-defense .text-wrap,
    section.service-rsec .tc-wrap p,
    .sr-wrap .text-wrap p,
    section.member .text-wrap p,
    section.member table th,
    section.member table td,
    .page-id-55 table tr th,
    .page-id-55 table tr td,
    div#block-10 h2,
    div#block-11 h4,
    div#block-12 h4,
    .share p,
    .wpcf7 .table-res-form th,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    span.wpcf7-form-control.wpcf7-checkbox,
    .table-res-form input[type=submit],
    section.gs.seven .flex-box.right p,
    section.gs.seven .flex-box.left p,
    .error404 main p,
    .error404 .totop,
    section.flow dl dd,
    section.fs.two h3,
    section.fs.two p,
    .timeline-title {
        font-size: 1.1vw;
    }

    .scroll a,
    section.voice dl,
    section.voice p.text,
    p.n_title,
    section.page-mv h1 span,
    .page.container.voice-archive h3 a,
    div#block-11 li,
    div#block-12 li,
    article.article-content .post_wrap p,
    .post_wrap ul,
    .post_wrap ol,
    .post_wrap table,
    .page-nav .prev-link:before,
    .page-nav .next-link:before,
    .privacy_policy p,
    .privacy_policy ol,
    section.gs.six th,
    section.gs table,
    section.gs td,
    section.gs th, nav ul li a {
        font-size: 1vw;
		
    }

    p.article-date,
    .copyright p,
    #topBtn,
    .voice-link a,
    .page.container.blog article.article-list .archive-text p,
    .pagination ul li,
    div#block-10 li a,
    blockquote cite,
    .recaptcha p,
    p.pp a,
    .contact_text_bottom p,
    .timeline-duration {
        font-size: .9vw;
    }

    .breadcrumb,
    .page.container.blog ul.post-categories a,
    .cat-day a,
    article.article-content p.cat-data a,
    .page-nav .prev-link,
    .page-nav .next-link,
    .wpcf7 .table-res-form .requied,
    .timeline-item .notes {
        font-size: .8vw;
    }
}

/*---------------------------------------------------------
  i pad all landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1366px) and (orientation: landscape) {
    .member-header .flex-box.left:before {
        border-width: 21.35vh 4vw 0 0;
    }

    #topBtn {
        right: 1vw;
        bottom: 3vh;
    }

    section.cta .form a:before,
    section#cta .form a:before {
        height: 2.8vh;
    }

    section.cta .line a:before,
    section#cta .line a:before {
        top: .1vh;
        height: 3.8vh;
    }

    section.mission p.en-big {
        top: -3vh;
    }

    section.news p.en-big {
        top: -2.5vh;
    }

    .page.container.blog article.article-list p.article-date {
        top: 1vh;
    }

    section#attack .link a,
    section#defense .link a {
        margin: 1.5vh auto 0;
    }

    section.service-rsec .sr-wrap .link a,
    .link a,
    section.cta .form a,
    section#cta .form a {
        border: 1.5px solid #171c61;
    }

    .voice-link a {
        border: 1px solid #171c61;
    }

    section#attack .link a,
    section#defense .link a {
        border: 1.5px solid #333;
    }

    section.cta .line a,
    section#cta .line a {
        border: 1.5px solid #06c755;
    }

    blockquote:before,
    blockquote:after {
        width: 1.5vw;
        height: 1.5vw;
    }

    input[type=checkbox] {
        transform: scale(1.1);
        position: relative;
        top: .3vh;
    }

    .mainvisual {
        height: 43vw !important;
    }
	
	    section.cta .line a:before, section#cta .line a:before, section.cta .form a:before, section#cta .form a:before {
        top: .5vh;
    }
.service-wrap.flex-wrap .flex-box.left {
    height: 18vw;
}

    /* max-width */
    section.mission .inner,
    section.service .inner,
    section.voice .inner,
    section.cta .inner {
        max-width: 90%;
    }

    /* width */
    .breadcrumb {
        width: 90%;
    }

    .mv_copy p.p4 img {
        width: 14%;
    }

    img.mv-member {
        width: 59vw;
    }

    .explanation {
        width: 75%;
    }

/* font-size */

    p.en-big,
    p.side {
        font-size: 15vw;
    }

    section.service.btob .flex-box a span.big {
        font-size: 5.8vw;
    }

    .mv_copy p.p4 {
        font-size: 4.6vw;
    }

    .home section h2,
    section.service.btob .flex-box a {
        font-size: 3.8vw;
    }

    section.service-attack h2 span,
    section.service-defense h2 span {
        font-size: 3vw;
    }

    .mv_copy p.p2 {
        font-size: 3.2vw;
    }

    .mv_copy p,
    section.service.btob .flex-box a span.support {
        font-size: 2.7vw;
    }

    section.page-mv h1,
    .page-id-101 section.page-mv h1,
    .service-mv p.p1,
    .page-id-186 section.page-mv h1,
    .service-mv p.p1, .page-id-186 section.page-mv h1, .page-id-192 section.page-mv h1 {
        font-size: 2.6vw;
    }

    section.service-attack h2,
    section.service-defense h2 {
        font-size: 2.4vw;
    }

    section.gs.two h2,
    section.gs.six h2,
    section.gs.seven h2,
    section.gs.eight h2,
    section.gs.nine h2,
    section.gs.ten h2,
    section#cta p.c-price,
    .page-id-192 section.flow h2 {
        font-size: 2.3vw;
    }

    section.gs-cta h2,
    .page-id-186 section.tss h2,
    .page-id-186 section.flow h2,
    .page-id-186 section#cta p.c-price,
    .page-id-192 section.gs.two h2 {
        font-size: 2.1vw;
    }

    .service-mv .text-wrap p,
    section.gs.one h2,
    section.gs.four h2,
    section.fs.one h3,
    section.fs.two h2 {
        font-size: 2vw;
    }

    section.gs.three h2,
    section.gs.five h2,
    .page-id-192 .service-mv .text-wrap p,
    section.fs.one .flex-box a span {
        font-size: 1.9vw;
    }

    .member-header p.catchcopy,
    section.company-profile h2,
    section.cta h3,
    .explanation h2 span,
    section.contact_form h2,
    .error404 main h2,
    section.tss.three h3 {
        font-size: 1.8vw;
    }

    .menu-wrap .flex-box a span,
    section.service-rsec h2,
    section.service-rsec h3,
    section.gs.four .text-wrap p,
    section.tss p.copy {
        font-size: 1.7vw;
    }

    section.cta p.c-copy,
    section.cta .line a,
    section#cta .line a,
    .explanation h2,
    .menu-wrap .flex-box a,
    section.gs.two .flex-box.right p.p1,
    section.gs.three dt,
    section.gs.five dt,
    section.gs.five .bottom-text p,
    .service-mv p span.small,
    section.fs.one .flex-box a {
        font-size: 1.6vw;
    }

    section.cta .form a,
    section#cta .form a,
    .member-header h2,
    .member-header p.RSEC,
    section.member h3,
    article.article-content h1,
    section.page-mv p,
    section.gs.two .flex-box.right ul li,
    section.flow p,
    .page-id-192 section.gs.three .bottom-text p,
    .page-id-192 section.flow h3 span,
    .page-id-192 section.flow h3,
    .page-id-192 section.flow .flex-wrap.bottom .left h4,
    .page-id-192 section.flow .flex-wrap.bottom .right h4 {
        font-size: 1.5vw;
    }

    .mv_copy p.p5,
    section#attack h3,
    section#defense h3,
    .page.container.voice-archive h2,
    .category .archive-top h2,
    .archive.date .archive-top h2,
    .post_wrap h2,
    .bottom-text p,
    section.gs.eight h3,
    .question span,
    .anser span,
    .page-id-192 section.gs.two .flex-box.right ul li,
    .timeline-step {
        font-size: 1.4vw;
    }

    
    .post_wrap h3,
    .privacy_policy h2,
    .banner a,
    section.gs.eight p,
    section.gs.ten .flex-box a,
    section.tss.two li,
    section.tss.four ul li,
    section.flow dl dt {
        font-size: 1.3vw;
    }

	.page.container.blog article.article-list .text h2,
    .home section h2 span,
    section.mission .text-wrap p,
    section.voice h3.c_name,
    section.cta .text-wrap p,
    .post_wrap h4,
    section.gs.three dd,
    section.gs.five dd,
    .question,
    .anser div,
    section#cta .text-wrap p,
    section.tss p,
    .case-wrap h4,
    dl.cost dd,
    dl.cost dt,
    section.fs.one p {
        font-size: 1.2vw;
    }

    .footer_logo a span {
        font-size: 1.15vw;
    }

    nav ul li.contact a,
    .link a,
    section.mission .flex-box.left p,
    .explanation p,
    section.service-attack .text-wrap,
    section.service-defense .text-wrap,
    section.service-rsec .tc-wrap p,
    .sr-wrap .text-wrap p,
    section.member .text-wrap p,
    section.member table th,
    section.member table td,
    .page-id-55 table tr th,
    .page-id-55 table tr td,
    div#block-10 h2,
    div#block-11 h4,
    div#block-12 h4,
    .share p,
    .wpcf7 .table-res-form th,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    span.wpcf7-form-control.wpcf7-checkbox,
    .table-res-form input[type=submit],
    section.gs.seven .flex-box.right p,
    section.gs.seven .flex-box.left p,
    .error404 main p,
    .error404 .totop,
    section.flow dl dd,
    section.fs.two h3,
    section.fs.two p,
    .timeline-title {
        font-size: 1.1vw;
    }

    .scroll a,
    section.voice dl,
    section.voice p.text,
    p.n_title,
    section.page-mv h1 span,
    .page.container.voice-archive h3 a,
    div#block-11 li,
    div#block-12 li,
    article.article-content .post_wrap p,
    .post_wrap ul,
    .post_wrap ol,
    .post_wrap table,
    .page-nav .prev-link:before,
    .page-nav .next-link:before,
    .privacy_policy p,
    .privacy_policy ol,
    section.gs.six th,
    section.gs table,
    section.gs td,
    section.gs th, nav ul li a {
        font-size: 1vw;
		
    }

    p.article-date,
    .copyright p,
    #topBtn,
    .voice-link a,
    .page.container.blog article.article-list .archive-text p,
    .pagination ul li,
    div#block-10 li a,
    blockquote cite,
    .recaptcha p,
    p.pp a,
    .contact_text_bottom p,
    .timeline-duration {
        font-size: .9vw;
    }

    .breadcrumb,
    .page.container.blog ul.post-categories a,
    .cat-day a,
    article.article-content p.cat-data a,
    .page-nav .prev-link,
    .page-nav .next-link,
    .wpcf7 .table-res-form .requied,
    .timeline-item .notes {
        font-size: .8vw;
    }
}

/*---------------------------------------------------------
  i pad pro landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 1025px) and (max-device-width: 1366px) and (orientation: landscape) {}

/*---------------------------------------------------------
  i pad air portrait
  ---------------------------------------------------------*/
@media screen and (min-width: 767px) and (max-width: 835px) {}

/*---------------------------------------------------------
  i pad air landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 1025px) and (max-device-width: 1180px) and (orientation: landscape) {}

/*---------------------------------------------------------
  i pad portrait
  ---------------------------------------------------------*/
@media screen and (min-width: 767px) and (max-width: 768px) {}

/*---------------------------------------------------------
  i pad landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {}

/*---------------------------------------------------------
 小型PC～中型PC
---------------------------------------------------------*/
@media screen and (min-width:1200px) and (max-width:1700px) {

    .member-header .flex-box.left:before {
        border-width: 21.35vh 4vw 0 0;
    }

    #topBtn {
        right: 1vw;
        bottom: 3vh;
    }

    section.cta .form a:before,
    section#cta .form a:before {
        height: 2.8vh;
    }

    section.cta .line a:before,
    section#cta .line a:before {
        top: .1vh;
        height: 3.8vh;
    }

    section.mission p.en-big {
        top: -3vh;
    }

    section.news p.en-big {
        top: -2.5vh;
    }

    .page.container.blog article.article-list p.article-date {
        top: 1vh;
    }

    section#attack .link a,
    section#defense .link a {
        margin: 1.5vh auto 0;
    }

    section.service-rsec .sr-wrap .link a,
    .link a,
    section.cta .form a,
    section#cta .form a {
        border: 1.5px solid #171c61;
    }

    .voice-link a {
        border: 1px solid #171c61;
    }

    section#attack .link a,
    section#defense .link a {
        border: 1.5px solid #333;
    }

    section.cta .line a,
    section#cta .line a {
        border: 1.5px solid #06c755;
    }

    blockquote:before,
    blockquote:after {
        width: 1.5vw;
        height: 1.5vw;
    }

    input[type=checkbox] {
        transform: scale(1.1);
        position: relative;
        top: .3vh;
    }

    /* max-width */
    section.mission .inner,
    section.service .inner,
    section.voice .inner,
    section.cta .inner {
        max-width: 90%;
    }

    /* width */
    .breadcrumb {
        width: 90%;
    }

    .mv_copy p.p4 img {
        width: 14%;
    }

    img.mv-member {
        width: 59vw;
    }

    /* font-size */

    p.en-big,
    p.side {
        font-size: 15vw;
    }

    section.service.btob .flex-box a span.big {
        font-size: 5.8vw;
    }

    .mv_copy p.p4 {
        font-size: 4.6vw;
    }

    .home section h2,
    section.service.btob .flex-box a {
        font-size: 3.8vw;
    }

    section.service-attack h2 span,
    section.service-defense h2 span {
        font-size: 3vw;
    }

    .mv_copy p.p2 {
        font-size: 3.2vw;
    }

    .mv_copy p,
    section.service.btob .flex-box a span.support {
        font-size: 2.7vw;
    }

    section.page-mv h1,
    .page-id-101 section.page-mv h1,
    .service-mv p.p1,
    .page-id-186 section.page-mv h1,
    .service-mv p.p1, .page-id-186 section.page-mv h1, .page-id-192 section.page-mv h1 {
        font-size: 2.6vw;
    }

    section.service-attack h2,
    section.service-defense h2 {
        font-size: 2.4vw;
    }

    section.gs.two h2,
    section.gs.six h2,
    section.gs.seven h2,
    section.gs.eight h2,
    section.gs.nine h2,
    section.gs.ten h2,
    section#cta p.c-price,
    .page-id-192 section.flow h2 {
        font-size: 2.3vw;
    }

    section.gs-cta h2,
    .page-id-186 section.tss h2,
    .page-id-186 section.flow h2,
    .page-id-186 section#cta p.c-price,
    .page-id-192 section.gs.two h2 {
        font-size: 2.1vw;
    }

    .service-mv .text-wrap p,
    section.gs.one h2,
    section.gs.four h2,
    section.fs.one h3,
    section.fs.two h2 {
        font-size: 2vw;
    }

    section.gs.three h2,
    section.gs.five h2,
    .page-id-192 .service-mv .text-wrap p,
    section.fs.one .flex-box a span {
        font-size: 1.9vw;
    }

    .member-header p.catchcopy,
    section.company-profile h2,
    section.cta h3,
    .explanation h2 span,
    section.contact_form h2,
    .error404 main h2,
    section.tss.three h3 {
        font-size: 1.8vw;
    }

    .menu-wrap .flex-box a span,
    section.service-rsec h2,
    section.service-rsec h3,
    section.gs.four .text-wrap p,
    section.tss p.copy {
        font-size: 1.7vw;
    }

    section.cta p.c-copy,
    section.cta .line a,
    section#cta .line a,
    .explanation h2,
    .menu-wrap .flex-box a,
    section.gs.two .flex-box.right p.p1,
    section.gs.three dt,
    section.gs.five dt,
    section.gs.five .bottom-text p,
    .service-mv p span.small,
    section.fs.one .flex-box a {
        font-size: 1.6vw;
    }

    section.cta .form a,
    section#cta .form a,
    .member-header h2,
    .member-header p.RSEC,
    section.member h3,
    article.article-content h1,
    section.page-mv p,
    section.gs.two .flex-box.right ul li,
    section.flow p,
    .page-id-192 section.gs.three .bottom-text p,
    .page-id-192 section.flow h3 span,
    .page-id-192 section.flow h3,
    .page-id-192 section.flow .flex-wrap.bottom .left h4,
    .page-id-192 section.flow .flex-wrap.bottom .right h4 {
        font-size: 1.5vw;
    }

    .mv_copy p.p5,
    section#attack h3,
    section#defense h3,
    .page.container.voice-archive h2,
    .category .archive-top h2,
    .archive.date .archive-top h2,
    .post_wrap h2,
    .bottom-text p,
    section.gs.eight h3,
    .question span,
    .anser span,
    .page-id-192 section.gs.two .flex-box.right ul li,
    .timeline-step {
        font-size: 1.4vw;
    }

   
    .post_wrap h3,
    .privacy_policy h2,
    .banner a,
    section.gs.eight p,
    section.gs.ten .flex-box a,
    section.tss.two li,
    section.tss.four ul li,
    section.flow dl dt {
        font-size: 1.3vw;
    }

	 .page.container.blog article.article-list .text h2,
    .home section h2 span,
    section.mission .text-wrap p,
    section.voice h3.c_name,
    section.cta .text-wrap p,
    .post_wrap h4,
    section.gs.three dd,
    section.gs.five dd,
    .question,
    .anser div,
    section#cta .text-wrap p,
    section.tss p,
    .case-wrap h4,
    dl.cost dd,
    dl.cost dt,
    section.fs.one p {
        font-size: 1.2vw;
    }

    .footer_logo a span {
        font-size: 1.15vw;
    }

    nav ul li.contact a,
    .link a,
    section.mission .flex-box.left p,
    .explanation p,
    section.service-attack .text-wrap,
    section.service-defense .text-wrap,
    section.service-rsec .tc-wrap p,
    .sr-wrap .text-wrap p,
    section.member .text-wrap p,
    section.member table th,
    section.member table td,
    .page-id-55 table tr th,
    .page-id-55 table tr td,
    div#block-10 h2,
    div#block-11 h4,
    div#block-12 h4,
    .share p,
    .wpcf7 .table-res-form th,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    span.wpcf7-form-control.wpcf7-checkbox,
    .table-res-form input[type=submit],
    section.gs.seven .flex-box.right p,
    section.gs.seven .flex-box.left p,
    .error404 main p,
    .error404 .totop,
    section.flow dl dd,
    section.fs.two h3,
    section.fs.two p,
    .timeline-title {
        font-size: 1.1vw;
    }

    nav ul li a {
        font-size: 1.05vw;
    }

    .scroll a,
    section.voice dl,
    section.voice p.text,
    p.n_title,
    section.page-mv h1 span,
    .page.container.voice-archive h3 a,
    div#block-11 li,
    div#block-12 li,
    article.article-content .post_wrap p,
    .post_wrap ul,
    .post_wrap ol,
    .post_wrap table,
    .page-nav .prev-link:before,
    .page-nav .next-link:before,
    .privacy_policy p,
    .privacy_policy ol,
    section.gs.six th,
    section.gs table,
    section.gs td,
    section.gs th {
        font-size: 1vw;
    }

    p.article-date,
    .copyright p,
    #topBtn,
    .voice-link a,
    .page.container.blog article.article-list .archive-text p,
    .pagination ul li,
    div#block-10 li a,
    blockquote cite,
    .recaptcha p,
    p.pp a,
    .contact_text_bottom p,
    .timeline-duration {
        font-size: .9vw;
    }

    .breadcrumb,
    .page.container.blog ul.post-categories a,
    .cat-day a,
    article.article-content p.cat-data a,
    .page-nav .prev-link,
    .page-nav .next-link,
    .wpcf7 .table-res-form .requied,
    .timeline-item .notes {
        font-size: .8vw;
    }
}

/*---------------------------------------------------------
 大型PC
---------------------------------------------------------*/

@media screen and (min-width:1920px) {
    .member-header .flex-box.left:before {
        border-width: 21.35vh 4vw 0 0;
    }

    #topBtn {
        right: 1vw;
        bottom: 3vh;
    }

    section.cta .form a:before,
    section#cta .form a:before {
        height: 2.8vh;
    }

    section.cta .line a:before,
    section#cta .line a:before {
        top: .1vh;
        height: 3.8vh;
    }

    section.mission p.en-big {
        top: -3vh;
    }

    section.news p.en-big {
        top: -2.5vh;
    }

    .page.container.blog article.article-list p.article-date {
        top: 1vh;
    }

    section#attack .link a,
    section#defense .link a {
        margin: 1.5vh auto 0;
    }

    section.service-rsec .sr-wrap .link a,
    .link a,
    section.cta .form a,
    section#cta .form a {
        border: 1.5px solid #171c61;
    }

    .voice-link a {
        border: 1px solid #171c61;
    }

    section#attack .link a,
    section#defense .link a {
        border: 1.5px solid #333;
    }

    section.cta .line a,
    section#cta .line a {
        border: 1.5px solid #06c755;
    }

    blockquote:before,
    blockquote:after {
        width: 1.5vw;
        height: 1.5vw;
    }

    input[type=checkbox] {
        transform: scale(1.9);
        position: relative;
        top: .3vh;
    }

    /* max-width */
    section.mission .inner,
    section.service .inner,
    section.voice .inner,
    section.cta .inner {
        max-width: 90%;
    }

    /* width */
    .breadcrumb {
        width: 90%;
    }

    .mv_copy p.p4 img {
        width: 14%;
    }

    img.mv-member {
        width: 59vw;
    }

    /* font-size */

    p.en-big,
    p.side {
        font-size: 15vw;
    }

    section.service.btob .flex-box a span.big {
        font-size: 5.8vw;
    }

    .mv_copy p.p4 {
        font-size: 4.6vw;
    }

    .home section h2,
    section.service.btob .flex-box a {
        font-size: 3.8vw;
    }

    section.service-attack h2 span,
    section.service-defense h2 span {
        font-size: 3vw;
    }

    .mv_copy p.p2 {
        font-size: 3.2vw;
    }

    .mv_copy p,
    section.service.btob .flex-box a span.support {
        font-size: 2.7vw;
    }

    section.page-mv h1,
    .page-id-101 section.page-mv h1,
    .service-mv p.p1,
    .page-id-186 section.page-mv h1,
    .service-mv p.p1, .page-id-186 section.page-mv h1, .page-id-192 section.page-mv h1 {
        font-size: 2.6vw;
    }

    section.service-attack h2,
    section.service-defense h2 {
        font-size: 2.4vw;
    }

    section.gs.two h2,
    section.gs.six h2,
    section.gs.seven h2,
    section.gs.eight h2,
    section.gs.nine h2,
    section.gs.ten h2,
    section#cta p.c-price,
    .page-id-192 section.flow h2 {
        font-size: 2.3vw;
    }

    section.gs-cta h2,
    .page-id-186 section.tss h2,
    .page-id-186 section.flow h2,
    .page-id-186 section#cta p.c-price,
    .page-id-192 section.gs.two h2 {
        font-size: 2.1vw;
    }

    .service-mv .text-wrap p,
    section.gs.one h2,
    section.gs.four h2,
    section.fs.one h3,
    section.fs.two h2 {
        font-size: 2vw;
    }

    section.gs.three h2,
    section.gs.five h2,
    .page-id-192 .service-mv .text-wrap p,
    section.fs.one .flex-box a span {
        font-size: 1.9vw;
    }

    .member-header p.catchcopy,
    section.company-profile h2,
    section.cta h3,
    .explanation h2 span,
    section.contact_form h2,
    .error404 main h2,
    section.tss.three h3 {
        font-size: 1.8vw;
    }

    .menu-wrap .flex-box a span,
    section.service-rsec h2,
    section.service-rsec h3,
    section.gs.four .text-wrap p,
    section.tss p.copy {
        font-size: 1.7vw;
    }

    section.cta p.c-copy,
    section.cta .line a,
    section#cta .line a,
    .explanation h2,
    .menu-wrap .flex-box a,
    section.gs.two .flex-box.right p.p1,
    section.gs.three dt,
    section.gs.five dt,
    section.gs.five .bottom-text p,
    .service-mv p span.small,
    section.fs.one .flex-box a {
        font-size: 1.6vw;
    }

    section.cta .form a,
    section#cta .form a,
    .member-header h2,
    .member-header p.RSEC,
    section.member h3,
    article.article-content h1,
    section.page-mv p,
    section.gs.two .flex-box.right ul li,
    section.flow p,
    .page-id-192 section.gs.three .bottom-text p,
    .page-id-192 section.flow h3 span,
    .page-id-192 section.flow h3,
    .page-id-192 section.flow .flex-wrap.bottom .left h4,
    .page-id-192 section.flow .flex-wrap.bottom .right h4 {
        font-size: 1.5vw;
    }

    .mv_copy p.p5,
    section#attack h3,
    section#defense h3,
    .page.container.voice-archive h2,
    .category .archive-top h2,
    .archive.date .archive-top h2,
    .post_wrap h2,
    .bottom-text p,
    section.gs.eight h3,
    .question span,
    .anser span,
    .page-id-192 section.gs.two .flex-box.right ul li,
    .timeline-step {
        font-size: 1.4vw;
    }

    
    .post_wrap h3,
    .privacy_policy h2,
    .banner a,
    section.gs.eight p,
    section.gs.ten .flex-box a,
    section.tss.two li,
    section.tss.four ul li,
    section.flow dl dt {
        font-size: 1.3vw;
    }

	.page.container.blog article.article-list .text h2,
    .home section h2 span,
    section.mission .text-wrap p,
    section.voice h3.c_name,
    section.cta .text-wrap p,
    .post_wrap h4,
    section.gs.three dd,
    section.gs.five dd,
    .question,
    .anser div,
    section#cta .text-wrap p,
    section.tss p,
    .case-wrap h4,
    dl.cost dd,
    dl.cost dt,
    section.fs.one p {
        font-size: 1.2vw;
    }

    .footer_logo a span {
        font-size: 1.15vw;
    }

    nav ul li.contact a,
    .link a,
    section.mission .flex-box.left p,
    .explanation p,
    section.service-attack .text-wrap,
    section.service-defense .text-wrap,
    section.service-rsec .tc-wrap p,
    .sr-wrap .text-wrap p,
    section.member .text-wrap p,
    section.member table th,
    section.member table td,
    .page-id-55 table tr th,
    .page-id-55 table tr td,
    div#block-10 h2,
    div#block-11 h4,
    div#block-12 h4,
    .share p,
    .wpcf7 .table-res-form th,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    span.wpcf7-form-control.wpcf7-checkbox,
    .table-res-form input[type=submit],
    section.gs.seven .flex-box.right p,
    section.gs.seven .flex-box.left p,
    .error404 main p,
    .error404 .totop,
    section.flow dl dd,
    section.fs.two h3,
    section.fs.two p,
    .timeline-title {
        font-size: 1.1vw;
    }

    nav ul li a {
        font-size: 1.05vw;
    }

    .scroll a,
    section.voice dl,
    section.voice p.text,
    p.n_title,
    section.page-mv h1 span,
    .page.container.voice-archive h3 a,
    div#block-11 li,
    div#block-12 li,
    article.article-content .post_wrap p,
    .post_wrap ul,
    .post_wrap ol,
    .post_wrap table,
    .page-nav .prev-link:before,
    .page-nav .next-link:before,
    .privacy_policy p,
    .privacy_policy ol,
    section.gs.six th,
    section.gs table,
    section.gs td,
    section.gs th {
        font-size: 1vw;
    }

    p.article-date,
    .copyright p,
    #topBtn,
    .voice-link a,
    .page.container.blog article.article-list .archive-text p,
    .pagination ul li,
    div#block-10 li a,
    blockquote cite,
    .recaptcha p,
    p.pp a,
    .contact_text_bottom p,
    .timeline-duration {
        font-size: .9vw;
    }

    .breadcrumb,
    .page.container.blog ul.post-categories a,
    .cat-day a,
    article.article-content p.cat-data a,
    .page-nav .prev-link,
    .page-nav .next-link,
    .wpcf7 .table-res-form .requied,
    .timeline-item .notes {
        font-size: .8vw;
    }
}