@charset "utf-8";

/*
theme Name: lea-marriage
Author: lea marriage
Description: original theme
version： 1.0.0
*/
html,
body,
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;
}

body {
    line-height: 1;
    -webkit-text-size-adjust: none;
}

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;
}

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;
}

/*サイト全体の基準となるCSSを記述*/
html {
    font-size: 16px;
    height: -webkit-fill-available;
}

body {
    /*フォントの指定*/
    font-family: 'Cormorant Garamond', 'Zen Old Mincho', serif;
    /*行間の指定*/
    line-height: 1.8;
    margin: 0;
    padding: 0;
    /*サイトのデフォルトとなる文字の色を指定*/
    color: #333;
    font-weight: 500;
}

/*見出しを全て太字で表示 + 文字色を黒に*/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 500;
    color: #333;
}

th,
td {
    font-weight: 500;
}

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

.sp_block {
    display: none;
}

.pc_block {
    display: inline-block;
}

br.ipad_only {
    display: none;
}

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

/* Avoid Chrome to see Safari hack */
@supports (-webkit-touch-callout: none) {
    body {
        /* The hack for Safari */
        height: -webkit-fill-available;
    }
}

/*コンテンツのサイズ指定*/
.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: 350.25px !important;
    font-family: 'Noto Serif JP', serif;
}

/*ローディング*/
.start {
    background: #005e78;
    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: 23%;
}

.start p img {
    width: 100%;
}

/*---------------------------------------------------------
アニメーション
---------------------------------------------------------*/
.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);
}

section.page_contens {
    margin-bottom: 100px;
}

span.elina {
    font-family: elina, sans-serif;
}

span.noto {
    font-family: 'Noto Serif JP';
}

/*---------------------------------------------------------
ボタン hover
---------------------------------------------------------*/
.fc_link a:hover,
.home_button.w a:hover,
.home_button.n a:hover,
.home_button.line a:hover {
    -webkit-transform: translate(0, 2px);
    -ms-transform: translate(0, 2px);
    transform: translate(0, 2px);
    opacity: .6;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}

header nav ul li a:hover,
nav.footer_nav ul li a:hover,
.qa a:hover,
ul.sns a:hover,
ul.nav_bottom li a:hover,
section.data_area .toc ul li a:hover {
    opacity: 0.6;
}

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

header {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: rgb(255 255 255/70%);
    height: 10.5vh;
}

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

.site-title-wrap {
    width: 25%;
    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;
}


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

.site-title a {
    font-weight: bold;
    line-height: 1;
    display: inline-block;
    text-decoration: none;
}

.site-title a img {
    display: inline-block;
    width: auto;
    width: 17vw;
}

.site-title a img.sp_block {
    display: none;
}

@media (max-width: 768px) {
    .site-title a img.pc_block {
        display: none;
    }

    .site-title a img.sp_block {
        display: inline-block !important;
        height: unset;
        width: 61% !important;
    }
}

.header-nav-wrap {
    position: absolute;
    top: 50%;
    right: 0%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.header-nav {
    font-size: 0;
}

.header-nav li {
    font-size: 1rem;
    display: inline-block;
    margin-right: 1rem;
    letter-spacing: 2px;
    text-align: center;
    line-height: 1.5;
    display: inline-block;
    vertical-align: middle;
}


.header-nav li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding: 0 12px;
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
}

.header-nav a::after {
    position: absolute;
    bottom: -8px;
    left: 5px;
    content: '';
    width: 90%;
    height: 2px;
    background: #fc0000;
    -webkit-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    -o-transition: transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    opacity: 0.6;
}

.header-nav a:hover::after {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}


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

header nav ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: space-between;
    top: 5px;
}

nav.footer_nav ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: space-between;
    top: 5px;
    width: 70%;
    margin: 4vh auto;
}

header nav ul ul {
    display: block;
}

header nav ul li,
nav.footer_nav ul li {
    position: relative;
    display: -ms-grid;
    display: grid;
    place-items: center;
}

header nav ul li.fc {
    padding: 0;
}

header nav ul li a,
nav.footer_nav ul li a {
    display: block;
    text-decoration: none;
    color: #005e78;
    /*     padding: 2.5vh 0; */
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: 2px;
    text-align: center;
    font-family: 'Cormorant Garamond', serif;
}

span.small {
    display: block;
    font-size: 0.8rem;
}

a.nav_con {
    display: block;
    background: #005e78;
    color: #fff;
    outline: 1px solid #fff;
    outline-offset: -5px;
    padding: 0 1em;
    height: 10.5vh;
    display: -ms-grid;
    display: grid;
    place-items: center;
}


header nav ul li li a {
    padding: 10px 35px;
}

@media screen and (max-width:1200px) {
    header nav ul li a {
        padding: 20px;
    }

    header nav ul li li a {
        padding: 10px 20px;
    }
}

header nav ul li.has-child::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 30px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #eee;
    border-right: 2px solid #eee;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

@media screen and (max-width:1200px) {
    header nav ul li.has-child::before {
        left: 0;
    }
}

header nav li.has-child ul {
    position: absolute;
    left: 0;
    top: 62px;
    z-index: 4;
    background: rgba(255, 255, 255, 0.2);
    width: 180px;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

header nav li.has-child:hover>ul,
header nav li.has-child ul li:hover>ul,
header nav li.has-child:active>ul,
header nav li.has-child ul li:active>ul {
    visibility: visible;
    opacity: 1;
}

header nav li.has-child ul li a {
    color: #fff;
    border-bottom: solid 1px rgba(255, 255, 255, 0.4);
}

header nav li.has-child ul li:last-child a {
    border-bottom: none;
}

header nav li.has-child ul li a:hover,
header nav li.has-child ul li a:active {
    background: rgba(255, 255, 255, 0.2);
}


@media screen and (max-width:960px) {
    header nav {
        padding: 0;
    }

    header nav ul {
        display: block;
    }

    header navi ul li a {
        border-bottom: 1px solid #fff;
    }


    header nav ul li.has-child::before {
        left: 20px;
    }

    header nav ul ul li.has-child::before {
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        left: 20px;
    }

    header nav ul li.has-child.active::before {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

}

header nav#g-nav {
    width: 75%;
    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;
}

.slide-img img {
    display: block;
}


.mv_logo p {
    line-height: 2;
    text-align: center;
    font-weight: 500;
    font-size: 33px;
    text-shadow: 0px 0px 4px #9e9e9e;
    color: #FFFFFF;
}



.slide-img img {
    display: block;
}

section.mv {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

section.mv li img {
    width: 100%;
    height: auto;
}

img.mv_img {
    width: auto;
    height: 100vh;
}

img.mv_copy {
    position: absolute;
    top: 35%;
    right: 5%;
    width: 50%;
    z-index: 100;
}

img.mv_medal {
    position: absolute;
    top: 62%;
    right: 7%;
    width: 45%;
    z-index: 100;
}


#slide_wrapp {
    position: relative;
    overflow: hidden;
}

#slide_wrapp .slide_item {
    opacity: 0;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity 2s linear, -webkit-transform 7.5s linear;
    transition: opacity 2s linear, -webkit-transform 7.5s linear;
    -o-transition: opacity 2s linear, transform 7.5s linear;
    transition: opacity 2s linear, transform 7.5s linear;
    transition: opacity 2s linear, transform 7.5s linear, -webkit-transform 7.5s linear;
    position: relative;
    z-index: 1;
}

#slide_wrapp .slide_item:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
}

#slide_wrapp .slide_item.show_ {
    opacity: 1;
    width: 100%;
    height: auto;
}

#slide_wrapp .slide_item.zoom_ {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

#slide_wrapp .slide_item img {
    display: block;
}


img.mv_sp {
    display: none !important;
}

section.mv_bottom_banner {
    background: #005e78;
    padding: 5vh 0;
}

.mvbb_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.mvbb_l {
    width: 50%;
    text-align: center;
}

.mvbb_l p {
    color: #fff;
    font-size: 2.5rem;
    position: relative;
}

span.text_notes {
    font-size: 1rem;
    letter-spacing: 3px;
}

span.mvbb.number {
    font-family: elina, sans-serif;
    font-size: 3.5rem;
    padding-left: 1vh;
    padding-right: 1vh;
}

.mvbb_l p::before {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/01/laurel_left.svg);
    -webkit-transform: translateY(-50%);
    background-repeat: no-repeat;
    content: '';
    display: inline-block;
    width: 100px;
    height: 100px;
    top: 5.5vh;
    left: 15vh;
    position: absolute;
}

.mvbb_l p::after {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/01/laurel_right.svg);
    -webkit-transform: translateY(-50%);
    background-repeat: no-repeat;
    content: '';
    display: inline-block;
    width: 100px;
    height: 100px;
    top: 5.5vh;
    right: 10vh;
    position: absolute;
}

.mvbb_r {
    width: 50%;
    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;
}

.fc_link {
    text-align: center;
}

.fc_link a {
    color: #005e78;
    text-decoration: none;
    font-size: 2rem;
    background: #fff;
    padding: 2vh 12vh;
    outline: 1.5px solid #005e78;
    outline-offset: -5px;
}

.fc_link span.kana_small {
    font-size: 1.8rem;
}

span.notoserif {
    font-family: 'Noto Serif JP', serif;
}

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

/*コンセプト*/
.hc_inner {
    width: 85%;
    margin: 10vh auto 15vh;
}

h2.home {
    font-size: 5rem;
    text-align: center;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-style: normal;
    color: #005e78;
    line-height: 1.3;
}

span.jp {
    font-size: 1.2rem;
    letter-spacing: 4px;
    font-weight: bold;
    margin-bottom: 5vh;
    display: block;
    margin-top: 1vh;
}

.hc_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    margin-top: 10vh;
}

.hc_l {
    width: 50%;
}

section.home_concept h3 {
    font-size: 2rem;
    margin-bottom: 3vh;
    color: #005e78;
    border-bottom: 1.5px solid #005e78;
    text-align: center;
}

.hc_l p {
    font-size: 1.2rem;
}

p.text br {
    line-height: 1;
}

.hc_l .home_button.n a {
    width: 44%;
    font-size: 1.4rem;
}

.hc_r {
    width: 45%;
    text-align: center;
}

.hc_r img {
    width: 85%;
    height: auto;
    border-radius: 13px;
}

p.name_area {
    margin-top: 1vw;
    font-size: 1.3rem;
    color: #005e78;
}

p.name_area span {
    font-size: 2rem;
    padding-left: 2vh;
}

.hc_ibj_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    margin-top: 7vh;
}

.hc_ibj_inner {
    width: 48%;
    border: 1px solid #005e78;
}

.hc_ibj_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding: 2vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.ibj_b_l {
    width: 30%;
}

.ibj_b_r {
    width: 70%;
    padding: 1vh 3vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.hc_ibj_area h4 {
    font-size: 1.3rem;
    border-bottom: 1px solid #005e78;
    margin-bottom: 1vh;
    font-weight: bold;
    color: #005e78;
    letter-spacing: 0.2rem;
    text-align: center;
    padding-bottom: 0.5vh;
}

/*２つのサービス*/
section.home_twotypes {
    background: #005e78;
}

.htt_inner {
    width: 80%;
    /* 	width:1120px; */
    margin: 0 auto;
    padding: 10vh 0 15vh;
}

section.home_twotypes h2.home {
    color: #fff;
}

section.home_twotypes p.title_b_text.w {
    color: #fff;
}

p.title_b_text {
    margin-top: 2vh;
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 7vh;
}

span.leamarriage {
    font-family: canto, serif;
    font-style: initial;
    font-weight: bold;
}

.twotypes_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    margin-bottom: 7vh;
}

.ttb_l {
    width: 42%;
}

.ttb_r {
    width: 42%;
}

.twotypes_box h3 {
    font-family: 'Zen Old Mincho', serif;
    text-align: center;
    font-size: 2rem;
    background: #fff;
    color: #005e78;
    padding: 1vh;
    outline: 1.5px solid #005e78;
    outline-offset: -5px;
}

.home_button.w a {
    color: #005e78;
    text-decoration: none;
    font-size: 1.5rem;
    background: #ffffff;
    padding: 1vh 0;
    outline: 1.5px solid #005e78;
    outline-offset: -5px;
    width: 48%;
    display: inline-block;
}

/*固定背景*/
.background {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    height: 60vh;
}

.background.one {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/03/top_wedding.jpg);
}

.background.two {
    position: relative;
    text-align: center;
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/03/top_bottom315.jpg);
}

h1.text {
    margin: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    color: #005e78;
    font-weight: 800;
    mix-blend-mode: initial;
    font-size: 3rem;
    text-shadow: 2px 2px 2px #ffffff;
}

/*選ばれる理由*/
.hr_inner {
    width: 80%;
    margin: 0 auto;
    padding: 10vh 0 15vh;
}

section.home_reason p.title_b_text.b {
    font-size: 1.4rem;
}

.hr_area ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    counter-reset: number 0;
}

.hr_area ul li {
    width: 30%;
    list-style: none;
    position: relative;
}

.hr_area ul li::before {
    content: "";
    top: 0;
    left: 0;
    border-bottom: 9vh solid transparent;
    border-left: 9vh solid #005e78;
    position: absolute;
    z-index: 100;
}

.hr_area ul li::after {
    content: counter(number);
    display: block;
    top: -2px;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    color: #fff;
    left: 0.7vh;
    position: absolute;
    z-index: 101;
    font-size: 5rem;
    font-family: elina, sans-serif;
    font-size: 2.5rem;
    counter-increment: number 1;
}

.hr_area ul li p {
    text-align: center;
    color: #005e78;
    padding: 1vh;
    /*     margin-bottom: 6vh; */
    margin-bottom: 4vh;
    font-size: 1.2rem;
    border: 1.5px solid #005e78;
    border-top: none;
    font-weight: bold;
}

.hr_area span.notoserif {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}

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

.home_button.n a {
    color: #ffffff;
    text-decoration: none;
    font-size: 1.5rem;
    background: #005e78;
    padding: 1vh 12vh;
    outline: 1.5px solid #ffffff;
    outline-offset: -5px;
    width: 24%;
    display: inline-block;
}

/*成婚者様の声*/
.top-voice {
    background: #e0eef2;
}

.top-voice__inner {
    width: 92%;
    margin: 0 auto;
    padding: 5vw 0 7vw;
}

.top-voice__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.2vw;
    margin-bottom: 1.3vw;
}

.top-voice__title {
    font-size: 1.6vw;
    line-height: 1.3;
    margin: 0;
}

.top-voice__more {
    font-size: 1.0vw;
    text-decoration: underline;
}

.top-voice__track {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.3vw;
    margin-top: 4vw;
}

.top-voice__card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
}

.top-voice__thumb {
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.top-voice__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.top-voice__thumb--dummy {
    width: 100%;
    height: 100%;
    background: #e9e9e9;
}

.top-voice__name {
    padding: .5vw 1vw;
    font-size: 1.05vw;
    line-height: 1.7;
    font-family: "noto-serif-jp", serif;
}

.top-voice__meta {
    font-size: 1vw;
    font-family: "noto-serif-jp", serif;
    text-align: right;
    margin-right: .95vw;
    margin-bottom: .5vw;
}

section.top-voice .home_button.n {
    margin-top: 3vw;
}

a.top-voice__card:hover {
    -webkit-transform: translate(0, 2px);
    -ms-transform: translate(0, 2px);
    transform: translate(0, 2px);
    opacity: .6;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}

/*流れ*/

.flow_inner {
    margin: 10vh auto 15vh;
    width: 80%;
}

section.flow_area h2 {
    color: #005e78;
    text-align: center;
    font-size: 3rem;
    margin-bottom: 14vh;
    letter-spacing: .15em;
}

section.flow_area h2 span {
    font-size: 1.2rem;
    font-weight: 700;
}

.flow_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flow_box.one .flow_l,
.flow_box.two .flow_r {
    width: 50%;
    text-align: center;
}

.flow_box.one .flow_l img,
.flow_box.two .flow_r img {
    width: 80%;
}

.flow_box img {
    border-radius: 13px;
}

.flow_box.one .flow_r,
.flow_box.two .flow_l {
    width: 50%;
    padding: 0 5vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.flow_box h3 {
    font-size: 2rem;
    color: #005e78;
    border-bottom: 1.5px solid #005e78;
    margin-bottom: 3vh;
    text-align: center;
}

.flow_box h3 span {
    padding-right: 0.5em;
    font-size: 2.2rem;
    position: relative;
    top: 3px;
}

.flow_box p {
    font-size: 1.3rem;
    text-align: justify;
}

.support {
    background: #e0eef2;
    color: #005e78;
    padding: 6vh 2em 4vh;
    text-align: center;
    width: 93%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    margin-top: 7vh;
}

.support h4 {
    position: absolute;
    background: #005e78;
    color: #fff;
    padding: 1px 14vh;
    top: -2vh;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    letter-spacing: .15em;
    font-size: 1.6rem;
}

.support p {
    font-size: 1.3rem;
}

.wrap {
    width: 100%;
    position: relative;
    height: 10vh;
}

.border {
    position: absolute;
    left: 50%;
    top: 50%;
    background: #005e78;
    width: 1px;
    height: 100%;
}

.flow_box.mt {
    margin-top: 15vh;
}



/*料金プラン*/
section.home_plan {
    background: #bed6dc;
}

.hp_inner {
    width: 80%;
    margin: 0 auto;
    padding: 10vh 0 15vh;
}

section.home_plan h3 {
    text-align: center;
    font-size: 1.8rem;
    color: #005e78;
}

section.plan_table .campaign span.note {
    font-size: 1rem !important;
}

.free_price {
    width: 80%;
    margin: 5vh auto;
}

.free_price ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.free_price ul li {
    width: 24%;
    text-align: center;
    list-style: none;
}

.free_price li div {
    line-height: 1.5;
}

.free_price span.elina {
    font-size: 4rem;
    padding-right: 1vh;
}

.hp_price_b {
    text-align: center;
    width: 75%;
    margin: 5vh auto;
}

.hp_price_b ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.hp_price_b ul li {
    list-style: none;
    padding: 0.7vh;
    font-size: 1.8rem;
    background: #fff;
    margin-bottom: 2vh;
    color: #005e78;
    width: 49.5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

span.en {
    font-family: 'Cormorant Garamond', serif;
}



span.noto.number {
    font-family: 'Noto Serif JP';
    font-size: 1.3rem;
    letter-spacing: 2px;
}

.home .campaign {
    background: #fff;
    padding: 0 0 2vh;
    text-align: center;
    outline: 1.5px solid #005e78;
    outline-offset: -5px;
    width: 75%;
    margin: 5vh auto;
}

.home .campaign h3,
.page-id-709 .campaign h3 {
    text-align: center;
    font-size: 4rem;
    color: #005e78;
    font-family: 'Ephesis', cursive;
    letter-spacing: 4px;
}

.home .campaign p,
.page-id-709 .campaign p.cam_title {
    font-size: 1.8rem;
    color: #005e78;
    position: relative;
    top: -10px;
}

.page-id-709 .campaign p.text {
    font-size: 1.2vw;
    margin-bottom: .5vw;
    color: #005e78;
    position: relative;
    top: -10px;
}

.page-id-709 .campaign p.text span.note {
    font-size: 1.2vw;
}

.home .campaign p span.monthly {
    font-size: 1.8rem;
}

.home .campaign p span.note {
    font-size: 1rem;
}

.home .campaign p span.monthly span.elina {
    font-size: 2.8rem;
    padding-right: 0.2em;
    padding-left: 0.5em;
}

.home .campaign span.mvbb.number {
    font-family: elina, sans-serif;
    font-size: 3rem;
}


.label_box {
    position: relative;
}

.label_inner {
    position: absolute;
    top: -6px;
    left: -6px;
    width: 90px;
    height: 91px;
    overflow: hidden;
}

.ribbon {
    display: inline-block;
    position: absolute;
    padding: 4px 0;
    right: -21px;
    top: 10px;
    width: 160px;
    text-align: center;
    font-size: 14px;
    background: #005e78;
    color: #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    height: 3vh;
}

.ribbon:before,
.ribbon:after {
    position: absolute;
    content: "";
    border-top: 4px solid #005e78;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    bottom: -4px;
}

.ribbon:before {
    left: 20px;
}

.ribbon:after {
    right: 24px;
}

/*流れ*/
.hf_inner {
    width: 80%;
    margin: 0 auto;
    padding: 10vh 0 15vh;
}

table.home_flow {
    width: 75%;
    margin: 0 auto;
}

table.home_flow td {
    border-top: 1px solid #005e78;
    border-bottom: 1px solid #005e78;
    border-collapse: collapse;
}

table.home_flow td,
table.home_flow th {
    height: 25px;
    font-size: 1.3rem;
    padding: 1em 1.7em;
    vertical-align: middle;
}

td.left {
    width: 30%;
    text-align: center;
    border-right: 1px solid #005e78;
    position: relative;
}

td.left img {
    width: auto;
    display: block;
    margin: 0 auto 1vh;
}

img.icon1,
img.icon2,
img.icon5,
img.icon6 {
    height: 4vh;
}

img.icon4 {
    height: 3.5vh;
}

img.icon3,
img.icon8 {
    height: 3vh;
}

img.icon7 {
    height: 4.5vh;
}

td.right {
    width: 70%;

}

td.left::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0px;
    -webkit-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    width: 2.5vh;
    height: 2.5vh;
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/01/arrow_hf2.svg);
    background-size: contain;
    display: inline-block;
    background-repeat: no-repeat;
}

/*会員データ*/
section.home_data {
    background: #e0eef2;
}

.hd_inner {
    width: 80%;
    margin: 0 auto;
    padding: 10vh 0 15vh;
}

.data_area.home ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.data_area.home li {
    width: 48%;
    list-style: none;
    margin-bottom: 4vh;
}

.data_area.home h3 {
    text-align: center;
    font-size: 2rem;
    color: #fff;
    background: #005e78;
    width: 100%;
    margin-bottom: 2vh;
}



.home.seikon p {
    color: #005e78;
    font-size: 1.5rem;
}

.home.data_inner {
    background: #fff;
    text-align: center;
    height: 40vh;
    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;
}

.home.data_inner img {
    width: 92%;
    height: auto;
}

img.educational {
    width: 81% !Important;
}

.home.data_inner span.noto {
    font-size: 2rem;
}

.home.data_inner span.elina {
    font-size: 3rem;
    margin-left: 0.2em;
}

p.kaiin_deta {
    font-size: 1.6rem;
    color: #005e78;
}

p.kaiin_deta span.noto.number {
    font-size: 1.6rem;
}


.data_area.home .hc_ibj_area {
    margin-top: 1vh;
}

.data_area.home .hc_ibj_inner {
    background: #fff;
    border: unset;
}

/*無料カウンセリング*/
.hfc_inner {
    width: 80%;
    margin: 0 auto;
    padding: 10vh 0 15vh;
}

.fc_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    margin-top: 10vh;
    margin-bottom: 7vh;
}

.fc_l {
    width: 45%;
}

.fc_l img {
    border-radius: 13px;
    margin-top: 1vh;
}

section.home_fc h3 {
    margin-bottom: 3vh;
    text-align: center;
}

section.home_fc h3.one {
    font-size: 1.7rem;
    color: #005e78;
    border-bottom: 1.5px solid #005e78;
}

.fc_r {
    width: 45%;
}

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

section.home_fc p.cta {
    text-align: center;
    font-size: 1.3rem;
    color: #005e78;
    font-weight: bold;
}

section.home_fc .home_button {
    margin-top: 1vh;
}

section.home_fc .home_button.n a {
    width: 47%;
    padding: 1vh 0;
}


/*---------------------------------------------------------
フッター
---------------------------------------------------------*/
.footer {
    background: #005e78;
    color: #fff;
}


.footer_logo {
    width: 100%;
    text-align: center;
    padding: 5vh 0 2vh;
}

.footer_logo img {
    width: 20%;
}

footer#footer p.sub_title {
    letter-spacing: 0.4vh;
    font-size: 0.85rem;
    margin-top: 0.5vh;
}

.f_address {
    margin-top: 1em;
    font-size: 1rem;
}

img.footer_ibj {
    margin-top: 2vh;
    width: 11%;
}

footer#footer ul.sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    width: 8%;
}

footer#footer ul.sns li {
    list-style: none;
    width: 50%;
    text-align: center;
    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;
}

footer#footer ul.sns li a img {
    height: 2.2vh;
    width: auto;
}

footer#footer nav ul li a {
    color: #ffffff;
}

.footer_fc.home_button.w {
    margin-top: 2vh;
    margin-bottom: 3vh;
}

.footer_fc.home_button.w a {
    font-size: 1.3rem;
}

ul.nav_bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    width: 35%;
    margin: 3vh auto 3vh;
}

ul.nav_bottom li {
    list-style: none;
}

ul.nav_bottom li a {
    color: #fff;
    text-decoration: none;
    font-size: 0.8rem;
}

.copyright {
    text-align: center;
}

.copyright p {
    font-size: 0.6rem;
    color: #fff;
    font-weight: normal;
    letter-spacing: 2px;
    padding: 0.5em;
}

ul.floating {
    display: none;
}

/***追従するトップへ戻るボタン***/
#topBtn {

    font-family: "Cormorant Infant", serif;
    letter-spacing: 2px;
    position: fixed;
    right: 20px;
    bottom: 10px;
    height: 50px;
    text-decoration: none;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #fff;
    padding: 0 0 0 20px;
    border-top: solid 1px;
}

#topBtn::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 10px;
    border-top: solid 1px;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(35deg);
    transform: rotate(35deg);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
}

a#topBtn:hover {
    opacity: 0.6;
}

/***トップへ戻るボタンここまで***/


.footer_sticky {
    display: none;
    position: fixed;
    top: 62%;
    right: 17px;
    z-index: 999;
    -webkit-transform: translateY(-60%);
    -ms-transform: translateY(-60%);
    transform: translateY(-60%);
}

.footer_copyright {
    display: inline-block;
    color: #333;
    font-size: 0.5rem;
    line-height: 20px;
    letter-spacing: 0.06em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

small.footer_copyright_text {
    font-size: 0.5rem;
}

li.footer_sticky_sns {
    list-style: none;
    padding-top: 15px;
    width: 90%;
}

li.footer_sticky_sns a:hover {
    opacity: 0.6;
}

.footer_sticky_sns_item {
    margin: 0 auto 10px;
    width: 75%;
}

.footer_menu {
    display: none !important;
}



/*---------------------------------------------------------
下層ページ
---------------------------------------------------------*/


section.page_mv {
    padding: 6vh;
    background-size: cover;
    height: 30vh;
    background-repeat: no-repeat;
    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;
    overflow: hidden;
}

section.page_mv.reason {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/03/reason-header.jpg);
    background-position: right 0 bottom 21%;
}

section.page_mv.flow {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/03/flow-header.jpg);
    background-position: right 0 bottom 51%;
}

section.page_mv.plan {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/03/plan-header.jpg);
    background-position: right 0 bottom 31%;
}

section.page_mv h1 {
    font-size: 4rem;
    color: #005e78;
    text-align: center;
    letter-spacing: .15em;
    position: relative;
    top: 4vh;
}

section.page_mv span.small {
    display: block;
    font-size: 1rem;
}

p.mb.sp_only {
    margin-bottom: 0;
}

p.mb.pc_only {
    margin-bottom: 1vh;
}

/*---------------------------------------------------------
選ばれる理由
---------------------------------------------------------*/
.ra_inner {
    margin: 10vh auto 15vh;
    width: 70%;
}

section.reason_area h2 {
    color: #005e78;
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 7vh;
    letter-spacing: .1em;
}

section.reason_area h2 img {
    width: 24%;
    position: relative;
    top: 15px;
    padding-right: 0.5vw;
}

section.reason_area h2 span.elina {
    font-size: 3.2rem;
    padding-right: 0.5vw;
    font-weight: 400;
}

section.reason_area h2 span {
    font-size: 1.2rem;
    font-weight: 700;
    color: #005e78;
}

.reason_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.rb_l {
    width: 35%;
    background-size: cover;
}

.rb_l.one {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/02/reason-img1.jpg);
}

.rb_l.two {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/02/reason-img2.jpg);
}

.rb_l.three {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2024/05/cfa8b3e1fa50b36f2dba85e72feba21e.png);
}

.rb_l.four {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/02/reason-img4.jpg);
}

.rb_l.five {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/02/reason-img5-1.jpg);
}

.rb_l.six {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/02/tr-ibj.jpg);
}

.rb_l.seven {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/02/reason-img5.jpg);
}

.rb_l.eight {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/02/reason-img6.jpg);
}

.rb_l.nine {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/02/tr_support-1.jpg);
}

.rb_r {
    width: 65%;
    font-size: 2rem;
    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;
    background: #bed6dc;
    text-align: center;
    color: #005e78;
    height: 17vw;
}

.rb_r h3 {
    color: #005e78;
    width: 100%;
}

.reason_box h3 span.elina {
    font-size: 1.8rem;
    position: relative;
    top: 2px;
    padding-left: 0.5vw;
}

span.bg_n {
    background: #005e78;
    display: inline-block;
    color: #fff;
    width: 70%;
    letter-spacing: .15em;
    margin-bottom: 1vw;
}

span.re_large {
    font-size: 3rem;
    letter-spacing: .15em;
}

.rb_bottom {
    position: relative;
    margin-top: 8vh;
    width: 100%;
}

.rb_bottom h4 {
    position: absolute;
    background: #005e78;
    color: #fff;
    padding: 1px 14vh;
    top: -2vh;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    letter-spacing: .15em;
    font-size: 1.6rem;
    z-index: 1;
}

.rbs {
    padding: 2.5em 2em 2em;
    position: relative;
    outline: 1px solid #005e78;
    outline-offset: -9px;
    border: 1px solid #005e78;
}

.rb_bottom p {
    font-size: 1.2rem;
}

.rb_bottom .btm {
    text-align: center;
}

.rb_bottom .btm a {
    color: #005e78;
    background: #e0eef2;
    text-decoration: none;
    padding: 0.2em 0 0.1em;
    display: block;
    width: 30%;
    margin: 0 auto;
    font-size: 1.1rem;
    letter-spacing: .1em;
}


.reason_box.mt {
    margin-top: 14vh;
}

.youtube {
    width: 75%;
    margin: 7vh auto 0;
}

.youtube_inner {
    width: 100%;
    aspect-ratio: 16 / 9;
}

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

/*---------------------------------------------------------
カウンセラー紹介
---------------------------------------------------------*/
section.page_mv.cou {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/03/counselor-header.jpg);
    background-position: right 0 bottom 45%;
}

.cou_inner {
    margin: 10vh auto 0;
}

h2.cp {
    margin-bottom: 14vh !important;
}

section.counselor h2 {
    color: #005e78;
    text-align: center;
    font-size: 3rem;
    margin-bottom: 6vh;
    letter-spacing: .15em;
}

section.counselor h2 span,
section.counselor h3 span {
    font-size: 1.2rem;
    font-weight: 700;
    color: #005e78;
}

.cou_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding-bottom: 10vh;
    border-radius: 13px;
    width: 80%;
    margin: 0 auto;
}

.ct_l {
    width: 45%;
    text-align: center;
}

.ct_l img {
    width: 75%;
    border-radius: 13px;
}

.ct_r {
    width: 55%;
    display: -ms-grid;
    display: grid;
    place-items: center;
}

p.name {
    font-size: 1.6rem;
    padding: 0.5vh;
    padding-left: 2vh;
    color: #ffffff;
    background: #005e78;
    letter-spacing: .15em;
    width: 90%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    margin: 0 auto 0 0;
    margin-bottom: 4vh;
}

p.name span.small {
    display: inline-block;
    font-size: 1rem;
}

.ct_r ul {
    padding: 0 9vh 0 0;
}

.ct_r ul li {
    list-style: none;
    font-size: 1.2rem;
    padding-bottom: 1em;
    padding-left: 1em;
    text-indent: -1em;
    color: #005e78;
}


.greeting_inner {
    padding: 10vh 0;
    width: 80%;
    margin: 0 auto;
}

.greeting h3,
.ps h3,
.cou_massage h3 {
    color: #005e78;
    text-align: center;
    font-size: 2.6rem;
    margin-bottom: 5vh;
    letter-spacing: .15em;
}

.greeting p {
    font-size: 1.2rem;
    text-align: center;
    color: #005e78;
}

.ps_inner {
    padding: 10vh 0 14vh;
    width: 80%;
    margin: 0 auto;
}

.ps p {
    font-size: 1.2rem;
    text-align: center;
    color: #005e78;
}

.con_background {
    display: flex;
}

.con_background>div {
    flex: 1;
}

.con_background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cou_massage {
    text-align: center;
}

.cm_inner {
    padding: 7vh 0;
    width: 60%;
    margin: 0 auto 14vh;
    border: 1px solid #005e78;
    outline: 1px solid #005e78;
    outline-offset: -9px;
}

.cou_massage h4 {
    color: #005e78;
    font-size: 1.35rem;
    margin-bottom: 5vh;
    letter-spacing: .1em;
    font-weight: 600;
}

.cou_massage p {
    font-size: 1.2rem;
    text-align: center;
    color: #005e78;
}

p.c_name {
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: .15em;
    font-weight: 600;
    margin-top: 2vw;
    padding-right: 3vw;
}

.cou_massage p.c_name img {
    width: 19%;
    position: relative;
    top: 0.5em;
    padding-right: 0.5em;
}

/*---------------------------------------------------------
料金プラン
---------------------------------------------------------*/
.pt_inner {
    margin: 10vh auto 9vh;
    width: 70%;
}

section.plan_type h2,
section.plan_table h2,
.eg_inner h2 {
    color: #005e78;
    text-align: center;
    font-size: 3rem;
    margin-bottom: 7vh;
    letter-spacing: 0.15em;
}

section.plan_type h2 span,
section.plan_table h2 span,
.eg_inner h2 span {
    font-size: 1.2rem;
    font-weight: bold;
}

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

.type_box.one,
.type_box.two {
    margin-bottom: 3vh;
}



.tb_l {
    width: 22%;
    text-align: center;
    background: #005e78;
    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;
    outline: 1px solid #fff;
    outline-offset: -8px;
}

.type_box h3 {
    color: #fff;
    font-size: 3vw;
    letter-spacing: .1vw;
    line-height: .8;
}

.type_box h3 span {
    font-size: 1.5rem;
}

.tb_r {
    background: #e0eef2;
    padding: 2vh 2vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 78%;
    position: relative;
}

.tb_r ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.tb_r li {
    background: #fff;
    width: 49.5%;
    list-style: none;
    padding: 1vh 1vh 0vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    color: #005e78;
    margin-bottom: 1.5vh;
    font-weight: bold;
    font-size: 1.2vw;
    letter-spacing: .1vw;
}

.tb_r span.elina {
    font-size: 1.8vw;
    padding-left: 0.2em;
    padding-right: 0.2em;
    font-weight: 400;
}

.tb_r span.notoserif {
    font-weight: 400;
}

ul.ctype li {
    width: 49.3%;
}

.tb_r p {
    font-size: 1.15vw;
    text-align: center;
    margin: .5vw auto .3vw;
}

.tb_r .link {
    text-align: right;
}

.tb_r .link a {
    right: 0;
    background: #005e78;
    color: #fff;
    text-decoration: none;
    padding: 0.5vh 0vh;
    position: absolute;
    bottom: 0;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 21%;
    text-align: center;
}

.tb_r .link a img {
    width: 7%;
    padding-left: 0.2em;
}

.common_plan h3 {
    text-align: center;
    font-size: 2rem;
    background: #005e78;
    color: #fff;
    padding: 0.5vh;
    margin-bottom: 3vh;
}

.common_plan ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.common_plan ul li {
    width: 24.5%;
    list-style: none;
    background: #e0eef2;
    color: #005e78;
    padding: 2vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.5rem;
    outline: 1px solid #005e78;
    outline-offset: -7px;
    border: 1px solid #005e78;
}

.common_plan span.elina {
    font-size: 2.5rem;
    padding-right: 1vh;
}

span.large {
    font-size: 2.25rem;
}

table.plan {
    margin-top: 10vh;
}

table.plan table,
table.plan td,
table.plan th {
    border: 1px solid #005e78;
    border-collapse: collapse;
}

table.plan {
    border-collapse: collapse;
    border-spacing: 0;
    border-color: #000;
    width: 100%;
}

table.plan td,
table.plan th {
    padding: 0.7em 0;
    width: 25%;
    height: 25px;
    text-align: center;
    background: #fff;
    color: #005e78;
    font-size: 1.3rem;
    vertical-align: middle;
}

table.plan td.course {
    text-align: center;
    font-size: 1.1rem;
    background: #005e78;
    color: #fff;
    position: relative;
    padding: 0.7em;
}

td.course.brw {
    vertical-align: top;
}

td.course.brw.B::before {
    content: "Recommend";
    color: #fff;
    top: -1.3vw;
    position: absolute;
    left: 5%;
    font-size: 1.3rem;
    padding: 3px 1vh;
    width: 90%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    letter-spacing: 2px;
    background: #59afc7;
    font-weight: bold;
}

span.en {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3rem;
}

td.course.brw {
    border-right: 1px solid #fff;
}

td.menu {
    text-align: center;
    font-size: 1.3rem;
    padding: 1vh;
    letter-spacing: 4px;
    background: #fff;
    color: #005e78;
}

td.menu,
td.b {
    background: #e0eef2 !important;
}

table.plan td.top {
    font-size: 1rem;
}

table.plan td.top {
    font-size: 1rem;
    padding: 1.5em 0;
    line-height: 2;
    position: relative;
}

table.plan td.top p {
    position: absolute;
    display: inline-block;
    padding: 0 5px;
    min-width: 72px;
    max-width: 100%;
    color: #fff;
    background: #59afc7;
    border-radius: 50px;
    text-align: center;
    top: 9vh;
    right: -2vh;
    z-index: 10;
}

table.plan td.top p::before {
    content: "";
    position: absolute;
    bottom: -21px;
    right: 55px;
    width: 0;
    height: 0;
    margin: 0 0 0 -15px;
    border-top: 28px solid #59afc7;
    border-left: 5px solid transparent;
    border-right: 9px solid transparent;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(35deg);
    transform: rotate(35deg);
    z-index: -1;
}

table.plan td.top p span {
    font-size: 0.8rem;
}

table.plan td.top span.noto.number {
    margin-left: 0.2em;
}

table.plan span.bar {
    font-weight: bold;
    font-family: 'Noto Serif JP';
}

td.menu.off {
    background: #59afc7 !important;
    color: #fff;
}

span.noto.number.so {
    font-size: 1.5rem;
    font-weight: 700;
}

span.elina.so {
    letter-spacing: 0.1em;
    font-weight: 700;
    font-size: 1.5rem;
}

span.notoserif.so {
    font-size: 1.5rem;
    font-weight: 600;
}

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

p.initialcost {
    font-size: 1.3rem;
    background: #e0eef2;
    padding: 1vh 0;
    color: #005e78;
    letter-spacing: 0.1vw;
}

ul.notes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    width: 71%;
    margin: 3vh auto 0;
}

ul.notes li {
    width: 50%;
    list-style: none;
    display: inline-block;
    text-align: left;
    font-size: 1vw;
}

.non-member {
    margin-top: 7vh;
}

.non-member h3 {
    text-align: center;
    font-size: 2rem;
    background: #005e78;
    color: #fff;
    padding: 0.5vh;
    margin-bottom: 3vh;
}

.non-member table {
    width: 100%;
}

.non-member td {
    border: 1px solid #005e78;
}

.non-member td.menu {
    width: 75%;
}

.non-member td.price {
    text-align: center;
}

section.plan_table p.notes {
    text-align: center;
    margin-top: 3vh;
    font-size: 1rem;
}

section.plan_table .campaign,
section.campaign .home.campaign {
    background: rgb(224 238 242 / 25%);
    padding: 0 0 2vh;
    text-align: center;
    outline: 1px solid #005e78;
    outline-offset: -9px;
    width: 100%;
    margin: 5vh auto 7vh;
    border: 1px solid #005e78;
}

section.campaign {
    margin: 10vh auto 10vh;
    width: 70%;
}

.home .campaign p.text {
    font-size: 1.3rem !important;
}


section.e-guidance {
    padding-bottom: 15vh;
    background: #e0eef2;
    padding-top: 10vh;
}

.eg_area {
    width: 70%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2vw;
    align-items: stretch;
}

.eg_box {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.eg_box h3 {
    text-align: center;
    font-size: 1.2vw;
    background: #005e78;
    color: #fff;
    padding: 0.5vh 0;
    margin: 0;
}

.eg_box ul,
.eg_box p {
    padding: 1vw 1vw;
    background: #fff;
    margin: 0 0 1.5vw;
}

.eg_box p {
    font-size: 1vw;
}

.eg_box ul li {
    list-style: none;
    font-size: 1vw;
    padding-left: 1em;
    text-indent: -1em;
}

.eg_box ul.document {
    flex: 1;
}

.eg_box p.co {
    margin-top: auto;
}

.eg_box p.henkin,
.eg_box p.pay {
    flex: 1;
}




/*---------------------------------------------------------
会員データ
---------------------------------------------------------*/
section.page_mv.data {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/03/data-header.jpg);
    background-position: right 0 bottom 22%;
}

.data_inner.page {
    margin: 10vh auto 15vh;
    width: 70%;
}

section.data_area h2 {
    color: #005e78;
    text-align: center;
    font-size: 2.6rem;
    margin-bottom: 7vh;
    letter-spacing: 0.15em;
}

section.data_area h2 span.small {
    font-size: 1.2rem;
    font-weight: bold;
}

section.data_area .sub_copy p {
    text-align: center;
    font-size: 1.3rem;
}

section.data_area .toc ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 0vh;
    margin-top: 7vh;
}

section.data_area .toc ul li {
    width: 49.5%;
    margin-bottom: 1vh;
    list-style: none;
}

section.data_area .toc ul li a {
    height: 3.5vw;
    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;
    background: #005e78;
    color: #fff;
    font-size: 1.8rem;
    text-decoration: none;
}

section.data_area .toc ul li a span.elina {
    padding-right: 1vh;
    font-size: 2rem;
}

.age_group {
    margin-top: 10vh;
}

.age_group h3 {
    background: #bed6dc;
    color: #005e78;
    text-align: center;
    font-size: 2.2rem;
    padding: 0.5vh;
}

.age_group h3 span {
    font-size: 2.6rem;
    padding-right: 0.2em;
}

.data_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 5vh 0 2vh;
}

.db_l,
.db_r {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 49.5%;
}

.db_l h4.man {
    width: 99%;
    text-align: center;
    font-size: 1.8rem;
    background: #005e78;
    color: #fff;
    margin-bottom: 1.5vh;
}

.db_r h4.woman {
    width: 99%;
    text-align: center;
    font-size: 1.8rem;
    background: #990000;
    color: #fff;
    margin-bottom: 1.5vh;
}

.data_box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 99%;
}

.data_box ul li {
    width: 49%;
    list-style: none;
    text-align: center;
    background: #e0eef2;
    padding: 3vh 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.6rem;
    height: 22vh;
}

.data_box ul li.top {
    margin-bottom: 1.5vh;
}

.data_box ul li .img {
    height: 40%;
    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%;
}

.data_box img.one {
    width: 16%;
}

.data_box img.two {
    width: 13%;
}

.data_box img.three {
    width: 18%;
}

.data_box img.four {
    width: 14%;
}

.data_box ul li .p {
    padding: 1vh;
    line-height: 1.6;
    color: #005e78;
}

.data_box ul li .p span.elina {
    font-size: 2rem;
    padding-right: 0.4rem;
}

.matchmaking_n {
    width: 100%;
}

.matchmaking_n h5 {
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
    color: #005e78;
    margin-top: 2vh;
    line-height: 1.6;
    margin-bottom: 1vh;
}

.mm_box {
    background: #e0eef2;
    width: 98.6%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.mm_box.one {
    padding: 6vh 8vh 5vh;
}

.mm_box.mt.two,
.mm_box.mt.three {
    padding: 2vh 15vh 5vh;
}

.mm_box p {
    position: absolute;
    bottom: -2vh;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 1.4rem;
    color: #005e78;
}

.mm_box p.top {
    position: absolute;
    top: 1vh;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    font-size: 1.4rem;
    color: #005e78;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.mm_box p.bottom {
    position: absolute;
    bottom: -2vh;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 1.4rem;
    color: #005e78;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.mm_box p span {
    font-size: 1.8rem;
}

.mm_box.one,
.mm_box.mt.two,
.mm_box.left.one {
    margin-top: 1.5vh;
}

p.among {
    text-align: center;
    font-size: 1.5rem;
    color: #005e78;
}

.age_group .rbs {
    text-align: center;
}

.matchmaking_n_area {
    width: 100%;
}

.matchmaking_n_area h5 {
    text-align: center;
    font-size: 1.8rem;
    color: #ffffff;
    line-height: 1.6;
    margin-bottom: 2vh;
    background: #005e78;
    padding: 1vh 0 0.5vh;
}

.matchmaking_n_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.mm_box.left {
    margin: 0 0 0 auto;
}

.mm_box.mt.left.two {
    margin: 1.5vh 0 0 auto;
}

.data_massage {
    background: #e0eef2;
    color: #005e78;
    padding: 2vh 2em 5vh;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    margin-top: 7vh;
    outline: 1px solid #005e78;
    outline-offset: -9px;
}

.data_massage h3 {
    font-size: 3rem;
    color: #005e78;
    letter-spacing: 0.2rem;
    margin-bottom: 2vh;
}

.data_massage p {
    font-size: 1.2rem;
}

/*---------------------------------------------------------
ご成婚者様の声一覧
---------------------------------------------------------*/
main.site-main.voice-archive-page,
main.site-main.voice-archive-page * {
    font-family: "noto-serif-jp", serif;
}

.voice-archive .voice-inner {
    width: 55%;
    margin: 0 auto;
    padding: 3vw 0 4vw;
}



.voice-archive-lead {
    margin-bottom: 3vw;
    font-size: 1.1vw;
    line-height: 2.2;
    text-align: center;
}

.voice-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5vw;
}

.voice-card {
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0.5vw 1.5vw rgba(0, 0, 0, .06);
    transition: transform .2s ease, box-shadow .2s ease;
    display: flex;
    flex-direction: column;
}

.voice-card:hover {
    -webkit-transform: translate(0, 2px);
    -ms-transform: translate(0, 2px);
    transform: translate(0, 2px);
    opacity: .6;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}

.voice-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.voice-card__thumb {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #f3f3f3;
    overflow: hidden;
    flex: 0 0 auto;
}

.voice-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.voice-card__thumb--dummy {
    width: 100%;
    height: 100%;
    background: #f3f3f3;
}

.voice-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: .6vw;
}

.voice-card__meta {
    margin: 0;
    font-size: 1.4vw;
    line-height: 1.6;
    opacity: .88;
}

.voice-card__title {
    margin: 0;
    font-size: 1vw;
    line-height: 1.6;
    padding: 0 1vw;

    min-height: calc(1.6em * 2);

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.voice-card__more {
    margin-top: auto;
    background: #005e78;
    color: #fff;
    text-align: center;
    border-radius: 50px;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    font-size: .9vw;
    margin-bottom: 1vw;
}

.voice-pagination {
    margin-top: 3vw;
    display: flex;
    justify-content: center;
}

.voice-empty {
    margin: 0;
    font-size: 1.5vw;
    line-height: 1.8;
}

.voice-pagination {
    margin-top: 3vw;
    display: flex;
    justify-content: center;
}

.voice-pagination .navigation.pagination {
    width: 100%;
    display: flex;
    justify-content: center;
}

.voice-pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1vw;
    flex-wrap: wrap;
}

.voice-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: .5vw;
    height: 2.5vw;
    padding: 0 1.5vw;
    border-radius: .2vw;
    border: 1px solid #005e78;
    text-decoration: none;
    font-size: 1.1vw;
    line-height: 1;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
    color: #005e78;
}

.voice-pagination .page-numbers:hover {
    background: rgba(0, 0, 0, .06);
    border-color: #005e78;
}

.voice-pagination .page-numbers.current {
    background: #005e78;
    border-color: #005e78;
    color: #fff;
}

.voice-pagination .page-numbers.next {
    padding: 0 1vw;
}




/*---------------------------------------------------------
ご成婚者様の声個別
---------------------------------------------------------*/
main.site-main.voice-single-page,
.single .breadcrumb,
.post-type-archive-voice .breadcrumb {
    font-family: "noto-serif-jp", serif;
}

.single .breadcrumb,
.post-type-archive-voice .breadcrumb {
    font-weight: 400;
}

.single section.page_mv.voice,
.archive section.page_mv.voice {
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/03/data-header.jpg);
    background-position: right 0 bottom 22%;
    margin-top: 0;
    height: 30vh;
    background-size: cover;
}

.single section.page_mv.voice p.title,
.archive section.page_mv.voice p.title {
    font-size: 4vw;
    color: #005e78;
    text-align: center;
    letter-spacing: .15em;
    position: relative;
    top: 4vh;
}

.voice-single-page .voice-inner {
    width: 55%;
    margin: 0 auto;
    padding: 3vw 0 4vw;
}

.voice-back {
    margin: 0 0 1vw;
}

.voice-back a {
    text-decoration: none;
}

.voice-title,
h1.voice-archive-title {
    margin: 0 0 1vw;
    padding: 1.5vw 1vw;
    margin-bottom: 1.5vw;
    border-top: 1px solid #005e78;
    border-bottom: 1px solid #005e78;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    color: #005e78;
    letter-spacing: .1vw;
}

.voice-title {
    font-size: 1.6vw;
}

h1.voice-archive-title {
    font-size: 1.8vw;
}

.voice-meta-line {
    margin: 0 0 1.5vw;
    font-size: 1.4vw;
    line-height: 1.6;
    opacity: .92;
    text-align: center;
    color: #005e78;
    font-weight: 500;
}

.voice-meta-slash {
    margin: 0 0.5vw;
    opacity: .7;
}

.voice-slider {
    position: relative;
    overflow: hidden;
    background: #f3f3f3;
    margin: 1.5vw 0 1vw;
}

.voice-slider__track {
    display: flex;
    transition: transform .35s ease;
    will-change: transform;
}

.voice-slide {
    min-width: 100%;
}

.voice-slide img {
    width: 100%;
    height: auto;
    display: block;
}

.voice-slider__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 4vw;
    height: 4vw;
    border-radius: 999px;
    border: unset;
    background: rgb(255 255 255 / 22%);
    cursor: pointer;
    display: block;
}


.voice-slider__btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.7vw;
    height: 0.7vw;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translate(-50%, -50%) rotate(225deg);
}


.voice-slider__btn--next::before {
    transform: translate(-77%, -50%) rotate(45deg);
}


.voice-slider__btn--prev {
    left: 1vw;
}

.voice-slider__btn--next {
    right: 1vw;
}

.voice-slider__dots {
    position: absolute;
    left: 50%;
    bottom: 1vw;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5vw;
    padding: 0;
    margin: 0;
    width: auto;
}

.voice-slider__dot {
    width: .5vw;
    height: .5vw;
    border-radius: 999px;
    background: rgba(255, 255, 255, .55);
}

.voice-slider__dot.is-active {
    background: #fff;
}

.voice-section {
    margin-top: 2vw;
}

.voice-heading {
    margin-bottom: 1.5vw;
    font-size: 1.5vw;
    background: #005e78;
    display: inline-block;
    color: #fff;
    width: 100%;
    letter-spacing: .15em;
    padding: .5vw 1vw;
    text-align: center;
    box-sizing: border-box;
}

.voice-text {
    font-size: 1.1vw;
    line-height: 2.2;
    font-weight: 400;
}

.voice-text p {
    margin-bottom: 1.5em;
}

.voice-text p:last-of-type {
    margin-bottom: 0;
}

.voice-related {
    margin-top: 3vw;
}

.voice-related__title {
    margin-bottom: 2.5vw;
    font-size: 1.6vw;
    padding: 1vw 1vw;
    border-top: 1px solid #005e78;
    border-bottom: 1px solid #005e78;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    color: #005e78;
}

.voice-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5vw;
}

.voice-card {
    display: block;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0.5vw 1.5vw rgba(0, 0, 0, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}


.voice-card__thumb {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #f3f3f3;
    overflow: hidden;
}

.voice-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.voice-card__thumb--dummy {
    width: 100%;
    height: 100%;
    background: #f3f3f3;
}

.voice-card__meta {
    font-size: 1.15vw;
    background: #005e78;
    text-align: center;
    color: #fff;
    padding: .5vw 0;
    letter-spacing: .1vw;
}

.voice-card__name {
    margin: 0;
    font-size: 1vw;
    padding: 0 1vw;
}

section.voice-related p.voice-card__more {
    font-size: .75vw;
}

.voice-related__more {
    margin-top: 2.5vw;
    text-align: center;
}

.voice-related__moreLink {
    color: #ffffff;
    text-decoration: none;
    font-size: 1.3vw;
    background: #005e78;
    padding: .5vw 0;
    outline: 1.5px solid #ffffff;
    outline-offset: -5px;
    width: 50%;
    display: inline-block;
}

a.voice-card:hover,
.voice-related__moreLink:hover {
    -webkit-transform: translate(0, 2px);
    -ms-transform: translate(0, 2px);
    transform: translate(0, 2px);
    opacity: .6;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}

section.voice-related .voice-card__meta {
    font-size: 1.05vw;
    background: #005e78;
    text-align: center;
    color: #fff;
    padding: .3vw 0;
    letter-spacing: .1vw;
}


/*---------------------------------------------------------
よくある質問
---------------------------------------------------------*/


section.page_mv.qa {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/03/qa-header.jpg);
    background-position: right 0 bottom 39%;
}

.qa_inner {
    margin: 10vh auto 15vh;
    width: 60%;
}

section.qa .toc ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 7vh;
}

section.qa .toc ul li {
    width: 49.5%;
    margin-bottom: 1vh;
    list-style: none;
}

section.qa .toc ul li a {
    height: 3vw;
    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;
    background: #e0eef2;
    background: #005e78;
    /* color: #005e78; */
    color: #fff;
    font-size: 1.2rem;
}

.qa_box.mt {
    margin-top: 3vh;
}

section.qa h2 {
    color: #005e78;
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 5vh;
    letter-spacing: .15em;
}

.qa dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.qa dt {
    color: #005e78;
    font-weight: 600;
    width: 100%;
    padding: 1vw;
    padding-left: 4.8em;
    text-indent: -4.8em;
    font-size: 1.2rem;
    line-height: 1.6;
    background: #e0eef2;
}

.qa dt span.qa,
.qa dd span.qa {
    color: #005e78;
    padding: 1vw;
    margin-right: 1vw;
    margin-left: 1vw;
    font-size: 1.4rem;
    font-weight: bold;
}

.qa dd {
    width: 100%;
    padding: 1vw;
    margin-bottom: 2vw;
    background: #fff;
    padding-left: 4.8em;
    text-indent: -4.8em;
    border-radius: 0 0 5px 5px;
    font-size: 1.2rem;
    line-height: 1.8;
}

.qa a {
    color: #005e78;
    text-decoration: none;
}

qa_box {
    margin-top: -100px;
    padding-top: 100px;
}

/*---------------------------------------------------------
アクセス
---------------------------------------------------------*/
section.page_mv.access {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/11/ac-header2.jpg);
    background-position: right 0 bottom 0%;
}

.office_inner,
.route_inner {
    margin: 10vh auto 15vh;
    width: 70%;
}

.office_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-top: 10vh;
    margin-bottom: 7vh;
}

.ob_left {
    width: 45%;
}

section.office p.lm {
    width: 100%;
    text-align: center;
}

section.office p.lm img {
    width: 55%;
}

section.office hr {
    border-bottom: 1.5px solid #005e78;
}

section.office p.address {
    font-size: 1.2rem;
    text-align: center;
    margin-top: 1em;
}

section.office p.address span.bg {
    background: #005e78;
    color: #fff;
    padding: 0.3em 0.5em 0.2em;
    margin-right: 0.5em;
    line-height: 1;
    display: inline-block;
    font-size: 1.1rem;
}

.office_box .text_wrap {
    margin-top: 2em;
}

.office_box .text_wrap p {
    font-size: 1.1rem;
}

.ob_right {
    width: 48%;
}


ul.slide.sp_block.slick-initialized.slick-slider,
ul.slide-navigation.sp_block {
    display: none;
}

/* slide */

.slick-slider {
    line-height: 0;
}

.slide {
    position: relative;
    margin: 0;
    padding: 0;
}

.slide .item {
    position: relative;
    height: 100%;
}

.slide .item::before {
    display: block;
    content: "";
    position: relative;
    overflow: hidden;
}

.slide .item img {
    /*   position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0; */
    margin: auto;
    width: 100%;
    height: 100%;
    vertical-align: top;
}

.slide>.slick-list,
.slide>.slick-list>.slick-track,
.slide>.slick-list>.slick-track>.slick-slide>div {
    position: relative;
    height: 100%;
}

.slide p.title {
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(0 94 120 / 90%);
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 1.1rem;
    padding: 0.2em 0 0.1em;
    letter-spacing: 0.1em;
    line-height: 1.8;
}

/* slide-navigation */

.slide-navigation {
    position: relative;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    top: -1px;
}

.slide-navigation .item {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    width: 33.3%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.slide-navigation .item::before {
    display: block;
    padding-top: 70%;
    content: "";
}

.slide-navigation .item img {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    vertical-align: top;
}

.slide-navigation .current::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 0.5;
    background: #000;
}


.access_wrap {
    text-align: center;
}



section.office h2 {
    font-size: 5rem;
    text-align: center;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-style: normal;
    color: #005e78;
    line-height: 1.3;
}

.access_wrap ul li {
    list-style: none;
    font-size: 1.2rem;
    margin-bottom: 0.5em;
}

.gmap {
    height: 20vw;
    margin: 1em auto;
    width: 70%;
}

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

.access_wrap ul {
    padding: 2.5em 2em 2em;
    position: relative;
    /*     outline: 1px solid #005e78;
    outline-offset: -9px;
    border: 1px solid #005e78; */
    width: 70%;
    margin: 0 auto;
}

.roure_under {
    margin: 5em 0;
}

section.route h3 {
    text-align: center;
    font-size: 1.3rem;
    margin-bottom: 1em;
    background: #005e78;
    color: #fff;
    padding: 0.2em 0;
}

ul.roure_under_wrap,
ul.roure_up_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    counter-reset: number 0;
}

ul.roure_under_wrap li,
ul.roure_up_wrap li {
    width: 24%;
    list-style: none;
}

ul.roure_under_wrap li.mt,
ul.roure_up_wrap li.mt {
    margin-top: 1em;
}

ul.roure_under_wrap li img,
ul.roure_up_wrap li img {
    vertical-align: text-top;
}

ul.roure_under_wrap li p,
ul.roure_up_wrap li p {
    margin-top: 0.2em;
    line-height: 1.6;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    position: relative;
    padding-left: 1.3em;
    text-indent: 0;
}

ul.roure_under_wrap li p::before,
ul.roure_up_wrap li p::before {
    background: #005e78;
    color: #fff;
    border-radius: 50%;
    font-size: .85rem;
    counter-increment: number 1;
    content: "" counter(number);
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    height: 1.3em;
    width: 1.3em;
    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;
    position: absolute;
    left: 0;
    top: 0.17em;
}

/*----------------------------------------------------
サイドバー
---------------------------------------------------------*/


.sidebar-wrapper {
    margin-bottom: 3rem;
}

.sidebar-inner {
    margin-top: 7vh;
}

.sidebar-title {
    font-size: 1.1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 0 1.2rem;
    padding: .5rem;
    color: #333;
    border-bottom: 2px solid #005e78;
    border-image-slice: 1;
}

.widget_recent_entries li a:before {
    display: none;
}

.widget_recent_entries li a {
    padding-left: .5rem;
}

/*デフォルトウィジェット*/
.widget_recent_entries ul,
.widget_meta ul,
.widget_recent_comments ul,
.widget_pages ul,
.widget_meta ul,
.widget_categories ul,
.widget_archive ul,
.widget_nav_menu ul,
.calendar_wrap,
.tagcloud {
    list-style: none;
}

.widget_recent_entries li,
.widget_meta li,
.widget_recent_comments li,
.widget_pages li,
.widget_meta li,
.widget_archive li,
.widget_nav_menu li {
    position: relative;
    margin-bottom: .5rem;
}

.widget_recent_entries a,
.widget_meta a,
.widget_recent_comments a,
.widget_pages a,
.widget_meta a,
.widget_categories a,
.widget_archive a,
.widget_nav_menu a {
    text-decoration: none;
    color: #333;
}

.sidebar-wrapper a:hover {
    opacity: .6;
}

.sidebar-title {
    padding: 0 0 0.5em;
}

/*カテゴリウィジェット*/
.widget_categories li {
    display: block;
    margin-bottom: .5rem;
}

.widget_categories li a {
    font-size: .95rem;
    position: relative;
    display: block;
    padding: .9rem .6rem .9rem 2rem;
    color: #fff;
    background: #fc0000;
}

.widget_categories li a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: .6rem;
    content: '\f02b';
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
}

.widget_categories .children {
    margin-bottom: .5rem;
    padding: 0;
    padding-left: 1rem;
    background-color: #415671;
}

.widget_categories .children li {
    margin-bottom: 0;
}

.widget_categories .children li a {
    font-size: .9rem;
    background-color: transparent;
}

.widget_categories .children li a::before {
    position: absolute;
    top: 50%;
    left: .6rem;
    content: '∟';
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
}

/*カテゴリウィジェットとアーカイブウィジェットのドロップダウン表示*/
.widget_categories .screen-reader-text {
    display: none;
}

.widget_archive .screen-reader-text {
    position: relative;
    display: block;
    height: 0;
    text-indent: -9999999px;
}

.widget_categories form {
    position: relative;
}

.widget_categories form::after {
    position: absolute;
    top: 50%;
    right: 1rem;
    content: '▼';
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
}

.widget_categories .postform,
.widget_archive select {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    ;
    font-size: .95rem;
    width: 100%;
    padding: 4px 10px;
    cursor: pointer;
    border: 0.5px solid #333;
    border-radius: 0;
    background-color: #ffffff;
    -webkit-appearance: none;
    -moz-appearance: none;
}


.widget_archive label::after {
    position: absolute;
    top: 4px;
    right: 1rem;
    content: '▼';
    text-indent: 0;
    pointer-events: none;
    color: #d7bd96;
}

/*タグウィジェット*/
.tagcloud a {
    font-size: .9rem !important;
    line-height: 1;
    position: relative;
    display: inline-block;
    margin-bottom: .5rem;
    padding: 0.2rem 0.5rem;
    text-decoration: none;
    color: #03162f;
    border: 1px solid #000;
    background-color: #fff;
}

/*メニューウィジェット*/
.widget_nav_menu li a {
    font-size: 1rem;
    font-weight: bold;
    position: relative;
    padding-left: 1.3rem;
    color: #333;
}

.widget_nav_menu li a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 0;
    content: '\f105';
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #03162f;
}

/*最新のお知らせ*/
.widget_recent_entries li {
    padding-bottom: .5rem;
    border-bottom: 1px solid #005e78;
}


.widget_recent_entries li a {
    display: block;
    margin-bottom: .3rem;
}

.widget_recent_entries .post-date {
    font-size: .8rem;
    display: block;
    text-align: right;
}

#category-posts-2-internal .cat-post-item .cat-post-title {
    padding-left: 0.5em;
    color: #333;
    text-decoration: none;
    font-size: 1rem;
}

#category-posts-2-internal span.cat-post-date.post-date {
    text-align: right;
    display: block;
    font-size: 0.8rem;
}

#category-posts-2-internal .cat-post-item {
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid #005e78;
    margin-bottom: 0.5rem !important;
}

/*カレンダーウィジェット*/
.calendar_wrap {
    padding: 1rem;
    border: 1px solid #ddd;
}

.calendar_wrap table {
    width: 100%;
}

.calendar_wrap tbody {
    text-align: center;
}

.calendar_wrap caption {
    font-weight: bold;
    margin-bottom: 1rem;
}

.calendar_wrap td {
    padding: .3rem 0;
}

.calendar_wrap tfoot td {
    padding-top: .7rem;
}

.calendar_wrap tfoot td:last-child {
    text-align: right;
}

.textwidget.custom-html-widget section.sns a {
    text-decoration: none;
    width: 100%;
}

.textwidget .sns {
    margin-bottom: 1em;
}

.textwidget.custom-html-widget section.sns {
    padding-top: 0;
}

ul#npcatch li {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#npcatch figure {
    width: 30%;
}

#npcatch figure img {
    width: 100%;
}

ul#npcatch a {
    color: #333;
    text-decoration: none;
    border-bottom: 0.5px solid #333;
}

.detail {
    width: 70%;
    color: #333;
    text-decoration: none;
}

.detail .title {
    font-size: 1rem;
    font-weight: 500;
}

span.date {
    float: right;
    position: relative;
    font-size: 0.9rem;
    right: 0.5em;
}

/*読まれているブログ*/
.tptn_posts li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    padding-bottom: 1rem;
    border-bottom: 1px solid #005e78;
    margin-bottom: 1rem;
}

.tptn_posts li a.tptn_link {
    width: 25%;
    text-decoration: none;
    color: #333;
}

.tptn_posts li a img {
    width: 100%;
    height: auto;
    vertical-align: top;
}

.tptn_posts span.tptn_after_thumb {
    width: 72%;
    display: block;
}

.tptn_posts span.tptn_after_thumb a span.tptn_title {
    display: block;
    width: 100%;
    font-size: 1rem;
}

.tptn_posts span.tptn_date {
    width: 100%;
    display: block;
    text-align: right;
    font-size: 0.8rem;
    position: absolute;
    bottom: 1em;
    left: -0.5em;
}

.container.information div#widget_tptn_pop-2 {
    display: none;
}


/*---------------------------------------------------------
記事一覧
---------------------------------------------------------*/
section.page_mv_info {
    background-image: URL(https://cura-endless.co.jp/wp-content/uploads/2021/10/rokugoubashi.jpg);
    background-size: cover;
    height: 60vh;
    background-size: cover;
    background-position: right 0 bottom 39%;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
    border-top: 10px solid #09337b;
    border-bottom: 10px solid #fc0000;
}

section.page_mv_works {
    background-image: URL(https://cura-endless.co.jp/wp-content/uploads/2021/10/kibounokakehasi.jpg);
    background-size: cover;
    height: 60vh;
    background-size: cover;
    background-position: right 0 bottom 39%;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
    border-top: 10px solid #09337b;
    border-bottom: 10px solid #fc0000;
}

section.page_mv_info p,
section.page_mv_works p {
    right: 0;
    bottom: -10px;
    -webkit-background-clip: text;
    color: transparent;
    background-image: -o-linear-gradient(45deg, rgb(255 255 255 / 70%) 0, rgb(125 167 220 / 80%) 46%, rgb(252 0 0 / 80%) 100%);
    background-image: linear-gradient(45deg, rgb(255 255 255 / 70%) 0, rgb(125 167 220 / 80%) 46%, rgb(252 0 0 / 80%) 100%);
    z-index: 0;
    letter-spacing: 0.05em;
    font-weight: 800;
    font-style: italic;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 11rem;
    position: absolute;
    -webkit-transform: translate(0%, 50%);
    -ms-transform: translate(0%, 22%);
    transform: translate(0%, 22%);
}

section.page_mv_info h1,
section.page_mv_works h1 {
    text-shadow: 5px 5px 5px #7d7d7d;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 3.5rem;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: .3em;
}

/* body.blog .container,
.archive .container {
    width: 80%;
    margin: 100px auto;
} */

.blog .archive-top h2,
.post-type-archive-infomation .archive-top h2 {
    border-bottom: 5px solid #3f51b5 !important;
}

.blog .archive-top h2,
.archive.date h1,
.post-type-archive-infomation .archive-top h2 {
    position: relative;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    border-image-slice: 1;
    padding: .5rem .5rem 1rem .5rem;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 5px;
}

.blog h1 {
    text-shadow: 5px 5px 5px #7d7d7d;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 3.5rem;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: .3em;
}

.category .archive-top h2,
.category .archive h1 {
    position: relative;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    border-bottom: 4px solid #ffffff;
    border-image-slice: 1;
    padding: .5rem .5rem 1rem .5rem;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 5px;
}

article.article-content h1 {
    border-bottom: 2px solid #005e78;
    position: relative;
    font-size: 2rem;
    margin-bottom: 0.5em;
    border-image-slice: 1;
    padding: 0 0 0.2em 0;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 5px;
}

.category .archive-top h2,
.category .archive h1 {
    border-bottom: 4px solid #fc0000;
}

.archive-top p {
    font-size: .875rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

body.blog .article-list,
.category .article-list,
.archive .article-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 1em;
    padding-top: 1em;
    border-bottom: 0.5px solid #888;
}

.article-list a {
    width: 40%;
    display: contents;
    text-decoration: none;
    color: #fff;
}

body.blog .article-list a:after,
.category .article-list a:after,
.archive .article-list a:after {
    display: block;
    clear: both;
    content: '';
}

body.blog .article-list .img-wrap,
.category .article-list .img-wrap,
.archive .article-list .img-wrap {
    position: relative;
    float: left;
    line-height: 1;
    width: 40%;
    height: 200px;
}

body.blog .article-list .img-wrap img,
.category .article-list .img-wrap img,
.archive .article-list .img-wrap img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
    width: 100%;
}

body.blog .article-list .img-wrap .cat-data,
.category .article-list .img-wrap .cat-data,
.archive .article-list .img-wrap .cat-data {
    font-size: .75rem;
    position: absolute;
    top: 4px;
    left: 4px;
    padding: .3rem .5rem;
    color: #fff;
    border-radius: 50px;
    background-color: #c9a673;
}

body.blog .article-list .text,
.category .article-list .text,
.archive .article-list .text {
    width: 70%;
    padding: 15px 18px;
}

body.blog .article-list .text a,
.category .article-list .text a,
.archive .article-list .text a {
    width: 100%;
}

body.blog .article-list .text h2,
.category .article-list .text h2,
.archive .article-list .text h2 {
    font-size: 1.15rem;
    margin-bottom: .5rem;
    font-weight: 500;
}


body.blog .article-list .text .article-date,
.category .article-list .text .article-date,
.archive .article-list .text .article-date {
    margin-right: .5rem;
    float: right;
    font-size: 1rem;
    font-weight: normal;
    padding-top: 5px;
}

body.blog .article-list .text .article-author i,
.category .article-list .text .article-author i,
.archive .article-list .text .article-author i {
    margin-right: .3rem;
}

body.blog .article-list .text p,
.category .article-list .text p,
.archive .article-list .text p {
    font-size: 1rem;
    line-height: 1.7;
    padding-top: 3em;
}

body.blog ul.post-categories,
.category ul.post-categories,
.archive ul.post-categories {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    float: left;
    padding-right: 0.5em;
}

body.blog ul.post-categories li,
.category ul.post-categories li,
.archive ul.post-categories li {
    list-style: none;
    font-size: 0.8rem;
    position: relative;
    margin: 0 0.5em 0 0;
    top: 2px;
    background: #fc0000;
    padding: 3px 10px;
    border-radius: 4px;
    font-weight: 500;
}

span.article-date {
    color: #333;
}

.infomation .text p {
    color: #333;
}

/*ページネーション*/
/* .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: .5rem .9rem;
  border: 1px solid #09337b;
}

i.fas.fa-angle-right,
i.fas.fa-angle-left {
  color: #3a6dcf;
}

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

.pagination ul li a {
  text-decoration: none;
  color: #333;
}

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

.pagination .current {
  color: #fff;
  background-color: #09337b;
} */

.page-id-59 .container {
    padding: 50px 0;
}

.post-list_inner {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    margin-bottom: 20px;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}

.post-list_inner:hover {
    border-bottom-color: transparent;
    -webkit-transform: translateY(0.2em);
    -ms-transform: translateY(0.2em);
    transform: translateY(0.2em);
    opacity: 0.6;
}

.post-list-thumb {
    width: 40%;
    position: relative;
}

span.category {
    position: absolute;
    top: 10px;
    z-index: 1000;
    left: 10px;
    background: #c29b61;
    border-radius: 50px;
    padding: 0px 10px;
    font-size: 0.8rem;
}

span.category a {
    color: #fff;
    text-decoration: none;
}

.post-list-meta.vcard {
    width: 60%;
    padding-bottom: 20px;
    position: relative;
    -webkit-box-shadow: 0px 1px 3px rgb(0 0 0 / 18%);
    box-shadow: 0px 1px 3px rgb(0 0 0 / 18%);
    border-radius: 0 4px 4px 0 / 0 4px 4px 0;
}

.post-list_text {
    padding: 15px 18px;
}

.post-list-meta.vcard h2 {
    font-size: 1.3rem;
    margin-bottom: 11px;
    line-height: 1.6rem;
    color: #333;
}

span.time {
    position: absolute;
    bottom: 3px;
    right: 12px;
    color: #aaa;
    letter-spacing: 1px;
    font-weight: 500;
}

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

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

.post-list-meta.vcard a {
    color: #333;
    text-decoration: none;
}

.post-list-thumb img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
    border-radius: 4px 0 0 4px / 4px 0 0 4px;
}


.home .container {
    padding-top: 0;
    margin-top: 0;
    width: 100%;
}

.blog .contents,
.archive .contents {
    width: calc(67.5% - 50.25px);
    float: left;
    margin-left: 30px;
    margin-bottom: 0;
}


/*---------------------------------------------------------
投稿・固定ページ
---------------------------------------------------------*/
/* .header-box,
.category .header-box {
    height: 30px;
    position: relative;
} */

.category .header-box {
    margin-top: 10.5vh;
}

.single .container,
.category .container {
    width: 70%;
    margin: 50px auto 100px;
}

.single .contents {
    width: calc(67.5% - 50.25px);
    float: left;
    margin-left: 30px;
    margin-bottom: 0;
}

.single span.article-date {
    display: block;
    text-align: right;
    color: #005e78;
    letter-spacing: 2px;
    font-size: 1rem;
    font-weight: 500;
}


.article-content {
    padding: 20px;
    padding-left: 0;
    padding-right: 10px;
    font-family: 'Noto Serif JP', serif;
}

.article-content span.cat-data ul {
    margin-left: 0;
    margin-bottom: 0;
    display: flex;
}

.article-content .cat-data li {
    font-size: .8rem;
    margin-right: .5rem;
    padding: .1rem .5rem;
    text-decoration: none;
    color: #fff;
    background: #005e78;
    list-style: none;
}

.article-content .article-info .article-date,
.article-content .article-info .article-author {
    font-size: .8rem;
    display: inline-block;
    margin-right: .5rem;
    color: #333;
}

.article-content .article-info .article-author i {
    margin-right: .3rem;
}

.article-content p,
.article-content b,
.article-content table,
.article-content ul,
.article-content ol {
    font-size: 1.2rem;
    line-height: 1.8;
    letter-spacing: 1px;
}

.article-content p,
.article-content img,
.article-content table,
.article-content ul,
.article-content ol {
    margin-bottom: 1rem;
}

.article-content h1 {
    font-size: 1.9rem;
    margin: 0 0 1rem;
    letter-spacing: 1px;
}

.article-content h2 {
    font-size: 1.7rem;
    margin: 1rem 0 1rem;
    padding: .4rem 0;
    letter-spacing: 1px;
    border-bottom: 2px solid #005e78;
}

.article-content h3 {
    font-size: 1.5rem;
    margin: 2.5rem 0 1.8rem;
    padding: 0 1rem;
    letter-spacing: 1px;
    border-left: solid 3px #005e78;
    background: transparent;
}

.article-content h4 {
    font-size: 1.3rem;
    margin: 2rem 0 1rem;
    letter-spacing: 1px;
}

.article-content h5 {
    font-size: 1.1rem;
    margin: 0 0 .3rem;
    letter-spacing: 1px;
}

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

.article-content .article-img img {
    display: block;
    margin: 0 auto;
}

.article-content ul {
    margin-left: 2rem;
    list-style: disc;
}

.article-content ol {
    margin-left: 2rem;
    list-style: decimal;
}

.article-content table {
    border-collapse: collapse;
}

.article-content th,
.article-content td {
    padding: .6rem;
    vertical-align: middle;
    border: 1px solid #ddd;
}

.article-content figure {
    max-width: 100%;
}

.article-tag {
    text-align: right;
}

.article-tag ul {
    font-size: 0;
    margin-bottom: 0;
}

.article-tag ul li {
    font-size: .9rem;
    display: inline-block;
    margin-right: .5rem;
    vertical-align: middle;
}

.article-tag ul li:last-child {
    margin-right: 0;
}

.article-tag ul li a {
    padding: .2rem .5rem;
    text-decoration: none;
    color: #000;
    border: 1px solid #000;
}

.article-tag ul li a:hover {
    opacity: .6;
}

/*記事下ページ前後*/
nav.page-nav {
    margin: 50px 0px 20px;
    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: 1px solid rgb(0 94 120 / 50%);
    -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: 10px 20px;
    font-weight: 500;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.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: 1px solid rgb(0 94 120 / 50%);
    -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: 10px 20px;
    font-weight: 500;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.page-nav .prev-link::before {
    content: "PREV";
    position: absolute;
    top: -12px;
    left: 10px;
    line-height: 1;
    font-weight: 700;
    color: #005e78;
    font-size: 1rem;
    font-weight: bold;
    font-family: "Cormorant Infant", serif;
    letter-spacing: 5px;
}

.page-nav .next-link::before {
    content: "NEXT";
    position: absolute;
    top: -12px;
    right: 10px;
    line-height: 1;
    font-weight: 700;
    color: #005e78;
    font-size: 1rem;
    font-weight: bold;
    font-family: "Cormorant Infant", serif;
    letter-spacing: 5px;
}

nav.page-nav a:hover {
    background: rgb(224 238 242 / 50%);
    border: 1px solid rgb(224 238 242 / 50%);
}

/* シェアボタン */
.share_wrap {
    margin-top: 2em;
}

.article-content p.share {
    margin-bottom: 0 !important;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .3em;
    font-family: 'Cormorant Garamond', serif;
    color: #005e78;
}

.share {
    margin-bottom: 40px;
}

.share ul {
    width: 100%;
    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: 33%;
    margin: 0;
}

.share li a {
    font-size: 0.9rem;
    display: block;
    padding: 0;
    text-align: center;
    text-decoration: none;
    -webkit-transition: ease-in-out, .2s;
    -o-transition: ease-in-out, .2s;
    transition: ease-in-out, .2s;
    border-radius: 3px;
    border: 1px solid #fff;
}

.share li a:visited {
    opacity: .7;
}

.facebook_share a {
    background-color: #005e78;
    color: #ffffff;
}

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

.share li a svg {
    top: 2px;
    position: relative;
}


.line_share a {
    background-color: #005e78;
    color: #ffffff;
}

.share li a:hover {
    opacity: 0.6;
}


.infomation a[href*="tel:"] {
    color: #333;
    text-decoration: none;
}

@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;
    }

    li.line_share a,
    li.facebook_share a {
        font-size: .6rem;
    }

    li.tweet_share a {
        font-size: 0.65rem;
    }
}

/*パンくずリスト*/
.breadcrumb {
    width: 80%;
    margin: auto;
    text-align: left;
    font-size: 0.6rem;
    padding: 10px;
    letter-spacing: 2px;
    font-size: 1rem;
}

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



/*---------------------------------------------------------
無料カウンセリング
---------------------------------------------------------*/

section.page_mv.fc {
    background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/03/fc-header.jpg);
    background-position: right 0 bottom 32%;
}

.fc_inner {
    width: 80%;
    margin: 0 auto;
    padding: 10vh 0 0;
}

section.fc h3 {
    margin-bottom: 2vh;
    text-align: center;
}

section.fc h3.one {
    font-size: 1.7rem;
    color: #005e78;
    border-bottom: 1.5px solid #005e78;
}

.fc_r {
    width: 45%;
}

section.fc p.text {
    font-size: 1.1rem;
}

section.fc p.text p.mb.sp_only {
    margin-bottom: 1em;
}

.page-id-79 .fc_area {
    margin-bottom: 5vh;
}

.access_link_wrap {
    margin-bottom: 4em;
    padding: 0 5vh;
}

.access_link_wrap p {
    color: #333;
    font-weight: 500;
    text-align: center;
    font-size: 1.3rem;
}

.access_link_wrap .home_button.n a {
    background: #9e9e9e;
    font-size: 1.4rem;
}

.booking_btm_area {
    padding: 5vh;
    background: #e0eef2;
}

section.fc p.cta {
    text-align: center;
    font-size: 1.3rem;
    color: #005e78;
    font-weight: bold;
}

section.fc .home_button {
    margin-top: 1vh;
}

section.fc .home_button.n a {
    width: 47%;
    padding: 1vh 0;
}

.contact_form {
    text-align: center;
}

.hcon_inner {
    width: 80%;
    margin: 0 auto;
}

.contact_form p.form_line {
    font-size: 1.4rem;
    margin-bottom: 5vh;
}

.home_button.line a {
    color: #fff;
    text-decoration: none;
    font-size: 1.6rem;
    background: #06c755;
    padding: 1vh 12vh;
    outline: 1.5px solid #fff;
    outline-offset: -5px;
    width: 34%;
    display: inline-block;
    letter-spacing: .1em;
}

.home_button.line a::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(https://lea-marriage.com/wp-content/uploads/2023/02/line-logo1.svg);
    background-size: contain;
    vertical-align: middle;
    padding-right: 1vh;
    background-repeat: no-repeat;
    position: relative;
    top: -4px;
}

.home_button.line {
    width: 80%;
    margin: 0 auto 7vh;
}

.contact_form h3 {
    font-size: 5rem;
    text-align: center;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-style: normal;
    color: #005e78;
    line-height: 1.3;
}

section.home_contact {
    background: #ffffff;
    padding-top: 7vh;
    padding-bottom: 10vh;
}



section.free_counseling p {
    font-size: 1.2rem;
}


/*　ContactForm7 */

.table-res-form {
    width: 960px;
    margin: 7vh auto 0;
}

.table-res-form tr {
    border-top: 1px #005e78 solid;
}

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


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

.table-res-form th {
    font-size: 1.2rem;
    width: 27%;
    text-align: right;
    vertical-align: top;
    color: #333;
}

.table-res-form .requied {
    font-size: .8em;
    color: #005e78;
    display: inline-block;
    padding: 0.3em 0.3em 0.2em;
    background: #e0eef2;
    border-radius: 2px;
}

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

.wpcf7 input,
.wpcf7 textarea {
    border: 0.5px solid #005e78 !important;
}

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

select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
    font-size: 1.2rem;
    font-family: 'Zen Old Mincho', serif;
    border: 1px solid #005e78;
    height: 50px;
    width: 100%;
}

td.f_left {
    text-align: left;
}

span.wpcf7-list-item-label {
    font-size: 1.2rem;
}

span.wpcf7-form-control.wpcf7-radio {
    position: relative;
    top: 8px;
}

form.wpcf7-form.init {
    background: #ffffff;
    width: 960px;
    margin: 0 auto;
}

.table-res-form tr:first-of-type {
    border-top: unset;
}

@media only screen and (max-width: 768px) {

    .table-res-form th,
    .table-res-form td {
        width: 100%;
        display: block;
    }

    .table-res-form th {
        padding-bottom: 0;
        text-align: left;
    }

    .table-res-form .empty {
        display: none;
    }
}

.table-res-form input[type="text"],
input[type="email"],
textarea,
.wpcf7 input[type="tel"] {
    padding: 0.5em;
    width: 100%;
    height: 2.5em;
    font-size: 1.2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'Cormorant Garamond', 'Zen Old Mincho', serif !important;
}


.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);
}

.table-res-form input[type="submit"] {
    position: relative;
    left: 4%;
    padding: 0.5em 4em;
    color: #fff;
    background: #005e78;
    font-weight: 500;
    font-size: 1.2rem;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    border: 1.5px solid #005e78 !important;
    font-family: 'Zen Old Mincho', serif;
    letter-spacing: 0.2em;
}

/*送信ボタン・マウスオーバー時スタイリング*/
.table-res-form input[type=submit]:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 1.5px solid #005e78 !important;
    background: #fff;
    color: #005e78;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 35vh;
    width: 100%;
}


.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #da648c !important;
}

.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
    border: 1px solid #da648c !important;
}

.wpcf7-not-valid-tip {
    font-size: 1.1em !important;
    font-weight: 500 !important;
    ;
}

p.pp {
    text-align: center;
    padding-bottom: 3vh;
}

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

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

.wpcf7 {
    background: #fff;
    font-size: 14px;
    margin: 0 0 2.5em !important;
    padding: 0;
    width: 100%;
}

/*ブログ*/
.p-page-header__title {
    font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

h1.p-entry__title {
    font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #790001;
}

/*---------------------------------------------------------
特徴法
---------------------------------------------------------*/

section.terms {
    margin: 15vh auto;
}

.terms_inner {
    width: 65%;
    margin: 0 auto;
}

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

.terms_table {
    border-bottom: 1px solid #48666f;
    width: 100%;

}

.terms_table tr {
    border-top: 1px solid #48666f;
}


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

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

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


/*---------------------------------------------------------
プライバシーポリシー
---------------------------------------------------------*/
section.page_mv.pp,
section.page_mv.te,
.single section.page_mv,
.category section.page_mv {
    margin-top: 10.5vh;
    height: 19vh;
    background: #e0eef2;
}

section.page_mv.pp h1,
section.page_mv.te h1,
.single section.page_mv h1,
.category section.page_mv h1 {
    top: -1vh;
}

.privacy_policy {
    width: 960px;
    margin: auto;
    margin-top: 100px;
    font-family: 'Noto Serif JP', serif;
}

.privacy_policy h1 {
    text-align: center;
    font-size: 2rem;
    font-weight: unset;
}

p.title_down {
    margin-top: 1.5em;
}

.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: #005e78;
    height: 2px;
    position: absolute;
    bottom: -1.5px;
    left: 0;
}

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

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

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

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

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

/*---------------------------------------------------------
TOPページ
---------------------------------------------------------*/
.home-top .article-top .img-wrap img {
    width: 600px;
    height: 400px;
}

.home-top .article-top .text {
    margin-left: 630px;
}

.home-top .article-top .new-post {
    font-weight: bold;
    display: block;
    margin-bottom: .5rem;
    color: #f00;
}

.home-top .article-top .text h2 {
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

.home-top .article-top .text .article-date,
.home-top .article-top .text .cat-data {
    margin-bottom: 1rem;
}




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

@media only screen and (max-width: 767px) {

    .pc_block {
        display: none;
    }

    .sp_block {
        display: inline-block;
    }

    br.ipad_only {
        display: none;
    }

    p {
        line-height: 1.7;
        text-align: justify;
    }

    .start {
        min-height: 100vh;
        min-height: calc(var(--vh, 1vh) * 100);
    }

    .start p {
        width: 50%;
    }

    header {
        position: absolute;
        background: unset;
    }

    .header-inner {
        max-width: 100%;
        background: none;
    }

    header nav#g-nav {
        display: none;
    }

    .site-title-wrap {
        width: 100%;
        background: #005e78;
        height: 8.5vh;
        position: relative;
    }

    .site-title-wrap a {
        height: auto;
        width: unset;
        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;
    }

    .site-title-wrap img {
        width: 53%;
    }

    header a.hamburger {
        position: absolute;
        right: 6%;
        top: 3vh;
    }

    header a.hamburger i.fas.fa-bars {
        font-size: 1.1rem;
        color: #fff;
    }

    section.mv {
        height: unset;
    }

    .mv_inner {
        position: relative;
        min-height: 100vh;
        min-height: -webkit-fill-available;
        min-height: calc(var(--vh, 1vh) * 100);
    }

    img.sp_block.mv_img {
        position: absolute;
        bottom: 0;
    }

    img.mv_img {
        width: 100%;
        height: auto;
    }

    .mv_copy.sp_block img {
        top: 15%;
        right: 5%;
        width: 90%;
    }

    .mv_medal.sp_block img.mv_medal {
        position: absolute;
        bottom: 3%;
        right: 5%;
        width: 90%;
        top: unset;
    }

    .mvbb_box {
        display: block;
    }

    .mvbb_l {
        width: 100%;
    }

    .mvbb_l p {
        font-size: 1.5rem;
        text-align: center;
    }

    span.mvbb.number {
        font-size: 2rem;
    }

    .mvbb_l p:before {
        width: 50px;
        height: 50px;
        top: 4.5vh;
        left: 3vh;
    }

    .mvbb_l p:after {
        width: 50px;
        height: 50px;
        top: 4.5vh;
        right: 0vh;
    }

    span.text_notes {
        font-size: 0.8rem;
        letter-spacing: 1px;
    }

    .mvbb_r {
        width: 100%;
    }

    .fc_link {
        margin-top: 4vh;
        width: 90%;
    }

    .fc_link a {
        font-size: 1.1rem;
        padding: 1vh 0;
        outline: 1px solid #005e78;
        outline-offset: -3px;
        width: 100%;
        display: block;
    }

    .fc_link span.kana_small {
        font-size: 1rem;
    }

    section.mv_bottom_banner {
        background: #005e78;
        padding: 3vh 0 5vh;
    }

    /*コンセプト*/
    .hc_inner {
        width: 90%;
        padding: 5vh 0 10vh;
        margin: 0 auto;
    }

    h2.home {
        font-size: 3rem;
    }

    span.jp {
        font-size: 0.8rem;
        letter-spacing: 2px;
        margin-top: 1vh;
    }

    .hc_box {
        display: block;
        margin-top: 5vh;
    }

    .hc_l {
        width: 100%;
    }

    section.home_concept h3 {
        font-size: 1.4rem;
        text-align: center;
        border-bottom: 1px solid #005e78;
    }

    .hc_l .sp_block {
        text-align: center;
    }

    .hc_l img {
        width: 80%;
        border-radius: 8px;
    }

    .hc_l p.name_area {
        text-align: center;
        font-size: 1rem;
    }

    .hc_l p.name_area span {
        font-size: 1.5rem;
    }

    .hc_l p {
        font-size: 0.95rem;
        margin-top: 3vh;
    }

    .hc_l .home_button.n a {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 1.05rem;
        padding: 1vh 0;
    }

    .home_button.n a {
        outline: 1px solid #fff;
        outline-offset: -3px;
        font-size: 1.05rem;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }


    .hc_ibj_inner {
        width: 49%;
        padding: 2vh 2vh 1vh;
        display: block;
        border: 0.7px solid #005e78;
    }

    .ibj_b_l {
        width: 100%;
        text-align: center;
    }

    .ibj_b_l img {
        width: 90%;
    }

    .ibj_b_r {
        width: 100%;
        padding: 1vh 0vh;
    }

    .hc_ibj_area h4 {
        font-size: 1rem;
        letter-spacing: 1px;
    }

    .ibj_b_r p {
        font-size: 0.8rem;
    }

    .hc_ibj_inner {
        margin-top: 2vh;
    }

    section.home_concept {
        background: #fff;
    }


    /*相談タイプ*/
    .htt_inner {
        width: 90%;
        margin: 0 auto;
        padding: 5vh 0 10vh;
    }

    span.leamarriage {
        letter-spacing: 1.5px;
    }

    p.title_b_text {
        font-size: 1rem;
        margin-bottom: 5vh;
    }

    .twotypes_box {
        display: block;
    }

    .ttb_l {
        width: 100%;
    }

    .twotypes_box h3 {
        font-size: 1.3rem;
        outline: 1px solid #005e78;
        outline-offset: -3px;
    }

    .ttb_r {
        width: 100%;
        margin-top: 5vh;
    }

    .home_button.w a {
        font-size: 1.1rem;
        outline: 1px solid #005e78;
        outline-offset: -3px;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 1vh 0;
    }

    /*選ばれる理由*/

    .hr_inner {
        width: 90%;
        margin: 0 auto;
        padding: 5vh 0 10vh;
    }

    section.home_reason p.title_b_text.b {
        font-size: 1rem;
    }

    .hr_area ul li {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 3vh;
    }

    .hr_area ul li:before {
        border-left: 9vh solid rgb(0 94 120 / 90%);
    }

    .hr_area ul li img {
        width: 45%;
    }

    .hr_area ul li p {
        font-size: 1rem;
        border: unset;
        border-left: unset;
        width: 55%;
        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;
        margin-bottom: 0;
        background: #e0eef2;
    }

    .hr_area ul li:after {
        top: 2px;
        left: 1vh;
        font-size: 1.5rem;
        z-index: 1000;
        display: inline-block;
        width: 100%;
    }

    .hr_area span.notoserif {
        display: contents;
    }

    .hr_area .home_button {
        margin-top: 0;
    }

    section.home_reason {
        background: #fff;
    }

    /*ご成婚者様の声*/

    .top-voice {
        padding: 10vw 0 15vw;
    }

    .top-voice__inner {
        width: 90%;
        padding: 0;
    }

    .top-voice__head {
        gap: 3.2vw;
        margin-bottom: 4.0vw;
    }

    .top-voice__title {
        font-size: 5.6vw;
    }

    .top-voice__more {
        font-size: 3.6vw;
    }

    .top-voice__track {
        display: flex;
        gap: 3.6vw;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;

        touch-action: pan-x;
        overscroll-behavior-x: contain;
        overscroll-behavior-y: none;

        scrollbar-width: none;
        /* Firefox */
        -ms-overflow-style: none;
        /* IE/Edge(旧) */
    }

    .top-voice__track::-webkit-scrollbar {
        display: none;
        /* Chrome / Safari */
        width: 0;
        height: 0;
    }

    .top-voice__card {
        flex: 0 0 100%;
        scroll-snap-align: start;
        transform: translate3d(0, 0, 0);
    }

    .top-voice__name {
        padding: 2vw 3vw;
        font-size: 4vw;
        font-weight: 500;
    }

    .top-voice__meta {
        font-size: 3.5vw;
        margin-right: 3vw;
        margin-bottom: 2vw;
        font-weight: 500;
    }

    .top-voice__dots {
        display: flex;
        justify-content: center;
        gap: 2.2vw;
        margin-top: 3.6vw;
    }

    .top-voice__dot {
        width: 2.2vw;
        height: 2.2vw;
        border-radius: 999vw;
        border: 0;
        padding: 0;
        background: rgba(0, 0, 0, .22);
        cursor: pointer;
    }

    .top-voice__dot.is-active {
        background: #005e78;
    }

    a.top-voice__card:hover {
        opacity: 1;
    }

    section.top-voice .home_button.n {
        margin-top: 6vw;
    }

    /*固定画像*/
    .background.one,
    .background.two {
        height: auto;
        background-attachment: unset;
        background-image: unset;
    }

    /*プラン*/
    .hp_inner {
        width: 95%;
        padding: 5vh 0 10vh;
    }

    section.home_plan h3 {
        font-size: 1.1rem;
    }

    .free_price {
        width: 100%;
        margin: 5vh auto;
    }

    .free_price ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .free_price ul li {
        width: 41%;
        height: 37vw;
        outline: unset;
        outline-offset: unset;
        background: unset;
    }

    .free_price span.elina {
        font-size: 2.5rem;
        padding-right: 1vh;
    }

    .home .campaign {
        outline: 1px solid #005e78;
        outline-offset: -5px;
        width: 100%;
    }

    .home .campaign h3 {
        font-size: 3rem;
    }

    .home .campaign p {
        font-size: 1rem;
        text-align: center;
    }

    .home .campaign p span.monthly {
        font-size: 1.1rem;
    }

    .home .campaign span.mvbb.number,
    .home .campaign p span.note span.elina,
    .home .campaign p span.monthly span.elina {
        font-size: 2rem;
    }

    .home .campaign span.mvbb.number {
        padding-left: 0;
    }

    .home .campaign p span.note {
        margin-top: 1em;
        font-size: 0.7rem;
        text-align: center;
        display: block;
    }

    .hp_price_b ul {
        display: block;
    }

    .hp_price_b {
        width: 100%;
        margin: 2vh auto;
    }

    .hp_price_b ul li {
        font-size: 1.05rem;
        width: 100%;
    }



    /*流れ*/
    section.home_flow {
        background: #fff;
    }

    .hf_inner {
        width: 95%;
        padding: 5vh 0 10vh;
    }

    table.home_flow {
        width: 100%;
    }

    table.home_flow td.left {
        padding: 1em 1em 1em 0;
        font-size: 0.8rem;
        line-height: 1.6;
    }

    table.home_flow td.right {
        padding: 1em 0 1em 1em;
    }

    table.home_flow td,
    table.home_flow th {
        height: 9vh;
        font-size: 0.9rem;
        line-height: 1.8;
    }

    td.left:after {
        width: 2vh;
        height: 2vh;
    }

    section.home_flow .home_button.n a {
        width: 97%;
    }

    /*データ*/
    .hd_inner {
        width: 90%;
        padding: 5vh 0 10vh;
    }

    .data_area.home ul {
        display: block;
    }

    .data_area.home li {
        width: 100%;
        margin-bottom: 2vh;
    }

    .data_area.home h3 {
        font-size: 1.2rem;
    }

    .home.data_inner {
        height: unset;
    }

    .home.data_inner.age img,
    .home.data_inner.educa img,
    .home.data_inner.income img {
        padding: 2vh 0;
    }

    p.kaiin_deta {
        font-size: 1rem;
        padding: 3vw;
    }

    .home.data_inner span.elina {
        font-size: 1.6rem;
        margin-left: 0.1em;
    }

    p.kaiin_deta span.noto.number {
        font-size: 1rem;
    }

    /*固定背景*/

    /*無料カウンセリング*/
    section.home_fc {
        background: #fff;
    }

    .hfc_inner {
        width: 90%;
        padding: 5vh 0 10vh;
    }

    .fc_area {
        display: block;
        margin-top: 7vh;
    }

    .fc_l {
        width: 100%;
    }

    .fc_r {
        width: 100%;
        margin-top: 2vh;
    }

    section.home_fc h3.one {
        font-size: 1.1rem;
        padding-bottom: 2vw;
        font-weight: 600;
        line-height: 1.7;
    }

    section.home_fc p.text {
        font-size: 0.95rem;
    }

    section.home_fc .home_button.n a {
        width: 100%;
    }


    /*フッター*/

    .footer_logo img {
        width: 57%;
    }

    footer#footer p.sub_title {
        letter-spacing: 0;
        font-size: .8rem;
        text-align: center;
    }

    img.footer_ibj {
        width: 37%;
    }

    .footer_logo {
        padding: 5vh 0 3vh;
    }

    nav.footer_nav,
    .footer_fc.home_button.w,
    ul.nav_bottom,
    footer#footer ul.sns,
    .menu-toggle {
        display: none;
    }

    .f_address {
        font-size: 0.8rem;
    }

    a#topBtn {
        display: none !important;
    }

    .copyright {
        margin-top: 6vw;
    }

    .copyright p {
        text-align: center;
    }
}


/*--------------------------------
スマホフッター固定バー
---------------------------------*/
@media only screen and (max-width: 1024px) {

    .footer_menu {
        display: block !Important;
    }

    ul.floating {
        background: #005e78;
        margin: 0 auto;
        padding: .5em 0;
        width: 100%;
        overflow: hidden;
        display: table;
        table-layout: fixed;
        text-align: center;
        width: 100%;
    }

    ul.floating li {
        margin: 0;
        padding: 0;
        display: table-cell;
        vertical-align: middle;
        list-style-type: none;
        font-size: 13px;
        line-height: 15px;
    }

    li.fml,
    li.fmr {
        width: 25%;
    }

    li.fm_fc {
        width: 50%;
        border-left: 1px solid #fff;
        border-right: 1px solid #fff;
    }

    li.fm_fc img {
        width: 8%;
        margin-bottom: 1vw;
        margin-top: 1vw;
    }

    ul.floating li a i {
        font-size: 15px;
        padding: 5px;
        color: #fff;
    }

    ul.floating li a {
        border: none;
        display: block;
        color: #fff;
        text-align: center;
        text-decoration: none;
        line-height: 1.5em;
    }

    .floating {
        position: fixed;
        bottom: 0;
        left: 0;
        background: #333;
        -moz-opacity: 0.9;
        opacity: 0.9;
        z-index: 101;
    }


    .batsu {
        display: block;
        position: relative;
        width: 30px;
        height: 30px;
    }

    .batsu::before,
    .batsu::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1px;
        height: 67%;
        background: #005e78;
    }

    .batsu::before {
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        -ms-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .batsu::after {
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        -ms-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .close {
        position: absolute;
        top: 0;
        left: -10vw;
        background: #e0eef2;
        height: 10vw;
        width: 10vw;
        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;
    }

    /*--------------------------------
ハンバーガーメニュー
---------------------------------*/
    a.hamburger {
        display: block;
        z-index: 10;
        height: auto;
        cursor: pointer;
        text-align: center;
        color: #fff;
        position: relative;
        line-height: 1.6;
        top: 3px;
    }

    nav.globalMenuSp {
        position: fixed;
        z-index: 1000;
        top: 0;
        right: 0;
        color: #fff;
        background: rgb(0 94 120 / 95%);
        text-align: center;
        width: 75%;
        -webkit-transform: translateX(120%);
        -ms-transform: translateX(120%);
        transform: translateX(120%);
        -webkit-transition: all 0.6s;
        -o-transition: all 0.6s;
        transition: all 0.6s;
        min-height: 100vh;
    }

    .gms_inner {
        margin-top: 9vw;
    }

    nav.globalMenuSp ul {
        margin: 0 auto;
        padding: 0 0 5vw;
        width: 75%;
    }

    nav.globalMenuSp ul.sp_sns {
        padding: 5vw 0;
    }

    nav.globalMenuSp ul li {
        list-style-type: none;
        padding: 0;
        width: 100%;
        -webkit-transition: .4s all;
        -o-transition: .4s all;
        transition: .4s all;
    }

    nav.globalMenuSp ul li:last-child {
        padding-bottom: 0;
    }

    nav.globalMenuSp.active li.terms a {
        font-size: 0.9rem !important;
    }

    nav.globalMenuSp ul li:hover {
        background: rgb(255 255 255 / 80%);
    }


    nav.globalMenuSp.active {
        opacity: 100;
        display: block;
        -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
        transform: translateX(0%);
    }

    .is-fixed {
        display: none !important;
    }

    nav.globalMenuSp ul li a:hover {
        color: #2196f3;
    }

    nav.globalMenuSp li a {
        text-decoration: none;
        font-size: 0.95rem;
        display: block;
        padding: 2vw;
        letter-spacing: 1px;
        border-bottom: 0.7px solid #fff;
    }

    nav.globalMenuSp a.en {
        font-size: 1.05rem;
    }

    .gms_bottom a {
        padding: 0.7vh 0;
        outline: 1px solid #005e78;
        outline-offset: -2px;
        width: 75%;
        display: block;
        color: #005e78;
        text-decoration: none;
        font-size: 0.95rem;
        background: #fff;
        margin: 0 auto;
    }

    /*--------------------------------
モーダルウィンドウ
---------------------------------*/
    .modal-window {
        -webkit-transform: translate(0, 100%);
        -ms-transform: translate(0, 100%);
        transform: translate(0, 100%);
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 999;
        opacity: 0;
        line-height: 1.3;
        display: none9;
    }

    .modal-window:target {
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1;
    }

    .is-active.modal-window {
        display: block9;
    }

    .modal-window:target {
        display: block9;
    }

    .modal-window .modal-inner {
        position: absolute;
        top: 100px;
        left: 5%;
        z-index: 20;
        padding: 5%;
        margin: 0 auto;
        width: 80%;
        overflow-x: hidden;
        border-radius: 6px;
        background: #fff;
        -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
    }

    .modal-window .modal-close {
        display: block;
        text-indent: -100px;
        overflow: hidden;
    }

    .modal-window .modal-close:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        background: #333;
        -moz-opacity: 0.7;
        opacity: 0.7;
    }

    .modal-window .modal-close:after {
        content: '\00d7';
        position: absolute;
        top: 70px;
        right: 15%;
        z-index: 20;
        margin: 0 auto;
        background: #fff;
        border-radius: 2px;
        padding: 10px 10px;
        text-decoration: none;
        text-indent: 0;
    }

    .modal-window {
        -webkit-transition: opacity 0.4s;
        -o-transition: opacity 0.4s;
        transition: opacity 0.4s;
    }

    img.gms_logo {
        width: 68%;
    }

}

/*--------------------------------
固定ページ sp
---------------------------------*/
@media only screen and (max-width: 767px) {

    ul.sp_sns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 1vw !important;
        width: 55% !important;
    }

    ul.sp_sns li {
        width: 50%;
    }

    ul.sp_sns li a {
        padding: 0;
        border-bottom: unset !important;
    }

    ul.sp_sns img {
        height: 5vw;
    }

    section.page_mv {
        padding: 6vh;
        height: 25vh;
    }

    section.page_mv h1 {
        font-size: 2.8rem;
        line-height: 1.2;
    }

    section.page_mv span.small {
        font-size: 0.8rem;
    }


    .breadcrumb {
        width: 90%;
        font-size: 0.6rem;
    }

    p.mb.sp_only {
        margin-bottom: 1em !important;
    }

    p.mb.pc_only {
        margin-bottom: 0em;
    }

    section.page_mv.reason {
        background-position: right 47% bottom 0%;
        background-size: 160%;
    }

    section.page_mv.flow {
        background-position: right 0 bottom 48%;
        background-size: 100%;
    }

    section.page_mv.data {
        background-position: right 0 bottom -11%;
        background-size: 100%;
    }

    section.page_mv.qa {
        background-position: right 0 bottom -165%;
        background-size: 100%;
    }

    section.page_mv.cou {
        background-position: right 0 bottom 91%;
    }

    /*--------------------------------
選ばれる理由 sp
---------------------------------*/
    .ra_inner {
        margin: 5vh auto 7vh;
        width: 93%;
    }

    section.reason_area h2 {
        font-size: 1.8rem;
        margin-bottom: 10vh;
        line-height: 1.6;
    }

    section.reason_area h2 img {
        width: 45%;
        top: 7px;
    }

    section.reason_area h2 span.elina {
        font-size: 2.2rem;
    }

    section.reason_area h2 span {
        font-size: 0.9rem;
    }

    .rb_r {
        width: 100%;
        font-size: 1.2rem;
        height: 26vw;
    }

    .rb_r h3 {
        color: #005e78;
        width: 100%;
        position: relative;
        top: -2vw;
        line-height: 1.6;
    }

    .reason_box h3 span.elina {
        font-size: 1.3rem;
    }

    span.bg_n.one {
        position: absolute;
        top: -2vw;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }

    span.bg_n.two {
        position: absolute;
        top: -3vw;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
    }

    span.re_large {
        font-size: 1.6rem;
    }

    .rb_l.sp_block {
        width: 100%;
    }

    .rb_bottom {
        margin-top: 4vh;
    }

    .rb_bottom h4 {
        font-size: 1.2rem;
        background: #bed6dc;
        color: #005e78;
        font-weight: 600;
    }

    .rb_bottom p {
        font-size: 0.95rem;
        line-height: 1.6;
    }

    .rbs {
        padding: 2.5em 1em 1.5em;
        outline-offset: -5px;

    }

    .rb_bottom .btm a {
        width: 100%;
        font-size: 0.9rem;
        margin-top: 2vh;
        margin-bottom: 1vh;
        background: #005e78;
        color: #fff;
    }

    .reason_box.mt {
        margin-top: 9vh;
    }

    .youtube {
        width: 100%;
        margin: 3vh auto 0;
    }

    /*--------------------------------
カウンセラー紹介 sp
---------------------------------*/

    .cou_inner {
        margin: 5vh auto 0;
    }

    section.counselor h2 {
        font-size: 1.8rem;
        margin-bottom: 5vh;
        line-height: 1.5;
    }

    section.counselor h2 span,
    section.counselor h3 span {
        font-size: .9rem;
        display: block;
        margin-top: 1vw;
    }

    h2.cp {
        margin-bottom: 4vh !important;
    }

    .cou_top {
        display: block;
        width: 100%;
    }

    .ct_l {
        width: 100%;
        text-align: center;
    }

    .ct_l img {
        width: 65%;
    }

    .ct_r {
        width: 93%;
        margin: 3vh auto 0;
    }

    p.name {
        width: 100%;
        margin: 0 auto;
        font-size: 1.1rem;
    }

    p.name span.small {
        font-size: 0.9rem;
    }

    .ct_r ul {
        padding: 0;
        margin-top: 1em;
    }

    .ct_r ul li {
        font-size: 0.95rem;
        padding-bottom: 0.5em;
    }

    .cou_top {
        padding-bottom: 3vh;
    }

    .con_background.one .cb_c,
    .con_background.one .cb_l {
        display: none;
    }

    .cb_r {
        width: 100%;
    }

    .con_background.two .cb_l,
    .con_background.two .cb_r {
        display: none;
    }

    .greeting_inner,
    .ps_inner {
        margin: 7vh auto;
        width: 93%;
        padding: 0;
    }

    .greeting p,
    .ps p {
        font-size: 0.95em;
        text-align: left;
    }

    .cou_massage {
        padding-top: 7vh;
        padding-bottom: 7vh;
        background: #e0eef2;
    }

    .cm_inner {
        padding: 5vh 0;
        width: 93%;
        outline-offset: -5px;
        background: #fff;
        margin: 0 auto;
    }

    .cou_massage h4 {
        font-size: 1rem;
    }

    .cou_massage p {
        font-size: 0.95rem;
        text-align: left;
        padding: 0 1em;
    }

    p.c_name {
        text-align: right;
        font-size: 1rem;
    }

    .cou_massage p.c_name img {
        width: 31%;
    }

    .con_background.one .cb_l,
    .con_background.two .cb_c {
        width: 100%;
    }

    .mb_img.sp_block img {
        vertical-align: top;
    }

    /*--------------------------------
ご成婚までの流れ sp
---------------------------------*/
    .flow_inner {
        margin: 5vh auto 7vh;
        width: 93%;
    }

    section.flow_area h2 {
        font-size: 1.8rem;
        margin-bottom: 5vh;
    }

    section.flow_area h2 span {
        font-size: 1rem;
    }

    .flow_box.one .flow_l,
    .flow_box.two .flow_r {
        display: none;
    }

    .flow_box.one .flow_r,
    .flow_box.two .flow_l {
        width: 100%;
        padding: 0;
    }

    .flow_box h3 {
        font-size: 1.4rem;
    }

    .flow_box h3 span {
        font-size: 1.4rem;
        top: 0px;
        padding-right: 0.3em;
    }

    .flow_box p {
        font-size: 0.95rem;
    }

    .flow_box img {
        border-radius: 9px;
    }

    .support h4 {
        padding: 1px 13vw;
        width: 80%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        top: -5vw;
        font-size: 1.3rem;
    }

    .support {
        padding: 6vh 1em 4vh;
        width: 100%;
    }

    .support p {
        font-size: 0.95rem;
    }

    .wrap {
        height: 7vh;
    }

    .flow_box.mt {
        margin-top: 7vh;
    }

    /*--------------------------------
料金プラン sp
---------------------------------*/

    section.plan_type h2 span,
    section.plan_table h2 span,
    .eg_inner h2 span {
        font-size: 0.9rem;
    }

    .type_box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .tb_l {
        width: 100%;
        outline: unset;
    }

    .tb_r {
        width: 100%;
        padding: 2vh 2vh 0vh;
    }

    .type_box h3 {
        font-size: 6vw;
        line-height: 1.2;
        padding: 3vw 0 2vw;
    }

    .type_box h3 span {
        font-size: 1.2rem;
        padding-left: 0.2em;
    }

    .tb_r li {
        width: 49%;
        font-size: 3.8vw;
    }

    .tb_r span.elina {
        font-size: 1.6rem;
    }

    .tb_r p {
        font-size: 3.9vw;
        text-align: left;
        margin: .5vw auto 3vw;
    }

    .tb_r .link a {
        padding: 0.2vh 0 0;
        width: 60%;
        margin: 3vw auto;
        font-size: 0.9rem;
        position: unset;
    }

    .tb_r .link a img {
        width: 6.5%;
        padding-left: 0.3em;
    }

    section.campaign {
        margin: 5vh auto 7vh;
        width: 93%;
    }

    .pt_inner {
        margin: 5vh auto 7vh;
        width: 93%;
    }

    section.plan_table h2,
    .eg_inner h2,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2 {
        font-size: 1.8rem;
        margin-bottom: 5vh;
    }

    section.plan_table h2 span,
    .eg_inner h2 span {
        font-size: 1rem;
    }

    section.plan_table .campaign {
        background: unset;
        outline-offset: -6px;
    }

    .home.campaign h3 {
        font-size: 2.5rem;
        margin-top: 0.2em;
    }

    .home.campaign.ribon span.en {
        font-size: 2rem;
    }

    p.cam_title {
        line-height: 1.4;
        margin-bottom: 2vw;
        margin-top: 3vw;
    }

    .home.campaign p.text {
        font-size: 3.9vw;
        padding: 0 3vw;
        text-align: center;
    }

    section.plan_table .campaign span.note {
        font-size: .8rem !important;
        margin-top: 1em;
    }

    .common_plan h3,
    .non-member h3 {
        font-size: 1.3rem;
    }

    .common_plan ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .common_plan ul li {
        width: 49%;
        font-size: 1rem;
        margin-bottom: 2vw;
        padding: 2vh 0;
        outline: unset;
        border: unset;
    }

    .common_plan span.elina {
        font-size: 1.7rem;
    }

    span.large {
        font-size: 1.6rem;
    }

    td.course.brw.B:before {
        top: -6.3vw;
        left: -1%;
        font-size: 1rem;
        width: 102%;
    }

    section.plan_table td.space {
        display: none;
    }

    span.en {
        font-size: 2rem;
    }

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

    tr.sp_flex td.course {
        width: 33.3%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        height: auto;
        padding: 1vh;
        font-size: 0.8rem !important;
    }

    section.plan_table table.plan td.menu {
        width: 100% !important;
        padding: 1vh !important;
        font-size: 1rem !important;
        background: #e0eef2;
    }

    section.plan_table table.plan td,
    section.plan_table table.plan th {
        width: 33.3%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        height: auto;
        padding: 2vh;
    }

    section.plan_table table.plan table,
    section.plan_table table.plan td,
    section.plan_table table.plan th {
        border: 0.7px solid #005e78;
    }

    section.plan_table table.plan td {
        padding: 1vh 0;
        line-height: 1.6;
        font-size: 1rem;
    }

    section.plan_table td.b {
        background: unset !important;
    }

    section.plan_table table.plan td.top {
        text-align: left;
        line-height: 1.5;
    }

    span.menu {
        font-size: 0.8rem;
        display: inline-block;
        margin-top: 1vh;
    }

    table.plan td.top span.noto.number,
    span.notoserif.so {
        margin-left: 0.5em;
    }

    table.plan td.top span.noto.number.four {
        padding-left: 0;
        margin-left: 0.2em;
    }

    table.plan td.top span.noto.number.sp_block {
        text-align: center;
    }

    span.noto.number.four {
        padding-left: 1vw;
    }

    table.plan span.bar {
        font-size: 0.8rem;
    }

    span.noto.number {
        font-size: 1rem;
    }

    td.course.brw {
        border-right: 1px solid #fff !important;
    }

    td.middle {
        display: -ms-grid;
        display: grid;
        place-items: center;
    }

    section.plan_table p.notes {
        font-size: 0.8rem;
    }

    p.initialcost {
        font-size: 1rem;
        padding: 1vh;
        text-align: center;
    }

    ul.notes {
        display: block;
        width: 100%;
    }

    ul.notes li {
        width: 100%;
        font-size: 3.8vw;
        display: block;
        text-align: center;
    }

    .non-member td.menu {
        width: 70%;
        padding: 1vh;
        font-size: 1rem;
        line-height: 1.6;
    }

    .non-member td.price {
        vertical-align: middle;
    }

    .eg_area {
        width: 95%;
        display: block;
    }

    .eg_box {
        width: 100%;
    }

    .eg_box ul,
    .eg_box p {
        padding: 0.5em 0.5em;
        background: #fff;
        margin-bottom: 1em;
        font-size: 3.8vw;
    }

    .eg_box h3 {
        font-size: 4.5vw;
        padding: 0.5vh 0 0;
    }

    .eg_box p {
        padding: 0.5em 1em;
    }

    .eg_box ul li {
        font-size: 3.9vw;
    }

    p.henkin,
    p.pay {
        height: auto;
    }

    section.e-guidance {
        padding-bottom: 5vh;
        padding-top: 7vh;
    }

    td.menu.off {
        color: #fff;
        background: #005e78 !important;
    }

    span.notoserif.so {
        font-size: 1rem;
        letter-spacing: 2px;
    }

    table.plan td.top p {
        display: none;
    }

    span.off.noto.number.sp_block {
        padding: 0 5px;
        min-width: 72px;
        max-width: 100%;
        color: #fff;
        background: #59afc7;
        font-size: 0.8rem;
        margin-left: 0 !important;
        margin-bottom: 0.5em;
    }

    td.top.cplan {
        display: -ms-grid;
        display: grid;
        place-items: center;
    }

    td.top {
        padding: 3vh 1vh !important;
        line-height: 1.6;
    }

    .page-id-709 .campaign p.cam_title {
        font-size: 5vw;
        text-align: center;
    }

    .page-id-709 .campaign p.text span.note {
        font-size: 3.9vw;
        margin-top: 4vw;
        display: block;
    }

    /*--------------------------------
ご成婚者様の声 sp
---------------------------------*/

    .single section.page_mv.voice p.title,
    .archive section.page_mv.voice p.title {
        font-size: 2.8rem;
    }

    .voice-archive .voice-inner {
        width: 93%;
    }

    h1.voice-archive-title {
        font-size: 5.5vw;
		        letter-spacing: .5vw;
    }

    .voice-title,
    h1.voice-archive-title {
        padding: 3vw 1vw;
        margin-bottom: 3vw;
    }

    .voice-archive .voice-inner {
        margin: 7vw auto;
    }

    .voice-archive-lead {
        line-height: 1.8;
        text-align: left;
    }

    .voice-archive-title {
        margin: 0 0 2vw;
        font-size: 5vw;
    }

    .voice-archive-lead {
        margin: 0 0 4vw;
        font-size: .9rem;
    }

    .voice-grid {
        grid-template-columns: 1fr;
        gap: 7vw;
    }

    .voice-card__meta {
        margin: 0;
        font-size: .95rem;
        padding: 1.5vw 0;
    }

    .voice-card__title {
        font-size: .9rem;
        padding: 0 3vw;
    }

    .voice-pagination {
        margin-top: 7vw;
    }

    .voice-empty {
        font-size: 3.6vw;
    }

    .voice-pagination .nav-links {
        gap: 3vw;
    }

    .voice-pagination .page-numbers {
        height: 7.5vw;
        padding: 0 4.5vw;
        font-size: 4vw;
    }

    .voice-pagination .page-numbers.next {
        padding: 0 4vw;
    }

    .voice-card__body {
        gap: 3vw;
    }

    .voice-card__more {
        font-size: .8rem;
        margin-bottom: 4vw;
    }

    .single section.page_mv.voice,
    .archive section.page_mv.voice,
    .single section.page_mv.voice {
        background-position: right 18% bottom 22%;
        background-size: 150%;
        height: 25vh;
    }

    /*--------------------------------
会員データ sp
---------------------------------*/
    .data_inner.page {
        margin: 5vh auto 7vh;
        width: 93%;
    }

    section.data_area h2 {
        font-size: 1.45rem;
        margin-bottom: 5vh;
        line-height: 1.6;
    }

    section.data_area h2 span.small {
        font-size: .9rem;
        letter-spacing: 0.2em;
        margin-top: 1vh;
    }

    section.data_area .sub_copy p {
        text-align: left;
        font-size: 0.95rem;
    }

    .age_group {
        margin-top: 5vh;
    }

    .age_group h3 {
        font-size: 1.4rem;
        padding: 1vh 0 0;
    }

    .age_group h3 span {
        font-size: 1.6rem;
        padding-right: 0.2em;
        line-height: 0;
    }

    .db_l,
    .db_r {
        width: 100%;
    }

    .db_l h4.man {
        width: 100%;
        font-size: 1.2rem;
    }

    .data_box {
        margin: 3vh 0 2vh;
    }

    .data_box ul {
        width: 100%;
    }

    .data_box ul li {
        font-size: 1rem;
        padding: 2vh 0;
        height: 19vh;
    }

    .data_box ul li .p span.elina {
        font-size: 1.5rem;
    }

    .matchmaking_n.sp_block h5 {
        font-size: 1.1rem;
        margin-top: 0;
    }

    section.data_area .sub_copy p span.notes {
        text-align: center;
        display: block;
        margin-top: 1em;
        font-size: 0.9rem;
    }

    section.data_area .toc ul {
        margin-top: 3vh;
    }

    section.data_area .toc ul li {
        width: 100%;
    }

    section.data_area .toc ul li a {
        height: 8.5vw;
        font-size: 1rem;
    }

    section.data_area .toc ul li a span.elina {
        padding-right: 1vh;
        font-size: 1.3rem;
    }

    .mm_box p {
        bottom: -2.5vh;
        font-size: 0.9rem;
    }

    .mm_box p span {
        font-size: 1.3rem;
    }

    .mm_box {
        padding: 2vh 5vh 1vh;
        width: 100%;
    }

    .mm_box p.top,
    .mm_box p.bottom {
        font-size: 0.95rem;
    }

    .mm_box.mt.two,
    .mm_box.mt.three {
        padding: 2vh 13vh 4vh;
    }

    p.among {
        font-size: 1rem;
        margin-top: 0.5vh;
    }

    .db_r h4.woman {
        width: 100%;
        font-size: 1.2rem;
        margin-top: 3vh;
    }

    .age_group .rbs {
        padding: 2em 1em 1em;
    }

    .data_massage h3 {
        font-size: 2rem;
        margin-bottom: 1vh;
    }

    .data_massage p {
        font-size: 0.95rem;
    }

    .data_massage {
        padding: 2vh 1.5em 4vh;
        outline-offset: -5px;
    }


    /*--------------------------------
ご成婚者様の声　個別
---------------------------------*/

    .single section.page_mv.voice p.title {
        font-size: 2.8rem;
        line-height: 1.2;
    }

    .single .breadcrumb {
        width: 90%;
        font-size: 0.5rem;
    }

    .voice-single-page .voice-inner {
        width: 90%;
        padding: 5vw 0 8vw;
    }

    .voice-title {
        font-size: 5vw;
        padding: 3.5vw 1vw;
        margin-bottom: 1.5vw;
        font-weight: 600;
        line-height: 1.6;
    }

    .voice-meta-line {
        margin: 0 0 5vw;
        font-size: 1rem;
		font-weight: 600;
    }

    .voice-slider__btn {
        width: 6vw;
        height: 6vw;
    }

    .voice-slider__btn::before {
        width: 1vw;
        height: 1vw;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
    }

    .voice-slider__dots {
        bottom: 2vw;
        gap: 2vw;
    }

    .voice-slider__dot {
        width: 1.5vw;
        height: 1.5vw;
    }

    .voice-section {
        margin-top: 5vw;
    }

    .voice-related {
        margin-top: 10vw;
    }

    .voice-heading {
        margin-bottom: 3vw;
        font-size: 1.1rem;
        padding: 1vw;
		font-weight: 600;
    }

    .voice-text {
        font-size: 0.95rem;
    }

    .voice-related__title {
        font-size: 5vw;
        padding: 3.5vw 1vw;
        margin-bottom: 5vw;
        letter-spacing: .5vw;
    }

    .voice-related__grid {
        grid-template-columns: 1fr;
        gap: 7vw;
    }

    .voice-card__name {
        font-size: .9rem;
        padding: 0 3vw;
    }

    .voice-related__more {
        margin-top: 5vw;
        text-align: center;
    }

    .voice-related__moreLink {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 4vw;
        padding: 1vh 0;
        outline: 1px solid #ffffff;
        outline-offset: -3px;
    }

    section.voice-related .voice-card__meta {
        font-size: 1rem;
        padding: 1vw 0;
    }

    section.voice-related p.voice-card__more {
        font-size: .8rem;
    }

    /*--------------------------------
よくある質問 sp
---------------------------------*/
    .qa_inner {
        margin: 5vh auto 7vh;
        width: 93%;
    }

    section.qa .toc ul {
        display: block;
    }

    section.qa .toc ul li {
        width: 100%;
        margin-bottom: 2vh;
    }

    section.qa .toc ul li a {
        height: auto;
        background: #e0eef2;
        color: #005e78;
        font-size: 0.95rem;
        padding: 1vw;
    }

    section.qa h2 {
        font-size: 1.2rem;
        margin-bottom: 3vw;
    }

    .qa dt span.qa,
    .qa dd span.qa {
        font-size: 1rem;
    }

    .qa dt,
    .qa dd {
        font-size: 0.95rem;
        padding-left: 2.2em;
        text-indent: -2.2em;
        font-weight: unset;
    }

    .qa dt {
        margin-bottom: 2vw;
    }

    .qa dd {
        margin-bottom: 7vw;
    }

    /*--------------------------------
アクセス sp
---------------------------------*/

    section.office p.address,
    section.route h3 {
        font-size: 1rem;
    }

    .office_box .text_wrap p,
    .slide p.title,
    .access_wrap ul li {
        font-size: 0.95rem;
    }

    section.office p.address span.bg {
        font-size: 0.9rem;
    }


    section.page_mv.access {
        background-position: right 52% bottom 129%;
        background-size: 110%;
        background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/11/ac-header-sp.jpg);
    }

    .office_box {
        margin-top: 7vh;
    }

    section.office p.lm img {
        margin-bottom: 1em;
    }


    section.office h2 {
        font-size: 3rem;
    }

    .ob_left hr {
        display: none;
    }

    ul.slide.sp_block.slick-initialized.slick-slider {
        display: block;
    }

    ul.slide-navigation.sp_block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .office_inner,
    .route_inner {
        margin: 5vh auto 5vh;
        width: 93%;
    }

    .ob_left,
    .ob_right {
        width: 100%;
    }

    .office_box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 0;
    }

    .ob_right {
        margin-top: 0;
    }

    ul.slide.pc_block.slick-initialized.slick-slider,
    ul.slide-navigation.pc_block .pc_block {
        display: none !important;
    }

    .office_box .text_wrap {
        margin-top: 1em;
    }

    .access_wrap {
        margin-top: 3em;
    }

    .gmap {
        height: 20em;
        margin: 0 auto 2em;
        width: 93%;
    }

    .access_wrap ul {
        padding: 0;
        outline: unset;
        outline-offset: unset;
        border: unset;
        width: 93%;
    }

    .access_wrap ul li {
        margin-bottom: 1em;
        line-height: 1.6;
    }

    .roure_under {
        margin: 2em 0;
    }

    ul.roure_under_wrap li,
    ul.roure_up_wrap li {
        width: 49%;
    }

    ul.roure_under_wrap li p,
    ul.roure_up_wrap li p {
        font-size: 0.8rem;
        line-height: 1.4;
    }

    ul.roure_under_wrap li p::before,
    ul.roure_up_wrap li p::before {
        font-size: .7rem;
        height: 1em;
        width: 1em;
        padding: 0.2em;
        top: 0;
    }

    section.route {
        padding-bottom: 1em;
        margin-top: 3em;
    }


    /*--------------------------------
無料カウンセリング sp
---------------------------------*/
    .fc_inner {
        margin: 5vh auto 0;
        width: 100%;
        padding: 0;
    }

    .fci_in {
        width: 93%;
        margin: 0 auto;
    }

    .fc_l img {
        border-radius: 9px;
    }

    section.fc h3.one {
        font-size: 1.2rem;
        line-height: 1.6;
        padding-bottom: 3vw;
    }

    .booking_btm_area {
        padding: 5vh 0;
    }

    section.fc p.text {
        font-size: 0.95rem;
    }

    .access_link_wrap {
        margin-bottom: 3em;
        padding: 0;
    }

    .access_link_wrap p {
        font-size: 1rem;
    }

    section.fc p.cta {
        font-size: 1rem;
        margin-bottom: 3vw;
        position: relative;
        font-weight: 600;
    }

    section.fc p.cta:before {
        content: "▼";
        position: absolute;
        bottom: 0.15em;
        left: 18vw;
        font-size: 0.9rem;
    }

    section.fc p.cta::after {
        content: "▼";
        position: absolute;
        bottom: 0.15em;
        right: 18vw;
        font-size: 0.9rem;
    }

    section.fc .home_button {
        width: 93%;
        margin: 1vh auto 0;
    }

    section.fc .home_button.n a {
        width: 100%;
        padding: 1vh 0;
        font-size: 1rem;
        outline: 0.7px solid #fff;
    }


    .hcon_inner {
        width: 93%;
    }

    .contact_form h3 {
        font-size: 3rem;
    }

    .contact_form p.form_line {
        font-size: 0.95rem;
    }

    .home_button.line {
        width: 100%;
        margin: 0 auto 7vh;
    }

    .home_button.line a {
        font-size: 1.1rem;
        padding: 1vh 2vh;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        outline-offset: -3px;
        outline: 0.7px solid #fff;
        font-weight: 700;
    }

    .home_button.line a:before {
        width: 5vw;
        height: 5vw;
        padding-right: 3vw;
        top: -3px;
    }


    form.wpcf7-form.init,
    .table-res-form {
        width: 100%;
    }

    .table-res-form th {
        font-size: 0.9rem;
    }

    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel] {
        font-size: 0.9rem;
        border-radius: 0;
        border: 0.7px solid #005e78;
    }

    .wpcf7 input,
    .wpcf7 textarea {
        border: 0.7px solid #005e78 !important;
    }

    .table-res-form th {
        padding: 1em 0 0 0;
    }

    .table-res-form td {
        padding: 0.5em 0 1em 0;
    }

    span.wpcf7-list-item-label {
        font-size: 0.9rem;
    }

    .table-res-form tr {
        border-top: 0.7px #005e78 solid;
    }

    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
        font-size: 0.9rem;
        height: 2.5em;
        border: 0.7px solid #005e78 !important;
    }

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

    .table-res-form input[type=submit] {
        left: 0;
        padding: 1vw 0;
        font-size: 1rem;
    }

    .wpcf7-form-control-wrap {
        position: relative;
        display: block;
        text-align: center;
    }

    span.wpcf7-form-control.wpcf7-radio {
        position: relative;
        top: 8px;
        text-align: center;
        right: 1em;
    }

    .wpcf7-list-item.first {
        margin: 0;
    }

    .wpcf7-list-item-label {
        cursor: pointer;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    /* デフォルトのボタン */
    input[type="radio"] {
        opacity: 0;
        /* デフォルトのボタンを非表示 */
        position: absolute;
    }

    /* チェック前のボタン */
    .wpcf7-list-item-label::before {
        background: #fff;
        border: 1px solid #005e78;
        border-radius: 100%;
        content: "";
        height: 1em;
        margin-bottom: auto;
        margin-right: 0.5em;
        margin-top: auto;
        -webkit-transition: background-color .5s;
        -o-transition: background-color .5s;
        transition: background-color .5s;
        width: 1em;
        top: -2px;
        position: relative;
    }

    /* チェック後のボタン */
    input[type="radio"]:checked+.wpcf7-list-item-label::before {
        background-color: #005e78;
        /* チェック後の中心の色 */
        -webkit-box-shadow: inset 0 0 0 3px #fff;
        box-shadow: inset 0 0 0 3px #fff;
        /* 中心の色のスタイル */
    }

    .wpcf7-spinner {
        width: 1em;
        height: 1em;
    }

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

    p.pp a {
        font-size: 0.8rem;
    }

    p.pp {
        padding-bottom: 0;
    }

    section.home_contact {
        padding-bottom: 3vh;
    }

    input[type="submit"] {
        -webkit-appearance: none;
        border-radius: 0;
    }

    select,
    textarea {
        -webkit-appearance: none;
        border-radius: 0;
    }

    select {
        background: #fff;
        padding-left: 1em;
        color: #333;
    }

    .wpcf7-form-control-wrap input {
        font-size: 16px !important;
    }

    .wpcf7-form-control-wrap textarea {
        font-size: 16px !important;
    }

    /*--------------------------------
特商法 sp
---------------------------------*/
    section.terms {
        margin: 0 auto;
    }

    .terms_inner {
        margin: 5vh auto 7vh;
        width: 93%;
    }

    .terms_table tr th {
        font-size: 0.95rem;
    }

    .terms_table tr td {
        font-size: 0.95rem;
    }


    /*--------------------------------
プライバシーポリシー sp
---------------------------------*/

    .privacy_policy {
        margin: 5vh auto 7vh;
        width: 93%;
    }

    .privacy_policy h2 {
        margin-top: 0;
        font-size: 1rem;
    }

    .privacy_policy p {
        margin-top: 0.5em;
        line-height: 1.7;
        font-size: 0.9rem;
        margin-bottom: 1em;
    }

    .privacy_policy ol {
        margin-top: 0.5em;
        line-height: 1.7;
        padding-left: 1.5em;
        font-size: 0.9rem;
        margin-bottom: 1em;
    }

    section.page_contens {
        margin-bottom: 0;
    }

    /*--------------------------------
投稿 sp
---------------------------------*/

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        margin-top: 8.5vh;
    }

    .single .container,
    .category .container {
        width: 100%;
        margin: 5vh auto 7vh;
    }

    .category section.page_mv {
        margin-top: 8.5vh;
    }

    .blog .contents,
    .archive .contents {
        width: 93%;
        float: unset;
        margin-left: 0;
        margin-bottom: 0;
        margin: 0 auto;
    }

    .single .contents {
        width: 93%;
        float: none;
        margin: 0 auto;
    }

    .article-content .cat-data li {
        font-size: .7rem;
    }

    article.article-content h1 {
        font-size: 1.3rem;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        line-height: 1.6;
    }

    .single span.article-date {
        font-size: 0.8rem;
    }

    .article-content p,
    .article-content b,
    .article-content table,
    .article-content ul,
    .article-content ol {
        font-size: 0.95rem;
        line-height: 1.7;
        letter-spacing: 1px;
    }

    .share {
        margin-top: 0;
        margin-bottom: 0;
    }

    .share ul {
        padding: 0;
    }

    .share li {
        margin: 0;
        padding: 0;
    }

    .article-content p.share {
        font-size: 1.1rem;
    }


    .article-content {
        padding-right: 0;
    }

    .article-content .cat-data li {
        font-size: .6rem;
    }

    .sidebar {
        width: 93%;
        float: none;
        max-width: none;
        font-family: 'Noto Serif JP', serif;
        margin: 0 auto;
    }

    .sidebar-title {
        font-size: 1rem;
        padding: 0.5rem 0;
    }

    .sidebar-inner {
        margin-top: 0;
    }

    .widget_recent_entries li a {
        margin-bottom: 0;
        padding-left: 0.25rem;
        font-size: 0.95rem;
    }

    .article-content h2 {
        font-size: 1.2rem;
        margin: 0rem 0 1rem;
    }
}

.article-content h3 {
    font-size: 1.1rem;
    margin: 1.5rem 0 0.8rem;
    padding: 0 0.5rem;
}

.article-content h4 {
    font-size: 1.1rem;
    margin: 1rem 0 1rem;
}

.article-content h5 {
    font-size: 1rem;
}

#category-posts-2-internal .cat-post-item .cat-post-title {
    padding-left: 0;
}


/*---------------------------------------------------------
  i pad All portrait
  ---------------------------------------------------------*/
@media screen and (min-width: 767px) and (max-width: 1024px) {

    .voice-archive .voice-inner {
        width: 90%;
        padding: 7vw 0 5vw;
    }

    .voice-card__title,
    section.voice-related .voice-card__meta {
        font-size: .85rem;
    }

    .voice-card__more {
        font-size: .65rem;
    }

    .voice-archive-lead {
        font-size: .9rem;
    }

    h1.voice-archive-title {
        font-size: 1.5rem;
    }

    .single section.page_mv.voice,
    .archive section.page_mv.voice {
        height: 15vh;
    }

    .site-title a img {
        width: 26vw;
    }

    .site-title a {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .site-title a img.sp_block {
        display: block;
        height: unset;
    }

    .voice-single-page .voice-inner {
        width: 90%;
    }

    .voice-title,
    .voice-related__title {
        font-size: 1.5rem;
    }

    .voice-meta-line {
        font-size: 2.5vw;
    }

    .voice-heading {
        font-size: 2.5vw;
    }

    .voice-card__meta {
        font-size: .9rem;
    }

    .voice-text {
        font-size: 1.9vw;
    }

    .voice-card__name {
        font-size: .8rem;
    }

    section.voice-related p.voice-card__more {
        font-size: .6rem;
    }

    .voice-related__moreLink {
        font-size: 1.9vw;
        outline: 0.7px solid #fff;
    }

    .single section.page_mv.voice {
        height: 15vh;
        background-size: cover;
    }

    .single section.page_mv.voice p.title,
    .single section.page_mv.voice p.title,
    .archive section.page_mv.voice p.title {
        top: 2vh;
    }

    .single section.page_mv.voice p.title,
    .single section.page_mv.voice p.title,
    .archive section.page_mv.voice p.title {
        font-size: 3.2rem;
    }

    .page-id-709 .campaign p.text {
        font-size: 2.2vw;
    }

    .page-id-709 .campaign p.text span.note {
        font-size: 2vw;
    }

    .start p {
        width: 35%;
    }

    .page-id-715 header,
    .privacy-policy header,
    .single-post header {
        position: absolute;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        height: 6vh;
        margin-top: 6.5vh;
    }

    br.ipad_only {
        display: block !important;
    }

    h2.home,
    .contact_form h3,
    section.office h2 {
        font-size: 3.6rem;
    }

    .home.campaign h3 {
        font-size: 3rem;
    }

    section.reason_area h2 span.elina {
        font-size: 2.6rem;
    }

    span.mvbb.number,
    span.en {
        font-size: 2.5rem;
    }

    .home.campaign span.mvbb.number,
    .home.campaign p span.note span.elina,
    section.counselor h2,
    section.flow_area h2,
    section.plan_table h2,
    .eg_inner h2,
    .common_plan span.elina,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2 {
        font-size: 2.3rem;
    }

    span.mvbb.number,
    span.en {
        font-size: 2.2rem;
    }

    span.large {
        font-size: 2.1rem;
    }

    .hr_area ul li:after,
    .home.data_inner span.elina,
    span.re_large,
    .flow_box h3 span,
    .age_group h3 span {
        font-size: 2rem;
    }

    section.data_area .toc ul li a span.elina {
        font-size: 1.8rem;
    }

    .data_box ul li .p span.elina,
    .age_group h3 {
        font-size: 1.6rem;
    }

    .mvbb_l p,
    .fc_link a,
    p.name_area span,
    .data_area.home h3,
    nav.globalMenuSp a.en,
    .common_plan h3,
    .db_l h4.man,
    .db_r h4.woman,
    .matchmaking_n_area h5 {
        font-size: 1.5rem;
    }

    section.home_concept h3,
    section.home_plan h3,
    .home.campaign p,
    .reason_box h3 span.elina,
    .mm_box p span,
    section.data_area .toc ul li a {
        font-size: 1.4rem;
    }

    .fc_link a,
    .hp_price_b ul li,
    p.kaiin_deta,
    .gms_bottom a,
    p.c_name,
    span.notoserif.so,
    .qa dt span.qa,
    .qa dd span.qa {
        font-size: 1.3rem;
    }

    .fc_link span.kana_small,
    section.home_fc h3.one,
    nav.globalMenuSp li a,
    .type_box h3 span,
    .article-content p.share {
        font-size: 1.2rem;
    }

    p.title_b_text,
    section.home_reason p.title_b_text.b,
    table.home_flow td.right,
    .non-member span.noto.number,
    section.data_area .sub_copy p,
    .mm_box p,
    .mm_box p.bottom,
    .mm_box p.top,
    section.route h3,
    .access_link_wrap p,
    .access_link_wrap .home_button.n a {
        font-size: 1.1rem;
    }

    nav.globalMenuSp.active li.terms a,
    .home.campaign p.text {
        font-size: 1.1rem !important;
    }

    .page-id-709 .campaign p.text {
        font-size: 2vw !important;
    }

    table.plan td.menu,
    table.plan span.noto.number,
    table.plan td {
        font-size: 1.05rem;
    }

    span.jp,
    .hc_l .home_button.n a,
    p.name_area,
    table.home_flow td.left,
    .hc_ibj_area h4,
    section.reason_area h2 span,
    .rb_bottom p,
    section.counselor h2 span,
    section.counselor h3 span,
    .ct_r ul li,
    .greeting p,
    .ps p,
    .cou_massage p.text,
    .flow_box p,
    .support p,
    section.plan_table h2 span,
    .eg_inner h2 span,
    table.plan td.course,
    ,
    section.data_area h2 span.small,
    .data_massage p,
    .contact_form p.form_line,
    .home.campaign p span.note,
    section.office p.address,
    .slide p.title,
    .access_wrap ul li {
        font-size: 1rem;
    }

    .hc_l p,
    section.home_fc p.text,
    section.plan_table p.notes,
    section.office p.address span.bg,
    .office_box .text_wrap p,
    .tptn_posts span.tptn_after_thumb a span.tptn_title,
    #category-posts-2-internal .cat-post-item .cat-post-title,
    .f_address {
        font-size: 0.9rem;
    }

    section.plan_table .campaign span.note {
        font-size: 0.9rem !important;
    }

    span.text_notes,
    .hc_ibj_area p,
    ul.roure_under_wrap li p,
    ul.roure_up_wrap li p {
        font-size: 0.8rem;
    }

    ul.roure_under_wrap li p::before,
    ul.roure_up_wrap li p::before,
    .share li a {
        font-size: 0.7rem;
    }

    .site-title-wrap {
        width: 100%;
        background: rgb(0 94 120/90%);
        height: 8.5vh;
        position: relative;
    }

    header nav#g-nav {
        display: none;
    }

    .site-title-wrap img.sp_block,
    header a.hamburger {
        display: block;
    }

    .site-title-wrap img.pc_block {
        display: none;
    }

    .site-title-wrap {
        height: 6.5vh;
    }

    section.mv,
    img.mv_img {
        height: 42vh;
    }

    header {
        background: unset;
        height: unset;
    }

    .site-title-wrap img {
        width: 86%;
    }

    header a.hamburger {
        position: absolute;
        right: 4%;
        height: auto;
        width: unset;
        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;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }

    header a.hamburger i.fas.fa-bars {
        font-size: 1.5rem;
        color: #fff;
    }

    .fc_link {
        width: 100%;
    }

    .fc_link a {
        padding: 0.5vw 0;
        width: 86%;
        display: block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin: 0 auto;
    }

    .mvbb_l p:before {
        width: 80px;
        height: 80px;
        top: 4vh;
        left: 3vh;
    }

    .mvbb_l p:after {
        width: 80px;
        height: 80px;
        top: 4vh;
        right: 0;
        position: absolute;
    }

    section.mv_bottom_banner {
        padding: 2.5vh 0;
    }

    .hc_inner {
        width: 95%;
        margin: 3vh auto 6vh;
    }

    .hc_box {
        margin-top: 0;
    }

    section.home_concept h3 {
        margin-bottom: 1vh;
        padding-bottom: 0.5vw;
    }

    .home_button {
        margin-top: 2vh;
    }

    .home_button.n a {
        padding: 0.5vw 0;
        width: 50%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 1.2rem;
        outline: 1px solid #fff;
    }

    .hc_l .home_button.n a {
        width: 80%;
    }

    .hc_r {
        padding-top: 3vh;
    }

    .htt_inner {
        width: 95%;
        padding: 4vh 0 5vh;
    }

    p.title_b_text {
        margin-top: 0vh;
        text-align: center;
        margin-bottom: 3vh;
    }

    span.jp {
        margin-bottom: 3vh;
    }

    .twotypes_box h3 {
        font-size: 1.3rem;
        padding: 0.5vw;
        outline: 1px solid #005e78;
        outline-offset: -4px;
    }

    .home_button.w a {
        font-size: 1.2rem;
        padding: 0.5vw 0;
        outline: 1px solid #005e78;
        outline-offset: -5px;
        width: 50%;
    }

    .twotypes_box {
        margin-bottom: 4vh;
    }

    .hr_inner,
    .hp_inner,
    .hf_inner,
    .hd_inner,
    .hfc_inner {
        width: 95%;
        padding: 4vh 0 5vh;
    }

    .hr_area ul li {
        width: 32%;
    }

    .hr_area ul li:before {
        border-bottom: 6vh solid transparent;
        border-left: 6vh solid #005e78;
    }

    .hr_area ul li p {
        padding: 0.5vw;
        margin-bottom: 6vh;
        font-size: 0.9rem;
        border: 1px solid #005e78;
        margin-bottom: 2vh;
    }

    .background.one,
    .background.two {
        height: 30vh;
        background-attachment: unset;
    }

    .free_price {
        width: 80%;
        margin: 2vh auto 0;
    }

    .home.campaign {
        padding: 0 0;
        outline: 1px solid #005e78;
        width: 75%;
        margin: 3vh auto 0;
    }

    .hp_price_b {
        margin: 2vh auto 0;
    }

    .hp_price_b ul li {
        padding: 0.5vw;
        font-size: 1.8rem;
        margin-bottom: 1vh;
    }

    img.icon1,
    img.icon2,
    img.icon5,
    img.icon6 {
        height: 3vh;
    }

    img.icon4 {
        height: 2.8vh;
    }

    img.icon3,
    img.icon8 {
        height: 2.5vh;
    }

    img.icon7 {
        height: 3.2vh;
    }

    table.home_flow td,
    table.home_flow th {
        padding: 1.5em;
    }

    td.left:after {
        height: 1.2vh;
        width: 1.2vh;
    }

    .free_price ul li {
        width: 25%;
    }

    .data_area.home h3 {
        margin-bottom: 1vh;
    }

    .home.data_inner {
        height: 17vh;
    }

    .data_area.home li {
        margin-bottom: 2vh;
    }

    .hc_ibj_inner {
        padding: 1vh;
    }

    .ibj_b_r {
        padding: 0 0 0 1vh;
    }

    .fc_area {
        margin-top: 4vh;
        margin-bottom: 3vh;
    }

    section.home_fc h3 {
        margin-bottom: 1vh;
    }

    section.home_fc .home_button.n a {
        width: 50%;
        padding: 0.5vw 0;
    }

    .ribbon {
        height: 2vh;
    }

    .footer_logo img {
        width: 25%;
    }

    footer#footer p.sub_title {
        letter-spacing: .1vh;
        font-size: .8rem;
    }

    img.footer_ibj {
        width: 15%;
    }

    footer#footer ul.sns li a img {
        height: 1.5vh;
    }

    nav.footer_nav,
    .footer_fc.home_button.w,
    ul.nav_bottom,
    footer#footer ul.sns {
        display: none;
    }

    footer#footer ul.sns {
        width: 10%;
    }

    li.fm_fc img {
        width: 4%;
    }

    .copyright {
        padding-top: 5vh;
    }

    ul.floating li a i {
        margin-bottom: 0.2vw;
        font-size: 1.4rem;
    }

    ul.floating {
        border-top: 1px solid #fff;
    }

    .footer_logo {
        padding: 3vh 0 1vh;
    }

    img.gms_logo {
        width: 35%;
    }

    nav.globalMenuSp ul.sp_sns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 1vw;
        width: 30%;
        padding: 3vw 0;
    }

    nav.globalMenuSp ul.sp_sns li {
        width: 50%;
    }

    nav.globalMenuSp ul.sp_sns li a {
        padding: 0;
        border-bottom: unset !important;
    }

    nav.globalMenuSp ul.sp_sns img {
        height: 3vw;
    }

    section.page_mv {
        height: 15vh;
    }

    section.page_mv h1 {
        top: 2.5vh;
    }

    .breadcrumb {
        width: 95%;
        font-size: 0.8rem;
    }

    .ra_inner {
        margin: 4vh auto 5vh;
        width: 80%;
    }

    section.reason_area h2 {
        font-size: 2rem;
        margin-bottom: 3vh;
    }

    section.reason_area h2 img {
        width: 26%;
        top: 8px;
    }

    .rb_r {
        width: 65%;
        height: 15vh;
        font-size: 1.4rem;
    }

    .rb_bottom {
        margin-top: 5vh;
        margin-top: 4vh;
    }

    .rb_bottom h4 {
        top: -1.5vh;
        font-size: 1.3rem;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 35%;
        text-align: center;
        padding: 0 0 0.5vw;
    }

    .reason_box.mt {
        margin-top: 5vh;
    }

    .rb_bottom .btm a {
        padding: 0.2em 0 0.1em;
        width: 50%;
        margin: 1vh auto 0;
    }

    .cou_inner {
        margin: 4vh auto 5vh;
    }

    h2.cp {
        margin-bottom: 5vh !important;
    }

    .cou_top {
        padding-bottom: 10vh;
        width: 100%;
    }

    p.name {
        font-size: 1.2rem;
        padding: 0.5vw;
        margin-bottom: 1vh;
    }

    .cou_top {
        padding-bottom: 5vh;
    }

    .greeting_inner {
        padding: 5vh 0;
    }

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

    .ps_inner {
        padding: 5vh 0 6vh;
        width: 95%;
    }

    .cm_inner {
        padding: 3vh 0;
        width: 80%;
        margin: 0 auto 5vh;
    }

    .cou_massage h4 {
        font-size: 1.1rem;
        margin-bottom: 2vh;
    }

    .flow_inner {
        margin: 4vh auto 5vh;
        width: 95%;
    }

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

    .flow_box.one .flow_r {
        padding: 0 2vw 0 0;
    }

    .flow_box.two .flow_l {
        padding: 0 0 0 2vw;
    }

    .flow_box h3 {
        font-size: 1.6rem;
        margin-bottom: 1vh;
    }

    .support {
        padding: 3vh 2em 2vh;
        margin-top: 4vh;
    }

    .support h4 {
        padding: 0 0 0.5vw;
        font-size: 1.2rem;
        width: 35%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        top: -1.5vh;
    }

    .wrap {
        height: 5vh;
    }

    .border {
        width: 0.7px;
    }

    .flow_box.mt {
        margin-top: 6vh;
    }

    .pt_inner,
    section.campaign {
        margin: 4vh auto 5vh;
        width: 95%;
    }

    section.plan_table h2,
    .eg_inner h2,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2 {
        margin-bottom: 3vh;
    }

    .tb_l {
        width: 17%;
    }

    .tb_r {
        width: 83%;
    }

    section.plan_table .campaign {
        margin: 3vh auto;
    }

    .common_plan ul li {
        padding: 1.5vh 0 0.5vh;
        font-size: 1.2rem;
    }

    table.plan {
        margin-top: 4vh;
    }

    td.course.brw.B:before {
        font-size: 1rem;
    }

    section.plan_table p.notes {
        margin-top: 2vh;
    }

    .initialcost_area {
        margin-top: 2vh;
    }

    ul.notes {
        width: 100%;
        margin: 2vh auto 0;
    }

    ul.notes li {
        font-size: 1.8vw;
    }

    .eg_box ul li {
        font-size: 1.8vw;
    }

    .eg_box p {
        font-size: 1.8vw;
    }

    .eg_box p.co {
        margin-top: unset;
    }

    .non-member {
        margin-top: 4vh;
    }

    .non-member h3 {
        font-size: 1.5rem;
        margin-bottom: 1.5vh;
    }

    .non-member td.menu {
        font-size: 1.1rem;
        padding: 0.5vw;
    }

    section.e-guidance {
        padding-bottom: 4vh;
        padding-top: 4vh;
    }

    .eg_area {
        width: 95%;
    }


    .data_inner.page {
        margin: 3vh auto 5vh;
        width: 90%;
    }

    section.data_area h2 {
        font-size: 2rem;
        margin-bottom: 3vh;
    }

    .age_group {
        margin-top: 4vh;
    }

    .age_group h3 {
        padding: 0.5vw 0 0;
    }

    .data_box {
        margin: 2vh 0 2vh;
    }

    .data_box ul li {
        padding: 1vh 0;
        font-size: 1.3rem;
        height: 11vh;
    }

    .data_box ul li .p {
        padding: 0.5vw;
    }

    .mm_box {
        padding: 1vh 5vh 1vh;
    }

    .mm_box p {
        bottom: -1.5vh;
    }

    .data_massage h3 {
        font-size: 2.5rem;
        margin-bottom: 1vh;
    }

    .data_massage {
        padding: 2vh 2em 3vh;
        margin-top: 4vh;
    }

    .qa_inner {
        margin: 4vh auto 5vh;
        width: 80%;
    }

    section.qa .toc ul li a {
        height: 3.5vw;
        font-size: 1.1rem;
    }

    section.qa .toc ul {
        margin-bottom: 3vh;
    }

    section.qa h2 {
        font-size: 1.7rem;
        margin-bottom: 1vh;
    }

    .qa dd {
        padding-left: 3.5em;
        text-indent: -3.5em;
        font-size: 1.1rem;
    }

    section.terms {
        margin: 4vh auto;
    }

    .terms_table tr td {
        font-size: 1.1rem;
        padding: 1.5vh 4vw;
    }

    .terms_inner {
        width: 80%;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        height: 9vh;
    }

    .fc_inner {
        width: 100%;
        padding: 4vh 0 0;
    }

    section.fc h3 {
        margin-bottom: 1vh;
    }

    section.fc h3.one {
        font-size: 1.2rem;
        padding-bottom: 0.5vw;
    }

    section.fc .home_button.n a {
        width: 50%;
        padding: 0.7vw 0;
    }

    .booking_btm_area {
        padding: 3vh 0;
    }

    .qa dt,
    .terms_table tr th,
    section.fc p.cta {
        font-size: 1.1rem;
    }

    section.fc p.text {
        font-size: 0.9rem;
    }

    section.home_contact {
        padding-top: 3vh;
        padding-bottom: 0;
    }

    .contact_form p.form_line {
        margin-bottom: 2vh;
    }

    .hcon_inner {
        width: 100%;
    }

    .home_button.line a {
        font-size: 1.4rem;
        padding: 0.5vw 0;
        outline: 1px solid #fff;
        width: 50%;
    }

    .home_button.line {
        width: 100%;
        margin: 0px auto 0vh;
    }

    .table-res-form {
        width: 81%;
        margin: 3vh auto 0;
    }

    .table-res-form th,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    span.wpcf7-list-item-label,
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
        font-size: 1.1rem;
    }

    textarea.wpcf7-form-control.wpcf7-textarea {
        height: 25vh;
    }

    .table-res-form th,
    .table-res-form td {
        padding: 1em 1em 1em 0;
    }

    tr.td_last td {
        padding: 0 0 1vh;
    }

    .table-res-form input[type=submit] {
        padding: 0.5vw 4em;
        font-size: 1.1rem;
    }

    p.pp a {
        font-size: 0.9rem;
    }

    .privacy_policy {
        width: 80%;
        margin-top: 3vh;
    }

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

    .privacy_policy p,
    .privacy_policy ol {
        font-size: 0.9rem;
    }

    .single .container {
        width: 100%;
        margin: 2vh auto 3vh;
    }

    article.article-content h1 {
        border-bottom: 1.5px solid #005e78;
        font-size: 1.6rem;
    }

    .article-content p,
    .article-content b,
    .article-content table,
    .article-content ul,
    .article-content ol {
        font-size: 1rem;
    }


    .sidebar-inner {
        margin-top: 3.8vh;
    }

    .page-nav .prev-link,
    .page-nav .next-link {
        padding: 0.5vw 20px;
    }

    .sidebar-title {
        font-size: 1rem;
        border-bottom: 1.5px solid #005e78;
    }

    .article-content h2 {
        font-size: 1.4rem;
        border-bottom: 1.5px solid #005e78;
    }

    .article-content h4 {
        font-size: 1rem;
    }

    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel] {
        font-size: .9rem;
        border: 1px solid #005e78;
        border-radius: 0;
        border: 0.7px solid #005e78 !important;
    }

    select {
        background: #fff;
        padding-left: 1em;
        color: #333;
        border: 0.7px solid #005e78 !important;
    }

    select,
    textarea,
    .table-res-form input[type=submit] {
        -webkit-appearance: none;
        border-radius: 0;
    }

    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
        height: 45px;
    }

    .table-res-form input[type=submit] {
        left: 7%;
    }

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

    section.data_area .toc ul li a {
        height: 4.5vw;
    }


    section.data_area .toc ul {
        margin-top: 2vh;
    }

    .mm_box.one {
        padding: 3vh 6vh 2vh;
    }

    .mm_box p.top {
        top: 0.5vh;
    }

    .mm_box p.bottom {
        bottom: -1.5vh;
    }

    .mm_box.mt.two,
    .mm_box.mt.three {
        padding: 1vh 9vh 2vh;
    }

    .matchmaking_n_area h5 {
        margin-bottom: 0;
    }

    p.among {
        font-size: 1.1rem;
    }

    .data_box ul li.top {
        margin-bottom: 0;
    }

    /*   li.one br.sp_block,
  ul.ctype li.two br.sp_block {
    display: block;
  } */

    .type_box h3 {
        font-size: 4vw;
        line-height: 1;
    }

    .tb_r .link a {
        width: 26%;
    }

    td.top p span.noto.number {
        font-size: 0.8rem;
    }

    table.plan td.top p:before {
        bottom: -13px;
    }

    table.plan td.top p {
        top: 4.5vh;
        right: -2.5vh;
    }

    td.course.brw.B:before {
        top: -1.8vw;
    }

    .close {
        left: -7vw;
        height: 7vw;
        width: 7vw;
    }

    section.page_mv.access {
        background-image: URL(https://lea-marriage.com/wp-content/uploads/2023/11/ac-header-sp.jpg);
        background-position: right 106% bottom 79%;
        background-size: 105%;
    }

    .office_inner,
    .route_inner {
        margin: 3vh auto 5vh;
        width: 90%;
    }

    .gmap {
        width: 90%;
        height: 25vw;
    }

    .office_box {
        margin-top: 5vh;
        margin-bottom: 3vh;
    }

    section.office hr {
        margin: 0.5em 0 1em;
    }

    .office_box .text_wrap {
        margin-top: 1em;
    }

    .access_wrap ul {
        padding: 2.5em 2em 2em;
        position: relative;
        /*         outline: 0.7px solid #005e78;
        outline-offset: -7px;
        border: 0.7px solid #005e78; */
        width: 70%;
    }

    section.route {
        margin-top: 4em;
    }

    .roure_under {
        margin: 3em 0;
    }

    .access_link_wrap {
        padding: 0;
    }

    .tb_r span.elina {
        font-size: 3vw;
    }

    .tb_r li {
        font-size: 2vw;
    }

    .tb_r p {
        text-align: left;
        font-size: 2vw;
    }

    .home .campaign p span.monthly span.elina {
        font-size: 2.3rem;
    }
}



/*---------------------------------------------------------
  i pad all landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1366px) and (orientation: landscape) {

    .site-title a {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .site-title a img.sp_block {
        display: block;
        height: unset;
    }

    .site-title a img {
        width: 21vw;
    }

    .single section.page_mv.voice {
        height: 30vh;
    }

    .voice-single-page .voice-inner,
    .voice-archive .voice-inner {
        width: 80%;
        padding: 5vw 0 6vw;
    }

    .voice-title,
    .voice-related__title,
    h1.voice-archive-title {
        font-size: 1.6rem;
    }

    .voice-meta-line {
        font-size: 1.3rem;
    }

    .voice-heading {
        font-size: 2vw;
    }

    .voice-card__meta {
        font-size: 1.5vw;
    }

    .voice-text {
        font-size: 1.4vw;
    }

    .voice-card__name {
        font-size: 1.3vw;
    }


    .voice-related__moreLink {
        font-size: 1.4vw;
        outline: 0.7px solid #fff;
    }

    .voice-archive-lead {
        font-size: .95rem;
    }

    .voice-card__body {
        gap: 1vw;
    }

    section.voice-related p.voice-card__more {
        font-size: .7rem;
    }

    .voice-card__title {
        font-size: .95rem;
    }

    .voice-card__more {
        font-size: .8rem;
    }

    section.voice-related .voice-card__meta {
        font-size: 1rem;
    }

    .voice-slider__dot {
        width: .7vw;
        height: .7vw;
    }

    .voice-slider__dots {
        gap: 1vw;
    }

    .start p {
        width: 23%;
    }

    header {
        position: absolute;
    }

    .site-title-wrap {
        height: 10vh;
        width: 100%;
        background: rgb(0 94 120/90%);
        height: 9.5vh;
        position: relative;
    }

    .site-title-wrap img {
        width: 70%;
        margin: 0 auto;
    }

    home .site-title-wrap {
        width: 100%;
        background: rgb(0 94 120/90%);
        height: 9.5vh;
        position: absolute;
    }

    header nav#g-nav {
        display: none;
    }

    .site-title-wrap img.sp_block,
    header a.hamburger {
        display: block;
    }

    .site-title-wrap img.pc_block {
        display: none;
    }

    section.mv,
    img.mv_img {
        height: 79vh;
    }

    header {
        background: unset;
        height: unset;
    }

    header a.hamburger {
        position: absolute;
        right: 4%;
        height: auto;
        width: unset;
        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;
    }

    header a.hamburger i.fas.fa-bars {
        font-size: 1.5rem;
        color: #fff;
    }

    section.mv_bottom_banner {
        padding: 4.5vh 0;
    }

    .mvbb_l p:before,
    .mvbb_l p:after {
        top: 5vh;
    }

    .home_button.n a,
    .fc_link a,
    .twotypes_box h3,
    .home_button.w a {
        outline-offset: -3px;
    }

    .fc_link a,
    .twotypes_box h3,
    .home_button.w a,
    .common_plan ul li {
        outline: 0.7px solid #005e78;
    }

    .home_button.n a {
        outline: 0.7px solid #fff;
    }

    section.plan_table .campaign,
    .common_plan ul li,
    .rbs {
        outline-offset: -5px;
    }

    .hr_area ul li p {
        border: 0.7px solid #005e78;
    }

    .hr_area ul li:before {
        border-bottom: 7vh solid transparent;
        border-left: 7vh solid #005e78;
    }

    .hr_area ul li:after {
        font-size: 1.5rem;
    }

    .background.one,
    .background.two {
        height: 50vh;
    }

    .hp_price_b ul li {
        font-size: 1.3rem;
    }

    .home.data_inner {
        height: 32vh;
    }

    .ibj_b_r {
        padding: 0 0 0 1vw;
    }

    ul.floating {
        padding: 0;
    }

    .copyright {
        padding-top: 7vh;
    }

    nav.globalMenuSp a.en {
        font-size: 1.3rem;
    }

    nav.globalMenuSp li a,
    .gms_bottom a {
        font-size: 1.2rem;
    }

    nav.globalMenuSp.active li.terms a {
        font-size: 1.1rem;
    }

    .gms_bottom a {
        width: 55%;
    }

    nav.globalMenuSp ul {
        width: 100%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }

    nav.globalMenuSp ul li {
        width: 47%;
    }

    nav.globalMenuSp li a {
        padding: 1vw;
    }

    nav.globalMenuSp ul {
        padding: 3vw 0 5vh;
    }

    footer#footer nav ul li a {
        height: 5vh;
        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;
    }

    nav.globalMenuSp ul.sp_sns img {
        height: 2.5vw;
    }

    nav.globalMenuSp ul.sp_sns {
        margin-top: 0;
    }

    section.page_mv {
        height: 30vh;
    }

    img.gms_logo {
        width: 35%;
    }

    .footer_menu {
        display: block !Important;
    }

    ul.floating {
        background: #005e78;
        margin: 0 auto;
        width: 100%;
        overflow: hidden;
        display: table;
        table-layout: fixed;
        text-align: center;
        width: 100%;
    }

    ul.floating li {
        margin: 0;
        padding: 0;
        display: table-cell;
        vertical-align: middle;
        list-style-type: none;
        font-size: 13px;
        line-height: 15px;
    }

    li.fml,
    li.fmr {
        width: 25%;
    }

    li.fm_fc {
        width: 50%;
        border-left: 1px solid #fff;
        border-right: 1px solid #fff;
    }

    li.fm_fc img {
        margin-bottom: 1vw;
        margin-top: 1vw;
    }

    ul.floating li a i {
        font-size: 15px;
        padding: 5px;
        color: #fff;
    }

    ul.floating li a {
        border: none;
        display: block;
        color: #fff;
        text-align: center;
        text-decoration: none;
        line-height: 1.5em;
    }

    .floating {
        position: fixed;
        bottom: 0;
        left: 0;
        background: #333;
        -moz-opacity: 0.9;
        opacity: 0.9;
        z-index: 101;
    }

    section.page_mv.access {
        background-position: right 33% bottom 0%;
    }


    /*--------------------------------
ハンバーガーメニュー
---------------------------------*/
    .hamburger {
        display: block;
        z-index: 3;
        height: auto;
        cursor: pointer;
        text-align: center;
        color: #333;
    }

    nav.globalMenuSp {
        position: fixed;
        z-index: 1000;
        top: 0;
        right: 0;
        color: #fff;
        background: rgb(0 94 120 / 95%);
        text-align: center;
        width: 75%;
        -webkit-transform: translateX(150%);
        -ms-transform: translateX(150%);
        transform: translateX(150%);
        -webkit-transition: all 0.6s;
        -o-transition: all 0.6s;
        transition: all 0.6s;
        min-height: 100vh;
    }

    .gms_inner {
        margin-top: 9vw;
    }

    nav.globalMenuSp ul {
        margin: 0 auto;
    }

    nav.globalMenuSp ul li {
        list-style-type: none;
        padding: 0;
        -webkit-transition: .4s all;
        -o-transition: .4s all;
        transition: .4s all;
    }

    nav.globalMenuSp ul li:last-child {
        padding-bottom: 0;
    }



    nav.globalMenuSp ul li:hover {
        background: rgb(255 255 255 / 80%);
    }


    nav.globalMenuSp.active {
        opacity: 100;
        display: block;
        -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
        transform: translateX(0%);
    }

    .is-fixed {
        display: none !important;
    }

    nav.globalMenuSp ul li a:hover {
        color: #2196f3;
    }

    nav.globalMenuSp li a {
        text-decoration: none;
        display: block;
        letter-spacing: 1px;
        border-bottom: 0.7px solid #fff;
    }

    .gms_bottom a {
        padding: 0.7vh 0;
        outline: 1px solid #005e78;
        outline-offset: -2px;
        display: block;
        color: #005e78;
        text-decoration: none;
        background: #fff;
        margin: 0 auto;
    }

    .batsu {
        display: block;
        position: relative;
        width: 30px;
        height: 30px;
    }

    .batsu::before,
    .batsu::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1px;
        height: 67%;
        background: #005e78;
    }

    .batsu::before {
        -webkit-transform: translate(-50%, -50%) rotate(45deg);
        -ms-transform: translate(-50%, -50%) rotate(45deg);
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .batsu::after {
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        -ms-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .close {
        position: absolute;
        top: 0;
        left: -5vw;
        background: #e0eef2;
        height: 5vw;
        width: 5vw;
        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;
    }


    /*--------------------------------
モーダルウィンドウ
---------------------------------*/
    .modal-window {
        -webkit-transform: translate(0, 100%);
        -ms-transform: translate(0, 100%);
        transform: translate(0, 100%);
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 999;
        opacity: 0;
        line-height: 1.3;
        display: none9;
    }

    .modal-window:target {
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1;
    }

    .is-active.modal-window {
        display: block9;
    }

    .modal-window:target {
        display: block9;
    }

    .modal-window .modal-inner {
        position: absolute;
        top: 100px;
        left: 5%;
        z-index: 20;
        padding: 5%;
        margin: 0 auto;
        width: 80%;
        overflow-x: hidden;
        border-radius: 6px;
        background: #fff;
        -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
    }

    .modal-window .modal-close {
        display: block;
        text-indent: -100px;
        overflow: hidden;
    }

    .modal-window .modal-close:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        background: #333;
        -moz-opacity: 0.7;
        opacity: 0.7;
    }

    .modal-window .modal-close:after {
        content: '\00d7';
        position: absolute;
        top: 70px;
        right: 15%;
        z-index: 20;
        margin: 0 auto;
        background: #fff;
        border-radius: 2px;
        padding: 10px 10px;
        text-decoration: none;
        text-indent: 0;
    }

    .modal-window {
        -webkit-transition: opacity 0.4s;
        -o-transition: opacity 0.4s;
        transition: opacity 0.4s;
    }


    ul.sp_sns.sp_block a {
        border-bottom: none;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        height: 30vh;
    }

    section.page_mv.pp h1,
    section.page_mv.te h1,
    .single section.page_mv h1 {
        top: 4vh;
    }

    .article-content p.share {
        font-size: 1.2rem;
    }

    .sidebar-inner {
        margin-top: 3.5em;
    }

    .access_link_wrap p {
        font-size: 1.1rem;
    }

    .access_link_wrap .home_button.n a {
        font-size: 1.2rem;
    }

    .f_address {
        font-size: 0.9rem;
    }
}

/*---------------------------------------------------------
  i pad pro landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 1025px) and (max-device-width: 1366px) and (orientation: landscape) {



    section.mv,
    img.mv_img {
        height: 79vh;
    }

    header {
        height: 3vh !important;
    }

    .mvbb_l p:before {
        top: 5.5vh !important;
        left: 8vh !important;
    }

    .mvbb_l p:after {
        top: 5.5vh !important;
        right: 4vh !important;
    }

    h2.home,
    .contact_form h3 {
        font-size: 4rem !important;
    }

    nav.footer_nav,
    .footer_fc.home_button.w,
    ul.nav_bottom,
    footer#footer ul.sns,
    .menu-toggle {
        display: none;
    }


    a#topBtn {
        display: none !important;
    }

    li.fm_fc img {
        margin-bottom: 0.5vw;
        width: 3.5%;
    }

    ul.floating li a i {
        font-size: 1.5rem;
    }

    .background.one,
    .background.two {
        height: 45vh;
    }

    .common_plan ul li {
        font-size: 1.1rem !important;
    }

    table.plan td.course {
        font-size: 0.9rem !important;
    }

    .data_box ul li {
        height: 17vh;
    }

    ul.floating {
        border-top: 1px solid #fff;
    }

    .rb_r {
        height: 21vh;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        margin-top: 0;
    }

    nav.globalMenuSp ul.sp_sns img {
        height: 2vw !important;
    }

    ul.sp_sns.sp_block {
        padding: 2vh;
    }

    .mm_box p.bottom,
    .mm_box p.top,
    .mm_box p,
    p.among {
        font-size: 1.2rem;
    }

    .mm_box.mt.two,
    .mm_box.mt.three {
        padding: 2vh 13vh 5vh;
    }

    img.gms_logo {
        width: 29%;
    }

    ul.sp_sns img {
        height: 2vw !important;
    }
}

/*---------------------------------------------------------
  i pad air portrait
  ---------------------------------------------------------*/
@media screen and (min-width: 767px) and (max-width: 835px) {

    h2.home,
    .contact_form h3 {
        font-size: 3.4rem;
    }

    section.page_mv h1 {
        font-size: 3.2rem;
    }

    section.fc h2.home,
    section.office h2 {
        font-size: 3rem;
    }

    .home.campaign h3 {
        font-size: 2.8rem;
    }

    section.reason_area h2 span.elina {
        font-size: 2.4rem;
    }

    .home.campaign span.mvbb.number,
    .home.campaign p span.note span.elina,
    section.counselor h2,
    section.flow_area h2,
    section.plan_table h2,
    .eg_inner h2,
    .common_plan span.elina,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2 {
        font-size: 2.1rem;
    }

    .hr_area ul li:after,
    .home.data_inner span.elina,
    span.re_large,
    .age_group h3 span,
    .common_plan span.elina {
        font-size: 1.8rem;
    }

    span.large {
        font-size: 1.7rem;
    }

    .flow_box h3 span,
    section.data_area h2,
    section.qa h2 {
        font-size: 1.6rem;
    }

    .mvbb_l p,
    .fc_link a,
    p.name_area span,
    .data_area.home h3,
    nav.globalMenuSp a.en,
    .common_plan h3,
    .db_l h4.man,
    .db_r h4.woman,
    .matchmaking_n_area h5,
    .flow_box h3,
    .data_box ul li .p span.elina,
    .age_group h3,
    article.article-content h1,
    section.data_area .toc ul li a span.elina {
        font-size: 1.4rem;
    }

    .mvbb_l p,
    .fc_link a,
    p.name_area span,
    .data_area.home h3,
    nav.globalMenuSp a.en,
    .common_plan h3,
    .db_l h4.man,
    .db_r h4.woman,
    .matchmaking_n_area h5,
    section.home_concept h3,
    section.home_plan h3,
    .home.campaign p,
    .reason_box h3 span.elina,
    .mm_box p span,
    .hp_price_b ul li,
    .non-member h3,
    .article-content h2 {
        font-size: 1.3rem;
    }

    section.home_concept h3,
    .twotypes_box h3,
    .data_box ul li {
        font-size: 1.2rem;
    }

    .home_button.w a,
    .home_button.n a,
    p.name,
    .fc_link a,
    .hp_price_b ul li,
    p.kaiin_deta,
    .gms_bottom a,
    p.c_name,
    span.notoserif.so,
    .qa dt span.qa,
    .qa dd span.qa,
    .eg_box h3,
    ul.floating li a i,
    section.data_area .toc ul li a {
        font-size: 1.1rem;
    }

    p.title_b_text,
    section.home_reason p.title_b_text.b,
    table.home_flow td.right,
    .non-member span.noto.number,
    section.data_area .sub_copy p,
    .mm_box p,
    .fc_link span.kana_small,
    section.home_fc h3.one,
    nav.globalMenuSp li a,
    .rb_bottom .btm a,
    .cou_massage h4,
    .common_plan ul li,
    p.initialcost,
    section.qa .toc ul li a,
    .qa dt,
    .terms_table tr th,
    section.fc p.cta,
    .qa dd,
    .terms_table tr td,
    section.fc h3.one,
    .table-res-form th,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    span.wpcf7-list-item-label,
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    .table-res-form input[type=submit],
    .privacy_policy h2,
    .access_link_wrap p {
        font-size: 1rem;
    }

    nav.globalMenuSp.active li.terms a,
    .home.campaign p.text {
        font-size: 1rem !important;
    }

    span.jp,
    .hc_l .home_button.n a,
    p.name_area,
    table.home_flow td.left,
    .hc_ibj_area h4,
    section.reason_area h2 span,
    .rb_bottom p,
    section.counselor h2 span,
    section.counselor h3 span,
    .ct_r ul li,
    .greeting p,
    .ps p,
    .cou_massage p.text,
    .support p,
    section.plan_table h2 span,
    .eg_inner h2 span,
    table.plan td.course,
    section.data_area h2 span.small,
    .data_massage p,
    .contact_form p.form_line,
    section.flow_area h2 span,
    td.course.brw.B:before,
    table.plan td.menu,
    table.plan span.noto.number,
    table.plan td,
    .non-member td.menu,
    .article-content p,
    .article-content b,
    .article-content table,
    .article-content ul,
    .article-content ol,
    .widget_recent_entries li a,
    .sidebar-title,
    .page-nav .prev-link:before,
    .page-nav .next-link:before,
    .mm_box p,
    .mm_box p.bottom,
    .mm_box p.top,
    .home.campaign p span.note,
    section.plan_type h2 span,
    section.plan_table h2 span,
    .eg_inner h2 span,
    .tb_r .link a,
    table.plan td.top span.menu,
    section.office p.address {
        font-size: 0.9rem;
    }

    .flow_box p {
        font-size: 0.85rem;
    }

    .hc_l p,
    section.home_fc p.text,
    section.plan_table p.notes,
    table.plan td.course,
    .single span.article-date,
    .page-nav .prev-link,
    .page-nav .next-link,
    section.fc p.text,
    p.pp a,
    .privacy_policy p,
    .privacy_policy ol,
    section.office p.address span.bg,
    .f_address {
        font-size: .8rem;
    }

    section.plan_table .campaign span.note {
        font-size: .8rem !important;
    }

    .hr_area ul li p,
    .article-content .cat-data li,
    .breadcrumb {
        font-size: .7rem;
    }

    span.text_notes {
        letter-spacing: 1px;
    }

    .mvbb_l p:before {
        left: 1vh;
    }

    .mvbb_l p:after {
        right: -2vh;
    }

    .fc_link a {
        outline: 1px solid #005e78;
    }

    table.home_flow {
        width: 85%;
    }

    .hc_ibj_area h4 {
        letter-spacing: 1px;
    }

    .youtube {
        width: 80%;
        margin: 3vh auto 0;
    }

    .ct_l img {
        width: 85%;
    }

    .cou_massage p.c_name img {
        top: 0.3em;
    }

    .flow_box.one .flow_l img,
    .flow_box.two .flow_r img {
        width: 85%;
    }

    .ct_r ul {
        padding: 0 4vh 0 0;
    }

    td.course.brw.B:before {
        top: -2vw;
    }


    .data_massage {
        padding: 1vh 2em 3vh;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        height: 6vh;
    }

    .site-title-wrap img {
        width: 79%;
        margin: 0 auto;
    }

    section.page_mv h1 {
        letter-spacing: .1em;
    }

    li.fm_fc img {
        margin-bottom: 0;
    }

    .qa_inner {
        width: 90%;
    }

    section.qa .toc ul li a {
        height: 4vw;
    }

    .qa dd {
        padding-left: 3em;
        text-indent: -3em;
    }

    .fc_l img {
        margin-top: 2vh;
    }

    .home_button.line a:before {
        width: 20px;
        height: 20px;
    }

    form.wpcf7-form.init {
        width: 100%;
    }

    .table-res-form {
        width: 90%;
    }

    .mm_box p.top {
        top: 0vh;
    }

    .mm_box p.bottom,
    .mm_box p {
        bottom: -2vh;
    }

    .tb_l {
        outline-offset: -6px;
    }

    table.plan td.top p {
        display: none;
    }

    span.off.noto.number.sp_block {
        display: inline-block;
        background: #59afc7;
        color: #fff;
        width: 50%;
    }

    .office_inner,
    .route_inner,
    .gmap {
        width: 98%;
    }

    .ob_left {
        width: 49%;
    }

    .ob_right {
        margin-top: 4em;
    }

    .access_wrap ul {
        width: 90%;
    }

    .gmap {
        margin: 0 auto;
    }
}

/*---------------------------------------------------------
  i pad air landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 1025px) and (max-device-width: 1180px) and (orientation: landscape) {

    .type_box h3 {
        font-size: 3.5rem;
    }

    .home.campaign h3,
    section.page_mv h1 {
        font-size: 3rem;
    }

    span.mvbb.number {
        font-size: 2.8rem;
    }

    span.mvbb.number,
    section.reason_area h2 span.elina,
    .data_massage h3 {
        font-size: 2.5rem;
    }

    .home.campaign span.mvbb.number,
    .home.campaign p span.note span.elina,
    .home.data_inner span.elina,
    section.counselor h2,
    span.re_large,
    section.flow_area h2,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2,
    .age_group h3 span,
    h2.home,
    .contact_form h3 {
        font-size: 2.2rem;
    }

    h2.home,
    .contact_form h3 {
        font-size: 3.5rem !important;
    }

    .mvbb_l p,
    .mvbb_l p,
    section.reason_area h2,
    .common_plan span.elina,
    section.data_area h2 {
        font-size: 2rem;
    }

    .common_plan h3,
    span.large,
    section.qa h2 {
        font-size: 1.8rem;
    }

    section.home_concept h3,
    p.name_area span,
    .rb_r,
    .flow_box h3,
    section.data_area .toc ul li a span.elina,
    .age_group h3,
    .data_box ul li .p span.elina,
    .mm_box p span,
    article.article-content h1 {
        font-size: 1.6rem;
    }

    .fc_link span.kana_small,
    .home.campaign p,
    .home.campaign p span.note,
    .data_area.home h3,
    .db_l h4.man,
    .db_r h4.woman {
        font-size: 1.5rem;
    }

    .twotypes_box h3,
    section.home_plan h3,
    section.home_fc h3.one,
    .rb_bottom h4,
    section.data_area .toc ul li a,
    .matchmaking_n_area h5,
    .article-content h2 {
        font-size: 1.4rem;
    }

    .hc_l .home_button.n a,
    .home_button.w a,
    .home_button.n a,
    p.kaiin_deta,
    p.name,
    .support h4,
    ul.floating li a i,
    section.fc h3.one {
        font-size: 1.3rem;
    }

    section.home_reason p.title_b_text.b,
    .cou_massage h4,
    span.notoserif.so,
    .data_box ul li,
    .qa dt span.qa,
    .qa dd span.qa,
    .privacy_policy h2,
    section.route h3 {
        font-size: 1.2rem;
    }

    table.home_flow td,
    table.home_flow th,
    .hc_ibj_area h4,
    section.home_fc p.text,
    .type_box h3 span,
    span.noto.number,
    p.initialcost,
    p.title_b_text,
    section.fc p.cta,
    .table-res-form input[type=submit],
    section.fc .home_button.n a,
    section.office p.address,
    .access_wrap ul li {
        font-size: 1.1rem;
    }

    .hc_l p,
    .hr_area ul li p,
    section.counselor h2 span,
    section.counselor h3 span,
    .ct_r ul li,
    .greeting p,
    .ps p,
    .cou_massage p,
    section.reason_area h2 span,
    .rb_bottom p,
    section.flow_area h2 span,
    .flow_box p,
    .support p,
    section.plan_type h2 span,
    section.plan_table h2 span,
    .eg_inner h2 span,
    table.plan td,
    table.plan th,
    td.menu,
    section.data_area h2 span.small,
    section.data_area .sub_copy p,
    .data_massage p,
    .qa dt,
    .qa dd,
    .terms_table tr th,
    .terms_table tr td,
    span.jp,
    section.fc p.text,
    .contact_form p.form_line,
    .table-res-form th,
    span.wpcf7-list-item-label,
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    .privacy_policy p,
    .privacy_policy ol,
    .article-content p,
    .article-content b,
    .article-content table,
    .article-content ul,
    .article-content ol,
    section.office p.address span.bg,
    .office_box .text_wrap p {
        font-size: 1rem;
    }

    .home.campaign p.text {
        font-size: 1rem !important;
    }


    .tb_r .link a,
    p.pp a,
    ul.roure_under_wrap li p,
    ul.roure_up_wrap li p {
        font-size: 0.9rem;
    }

    section.page_mv span.small,
    .home.campaign p span.note,
    .breadcrumb,
    ul.roure_under_wrap li p::before,
    ul.roure_up_wrap li p::before {
        font-size: 0.8rem;
    }

    .home_button.line a {
        font-size: 1.3rem;
        padding: 1vh 0;
        outline: 0.7px solid #fff;
        outline-offset: -3px;
        width: 60%;
    }

    .home_button.line a:before {
        padding-right: 1.5vh;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        margin-top: 6.5vh;
    }

    .qa dd {
        padding-left: 4em;
        text-indent: -4em;
    }

    .mm_box.mt.two,
    .mm_box.mt.three {
        padding: 2vh 15vh 5vh;
    }

    .age_group h3 {
        padding: 0;
    }


    .common_plan ul li {
        padding: 2vh 0 1vh;
    }

    .flow_box h3 span {
        font-size: 1.8rem;
        top: 1px;
    }

    .rb_bottom .btm a {
        margin-top: 1em;
    }

    td.course.brw.B:before {
        top: -1.6vw;
        font-size: 1.1rem;
    }

    table.plan td.top p {
        right: -4vh;
    }

    .rb_r {
        height: 27vh;
    }

    section.reason_area h2 {
        margin-bottom: 10vh;
    }

    .ra_inner,
    .cou_top,
    .flow_inner,
    section.campaign,
    .pt_inner,
    .eg_area,
    .data_inner.page,
    .fc_inner,
    .single .container {
        width: 90%;
    }

    .qa_inner {
        width: 80%;
    }

    section.reason_area h2 img {
        width: 21%;
    }

    .cm_inner {
        width: 70%;
    }

    span.text_notes {
        font-size: 0.9rem;
        letter-spacing: 1px;
    }

    .site-title-wrap img {
        width: 80%;
    }

    img.gms_logo {
        width: 33%;
    }

    span.text_notes {
        font-size: 1rem;
        letter-spacing: 1px;
    }

    .mvbb_l p:before {
        top: 5.5vh !important;
        left: 6vh !important;
    }

    .mvbb_l p:after {
        top: 5.5vh !important;
        right: 1vh !important;
    }

    .fc_link a {
        font-size: 1.6rem;
        padding: 1.5vh 6vh;
    }

    .hc_inner,
    .htt_inner,
    .hr_inner,
    hf_inner,
    .hd_inner,
    .hfc_inner {
        width: 95%;
    }

    .home_button.w a,
    .home_button.n a {
        padding: 0.5vh 0;
        width: 50%;
    }

    .hr_area ul li {
        width: 31%;
    }

    table.home_flow td.left {
        padding: 1.5em 1em;
    }

    table.home_flow td.right {
        padding: 1em 0 1em 2em !important;
    }

    ul.sp_sns {
        width: 23% !important;
    }

    section.data_area .toc ul li a {
        height: 3.5vw;
    }

    .data_box ul li {
        height: 21vh;
    }

    .mm_box p.bottom,
    .mm_box p {
        bottom: -3vh;
    }

    .mm_box p.bottom,
    .mm_box p.top,
    .mm_box p,
    p.among {
        font-size: 1.1rem;
    }

    .hc_l .home_button.n a {
        width: 65%;
    }

    .office_inner,
    .route_inner,
    .access_wrap ul,
    .gmap {
        width: 90%;
    }

    .gmap {
        height: 25vw;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        margin-top: 0;
    }
}

/*---------------------------------------------------------
  i pad portrait
  ---------------------------------------------------------*/
@media screen and (min-width: 767px) and (max-width: 768px) {

    section.office h2 {
        font-size: 3rem;
    }

    section.counselor h2,
    section.flow_area h2,
    section.plan_table h2,
    .eg_inner h2 {
        font-size: 1.9rem;
    }

    section.reason_area h2 {
        font-size: 1.8rem;
    }

    .hr_area ul li:after {
        font-size: 1.6rem;
    }

    .rb_r {
        font-size: 1.3rem;
    }

    section.home_concept h3,
    .twotypes_box h3 {
        font-size: 1.1rem;
    }

    section.route h3 {
        font-size: 1rem;
    }

    section.home_fc h3.one {
        font-size: 0.9rem;
    }

    .hc_ibj_area h4,
    .mm_box p,
    .mm_box p.bottom,
    .mm_box p.top,
    p.among,
    .office_box .text_wrap p {
        font-size: 0.8rem;
    }

    .hc_l p,
    .hc_ibj_area p {
        font-size: .7rem;
    }

    .site-title-wrap img {
        width: 64%;
        margin: 0 auto;
    }

    .mvbb_l p:before {
        width: 66px;
        height: 66px;
        top: 4vh;
    }

    .mvbb_l p:after {
        width: 66px;
        height: 66px;
        top: 4vh;
    }

    span.text_notes {
        letter-spacing: 0.5px;
    }

    .ra_inner {
        width: 90%;
    }

    .rb_r {
        height: 20vh;
        width: 60%;
    }

    .rb_l {
        width: 40%;
    }

    span.bg_n {
        width: 75%;
    }

    .support {
        padding: 3vh 1em 2vh;
    }


    .rbs {
        padding: 2.5em 1em 2em;
    }

    .fc_r {
        width: 50%;
    }

    .table-res-form {
        width: 70%;
    }

    .table-res-form th,
    .table-res-form td {
        padding: 1em 1em 1em 0;
    }

    .home_button.n a,
    .fc_link a,
    .twotypes_box h3,
    .home_button.w a {
        outline-offset: -3px;
    }

    .fc_link a,
    .twotypes_box h3,
    .home_button.w a,
    .common_plan ul li {
        outline: 0.7px solid #005e78;
    }

    .home_button.n a {
        outline: 0.7px solid #fff;
    }

    section.plan_table .campaign,
    .common_plan ul li,
    .rbs {
        outline-offset: -5px;
    }

    .ob_right {
        margin-top: 2em;
    }

    .access_link_wrap {
        margin-bottom: 3em;
    }
}

/*---------------------------------------------------------
  i pad landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {

    .type_box h3 {
        font-size: 3.5rem;
    }

    .home.campaign h3,
    section.page_mv h1 {
        font-size: 3rem;
    }

    span.mvbb.number {
        font-size: 2.8rem;
    }

    span.mvbb.number,
    section.reason_area h2 span.elina,
    .data_massage h3 {
        font-size: 2.5rem;
    }

    .home.campaign span.mvbb.number,
    .home.campaign p span.note span.elina,
    .home.data_inner span.elina,
    section.counselor h2,
    span.re_large,
    section.flow_area h2,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2,
    .age_group h3 span,
    h2.home,
    .contact_form h3 {
        font-size: 2.2rem;
    }

    h2.home,
    .contact_form h3 {
        font-size: 3.5rem !important;
    }

    .mvbb_l p,
    .mvbb_l p,
    section.reason_area h2,
    .common_plan span.elina,
    section.data_area h2 {
        font-size: 2rem;
    }

    .common_plan h3,
    span.large,
    section.qa h2 {
        font-size: 1.8rem;
    }

    p.name_area span,
    .rb_r,
    .flow_box h3,
    section.data_area .toc ul li a span.elina,
    .age_group h3,
    .data_box ul li .p span.elina,
    article.article-content h1 {
        font-size: 1.6rem;
    }

    .fc_link span.kana_small,
    .home.campaign p,
    .home.campaign p span.note,
    .data_area.home h3,
    .db_l h4.man,
    .db_r h4.woman {
        font-size: 1.5rem;
    }

    .twotypes_box h3,
    section.home_plan h3,
    .rb_bottom h4,
    section.data_area .toc ul li a,
    .matchmaking_n_area h5,
    .article-content h2,
    section.home_concept h3,
    .mm_box p span {
        font-size: 1.4rem;
    }

    .hc_l .home_button.n a,
    .home_button.w a,
    .home_button.n a,
    p.kaiin_deta,
    p.name,
    .support h4,
    ul.floating li a i,
    section.fc h3.one {
        font-size: 1.3rem;
    }

    section.home_reason p.title_b_text.b,
    .cou_massage h4,
    span.notoserif.so,
    .data_box ul li,
    .qa dt span.qa,
    .qa dd span.qa,
    .privacy_policy h2,
    section.home_fc h3.one {
        font-size: 1.2rem;
    }

    table.home_flow td,
    table.home_flow th,
    .hc_ibj_area h4,
    .type_box h3 span,
    span.noto.number,
    p.initialcost,
    p.title_b_text,
    section.fc p.cta,
    .table-res-form input[type=submit],
    section.fc .home_button.n a {
        font-size: 1.1rem;
    }

    .hr_area ul li p,
    section.counselor h2 span,
    section.counselor h3 span,
    .ct_r ul li,
    .greeting p,
    .ps p,
    .cou_massage p,
    section.reason_area h2 span,
    .rb_bottom p,
    section.flow_area h2 span,
    .flow_box p,
    .support p,
    section.plan_type h2 span,
    section.plan_table h2 span,
    .eg_inner h2 span,
    table.plan td,
    table.plan th,
    td.menu,
    section.data_area h2 span.small,
    section.data_area .sub_copy p,
    .data_massage p,
    .qa dt,
    .qa dd,
    .terms_table tr th,
    .terms_table tr td,
    span.jp,
    .contact_form p.form_line,
    .table-res-form th,
    span.wpcf7-list-item-label,
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    .privacy_policy p,
    .privacy_policy ol,
    .article-content p,
    .article-content b,
    .article-content table,
    .article-content ul,
    .article-content ol,
    .mm_box p,
    .mm_box p.bottom {
        font-size: 1rem;
    }

    .home.campaign p.text {
        font-size: 1rem !important;
    }


    .tb_r .link a,
    p.pp a,
    section.home_fc p.text,
    .hc_l p,
    section.fc p.text {
        font-size: 0.9rem;
    }


    section.page_mv span.small,
    .home.campaign p span.note,
    .breadcrumb {
        font-size: 0.8rem;
    }

    .booking_btm_area {
        width: 95%;
        margin: 0 auto;
    }

    .page-id-715 header,
    .privacy-policy header,
    .single-post header {
        position: absolute;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        margin-top: 9.5vh;
    }

    li.one br.sp_block,
    ul.ctype li.two br.sp_block {
        display: none;
    }

    .home.campaign p span.monthly span.elina {
        font-size: 2.3rem;
    }

    table.plan td.top p {
        top: 8.5vh;
        right: -4.5vh;
    }

    section.home_fc .home_button {
        margin-top: 5vh;
    }

    .reason_box.mt {
        margin-top: 5vw;
    }

    .rb_bottom {
        margin-top: 4vw;
    }

    .support {
        padding: 4vw 2em 2vw;
        margin-top: 4vw;
    }

    section.flow_area h2 {
        margin-bottom: 3vw;
    }

    .rb_r {
        height: 26vh;
    }

    .data_box ul li {
        height: 19vh;
    }

    .mm_box p.bottom {
        bottom: -3.5vh;
    }

    .mm_box p.top {
        top: -0.5vh;
    }

    .mm_box.mt.two,
    .mm_box.mt.three {
        padding: 2vh 14vh 3vh;
    }

    .mm_box p {
        bottom: -3.5vh;
    }

    section.page_mv.access {
        background-position: right 66% bottom 72%;
    }

    section.page_mv.pp,
    section.page_mv.te,
    .single section.page_mv {
        margin-top: 0;
    }
}

/*---------------------------------------------------------
 小型PC
---------------------------------------------------------*/
@media screen and (min-width:1270px) and (max-width:1480px) {

    header nav#g-nav {
        width: 100%;
    }


    h2.home,
    .contact_form h3 {
        font-size: 4.4vw;
    }

    section.fc h2.home {
        font-size: 3.7rem;
    }

    .home.campaign h3,
    section.page_mv h1 {
        font-size: 3.5rem;
    }

    span.mvbb.number {
        font-size: 3rem;
    }

    .home.campaign span.mvbb.number {
        font-size: 2.7rem;
    }

    section.flow_area h2,
    section.plan_table h2,
    .eg_inner h2,
    .data_massage h3,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2 {
        font-size: 2.6rem;
    }

    .home.data_inner span.elina,
    span.re_large,
    section.counselor h2,
    span.en {
        font-size: 2.5rem;
    }

    .mvbb_l p,
    section.data_area h2,
    .age_group h3 span {
        font-size: 2.3rem;
    }

    .common_plan span.elina {
        font-size: 2.2rem;
    }

    span.large,
    section.qa h2,
    .age_group h3 {
        font-size: 2rem;
    }

    .hr_area ul li:after,
    .flow_box h3,
    .flow_box h3 span,
    .data_box ul li .p span.elina {
        font-size: 1.8rem;
    }

    .fc_link a,
    section.home_concept h3,
    .rb_r,
    .common_plan h3,
    .non-member h3,
    article.article-content h1 {
        font-size: 1.7rem;
    }

    p.name_area span,
    section.home_plan h3,
    .home.campaign p,
    .home.campaign p span.note,
    .hp_price_b ul li,
    .data_area.home h3,
    .db_l h4.man,
    .db_r h4.woman,
    .matchmaking_n_area h5,
    .mm_box p span {
        font-size: 1.6rem;
    }

    .twotypes_box h3,
    p.name,
    .article-content h2,
    .home_button.line a {
        font-size: 1.5rem;
    }

    p.kaiin_deta,
    section.home_fc h3.one,
    .rb_bottom h4,
    .support h4,
    section.fc h3.one {
        font-size: 1.4rem;
    }

    header nav ul li a,
    nav.footer_nav ul li a,
    .home_button.n a,
    .home_button.w a,
    p.c_name,
    span.notoserif.so,
    .qa dt span.qa,
    .qa dd span.qa,
    .data_box ul li,
    .type_box h3 span {
        font-size: 1.3rem;
    }

    .hc_l .home_button.n a,
    p.title_b_text,
    section.home_reason p.title_b_text.b,
    table.home_flow th,
    .cou_massage h4,
    .common_plan ul li,
    .privacy_policy h2,
    .contact_form p.form_line,
    section.data_area .sub_copy p,
    .mm_box p {
        font-size: 1.2rem;
    }

    p.name_area,
    table.home_flow td,
    .hc_ibj_area h4,
    section.home_fc p.text,
    .ct_r ul li,
    .greeting p,
    .ps p,
    .cou_massage p.text,
    .flow_box p,
    .support p,
    table.plan td,
    table.plan th,
    td.menu,
    span.noto.number,
    section.qa .toc ul li a,
    .qa dt,
    .qa dd,
    .terms_table tr th,
    .terms_table tr td,
    section.fc p.cta,
    .table-res-form th,
    span.wpcf7-list-item-label,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    .table-res-form input[type=submit],
    p.initialcost {
        font-size: 1.1rem;
    }

    span.jp,
    .hc_l p,
    .hr_area ul li p,
    .rb_bottom p,
    section.counselor h2 span,
    section.counselor h3 span,
    td.course.brw.B:before,
    .article-content p,
    .article-content b,
    .article-content table,
    .article-content ul,
    .article-content ol,
    .privacy_policy p,
    .privacy_policy ol,
    section.fc p.text,
    .data_massage p {
        font-size: 1.05rem;
    }


    .rb_bottom .btm a,
    table.plan td.course,
    td.menu span.noto.number,
    p.pp a {
        font-size: 1rem;
    }

    .home.campaign p span.note {
        font-size: 1rem !important;
    }

    .hc_ibj_inner p,
    .tb_r .link a {
        font-size: 0.95rem;
    }

    span.text_notes,
    section.plan_table p.notes,
    .single span.article-date {
        font-size: 0.9rem;
    }

    .share li a,
    .breadcrumb {
        font-size: 0.8rem;
    }


    .site-title-wrap img {
        width: 80%;
    }

    img.mv_copy {
        right: 6%;
        width: 48%;
    }

    .mvbb_l p:before {
        top: 7.5vh;
        left: 13vh;
    }

    .mvbb_l p:after {
        top: 7.5vh;
        right: 8vh;
    }

    .home_button.w a {
        padding: 1vh 0vh;
        width: 43%;
    }

    .flow_box h3 span {
        top: 0px;
    }

    .common_plan ul li {
        padding: 2vh 2vh 1vh;
    }

    .qa dd {
        padding-left: 4.3em;
        text-indent: -4.3em;
    }

    nav.globalMenuSp ul.sp_sns img {
        height: 3vw;
    }

    nav.globalMenuSp ul.sp_sns {
        width: 25% !important;
    }

    .tb_r .link a {
        width: 22%;
    }

    .tb_r {
        padding: 2vh 2vh;
    }

    .tb_r span.elina {
        padding-left: 0.1em;
    }

    table.plan td.top p {
        right: -4vh;
    }

    table.plan td.top p:before {
        bottom: -15px;
        right: 51px;
    }

    .office_inner,
    .route_inner,
    .access_wrap ul,
    .gmap {
        width: 85%;
    }

    .site-title-wrap h1 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;
    }
}

/*---------------------------------------------------------
 中型PC
---------------------------------------------------------*/
@media screen and (min-width:1481px) and (max-width: 1732px) {


    h2.home,
    .contact_form h3 {
        font-size: 4.4vw;
    }

    section.fc h2.home {
        font-size: 3.7rem;
    }

    .home.campaign h3,
    section.page_mv h1 {
        font-size: 3.5rem;
    }

    span.mvbb.number {
        font-size: 3rem;
    }

    .home.campaign span.mvbb.number {
        font-size: 2.7rem;
    }

    section.flow_area h2,
    section.plan_table h2,
    .eg_inner h2,
    .data_massage h3,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2 {
        font-size: 2.6rem;
    }

    .home.data_inner span.elina,
    span.re_large,
    section.counselor h2,
    span.en {
        font-size: 2.5rem;
    }

    .mvbb_l p,
    section.data_area h2,
    .age_group h3 span {
        font-size: 2.3rem;
    }

    .common_plan span.elina {
        font-size: 2.2rem;
    }

    span.large,
    section.qa h2,
    .age_group h3 {
        font-size: 2rem;
    }

    .hr_area ul li:after,
    .flow_box h3,
    .flow_box h3 span,
    .data_box ul li .p span.elina {
        font-size: 1.8rem;
    }

    .fc_link a,
    section.home_concept h3,
    .rb_r,
    .common_plan h3,
    .non-member h3,
    article.article-content h1 {
        font-size: 1.7rem;
    }

    p.name_area span,
    section.home_plan h3,
    .home.campaign p,
    .home.campaign p span.note,
    .hp_price_b ul li,
    .data_area.home h3,
    .db_l h4.man,
    .db_r h4.woman,
    .matchmaking_n_area h5,
    .mm_box p span {
        font-size: 1.6rem;
    }

    .twotypes_box h3,
    p.name,
    .article-content h2,
    .home_button.line a {
        font-size: 1.5rem;
    }

    p.kaiin_deta,
    section.home_fc h3.one,
    .rb_bottom h4,
    .support h4,
    section.fc h3.one {
        font-size: 1.4rem;
    }

    header nav ul li a,
    nav.footer_nav ul li a,
    .home_button.n a,
    .home_button.w a,
    p.c_name,
    span.notoserif.so,
    .qa dt span.qa,
    .qa dd span.qa,
    .data_box ul li,
    .type_box h3 span {
        font-size: 1.3rem;
    }

    .hc_l .home_button.n a,
    p.title_b_text,
    section.home_reason p.title_b_text.b,
    table.home_flow th,
    .cou_massage h4,
    .common_plan ul li,
    .privacy_policy h2,
    .contact_form p.form_line,
    section.data_area .sub_copy p,
    .mm_box p,
    .access_link_wrap .home_button.n a {
        font-size: 1.2rem;
    }

    p.name_area,
    table.home_flow td,
    .hc_ibj_area h4,
    section.home_fc p.text,
    .ct_r ul li,
    .greeting p,
    .ps p,
    .cou_massage p.text,
    .flow_box p,
    .support p,
    table.plan td,
    table.plan th,
    td.menu,
    span.noto.number,
    section.qa .toc ul li a,
    .qa dt,
    .qa dd,
    .terms_table tr th,
    .terms_table tr td,
    section.fc p.cta,
    .table-res-form th,
    span.wpcf7-list-item-label,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    .table-res-form input[type=submit],
    p.initialcost,
    .access_link_wrap p {
        font-size: 1.1rem;
    }

    span.jp,
    .hc_l p,
    .hr_area ul li p,
    .rb_bottom p,
    section.counselor h2 span,
    section.counselor h3 span,
    td.course.brw.B:before,
    .article-content p,
    .article-content b,
    .article-content table,
    .article-content ul,
    .article-content ol,
    .privacy_policy p,
    .privacy_policy ol,
    section.fc p.text,
    .data_massage p {
        font-size: 1.05rem;
    }


    .rb_bottom .btm a,
    table.plan td.course,
    td.menu span.noto.number,
    p.pp a {
        font-size: 1rem;
    }

    .hc_ibj_inner p {
        font-size: 0.95rem;
    }

    span.text_notes,
    section.plan_table p.notes,
    .single span.article-date {
        font-size: 0.9rem;
    }

    .share li a,
    .breadcrumb {
        font-size: 0.8rem;
    }

    span.mvbb.number {
        font-size: 3.1rem;
    }

    .mvbb_l p {
        font-size: 2.3rem;
    }

    .hr_area ul li::after {
        font-size: 2.2rem;
    }

    section.home_fc h3.one,
    section.fc h3.one {
        font-size: 1.5rem;
    }

    .common_plan ul li,
    .mm_box p,
    .mm_box p.bottom,
    .mm_box p.top {
        font-size: 1.3rem;
    }

    table.plan td,
    table.plan th,
    .hr_area ul li p {
        font-size: 1.1rem;
    }

    .hc_l p {
        font-size: 1rem;
    }

    .article-content .cat-data li {
        font-size: .7rem;
    }

    .site-title-wrap img {
        width: 88%;
    }

    header nav ul li,
    nav.footer_nav ul li {
        position: relative;
        padding: 0px 1vh;
    }

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

    .mvbb_l p::before {
        left: 13vh;
    }

    .mvbb_l p::after {
        right: 8vh;
    }



    .common_plan ul li {
        padding: 2vh 0 0.5vh;
    }

    table.plan td.top p {
        top: 8vh;
        right: -3vh;
    }

    table.plan td.top p:before {
        bottom: -16px;
    }

    .tb_r {
        padding: 2vh 2vh;
    }

    .site-title-wrap h1 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;
    }
}

/*---------------------------------------------------------
 大型PC
---------------------------------------------------------*/

@media screen and (min-width: 2000px) {

    header nav ul li a,
    nav.footer_nav ul li a {
        padding: 2vh 0;
    }

    h2.home,
    .contact_form h3 {
        font-size: 4.6vw;
    }

    section.fc h2.home,
    section.office h2 {
        font-size: 4.2vw;
    }

    section.page_mv h1 {
        font-size: 4vw;
    }

    .home.campaign h3 {
        font-size: 3.6vw;
    }

    .home.campaign span.mvbb.number,
    .home.data_inner span.elina {
        font-size: 2.8vw;
    }

    section.counselor h2,
    section.flow_area h2,
    section.plan_table h2,
    .eg_inner h2,
    span.re_large,
    span.en,
    .data_massage h3,
    section.plan_type h2,
    section.plan_table h2,
    .eg_inner h2 {
        font-size: 2.6vw;
    }

    .mvbb_l p,
    section.reason_area h2 {
        font-size: 2.5vw;
    }

    .home.campaign p span.note span.elina,
    section.data_area h2,
    .age_group h3 span {
        font-size: 2.3vw;
    }

    .common_plan span.elina {
        font-size: 2.1vw;
    }

    .flow_box h3 span,
    .age_group h3,
    section.qa h2 {
        font-size: 2vw;
    }

    section.data_area .toc ul li a span.elina {
        font-size: 1.9vw;
    }

    section.home_concept h3,
    .fc_link a,
    p.name_area span,
    .rb_r h3,
    .flow_box h3,
    .common_plan h3,
    .non-member h3,
    .data_box ul li .p span.elina {
        font-size: 1.8vw;
    }

    .db_l h4.man,
    .db_r h4.woman,
    section.data_area .toc ul li a {
        font-size: 1.7vw;
    }

    .twotypes_box h3,
    section.home_plan h3,
    .home.campaign p,
    .hp_price_b ul li,
    .matchmaking_n_area h5,
    .mm_box p span,
    article.article-content h1 {
        font-size: 1.6vw;
    }

    section.home_fc h3.one,
    .rb_bottom h4,
    p.name,
    .support h4,
    section.fc h3.one,
    .home_button.line a,
    .article-content h2,
    p.kaiin_deta {
        font-size: 1.5vw;
    }

    header nav ul li a,
    nav.footer_nav ul li a,
    .data_box ul li {
        font-size: 1.4vw;
    }

    span.notoserif.so {
        font-size: 1.35vw;
    }

    .hc_l .home_button.n a,
    .home_button.w a,
    section.home_reason p.title_b_text.b,
    .home_button.n a,
    p.title_b_text,
    .cou_massage h4,
    p.c_name,
    .mm_box p,
    .qa dt span.qa,
    .qa dd span.qa,
    .mm_box p.top,
    .mm_box p.bottom,
    .type_box h3 span,
    section.route h3 {
        font-size: 1.3vw;
    }

    p.name_area,
    table.home_flow td.right,
    section.home_fc p.text,
    .footer_fc.home_button.w a,
    .flow_box p,
    .support p,
    .common_plan ul li,
    td.course.brw.B:before,
    table.plan td,
    table.plan th,
    span.noto.number,
    p.initialcost,
    td.menu,
    .eg_box h3,
    section.data_area .sub_copy p,
    section.fc p.cta,
    .contact_form p.form_line,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    .article-content h3,
    .privacy_policy h2,
    table.plan td.top span.noto.number,
    section.office p.address,
    .access_wrap ul li,
    .access_link_wrap p,
    .access_link_wrap .home_button.n a {
        font-size: 1.2vw;
    }

    .home.campaign p.text {
        font-size: 1.2vw !important;
    }

    .hc_l p,
    span.jp,
    .hr_area ul li p,
    table.home_flow td.left,
    .hc_ibj_area h4,
    section.reason_area h2 span,
    .rb_bottom p,
    .ct_r ul li,
    .greeting p,
    section.counselor h2 span,
    section.counselor h3 span,
    .ps p,
    .cou_massage p.text,
    section.flow_area h2 span,
    section.plan_table h2 span,
    .eg_inner h2 span,
    section.data_area h2 span.small,
    .data_massage p,
    section.qa .toc ul li a,
    .qa dt,
    .qa dd,
    section.fc p.text,
    .table-res-form th,
    span.wpcf7-list-item-label,
    .table-res-form input[type=submit],
    .article-content h4,
    .terms_table tr th,
    .terms_table tr td,
    section.plan_type h2 span,
    section.plan_table h2 span,
    .eg_inner h2 span,
    .office_box .text_wrap p,
    section.office p.address span.bg,
    .slide p.title {
        font-size: 1.1vw;
    }

    table.plan td.course {
        font-size: 1.05vw;
    }

    span.text_notes,
    .hc_ibj_inner p,
    section.page_mv span.small,
    .rb_bottom .btm a,
    p.name span.small,
    p.pp a,
    .sidebar-title,
    .article-content p,
    .article-content b,
    .article-content table,
    .article-content ul,
    .article-content ol,
    .article-content h5,
    .privacy_policy p,
    .privacy_policy ol,
    ul.roure_under_wrap li p,
    ul.roure_up_wrap li p {
        font-size: 1vw;
    }



    .page-nav .prev-link:before,
    .page-nav .next-link:before,
    .tb_r .link a,
    table.plan td.top {
        font-size: 0.95vw;
    }

    section.plan_table p.notes,
    .table-res-form .requied,
    .share li a,
    .widget_recent_entries li a,
    .single span.article-date {
        font-size: 0.9vw;
    }

    section.plan_table .campaign span.note {
        font-size: 0.9vw !important;
    }

    ul.roure_under_wrap li p::before,
    ul.roure_up_wrap li p::before {
        font-size: .85vw;
    }

    footer#footer p.sub_title,
    ul.nav_bottom li a,
    .breadcrumb,
    .article-content .cat-data li,
    .page-nav .prev-link,
    .page-nav .next-link,
    .widget_recent_entries .post-date {
        font-size: .8vw;
    }

    .article-content .cat-data li {
        font-size: .7vw;
    }

    .copyright p {
        font-size: .6vw;
    }

    img.mv_copy {
        width: 47%;
        right: 6%;
    }

    .rbs {
        padding: 3em 2em 2em;
    }

    .rb_bottom .btm a {
        padding: 0.5em 0 0.3em;
    }


    .data_box ul li {
        height: 21vh;
    }

    form.wpcf7-form.init {
        width: 100%;
    }

    .table-res-form {
        width: 70%;
    }

    span.wpcf7-form-control.wpcf7-radio {
        position: relative;
        top: 17px;
    }

    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
        height: 3vw;
    }

    .sidebar-inner {
        margin-top: 6vh;
    }

    .tb_r {
        padding: 2vh 2vh;
    }

    table.plan td.top p span {
        font-size: 0.9vw !important;
        letter-spacing: 1px;
    }

    table.plan td.top p {
        padding: 0 8px;
        top: 10vh;
        right: -1.5vh;
    }

    .office_inner,
    .route_inner,
    .access_wrap ul,
    .gmap {
        width: 80%;
    }

    .gmap {
        height: 25vw;
    }

    .site-title-wrap h1 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;
    }

    .site-title-wrap img {
        width: auto;
        height: 6vh;
    }
}