/*@import url('https://fonts.googleapis.com/css?family=Quicksand:300,400,500,700');*/

@import url('https://fonts.googleapis.com/css?family=Quicksand');
@import url('https://fonts.googleapis.com/earlyaccess/sawarabimincho.css');
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

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

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

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

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

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

html {
    font-size: 62.5%;
    /*height: 100%;*/
}

body {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: auto;
    font-size: 1.6rem;
    line-height: 1.7;
    font-family: "Sawarabi Mincho", "Quicksand", "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    color: #333;
    background-color: #fff;
    /*height: 100%;*/
}

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    /*height: 100%;*/
}

p {
    margin-bottom: 16px
}

*, *::before, *::after {
    box-sizing: border-box;
}

.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}

.toggle {
    cursor: pointer;
    -webkit-transition: .7s;
    transition: .7s
}

.toggle:after {
    position: absolute;
    top: 20px;
    right: 16px;
    display: inline-block;
    line-height: 1;
    font-family: 'fontAwesome', sans-serif;
    font-style: normal;
    font-weight: normal;
    content: "\f055";
    font-size: 48px;
    -webkit-transition: .5s;
    transition: .5s
}

.toggle:hover {
    opacity: .7
}

.toggle--active {
    opacity: .6
}

.wf-sawarabimincho {
    font-family: "Sawarabi Mincho";
}


/* ----------------------------------------
  common
---------------------------------------- */

.toggle--active:after {
    content: "\f056";
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
}

.toggle__child {
    display: none
}

.ico-an-r:after {
    padding-left: 16px;
    font-size: 1.3em;
    display: inline-block;
    line-height: 1;
    font-family: 'fontAwesome', sans-serif;
    font-style: normal;
    font-weight: normal;
    content: "\f105"
}

a:link, a:visited {
    color: #E91E63
}

a:hover {
    text-decoration: none
}

.strong {
    font-weight: bold;
    color: #DE3337
}

.c01 {
    color: #f61bed;
}

.c02 {
    color: #f03bb2;
}

.roman {
    list-style-type: lower-roman;
    padding-left: 20px;
}

.decimal {
    list-style-type: decimal;
}


/* ----------------------------------------
  header
---------------------------------------- */

.header {
    width: 100%;
}

.header__inner {
    /*    max-width: 1440px;
    min-width: 1024px;
*/
    margin: 0 auto
}

.header__title {
    font-size: 10px;
    background-color: #FBF0FF;
}

.header__title__inner {
    max-width: 1440px;
    min-width: 1024px;
    margin: 0 auto;
    padding: 0 0;
    line-height: 1.2;
}

.header__middle {
    width: 100%;
    /*height: 100px;*/
    padding: 0 0 10px 0;
    background-color: #FFF;
}

.header__middle__inner {
    margin: 0 auto;
    max-width: 1440px;
    min-width: 1024px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.header__logo {
    -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
    padding-left: 16px;
}

.header__logo img {
    width: 100%;
}

.header__tel {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    padding-right: 16px;
    text-align: right;
}

.header__tel__item {
    margin-right: 48px
}

.header__tel__item:last-child {
    margin-right: 0
}

.header__tel__item__text {
    font-size: 2.2rem;
    line-height: 1;
    margin: 8px 0;
}

.header__tel__item__number {
    font-size: 2.8rem;
    line-height: 1;
    font-weight: bold
}

.menu-button {
    display:none;
}
/* ----------------------------------------
  gnav
---------------------------------------- */

.gnav {
    width: 100%;
    /*    height: 96px;
    line-height: 96px;
*/
    background-color: #000
}

.gnav__inner {
    max-width: 1440px;
    min-width: 1024px;
    margin: 0 auto
}

.gnav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.gnav__item {
    background-color: #000;
    -ms-flex-preferred-size: 16.66%;
        flex-basis: 16.66%;
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    border-left: 1px solid #FFF;
}

.gnav__item:last-child {
    background-color: #3c3c3c;
    font-size: 1.6rem;
    border-right: 1px solid #FFF
}

.gnav__item:last-child .gnav__link:before {
    font-family: 'FontAwesome';
    content: "\f0e0";
    padding-right: 5px;
}

.gnav__link {
    padding: 2rem 0;
    display: inline-block;
    width: 100%;
    height: 100%;
    -webkit-transition: .5s;
    transition: .5s;
}

.gnav__link:link, .gnav__link:visited {
    color: #FFF;
    text-decoration: none
}

.gnav__link:hover {
    background-color: #525252;
}

.contact:hover {
    background-color: #c7c7c7;
}


/* ----------------------------------------
  hero image
---------------------------------------- */

#hero {
}
#catch1 {
}

.hero {
    /*margin-top: 210px;*/
    margin-bottom: 64px;
    width: 100%;
    /*height: 553px;*/
    padding-top:  44.4%;
    background-repeat: no-repeat;
    border-bottom: 1px solid #eee;
    background-size: cover;
}

.wrapper {
    width: 100%
}

.wrapper__inner {
    min-width: 1024px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.main {
    -ms-flex-preferred-size: 75%;
        flex-basis: 75%
}


/*
.main:after {
    padding-top: 75%
}
*/

.sidebar {
    -ms-flex-preferred-size: 23%;
        flex-basis: 23%;
}

.sidebar .sidebar__item a:hover img{
    opacity: .7
}

.contents {
    display: block;
    margin-bottom: 180px
}

.contents--bg {
    background-repeat: no-repeat;
    background-position: top right;
}
#formality .heading--primary h2 {
  margin-bottom: 10px;
}
.contents__body__list {
    width: 100%
}

.contents__body__item {
    margin-bottom: 4px
}

.contents__body__item__heading {
    position: relative;
    padding: 20px;
    padding-right: 48px;
    background-color: #333;
    color: #FFF;
    font-size: 1.5em;
    font-weight: bold
}

.contents__body__item__heading--kodawari {
    /*    background-color: #A63DB8*/
    background-color: #f00;
}

.contents__body__item__heading--kasegikata {
    background-color: #1AA194
}

.contents__body__item__heading--tokuchou {
    background-color: #03A9F4
}

.contents__body__item__heading--pickup {
    /*    background-color: #97C95C*/
    background-color: #666;
}

.contents__body__item__heading--privacy {
    background-color: #666
}

.contents__body__item__num {
    display: block;
    float: left;
    font-size: 3.6rem;
    width: 48px;
    height: 64px;
    padding-right: 16px;
    line-height: 1
}

.contents__body__item__text {
    padding: 32px
}

.contents__body--plan {
    padding-top: 110px
}

.contents__body--plan__get__list {
    margin-bottom: 32px;
    padding-left: 16px;
}

.contents__body--plan__get__list:before, .contents__body--plan__get__list:after {
    content: " ";
    display: table
}

.contents__body--plan__get__list:after {
    clear: both
}

.contents__body--plan__get__item {
    font-size: 0;
    margin-bottom: 9px
}

.special {
    margin: 32px 0;
    border: 1px solid #EEE
}

.special--trust {
    margin-top: 0
}

.special__body {
    padding: 32px 0;
    width: 100%;
    background-color: #F8F8F8
}

.special__ttl {
    margin-bottom: 16px;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold
}

.special__ttl--trust {
    color: #876B41
}

.special__ttl--manifesto {
    color: #3A7B7D
}

.special__ttl--respect {
    color: #5F43C1
}

.special__text {
    margin: 0 5em
}

.heading--primary {
    padding-left: 16px;
    font-size: 4.8rem;
    line-height: 1.5;
}
#flow .heading--primary p ,
#formality .heading--primary p {
  font-size: 40%;
}

/* ----------------------------------------
  メッセージ
---------------------------------------- */

.contents--message__heading__ttl {
    display: inline-block;
    float: left;
    margin-right: 16px;
    margin-bottom: 32px;
    padding: 16px 32px;
    background-color: #111;
    color: #FFF;
    font-size: 2.4rem;
    font-weight: bold;
}

.contents--message__heading__caption {
    display: block;
    padding: 27px 0;
    height: 72px;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: bold;
    background-color: #FFF;
}

.contents--message__body {
    padding-left: 16px;
}

.contents--message__body__ttl {
    clear: both;
    margin-bottom: 104px;
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 1.5;
    width: 70%;
}

.contents--message__body__ttl--sub {
    display: inline-block;
    padding: 16px 0 16px 0;
    background-color: #FFF;
    margin-bottom: 16px;
    font-size: 2.4rem;
    line-height: 1.4;
    font-weight: bold;
    color: #92348E;
}


/* ----------------------------------------
  flow
---------------------------------------- */

.flowbox {
    box-sizing: border-box;
    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;
}

.flowbox_item {
    box-sizing: border-box;
    -ms-flex-preferred-size: 26%;
        flex-basis: 26%;
    border: 2px solid #f00;
    margin-bottom: 20px;
    position: relative;
}

.flowbox_item:nth-child(3n) {
    margin-bottom: 20px;
}

.flowbox_item img {
    width: 100%;
}

.flowbox_item h3 {
    text-align: center;
    background: #f00;
    color: #fff;
    font-size: 3rem;
    font-weight: bold;
}

.flowbox_item:after {
    font-family: 'fontAwesome';
    position: absolute;
    top: 37%;
    right: -33%;
    display: inline-block;
    content: "\f04b";
    font-size: 48px;
    -webkit-transition: .5s;
    transition: .5s;
}

.flowbox_item:nth-child(3n):after {
    content: "";
}

.flowbox_item h4 {
    font-size: 2.5rem;
    text-align: center;
}

.flowbox_item p {
    padding: 5px;
}

/* ----------------------------------------
  体験談
---------------------------------------- */

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

.plan__grid__item {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    padding: 8px;
}

.plan__ttl {
    padding: 4px 0;
    margin-bottom: 16px;
    background-color: #E91E63;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    color: #FFF;
}

.plan__box__pic {
    float: left;
    margin-right: 8px;
    width: 40%;
}

.plan__box__body {
    font-size: 1.4rem;
}

.plan__meisai {
    font-size: 1.3rem;
}

.plan__meisai__ttl {
    font-weight: bold;
}

.plan__meisai__body {
    padding-left: 12px;
    list-style-type: disc;
}

.plan__meisai02 dt {
    float: left;
    font-weight: bold;
}

.plan__meisai02 dd {
    float: right;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: bold;
    color: #E91E63;
}


/* ----------------------------------------
  condition
---------------------------------------- */

.condition {
    width: 100%;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 5px;
}

.condition th {
    width: 20%;
    padding: 15px 0 15px 0;
    background: #333;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    vertical-align: top;
}

.condition td {
    padding: 15px 10px 15px 40px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 14px;
}


/* ----------------------------------------
  map
---------------------------------------- */

#map {
    width: 100%;
}

#map iframe {
    max-width: 100%;
}


/* ----------------------------------------
  totop
---------------------------------------- */

.page-top {
    margin: 0;
    padding: 0;
    display: none;
}

.page-top p {
    margin: 0;
    padding: 0;
    position: fixed;
    right: 16px;
    bottom: 16px;
}

.move-page-top {
    display: block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.move-page-top:hover {
    opacity: 0.85;
}

.move-page-top .fa {
    height: 50px;
    width: 50px;
    color: #000;
}


/* ----------------------------------------
  footer
---------------------------------------- */

.footer {
    width: 100%
}

.footer__top {
    width: 100%;
    padding: 32px 0;
    background-color: #EEE
}

.footer__top__inner {
    max-width: 1440px;
    /*    max-width: 1280px;*/
    min-width: 1024px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.footer__logo {
    -ms-flex-preferred-size: 23%;
        flex-basis: 23%;
    padding-left: 16px;
}

.footer__logo img {
    width: 100%;
}

.footer__nav {
    -ms-flex-preferred-size: 67%;
        flex-basis: 67%;
    text-align: right;
}

.footer__nav__item {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: bold
}

.footer__nav__item a:link, .footer__nav__item a:visited {
    color: #000;
    text-decoration: none
}

.footer__nav__item:after {
    content: "|";
    padding: 0 16px;
    color: #999
}

.footer__bottom {
    padding: 32px 0;
    background-color: #333
}

.footer__bottom__inner {
    text-align: center;
    margin: 0 auto;
    color: #FFF
}

.u-mb-16 {
    margin-bottom: 16px !important
}

.u-ta-c {
    text-align: center !important
}

.footer__btn {
    display: none;
}


/* ==========================
  Media Queries　
========================== */

@media screen and (max-width: 79em) {
    /* 1264px */
}

@media screen and (max-width: 67em) {
    /* 1072px */
    /*    body {
        background: yellow;
    }
*/
    .wrapper__inner {
        min-width: 100%;
    }
    .header__title__inner {
        max-width: 100%;
        min-width: 100%;
    }
    .header__logo, .footer__logo {
        -ms-flex-preferred-size: 25%;
            flex-basis: 25%;
    }
    .header__middle__inner {
        max-width: 100%;
        min-width: 100%;
    }
    .header__tel__item__text {
        font-size: 1.4rem;
    }
    .header__tel__item__number {
        font-size: 2.4rem;
    }
    .gnav__inner {
        max-width: 100%;
        min-width: 100%;
    }
    .flowbox_item {
        margin: 0 9% 9% 0;
    }
    .flowbox_item:nth-child(3n) {
        margin: 0 0 9% 0;
    }
    .flowbox_item:after {
        font-size: 24px;
    }
    .flowbox_item h3 {
        font-size: 2rem;
    }
    .flowbox_item h4 {
        font-size: 1.5rem;
    }
    .flowbox_item p {
        margin-bottom: 0px;
        line-height: 1.2;
    }
    .contents__body--plan__get__item img {
        width: 80%;
    }
    .toggle:after {
        font-size: 36px;
    }
    .contents__body__item__num {
        font-size: 2.6rem;
    }
    .contents__body__item__heading h3 {
        font-size: 1.5rem;
    }
    .footer__top__inner {
        max-width: 100%;
        min-width: 100%;
    }
}

@media screen and (max-width: 48em) {
    /* 768px */
    /*    body {
        background: red;
    }
*/
    .header__logo, .footer__logo {
        -ms-flex-preferred-size: 31%;
            flex-basis: 31%;
    }
    .wrapper__inner {
        min-width: 100%;
        margin: 0 auto;
    }
    .gnav__item {
        font-size: 1.4rem;
    }
    .gnav__item:last-child {
        font-size: 1.4rem;
    }
    .gnav__link {
        padding: 1.5rem 0;
    }
    .header__middle {
        height: auto;
    }
    .header__tel__item__number {
        margin-bottom: 0;
    }
    .contents--message__heading__ttl {
        display: block;
        float: none;
        margin-bottom: 0;
    }
    .contents--message__body__ttl {
        clear: both;
        font-size: 3.4rem;
        margin-bottom: 24px;
        width: 70%;

    }
    .contents--message__heading__caption {
        height: auto;
    }
    .contents--message {
        background-position: right 140px;
        background-size: 240px;
    }
    .contents--message__body__ttl--sub {
        font-size: 2rem;
    }
    .contents--plan {
        background-size: 240px;
    }
    .plan__grid__item {
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    }
}

@media screen and (max-width: 45em) {
    /* 736px-16px */
    /*    body {
        background: blue;
    }
*/
    .header__logo {
        -ms-flex-preferred-size: 30%;
            flex-basis: 40%;
        padding-left: 0;
    }
    .header__tel {
        -ms-flex-preferred-size: 70%;
            flex-basis: 60%;
        padding-right: 56px;
    }
    .header__tel__item__text {
        font-size: 1rem;
    }
    .header__tel__item__number {
        font-size: 1.4rem;
    }

.wrapper__inner {
    display: block;
}

.heading--primary {
    font-size: 3.5rem;
}

.contents--message__heading__caption {
    padding: 10px 0;
}

.flowbox {
    display: block;
}

.flowbox_item h4 {
    font-size: 2.5rem;
}

.flowbox_item p {
    line-height: 1.7;
    font-size: 2rem;
}

.flowbox_item, .flowbox_item.flowbox_item:nth-child(3n) {
    margin: 0 auto 20% auto;
}

.flowbox_item:after {
    content: none;
}

.flowbox_item p {
    position: relative;
}

.flowbox_item p:after {
    font-family: 'fontAwesome';
    position: absolute;
    bottom: -83px;
    left: 46%;
    display: block;
    content: "\f04b";
    font-size: 48px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}

.flowbox_item:last-child p:after {
    content: none;
}
.condition td {
    padding: 15px 10px;
}
#map iframe {
    height: auto;
}

.footer__top__inner {
    display: block;
    text-align: center;
}

.footer__logo img {
    width: 50%;
}

.footer__nav {
    display: none;
}

.footer__bottom {
    padding: 13px 0 12px 0;
}

.footer__btn {
    position: fixed;
    bottom: 0;
    background: rgba(0,0,0,.8);
    /*      display: table;
      table-layout: fixed;*/
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    width: 100%;
    height: 50px;
    z-index: 100000000;
}

.footer__btn__item {
    /*display: table-cell;*/
    -ms-flex-preferred-size: 33.3%;
        flex-basis: 33.3%;
    line-height: 1;
    font-size:1rem;
}
.footer__btn__item a {
  text-decoration: none;
}
.text_pos {
  display: block;
}

.footer__btn__link, .footer__btn__link:link, .footer__btn__link:visited {
    color: #fff;
}

.footer {
    padding-bottom: 51px;
}

.footer__btn__link img {
    width: 30px;
    height: 30px;
    vertical-align: bottom;
}


}
@media screen and (max-width: 30em) {
    /* 480px */
    /*    body {
        background: maroon;
    }
*/

    .wrapper__inner {
        display: block;
        box-sizing: content-box;
    }

    .special__body {
        /*        width: 98%;*/
    }

    .special__text {
        margin: 0 1em;
    }

    .contents--plan {
        background-size: 240px;
    }

    .contents--message {
        background-position: right 100px;
        background-size: 240px;
    }

    .contents--message__heading__ttl {
        font-size: 1.8rem;
        float: none;
        display: block;
        margin-bottom: 0;
    }

    .contents--message__heading__caption {
        height: auto;
        font-size: 1.2rem;
    }

    .contents--message__body__ttl {
        font-size: 2rem;
        margin-bottom: 20px;
        width: 60%;

    }

    .contents--message__body__ttl--sub {
        background-color: transparent;
        margin-bottom: 16px;
        font-size: 1.4rem;
    }

    .plan__grid {
        display: block;
    }

    .plan__grid__item {
        display: block;
    }
    .special__ttl {
    font-size: 1.9rem;
}
}
@media screen and (max-width: 20em) {
    /* 320px */
    /*    body {
        background: green;
    }
*/

    .header__tel__item__text {
        font-size: 1rem;
    }

    .header__tel__item__number {
        font-size: 1.5rem;
    }

    .heading--primary {
        font-size: 3rem;
    }

    .flowbox_item {
        font-size: 1.3rem;
    }

    .footer__nav__item {
        font-size: 1.1rem;
    }

    .flowbox_item:after {
        right: -36%;
    }

    .contents--message__heading__ttl {
        font-size: 1.5rem;
    }

    .contents--message__heading__caption {
        font-size: 1.1rem;
    }

    .footer__bottom__inner {
        font-size: 1.3rem;
    }
}
