/*
Theme Name: ONLY YOU HOME
Theme URI: Nothing
Author: SUMUS Inc.
Author URI: https://sumus-home.com/
Description: This is the theme made for Yamamoto house builder.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sumus

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/@charset "UTF-8";

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
}

body {
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
    margin: 0;
}

img {
    /* IEにもobject fitを効かせる */
    font-family: 'object-fit: cover;';
    box-sizing: border-box;
    -o-object-fit: cover;
    object-fit: cover;
    max-width: 100%;
    width: 100%;
}

a {
    color: inherit;
    font-size: 1.6rem;
    text-decoration: none;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

a:hover {
    opacity: .7;
}

/*a[href="#"] {*/
/*    opacity: .7;*/
/*}*/

p {
    font-size: 1.6rem;
    line-height: 1.7;
    margin: 1em 0 0 0;
    word-break: break-all;
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

h2,
h3,
h4 {
    margin: 0;
}

#wrapper {
    margin-top: 38em;
    /*overflow: hidden;*/
    position: relative;
}


body.home #wrapper {
    margin-top: calc(100vh - 12em);
}

/*---------------------------------------------
 * Gray BG
 *---------------------------------------------*/
body.home main {
    position: relative;
}

main::before {
    bottom: 18.9em;
    content: "";
    background-color: #f4f4f4;
    height: calc(100% - 18.9em - 30em);
    left: 0;
    max-width: calc(((100vw - 100em)/2) + 100em);
    position: absolute;
    width: 81.25vw;
    z-index: -1;
}

main.works::before {
    height: calc(100% - 18.9em - 31em);
}

main.model::before {
    height: calc(100% - 18.9em - 30em);
}

main.form::before {
    height: calc(100% - 18.9em - 25.5em);
    max-width: none;
    width: 100%;
}

main.model-single::before,
main.event-form::before,
main.model-form::before {
    height: calc(100% - 18.9em - 26em);
}

main.event-form::before,
main.model-form::before,
main.contact-form::before {
    max-width: none;
    width: 100%;
}

body.home main::before {
    bottom: -6em;
    content: "";
    background-color: #f4f4f4;
    height: calc(100% - 163.5em);
    left: 0;
    position: absolute;
    width: 81.25vw;
    z-index: -1;
}

main.events::before {
    height: calc(100% - 18.9em - 36em);
}

main.consultation::before {
    height: calc(100% - 18.9em - 63em);
}

main.voice::before {
    height: calc(100% - 18.9em - 23em);
}

main.blog-tag::before {
    height: calc(100% - 18.9em - 48em);
}

main.works-single::before {
    height: calc(100% - 18.9em - 39em);
}

main.voice-single::before {
    height: calc(100% - 18.9em - 48.8em);
}

#blog-entry-main::before {
    height: calc(100% - 18.9em - 27em);
}

main.contact-form::before {
    height: calc(100% - 18.9em - 25.5em);
}

main.consultation::before {
    width: 81.25vw;
}

/*---------------------------------------------
 * Header
 *---------------------------------------------*/
#header {
    box-sizing: border-box;
    color: #fff;
    height: 12em;
    padding: 3em 1em 0;
    position: relative;
    z-index: 10;
}

#header::before {
    content: "";
    background: -webkit-linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background: -moz-linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background: -o-linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    height: 21em;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

#header-container {
    height: 100%;
}

#logo a {
    font-size: 1rem;
}

#logo > h1,
#logo > p {
    margin: 0;
}

#logo img {
    width: 22.3em;
}

#header-right {
    height: 100%;
    margin-left: 3vw;
    width: 85%;
}

#header-nav1 > a:first-of-type {
    margin-right: .71428571428em;
}

#header-nav1 > a:nth-of-type(2) {
    margin-right: 1.1em;
}

.header-nav {
    width: 100%;
}

.read-more {
    box-sizing: border-box;
    color: #fff;
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    height: 2.85714285714em;
    line-height: 2.85714285714em;
    text-align: center;
    -webkit-transition: background-color .3s ease,
    border .3s ease,
    opacity .3s ease;
    transition: background-color .3s ease,
    border .3s ease,
    opacity .3s ease;
    width: 11.4285714286em;
}

.read-more:hover {
    opacity: 1;
}

.read-more.long {
    width: 14.2857142857em;
}

.read-more.white {
    border: 1px solid #fff;
}

.read-more.white:hover {
    background-color: rgba(255, 255, 255, .3);
}

.read-more.black {
    background-color: #000;
}

.read-more.black:hover {
    opacity: .7;
}

#header-right .tel {
    font-size: 2.4rem;
}

#header-right .tel::before {
    content: "";
    background-image: url(images/global/header/phone.png);
    background-repeat: no-repeat;
    background-size: .70833333333em 1.04166666667em;
    display: inline-block;
    height: 1.04166666667em;
    margin: 0 .2em .05em;
    width: .70833333333em;
}

#header-nav2 > ul a {
    font-size: 1.6rem;
}

#header-nav2 > ul > li {
    margin-right: 2.7vw;
}

#header-nav2 > ul > li:last-of-type {
    margin-right: 0;
}

#header-nav2 > .sns-links {
    margin-left: 2.7vw;
}

.sns-links > a {
    font-size: 1rem;
}

.sns-links > a > img {
    height: 2em;
    width: 2em;
}

/*#header-nav2 > .sns-links > a:first-of-type {*/
/*    margin-right: 2em;*/
/*}*/

#header-nav2 > .sns-links > a {
    margin-right: 2em;
}

#header2 {
    height: 31.25vw;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

#header2.top {
    height: 100vh;
}

#header2.sub {
    height: 50em;
}

#header2 > #black-area {
    background-repeat: no-repeat;
    background-position: right -1.9vw bottom -3.5vw;
    background-size: 15.5vw 16vw;
}

#header2 > #black-area {
    background-image: url(images/front/header/logo2_top.png);
}

.header-bg {
    left: 0;
    position: absolute;
    top: 0;
    width: 81.25vw;
    z-index: 3;
}

.header-bg.top {
    height: 86vh;
}

.header-bg.sub {
    height: 40em;
}

#black-area {
    background-color: #000;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 81.25vw;
    z-index: 2;
}

#header2.top {

}

/*#top-news {*/
/*    bottom: 3.125vw;*/
/*    position: absolute;*/
/*    left: 3.125vw;*/
/*    width: 59.375vw;*/
/*}*/

/*#top-news > header {*/
/*    margin-right: 3.125em;*/
/*}*/

/*#top-news .top-title {*/
/*    color: #fff;*/
/*    font-size: 3.75vw;*/
/*    margin-top: -.05em;*/
/*}*/

/*#top-news .read-more {*/
/*    font-size: .875vw;*/
/*}*/


/*#top-news-list {*/
/*    color: #fff;*/
/*}*/

/*#top-news-list > li {*/
/*    width: 100%;*/
/*}*/

/*#top-news-list .date,*/
/*#top-news-list a {*/
/*    font-size: .875vw;*/
/*}*/

/*#top-news-list .date {*/
/*    width: 7.6vw;*/
/*}*/

/*#top-news-list .cat {*/
/*    border: 1px solid #fff;*/
/*    box-sizing: border-box;*/
/*    font-size: 0.6875vw;*/
/*    height: 1.81818181818em;*/
/*    line-height: 1.81818181818em;*/
/*    margin-right: 2.5vw;*/
/*    text-align: center;*/
/*    width: 4.54545454545em;*/
/*}*/

#message {
    right: 3vw;
    position: absolute;
    top: 17em;
    z-index: 3;
}

#message > p {
    color: #fff;
    margin: 0;
}

#message > .title-en {
    font-size: 8em;
    line-height: 1.25;
}

#message > .desc-en {
    font-size: 3em;
    line-height: 1;
    margin-top: .2em;
}

#message > .desc-ja {
    font-size: 2em;
    line-height: 1.4;
    margin-top: 2.9em;
}

#sub-page-title {
    color: #fff;
    font-size: 8rem;
    position: absolute;
    right: calc(18.75vw + -1.255em);
    top: 2.5em;
    z-index: 3;
}

/*---------------------------------------------
 * TOP EVENT
 *---------------------------------------------*/
#top-event {
    /*margin-left: auto;*/
    /*padding: 0 3em;*/
    position: relative;
    /*width: 81.25vw;*/
}

#top-event > .inner {
    padding: 10em 2em 6em;
}

.top-title {
    display: inline-block;
    font-size: 6em;
    line-height: .7;
    position: relative;
}

#top-instagram > .top-title {
    font-size: 1rem;
    width: 32em;
}

.top-title::after {
    bottom: -.73em;
    content: "";
    height: 5px;
    position: absolute;
    width: 1em;
}

.top-title.line-center::after {
    right: 50%;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
}

.top-title.line-left::after {
    left: 0;
}

.top-title.white {
    color: #fff;
}

.top-title.white::after {
    background-color: #fff;
}

.top-title.black::after {
    background-color: #000;
}

.top-title.black {
    color: #000;
}

#event-archive {
    margin-top: 8.6em;
    width: 100%;
}

#top-event-list {
    margin-right: 8em;
}

#top-event-list::after {
    content: "";
    width: 31%;
}

#top-event-list > li {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 31%;
}

#event-archive a {
    display: block;
}

#event-archive .img-link {
    font-size: 1rem;
}

#event-archive img {
    height: 20em;
}

#event-archive .title {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    margin-top: .8em;
}

#top-event-list .date {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1;
    margin-top: .3em;
}

#top-event > .gray-bg {
    background-color: #f4f4f4;
    position: absolute;
    right: 0;
    height: 100%;
    width: calc(((100vw - 100em)/2) + 34em);
    z-index: -1;
}

#top-event > .gray-bg::before {
    content: "";
    background-color: #ccc;
    height: 6em;
    left: 0;
    position: absolute;
    top: 29em;
    width: .5em;
}

#top-event .read-more {
    margin-top: 1.42857142857em;
}

#top-about > .inner,
#top-works > .inner {
    height: 34em;
    margin-left: 6.25vw;
}



/*---------------------------------------------
 * TOP ABOUT
 *---------------------------------------------*/
#top-about,
#top-works {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 80em;
    margin-left: auto;
    width: 81.25vw;
}

#top-about {
    background-image: url(images/front/section/about.jpg);
}

#top-works {
    background-image: url(images/front/section/works.jpg);
    margin-top: 1px;
}

.top-section {
    color: #fff;
}

.top-section h3 {
    font-size: 2.4em;
    font-weight: bold;
    line-height: 1;
    margin-top: 3.4em;
}

.top-section .desc {
    font-size: 1.4em;
    line-height: 2.14285714286;
    margin-top: 2.1em;
}

.top-section .read-more {
    font-size: 1.4em;
    margin-top: 2.3em;
}


/*---------------------------------------------
 * TOP banner
*---------------------------------------------*/

.top-banner {
    margin: 4rem auto 7rem;
    padding: 0 2rem;
}

.top-banner .linkarea {
    display: block;
    width: 100%;
    height: 100%;
}

.top-banner .linkarea .img {
    vertical-align: middle;
}


/*---------------------------------------------
 * TOP Model Consul
 *---------------------------------------------*/
#top-model-consul {
    box-sizing: border-box;
    height: 30vw;
    margin-left: auto;
    min-height: 33em;
    padding: 4em;
    width: 81.25vw;
}

#top-model,
#top-consul {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: calc((100% - 4em) / 2);
}

#top-model {
    background-image: url(images/front/section/modelhouse.jpg);
}

#top-consul {
    background-image: url(images/front/section/consultation.jpg);
}

#top-model-consul .top-title {
    font-size: 5em;
}

#top-model-consul .read-more {
    margin-left: auto;
    margin-right: auto;
}

#top-model-consul .top-title::after {
    bottom: -.9em;
}

/*---------------------------------------------
 * TOP Instagram
 *---------------------------------------------*/
#top-instagram {
    margin-top: 2em;
    max-width: 810px;
}

#instagram-image-list {
    margin-top: 4em;
}

#instagram-story-list {
    margin-top: 8.2em;
}

#instagram-story-list > li {
    margin: 0 2em;
    width: 10em;
}

#instagram-story-list > li > a {
    display: block;
}

#instagram-story-list img {
    border-radius: 50%;
}

#instagram-story-list p {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    margin-top: .71428571428em;
}

.instashow-gallery-media {
    padding: 2.5px !important;
}

.instashow-gallery .instashow-gallery-control-arrow {
    display: none;
}

.instashow-gallery .instashow-gallery-media-cover {
    background: rgba(0, 0, 0, .7) !important;
}

.instashow-gallery-media-link:hover {
    opacity: 1;
}

/*---------------------------------------------
 * TOP Company
 *---------------------------------------------*/
#top-company-wrap {
    height: 70em;
    margin-top: calc(10em - 5px);
}

#top-company {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-image: url(images/front/section/company1.jpg);
    box-sizing: border-box;
    left: 0;
    top: 0;
    padding-right: 2em;
    position: absolute;
    z-index: 8;
}

#top-company > .inner {
    margin-left: 6.25vw;
}

#top-company,
#top-company-wrap > img {
    height: 60em;
    width: 53.125vw;
}

#top-company-wrap > img {
    bottom: 0;
    position: absolute;
    right: 0;
    z-index: 5;
}

/*---------------------------------------------
 * TOP Concept Staff
 *---------------------------------------------*/
#top-concept-staff {
    margin-top: 10em;
    padding-bottom: 4em;
}

#top-concept,
#top-staff,
#top-recruit {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 14em;
    width: 31%;
}

#top-concept {
    background-image: url(images/front/section/concept.jpg);
}

#top-staff {
    background-image: url(images/front/section/staff.jpg);
}

#top-recruit {
    background-image: url(images/front/section/recruit.jpg);
}

#top-concept-staff .top-title {
    font-size: 2.4rem;
}

#top-concept-staff > #top-recruit .top-title {
    font-size: 2rem;
}

#top-concept-staff > #top-recruit .top-title::after {
    background-color: transparent;
    content: "";
    display: inline-block;
    background-image: url(images/front/section/arrow_right.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: .55em;
    margin: 0 0 .25em .35em;
    position: static;
    width: 1em;
}

#top-concept-staff a {
    height: 100%;
    width: 100%;
}

#top-concept-staff .top-title::after {
    content: normal;
}

/*---------------------------------------------
 * Front section
 *---------------------------------------------*/

.external-link {
    position: relative;
}

.external-link::after {
    content: "";
    background-image: url(images/front/section/external_icon.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    height: .8333333em;
    position: absolute;
    right: 25%;
    top: 30%;
    -webkit-transform: translate(25%, -35%);
    transform: translate(25%, -30%);
    width: 1em;
}

.external-link:hover::after {
    background-image: url(images/front/section/external_hover_icon.png);
}


/*---------------------------------------------
 * Slider
 *---------------------------------------------*/
.inquire-link {
    background-color: #eb6100;
    color: #fff;
    font-weight: bold;
}

.inquire-link.model {
    background-color: #1a8cc6;
    position: relative;
}

.inquire-link.model::before {
    content: "";
    background-image: url(./images/global/footer/home_icon.png);
    background-size: 1.3em 1.3em;
    background-position: center center;
    background-repeat: no-repeat;
    height: 1.3em;
    left: 19%;
    margin-right: .4em;
    position: absolute;
    top: 47%;
    -webkit-transform: translateY(-47%);
    transform: translateY(-47%);
    width: 1.3em;
}

/*.inquire-link.front {*/
/*    font-size: 2rem;*/
/*    line-height: 2.5em;*/
/*    margin: 0;*/
/*    padding: 1em 0;*/
/*    right: 0;*/
/*    position: fixed;*/
/*    top: 186px;*/
    /*-webkit-transform: translateY(-10%);*/
    /*transform: translateY(-10%);*/
/*    writing-mode: vertical-rl;*/
/*    width: 2.5em;*/
/*    z-index: 11;*/
/*}*/



/*---------------------------------------------
 * Right Bottom Fixed Button
 *---------------------------------------------*/


/*---------------------------------------------
 * Footer
 *---------------------------------------------*/
#footer {
    background-color: #000;
    box-sizing: border-box;
    color: #fff;
    height: 18.9em;
    margin-top: 6em;
    padding: 4em 2em;
    width: 100%;
}

body.page-template-page-model-form #footer,
body.page-template-page-model-form #scroll-top-btn-sp-wrap,
body.page-template-page-privacy #footer,
body.page-template-page-privacy #scroll-top-btn-sp-wrap,
body.single-post #footer,
body.single-post #scroll-top-btn-sp-wrap,
body.page-template-page-event-form #footer,
body.page-template-page-event-form #scroll-top-btn-sp-wrap {
    margin-top: 0;
}

#footer > .inner {
    height: 100%;
}

#footer-nav1 {
    width: 100%;
}

#footer-nav1 > ul > li:not(:last-of-type) {
    margin-right: 4em;
}

#footer-nav2 a {
    font-size: 1.4rem;
}

#footer-nav2 > ul > li:first-of-type {
    border-right: 1px solid #fff;
    margin-right: 2em;
    padding-right: 2em;
}

.nav-wrap {
    padding: 1em 0;
}

#logo-and-phone > img {
    width: 22.1em;
}

#logo-and-phone > address {
    font-style: normal;
    margin-top: .5em;
}

#logo-and-phone > p {
    font-size: 1.2rem;
    margin-top: .6em;
}

#logo-and-phone span {
    font-size: 1.6rem;
}

.scroll-top-btn.pc {
    background-image: url(images/global/footer/scroll_top_pc.jpg);
    background-size: cover;
    border: none;
    bottom: calc(18.9em + 5em);
    box-sizing: border-box;
    outline: none;
    font-size: 1rem;
    height: 5em;
    position: absolute;
    right: 5em;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    width: 5em;
    z-index: 10;
}

.scroll-top-btn.pc.fixed {
    bottom: 5em;
    position: fixed;
}

.scroll-top-btn.pc:hover {
    cursor: pointer;
    opacity: .7;
}

#scroll-top-btn-sp-wrap {
    background-color: #000;
}

.event-reservation {
    position: absolute;
    background-color: #fff;
    bottom: calc(18.9em + 15em);
    right: 5em;
    width: 110px;
    height: 110px;
    border: 1px solid #222;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity .3s ease;
    opacity: 0;
    z-index: 10;
}

.event-reservation.fixed {
    position: fixed;
    bottom: 15em;
    transition: opacity .3s ease;
}

.reserve {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
}

.reserve .img {
    width: 20px;
    height: 26px;
    object-fit: contain;
}

.reserve .text {
    font-size: 13px;
    text-align: center;
    margin-top: 5px;
    font-family: 'Noto Sans JP', sans-serif;
}

/*---------------------------------------------
 * Category Header
 *---------------------------------------------*/
#category-header {
    height: 8em;
    margin-top: 9em;
    z-index: 30;
}

#category-header > .inner {
    height: 100%;
    padding: 0 3em;
}

#category-header .title-wrap {
    margin-right: 2.7em;
    max-width: 100%;
    /*width: 19em;*/
}

#category-header .title-wrap::after {
    content: "";
    background-color: #444;
    bottom: 0;
    height: .2em;
    left: 0;
    position: absolute;
    width: 4em;
}

#category-header .title,
#category-header .desc {
    line-height: .9;
}

#category-header .title {
    font-size: 4.6rem;
    letter-spacing: .2em;
    margin: 0;
}

#category-header .desc {
    font-size: 1.4rem;
    font-weight: normal;
    margin-top: .7em;
}

#category-header .header-line {
    border-top: 1px solid #444;
}

#category-header .sub-title {
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1;
    margin-top: -.5em;
    margin-left: .5em;
}

#category-header .sub-title::before {
    background-image: url(images/global/category-header/sub_title.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: .57142857142em .65306122449em;
    content: "";
    display: inline-block;
    height: .65306122449em;
    margin-right: .1em;
    -webkit-transform: translateY(-.05em);
    transform: translateY(-.05em);
    width: .57142857142em;
}


/*---------------------------------------------
 * Breadcrumb
 *---------------------------------------------*/
#breadcrumb {
    background-color: #f4f4f4;
    width: 100%;
}

#breadcrumb-list {
    list-style-type: none;
    padding: .65em 1em;
    white-space: nowrap;
}

#breadcrumb-list > li,
#breadcrumb-list a {
    color: #333;
    font-size: 1.1rem;
}

#breadcrumb-list > li:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#breadcrumb-list a {
    text-decoration: underline;
}

#breadcrumb-list > li:not(:first-of-type)::before {
    content: ">";
    display: inline-block;
    margin: 0 .9em;
    text-decoration: none;
}

#breadcrumb-list a > .sp-br::before {
    content: normal;
}

/*---------------------------------------------
 * Main
 *---------------------------------------------*/

/*---------------------------------------------
 * About nav
 *---------------------------------------------*/
#about-nav {
    color: #999;
    font-weight: bold;
    left: calc(18.75vw + 4em);
    position: absolute;
    top: -6.4em;
    z-index: 2;
}

#about-nav-list > li:not(:last-of-type) {
    border-right: 1px solid #fff;
    margin-right: 2.1875vw;
    padding-right: 2.1875vw;
}

#about-nav-list > li > a {
    font-size: 1.4rem;
}

#about-nav-list > li > a.active {
    color: #fff;
    font-size: 2rem;
}


#about-nav-footer-wrap {
    margin: 0 0 0 auto;
    width: 93.75vw;
}

#about-nav-footer-wrap > .top-title {
    margin: .9em 0 0 0;
}

#about-nav-footer {
    height: 12.5vw;
    margin-top: 10em;
    max-height: 20em;
    max-width: 120em;
    width: calc(100% - 29.4em);
}

#about-nav-footer-list > li {
    background-repeat: no-repeat;
    background-size: cover;
    width: 25%;
}

#about-nav-footer-list > li:nth-of-type(1) {
    background-image: url(images/about/nav_concept.jpg);
}

#about-nav-footer-list > li:nth-of-type(2) {
    background-image: url(images/about/nav_design.jpg);
}

#about-nav-footer-list > li:nth-of-type(3) {
    background-image: url(images/about/nav_exterior.jpg);
}

#about-nav-footer-list > li:nth-of-type(4) {
    background-image: url(images/about/nav_interior.jpg);
}

#about-nav-footer-list,
#about-nav-footer-list > li {
    height: 100%;
}

#about-nav-footer-list a {
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    height: 100%;
    line-height: 1.25;
    position: relative;
    width: 100%;
}

#about-nav-footer-list a:hover {
    opacity: 1;
}

#about-nav-footer-list > li::before {
    background-color: rgba(0, 0, 0, .5);
    content: "";
    height: 100%;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 0;
}

#about-nav-footer-list > li:hover::before,
#about-nav-footer-list > li.active::before {
    opacity: 1;
}

/*---------------------------------------------
 * Page
 *---------------------------------------------*/
#page-article {
    padding-top: 10em;
}

#page-article.about {
    padding-top: 4em;
}

#page-article.company {
    padding: 10em 3em 0;
}

#page-article.consul {
    padding-top: 9.2em;
}

/*#page-article::before {*/
/*    background: -webkit-linear-gradient(#f4f4f4, #fff);*/
/*    background: -moz-linear-gradient(#f4f4f4, #fff);*/
/*    background: -o-linear-gradient(#f4f4f4, #fff);*/
/*    background: linear-gradient(#f4f4f4, #fff);*/
/*    border-top: 5px solid #eaeaea;*/
/*    content: "";*/
/*    height: 15em;*/
/*    left: calc((100vw - 100%) / -2);*/
/*    position: absolute;*/
/*    top: -.5em;*/
/*    width: 100vw;*/
/*    z-index: -1;*/
/*}*/

.page-title {
    font-size: 4rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0;
    padding: 1.2em 0 0 0;
    text-align: center;
}

.page-title.brands {
    font-size: 2.6rem;
    padding-top: 2em;
    text-align: left;
}

.page-desc.brands {
    margin-top: .6em;
    padding: 0;
}

#page-main-visual,
#passion-text-1 {
    font-size: .6rem;
}

#page-main-visual {
    margin-top: 4.5em;
    max-width: 100%;
}


/*---------------------------------------------
 * ブランド
 *---------------------------------------------*/
#price-range {
    margin-top: 5.3em;
    padding: 6em 0 5.5em 0;
}

#price-range span {
    background-color: #333;
    color: #fff;
    display: block;
    font-size: 2rem;
    font-weight: bold;
    height: 2.5em;
    line-height: 2.5em;
    text-align: center;
    width: 11em;
}

#price-range img {
    height: 34.4em;
    margin-top: 2em;
}

#price-range p {
    font-size: 1.2rem;
}

#brands {
    margin-top: 5.4em;
}

#brands > .page-title {
    font-size: 3rem;
    line-height: 1.3;
    padding: 0;
}

#brand-list > a {
    color: #333;
    margin-top: 5em;
    width: 31em;
}

#brand-list > a:not(:last-child) {
    margin-right: 3.5em;
}

#brand-list h2 {
    font-size: 3rem;
    font-weight: normal;
    line-height: 1;
    margin: 0;
}

#brand-list .price {
    margin-top: .75em;
}

#brand-list img {
    height: 20em;
    margin-top: 1.4em;
}


/*---------------------------------------------
 * 各ブランドページ
 *---------------------------------------------*/
#brand-desc-wrap {
    background-image: url("images/front/brand/filter.png");
    background-repeat: repeat;
}

#brand-desc {
    padding: 6em 0 5.3em 0;
}

.brand-house {
    height: 50em;
}

#brand-desc > h1 {
    font-size: 1rem;
    margin: 0 auto;
}

.brand-logo {
    height: 4em;
    margin-top: 5.9em;
    width: 28em;
}

#brand-desc > h2 {
    font-size: 2rem;
    line-height: 1.4;
    margin-top: 1.2em;
}

#brand-desc > p {
    margin-top: .9em;
}

#brand-photo-gallery {
    margin-top: 5.6em;
    padding: 0 2em;
}

#brand-photo-gallery > h2 {
    font-family: 'Open Sans', sans-serif;
    font-size: 3rem;
    font-weight: 300;
    line-height: 1;
    margin: 0;
}

.fotorama {
    margin-top: 1.8em;
}

.fotorama__wrap--css3 .fotorama__stage .fotorama__img {
    /*height: 100% !important;*/
    /*max-width: 65.4% !important;*/
    /*margin: 0 auto;*/
}

.fotorama__arr,
.fotorama__fullscreen-icon {
    height: 4em;
    width: 4em;
}

.fotorama__arr--prev,
.fotorama__arr--next {
    background-image: url("./images/brands/arrow.png");
    background-size: 2.4em 4.4em;
    background-position: center center;
    height: 4.4em;
    opacity: 1 !important;
    padding: 0 2em;
    width: 2.4em;
}

.fotorama__arr--prev {
    left: 0;
    -webkit-transform: scale(-1, 1) !important;
    -ms-transform: scale(-1, 1) !important;
    transform: scale(-1, 1) !important;
}

.fotorama__arr--next {
    right: 0;
}

.fotorama__arr--disabled {
    opacity: 1;
}

.fotorama__stage__frame {
    background-image: url(images/front/brand/filter.png);
    background-repeat: repeat;
    /*background-size: 100vw auto;*/
}

.fotorama__nav__shaft {
    float: left;
}

.fotorama__nav:after,
.fotorama__stage:after {
    background: none;
}

.fotorama__thumb-border {
    border-color: #2998ca;
}

/*---------------------------------------------
 * Page build-house-passion
 *---------------------------------------------*/

#passion-text-1 {
    margin-top: 5.9em;
}

#passion-text-1 h3 {
    font-size: 2.1rem;
    margin-bottom: 0;
    margin-top: -.1em;
}

#passion-text-1 img {
    margin-left: 2em;
}

#passion-text-2 {
    font-size: .5rem;
    margin-top: 7em;
}

#passion-text-2 img {
    margin-right: 4em;
}

#passion-text-2 p {
    margin-top: -.3em;
}

#passion-text-2 > div {
    width: 56.1%;
}

/*---------------------------------------------
 * House Lineup
 *---------------------------------------------*/
#house-linup-images {
    margin-top: 4em;
}

#house-linup-images > li {
    font-size: .5rem;
    height: 74px;
    margin-top: 1em;
    text-align: center;
    width: 15.8%;
}

#house-linup-images img {
    border: 1px solid #ddd;
    border-radius: .5em;
    font-size: 2rem;
    /*height: 100%;*/
    width: 100%;
}

#house-lineup-list {
    margin-top: 6em;
}

#house-lineup-list > li {
    padding: 4em 0;
}

.gray-100vw {
    background-color: #f4f4f4;
    left: 50%;
    position: relative;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
}

.hll-image {
    height: 32em;
    margin-right: 4em;
    width: 60%;
}

.hll-image > img {
    height: 100%;
    width: 100%;
}

.hll-content {
    width: 36%;
}

.hll-content > h3 {
    font-size: 2rem;
    margin-bottom: 0;
    margin-top: -0.3em;
}

.hll-content > p {
    line-height: 1.7;
}

.hll-content > .read-more {
    margin-top: 2.8em;
}

.hll-logo {
    background-color: #fff;
    border: 0.3em solid #f4f4f4;
    height: 21.5%;
    left: 0;
    text-align: center;
    top: 0;
    width: 28.2%;
}

.hll-logo > img {
    width: 100%;
    height: 100%;
    /*padding: 1.4em 2em;*/
}

.hllc-details {
    background-color: #fff;
    border: 1px solid #ccc;
    margin-top: 1.5em;
    padding: .8em 0 .6em 0;
}

.hllcd-type {
    color: #626262;
    margin-top: 0;
    text-align: center;
    width: 100%;
}

.hllcd-price {
    margin-top: -.7em;
}

.hllcd-price > span {
    font-family: 'Roboto', sans-serif;
    font-size: 2rem;
    font-weight: bold;
}

.hllcd-type.zero-cube-fun {
    color: #998459;
}

.hllcd-type.freaks-house,
.hllcd-type.zero-cube-malibu {
    color: #5b7f41;
}

/*---------------------------------------------
 * Page beginner-about
 *---------------------------------------------*/
#marquee-slide {
    margin-top: 5.8em;
}

#marquee-slide-2 {
    margin-top: 2.1em;
}

#marquee-slide,
#marquee-slide-2 {
    height: auto;
    width: 100vw;
}

.slideGuide {
    overflow: hidden;
}

.slideFrame > .slideGuide > .slideCell {
    margin-right: 4em;
}

.slideCell {
    display: block;
    text-align: center;
    width: 20em;
}

a.slideCell::before,
a.slideCell::after {
    content: "";
    height: 32%;
    position: absolute;
    width: 49.5%;
}

a.slideCell::before {
    background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, #fff), color-stop(50.3%, transparent)) no-repeat bottom right/100% 100%;
    background: -webkit-linear-gradient(top left, #fff 50%, transparent 50.3%) no-repeat bottom right/100% 100%;
    background: -o-linear-gradient(top left, #fff 50%, transparent 50.3%) no-repeat bottom right/100% 100%;
    background: linear-gradient(to bottom right, #fff 50%, transparent 50.3%) no-repeat bottom right/100% 100%;
    left: 0;
    top: 0;
}

a.slideCell::after {
    background: -webkit-gradient(linear, right top, left bottom, color-stop(50%, #fff), color-stop(50.3%, transparent)) no-repeat bottom right/100% 100%;
    background: -webkit-linear-gradient(top right, #fff 50%, transparent 50.3%) no-repeat bottom right/100% 100%;
    background: -o-linear-gradient(top right, #fff 50%, transparent 50.3%) no-repeat bottom right/100% 100%;
    background: linear-gradient(to bottom left, #fff 50%, transparent 50.3%) no-repeat bottom right/100% 100%;
    right: 0;
    top: 0;
}

.slideCell > img {
    border-radius: .2em;
    height: 17.5em;
    max-width: none;
    width: 20em;
}

.slideCell > p {
    color: #333;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4;
    margin-top: .3em;
}

.slideFrame > .slideGuide > .slideCell.desc-wrap {
    margin: 0 3.2em 0 -3em;
    width: 52em;
}

.slideCell > .desc {
    font-size: 2rem;
    line-height: 1.8;
    width: 26em;
}

.slideCell > .desc > span {
    font-size: 3.6rem;
    color: #eb6100;
    line-height: 1.5;
}

.slideCell > .desc > span:not(.fw-bold) {
    font-weight: normal;
}

#reform-intro {
    margin-top: 6em;
}

.icon-circle {
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: 8.125em 6.5em;
    background-position: center 34%;
    border: 1px solid #ccc;
    border-radius: 50%;
    box-sizing: border-box;
    height: 17.5em;
    width: 17.5em;
}

.plan-circle.icon-circle {
    background-size: 6em 6em;
}

.icon-circle > p {
    bottom: 1.1em;
    font-size: 2.4rem;
    font-weight: bold;
    left: 50%;
    position: absolute;
    text-align: center;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
}

.design-circle {
    background-image: url(./images/beginner/concept/design.png);
}

.tech-circle {
    background-image: url(./images/beginner/concept/tech.png);
}

.land-circle {
    background-image: url(./images/beginner/concept/land.png);
}

.local-circle {
    background-image: url(./images/beginner/concept/local.png);
}

.plan-circle {
    background-image: url(./images/beginner/concept/plan.png);
}

#formula {
    margin-top: 6em;
}

#formula > .icon-circle {
    margin: 0 .95em;
}

.nest-list-item .icon-circle {
    background-size: 4.625em 3.7em;
    height: 10em;
    width: 10em;
}

.nest-list-item .icon-circle > p {
    bottom: .8em;
    font-size: 1.5rem;
}

.nest-list-item .plan-circle,
.nest-list-item .local-circle {
    left: 2em;
    top: 2em;
}

.nest-list-item .tech-circle {
    right: 2em;
    top: 2em;
}

#beginner-about-trust {
    margin-top: 6em;
}


#beginner-about-trust > .trust-circle {
    margin: 0 auto;
}

#beginner-about-trust > h3 {
    font-size: 3.6rem;
    line-height: 1.4;
    margin-top: .85em;
}

#trust-images {
    margin-top: 5em;
}

#trust-images img {
    height: 100%;
}

/*#trust-images > div > img,*/
#trust-images > div {
    box-sizing: border-box;
    height: 25em;
}

#trust-images > div:not(.multi),
#trust-images > .multi > img {
    padding: 0 0 1px 1px;
}

#trust-images > div {
    width: 50em;
}

#trust-images > .multi > img {
    width: 25em;
}

#trust-images > div:first-child > p {
    bottom: auto;
    top: 1.7em;
}

#trust-images p {
    bottom: 1.7em;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    left: 2.1em;
    margin-top: 0;
}


/*---------------------------------------------
 * Page Concept
 *---------------------------------------------*/
#page-concept {

}

#about-head {
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    height: 60em;
    margin-left: auto;
    width: 81.25vw;
}

#page-concept > #about-head {
    background-image: url(images/about/concept/concept1.jpg);
}

#page-design > #about-head {
    background-image: url(images/about/design/design1.jpg);
}

#page-exterior > #about-head {
    background-image: url(images/about/exterior/exterior1.jpg);
}

#page-interior > #about-head {
    background-image: url(images/about/interior/interior1.jpg);
}

#about-head > .inner {
    padding: 0 6.25vw;
    width: 56em;
}

.top-title.sub {
    font-size: 5rem;
    line-height: 1;
    margin: 0;
}

#about-head .title {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.25;
    margin-top: 3.3em;
}

#about-head .desc {
    font-size: 1.4rem;
    line-height: 2.14285714286;
}

.top-title.sub::after {
    bottom: -.85em;
}

#concept-message {
    margin-top: 11.5em;
    padding: 0 3em;
}

#concept-message img {
    height: 70em;
    width: 47.5%;
}

#concept-message .content {
    width: 46.66666666%
}

#concept-message .content > .desc {
    font-size: 1.4rem;
    line-height: 2.14285714286;
}

#concept-message .content > .desc:first-of-type {
    margin-top: 5.3em;
}


/*---------------------------------------------
 * Page Design
 *---------------------------------------------*/
.design-section {
    margin-top: 10em;
    padding: 0 3em;
}

.design-section > .top-title.sub {
    font-size: 4rem;
}

.design-section-list {
    margin-top: 5em;
}

.design-section-list > li {
    width: 47.5%;
}

.design-section-list > li:nth-of-type(n+3) {
    margin-top: 5.3em;
}

.design-section-list .title {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin-top: 1em;
}

.design-section-list .desc {
    font-size: 1.4rem;
    line-height: 1.71428571429;
    margin-top: 1.6em;
}

.design-section-list .desc.quote {
    margin-top: 1.4rem;
}

.design-section-list .desc .link {
    font-size: 1.4rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #7a7a7a;
}

.design-section .designtitle {
    width: 30rem;
    height: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2.5rem;
    background-color: #000000;
    color: #fff;
    margin: auto;
    font-size: 2.4rem;
}

.design-nav {
    display: flex;
    justify-content: center;
    column-gap: 4rem;
    margin-top: 10rem;
}

.design-nav .circle {
    width: 180px;
    height: 180px;
    background-color: #000000;
    border: 1px solid #000000;
    box-sizing: border-box;
    color: #fff;
    border-radius: 9rem;
    transition: .3s;
    text-align: center;
}

.design-nav .circle:hover {
    background-color: #f4f4f4;
    color: #000000;
    opacity: 1;
}

.design-nav .circle:hover .more::after {
    border-top: solid 2px #000000;
    border-right: solid 2px #000000;
}

.design-nav .circle .numberarea {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    margin-top: 1rem;
}

.design-nav .circle .numberarea .num {
    font-size: 6rem;
}

.design-nav .circle .numberarea .sub {
    font-size: 1.2rem;
    margin-top: -0.5rem;
}

.design-nav .circle .name {
    font-size: 1.8rem;
    margin-top: 1.5rem;
}

.design-nav .circle .more {
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    font-size: 1.2rem;
    margin-top: -0.5rem;
    position: relative;
}

.design-nav .circle .more::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    left: 46%;
    top: 20px;
    transform: rotate(135deg);
}


/*---------------------------------------------
 * Page Exterior
 *---------------------------------------------*/
.nest-list-wrap {
    margin-top: 10em;
    padding: 0 3em;
}

.nest-list {
    padding: 0;
}

.nest-list .img-wrap,
.nest-list .content {
    width: 47.5%;
}

.nest-list .img-wrap > img {
    display: block;
}

.nest-list .title {
    font-size: 3rem;
    line-height: 1.33333333333;
}

.nest-list .desc {
    font-size: 1.4rem;
    line-height: 2.14285714286;
    margin-top: .9em;
}

.nest-list > li:nth-of-type(even) > .img-wrap {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.nest-list > li:not(:first-child) {
    margin-top: 10em;
}

/*---------------------------------------------
 * Works
 *---------------------------------------------*/
#works-archives,
#events-archives {
    padding: 4.5em 3em 0 3em;
}

#entry-list.events {
    margin: 0;
}

#entry-list.works {
    margin: -.5em 0 0 0;
}

.entry-list-item.works,
.entry-list-item.events {
    margin-top: 5.5em;
    width: 30%;
}

.entry-list-image.works,
.entry-list-image.events {
    display: block;
    font-size: 1rem;
    height: 24em;
}

.entry-list-title.works {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont,"Yu Gothic", "游ゴシック", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.3;
    margin-top: 1.1em;
}

.works-desc {
    color: #999;
    font-size: 1.4rem;
    line-height: 2.14285714286;
    margin-top: 0;
}

#works-tag-nav {
    border: 2px solid #333;
    border-radius: 1em;
    box-sizing: border-box;
    height: 6em;
    margin-top: 5.5em;
    padding: 0 1em;
    position: relative;
}

#works-tag-nav:hover {
    cursor: pointer;
}

#works-tag-nav::after {
    content: "";
    background-image: url(images/works/arrow_down.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: .9em;
    width: 1.5em;

}

#works-tag-nav > .title {
    color: #999;
    font-size: 1.6rem;
    font-weight: bold;
}

#works-tag-nav-list {
    background-color: #fff;
    border: 1px solid #ccc;
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 2em;
    position: absolute;
    top: 5.8em;
    width: 100%;
    z-index: 10;
}

#works-tag-nav-list > .works-tag-nav-item:not(:first-of-type) {
    padding-top: 1.4em;
}

#works-tag-nav-list > .works-tag-nav-item:not(:last-of-type) {
    border-bottom: 1px solid #ccc;
    padding-bottom: 1.4em;
}

.works-tag-nav-item {
    line-height: 1;
}

.works-tag-nav-item > a {
    display: block;
    font-size: 1.6rem;
    width: 100%;
}

#works-related-wrap {
    margin-top: 9.6em;
}

#works-related-wrap > .title {
    color: #999;
    font-size: 3rem;
    line-height: 1.25;
}

#works-related-list > li {
    margin-top: 3.7em;
    width: 31%;
}

#works-related-list > li > a {
    display: block;
}

#works-related-list .img-wrap {
    font-size: 1rem;
    height: 21em;
}

#works-related-list .img-wrap > img {
    display: block;
    height: 100%;
}

#works-related-list .title {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.7142857143;
    margin-top: 1em;
}

/*---------------------------------------------
 * Works single
 *---------------------------------------------*/
#works-entry {
    padding: 9em 3em 0;
}

#works-entry > .title {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont,"Yu Gothic", "游ゴシック", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
    font-size: 4rem;
    line-height: 1.2;
    margin: 0;
    padding: 0 1em;
}

#works-entry > .desc {
    color: #999;
    line-height: 2.5;
    margin-top: .2em;
}

.works-image-block.one {
    margin-top: 5em;
}

.works-image-block.two {
    margin-top: 10em;
}

.works-image-block.three,
.works-image-block.five {
    margin-top: 6em;
}

.works-image-block img {
    display: block;
    height: 100%;
}

.works-image-block > .img-wrap.one > img {
    height: 60em;
}

.works-image-block > .img-wrap:not(.one):not(.eight) {
    height: 66em;
    width: 47.222222222%;
}

.works-image-block > .img-wrap.two-three > img,
.works-image-block > .img-wrap.six-seven > img,
.works-image-block > .img-wrap.nine-ten > img {
    height: 30em;
}

#events-entry .read-more {
    display: block;
    height: 3.33333333333em;
    line-height: 3.33333333333em;
    margin: 5em auto 0;
    width: 16.6666666667em;
}

#works-entry > .read-more {
    margin: 4em auto 0;
}

#works-section {
    margin-top: 10em;
}

#works-section > .content {
    width: 47.685185185%;
}

#works-section > .img-wrap {
    height: 43em;
    margin-right: 9.259259259%;
    width: 39.814814814%;
}

#works-section > .img-wrap > img {
    height: 100%;
}

#works-section .title {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont,"Yu Gothic", "游ゴシック", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
    font-size: 2.6rem;
    line-height: 1.2;
    margin-top: -.2em;
}

#works-section > .content > p {
    font-size: 1.4rem;
    line-height: 2.14285714286;
    margin-top: 1.7em;
}

#works-nav {
    margin-top: 6em;
}

#works-nav li {
    background-repeat: no-repeat;
    background-size: cover;
    height: 20em;
    max-width: 100%;
    position: relative;
    width: 39em;
}

#works-nav li:nth-of-type(1) {
    background-image: url(images/works/consultation.jpg);
}

#works-nav li:nth-of-type(2) {
    background-image: url(images/works/event.jpg);
}

#works-nav li::before {
    background-color: rgba(0, 0, 0, .3);
    content: "";
    height: 100%;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 0;
}

#works-nav li:hover::before {
    opacity: 1;
}

#works-nav li a {
    height: 100%;
    position: relative;
    width: 100%;
    z-index: 1;
}

#works-nav li a:hover {
    opacity: 1;
}

#works-nav .top-title.sub {
    font-size: 3.4rem;
    font-weight: bold;
}

#works-nav .top-title.sub::after {
    bottom: -1em;
    width: 1.76470588235em;
}

#works-terms-list {
    margin: 4em auto 0;
    max-width: 100%;
    width: 68em;
}

#works-terms-list a {
    background-color: transparent;
    border: 1px solid #000;
    border-radius: 2.0833333333em;
    color: #000;
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    height: 2.5em;
    line-height: 2.5em;
    text-align: center;
    -webkit-transition: color .3s ease, background-color .3s ease;
    transition: color .3s ease, background-color .3s ease;
    width: 13.3333333333em;
}

#works-terms-list a:hover {
    background-color: #000;
    color: #fff;
    opacity: 1;
}

#works-terms-list > li {
    margin-top: .83333333333em;
    padding: 0 .4166666667em;
}

/*---------------------------------------------
 * Model archive
 *---------------------------------------------*/
#model-archives > .line-title {
    padding: 0 .88235294117em;
}

#model-archives > .line-title + p {
    padding: 0 2.14285714286em;
}

#model-entry-list {
    padding-top: 3.5em;
}

#model-entry-list .img-wrap {
    font-size: 1rem;
    height: 32em;
    margin-right: 5%;
    width: 41.666666666%;
}

#model-entry-list a {
    display: block;
}

#model-entry-list .img-wrap > img {
    height: 100%;
    width: 100%;
}

.model-entry-list-item {
    padding: 6.5em 0 5.7em;
}

.model-entry-list-item > .inner {
    padding: 0 3em;
}

.model-entry-list-item:nth-of-type(even) {
    background-color: rgba(255, 255, 255, .7);
}

#model-entry-list > .model-entry-list-item:nth-of-type(even) .img-wrap {
    margin-right: 0;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

.model-entry-list-item:nth-of-type(even) .content {
    margin-right: 5%;
}

.model-entry-list-item .content {
    width: 54.166666666%;
}

.model-entry-list-item .title {
    font-size: 5rem;
    font-weight: bold;
    line-height: 1.2;
    margin: .07em 0 0 ;
}

.model-entry-list-item .note {
    margin-top: 1.4em;
}

.model-entry-list-item .note > p,
.model-entry-list-item .note > p > a {
    font-size: 1.4rem;
    line-height: 2.14285714286;
    margin: 0;
}

.model-entry-list-item .sub-title {
    font-size: 2rem;
    font-weight: bold;
    margin: 0;
}

.model-entry-list-item .read-more {
    background-color: #fff;
    border: 2px solid #333;
    color: #333;
    font-size: 1.4rem;
    font-weight: bold;
    height: 2.85714285714em;
    line-height: 2.6;
    margin-top: .8em;
    text-align: center;
    -webkit-transition: background-color .3s ease, color .3s ease;
    transition: background-color .3s ease, color .3s ease;
    width: 14.2857142857em;
}

.model-entry-list-item .read-more:hover {
    background-color: #333;
    color: #fff;
}

/*---------------------------------------------
 * Modelhouse single
 *---------------------------------------------*/
#modelhouses-entry {
    padding: 10em 3em 0;
}

#model-thumb > img {
    height: 55.5em;
}

#model-summary > .title {
    font-size: 5rem;
    font-weight: bold;
    line-height: 1.2;
    margin: 1em 0 0 0;
}

#model-summary > .sub-title {
    font-size: 2em;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 1.2em;
}

#model-summary > p:not(.sub-title) {
    line-height: 1.875;
    margin-top: .5em;
}

#model-summary > .note {
    margin-top: 2em;
}

#model-summary > .note > p {
    font-weight: bold;
    line-height: 1.875;
    margin: 0;
}

#model-book-btn {
    background-color: #238fbf;
    color: #fff;
    display: block;
    font-size: 2rem;
    font-weight: bold;
    margin: 1.6em auto 0;
    max-width: 100%;
    padding: .75em 0;
    text-align: center;
    width: 25em;
}

#model-images-list {
}

#model-images-list > li {
    margin-top: 6em;
    width: 47.5%;
}

#model-images-list > li img {
    height: 34em;
}

#model-images-list .title {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    margin-top: .6em;
}

#model-images-list .desc {
    font-size: 1.4rem;
    line-height: 2.14285714286;
    margin: 0;
}

#google-map {
    border: 1px solid #fff;
    box-sizing: border-box;
    display: block;
    margin: 5.1em auto 0;
    max-width: 100%;
    width: 100em;
}


/*---------------------------------------------
 * Events archive
 *---------------------------------------------*/
#events-nav {
    padding-top: 1.5em;
}

#events-nav li {
    color: #fff;
    font-weight: bold;
    height: 4em;
    line-height: 4em;
    text-align: center;
    width: 16em;
}

#events-nav li.active > a,
#events-nav li > a:hover {
    background-color: #000;
    opacity: 1;
}

#events-nav li > a {
    background-color: #999;
    display: block;
    font-size: 1.6rem;
    height: 100%;
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease;
    width: 100%;
}

#events-nav li:not(:last-child) {
    margin-right: 1px;
}

.entry-list-title.events {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.71428571429;
    margin-top: 1.1em;
}

.entry-list-item.events .open-date {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-top: 0;
}

/*---------------------------------------------
 * Page for-beginners
 *---------------------------------------------*/
.start-case-section.first {
    margin-top: 8.5em;
}

.start-case-section {
    margin-top: 6em;
}

.start-case-section > .content {
    background-color: #f4f4f4;
}

.start-case-section > header {
    border-bottom: 1px solid #333;
}

.start-case-section > header > p {
    color: #333;
    font-size: 6rem;
    height: 1.5em;
    margin: 0 .55em 0 0;
    white-space: nowrap;
}

.start-case-section > header > p > span {
    background-color: #333;
    box-sizing: border-box;
    color: #fff;
    margin-left: .2em;
    padding-top: .1em;
    width: 1.5em;
}

.start-case-section.first > header > p > span {
    padding: .1em 0 0 .1em;
}

.start-case-section > header > h2 {
    font-size: 2.4rem;
    line-height: 1.3;
    margin: 0 0 .2em;
}

.start-case-section > .content h3 {
    font-size: 2.4rem;
    line-height: 1.2;
    margin: 1.1em 0 -0.2em 0;
}

.start-case-section > header > h2 span:not(.pc-br) {
    font-weight: normal;
}

.start-case-section .content {
    padding: 3em 0 3.5em 0;
}

.start-case-section .lead,
.start-case-section > .content h3 {
    padding: 0 2em;
}

.start-case-section .lead > p {
    line-height: 2.2;
}

.start-case-section .cv-area {
    margin-top: 4em;
}

.start-case-section .event-image {
    border: 1px solid #333;
    box-sizing: border-box;
    height: 10em;
    max-width: 90%;
    padding: 1px;
    width: 40em;
}

.start-case-section .event-image > div {
    background-color: #333;
    color: #fff;
}

.start-case-section .event-image > img {
    width: 64.25%;
}

.start-case-section .event-image p {
    font-size: 3.4rem;
    line-height: 1.3;
    margin: -.1em 0 0;
    text-align: center;
    width: 100%;
}

.start-case-section .event-image span {
    font-size: 1.2rem;
}

.start-case-section .cv-area > div > a {
    color: #fff;
    height: 8em;
    width: 34em;
}

.start-case-section .cv-area > div:first-child > a {
    background-color: #eb6100;
}

.start-case-section .cv-area > div:last-child > a {
    background-color: #439f88;
}

.start-case-section .cv-area > div > a > p {
    font-size: 2.4rem;
    line-height: 1.2;
    margin: 0;
    width: 100%;
}

.start-case-section .cv-area > div > a > span {
    font-size: 1.4rem;
}

.start-case-section .cv-area > div > div {
    border: 1px solid #333;
    box-sizing: border-box;
    height: 6em;
    margin: 0 auto;
    width: 20em;
}

.start-case-section .cv-area > div > div > p {
    margin: 0;
}

.start-case-section .cv-area.address {
    margin-top: 3.2em;
}

.start-case-section .links > .event-image {
    width: 39em;
}

.start-case-section .links > .event-image:nth-of-type(-n+2) {
    margin-top: .8em;
}

.start-case-section .links > .event-image:nth-of-type(n+3) {
    margin-top: 2em;
}

.start-case-section .event-image.sns > img {
    width: 100%;
}

.start-case-section {
    margin-top: 3em;
}


/*---------------------------------------------
 * Page beginner-feature
 *---------------------------------------------*/
.page-desc {
    font-size: 1.6rem;
    margin-top: 1.3em;
    padding: 0 2em;
}

#beginner-feature-list {
    margin-top: -.3em;
    padding: 0 2em;
}

#beginner-feature-list img {
    height: 20em;
}

#beginner-feature-list h2 {
    font-size: 2rem;
    margin-top: .2em;
}

#beginner-feature-list h2 > span {
    color: #eeb800;
}

#beginner-feature-list > li {
    margin-top: 5.6em;
}

#beginner-feature-list > li > p {
    margin-top: .3em;
}

.point-label {
    background-color: #1a8cc6;
    border-radius: 50%;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-style: italic;
    height: 10em;
    left: -2em;
    position: absolute;
    top: -2em;
    width: 10em;
}

.point-label > p {
    font-size: 1.6rem;
    margin: .6em 0 0 0;
    width: 100%;
}

.point-label > span {
    font-size: 4rem;
    margin-top: -.15em;
}

/*---------------------------------------------
 * Page beginner-gift
 *---------------------------------------------*/
.beginner-flow-title {
    font-size: 4rem;
    margin-top: 1.2em;
}

#beginner-flow-free {
    background-color: #feefe4;
    border-top: 3px solid #eb6100;
    margin-top: 5.3em;
}

#beginner-flow-not-free {
    background-color: #eaf7fe;
    border-top: 3px solid #1a8cc6;
}

#beginner-flow-future {
    background-color: #fdf4d7;
    border-top: 3px solid #eeb800;
}

#beginner-flow-free > .beginner-flow-title {
    color: #eb6100;
}

#beginner-flow-not-free > .beginner-flow-title {
    color: #1a8cc6;
}

#beginner-flow-future > .beginner-flow-title {
    color: #eeb800;
}

.step-list {
    padding: 0 2em 6em 2em;
}

.step-list > li {
    margin-top: 4em;
}

.step-list img {
    height: 20em;
    margin-right: 4em;
    width: 30em;
}

.step-list h3 {
    font-size: 3rem;
    margin-top: 0;
}

.qa {
    border-radius: .8em;
    overflow: hidden;
}

.qa-list {
    background-color: #fff;
    padding: .09em 2em 1.5em 2em;
}

.qa-list a {
    color: #00a0e9;
}

.ques {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
    margin-top: 1.4em;
}

.answer {
    margin: 0;
}

#beginner-flow-free .qa > h3 {
    background-color: #eb6100;
    color: #fff;
    font-size: 1.6rem;
    padding: 1.1em 1.25em;
}

.step-list h4 {
    font-size: 2rem;
    margin-top: .7em;
}

.step-list h4 + p {
    margin-top: .1em;
}

#beginner-flow-free h3 {
    color: #eb6100;
}

#beginner-flow-not-free h3 {
    color: #1a8cc6;
}

#beginner-flow-future h3 {
    color: #eeb800;
}

.step-label {
    border-radius: 1em;
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    height: 1.66666667em;
    line-height: 1.66666667em;
    margin-right: .6em;
    width: 5.83333333em;
}

#beginner-flow-free .step-label {
    background-color: #eb6100;
}

#beginner-flow-not-free .step-label {
    background-color: #1a8cc6;
}

#beginner-flow-future .step-label {
    background-color: #eeb800;
}

.step-label-wrap {
    line-height: 1;
}

/*---------------------------------------------
 * Page beginner-gift
 *---------------------------------------------*/
.special-list {
    margin-top: 5.3em;
    padding: 0 2em;
}

.special-list > li {
    background-color: #f4f4f4;
    height: 18em;
    margin-top: 2em;
}

.special-label-wrap {
    background-color: #ea68a2;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    height: 100%;
    width: 10em;
}

.special-label-wrap::after {
    bottom: 0;
    content: "";
    background: -webkit-gradient(linear, right top, left bottom, color-stop(50%, rgba(255,255,255,0)), color-stop(50.5%, #ea68a2)) no-repeat top left/100% 50%,
    -webkit-gradient(linear, right bottom, left top, color-stop(50%, rgba(255,255,255,0)), color-stop(50.5%, #ea68a2)) no-repeat bottom right/100% 50%;

    background: -webkit-linear-gradient(top right, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top left/100% 50%,
    -webkit-linear-gradient(bottom right, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat bottom right/100% 50%;

    background: -o-linear-gradient(top right, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top left/100% 50%,
    -o-linear-gradient(bottom right, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat bottom right/100% 50%;

    background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top left/100% 50%,
    linear-gradient(to top left, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat bottom right/100% 50%;
    position: absolute;
    right: -2.5em;
    top: 0;
    width: 2.5em;
}

.special-label {
    margin-top: .8em;
}

.special-label-wrap > span {
    font-size: 5rem;
    margin-top: -.13em;
}

.special-content {
    left: 15.2em;
    padding: 0 3em 0 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.special-content > h3 {
    color: #ea68a2;
    font-size: 2.4rem;
    line-height: 1.4;
    margin-top: 0;
}

.special-content > h3 > span {
    color: #1a8cc6;
}

.special-content > p {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: .2em;
}

.special-content > p:empty {
    margin-top: 0;
}

/*---------------------------------------------
 * Craftsman
 *---------------------------------------------*/
#craftsman-list > li {
    padding: 6em 0;
    font-size: .8rem;
}

#craftsman-list > li:first-child {
    padding: 4em 0 6em 0;
}

#craftsman-list > li:last-child {
    padding: 6em 0 0 0;
}

#craftsman-list p {
    font-size: 1.28rem;
}

.cli-content {
    width: 48%;
}

.cl-item > img {
    height: 30%;
    margin-right: 4em;
    max-height: 300px;
    max-width: 480px;
    width: 48%;
}

.clic-title {
    font-size: 2rem;
    margin: -.3em 0 0 0;
}

.cli-content > p {
    line-height: 1.8;
}

#craftsman-list > .gray-100vw img {
    margin: 0 0 0 4em;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}


/*---------------------------------------------
 * Flow
 *---------------------------------------------*/
#hbf-list {
    list-style-type: none;
    padding: 0;
}

.hbfl-item {
    border-style: solid;
    border-width: 3px;
    height: 214px;
    margin-top: 3.8em;
    width: 214px;
}

.hbfl-item:nth-of-type(-n+5) {
    border-color: #1a8cc6;
}

.hbfl-item:nth-of-type(n+6) {
    border-color: #e7a202;
}

.hbfl-item:nth-of-type(n+11) {
    border-color: #62ac0d;
}

.hbfl-item:nth-of-type(n+14) {
    border-color: #eb6877;
}

.step-num {
    color: #fff;
    font-size: 2.4em;
    height: 1.6666666em;
    left: -3px;
    top: -3px;
    width: 1.6666666em;
}

.hbfl-item:nth-of-type(-n+5)  {
    background-color: #ecf7fd;
}

.hbfl-item:nth-of-type(-n+5) > .step-num {
    background-color: #1a8cc6;
}

.hbfl-item:nth-of-type(n+6) {
    background-color: #fef4dc;
}

.hbfl-item:nth-of-type(n+6) > .step-num {
    background-color: #e7a202;
}

.hbfl-item:nth-of-type(n+11) {
    background-color: #ebfcd8;
}

.hbfl-item:nth-of-type(n+11) > .step-num {
    background-color: #62ac0d;
}

.hbfl-item:nth-of-type(n+14) {
    background-color: #fff1f3;
}

.hbfl-item:nth-of-type(n+14) > .step-num {
    background-color: #eb6877;
}

.hbfl-item:nth-of-type(1) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.hbfl-item:nth-of-type(2) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.hbfl-item:nth-of-type(3) {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.hbfl-item:nth-of-type(4) {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
}

.hbfl-item:nth-of-type(5) {
    -webkit-box-ordinal-group: 9;
    -ms-flex-order: 8;
    order: 8;
}

.hbfl-item:nth-of-type(6) {
    -webkit-box-ordinal-group: 8;
    -ms-flex-order: 7;
    order: 7;
}

.hbfl-item:nth-of-type(7) {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
}

.hbfl-item:nth-of-type(8) {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
}

.hbfl-item:nth-of-type(9) {
    -webkit-box-ordinal-group: 10;
    -ms-flex-order: 9;
    order: 9;
}

.hbfl-item:nth-of-type(10) {
    -webkit-box-ordinal-group: 11;
    -ms-flex-order: 10;
    order: 10;
}

.hbfl-item:nth-of-type(11) {
    -webkit-box-ordinal-group: 12;
    -ms-flex-order: 11;
    order: 11;
}

.hbfl-item:nth-of-type(12) {
    -webkit-box-ordinal-group: 13;
    -ms-flex-order: 12;
    order: 12;
}

.hbfl-item:nth-of-type(13) {
    -webkit-box-ordinal-group: 17;
    -ms-flex-order: 16;
    order: 16;
}

.hbfl-item:nth-of-type(14) {
    -webkit-box-ordinal-group: 16;
    -ms-flex-order: 15;
    order: 15;
}

.hbfl-item:nth-of-type(15) {
    -webkit-box-ordinal-group: 15;
    -ms-flex-order: 14;
    order: 14;
}

.hbfl-item:nth-of-type(16) {
    -webkit-box-ordinal-group: 14;
    -ms-flex-order: 13;
    order: 13;
}

.hbfl-item:nth-of-type(-n+5) h3 {
    color: #1a8cc6;
}

.hbfl-item:nth-of-type(n+6) h3 {
    color: #e7a202;
}

.hbfl-item:nth-of-type(n+11) h3 {
    color: #62ac0d;
}

.hbfl-item:nth-of-type(n+14) h3 {
    color: #eb6877;
}

.hbfl-item.circle h3 {
    color: #fff;
    font-size: 3em;
    margin: 0;
}

.hbfl-item.circle h3.myhome {
    font-size: 2.4em;
}

.hbfl-item.circle p {
    color: #fff;
    margin-top: .3em;
}

.hbfl-item.circle {
    border: none;
    border-radius: 50%;
}

.hbfl-item.circle > section {
    padding: 0 2em;
    text-align: center;
}

.hbfl-item:nth-of-type(6) {
    background-color: #e7a202;
}

.hbfl-item:nth-of-type(11) {
    background-color: #62ac0d;
}

.hbfl-item:nth-of-type(14) {
    background-color: #eb6877;
}

/* 右- */
.hbfl-item:nth-of-type(-n+3)::after,
.hbfl-item:nth-of-type(9)::after,
.hbfl-item:nth-of-type(10)::after,
.hbfl-item:nth-of-type(11)::after {
    content: "";
    height: 3px;
    right: -4.5em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 4.5em;
}

.hbfl-item:nth-of-type(9)::after,
.hbfl-item:nth-of-type(10)::after {
    background-color: #e7a202;
}

.hbfl-item:nth-of-type(11)::after {
    background-color: #62ac0d;
}

.hbfl-item:nth-of-type(-n+3)::after,
.hbfl-item:nth-of-type(5)::after {
    background-color: #1a8cc6;
}

/* 下| */
.hbfl-item:nth-of-type(4)::after,
.hbfl-item:nth-of-type(8)::after,
.hbfl-item:nth-of-type(12)::after {
    content: "";
    height: 4.1em;
    left: 50%;
    position: absolute;
    bottom: -4.4em;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 3px;
}

.hbfl-item:nth-of-type(4)::after {
    background-color: #1a8cc6;
}

.hbfl-item:nth-of-type(8)::after {
    background-color: #e7a202;
}

.hbfl-item:nth-of-type(12)::after {
    background-color: #62ac0d;
}


/* -左 */
.hbfl-item:nth-of-type(5)::after,
.hbfl-item:nth-of-type(6)::after,
.hbfl-item:nth-of-type(7)::after,
.hbfl-item:nth-of-type(13)::after,
.hbfl-item:nth-of-type(14)::after,
.hbfl-item:nth-of-type(15)::after {
    content: "";
    height: 3px;
    left: -4.5em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 4.5em;
}

.hbfl-item:nth-of-type(6)::after,
.hbfl-item:nth-of-type(7)::after {
    background-color: #e7a202;
}

.hbfl-item:nth-of-type(13)::after {
    background-color: #62ac0d;
}

.hbfl-item:nth-of-type(14)::after,
.hbfl-item:nth-of-type(15)::after {
    background-color: #eb6877;
}

/* ←矢印左 */
.hbfl-item:nth-of-type(5)::after,
.hbfl-item:nth-of-type(13)::after {
    left: -4.2em;
    width: 4.2em;
}

.hbfl-item:nth-of-type(5)::before,
.hbfl-item:nth-of-type(13)::before {
    border-bottom: 1em solid transparent;
    border-top: 1em solid transparent;
    content: "";
    left: -4.5em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.hbfl-item:nth-of-type(5)::before {
    border-right: 2em solid #1a8cc6;
}

.hbfl-item:nth-of-type(13)::before {
    border-right: 2em solid #62ac0d;
}

/* ���印右→ */
.hbfl-item:nth-of-type(10)::after {
    right: -4.2em;
    width: 4.2em;
}

.hbfl-item:nth-of-type(10)::before {
    border-bottom: 1em solid transparent;
    border-left: 2em solid #e7a202;
    border-top: 1em solid transparent;
    content: "";
    right: -4.5em;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.hbfl-item:not(.circle) > section {
    margin-top: 4.4em;
    padding: 0 1em;
}

.hbfl-item p {
    font-size: 1.4em;
    letter-spacing: -.02em;
    margin-top: .5em;
}

.hbfl-item h3 {
    font-size: 1.95em;
    line-height: 1.2;
    margin: 0;
}

.hbfl-item:nth-of-type(1) h3,
.hbfl-item:nth-of-type(14) h3,
.hbfl-item:nth-of-type(16) h3 {
    letter-spacing: -.087em;
}

.hbfl-item img {
    height: 6em;
    margin: 0 auto;
    width: auto;
}

.hbfl-item:not(:nth-of-type(1)) img {
    margin-top: 2.2em;
}

.hbfl-item:nth-of-type(16) img {
    margin-top: .4em;
}

.hbfl-item:nth-of-type(14) > section {
    margin-top: 2.7em;
}

.hbfl-item:nth-of-type(14) p {
    margin-top: .5em;
}

/*---------------------------------------------
 * Plan
 *---------------------------------------------*/
#house-building-plan p {
    text-align: center;
}

#house-building-plan > ul {
    margin-top: 5em;
}

#plan-per {
    font-size: 9rem;
    font-weight: bold;
    color: #eb6877;
    line-height: 1.5;
    margin-top: .55em;
}

#plan-per > span {
    font-size: 60%;
}

.lead-text {
    font-size: 2rem;
    line-height: 1.7;
}

.lead-desc {
    margin-top: 0;
}

.plan-qa {
    padding: 3.5em 0 3em 0;
}

.plan-qa .lead-text {
    margin: 0;
}

.plan-list {
    background-color: #fff;
    border-radius: .8em;
    margin: 3em 0 3.4em 0;
    padding: 3.9em;
    text-align: left;
}

.plan-list li {
    font-size: 1.6rem;
    font-weight: bolder;
    line-height: 1.5;
}

.plan-list li::before {
    color: #999;
    content: "●";
    margin-right: .3em;
}

.plan-list li:not(:first-child) {
    margin-top: .9em;
}

.plan-list img {
    height: 100%;
    max-height: 300px;
    max-width: 400px;
    width: 43.4%;
}

.plan-list > ul {
    padding-right: 4em;
}

.arrow-htag {
    color: #fff;
    display: inline-block;
    font-size: 2rem;
    margin-top: 3em;
    padding: .8em 1.5em;
    position: relative;
}

.arrow-htag::after {
    background-color: inherit;
    bottom: -.65em;
    content: "";
    height: 1.3em;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%) rotate(45deg) skew( -8deg, -8deg );
    transform: translateX(-50%) rotate(45deg) skew( -8deg, -8deg );
    width: 1.3em;
}

#mortgage-knowledge,
#publish-survey {
    text-align: center;
}

#mortgage-knowledge > .arrow-htag {
    background-color: #eb6877;
}

#publish-survey > .arrow-htag {
    background-color: #1a8cc6;
}

#mortgage-knowledge {
    padding-bottom: 6em;
}

#mortgage-knowledge li {
    background-color: #f4f4f4;
    margin-top: 4em;
    padding: 1.9em 0;
    width: calc(50% - 2em);
}

#mortgage-knowledge li > p {
    font-weight: bolder;
    line-height: 1.4;
    margin-top: 0;
}

#mortgage-knowledge li > p:first-child {
    font-size: 3rem;
}

#publish-survey {
    padding-bottom: 1em;
}

/*---------------------------------------------
 * Privacy
 *---------------------------------------------*/
#page-privacy {
    background-color: rgba(255, 255, 255, .7);
    box-sizing: border-box;
    padding: 5.6em 3em;
}

#privacy > h2 {
    font-size: 1.6rem;
    line-height: 1.5;
}

#privacy > h3,
#privacy > p {
    font-size: 1.4rem;
    line-height: 1.71428571429;
}

#privacy > h3 {
    font-weight: bold;
    margin-top: 1.7em;
}

#privacy > p {
    margin-top: 0;
}


/*---------------------------------------------
 * 404 Not Found
 *---------------------------------------------*/
#not-found {
    height: 38vh;
    padding: 0 3em;
}

#not-found > p {
    font-size: 3rem;
    line-height: 1.2;
    margin: 0;
}

/*---------------------------------------------
 * about us
 *---------------------------------------------*/
#about-us-image {
    height: 50em;
}

#about-us-image > img {
    height: 100%;
}

#company-summary {
    margin-top: 5.5em;
}

#company-summary-list {
    margin-top: 2.8em;
}

#company-summary > .title {
    font-size: 3rem;
    line-height: 1;
    margin: 0;
}

#company-summary .item {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
    width: 12.5em;
}

#company-summary .desc {
    line-height: 1.875;
}

#company-summary li {
    border-top: 1px solid #ccc;
    padding: 2.2em 0;
}

#company-summary p {
    margin: 0;
}

#access-map {
    margin-top: 2.8em;
}

#access-map > .title,
#staff > .title {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
}

#access-map > iframe {
    border: 1px solid #ccc;
    box-sizing: border-box;
    margin-top: 2em;
    max-width: 100%;
}

#staff {
    margin-top: 6em;
}

#staff-list {
    margin-top: 2em;
}

#staff-list > li {
    width: 32%;
}

#staff-list > li:nth-of-type(n+4) {
    margin-top: 5.6em;
}

#staff-list img {
    display: block;
}

#staff-list p {
    font-size: 1.4rem;
}

#staff-list .name {
    line-height: 1;
    margin-top: 1.3em;
}

#staff-list .name > .desc {
    font-size: 2rem;
    font-weight: bold;
}

#staff-list .name > .item {
    margin-right: 1em;
}

#staff-list p:not(.name) {
    padding-top: 1.1em;
}

#staff-list p:not(.name) > .item {
    width: 7.14285714286em;
}

#staff-list p:not(.name)::before,
#staff-list p:not(.name)::after {
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: 0;
}

#staff-list p:not(.name)::before {
    background-color: #ccc;
    width: 100%;
}

#staff-list p:not(.name)::after {
    background-color: #0d3c5f;
    width: 31.25%;
}


/*---------------------------------------------
 * Page Consultation
 *---------------------------------------------*/
#page-consul {
    padding: 0 3em;
}

#consul-lead-text > p:first-of-type {
    font-size: 4.6rem;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 0;
}

#consul-lead-text > p:first-of-type > .large {
    font-size: 1.52173913043em;
}

#consul-lead-text > p:first-of-type .fw-normal:first-of-type {
    margin-left: -.4em;
}

#consul-lead-text > p:first-of-type .fw-normal:last-of-type {
    letter-spacing: -0.4em;
}

#consul-lead-text > p:first-of-type .orange {
    color: #eb6100;
}

#consul-lead-text > p:nth-of-type(2) {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 1.7em;
}

#consul-lead-text > p:nth-of-type(3) {
    font-size: 1.4rem;
    line-height: 2.14285714286;
    margin-top: .4em;
}

#consul-image {
    height: 50em;
    margin-top: 9.1em;
}

#consul-image > img {
    height: 100%;
}

#consult-recommend {
    margin-top: 10em;
}

#consult-recommend > .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1;
    margin: 0;
    text-align: center;
}

#consult-recommend > .content {
    margin-top: 3.6em;
}

#consult-recommend .img-wrap {
    height: 50em;
    width: 47.5%;
}

#consult-recommend .img-wrap > img {
    height: 100%;
}

#consult-recommend ul {
    font-size: 1.6rem;
    line-height: 2.5;
    margin-top: -.8em;
    width: 24em;
}

.consul-btncover{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-auto-rows: clamp(60px,10vw,100px);
    gap: 20px 40px ;
    padding-top: clamp(50px,10vw,100px);
    max-width: 1000px;
    margin: auto;

}
.consul-btncover .consulbtns{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(20px,3vw,30px);
    font-weight: bold;
    background-color: #eb6100;
    border-radius: .33333333333em;
    color: #fff;
    transition: opacity .3s;
    /* margin: 3.33333333333em auto 0; */
}
.consul-btncover .consulbtns:hover{
    opacity: .7;
}
.consul-btncover .consulbtns.-blue{
    background-color: #0097db;
}


#consul-book-btn {
    background-color: #eb6100;
    border-radius: .33333333333em;
    color: #fff;
    display: block;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
    margin: 3.33333333333em auto 0;
    max-width: 100%;
    text-align: center;
    padding: .617em 0;
    width: 16.6666666667em;
    transition: opacity .3s;
}
#consul-book-btn:hover{
    opacity: .7;
}
#consul-book-btn >.subtxt{
    font-size: 1.4rem;
    line-height: 1;
}

#consul-merit {
    margin-top: 10em;
}

#consul-merit > .title {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1;
}

#consul-merit-list > li {
    margin-top: 4em;
    width: 30.833333333%;
}

#consul-merit-list > li > .img-wrap {
    height: 24em;
}

#consul-merit-list > li > .img-wrap > img {
    height: 100%;
}

#consul-merit-list > li .title {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    margin-top: 1.1em;
}

#consul-merit-list > li .title > span {
    color: #8fc31f;
}

#consul-merit-list > li .desc {
    font-size: 1.3rem;
    line-height: 1.84615384615;
    margin-top: .7em;
}

#consul-flow > .title,
#consul-location > .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.2;
    margin: 2.1em 0 0 0;
}
/* #consul-flow > .title {
    text-align: right;
} */

#consul-flow > .title > .orange,
#consul-location > .title > .orange {
    color: #eb6100;
    font-size: 1.75em;
}

#consul-location > .title {
    margin-top: 2.3em;
}

#consul-flow > .title .fw-normal:first-of-type,
#consul-location > .title .fw-normal:first-of-type {
    margin-left: -.4em;
}

#consul-location > .map {
    margin-top: 4.5em;
}

#consul-location > .address-wrap {
    margin-top: 4em;
}

#consul-location > .map > iframe {
    border: 1px solid #ccc;
    max-width: 100%;
}

#consul-location > .address-wrap > .img-wrap {
    margin-right: 2em;
}

#consul-location > .address-wrap .name {
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0;
}

#consul-location > .address-wrap address,
#consul-location > .address-wrap .telfax {
    font-size: 1.6rem;
    font-style: normal;
    line-height: 1.5;
}

#consul-location > .address-wrap address {
    margin-top: .15em;
}

#consul-location > .address-wrap .telfax {
    margin: 0;
}

.nest-list-wrap.consul {
    margin-top: 4.7em;
    padding: 0;
}

#page-consul #app-cta {
    margin: 9em 0 4em;
}

#page-consul #app-cta h3 {
    color: #eb6100;
    margin-bottom: 0.3em;
}
#page-consul #app-cta h3 .subtxt{
    font-size: 50%;
}


/*---------------------------------------------
 * Recruit
 *---------------------------------------------*/
#corp-recruit > h3 {
    border-bottom: 1px solid #ccc;
    font-size: 2.4rem;
    margin: 1.7em 0 0 0;
    padding-bottom: .9em;
}

#corp-recruit > p {
    margin-top: .8em;
}

.corp-dl {
    margin-top: 2.3em;
    width: 42.8571429em;
}

#corp-recruit > .corp-dl > dt:first-of-type,
#corp-recruit > .corp-dl > dd:first-of-type {
    border-top: 0;
}

/*---------------------------------------------
 * Catalog Entry
 *---------------------------------------------*/
#catalog-single-main {
    padding: 0 2em;
}

#catalog-entry > h1 {
    border-bottom: 1px solid #ccc;
    font-size: 3rem;
    line-height: 1.4;
    margin: 1.7em 0 .3em 0;
    padding-bottom: .2em;
}

.catalog-thumb {
    margin-top: 2em;
}

.item-price {
    font-size: 2rem;
    margin-top: .3em;
}

.item-price > .price-num {
    color: #e60012;
    font-size: 4rem;
    font-weight: bold;
}

.basic-info {
    background-color: #f4f4f4;
    margin-top: 1.1em;
    padding: 2em;
}

.construction-price {
    font-size: 1.6rem;
    margin-top: -.8em;
}

.basic-info > p:not(.construction-price) {
    margin-top: .5em;
}

.construction-price > .price-num {
    color: #1baa9f;
    font-size: 3rem;
}

/*---------------------------------------------
 * Page Showroom
 *---------------------------------------------*/
#showroom-guide {
    height: 36.1em;
    margin-top: 6em;
}

#showroom-guide > .images {
    max-width: 100%;
    width: 63.8em;
}

#showroom-guide > .images > img {
    margin: 0 1px 1px 0;
    height: 33.333333%;
    width: calc(33.333333% - 1px);
}

#showroom-guide > .text {
    background-color: #866441;
    box-sizing: border-box;
    margin-bottom: -2px;
    padding: 0 2em;
    width: 36.2em;
}

#showroom-guide > .text > p {
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0;
}

#showroom-guide-wrap > .matome {
    background-color: #eeb800;
    border-radius: 3em;
    box-sizing: border-box;
    margin: 4em auto 0 auto;
    width: 80%;
    padding: 1.3em 1em;
}

#showroom-guide-wrap > .matome > .text{
    color: #fff;
    font-size: 2em;
    font-weight: bold;
    margin: 0;
}

#faction > a:first-child {
    margin-right: 2em;
}

#faction > a {
    border: 1px solid #ccc;
    box-sizing: border-box;
    color: #333;
    margin-top: 4em;
    padding: .6em .6em 1.5em .6em;
    width: 49em;
}

#faction > a > img {
    height: 24em;
}

#faction .title {
    font-size: 2rem;
    margin-top: .5em;
    padding: 0 5px;
}

#faction .desc {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-top: -.2em;
    padding: 0 10px;
}

#faction-free {
    background-color: #f4f4f4;
    margin-top: 6em;
    padding: 4em 0 5.4em 0;
}

.faction-section > h2,
.faction-section > p {
    text-align: center;
}

.faction-section > h2 {
    font-size: 4rem;
    font-weight: normal;
    margin: 0;
}

.faction-section > p {
    font-size: 2rem;
    margin: 0;
}

.faction-step-list {
    list-style-type: none;
    padding: 0 2em;
}

.faction-step-list > li {
    margin-top: 6em;
}

.faction-step-list > li:first-child {
    margin-top: 5.1em;
}

.faction-step-list .step-wrap {
    height: 6em;
    line-height: 6em;
}

#faction-free .step {
    background-color: #1a8cc6;
}

#faction-cautious .step {
    background-color: #eeb800;
}

.faction-step-list .step {
    color: #fff;
    font-size: 2rem;
    text-align: center;
    width: 5em;
}

#faction-free .faction-step-list h3 {
    background-color: #c6e3f1;
}

#faction-cautious .faction-step-list h3 {
    background-color: #fef4d3;
}

.faction-step-list h3 {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 2rem;
    margin: 0;
    padding-left: 1em;
}

.faction-step-list h4 {
    font-size: 1.6rem;
    margin: -.3em 0 .9em 0;
}

.faction-step-list img {
    height: 17.5em;
    margin-left: 4.5em;
    width: 26.4em;
}

.faction-step-list .content {
    margin-top: 2em;
}

.faction-step-list p {
    margin-top: -.3em;
}

#faction-cautious > h2 {
    margin-top: 1.2em;
}

/*---------------------------------------------
 * Archives
 *---------------------------------------------*/
#entry-list {
    margin: 1.7em -2em 0 -2em;
}

#entry-list.work {
    margin: 1.7em 0 0 0;
}

#entry-list.news {
    margin: 6em 0 0 0;
}

.entry-list-item {
    /*border: 1px solid #ccc;*/
    margin-top: 3.8em;
    max-width: 100%;
    /*padding: .3em;*/
    width: 31em;
}

#entry-list.works::after,
#entry-list.events::after{
    content: "";
    /*display: block;*/
    width: 30%;
}

.entry-list-item.news {
    border: none;
    border-top: 1px solid #1a8cc6;
    box-sizing: border-box;
    margin-top: 0;
    max-width: 100%;
    padding: 2.5em 1.3em;
    width: 100%;
}

.entry-list-item.news::after {
    content: "";
    background-image: url(images/news/arrow_right.png);
    background-repeat: no-repeat;
    background-size: 1rem 1.6rem;
    height: 1.6rem;
    margin-left: auto;
    width: 1rem;
}

.entry-list-item.news:last-child {
    border-bottom: 1px solid #1a8cc6;
}

.entry-list-link {
    color: #333;
    display: block;
}

.entry-list-link:hover > img {
    opacity: .6;
}

.entry-list-image {
    max-height: 260px;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
    width: 100%;
}

.entry-list-title {
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 1.4;
    margin: .1em 0 0 0;
}

.entry-list-desc {
    font-size: 1.4rem;
    margin-top: 0;
}

.entry-list-cat {
    background: -webkit-gradient(linear,left top,left bottom,color-stop(70%,transparent),color-stop(70%, #e7a202));
    background: linear-gradient(transparent 70%, #e7a202 70%);
    font-size: 1.6rem;
    bottom: 0;
    margin-bottom: .2em;
    right: 0;
}

.entry-list-title.news {
    font-size: 1.6rem;
    margin: 0;
    white-space: normal;
}

.entry-list-item.news > time {
    font-size: 1.6rem;
    margin-right: 4.3em;
}

.entry-list-item.news > a {
    color: #1a8cc6;
}

.entry-list-item.news:hover {
    background-color: #e9f7fd;
}

.entry-list-cat.events {
    background: none;
    bottom: auto;
    color: #fff;
    font-size: 1.4rem;
    height: 2.5em;
    line-height: 2.5em;
    left: .71428571428em;
    margin: 0;
    right: auto;
    top: .71428571428em;
    width: 8.57142857143em;
    z-index: 1;
}

.entry-list-cat.events.before,
.entry-list-cat.events.progress {
    background-color: #dc539f;
}

.entry-list-cat.events.after {
    background-color: #999;
}


.nest-list-item {
    background-color: #f4f4f4;
    border: none;
    /*height: 28.571429vw;*/
    height: 40em;
    /*max-height: 40em;*/
    margin-top: 6em;
    max-width: 100%;
    padding: 0;
    width: 100%;
}

.nest-list-image {
    height: 100%;
    left: 0;
    max-height: 100%;
    top: 0;
    width: 1050px;
}

.nest-list-item > div {
    height: 100%;
    margin: 0 auto;
    max-width: 160em;
    width: 100%;
}

.nest-list-item:nth-of-type(even) .nest-list-image {
    left: auto;
    right: 0;
}

.white-block {
    background-color: #fff;
    box-sizing: border-box;
    /*font-size: .4rem;*/
    /*height: 21.428571vw;*/
    height: 30em;
    right: 5em;
    /*max-height: 300px;*/
    /*max-width: 540px;*/
    padding: 3.7em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    /*width: 38.540vw;*/
    width: 54em;
}

.nest-list-item:nth-of-type(even) .white-block {
    left: 5em;
    right: auto;
}

.nest-list-title {
    font-size: 2.4rem;
    line-height: 1.2;
    margin: -.1em 0 0 0;
    white-space: normal;
}

.nest-list-title.beginner {
    font-size: 3.6rem;
}

.nest-list-cat {
    background: none;
    color: #eeb800;
    display: block;
    font-size: 1.4rem;
    margin: .8em 0 0;
}

.nest-list-desc {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: .7em;
}

.nest-list-item .read-more {
    margin-top: 2.5em;
}

.nest-list-desc.beginner {
    font-size: 1.6rem;
    line-height: 1.7;
    margin-top: .7em;
}

.nest-list-item .white-block > .entry-list-link {
    font-size: 1.6rem;
    text-align: right;
    text-decoration: underline;
    margin-top: 1.1em;
}

.nest-list-item .white-block > .entry-list-link:hover {
    opacity: .5;
}

.read-more.events {
    display: block;
    margin: 2em auto 0 auto;
    height: 3.33333333333em;
    line-height: 3.33333333333em;
    width: 16.6666666667em;
}


/*---------------------------------------------
 * Pagination
 *---------------------------------------------*/
.pagination {
    font-size: 1.5rem;
    margin-top: 3.7em;
}

.pagination li {
    background-color: #f4f4f4;
    /*border: 1px solid #333;*/
    margin: 0 .2em;
}

.pagination a {
    -webkit-transition: background-color .3s ease-out;
    transition: background-color .3s ease-out;
}

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

.pagination .page-numbers.current {
    background-color: #444;
    color: #fff;
}

.pagination a,
.pagination span {
    border: 1px solid #333;
    box-sizing: border-box;
    color: #444;
    display: block;
    font-size: 1.5rem;
}

.pagination .page-numbers {
    text-align: center;
    height: 2.4em;
    line-height: 2.3em;
    width: 2.4em;
}

.pagination > ul > li > span:not(.page-numbers) {
    height: 2.4em;
    line-height: 2.3em;
    padding: 0 1em;
}

.pagination > ul {
    /*margin: 0 auto;*/
}

/*---------------------------------------------
 * Archive Voice
 *---------------------------------------------*/
#page-main.voice {
    padding: 4.7em 3em 0;
}

#voice-entry-list::after {
    content: "";
    width: 30%;
}

#voice-entry-list > li {
    margin-top: 5.3em;
    width: 30%;
}

#voice-entry-list > li .title {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.7;
    margin-top: .7em;
    text-align: center;
}

.voice-entry-list-image {
    font-size: 1rem;
    height: 24em;
}


/*---------------------------------------------
 * Single Voice
 *---------------------------------------------*/
#page-main.voice-single {
    padding: 9.6em 3em 0;
}

#voice-entry > .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.2;
    margin: 0;
}

#voice-thumb {
    margin-top: 9.4em;
    height: 60em;
    width: 100%;
}

#voice-thumb > img {
    height: 100%;
}

.q-block {
    margin-top: 10em;
}

.q-block .question {
    margin-top: 2.1em;
    padding-left: 1.3em;
    text-indent: -.6em;
}

.q-block .question::before {
    content: "Q.";
    display: inline-block;
    font-size: 1.8rem;
    -webkit-transform: translateY(.02em);
    transform: translateY(.02em);
}

.q-block .answer {
    font-size: 1.4rem;
    line-height: 2.14285714286;
    margin-top: .4em;
    white-space: pre-line;
}

.q-block.first .question:first-of-type {
    margin-top: -.3em;
}

.q-block.second .question:first-of-type {
    margin-top: 2.4em;
}

.q-block.third .question:first-of-type {
    margin-top: -.3em;
}

.q-block.second .question {
    margin-top: 1.7em;
}

.q-block.first .img-wrap,
.q-block.first .content,
.q-block.third .img-wrap,
.q-block.third .content {
    width: 47.272727272%;
}

.q-block img {
    height: 100%;
}

.q-block.first .img-wrap,
.q-block.third .img-wrap {
    height: 64em;
}

.q-block.second .img-wrap {
    height: 60em;
    width: 100%;
}

#voice-entry > .read-more {
    margin: 4.285714285713em auto 0;
}


/*---------------------------------------------
 * Works
 *---------------------------------------------*/
.sep-line {
    display: block;
    margin-top: 6em;
    position: relative;
}

.sep-line::before {
    background: -webkit-linear-gradient(#f4f4f4, #fff);
    background: -moz-linear-gradient(#f4f4f4, #fff);
    background: -o-linear-gradient(#f4f4f4, #fff);
    background: linear-gradient(#f4f4f4, #fff);
    border-top: 5px solid #333;
    content: "";
    height: 20em;
    left: 50%;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
    z-index: -1;
}

/*---------------------------------------------
 * Works entry、News entry
 *---------------------------------------------*/
#work-entry {
    margin-top: 6em;
}

#work-block-1 > img {
    height: 50em;
}

#work-block-2 {
    margin-top: 5.2em;
}

#work-block-3 {
    margin-top: 5.3em;
}

.work-entry-title,
.news-entry-title {
    font-size: 3rem;
    line-height: 1.4;
    margin: 1.8em 0 0 0;
}

.work-entry-title {
    font-size: 4rem;
    line-height: 1.2;
    margin-top: 0;
    text-align: center;
}

#news-entry > .sep-line {
    margin-top: 1.1em;
}

.block-title {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.3;
    margin-top: -.1em;
}

.block-desc {
    font-size: 1.4rem;
}

.block-4-1 {
    padding-right: 2em;
    width: 380px;
}

.block-4-1 > img {
    height: 500px;
    width: 100%;
}

.block-4-2 {
    width: 380px;
}

.block-4-2 > img {
    height: 230px;
    width: 100%;
}

.block-4-2 > img:nth-of-type(2) {
    margin-top: 1.4em;
}

.plan-text {
    display: block;
    font-size: 1.6rem;
    margin-top: .8em;
    text-align: center;
}

.works-thumb {
    box-sizing: border-box;
    display: block;
    height: 160px;
    padding: 1px 1px 0 0;
    width: 160px;
}

.works-thumb > img {
    height: 100%;
    width: 100%;
}

/*---------------------------------------------
 * lightGallery
 *---------------------------------------------*/
.lg-toolbar .lg-icon {
    -webkit-transform: translate(-2em, 1em);
    transform: translate(-2em, 1em);
}

.lg-toolbar .lg-close:after,
.lg-actions .lg-next:before,
.lg-actions .lg-prev:after {
    font-size: 5rem;
}

.lg-actions .lg-next {
    right: calc(50vw - 590px);
}

.lg-actions .lg-prev {
    left: calc(50vw - 590px);
}


/*---------------------------------------------
 * News entry
 *---------------------------------------------*/
#news-entry > #entry-content {
    margin-top: 3em;
}


/*---------------------------------------------
 * Catalog Archive
 *---------------------------------------------*/
#catalog-archive-main {
    width: 72em;
    padding-right: 2em;
}

#catalog-archive {
    margin-top: 6em;
}

#catalog-archive #entry-content p {
    line-height: 1.7;
}

.blog-thumbnail {
    /*border: 1.7em solid #eaeaea;*/
    /*border-radius: 50%;*/
    height: 140px;
    margin-right: 4em;
    width: 200px;
}

#catalog-list {
    font-weight: bold;
    margin: 0;
}

.catalog-title {
    font-size: 2.4rem;
    line-height: 1;
    margin: .14em 0 0 0;
    max-height: 2.6em;
}

.catalog-title > a {
    color: #333;
    font-size: 1.6rem;
    font-weight: normal;
}

.catalog-list-item {
    margin-top: 4em;
    width: 34em;
}

.catalog-list-item > a > img {
    height: 24em;
}

#catalog-archive-main > h1 {
    border-bottom: 1px solid #ccc;
    font-size: 3rem;
    line-height: 1;
    margin: 0;
    padding-bottom: .5em;
}

#catalog-archive-main .pagination > ul {
    width: 100%;
}

.catalog-tags > span {
    border: 1px solid #ccc;
    box-sizing: border-box;
    color: #333;
    font-size: 1.2rem;
    font-weight: normal;
    height: 1.6em;
    line-height: 1.6em;
    margin: .83em .416em 0 0;
    padding: 0 .5em;
}

/*---------------------------------------------
 * Sidebar
 *---------------------------------------------*/
#sidebar {
    max-width: 220px;
    width: 100%;
}

.sidebar-widget-wrap {
    margin-bottom: 1.6em;
}

.sidebar-widget-wrap a {
    color: #333;
}

.tagcloud > a {
    display: block;
}

.tagcloud > a,
.sidebar-widget-wrap .cat-item {
    font-size: 1.4rem !important;
    font-weight: bold;
    margin-top: 1.5rem;
}

.sidebar-title {
    background-color: #444;
    color: #fff;
    font-size: 1.6rem;
    font-weight: normal;
    margin: 0 0 1em 0;
    padding: .25em .6em;
}

#sidebar li a {
    font-size: 1.4rem;
    font-weight: normal;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

#sidebar li a:hover {
    opacity: .7;
}

#sidebar li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 1em;
}

#sidebar li::before {
    content: "";
    background-image: url(images/blog/blog_arrow.png);
    background-repeat: no-repeat;
    background-size: .6em .7em;
    display: inline-block;
    font-size: 1rem;
    height: .7em;
    margin-right: 1em;
    -webkit-transform: translateY(.65em);
    transform: translateY(.65em);
    width: .6em;
}


/*---------------------------------------------
 * Single
 *---------------------------------------------*/
#entry-content {
    margin-top: 3.5em;
}

#entry-content img {
    max-width: 100%;
    width: auto;
}

#entry-content iframe {
    max-width: 100%;
}

#catalog-archive-main > .read-more {
    height: 2.5em;
    width: 12em;
}

#news-entry + .read-more {
    height: 2.5em;
    width: 12em;
}

#catalog-archive-main > .read-more::before,
#news-entry + .read-more::before {
    content: normal;
}

/*---------------------------------------------
 * News single
 *---------------------------------------------*/
#entry-header.news {
    border-bottom: 1px solid #ccc;
    padding-bottom: 2.7em;
}

.news-entry-title {
    color: #2d404b;
    font-size: 4rem;
    margin: 1.28em 0 0 0;
}

.news-entry-title.event::before {
    background-color: #1a8cc6;
}

.news-entry-title.tour::before {
    background-color: #62ac0d;
}

.news-entry-title.new::before {
    background-color: #eb6877;
}

#entry-header.news > time {
    color: #999;
    display: block;
    font-size: 1.4rem;
    margin-top: .2em;
}

#app-cta {
    left: 50%;
    margin-top: 6em;
    position: relative;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
}

#app-cta > section {
    background-color: #fff;
    border-radius: 1em;
    border: 1px solid #eaeaea;
    box-sizing: border-box;
    padding: 4em 2em;
    text-align: center;
}

#app-cta h3 {
    color: #333;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    margin: 0;
}

#app-cta > section > p {
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 2.14285714286;
    margin-top: .7em;
}

#app-cta-area .store-info {
    border-right: 1px solid #ccc;
    margin-right: 4em;
    padding-right: 3em;
}

#app-cta-area .store-info > p {
    line-height: 1;
    margin-right: -.5em;
    text-align: right;
}

#app-cta-area .store-tel {
    font-size: 4rem;
    color: #0a4680;
    line-height: 0;
    margin-top: 0;
}

#app-cta-area .store-tel::before {
    content: "";
    background-image: url("images/global/header/tel.png");
    background-repeat: no-repeat;
    background-size: .9em .9em;
    display: inline-block;
    height: .9em;
    margin-right: .2em;
    width: .9em;
}

#app-cta-area .store-open {
    color: #000;
    font-size: 1.2rem;
    margin-top: .5em;
}

#app-cta-area {
    margin-top: 3.7em;
}

.consul-btmbtns{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2,50px);
    gap: 5px;
    width: clamp(200px,30vw,300px);
}

.btmbtn{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(21px,2.4vw,24px);
    font-weight: bold;
    background-color: #eb6100;
    color: #fff;
    border-radius: 10px;
}
.btmbtn.-blue{
    background-color: #0097db;
}

#app-cta-button {
    background-color: #238fbf;
    color: #fff;
    font-size: 3rem;
    font-weight: bold;
    padding: .25em 1.2em;
    width: 30%;
}



#app-cta-button.pink {
    background-color: #ed5e9e;
}

#app-cta-button.orange {
    background-color: #eb6100;
}

#news-entry + .read-more {
    margin: 1.2em auto 4.8em auto;
    -webkit-transform: translateY(1.8em);
    transform: translateY(1.8em);
}

/*---------------------------------------------
 * Events single
 *---------------------------------------------*/
#events-entry {
    padding: 10em 3em 0;
}

.entry-image.events {
    display: block;
    height: 60em;
    width: 100%;
}

#entry-content.events {
    margin-top: 5.2em;
}

#event-content {
    margin-top: 5.2em;
}

#event-image {
}

#entry-content > .events-entry-title.events {
    font-size: 4em;
    line-height: 1.5;
    margin: 0;
}

#events-aside {
    margin-top: 1.7em;
    padding-top: .3em;
}

#events-aside > p {
    color: #444;
    font-size: 1.6rem;
    line-height: 1.2;
    margin-top: .5em;
}

#events-aside > p a {
    /*color: #ed5e9e;*/
    text-decoration: underline;
}

#events-aside > p a:hover {
    opacity: 1;
    text-decoration: none;
}

#events-aside > p > span:first-of-type {
    border: 1px solid #444;
    box-sizing: border-box;
    color: #444;
    display: block;
    font-size: 1.2rem;
    height: 1.66666666667em;
    line-height: 1.66666666667em;
    margin-right: .6em;
    text-align: center;
    width: 3.33333333333em;
}

#events-aside > p > span:last-of-type {
    margin-top: .05em;
}

#events-aside > a {
    color: #1a8cc6;
    font-size: 1.3rem;
    margin-left: 3.3em;
}

#news-archives .pagination > ul {
    margin: 4em 0 0 0;
}

/*---------------------------------------------
 * Event Common
 *---------------------------------------------*/
#page-form {
    margin: 0 auto;
    padding: 0;
}

/*---------------------------------------------
 * Seismic diagnosis 耐震診断
 *---------------------------------------------*/
#sd-header {
    margin-top: 6em;
}

#sd-header img {
    height: 30em;
}

#page-seismic-diagnosis h2 {
    color: #eb6100;
    font-size: 3.4rem;
    line-height: 1.1;
    margin-top: 0;
    text-align: center;
}

#page-seismic-diagnosis h2 > span {
    font-size: 147%;
    color: #663200;
}

#sd-header > p {
    line-height: 2;
    margin-top: .5em;
}

#sd-header > h2 {
    margin-top: .9em;
}

#sd-case {
    margin-top: 5em;
}

#sd-case-table-wrap {
    margin-top: 1em;
    overflow-x: scroll;
}

#sd-case-table-wrap > table {
    border: solid 1px #ccc;
    border-collapse: collapse;
    font-size: 1.4rem;
    font-weight: bold;
    width : 100%;
}

#sd-case-table-wrap > table > thead th {
    background-color: #eb6100;
    color: #fff;
    font-weight: bold;
    height: 2.5em;
    padding: 0 .4em;
}

#sd-case-table-wrap > table th,
#sd-case-table-wrap > table td {
    border: 1px solid #ccc;
}

#sd-case-table-wrap > table > tbody td {
    background-color: #f4f4f4;
    padding: .5em 0 .5em .6em;
}

#sd-case > table > tbody td:first-child {
    background-color: #ffefe3;
}

#sd-images {
    margin: 0 auto;
    max-width: 70em;
}

#sd-images img {
    border-radius: 1em;
    height: 11.5em;
    margin-top: 3em;
    width: 16em;
}

#sd-images > p {
    font-size: 1.2rem;
    margin-top: .4em;
    text-align: right;
}

#sd-for {
    margin-top: 3em;
}

#sd-for > p {
    color: #784e2a;
    font-size: 2rem;
    font-weight: bold;
    margin-top: .9em;
    text-align: center;
}

#sd-for > p > span {
    color: #eb6100;
}

#sd-for > img {
    height: 30em;
    margin-top: 3.2em;
}

#sd-flow {
    margin-top: 5.4em;
}

#sd-flow > img {
    height: 34em;
    margin-top: 2.5em;
}

#sd-link {
    background-color: #eb6100;
    color: #fff;
    display: block;
    font-size: 3.4rem;
    font-weight: bold;
    height: 2.3529em;
    line-height: 2.3529em;
    margin: 1.7647em auto 0 auto;
    text-align: center;
    width: 62.5%;
}


/*---------------------------------------------
 * Event form
 *---------------------------------------------*/
.formerrtxt{
    border: 2px solid #f00;
    padding: 20px;
    color: #f00;
    font-size: 1.8rem;
    width: 100%;
    max-width: 800px;
    margin: 30px auto;
    background-color: #fff;
}

#app-form-header {
    padding: 5em 0 0 0;
}

#app-form-header > .title {
    font-size: 4rem;
    font-weight: bold;
}

#app-form-header > p {
    font-size: 1.4rem;
    line-height: 1.71428571429;
    margin-top: 1.5em;
}

#app-form-header > p > span {
    color: #e60012;
}

#app-form-header a {
    color: #1a8cc6;
}

#app-form-header > .title {
    margin: 0;
}

#app-form-wrap {
    /* background-color: rgba(255, 255, 255, .7); */
    box-sizing: border-box;
    /*left: calc((100vw - 100%)/-2);*/
    margin-top: 5.7em;
    /*position: relative;*/
    /*width: 100vw;*/
}

#app-form {
    padding: 5em 2em 4em;
}

form input[type="text"],
form button,
form select,
form select:checked {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    outline: 0;
    border: 0;
}

select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
}

option:not(:checked) {
  color: black;
}

#app-form input {
    border: 1px solid #ccc;
    border-radius: 0;
    font-size: 1.4rem;
    padding: .8em;
}

#app-form .doc-request-inputs > input {
    border-radius: 50%;
    margin-right: .5em;
}

#app-form .e-name {
    border: none;
    font-size: 1.6rem;
}

#app-form select {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 0;
    font-size: 1.6rem;
    height: 2.82em;
    padding-left: 6%;
    width: 12.5em;
}

.e-name {
    background-color: #dedede;
    box-sizing: border-box;
    width: 100%;
}

.app-form-block {
    margin-top: 3.7em;
}

.app-form-block:nth-of-type(3) {
    margin-top: 3.2em;
}

.app-form-block h3 {
    font-size: 2rem;
    line-height: 1.3;
    margin: 0 .8em 0 0;
}

.app-form-block h4 {
    font-size: 1.4rem;
    font-weight: normal;
    margin: 0;
}

.app-form-block h4.event + p {
    margin-top: 1.3em;
}

.require-text  {
    line-height: 1.3;
}

.cf-massage-title {
    line-height: 1;
}

.require-text.narrow {
    margin-top: 1.1em;
}

.require-text,
.cf-massage-title {
    font-size: 1.4rem;
    margin-top: 1.5em;
}

.require-text::after {
    background-color: #e60012;
    content: "必須";
    color: #fff;
    font-size: 1.2rem;
    height: 1.5em;
    display: inline-block;
    line-height: 1.6em;
    margin-left: .7em;
    padding: 0 .4em;
    vertical-align: text-bottom;
}

.select-box-wrapper {
    margin-top: 2em;
}

.select-box {
    position: relative;
}

.select-box::after {
    content: "";
    background: url("images/form/arrow_down.png") no-repeat;
    background-size: .8em .7em;
    height: .7em;
    pointer-events: none;
    position: absolute;
    right: 1em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: .8em;
}
.meeting-wrapper{
    display: grid;
    grid-template-columns: auto 1fr;
}
.radio-wrapper{
    font-size: 2rem;
    line-height: 1.3;

}
.radio-wrapper > label{
    margin-right: 1rem;
}

.text-notes {
    font-size: 1.4rem;
    line-height: 1.71428571429;
}

.text-notes > a {
    font-size: 2rem;
    font-weight: bold;
    color: #0a4680;
}

.app-form-name > input,
.app-form-contact > input {
    width: 45.8%;
}

.app-form-input {
    margin-top: .8em;
}
.app-form-input > .child{
    margin-bottom: .8em;
}
.app-form-address > input:nth-of-type(1) {
    margin-right: 1.2em;
}

.app-form-address > input:nth-of-type(2),
.app-form-address > input:nth-of-type(3) {
    margin-top: .6em;
    width: 100%;
}

.app-form-address > .select-box {
    margin-top: .9em;
}

.app-form-block.address {
    margin-top: 2.7em;
}

.app-form-block.dotted-line {
    border-bottom: 2px dotted #ccc;
    border-top: 2px dotted #ccc;
    padding: 2.8em 0 3em;
}

.app-form-block.privacy-notes {
    background-color: #e0e0e0;
    padding: 2em 2.2em;
}

.app-form-block.privacy-notes > p {
    font-size: 1.4rem;
    line-height: 1.71428571429;
    margin-top: 1.1em;
}

.app-form-block.privacy-notes a {
    color: #333;
    font-size: inherit;
    text-decoration: underline;
}

.submit-btn {
    background-color: #238fbf;
    border: none;
    color: #fff;
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    height: 2.5em;
    line-height: 2.5em;
    margin: 2.5em auto 0 auto;
    text-align: center;
    width: 12.5em;
}

.submit-btn.pink {
    background-color: #ed5e9e;
}

.submit-btn.orange {
    background-color: #eb6100;
}

.submit-btn.black {
    background-color: #333;
}

.submit-note {
    font-size: 1.4rem;
    text-align: center;
}

.submit-note > span {
    font-weight: bold;
}
.submit-note.blue > span {
    color: #238fbf;
}

.submit-note.pink > span {
    color: #ed5e9e;
}

.submit-note.orange > span {
    color: #eb6100;
}

.submit-note.black > span {
    color: #e60012;
}

.send-complete {
    color: #1a8cc6;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}

#post-code-field + p {
    margin: 0;
    width: 65%;
}


#app-form #top-kuracipe {
    height: 450px;
    margin-top: 5.9em;
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    width: 1000px;
}

#app-form #top-kuracipe svg {
    width: 26rem;
}

#app-form #top-kuracipe p {
    font-size: 1.3rem;
}

#app-form #top-kuracipe svg {
    margin-top: 2em;
}

.doc-request-desc {
    line-height: 2;
    margin-top: 2.4em;
}

#contact-type {
    background-color: #fff;
    border: 1px solid #ccc;
    box-sizing: border-box;
    font-size: 1.6rem;
    height: 2.3125em;
    line-height: 2.3125em;
    padding: .3em .5em;
}

#contact-type > input:not(:first-child) {
    margin-left: 1em;
}

#app-form #app-cta-area {
    margin-top: .5em;
}

#app-form #app-cta-area .store-info {
    border: none;
}

#app-form #app-cta-area .store-tel {
    font-size: 3.2rem;
}

#select-region {
    border-bottom: 1px solid #ccc;
    margin-bottom: 3em;
    margin-top: 2.5em;
    padding-bottom: .2em;
}

#select-region > p {
    margin: 0;
}

#select-region > label {
    font-size: 1.4rem;
}

.option-text::after {
    background-color: #1baa9f;
    content: "任意";
    color: #fff;
    font-size: 1.2rem;
    height: 1.5em;
    display: inline-block;
    line-height: 1.6em;
    margin-left: .7em;
    padding: 0 .4em;
}

.region {
    margin: 0 .3em 0 .6em;
}

/* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
    color: #999;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
    color: #999;
}

/* Firefox 18- */
:-moz-placeholder {
    color: #999; opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder {
    color: #999; opacity: 1;
}

/* IE 10+ */
:-ms-input-placeholder {
    color: #999;
}


/*---------------------------------------------
 * Single Models
 *---------------------------------------------*/
#model-entry {
    padding: 9em 0 0 0;
}

.model-entry-title {
    font-size: 5rem;
    line-height: 1.1;
    margin: 0;
}

#model-entry-content {
    margin-top: 2em;
}

.model-sub-headline {
    font-size: 2rem;
    margin: 0;
}

.model-sub-headline.second {
    margin-top: .7em;
}

.model-desc {
    line-height: 1.7;
    margin-top: .4em;
}

.model-desc.second {
    line-height: 2.3;
    margin: 0;
}

.model-contact {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 1.7em;
}

.model-images {
    margin-top: 2.4em;
}

.model-images > div {
    max-width: 480px;
}

.model-images > div > img:nth-of-type(2) {
    margin-top: 3.6em;
}

.model-images > img:nth-of-type(2) {
    margin-top: 4em;
    max-height: none;
    max-width: 100%;
}

.model-images img {
    max-width: 100%;
}

.model-sub-section {
    margin-top: 5em;
}

.model-sub-section > p {
    background-color: #333;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-size: 3rem;
    line-height: 1.5;
    padding-left: .6em;
}

.model-swiper-container {
    background-color: #f4f4f4;
    margin-top: 2em;
    overflow: hidden;
}

.swiper-slide.model > img {
    display: block;
    margin: 0 auto;
    height: 400px;
    max-height: 400px;
    max-width: 600px;
    width: 600px;

}

.model-swiper-pagination {
    margin-top: 1em;
}

.model-swiper-pagination > .swiper-pagination-bullet-active {
    background-color: #333;
}

.model-swiper-pagination > .swiper-pagination-bullet {
    height: 1em;
    width: 1em;
}

.model-swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 .5em -1px .5em;
}

.swiper-button-prev.model,
.swiper-button-next.model {
    background-color: #333;
    background-size: 1em 2em;
    border-radius: 50%;
    height: 4em;
    width: 4em;
}

.swiper-button-prev.model {
    background-image: url("images/models/arrow_left.png");
    background-position: 48% 50%;
}

.swiper-button-next.model {
    background-image: url("images/models/arrow_right.png");
    background-position: 52% 50%;
}

#model-map {
    margin-top: 6em;
}

#model-map > iframe {
    margin-top: 2em;
    max-width: 100%;
}

/*---------------------------------------------
 * Model Form
 *---------------------------------------------*/
#app-form .model-event-name {
    padding-left: 1em;
    width: 100%;
}

#app-form .flatpickr-current-month input.cur-year {
    border: none;
    padding: 0 0 0 .5em;
}

#app-form .flatpickr-monthDropdown-months {
    border: none;
    height: auto;
    pointer-events: none;
    width: auto;
}

.flatpickr-current-month .numInputWrapper {
    pointer-events: none;
}

#calendar,
#model-calendar {
    margin: 2em 0;
}

.flatpickr-day {
    border: none;
    border-radius: 0;
    background-color: #eee;
    color: #2998ca;
    font-weight: bold;
    max-width: none;
    -webkit-flex-basis: 13.5%;
    -ms-flex-preferred-size: 13.5%;
    flex-basis: 13.5%;
    height: 2.4em;
    line-height: 2.4em;
    margin: 1px;
    width: 13.5%;
}

.dayContainer {
    min-width: auto;
}

.flatpickr-day.sunday:hover,
.flatpickr-day.saturday:hover,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.selected,
.flatpickr-day.saturday.selected,
.flatpickr-day.sunday.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.today:hover,
.flatpickr-day.today:focus,
.flatpickr-day:hover {
    background-color: #2998ca;
    color: #fff;
}

.flatpickr-day.disabled:hover {
    background-color: #eee !important;
}

.flatpickr-day.sunday,
.flatpickr-day.disabled.sunday {
    background-color: #ffdada;
}

.flatpickr-day.disabled.sunday:hover {
    background-color: #ffdada !important;
}

.flatpickr-day.saturday,
.flatpickr-day.disabled,saturday {
    background-color: #cdeefd;
}

.flatpickr-day.disabled.saturday:hover {
    background-color: #cdeefd !important;
}

.flatpickr-day.disabled.sunday,
.flatpickr-day.disabled.sunday:hover,
.flatpickr-day.prevMonthDay.sunday,
.flatpickr-day.prevMonthDay.sunday:hover {
    background-color: #ffdada;
}

.flatpickr-day.disabled.saturday,
.flatpickr-day.disabled.saturday:hover,
.flatpickr-day.nextMonthDay.saturday {
    background-color: #cdeefd;
}

.flatpickr-day.nextMonthDay.sunday {
    background-color: #ffdada;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected.sunday:hover,
.flatpickr-day.selected.saturday:hover {
    /*background-color: #ea6383;*/
    border: none;
}

.flatpickr-calendar.inline {
    box-shadow: none;
    border-radius: 0;
    max-width: 100%;
    padding: 1em;
    width: 28em;
}

.flatpickr-days,
.dayContainer {
    max-width: 100%;
    width: 100%;
}

.flatpickr-day.today {
    border: none;
}

.flatpickr-day:hover,
.flatpickr-day.today:hover {
    /*background-color: #ea6383;*/
    border: none;
}

.flatpickr-day.disabled,
.flatpickr-day.disabled, .flatpickr-day.disabled:hover {
    background-color: #eee;
    color: #999;
}

.flatpickr-weekdaycontainer > .flatpickr-weekday:not(:nth-of-type(6)):not(:last-of-type) {
    color: #333;
}

.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-of-type(6) {
    color: #00a0d5;
}

.flatpickr-weekdaycontainer > .flatpickr-weekday:last-of-type {
    color: #ff0000;
}

.flatpickr-current-month {
    padding: 0;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    line-height: 2;
}

.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #ccc;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    background-color: #eee;
}

#app-form .numInput.cur-year,
.flatpickr-current-month input.cur-year[disabled] {
    -webkit-text-fill-color: #333;
    color: #333;
    font-size: 100%;
    font-weight: bold;
    opacity: 1;
}

.flatpickr-current-month .numInputWrapper {
    width: 3em;
}

.flatpickr-calendar::before,
.flatpickr-calendar::after {
    content: normal;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: rgba(57,57,57,0.3);
    cursor: not-allowed;
}

.flatpickr-day.flatpickr-disabled:hover {
    background-color: #eee;
}

.flatpickr-day.flatpickr-disabled.saturday:hover {
    background-color: #cdeefd;
}

.flatpickr-day.flatpickr-disabled.sunday:hover {
    background-color: #ffdada;
}

/*---------------------------------------------
 * Contact Form
 *---------------------------------------------*/
#contact-form-header {
    padding: 0 3em;
}

#contact-form-header > address {
    background-color: #f4f4f4;
    font-style: normal;
    padding: 2em;
}

#contact-form-header > address > img {
    height: 6.36em;
    width: 36em;
}

#contact-form-header > address .tel {
    color: #0a4680;
    font-size: 4rem;
    line-height: 1;
    margin: 0;
}

#contact-form-header > address .tel::before {
    content: "";
    background-image: url(images/global/header/tel.png);
    background-repeat: no-repeat;
    background-size: 1em 1em;
    display: inline-block;
    height: 1em;
    margin-right: .2em;
    width: 1em;
}

#contact-form-header > address .open-close {
    color: #000;
    font-size: 1.2rem;
    line-height: 1;
    margin-top: .2em;
    text-align: right;
}

#contact-form-header > address > div {
    border-left: 1px solid #4b4b4b;
    margin-left: 2em;
    padding-left: 4em;
}

#contact-form-header > p {
    font-size: 1.4rem;
    line-height: 1.71428571429;
}

#app-form.contact {
    padding: .3em 2em 0 2em;
}

#app-form.contact > .app-form-block {
    margin-top: 3em;
}

.cf-message {
    -webkit-appearance: none;
    border: 1px solid #ccc;
    border-radius: 0;
    box-sizing: border-box;
    font-size: 1.4rem;
    height: 11.429em;
    outline: none;
    padding: .6em;
    width: 100%;
}

#doc-request {
    background-color: #fff;
    border: 1px solid #1baa9f;
    margin-top: 3em;
}

#doc-request > h3 {
    background-color: #1baa9f;
    color: #fff;
    font-size: 1.6rem;
    padding: 1.094em 1.438em;
}

#doc-request > p {
    color: #999;
    margin-bottom: -.5em;
}

.doc-request-inputs > label {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    margin-right: 1em;
}

/*---------------------------------------------
 * Thanks page
 *---------------------------------------------*/
#form-thanks {
    padding: 8em 3em 2.5em;
    text-align: center;
}

#form-thanks > h2 {
    color: #238fbf;
    font-size: 4em;
}

#form-thanks > p {
    font-size: 1.5rem;
    line-height: 1.7;
}


.st-btn {
    background-color: #000;
    background-image: url(images/global/footer/arrow_up.png);
    background-repeat: no-repeat;
    background-size: 2.1em 2.4em;
    background-position: center;
    border: none;
    display: block;
    height: 6em;
    right: 0;
    top: 0;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
    width: 6em;
}

.st-btn:hover {
    cursor: pointer;
}

.vbox-next {
    right: 100px;
}

.vbox-prev {
    left: 100px;
}

.vbox-next span,
.vbox-prev span {
    border: 3px solid transparent;
    height: 30px;
    width: 30px;
}

.vbox-close {
    background-color: transparent !important;
    top: 0;
    right: 60px;
    width: 50px;
    height: 70px;
    font-size: 60px;
}

/*---------------------------------------------
 * Blog Archive
 *---------------------------------------------*/
#blog-archive {
    padding: 0 1em;
}

#blog-tagcloud {
    border-bottom: 1px solid #ccc;
    padding: 2em 0;
}

#blog-tagcloud > .title {
    background-color: #000;
    border-radius: 50%;
    color: #fff;
    font-size: 2rem;
    height: 3.2em;
    margin: 0 .5em 0 0;
    width: 3.2em;
}

.blog-tagcloud-list > li {
    margin: .5em 1em .5em 0;
}

.blog-tagcloud-list > li:nth-last-child(2) {
    margin-right: 2em;
}

#modal-tag-wrap .blog-tagcloud-list > li:nth-last-child(2) {
    margin-right: 1em;
}

/*.blog-tagcloud-list > .more-btn-wrap {*/
/*    margin-left: 1.4em;*/
/*}*/

.blog-tagcloud-list > li > a {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: .71428571428em;
    display: block;
    font-size: 1.4rem;
    padding: .393em .796em;
    -webkit-transition: background-color .3s ease,
    color .3s ease;
    transition: background-color .3s ease,
    color .3s ease;
}

.blog-tagcloud-list > li > a:hover {
    background-color: #000;
    color: #fff;
    opacity: 1;
}

.blog-tagcloud-list > li > a::before {
    content: "#";
}

.blog-tagcloud-list .more-btn {
    background: none;
    border: none;
    font-size: 1.4rem;
    font-weight: bold;
    outline: none;
    position: relative;
}

.blog-tagcloud-list .more-btn:hover {
    cursor: pointer;
}

.blog-tagcloud-list .more-btn::before,
.blog-tagcloud-list .more-btn::after {
    background-color: #999;
    content: "";
    font-size: 1rem;
    height: .2em;
    left: -.7em;
    position: absolute;
    top: 43%;
    -webkit-transform: translateY(-43%);
    transform: translateY(-43%);
    width: 1em;
}

.blog-tagcloud-list .more-btn::before {

}

.blog-tagcloud-list .more-btn::after {
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
}

/* タグモーダル */
#modal-tag-wrap {
    background-color: rgba(255, 255, 255, .7);
    display: none;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 10;
}

#modal-tag-wrap > .content {
    background-color: #f4f4f4;
    box-shadow: 0 0 3em #999;
    box-sizing: border-box;
    height: 70em;
    margin: 10em auto;
    max-height: 75vh;
    max-width: 90%;
    overflow: scroll;
    padding: 6em;
    width: 80em;
}

#modal-tag-wrap > .content > .title {
    border-bottom: 1px solid #ccc;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 1;
    margin: 0;
    padding-bottom: 1em;
}

#modal-tag-wrap > .content > .blog-tagcloud-list {
    margin-top: 2.7em;
}

#modal-tag-wrap > .content > .close-btn {
    background-color: #333;
    border: 0;
    height: 3em;
    outline: 0;
    right: 1.6em;
    top: 1.5em;
    width: 3em;
}

#modal-tag-wrap > .content > .close-btn:hover {
    cursor: pointer;
    opacity: .7;
}

#modal-tag-wrap > .content > .close-btn::before,
#modal-tag-wrap > .content > .close-btn::after {
    background-color: #fff;
    content: "";
    height: .2em;
    position: absolute;
    right: .6em;
    top: 1.5em;
    width: 1.9em;
}

#modal-tag-wrap > .content > .close-btn::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#modal-tag-wrap > .content > .close-btn::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#blog-entry-list-wrap {
    margin-bottom: -3.5em;
    margin-top: 4em;
}

#blog-entry-list::after {
    content: "";
    clear: both;
    display: block;
}

#blog-entry-list > li {
    margin-bottom: 4em;
    overflow: hidden;
    position: relative;
}

#blog-entry-list > li:hover > img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

#blog-entry-list > li > img {
    height: 100%;
    -webkit-transition: transform 1s ease,
    -webkit-transform 1s ease;
    transition: transform 1s ease,
    -webkit-transform 1s ease;
}

#blog-entry-list > li > .content-wrap {
    bottom: 0;
    color: #fff;
    font-size: 1rem;
    height: 100%;
    left: 0;
    position: absolute;
    width: 100%;
}

#blog-entry-list > li > .content-wrap:hover {
    opacity: 1;
}

#blog-entry-list > li > .content-wrap > .content {
    bottom: 0;
    left: 0;
    position: absolute;
}

#blog-entry-list > li:nth-of-type(1),
#blog-entry-list > li:nth-of-type(5) {
    height: 64em;
    width: 72em;
}

#blog-entry-list > li:nth-of-type(1),
#blog-entry-list > li:nth-of-type(4),
#blog-entry-list > li:nth-of-type(6),
#blog-entry-list > li:nth-of-type(7) {
    float: left;
}

#blog-entry-list > li:nth-of-type(2),
#blog-entry-list > li:nth-of-type(3),
#blog-entry-list > li:nth-of-type(5),
#blog-entry-list > li:nth-of-type(8) {
    float: right;
}

#blog-entry-list > li:nth-of-type(2),
#blog-entry-list > li:nth-of-type(3),
#blog-entry-list > li:nth-of-type(4),
#blog-entry-list > li:nth-of-type(6) {
    height: 30em;
    width: 44em;
}

#blog-entry-list > li:nth-of-type(7),
#blog-entry-list > li:nth-of-type(8) {
    height: 40em;
    width: 58em;
}

#blog-entry-list > li:nth-of-type(4),
#blog-entry-list > li:nth-of-type(7) {
    clear: both;
}

#blog-entry-list > li:nth-of-type(1) .content,
#blog-entry-list > li:nth-of-type(5) .content,
#blog-entry-list > li:nth-of-type(7) .content,
#blog-entry-list > li:nth-of-type(8) .content {
    padding: 4em;
}

#blog-entry-list > li:nth-of-type(2) .content,
#blog-entry-list > li:nth-of-type(3) .content,
#blog-entry-list > li:nth-of-type(4) .content,
#blog-entry-list > li:nth-of-type(6) .content {
    padding: 2em;
}

#blog-entry-list > li:nth-of-type(1) .blog-tagcloud-list > li:nth-of-type(n+4),
#blog-entry-list > li:nth-of-type(5) .blog-tagcloud-list > li:nth-of-type(n+4),
#blog-entry-list > li:nth-of-type(7) .blog-tagcloud-list > li:nth-of-type(n+4),
#blog-entry-list > li:nth-of-type(8) .blog-tagcloud-list > li:nth-of-type(n+4) {
    display: none;
}

#blog-entry-list > li:nth-of-type(2) .blog-tagcloud-list > li:nth-of-type(n+2),
#blog-entry-list > li:nth-of-type(3) .blog-tagcloud-list > li:nth-of-type(n+2),
#blog-entry-list > li:nth-of-type(4) .blog-tagcloud-list > li:nth-of-type(n+2),
#blog-entry-list > li:nth-of-type(6) .blog-tagcloud-list > li:nth-of-type(n+2) {
    display: none;
}

#blog-entry-list a::before {
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(40,40,40,0.3)), to(rgba(255,255,255,0)));
    background: linear-gradient(to top, rgba(40,40,40,0.3), rgba(255,255,255,0));
    bottom: 0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    width: 100%;
}

#blog-entry-list .writer {
    font-size: 1.4rem;
    line-height: 1;
}

#blog-entry-list .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.25;
    margin-top: .35em;
}

#blog-entry-list > li:nth-of-type(2) .content > .title,
#blog-entry-list > li:nth-of-type(3) .content > .title,
#blog-entry-list > li:nth-of-type(4) .content > .title,
#blog-entry-list > li:nth-of-type(6) .content > .title {
    font-size: 2.4rem;
}

#blog-entry-list .blog-tagcloud-list {
    margin-top: .4em;
}

#blog-entry-list .blog-tagcloud-list > li {
    background-color: #fff;
    border-radius: .41666666666em;
    color: #333;
    font-size: 1.2rem;
    margin: .83333333333em .83333333333em 0 0;
    padding: .25em 1.209em;
}

#blog-entry-list .blog-tagcloud-list > li::before {
    content: "#";
}

/* タグアーカイブ */
#blog-tag-head {
    margin-top: 4em;
}

#blog-tag-head > .title {
    font-size: 5rem;
    line-height: 1;
    margin: 0;
}

#blog-tag-head > .count {
    background-color: #333;
    border-radius: .775em;
    color: #fff;
    display: inline-block;
    font-size: 2rem;
    line-height: 1;
    padding: .275em .877em;
}




/*---------------------------------------------
 * Blog Single
 *---------------------------------------------*/
#blog-entry {
    padding: 0 3em;
}

#blog-entry-main {
    background-color: rgba(255, 255, 255, .7);
    padding: 9.4em 0 6em 0;
}

#blog-entry-header > .title {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.25;
    margin: 0;
}

#entry-post-meta {
    border-bottom: 1px solid #ccc;
    font-size: 1.6rem;
    margin-top: .7em;
    padding-bottom: 1.2em;
}

#entry-post-meta > .writer,
#entry-post-meta > .date {
    line-height: 1;
    margin: 0;
}

#entry-post-meta > .writer > a {
    text-decoration: underline;
}

#entry-post-meta > .writer > a:hover {
    opacity: 1;
    text-decoration: none;
}

#entry-post-meta > .date {
    letter-spacing: .05em;
}

.entry-tag-list {
    margin-top: 1em;
}

.entry-tag-list a {
    background-color: #333;
    border-radius: .71428571428em;
    color: #fff;
    display: inline-block;
    font-size: 1.4rem;
    padding: .465em 1.011em;
}

.entry-tag-list a::before {
    content: "#";
}

.entry-tag-list > li {
    margin: 1em 1em 0 0;
}

#blog-entry-content {
    margin-top: 3.8em;
}

#blog-entry-content img {
    max-width: 100%;
    width: auto;
}

#blog-entry-article > .read-more {
    margin: 4.28571428571em auto 0 auto;
}

#blog-entry-recommend {
    margin: 5.2em auto 0 auto;
    max-width: 60.1em;
}

#blog-entry-recommend > .title-wrap {
    background-color: #000;
    padding: .85em 1em;
}

#blog-entry-recommend > .title-wrap > .title {
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    margin: 0;
}

#blog-entry-recommend > .content > a {
    font-size: 1rem;
    height: 14em;
    margin-top: 1px;
    width: 30em;
}

#blog-entry-recommend > .content > a > img {
    height: 100%;
}

#blog-entry-recommend > .content p {
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0;
    position: absolute;
    right: 50%;
    top: 50%;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
}

/*---------------------------------------------
 * About
 *---------------------------------------------*/
#page-about {
    padding: 0 3em;
}

#about-list {
    padding-bottom: 4em;
}

#about-list > li {
    background-repeat: no-repeat;
    background-size: cover;
    height: 30em;
    margin-top: 6em;
    position: relative;
    width: 47%;
}

#about-list > li::before {
    background-color: rgba(0, 0, 0, .3);
    content: "";
    height: 100%;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 0;
}

#about-list > li:hover::before {
    opacity: 1;
}

#about-list > li > a:hover {
    opacity: 1;
}

#about-list > li:nth-of-type(1) {
    background-image: url(images/about/concept.jpg);
}

#about-list > li:nth-of-type(2) {
    background-image: url(images/about/design.jpg);
}

#about-list > li:nth-of-type(3) {
    background-image: url(images/about/exterior.jpg);
}

#about-list > li:nth-of-type(4) {
    background-image: url(images/about/interior.jpg);
}

#about-list a {
    color: #fff;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.33333333333;
    height: 100%;
    position: relative;
    width: 100%;
}



/*---------------------------------------------
 * 基本構造
 *---------------------------------------------*/
#page-basic {
    padding: 0 2em;
}

#page-basic > section {
    margin-top: 10em;
}

#page-basic > section:first-of-type {
    margin-top: 5em;
}

#page-basic > section > header > img {
    height: 50em;
    width: 50em;
}

#page-basic > section > header > *:last-child {
    padding-left: 4.4em;
}

#page-basic section > header > div {
    width: 45.6em;
}

#page-basic h2 {
    font-size: 3rem;
    margin: 0;
}

#page-basic h2 > span {
    background-color: #8b7967;
    border-radius: .357em;
    color: #fff;
    font-size: 1.4rem;
    margin-left: 1.3em;
    padding: .479em 1.393em .379em;
}

#page-basic header .section-desc {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.3;
    margin-top: 1.4em;
}

#page-basic header p:not(.section-desc) {
    line-height: 1.72;
    letter-spacing: -.2px;
}

#eqr-list {
    margin: 0 -1.7em;
}

#eqr-list > li {
    border: 5px solid #eaeaea;
    box-sizing: border-box;
    height: 32.5em;
    margin: 4em 1.7em 0 1.7em;
    padding: 2em;
    width: 31em;
}

#eqr-list > li:first-child {
    width: 100%;
}

#eqr-list > li:first-child > img {
    height: 24.9em;
    width: 74.1em;
}

#eqr-list > li > img {
    height: 13.5em;
    width: 18.2em;
}

#eqr-list > li:nth-of-type(5) > img {
    height: 13.5em;
    width: 13.7em;
}

#eqr-list > li > p {
    margin-top: .3em;
    width: 100%;
}

#eqr-list > li > .check {
    font-size: 2.4rem;
    font-weight: bold;
    margin-top: .4em;
}

#eqr-list > li > .check > span {
    color: #e40004;
    font-size: 1.4rem;
    margin-right: .4em;
}

.hi-airtight {
    background-color: #f4f4f4;
    margin-top: 4em;
    padding: 2.9em;
}

.hi-airtight > h3 {
    font-size: 2rem;
    margin: 0;
}

.hi-airtight > h3::before {
    background-image: url(images/beginner/basic/column.png);
    background-repeat: no-repeat;
    background-size: 2.95em 2.5em;
    content: "";
    height: 2.5em;
    margin-right: .6em;
    width: 2.95em;
}

.hi-airtight > p {
    font-size: 1.6rem;
    line-height: 1.9;
    margin-top: .7em;
}

.hi-airtight.first > img {
    height: 14.3em;
    margin-top: 2em;
    width: 44em;
}

.hi-airtight.second > img {
    height: 14.2em;
    margin-top: 2em;
    width: 29.7em;
}

#basic-structure {
    border: 5px solid #eaeaea;
    height: 32em;
    margin-top: 4em;
}

#basic-structure > img {
    height: 21.6em;
    width: 80em;
}

#durability {
    height: 12.8em;
    margin-top: 4em;
}


/*---------------------------------------------
 * 7つの安心7つの保証
 *---------------------------------------------*/
#page-warranty > .page-desc {
    margin-top: .3em;
}

/*---------------------------------------------
 * IE
 *---------------------------------------------*/
@media all and (-ms-high-contrast: none) {

    select::-ms-expand {
        display: none;
    }

    .nest-list-title {
        line-height: 1.4;
        margin: 0;
    }

    .step-title > span {
        padding: 1em 1.1em .6em 1.1em;
    }

    #app-cta {
        left: auto;
        position: static;
        -webkit-transform: none;
        transform: none;
        width: auto;
    }

    #step-tel::before,
    #app-cta-area .store-tel::before {
        margin-top: -.4em;
    }

    .inquire-link.step {
        margin-top: 0;
        padding: 1.1em .625em .815em .625em;
    }

    .inquire-link.footer {
        padding: .8em .8em .5em .8em;
    }

    #copyright > a {
        margin-right: auto;
    }

    .read-more {
        line-height: 3.2em;
    }

    .inquire-link.front,
    .flatpickr-day {
        line-height: 2.8em;
    }

    .inspection-flow li {
        line-height: 2.2em;
    }

    #entry-list.news {
        margin: 6em auto 0 auto;
    }

    .news-entry-title::before {
        line-height: 2.45em;
        top: 0;
    }

    .corp-dl dt,
    .corp-dl dd {
        padding: 1.6em 0 1.25em 0;
    }

    .require-text::after {
        line-height: 1.8em;
        vertical-align: text-top;
    }

    #app-form .doc-request-inputs input {
        margin-top: -.1em;
    }

    .flatpickr-rContainer {
        width: 100%;
    }

    .cat-event,
    .cat-tour,
    .cat-new {
        line-height: 2.4em;
    }

    .catalog-title {
        margin: 0;
    }

    #trust-images > div:not(.multi),
    #trust-images > .multi > img {
        padding: 0;
        margin: 0 0 1px 1px;
    }

    .step-list img {
        width: auto;
    }

    .step-label {
        line-height: 2em;
    }

    #catalog-inputs input {
        margin-top: -.1em;
    }

    #clear-check-btn {
        line-height: 1em;
    }

    .catalog-tags > span {
        line-height: 1.8em;
    }

    #showroom-guide-wrap > .matome > .text {
        margin: .4em 0 0 0;
    }

    .faction-step-list .step-wrap {
        line-height: 6.5em;
    }

    .faction-step-list h3 {
        padding-top: .4em;
    }

    .faction-step-list img {
        width: auto;
    }

    .flatpickr-current-month .numInputWrapper {
        width: 10ch;
    }

    .entry-list-link.events {
        line-height: 2.8em;
    }

    #events-aside > p {
        padding: .1em 0;
    }

    #event-image > span {
        line-height: 2.1em;
    }

    #sd-link {
        line-height: 2.7em;
    }

    #greeting > img {
        width: auto;
    }

    #corp-summary {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    #contact-type > label {
        margin-top: .2em;
    }

    #doc-request > h3 {
        padding: 1.094em 1.438em .7em 1.438em;
    }

    .doc-request-inputs {
        margin-top: .4em;
    }

    .slideCell,
    .slideFrame > .slideGuide > .slideCell.desc-wrap {
        width: auto;
    }

    #app-form #app-cta-area .store-tel {
        font-family: inherit;
        margin-top: .3em;
    }

    #app-form-wrap {
        width: 99.5vw;
    }

    #app-form-wrap {
        margin-top: 5.3em;
    }

    .single-voice #wrapper {
        margin-top: 46.5em;
    }

    .single-post #wrapper {
        margin-top: 47.5em;
    }

    .blog-tagcloud-list .more-btn::before,
    .blog-tagcloud-list .more-btn::after {
        left: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .blog-tagcloud-list .more-btn::after {
        -webkit-transform: translateY(-50%) rotate(90deg);
        transform: translateY(-50%) rotate(90deg);
    }

    .blog-tagcloud-list .more-btn {
        padding-left: 1em;
    }

    #blog-entry-article > .read-more {
        margin: 4.28571428571em auto;
    }

    #app-cta-area .store-tel::before {
        -webkit-transform: translateY(.2em);
        transform: translateY(.2em);
    }

    #app-cta-area .store-info > p {
        margin-top: 1.5em;
    }

    #blog-tag-head {
        margin-top: 4.5em;
    }
}

/* 1486px */
@media (max-width: 92.875em) {
    #about-nav-footer-wrap {
        -webkit-box-pack: normal;
        -ms-flex-pack: normal;
        justify-content: normal;
    }

    #about-nav-footer {
        margin-left: auto;
    }

    #about-nav-footer-list a {
        font-size: 1.6vw;
    }
}

/* 1400px */
@media (max-width: 87.5em) {

}

/* 1300px */
@media (max-width: 81.25em) {
    #message {
        font-size: .8rem;
    }

    #top-model-consul {
        font-size: .7rem;
    }

    .entry-list-image.works {
        height: 19vw;
    }
}

/* 1260px */
@media (max-width: 78.75em) {
    #blog-entry-list > li:nth-of-type(1),
    #blog-entry-list > li:nth-of-type(5) {
        height: calc((100vw - 6em)*.53333333333);
        width: calc((100vw - 6em)*.6);
    }

    #blog-entry-list > li:nth-of-type(2),
    #blog-entry-list > li:nth-of-type(3),
    #blog-entry-list > li:nth-of-type(4),
    #blog-entry-list > li:nth-of-type(6) {
        height: calc((100vw - 6em)*.25);
        width: calc((100vw - 6em)*.36666666666);
    }

    #blog-entry-list > li {
        margin-bottom: calc((100vw - 6em)*.03333333333);
    }
}

/* 1100px */
@media (max-width: 68.75em) {
    #header-nav {
        margin-left: 0;
    }

}

/* 1039px */
@media (max-width: 64.9375em) {

    #event-archive {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #top-event > .gray-bg {
        display: none;
    }

}



/* 1000px */
@media (max-width: 62.5em) {

    #message {
        font-size: .6rem;
    }

    #about-nav-footer {
        min-width: auto;
        width: 100%;
    }

    #about-nav-footer {
        height: calc((93.75vw/4)/1.5);
    }

    #about-nav-footer-list a {
        font-size: 2vw;
    }

    .header-nav > li:not(:last-child) {
        margin-right: 3.8vw;
    }

    #page-main.sd,
    #page-main.app-form,
    #hbf-list,
    #blog-archive
    #top-related-sites-list {
        padding: 0 3em;
    }

    #news,
    #blogs {
        width: 60%;
    }

    #news > ul::after {
        content: normal;
    }

    .archives {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #news {
        margin-bottom: 2em;
    }

    #wrapper #process-list,
    #works-list,
    #instagram-list,
    #pickup-content-list {
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
    }

    #works-list,
    #pickup-content-list {
        margin-top: 0;
    }

    #process-list > li,
    #instagram-list > li {
        margin-top: 2em;
    }

    #wrapper #process-list,
    #wrapper #lineup-list,
    #wrapper #works-list,
    #wrapper #pickup-content-list {
        padding: 0 2em;
    }

    #entry-list {
        margin: 0 .5em;
    }

    #lineup-list > li {
        margin-top: 3vw;
    }

    .inquire-link.footer {
        margin: 1em auto 0 auto;
        width: 50%;
    }

    #company-info::before {
        left: calc((100vw - 100%) / -20);
    }

    .footer-inquire  {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }

    #catalog-archive {
        padding: 0 2em;
    }

    #page-main.works {
        padding: 0;
    }

    .gray-100vw {
        padding: 4em 2em;
        width: calc(100vw - 4em);
    }

    #house-lineup-list > .gray-100vw {
        padding: 4em 2em;
    }

    .warranty {
        height: auto;
        padding: 2em;
    }

    .warranty > h3 {
        border-right-style: none;
        margin: 0;
        padding: 0;
        text-align: center;
        width: 100%;
    }

    .warranty h4 {
        margin-top: .5em;
    }

    #warranty-images > img {
        max-height: 30vw;
        max-width: 50%;
        padding: 0 1em;
    }

    #warranty-images > img:first-child {
        max-width: 90%;
        width: 60%;
    }

    #inspection-flow > img {
        height: 37vw;
        width: 37vw;
    }

    #house-building-plan .gray-100vw {
        padding: 0em 2em;
    }

    .plan-qa > div {
        padding: 3.5em 0 3em 0;
    }

    #corp-company > iframe {
        height: 56.25vw;
        max-width: 100%;
    }

    /*.staff-image {*/
    /*    margin-top: calc(((100vw - 4em) - ((100vw - 4em) * 0.32) * 3 )/ 2);*/
    /*}*/

    #voice-style-1 .vs-1 > img,
    #voice-style-1 .vs-3 > img {
        height: 45vw;
        width: 45vw;
    }

    .model-images {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .model-images > div > img:nth-of-type(1) {
        margin-top: 3.6em;
    }

    .entry-list-item {
        margin-top: 3.2vw;
    }

    #top-news-blog {
        padding: 0 4em;
        width: 100vw;
    }

    .hbfl-item {
        font-size: 0.94vw;
        height: calc((100vw - 18.4em) / 4);
        width: calc((100vw - 18.4em) / 4);
    }

    .hbfl-item:not(.circle) > section {
        margin-top: 4.2vw;
    }

    .hbfl-item img {
        height: 4vw;
    }

    .hbfl-item:not(.circle) > section {
        padding: 0 .8em;
    }

    #top-works-price-list > li:nth-of-type(-n+2) {
        height: 31vw;
        width: calc(49vw - 2em);
    }

    #top-other-reform {
        padding: 0 2em;
    }

    #formula > .icon-circle {
        margin: 0 1vw;
        height: 18.5vw;
        width: 18.5vw;
    }

    #formula > .trust-circle {
        margin-left: 4vw;
    }

    #formula > .trust-circle::before {
        left: -6.6vw;
    }

    .icon-circle > p {
        font-size: 2.6vw;
    }

    #faction > a:first-child {
        margin-right: 0;
    }

    #corp-company {
        padding: 0 2em;
    }

    #corp-summary > div {
        margin: 3em 0 0 0;
    }

    .start-case-section {
        padding: 0 2em;
    }

    #brands-lead {
        padding: 0 2em;
    }

    #page-basic > section > header > *:last-child {
        padding-left: 0;
    }

    #page-basic > section > header > div {
        margin-top: 2em;
    }
}

/* 950px */
@media (max-width: 59.375em) {


}


/* 820px */
@media (max-width: 51.25em) {

    #post-code-field + p {
        width: 100%;
    }
}

/* 768px */
@media (max-width: 48em) {

    html {
        font-size: 2.7vw;
    }

    body {
        font-size: 1.25rem;
    }

    #header {
        left: 0;
        padding: 1em 1.5em 0;
        position: absolute;
        top: 0;
        width: 100%;
    }

    #header::before {
        height: 6em;
    }

    #logo img {
        left: 0;
        position: absolute;
        top: 0;
        width: 13.5em;
        z-index: 101;
    }

    #logo a:hover {
        opacity: 1;
    }

    @-webkit-keyframes slide-down {
        0% { top: -5.6em; }
        100% { top: 0; }
    }

    @keyframes slide-down {
        0% { top: -5.6em; }
        100% { top: 0; }
    }

    #header.bg-visible {
        -webkit-animation: slide-down .3s ease-in-out 0s ;
        animation: slide-down .3s ease-in-out 0s ;
        background-color: #fff;
        left: 0;
        padding: 1em 1.5em 4.6em;
        position: fixed;
        top: 0;
        -webkit-transition: top .3s ease;
        transition: top .3s ease;
        width: 100%;
    }

    #header.tmp {
        top: -5.6em;
    }

    .head-logo-white {
        z-index: 101;
    }

    .head-logo-black {
        opacity: 0;
        z-index: 102;
    }

    .head-logo-black.show {
        opacity: 1;
    }

    .head-logo-black.hide {
        opacity: 0;
    }

    #header.bg-visible .head-logo-black {
        opacity: 1;
    }

    #header.bg-visible .head-logo-black.hide {
        opacity: 0;
    }

    #header.bg-visible #sp-menu-btn > .menu-icon {
        fill: #000;
    }

    #header.bg-visible::before {
        content: normal;
    }

    .header-container {
        padding: 0 0 .1em 0;
        position: static;
    }

    #sp-menu-content {
        -webkit-overflow-scrolling: touch;
        height: calc(86vh - 5.25em);
        overflow: scroll;
        padding: 0 2.5em;
    }

    #sub-header {
        background-color: rgba(255, 255, 255, .9);
        /*box-shadow: 0px -6px 20px #999;*/
        box-sizing: border-box;
        font-size: 1.25rem;
        height: 5.25em;
        left: 0;
        padding: 1em 2em;
        position: fixed !important;
        top: 0;
        -webkit-transform: none;
        transform: none;
        width: 100%;
        z-index: 1000;
    }

    #logo {
        left: .1em;
        position: relative;
        right: auto;
        top: .6em;
        width: 13.5em;
    }

    #logo img.white {
        opacity: 0;
        -webkit-transition: opacity ease .3s;
        transition: opacity ease .3s;
    }

    #logo img.white.open {
        opacity: 1;
    }

    #sp-menu-btn > .menu-icon {
        fill: #fff;
        font-size: 1.25rem;
        height: 2.5em;
        width: 2.5em;
    }

    #top-badge {
        bottom: 6vw;
        left: 6vw;
        width: 50vw;
    }

    /* Menu button */
    #sp-menu-btn {
        -webkit-tap-highlight-color:rgba(0,0,0,0);
        display: block;
        position: absolute;
        right: 1.5em;
        top: 1.6em;
        z-index: 200;
    }

    .header-bg {
        width: 81vw;
    }

    .header-bg.sub {
        height: 13em;
    }

    #header2.sub {
        height: 16em;
    }

    #header2.top {
        height: 95vh;
    }

    #sub-page-title {
        font-size: 3.2rem;
    }

    .menu-line {
        -webkit-transition: fill .8s ease, -webkit-transform .5s ease;
        transition: fill .8s ease, -webkit-transform .5s ease;
    }

    .menu-line.open {
        fill: #fff;
    }

    .top-line.cross {
        -webkit-transform: translate(6.7px, 0px) rotate(45deg);
        transform: translate(6.7px, 0px) rotate(45deg);
    }

    .middle-line.cross {
        opacity: 0;
    }

    .bottom-line.cross {
        -webkit-transform: translate(-8px, 7.1px) rotate(-45deg);
        transform: translate(-8px, 7.1px) rotate(-45deg);
    }

    #sp-menu {
        background-color: #000;
        box-sizing: border-box;
        display: block;
        height: 100vh;
        /*overflow: scroll;*/
        padding: 6em 0 2em 0;
        position: fixed;
        right: 0;
        top: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        transition: -webkit-transform .5s ease-out;
        transition: transform .5s ease-out;
        transition: transform .5s ease-out, -webkit-transform .5s ease-out;
        width: 80vw;
        z-index: 100;
    }

    #sp-menu.show {
        -webkit-transform: none;
        transform: none;
    }

    #sp-menu-bg {
        background-color: rgba(0, 0, 0, .5);
        display: none;
        height: 100vh;
        left: 0;
        position: fixed;
        top: 0;
        width: 100vw;
        z-index: -1;
    }

    .f-fb.sp {
        width: .9em;
    }

    .f-ig.sp {
        width: 1.3em;
    }

    .f-line.sp {
        width: 1.95em;
    }

    #sp-header-nav {
        margin-bottom: 1.2em;
        text-align: center;
    }

    .sp-header-nav {
        line-height: 3.3;
        margin: 0;
        text-align: left;
    }

    .sp-header-nav-link {
        color: #fff;
        font-size: 2rem;
        letter-spacing: .1em;
        line-height: 2;
        padding: .1em 0;
    }

    .sp-header-nav-link:hover {
        color: #fff;
        opacity: .7;
    }

    .sp-header-nav-link[href="#"]:hover {
        color: #fff;
        opacity: .7;
    }

    .plus-icon {
        -webkit-transition: transform .4s ease;
        transition: transform .4s ease;
    }

    .parent.open .plus-icon.vertical {
        -webkit-transform: rotate(90deg) translateY(-1.2em);
        transform: rotate(90deg) translateY(-1.2em);
    }

    #sp-menu .si-tel {
        font-size: 3rem;
        margin-top: .6em;
    }

    #sp-menu .si-tel > a {
        color: #fff;
    }

    #sp-menu .si-tel > span {
        padding: .5em .6em .4em .6em;
    }

    #sp-gnav-plus {
        fill: #fff;
        margin-right: .3em;
        width: .8em;
    }


    #large-links {
        /*margin: 0 3em;*/
    }

    #large-links > a {
        border: 1px solid #fff;
        color: #fff;
        display: block;
        font-size: 1.55rem;
        padding: .7em 0;
        text-align: center;
        width: 100%;
    }

    #large-links > a:last-of-type {
        margin-top: .6em;
    }

    #sp-header-nav2 {
        margin-top: 1.5em;
    }

    #sp-header-nav2 > ul > li:first-of-type {
        border-right: 1px solid #fff;
        margin-right: 1em;
        padding-right: 1em;
    }

    #sp-header-nav2 > ul > li {
        line-height: 1;
    }

    #sp-header-nav2 a {
        font-size: 1.2rem;
    }

    #sp-menu-content > .sns-links {
        /*margin-top: 1.5em;*/
        margin: 1.5em auto 0;
        width: 80%;
    }

    #sp-menu-content > .sns-links > a > img {
        height: 2.5em;
        width: 2.5em;
    }

    #sp-menu-content > .sns-links > a {
        /*margin: 0 1em;*/
        margin: 0;
    }

    #sub-header .store-info.sp-store-info {
        background-color: #fff;
        border-radius: 1.5em;
        margin: 1em auto 0 auto;
        padding: .7em .4em;
        width: 80vw;
    }

    #message {
        font-size: .38rem;
        top: 45%;
        -webkit-transform: translateY(-45%);
        transform: translateY(-45%);
    }

    #message > .desc-ja {
        font-size: 4.1em;
        margin-top: 1.9em;
    }

    #message > .desc-en {
        font-size: 4em;
    }

    .sp-store-info > .si-tel {
        font-size: 3rem;
        line-height: 1.4;
        width: 100%;
    }

    .sp-store-info > .si-tel > a {
        color: #eb6877;
    }

    .sp-store-info > .si-open {
        font-size: 1.35rem;
        position: static;
        width: 100%;
    }

    .fs-title {
        font-size: 4rem;
    }

    #wrapper #process-list {
        padding: 0;
        width: 100vw;
    }

    /*#page-article::before {*/
    /*    height: 10em;*/
    /*}*/

    #process-list > li > img {
        border-width: 1em;
        font-size: .8em;
        height: 27vw;
        width: 27vw;
    }

    #process-list p {
        font-size: 1.5rem;
    }

    #archives .read-more {
        font-size: 1.4rem;
    }

    #archives ul {
        margin-top: 2em;
    }

    #news,
    #blogs {
        width: 85%;
    }

    #lineup-list {
        margin-top: 2em;
    }

    #lineup-list > li {
        height: 19vw;
        margin: .7em;
        width: 38.7vw;
    }

    #body.home #works-list {
        margin-top: 0;
    }

    #works-wrap {
        margin-top: 4em;
    }

    #works-list > li {
        width: 39vw;
    }

    #works-list > li img {
        height: 39vw;
    }

    #works-list p {
        margin-top: .3em;
    }

    #instagram > .fs-title,
    #pickup-content > .fs-title {
        font-size: 2.9rem;
    }

    .colorful-subtitle.no-border {
        width: auto;
    }

    #instagram-list {
        margin-top: .2em;
    }

    #instagram-list > li {
        margin-top: 0;
        padding: .4em;
    }

    #instagram-list > li:nth-of-type(n+4) {
        display: none;
    }

    #instagram-list > li img {
        height: 26.5vw;
        width: 26.5vw;
    }

    #pickup-content-list > li {
        margin-top: 0;
        padding: .5em;
    }

    #pickup-content-list > li img {
        height: 25.5vw;
        width: 40.5vw;
    }

    #company-info::before {
        border-left: 0;
        border-top: 1px solid #999;
        height: 1px;
        left: 0;
        top: 0;
        width: 100%;
    }

    .inquire-link.footer {
        width: 100%;
    }

    #copyright {
        border-top: 0;
        padding: 8.5em 0 0 0;
    }

    #copyright > p {
        padding: .5em 0;
        text-align: center;
        width: 100vw;
    }

    #copyright > a {
        padding: .5em 0;
    }

    #archive-nav {
        margin-top: 2vw;
    }

    #passion-text-1 img {
        margin-top: 3em;
    }

    #passion-text-2 img {
        margin-right: 0;
        max-width: 100%;
        height: 50vw;
        width: 100%;
    }

    #passion-text-2 p {
        margin-top: 1em;
    }

    #passion-text-2 > div {
        width: 100%;
    }

    #house-linup-images > li {
        height: 18vw;
        margin: 1.8em .5em 0 .5em;
        width: 40vw;
    }

    .hll-image {
        height: 50vw;
        margin-right: 0;
        width: 100%;
    }

    .hll-logo > img {
        padding: 6%;
    }

    .hll-content {
        margin-top: 1em;
        width: 100%;
    }

    .hll-content > .read-more {
        margin-top: 2em;
    }

    #inspection-flow,
    #am-content {
        padding: 3em 2em;
    }

    .inspection-flow,
    #am-content > div {
        margin-right: 0;
    }

    .inspection-flow-title {
        margin: 0;
    }

    .inspection-flow-title > span {
        margin-right: -2em;
    }

    #inspection-flow > img,
    #am-content > img {
        height: 100%;
        margin: 4em auto 0 auto;
        width: 100%;
    }

    .cl-item > img {
        height: 100%;
        margin: 0 auto;
        width: 100%;
    }

    .clic-title {
        margin-top: 1em;
    }

    #craftsman-list > .gray-100vw {
        padding: 6em 2em;
    }

    #craftsman-list > .gray-100vw img {
        margin: 0 auto;
    }

    .cli-content {
        width: 100%;
    }

    .step-title {
        margin: .5em 0 0 0;
    }

    .step-title > span {
        margin-right: 8em;
        -webkit-transform: translateY(-.14em);
        transform: translateY(-.14em);
    }

    .hbfl-item > section > div {
        width: 100%;
    }

    #step-contact > div {
        margin-right: 0;
    }

    .plan-list > ul {
        margin-top: 2em;
        padding-right: 0;
    }

    .plan-list img {
        margin: 0 auto;
        width: 100%;
    }

    #mortgage-knowledge li {
        width: 100%;
    }

    .corp-dl dt {
        width: 31%;
    }

    .corp-dl dd {
        padding-left: .5em;
        width: 66%;
    }

    .corp-dl img {
        height: auto;
        width: 100%;
    }

    #corp-company .cc-contact {
        padding-right: 0;
        margin-top: .5em;
    }

    .staff-list > li {
        margin: 2em 0 0 0;
        padding: .5em .5em 1.6em .5em;
        width: 40vw;
    }

    .staff-image {
        height: calc(40vw - 1em);
    }

    .staff-image > img {
        height: 100%;
    }

    #entry-list {
        margin: 0 2em;
    }

    .entry-list-item {
        box-sizing: border-box;
        margin-top: 3.7em;
        max-width: 100%;
        width: 100%;
    }

    .entry-list-image {
        height: 47vw;
        max-height: 55vw;
    }

    .pagination {
        margin-top: 2.8em;
    }

    #voice-style-1 > #voice-header {
        height: auto;
    }

    #voice-style-1 .voice-header-image {
        height: 66vw;
        width: 100vw;
    }

    #voice-style-1 .voice-header-content {
        margin-top: 0;
        max-width: none;
        padding: 0;
    }

    #voice-style-1 .voice-header-title {
        margin-top: .5em;
        font-size: 2.4rem;
    }

    #voice-style-1 .vs-1 > .voice-qa,
    #voice-style-1 .vs-3 > img {
        padding-right: 0;
    }

    #voice-style-1 .vs-1 > img,
    #voice-style-1 .vs-3 > img {
        height: calc(100vw - 4em);
        margin: 0 auto;
        width: calc(100vw - 4em);
    }

    .vs-1 > .voice-qa > .vq:first-of-type,
    .vs-3 > .voice-qa > .vq:first-of-type {
            margin-top: 1em;
    }

    .voice-section {
        margin-top: 4em;
    }

    .block-title {
        margin-top: .5em;
    }

    .block-4-1 {
        padding-right: 0;
        width: 100%;
    }

    .block-4-1 > img {
        height: 117.4vw;
    }

    .block-4-2 > img:nth-of-type(1) {
        margin-top: 1.4em;
    }

    .block-4-2 {
        width: 100%;
    }

    .block-4-2 > img {
        height: 54vw;
    }

    #catalog-archive-main {
        padding-right: 0;
        width: 100%;
    }

    #sidebar {
        margin-top: 4em;
        max-width: 100%;
    }

    .news-entry-title::before {
        display: inline-block;
        margin-right: 1em;
        position: static;
        -webkit-transform: translateY(-.4em);
        transform: translateY(-.4em);
    }

    .news-entry-title {
        padding-left: 0;
    }

    #app-cta-area .store-info {
         border-right: 0;
         margin-right: 0;
         padding-right: 0;
    }

    #app-cta-area .store-tel {
        font-size: 3.7rem;
    }

    #app-cta-area .store-info > .store-open {
        font-size: 1.6rem;
        line-height: 1.4;
        margin-top: .3em;
        text-align: right;
    }

    .model-images > img:nth-of-type(2) {
        max-height: 21.1em;
    }

    #app-cta-button {
        margin-top: .6em;
        width: 100%;
    }

    #app-cta > section > p {
        line-height: 1.5;
    }

    #news-entry + .read-more {
        margin: 2.1em auto 0 auto;
        -webkit-transform: none;
        transform: none;
    }

    .app-form-name > input {
        width: 100%;
    }

    .app-form-contact > input {
        box-sizing: border-box;
        width: 100%;
    }

    .app-form-address > .select-box {
        margin-top: .5em;
    }

    .app-form-address > input:nth-of-type(1) {
        margin-left: 0;
    }

    #model-map > iframe {
        max-height: 20em;
    }

    .doc-request-inputs > label {
        margin-right: 0;
        width: 38%;
    }

    #house-building-plan .lead-desc {
        text-align: left;
    }

    .swiper-slide.model > img {
        height: 59vw;
    }

    .page-title {
        font-size: 2.9rem;
    }

    .hbfl-item {
        margin-top: 4em;
    }

    .hbfl-item:nth-of-type(1) {
        margin-top: 3em;
    }

    #plan-per {
        margin-top: 0.1em;
    }

    #warranty-list > li, #warranty-images {
        margin-top: 3.4em;
    }

    #inspection-flow {
        margin-top: 4em;
    }

    #am-content {
        margin-top: 3em;
    }

    #house-linup-images {
        margin-top: 2.7em;
    }

    #publish-survey > .plan-list {
        margin-top: 4em;
    }

    #mortgage-knowledge li:not(:first-child) {
        margin-top: 2em;
    }

    #house-lineup-list > li:last-child {
        padding: 4em 0 0;
    }

    .work-entry-title,
    .news-entry-title {
        font-size: 2.4rem;
    }

    .block-title {
        font-size: 2rem;
    }

    #news-archives > #archive-nav {
        margin-top: 2.5em;
    }

    #news-entry > #entry-content {
        margin-top: 3em;
    }

    #corp-staff > p:nth-of-type(2) {
        text-align: left;
    }

    #app-cta h3 {
        font-size: 3rem;
        line-height: 1.2;
    }

    #app-cta-area {
        margin-top: 2em;
    }

    #app-cta-area .store-open {
        font-size: 1.8rem;
    }

    .catalog-title {
        line-height: 1.25;
    }

    #catalog-archive {
        margin-top: 3em;
    }

    #sidebar > .sidebar-widget-wrap:last-of-type {
        margin-bottom: 0;
    }

    #model-entry {
        padding: 4.5em 0 0 0;
    }

    #app-form-header {
        padding: 3em;
    }

    #app-form-header > p {
        margin-top: 1.7em;
        text-align: left;
    }

    #form-thanks {
        padding: 4em 3em 1.5em;
    }

    #form-thanks > p {
        text-align: left;
    }

    #archive-nav {
        display: none;
    }

    #archive-nav-sp {
        display: block;
    }

    #archive-nav-sp .select-box {
        -webkit-transform: translateY(2.9em);
        transform: translateY(2.9em);
    }

    #archive-nav-select {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
        border: 2px solid #333;
        font-size: 1.6rem;
        outline: 0;
        padding: .8em 1em;
        width: 100%;
    }

    #fixed-footer-link {
        display: none;
    }

    #slider-wrap {
        width: calc(100vw - 6em);
    }

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev {
        right: -1.5em;
    }

    .swiper-button-prev, .swiper-container-rtl .swiper-button-next {
        left: -1.5em;
    }

    .swiper-container {
        /*height: 90vh;*/
    }

    #copyright > p {
        left: 0;
    }

    #copyright #sp-footer-logo {
        border-bottom: 1px solid #fff;
        padding: 2.2em 0 1.5em 0;
        text-align: center;
        width: 100%;
    }

    #sp-footer-logo > svg {
        width: 12em;
    }

    #copyright {
        padding: 0;
    }

    #st-btn-wrap {
        /*height: 40px;*/
        margin: 0 auto;
        right: 0;
        top: 0;
        width: 100vw;
        z-index: 10;
    }

    .st-btn {
        background-color: #523213;
        background-image: url("images/global/footer/arrow_up.png");
        background-repeat: no-repeat;
        background-size: 2.1em 2.4em;
        background-position: center;
        border: none;
        height: 4.5em;
        right: 0;
        top: 0;
        -webkit-transition: opacity .3s ease-out;
        transition: opacity .3s ease-out;
        width: 4.5em;
    }

    .st-btn:focus {
        outline: none;
    }

    .st-btn:hover {
        cursor: pointer;
        opacity: .7 !important;
    }

    .hbfl-item {
        font-size: unset;
        height: auto;
        width: 100%;
    }

    .hbfl-item h3 {
        font-size: 1.95rem;
    }

    .hbfl-item p {
        font-size: 1.4rem;
    }

    .step-num {
        font-size: 2.4rem;
    }

    .hbfl-item:not(.circle) > section {
        margin-top: 12.5vw;
        padding-bottom: 1.5em;
    }

    .hbfl-item img {
        height: 17vw;
    }

    .hbfl-item.circle {
        height: 20em;
        margin-left: auto;
        margin-right: auto;
        width: 20em;
    }

    .hbfl-item:nth-of-type(5) {
        -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
        order: 5;
    }

    .hbfl-item:nth-of-type(6) {
        -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
        order: 6;
    }

    .hbfl-item:nth-of-type(7) {
        -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
        order: 7;
    }

    .hbfl-item:nth-of-type(8) {
        -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
        order: 8;
    }

    .hbfl-item:nth-of-type(14) {
        -webkit-box-ordinal-group: 15;
        -ms-flex-order: 14;
        order: 14;
    }

    .hbfl-item:nth-of-type(15) {
        -webkit-box-ordinal-group: 16;
        -ms-flex-order: 15;
        order: 15;
    }

    .hbfl-item:nth-of-type(16) {
        -webkit-box-ordinal-group: 17;
        -ms-flex-order: 16;
        order: 16;
    }

    .hbfl-item:nth-of-type(-n+3)::after,
    .hbfl-item:nth-of-type(9)::after,
    .hbfl-item:nth-of-type(10)::after,
    .hbfl-item:nth-of-type(11)::after {
        bottom: -4.5em;
        content: "";
        height: 4.5em;
        position: absolute;
        right: 50%;
        top: auto;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
        width: 3px;
    }

    .hbfl-item:nth-of-type(5)::after,
    .hbfl-item:nth-of-type(6)::after,
    .hbfl-item:nth-of-type(7)::after,
    .hbfl-item:nth-of-type(13)::after,
    .hbfl-item:nth-of-type(14)::after,
    .hbfl-item:nth-of-type(15)::after {
        content: "";
        height: 4.2em;
        left: 50%;
        position: absolute;
        top: auto;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 3px;
        bottom: -4.2em;
    }

    .hbfl-item:nth-of-type(5)::after,
    .hbfl-item:nth-of-type(13)::after {
        bottom: -4em;
        height: 4em;
        left: 50%;
        width: 3px;
    }

    .hbfl-item:nth-of-type(5)::before {
        border-top: 2em solid #1a8cc6;
    }

    .hbfl-item:nth-of-type(5)::before,
    .hbfl-item:nth-of-type(13)::before {
        border-left: 1em solid transparent;
        border-right: 1em solid transparent;
        border-bottom: 0;
        bottom: -4.3em;
        content: "";
        left: 50%;
        position: absolute;
        top: auto;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .hbfl-item:nth-of-type(13) {
        -webkit-box-ordinal-group: 14;
        -ms-flex-order: 13;
        order: 13;
    }

    .hbfl-item:nth-of-type(10)::before {
        border-bottom: 0;
        border-left: 1em solid transparent;
        border-right: 1em solid transparent;
        border-top: 2em solid #e7a202;
        bottom: -4.3em;
        content: "";
        right: 50%;
        position: absolute;
        top: auto;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }

    .hbfl-item:nth-of-type(10)::after,
    .hbfl-item:nth-of-type(13)::after {
        bottom: -4.1em;
        height: 4.1em;
    }

    .hbfl-item:nth-of-type(4)::after,
    .hbfl-item:nth-of-type(8)::after,
    .hbfl-item:nth-of-type(12)::after {
        height: 4.2em;
    }

    .hbfl-item:nth-of-type(15)::after {
        bottom: -4.4em;
    }

    .hbfl-item:nth-of-type(13)::before {
        border-top: 2em solid #62ac0d;
    }

    .archive-desc {
        text-align: left;
    }

    /*#page-article::before {*/
    /*    margin-top: 2em;*/
    /*}*/

    #page-article {
        padding-top: 3em;
    }

    #page-nav-sp {
        margin-top: 3em;
    }

    .page-nav-sp-list::after {
        color: #bbb;
        content: "〉";
        font-size: 1.4em;
        position: absolute;
        right: .6em;
        top: 0;
    }

    .page-nav-sp-list > a {
        color: #333;
        display: block;
        font-size: 1.8rem;
        height: 100%;
        width: 100%;
    }

    .page-nav-sp-list {
        background-color: #f4f4f4;
        height: 3.66em;
        line-height: 3.66em;
        margin-bottom: 1px;
        padding-left: 2em;
        width: 100%;
    }

    .page-nav-sp-list.active {
        background-color: #e6e6e6;
    }

    .nest-list-image {
        height: calc(100vw/1.6);
        width: 100%;
    }

    .nest-list-item,
    .white-block,
    .nest-list-image {
        position: static;
    }

    .nest-list-item {
        height: auto;
    }

    .white-block,
    .nest-list-item:nth-of-type(even) .white-block {
        height: auto;
        -webkit-transform: translate(0, -10%);
        transform: translate(0, -10%);
        width: 87vw;
    }

    #works-archives > .page-title {
        padding: 1.2em .3em 0 .3em;
    }

    #works-archives > .archive-desc {
        padding: 0 1em;
    }

    .entry-image {
        height: calc((100vw - 6em)/1.55);
    }

    .events-entry-title.events {
        font-size: 2.6rem;
    }

    #entry-content > .events-entry-title.events {
        margin-top: .7em;
    }

    #app-form {
        padding-top: 0;
    }

    #app-form #top-kuracipe {
        height: auto;
        margin-top: 3.9em;
         -webkit-transform: translateX(-4em);
        transform: translateX(-4em);
        width: 100vw;
    }

    #doc-request > h3 {
        margin: 0;
        text-align: center;
        width: 100%;
    }

    #app-form .doc-request-inputs {
        padding: 1em 3.5em;
        width: 100%;
    }

    #app-form .doc-request-inputs > input {
        font-size: 1rem;
    }

    #app-form.contact {
        padding: 0 2em;
    }

    .blog-thumbnail {
        height: 50vw;
        margin-right: 0;
        width: 100%;
    }

    #catalog-archive-main > .read-more {
        margin: 2em auto 0 auto;
    }

    .entry-list-item.news::after {
        position: absolute;
        right: 0;
    }

    .entry-list-item.news {
        padding: 2em 2em 2em 1em;
    }

    #entry-list.news {
        margin: 4em 0 0 0;
    }

    #news-archives .pagination > ul {
        margin: 2.5em 0 2.5em 0;
    }

    .top-event-list > li {
        -webkit-box-flex: 100%;
        -ms-flex: 100%;
        flex: 100%;
    }

    .white-block {
        /*font-size: .4rem;*/
        padding: 2em;
    }

    .vbox-next {
        right: 15px;
    }

    .vbox-prev {
        left: 15px;
    }

    .vbox-close {
        background-color: transparent !important;
        bottom: 10px;
        right: 50%;
        top: auto;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
        width: 50px;
    }

    .front-section .read-more {
        margin: 2.7em auto 0 auto;
        -webkit-transform: translateX(calc((50vw - 3.5em) - 50%));
        transform: translateX(calc((50vw - 3.5em) - 50%));
    }

    .fs-description {
        line-height: 1.4;
        text-align: left;
    }

    .top-section-head {
        height: 10em;
    }

    .nest-list-item {
        margin-top: 0;
    }

    .nest-list-cat {
        margin: 0;
    }

    .entry-list-desc {
        margin-top: .4em;
    }


    #company-info > p:first-child {
        font-size: 2rem;
        margin-top: .5em;
    }

    #company-info {
        margin-left: 0;
        margin-top: .3em;
        width: 100%;
    }

    .nest-list-desc {
        margin-top: .4em;
    }

    #formula {
        margin-top: 3em;
        padding: 0 2em;
    }

    #formula > .icon-circle {
        background-size: 12vw 9.5vw;
        margin: 0 1.5vw;
        height: 25vw;
        width: 25vw;
    }

    .icon-circle > p {
        bottom: .8em;
        font-size: 1.4rem;
    }

    #formula > .trust-circle {
        margin-top: 3em;
    }

    #formula > .trust-circle::before {
        font-size: 4rem;
        left: 57%;
        top: -.75em;
        -webkit-transform: translate(-57%, 0);
        transform: translate(-57%, 0);
        webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }

    #beginner-about-list {
        margin-top: 3em;
    }

    .nest-list-item .icon-circle {
        height: 5em;
        width: 5em;
    }

    .nest-list-item .plan-circle, .nest-list-item .local-circle {
        left: 1em;
        top: 1em;
    }

    .nest-list-item .icon-circle {
        background-size: 2.2em 1.7em;
    }

    .nest-list-item .icon-circle > p {
        font-size: 1rem;
    }

    .nest-list-title.beginner {
        font-size: 2.8rem;
    }

    #beginner-about-trust {
        margin-top: 3.5em;
    }

    #beginner-about-trust > .trust-circle {
        background-size: 7em 6em;
        height: 12em;
        width: 12em;
    }

    #beginner-about-trust > .trust-circle > p {
        font-size: 2rem;
    }

    #beginner-about-trust > h3 {
        font-size: 3rem;
        padding: 0 .66666667em;
    }

    #trust-images > div {
        height: 50vw;
        width: 100vw;
    }

    #trust-images > .multi > img {
        width: 50vw;
    }

    #trust-images > div:first-child > p {
        top: 1.1em;
    }

    #trust-images p {
        left: 1.6em;
    }

    #trust-images p {
        bottom: 1.1em;
    }

    #beginner-feature-list img {
        height: 25vw;
    }

    .point-label {
        height: 5em;
        left: -1.5em;
        top: -1.5em;
        width: 5em;
    }

    .point-label > p {
        font-size: 1.2rem;
    }


    .point-label > span {
        font-size: 2.8rem;
        margin-top: -.2em;
    }

    #beginner-feature-list h2 {
        font-size: 1.8rem;
    }

    #beginner-feature-list > li {
        margin-top: 3.6em;
    }

    .step-list img {
        height: calc((100vw - 4em) / 1.5);
        margin-right: 0;
        width: 100%;
    }

    .step-label-wrap {
        margin-top: 1em;
    }

    .beginner-flow-title {
        font-size: 3rem;
        padding: 0 .66666667em;
    }

    .step-list h3 {
        font-size: 2.5rem;
    }

    .step-label {
        font-size: 2.3rem;
    }

    .step-list > li {
        margin-top: 3em;
    }

    .special-list > li {
        display: block;
        height: auto;
    }

    .special-content {
        padding: 2.3em 1.2em 1.3em 1.2em;
        position: static;
        -webkit-transform: none;
        transform: none;
    }

    .special-label-wrap {
        height: 7em;
        width: 100%;
    }

    .special-label-wrap::after {
        background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, rgba(255,255,255,0)), color-stop(50.5%, #ea68a2)) no-repeat top left/50% 100%,
    -webkit-gradient(linear, right bottom, left top, color-stop(50%, rgba(255,255,255,0)), color-stop(50.5%, #ea68a2)) no-repeat top right/50% 100%;
        background: -webkit-linear-gradient(bottom left, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top left/50% 100%,
        -webkit-linear-gradient(bottom right, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top right/50% 100%;
        background: -o-linear-gradient(bottom left, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top left/50% 100%,
        -o-linear-gradient(bottom right, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top right/50% 100%;
        background: linear-gradient(to top right, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top left/50% 100%,
    linear-gradient(to top left, rgba(255,255,255,0) 50%, #ea68a2 50.5%) no-repeat top right/50% 100%;
        bottom: -1em;
        height: 1em;
        right: 0;
        top: auto;
        width: 100%;
    }

    .special-label {
        margin-top: .5em;
        text-align: center;
        width: 100%;
    }

    .special-content > h3 {
        font-size: 2.5rem;
        line-height: 1.2em;
    }

    .catalog-list-item > a > img {
        height: 61vw;
    }

    #showroom-guide-wrap > .matome {
        width: 83%;
    }

    #showroom-guide-wrap > .matome > .text {
        font-size: 2rem;
    }

    #faction > a {
        width: calc(100% - 4em);
    }

    #faction > a > img {
        height: 42vw;
    }

    .faction-section > h2 {
        font-size: 2.2rem;
        margin: 0 0 0 -.4em;
    }

    .faction-section > p {
        font-size: 1.7rem;
    }

    .faction-step-list img {
        height: 57.34vw;
        margin: 0 0 1.5em 0;
        width: 100%;
    }

    .faction-step-list h3 {
        font-size: 1.8rem;
        line-height: 1.2;
        padding: 0 1em;
    }

    .faction-step-list .step-wrap {
        height: 5em;
        line-height: 5em;
    }

    .faction-step-list > li,
    .faction-step-list > li:first-child {
        margin-top: 3em;
    }

    #faction > a {
        margin-top: 3em;
    }

    #app-cta {
        width: 96vw;
    }

    #app-cta > section {
        padding: 4em 2em;
    }

    #event-image {
        margin-top: 0;
    }

    #event-content {
        margin-top: 3em;
    }

    #app-form-header > h2 {
        font-size: 2.8rem;
    }

    #sd-for > img {
        height: 33vw;
    }

    #sd-header img {
        height: 26vw;
    }

    #sd-flow > img {
        height: 35vw;
    }

    #sd-link {
        font-size: 2.3rem;
        width: 100%;
    }

    #sd-images img {
        height: 33vw;
        margin-top: 1em;
        width: 41.4vw;
    }

    #sd-case-table-wrap > table {
        width: 80em;
    }

    #sd-case-table-wrap::-webkit-scrollbar {
        height: .5em;
    }

    #sd-case-table-wrap::-webkit-scrollbar-track {
        /*background-color: #f4f4f4;*/
    }

    #sd-case-table-wrap::-webkit-scrollbar-thumb {
        background-color: #eb6100;
        border-bottom: 1px solid #fff;
        border-radius: 1em;
    }

    body #sub-header #sp-menu .si-tel,
    body:not(.home) #sub-header #sp-menu .si-tel {
        color: #fff;
    }

    body:not(.home) #sub-header #sp-menu .si-tel > span {
        border: 1px solid #fff;
    }

    .corp-dl {
        width: auto;
    }

    #greeting > img,
    #corp-summary > img {
        height: 100%;
        margin-right: 0;
        width: 100%;
    }

    #greeting > div {
        margin-top: 3em;
    }

    #corp-summary {
        margin-top: 3em;
    }

    #access-map > iframe {
        height: calc((100vw - 6em)/2);
    }

    .staff-name-en {
        margin-top: .5em;
    }

    #craftsman-intro > p {
        margin-top: 2em;
    }

    #contact-type {
        height: auto;
        padding: .5em .8em;
    }

    #contact-type > label {
        width: 85%;
    }

    #contact-type > input {
        width: 10%;
    }

    #contact-type > input,
    #contact-type > input:not(:first-child) {
        margin-left: 0;
    }

    #showroom-guide {
        height: auto;
    }

    #showroom-guide > .images {
        height: 56vw;
        width: 100%;
    }

    #showroom-guide > .text {
        padding: 1em 2em;
    }

    .slideCell,
    .slideCell > img {
        width: 40vw;
    }

    .slideCell > img {
        height: 37.5vw;
    }

    .slideFrame > .slideGuide > .slideCell {
        margin-right: 3em;
    }

    .white-block > div {
        margin-bottom: 0;
    }

    .nest-list-item .read-more {
        font-size: 1.6rem;
        height: 2.5em;
        line-height: 2.5em;
        margin-top: 1.6em;
        width: 11em;
    }

    .instashow-gallery-view > .instashow-gallery-media:nth-of-type(n+7) {
        display: none;
    }

    .instashow-gallery,
    .instashow-gallery-wrapper,
    .instashow-gallery-view {
        height: auto !important;
    }

    .instashow-gallery-view {
        padding: 0 !important;
    }

    #instagram-image-list {
        margin: 2em auto 0;
        width: calc(100vw - 6em);
    }

    .instashow-gallery-media {
        height: calc((100vw - 6em)/3 - 2.2em) !important;
        width: 33.333333% !important;
    }

    .instashow-popup {
        z-index: 9999999 !important;
    }

    .top-section-head.brand {
        position: static;
    }

    .entry-list-cat.events {
        font-size: 1rem;
    }

    #events-entry .read-more {
        margin: 5em auto 3em;
    }

    #form-thanks > h2 {
        font-size: 3em;
    }

    .lg-actions .lg-next:before,
    .lg-actions .lg-prev:after {
        font-size: medium;
    }

    .lg-toolbar .lg-close:after {
        font-size: 3rem;
    }

    .lg-toolbar .lg-icon {
        -webkit-transform: none;
        transform: none;
    }

    .lg-actions .lg-next {
        right: .5em;
    }

    .lg-actions .lg-prev {
        left: .5em;
    }

    .lg-actions .lg-next,
    .lg-actions .lg-prev {
        padding: 4px 10px 9px;
    }

    #work-block-1 > img {
        height: 50vw;
    }

    #work-entry,
    #work-block-2,
    #work-block-3 {
        margin-top: 3em;
    }


    .start-case-section.first,
    .start-case-section .cv-area {
        margin-top: 3em;
    }

    .start-case-section > header > p {
        font-size: 3rem;
    }

    .start-case-section > header > h2 {
        font-size: 2rem;
        margin: .2em 0 .5em;
    }

    .start-case-section .event-image {
        height: 19.46vw;
    }

    .start-case-section .event-image p {
        font-size: 2.3rem;
    }

    .start-case-section .event-image span {
        font-size: 1rem;
    }

    .cv-area > p {
        padding: 0 2em;
    }

    .start-case-section .cv-area > div > a {
        height: 18.09vw;
        max-width: 67%;
        margin: 0 auto;
    }

    .start-case-section .cv-area > div:last-child {
        margin-top: 3em;
    }

    .start-case-section > .content h3 {
        padding: 0 1em;
    }

    .start-case-section .links > .event-image:nth-of-type(n+3) {
        margin-top: .8em;
    }

    #reform-intro {
        margin-top: 3em;
    }

    #blog-archive-main {
        padding-right: 0;
        width: 100%;
    }

    .blog-author-img {
        height: calc((100vw - 6em)/1.42857142857);
        width: 100vw;
    }

    .blog-list-item > section > div {
        margin-top: 1em;
        padding-bottom: 0;
        width: 100%;
    }

    #sidebar {
        margin-top: 4em;
        max-width: 100%;
    }

    #blog-archive {
        margin-bottom: 3.5em;
        margin-top: 0;
    }

    #about-us h1,
    #about-us h2 {
        font-size: 2.6rem;
    }

    .staff-list {
        margin: 1.9em 0 0 0;
    }

    .staff-profile {
        margin: 0;
    }

    .staff-name {
        font-size: 2.2rem;
        margin-top: .5em;
    }

    #page-cost h3 {
        font-size: 2.4em;
        line-height: 1.3;
        margin-top: 1.5em;
    }

    #page-cost h3 > span {
        margin-top: -.14em;
    }

    #page-cost .figure,
    #cost-up > div {
        margin-top: 1.5em;
    }

    #cost-up > h4 {
        font-size: 2rem;
    }

    #cost-up {
        margin-top: 3em;
    }

    #cost-up > div {
        background-size: 90%;
        background-position: center 86%;
        padding: 1.8em 1.5em 10em 1.5em;
    }

    #cost-up .period2, #cost-up .period4 {
        bottom: 5%;
    }

    #cost-up .period4 {
        right: 11%;
    }

    #cost-up .period2 {
        right: 60%;
    }

    #cost-up > p:last-of-type {
        font-size: 1.8rem;
    }

    #page-cost .figure > img:first-child {
        height: 58.5vw;
        width: 100%;
    }

    #page-cost .figure > img:last-child {
        height: 57.9vw;
        width: 80%;
    }

    .special-list {
        margin-top: 3em;
    }

    .page-title.brands {
        padding-top: 1.1em;
    }

    #price-range {
        margin-top: 3em;
        padding: 3em 0;
    }

    #price-range > div {
        padding: 0 2em;
    }

    #price-range img {
        height: auto;
    }

    #price-range span {
        margin: 0 auto;
        width: 100%;
    }

    #price-range.gray-100vw {
        width: 100vw;
    }

    #brands {
        margin-top: 3em;
    }

    #brands > .page-title {
        text-align: left;
        padding: 0 .666em;
    }

    #brand-list > a {
        margin: 3em 2em 0 2em !important;
    }

    #brand-list img {
        height: 55.809vw;
    }

    .fotorama__stage {
        height: 50vw !important;
    }

    .fotorama__img {
        height: 100% !important;
        margin: 0 auto;
        top: 0 !important;
        width: auto !important;
    }

    .fotorama {
        margin-left: -2em;
        width: 100vw;
    }

    .fotorama__arr--prev,
    .fotorama__arr--next {
        background-size: 1.2em 2.2em;
        height: 2.2em;
        width: 1.2em;
    }

    .fotorama__stage__frame .fotorama__img {
        height: auto !important;
        max-width: 100% !important;
        max-height: 100% !important;
        top: 50% !important;
        -webkit-transform: translateY(-50%) !important;
        transform: translateY(-50%) !important;
        width: auto !important;
    }

    .fotorama__wrap--css3 .fotorama__stage .fotorama__img {
        left: 0 !important;
    }

    .fotorama__arr--prev {
        left: -1em;
    }

    .fotorama__arr--next {
        right: -1em;
    }

    .brand-house {
        height: 50.799vw;
    }

    #brand-desc {
        padding: 3em 2em;
    }

    #brand-photo-gallery {
        margin-top: 3em;
    }

    #company-info a {
        display: inline;
    }

    .hbfl-item:nth-of-type(16) img {
        margin-top: 2em;
    }

    #page-basic > section > header > img {
        height: calc(100vw - 4em);
    }

    #page-basic > section:first-of-type {
        margin-top: 3em;
    }

    #page-basic header .section-desc {
        margin-top: .8em;
    }

    #eqr-list > li {
        height: auto;
    }

    #eqr-list > li:first-child > img {
        height: auto;
        width: 100%;
    }

    #eqr-list > li > img {
        height: 34vw;
        width: 46vw;
    }

    #eqr-list > li,
    #durability {
        margin-top: 2em;
    }

    #eqr-list > li:nth-of-type(5) > img {
        height: 40.6vw;
        width: 41vw;
    }

    #page-basic > section {
        margin-top: 6em;
    }

    .hi-airtight {
        margin-top: 3em;
        padding: 2em;
    }

    .hi-airtight.first > img,
    .hi-airtight.second > img,
    #basic-structure > img,
    #durability {
        height: auto;
    }

    #basic-structure {
        height: auto;
        margin-top: 2em;
        padding: 1em;
    }

    #page-basic > section:last-child {
        margin-top: 3em;
    }

    #page-basic > section:last-child > header > div {
        margin-top: 0;
    }

    #slider .swiper-pagination-bullet {
        width: 1.2em;
    }

    #slider-wrap > img {
        margin: 0.6em 0 0 auto;
        width: 8.5em;
    }

    #front-wrap {
        padding: 2.5em 0 3em;
    }

    .fimages > h1 > img {
        margin: 2.5em auto 0;
        width: 14em;
    }

    .fimages > img {
        margin: 2em auto 0;
        width: 11em;
    }

    #header {
        background-size: contain;
        background-position: 0 0;
        height: auto;
    }

    .front-section {
        margin-top: 3em;
    }

    .front-section > .inner > div:first-of-type {
        margin-right: 0;
    }

    .front-section .img-wrap {
        width: 100%;
    }

    .front-section .title {
        margin-top: .7em;
    }

    .front-section .desc {
        margin-top: 1.8em;
    }

    #top-loop > .inner {
        padding: 3em 0;
    }

    .external-link::after {
        width: 1.02em;
    }

    #top-archive {
        padding: 3em;
    }

    #top-event {
        margin-right: 0;
    }

    #top-archive .img-wrap {
        height: 9em;
        width: 9em;
    }

    #top-archive .read-more {
        display: block;
        margin: 2em auto 0;
        position: static;
    }

    #top-blog {
        margin-top: 2em;
    }

    #top-archive li:nth-of-type(2) {
        margin-top: 1.5em;
    }

    #top-archive h3 > a {
        font-size: 1.4rem;
    }

    #address {
        margin-top: 0;
        max-width: 90%;
        padding-top: 4em;
    }

    #address > img {
        display: block;
        height: calc((100vw - 10em)/5.25);
        width: 100%;
    }

    #address > p {
        font-size: 1rem;
    }

    #address > p:first-of-type {
        margin-top: .5em;
    }

    #address > p > span:first-child {
        margin-right: 0;
    }

    .fsocial > a {
        font-size: 2rem;
    }

    .swiper-button-next,
    .swiper-button-prev {
        height: 3em;
        width: 3em;
    }

    .swiper-button-prev::before,
    .swiper-button-next::before,
    .swiper-button-prev::after,
    .swiper-button-next::after {
        height: 2px;
    }

    .swiper-button-prev::before,
    .swiper-button-next::before {
        top: 49%;
    }

    .swiper-button-prev::after {
        top: 54%;
    }

    .swiper-button-next::after {
        top: 43%;
    }

    .swiper-button-prev::after,
    .swiper-button-next::after {
        width: 1em;
    }

    .swiper-button-next::after {
        right: -.7em;
    }

    .swiper-button-prev::after {
        left: -.7em;
    }

    .swiper-button-prev:hover::after {
        left: -.15em;
    }

    .swiper-button-next:hover::after {
        right: -.15em;
    }

    #footer2 {
        width: 100%;
    }

    #footer {
        /*background-image: url(images/global/footer/footer_bg_sp.png);*/
        /*background-size: 100% calc(100vw/1.72413793103);*/
        /*background-position: top;*/
        height: 20em;
        margin: 0 0 4.5em 0;
        padding: 3em 2em;
    }

    #scroll-top-btn-sp-wrap {
        height: 4em;
        margin-top: 3em;
        border-bottom: 1px solid rgba(255, 255, 255, .4);
    }

    .scroll-top-btn.sp {
        background-color: transparent;
        background-image: url(images/global/footer/arrow_up.png);
        background-repeat: no-repeat;
        background-size: contain;
        border: none;
        height: 1.7em;
        outline: none;
        width: 1.7em;
    }

    #footer2 > .fsocial {
        margin: 0 auto;
        padding-bottom: 1.4em;
    }

    #footer > .inner.sp .img-wrap {
        margin: 0 auto;
        width: 14em;
    }

    #footer-nav2-sp {
        border-top: 1px solid rgba(255, 255, 255, .4);
        margin-top: 1.7em;
    }

    #footer-nav2-sp > ul {
        padding-top: .8em;
    }

    #footer-nav2-sp > ul > li:first-of-type {
        border-right: 1px solid #fff;
        margin-right: 2em;
        padding-right: 2em;
    }

    #footer-nav2-sp a {
        line-height: 1;
    }

    #footer .sns {
        margin-top: 2em;
    }

    #footer .sns img {
        height: 1.5em;
        margin: 0 .5em;
        width: 1.5em;
    }

    #footer > .inner.sp .copyright {
        font-size: 1.1rem;
        margin-top: 1.5em;
    }

    #fixed-sp-btns {
        background-color: #000;
        bottom: 0;
        border-top: 1px solid #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 4.5em;
        left: 0;
        position: fixed;
        width: 100vw;
        z-index: 9;
    }

    #fixed-sp-btns > a:not(:last-of-type) {
        border-right: 1px solid #fff;
    }

    #fixed-sp-btns > a:first-of-type > p::before {
        content: "";
        background-image: url(images/global/footer/tel.png);
        background-repeat: no-repeat;
        background-size: cover;
        display: inline-block;
        height: 1.9em;
        margin-left: -.4em;
        margin-right: .3em;
        width: 1.9em;
    }

    #fixed-sp-btns a.reservation {
        background-color: #eb6100;
        display: flex;
        flex-direction: column;
    }

    #fixed-sp-btns a.reservation p {
        margin-top: 8px;
    }

    #fixed-sp-btns a .reservation {
        width: 0;
        height: 0;
        border-left: 0.67em solid transparent;
        border-right: 0.67em solid transparent;
        border-top: 0.45em solid #fff;
    }

    #fixed-sp-btns > a > p {
        margin: 0;
    }

    .footer-nav-link2 {
        font-size: 1.65rem;
    }

    .footer-nav-list2 {
        margin-top: -6em;
        width: 100%;
    }

    #footer::after {
        background-size: 16em calc(16em*1.01666666667);
        height: calc(16em*1.01666666667);
        width: 16em;
    }

    #category-header {
        height: 12em;
    }

    #category-header .sub-title {
        margin: 1.5em 0 0 0;
    }

    #about-list a {
        font-size: 2.2rem;
    }

    #about-list > li {
        height: 15em;
        margin-top: 3em;
        width: 100%;
    }

    #page-about {
        margin-top: 0;
    }

    #about-list {
        padding-bottom: 0;
    }

    .nesting > div:first-child {
        margin: 0;
    }

    .nesting .img-wrap {
        /*height: calc((100vw - 6em)*1.36363636364);*/
        width: 100%;
    }

    .nesting {
        margin-top: 3em;
    }

    .nesting .img-wrap {
        margin-bottom: 2em !important;
    }

    .nesting .desc {
        margin-top: 2em;
    }

    #page-nav {
        height: calc((100vw - 6em)*1.01666666667);
        margin-top: 5em;
        width: calc(100vw - 6em);
    }

    #page-nav > ul {
        margin-top: 4.5em;
    }

    .spec-section li {
        width: 100%;
    }

    #spec-head .title {
        font-size: 2.4rem;
    }

    #spec-head .name {
        font-size: 1.6rem;
        margin-top: 3.3em;
    }

    #spec-head::before {
        right: 52%;
        top: 1em;
        -webkit-transform: translateX(52%);
        transform: translateX(52%);
        width: calc(100% - 16em);
    }

    #spec-head::after {
        background-size: 3.5em 3.5em;
        height: 3.5em;
        top: calc(1em + 1px);
        width: 3.5em;
    }

    #spec-head > div {
        width: 45%;
    }

    .spec-section {
        margin-top: 6em;
    }

    #flow-list {
        background-position: center;
        margin-top: 6em;
    }

    #flow-list .content-ul {
        width: 100%;
    }

    #flow-list .content::before,
    #flow-list .content::after {
        content: normal;
    }

    #flow-list .supplement.before {
        left: -1.7em;
        height: 57.5em;
        top: 13.4em;
    }

    #flow-list .supplement.after {
        left: -2.2em;
        top: 57%;
    }

    #flow-list .content-ul.multi,
    #flow-list .know,
    #flow-list .step-start,
    #flow-list .content-ul.multi > li:not(:first-child),
    #flow-list .content-ul.single,
    #flow-list .meeting,
    #flow-list .contract,
    #flow-list .live,
    #flow-list .build {
        margin-top: 3em;
    }

    #page-flow .read-more {
        margin: 3em auto 0;
    }

    #page-warranty > img {
        margin-top: 3em;
    }

    #faq-list {
        margin-top: 6em;
    }

    .line-title {
        font-size: 3.1rem;
    }

    .entry-list-image.works {
        height: calc((100vw - 6em)/1.55);
    }

    .works-image-block > .img-wrap.one > img,
    .entry-image.events,
    #about-us-image > img,
    #model-thumb > img,
    #consul-image > img,
    #voice-thumb > img {
        height: calc(100vw/1.8);
        max-width: none;
        -webkit-transform: translateX(-3em);
        transform: translateX(-3em);
        width: 100vw;
    }

    #consul-image > img {
        height: calc(100vw/2.4);
    }

    #voice-thumb > img {
        height: 100%;
    }

    #about-us-image > img {
        height: calc(100vw/2.4);
    }

    #consul-image > img {
        position: absolute;
    }

    .works-image-block > .img-wrap:not(.one):not(.eight) {
        height: auto;
        width: 100%;
    }

    .works-image-block > .img-wrap.two-three > img,
    .works-image-block > .img-wrap.six-seven > img,
    .works-image-block > .img-wrap.nine-ten > img {
        height: calc((100vw - 6em)/1.7);
    }

    .works-image-block > .img-wrap.two-three > img:last-of-type,
    .works-image-block > .img-wrap.four > img,
    .works-image-block > .img-wrap.five > img,
    .works-image-block > .img-wrap.six-seven > img,
    .works-image-block > .img-wrap.nine-ten > img:last-of-type,
    .works-image-block > .img-wrap.eleven > img {
        margin-top: 3em;
    }

    .works-image-block > .img-wrap.four > img,
    .works-image-block > .img-wrap.five > img,
    .works-image-block > .img-wrap.eleven > img {
        height: calc((100vw - 6em)/.77272727272);
    }

    .img-wrap.two {
        height: calc((100vw - 6em)*1.33333333);
    }

    .img-wrap.three-four > img {
        height: calc((100vw - 6em)/1.60714285714);
    }

    .img-wrap.three-four {
        height: 32.5em;
    }

    .img-wrap.three-four {
        margin-top: 3em
    }

    .works-image-block.one {
        margin-top: 3.3em;
    }

    .works-image-block.two {
        margin-top: 6em;
    }

    .works-image-block.three {
        margin-top: 3em;
    }

    #works-section > .img-wrap {
        height: calc(100vw - 6em);
        margin-right: 0;
        width: 100%;
    }

    #works-section > .content {
        margin-top: 2em;
        width: 100%;
    }

    #works-section {
        margin-top: 6em;
    }

    #model-entry-list .img-wrap {
        height: calc((100vw - 6em)/1.5625);
        margin: 0;
        width: 100%;
    }

    .model-entry-list-item .title {
        font-size: 3rem;
    }

    .model-entry-list-item .sub-title {
        font-size: 1.6rem;
        line-height: 1.4;
    }

    #model-entry-list {
        margin-top: -5em;
    }

    #category-header .title-wrap {
        height: 7.4em;
        margin: 0;
        width: 100%;
    }

    #category-header .title {
        font-size: 3.4rem;
        letter-spacing: .2em;
    }

    .table > tbody > tr > td {
        width: auto;
    }

    .table > tbody > tr > td:first-child {
        padding-right: .75em;
        width: 5em;
    }

    .table > tbody > tr > td:last-child {
        padding-left: .75em;
    }

    .google-map {
        height: calc((100vw - 6em)/2);
    }

    #privacy > ul {
        line-height: 1.3;
        margin: 2em 0 3.8em 3.5em;
    }

    #privacy-address {
        height: auto;
        padding: 2.5em 2em;
    }

    #contact-form-header > address > img {
        height: calc((100vw - 10em)/5.66037735849);
    }

    #contact-form-header > address > div {
        border: none;
        margin: 1em 0 0 0;
        padding: 0;
    }

    #contact-form-header > address .tel,
    #contact-form-header > address .tel > a {
        font-size: 3rem;
    }

    #contact-form-header {
        margin-top: 3em;
    }

    .region {
        border-radius: 50% !important;
        font-size: 1rem !important;
        margin: 0 .3em 0 1em;
        -webkit-transform: translateY(.2em);
        transform: translateY(.2em);
    }

    .events-entry-title.events > a {
        font-size: 2.6rem;
    }

    #events-entry > #entry-content {
        margin-top: 0;
    }

    #entry-list.events {
        margin: 0;
    }

    .line-title::after {
        bottom: -1.5em;
    }

    .line-title + p {
        margin-top: 5.2em;
    }

    .table {
        margin-top: 2.8em;
    }

    #app-form-wrap {
        margin-top: 2.5em;
    }

    #app-form-wrap.consul {
        margin-top: 3em;
    }

    #app-form-wrap.contact {
        margin-top: 0;
    }

    #contact-form-header {
        margin-top: 0;
    }

    #top-archive li {
        min-height: auto;
    }

    #works-archives > .line-title,
    #model-archives > .line-title {
        margin-top: 0;
    }

    .model-entry-list-item .content {
        margin-top: 1em;
    }

    .model-entry-list-item .read-more {
        margin: 2em auto 0;
    }

    #black-area {
        width: 100vw;
    }

    .top-title {
        font-size: 3.2em;
    }

    #top-event-list {
        margin-right: 0;
        width: 100%;
    }

    #event-archive img {
        height: calc((100vw - 6em) / 1.5);
    }

    /*#top-event > .gray-bg {*/
    /*    bottom: 12em;*/
    /*    display: block;*/
    /*    height: calc(100vw / 1.18858954041);*/
    /*    width: 100vw;*/
    /*}*/

    /*#top-event > .gray-bg::before {*/
    /*    height: .2em;*/
    /*    left: 50%;*/
    /*    top: 0;*/
    /*    -webkit-transform: translateX(-50%);*/
    /*    transform: translateX(-50%);*/
    /*    width: 3em;*/
    /*}*/

    #top-event .read-more {
        margin-top: 2em;
    }

    #top-event > .inner {
        padding-bottom: 6em;
        padding-top: 7.9em;
    }

    #event-archive {
        margin-top: 5.4em;
    }

    .read-more {
        /*font-size: 1.5rem;*/
    }

    #top-about,
    #top-works {
        font-size: .85rem;
        height: 106.666666667vw;
        width: 90vw;
    }

    #top-about > .inner,
    #top-works > .inner {
        height: auto;
        margin-left: 10vw;
        padding-right: 10vw;
    }

    #top-about .top-title,
    #top-works .top-title {
        font-size: 4em;
    }

    .top-banner {
        margin: 0rem auto 7rem;
    }

    .top-section h3 {
        font-size: 2.1em;
        margin-top: 3.2em;
    }

    .top-section .desc {
        font-size: 1.6em;
        line-height: 1.75;
        margin-top: 1.1em;
    }

    .top-section .read-more {
        font-size: 1.6em;
        margin-top: 1.5em;
    }

    .read-more {
        height: 3.2em;
        line-height: 3.2em;
    }

    .read-more.long {
        width: 13em;
    }

    #top-model-consul {
        font-size: .55rem;
        height: auto;
        padding: 0;
        width: calc(90vw - 3em);
    }

    #top-model,
    #top-consul {
        height: calc((100vw - 11em)/1.4);
        width: 100%;
    }

    #top-model-consul > .top-section {
        margin: 3em 3em 0 0;
    }

    #top-model-consul .top-section h3 {
        font-size: 2.8em
    }

    #top-model-consul .top-section .desc,
    #top-model-consul .read-more {
        font-size: 2.6em;
    }

    #top-model-consul .read-more {
        height: 2.6em;
        line-height: 2.6em;
        margin-top: 1.1em;
    }

    #top-model-consul .top-title::after {
        bottom: -.7em;
    }

    #top-model-consul .top-section h3 {
        margin-top: 2.1em;
    }

    #top-model-consul .top-section .desc {
        line-height: 1.3;
        margin-top: .6em;
    }

    main::before {
        bottom: 24em;
        height: calc(100% - 24em - 13em);
        width: calc(100vw - 3em);
    }

    body.home main::before {
        bottom: -5em;
        height: calc(100% - 109em);
        width: 78.666666666vw;
    }

    main.form::before {
        height: calc(100% - 18.9em - 29em);
    }

    #top-instagram {
        margin-top: 3em;
    }

    #instagram-story-list > li:nth-of-type(n+4) {
        display: none;
    }

    #instagram-story-list {
        margin: 5.1em auto 0 auto;
        width: 85%;
    }

    #instagram-story-list > li {
        margin: 0 1em;
        width: 6.3em;
    }

    #top-company {
        font-size: .85rem;
        height: 100%;
        left: auto;
        right: 0;
        width: 90vw;
    }

    #top-company-wrap {
        height: calc(90vw);
        margin-top: calc(3em - 5px);
    }

    #top-company .top-title {
        font-size: 4em;
    }

    #top-company > .inner {
        margin: 0 2vw 0 10vw;
    }

    #top-concept-staff {
        margin-top: 3em;
        padding-bottom: 0;
    }

    #top-concept,
    #top-staff,
    #top-recruit {
        height: calc((100vw - 6em)/2);
        margin: 0 auto;
        width: calc(100vw - 6em);
    }

    #top-staff,
    #top-recruit {
        margin-top: 1px;
    }

    #top-concept-staff .top-title {
        font-size: 3.3rem;
    }

    body.home #wrapper {
        margin-top: calc(100vh - 7em);
    }

    #wrapper {
        margin-top: 16em;
    }

    #page-article.about {
        padding-top: 0;
    }

    #about-head {
        height: auto;
        width: 90vw;
    }

    #about-head > .inner {
        padding: 5em 10vw;
    }

    .top-title.sub {
        font-size: 3.5rem;
    }

    #about-head .title {
        font-size: 2rem;
    }

    #concept-message img {
        height: calc((100vw - 6em)/.81428571428);
        width: 100%;
    }

    #concept-message {
        margin-top: 6em;
    }

    #concept-message .content {
        margin-top: 3em;
        width: 100%;
    }

    #about-nav-footer-wrap {
        margin: 2.5em auto 0;
        width: calc(100vw - 6em);
    }

    #about-nav-footer {
        height: auto;
        margin-top: 5.3em;
        max-height: none;
    }

    #about-nav-footer-list > li {
        height: calc((81.25vw - 3em)/1.5);
        width: calc(81.25vw - 3em);
    }

    #about-nav-footer-list a {
        font-size: 1.8em;
    }

    .top-title::after {
        height: .08333333333em
    }

    .design-section,
    .nest-list-wrap {
        margin-top: 6em;
    }

    .design-section-list {
        margin-top: 5.7em;
    }

    .design-section-list .desc.quote {
        display: flex;
        flex-direction: column;
    }

    .design-section-list > li {
        width: 100%;
    }

    .design-section-list .title.wrap {
        line-height: 30px;
        margin-top: 0.8em;
    }

    .design-section-list > li:not(:first-child),
    .nest-list > li:not(:first-child) {
        margin-top: 3em !important;
    }

    .design-section > .top-title.sub {
        font-size: 3.5rem;
    }

    .design-section .designtitle {
        width: 26rem;
        height: 4.5rem;
        font-size: 2rem;
    }

    .design-nav {
        column-gap: 1rem;
    }

    .design-nav .circle {
        width: 10rem;
        height: 10rem;
    }

    .design-nav .circle .name {
        font-size: 1.2rem;
        margin-top: 0.2rem;
    }

    .design-nav .circle .more {
        font-size: 1rem;
    }

    .design-nav .circle .more::after {
        width: 7px;
        height: 7px;
        top: 1.8rem;
    }

    .design-nav .circle .numberarea .num {
        font-size: 2rem;
    }

    .design-nav .circle .numberarea .sub {
        font-size: 1rem;
        margin-top: 0;
    } 

    .nest-list .img-wrap,
    .nest-list .content {
        width: 100%;
    }

    .nest-list .title {
        font-size: 2.2rem;
        margin-top: .5em;
    }

    .entry-list-item.works,
    .entry-list-item.events {
        margin-top: 3em;
        width: 100%;
    }

    #works-archives,
    #events-archives {
        padding-top: 0;
    }

    #works-entry {
        padding-top: 3.7em;
    }

    #works-entry > .title {
        font-size: 3rem;
        padding: 0;
    }

    #works-nav li {
        height: calc((100vw - 6em)/1.95);
    }

    #works-nav .top-title.sub::after {
        width: 1em;
    }

    #works-nav li:last-of-type {
        margin-top: 1em;
    }

    .model-entry-list-item {
        padding: 4.5em 0 3.7em;
    }

    main.model::before {
        height: calc(100% - 18.9em - 21em);
    }

    #model-thumb > img {
        height: 100%;
    }

    #modelhouses-entry {
        padding: 3em 3em 0;
    }

    #model-summary > .title {
        font-size: 3rem;
    }

    #model-summary > .sub-title,
    #model-images-list .title {
        font-size: 1.8rem;
    }

    #model-summary > p:not(.sub-title) {
        font-size: 1.4rem;
    }

    #model-images-list > li {
        margin-top: 3em;
        width: 100%;
    }

    #model-images-list > li img {
        height: calc((100vw - 6em)/1.67647058824);
    }

    #google-map {
        height: calc((100vw - 6em)/2);
        margin: 2.4em auto 0;
    }

    #app-cta {
        margin-top: 3em;
    }

    #app-form-header > .title {
        font-size: 3rem;
    }

    .submit-btn {
        margin: 2em auto 0;
    }

    #events-nav {
        padding-top: 3em;
    }

    #events-nav li {
        height: 3.3em;
        line-height: 3.3em;
    }

    #events-entry {
        padding: 3em 3em 0;
    }

    #entry-content > .events-entry-title.events {
        font-size: 2.6rem;
    }

    #page-article.company {
        padding: 3em 3em 0;
    }

    #about-us-image {
        height: calc(100vw/2.4);
        position: relative;
    }

    #about-us-image > img {
        position: absolute;
    }

    #company-summary {
        margin-top: 3em;
    }

    #company-summary .item {
        width: 7.5em;
    }

    #company-summary li {
        padding: 1.8em 0;
    }

    #staff-list > li {
        width: 100%;
    }

    #staff-list > li:not(:first-of-type) {
        margin-top: 3em !important;
    }

    #staff {
        margin-top: 4em;
    }

    #consul-lead-text > p:first-of-type {
        font-size: 2.4rem;
        text-align: center;
    }

    #page-article.consul {
        padding-top: 2.2em;
    }

    #consul-lead-text > p:nth-of-type(2) {
        font-size: 1.8rem;
    }

    #consul-image {
        height: calc(100vw*.41666666666);
        margin-top: 3.3em;
    }

    #consult-recommend > .title {
        font-size: 3.5rem;
    }

    #consult-recommend {
        margin-top: 3.5em;
    }

    #consult-recommend .img-wrap {
        height: calc((100vw - 6em)/.76);
        width: 100%;
    }

    #consult-recommend ul {
        margin-top: 2.2em
    }

    #consul-book-btn {
        font-size: 2.2rem;
        margin: 2em auto 0;
    }

    #consul-merit {
        margin-top: 3.5em;
    }

    #consul-flow > .title {
        font-size: 2.4rem;
        margin-top: 1.1em;
    }

    #consul-location > .title {
        font-size: 2.4rem;
        margin-top: 1.8em;
    }

    #consul-location > .map {
        height: clac((100vw - 6em)*.4);
        margin-top: 2.5em;
    }

    #consul-location > .map > iframe {
        height: 100%;
    }

    #consul-location > .address-wrap {
        margin-top: 2.3em;
        width: 100%;
    }

    #consul-location > .address-wrap > .img-wrap {
        margin: 0;
        width: 100%;
    }

    #consul-location > .address-wrap .name {
        font-size: 2.2rem;
    }

    #consul-location > .address-wrap address,
    #consul-location > .address-wrap .telfax,
    #consul-location > .address-wrap .telfax > a {
        font-size: 1.4rem ;
    }

    .nest-list .desc {
        line-height: 1.75;
    }

    #consul-merit-list > li {
        margin-top: 3em;
        width: 100%;
    }

    #consul-merit-list > li > .img-wrap {
        height: calc((100vw - 6em)/1.54166666667);
    }

    .nest-list-wrap.consul {
        margin-top: 2.5em;
    }

    #page-consul #app-cta {
        margin: 3em 0 4em;
    }

    #page-privacy {
        padding: 2.8em 3em;
    }

    #voice-entry-list > li {
        margin-top: 3em;
        width: 100%;
    }

    #page-main.voice {
        padding: 0em 3em 0;
    }

    .voice-entry-list-image {
        display: block;
        height: calc((100vw - 6em)/1.5);
    }

    #voice-entry > .title {
        font-size: 3rem;
    }

    #page-main.voice-single {
        padding: 3.7em 3em 0;
    }

    #voice-thumb {
        height: calc(100vw*.54545454545);
        margin-top: 3.7em;
        position: relative;
    }

    #voice-thumb > img {
        position: absolute;
    }

    .q-block {
        margin-top: 6em;
    }

    .q-block.first .img-wrap,
    .q-block.first .content,
    .q-block.third .img-wrap,
    .q-block.third .content {
        width: 100%;
    }

    .q-block.first .img-wrap,
    .q-block.third .img-wrap {
        height: calc((100vw - 6em)/.8125);
    }

    .q-block.first .question:first-of-type {
        margin-top: 1em;
    }

    .q-block.second .img-wrap {
        height: calc((100vw - 6em)*.54545454545);
    }

    .q-block.second .question:first-of-type,
    .q-block.third .question:first-of-type {
        margin-top: 1em;
    }

    .q-block .question {
        padding-left: 1.1em;
        text-indent: -0.5em;
    }

    .q-block .question::before {
        -webkit-transform: translateY(-.09em);
        transform: translateY(-.09em);
    }

    #modal-tag-wrap > .content {
        margin: 4em auto;
    }

    #blog-tagcloud > .blog-tagcloud-list {
        -webkit-box-flex: 0;
        -ms-flex: 0 auto;
        flex: 0 auto;
        margin-top: .7em;
        width: 100%;
    }

    .blog-tagcloud-list > li > a {
        font-size: 1.2rem;
    }

    #blog-tagcloud > .title {
        background-color: transparent;
        color: #333;
        font-size: 1.8rem;
        font-weight: bold;
        height: auto;
        width: auto;
    }

    #page-main.blog::before {
        height: calc(100% - 24em - 27em);
    }

    .blog-tagcloud-list > li {
        margin: .5em .5em 0 0;
    }

    #blog-tag-head > .title {
        font-size: 3.5rem;
    }

    #blog-tag-head > .count {
        font-size: 1.6rem;
    }

    #modal-tag-wrap > .content {
        padding: 3em;
    }

    #blog-entry-list > li {
        margin-bottom: 1em;
    }

    #blog-entry-list > li:nth-of-type(1),
    #blog-entry-list > li:nth-of-type(6) {
        height: calc((100vw - 6em)/1.125);
        width: 100%;
    }

    #blog-entry-list > li:nth-of-type(2),
    #blog-entry-list > li:nth-of-type(4),
    #blog-entry-list > li:nth-of-type(7) {
        float: left;
    }

    #blog-entry-list > li:nth-of-type(3),
    #blog-entry-list > li:nth-of-type(5),
    #blog-entry-list > li:nth-of-type(8) {
        float: right;
    }

    #blog-entry-list > li:not(:nth-of-type(1)):not(:nth-of-type(6)) {
        height: calc(((100vw - 3em)/2)/1.46666666667);
        width: calc((100vw - 3em)/2);
    }

    #blog-entry-list > li:nth-of-type(1) .content,
    #blog-entry-list > li:nth-of-type(6) .content {
        padding: 2em;
    }

    #blog-entry-list > li:not(:nth-of-type(1)):not(:nth-of-type(6)) .content {
        padding: 1em;
    }

    #blog-entry-list .title {
        font-size: 2rem;
    }

    #blog-entry-list .blog-tagcloud-list > li {
        font-size: 1rem;
    }

    #blog-entry-list > li:not(:nth-of-type(1)):not(:nth-of-type(6)) .content > .title {
        font-size: 1.2rem;
    }

    #blog-entry-list > li:nth-of-type(1) .blog-tagcloud-list > li:nth-of-type(n+4),
    #blog-entry-list > li:nth-of-type(6) .blog-tagcloud-list > li:nth-of-type(n+4) {
        display: none;
    }

    #blog-entry-list > li:nth-of-type(1) .blog-tagcloud-list > li:nth-of-type(-n+3),
    #blog-entry-list > li:nth-of-type(6) .blog-tagcloud-list > li:nth-of-type(-n+3) {
        display: block;
    }

    #blog-entry-list > li:not(:nth-of-type(1)):not(:nth-of-type(6)) .blog-tagcloud-list > li,
    #blog-entry-list > li:not(:nth-of-type(1)):not(:nth-of-type(6)) .writer {
        display: none;
    }

    #blog-entry-list > li:not(:nth-of-type(1)):not(:nth-of-type(6)) .title {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        max-height: 2.3em;
        overflow: hidden;
        text-overflow: clip;
        white-space: normal;
    }

    #blog-entry-list .writer {
        font-size: 1.2rem;
    }

    #blog-archive > .pagination {
        margin-top: 4.4em;
    }

    #blog-entry-main {
        padding: 2.7em 3em 3em;
    }

    #blog-entry-header > .title {
        font-size: 3rem;
    }

    #blog-entry {
        padding: 0;
    }

    #entry-post-meta > .writer,
    #entry-post-meta > .date,
    .entry-tag-list a {
        font-size: 1.2rem;
    }

    #blog-entry-article > .read-more {
        margin: 2.7em auto 0;
    }

    .blog-tagcloud-list .more-btn::before,
    .blog-tagcloud-list .more-btn::after {
        left: -.2em;
        top: 48%;
    }

    #modal-tag-wrap > .content > .blog-tagcloud-list {
        margin-top: 2.4em;
    }

    #page-concept > #about-head {
        background-position: 58%;
    }

    #page-design > #about-head {
        background-position: 51%;
    }

    #page-exterior > #about-head {
        background-position: 65%;
    }

    #page-interior > #about-head {
        background-position: 53%;
    }

    .blog-tagcloud-list > li:nth-last-child(2) {
        margin-right: 1em;
    }

    main.event-form::before,
    main.model-form::before  {
        height: calc(100% - 24em - 24em);
    }

    main.event-form #app-form-wrap,
    main.model-form #app-form-wrap {
        margin-top: 0;
    }

    main.event-form #app-form,
    main.model-form #app-form {
        padding-top: 3em;
    }

    main.works-single::before {
        height: calc(100% - 24em - 38em);
    }

    main.voice-single::before {
        height: calc(100% - 24em - 37em);
    }

    main.contact-form::before {
        height: calc(100% - 18.9em - 25.8em);
    }

    body.home #header2 > #black-area {
        background-image: none;
    }

    body.post-type-archive-works .header-bg {
        -o-object-position: 33% 0;
        object-position: 33% 0;
    }

    body.post-type-archive-events .header-bg {
        -o-object-position: 62% 0;
        object-position: 62% 0;
    }

    body.page-template-page-cosultation .header-bg {
        -o-object-position: 39% 0;
        object-position: 39% 0;
    }

    .entry-list-title.works,
    .entry-list-title.events,
    #voice-entry-list > li .title {
        font-size: 1.8rem;
        margin-top: .7em;
    }

    main.events::before {
        height: calc(100% - 18.9em - 40em);
    }

    main.voice::before {
        height: calc(100% - 18.9em - 16.5em);
    }

    #blog-entry-main::before {
        background: none;
    }

    main.model-single::before {
        height: calc(100% - 18.9em - 20em);
    }

    #consul-lead-text > p:nth-of-type(3) {
        letter-spacing: -.02em;
    }

    main.consultation::before {
        height: calc(100% - 18.9em - 80em);
    }

    #consult-recommend > .content li {
        line-height: 1.4;
        margin-top: .7em;
        padding-left:1em;
        text-indent:-1em;
    }

    #model-thumb {
        height: calc(100vw/1.8);
        position: relative;
    }

    #model-thumb > img {
        position: absolute;
    }

    #entry-content img {
        height: auto;
    }

    #top-event-list > li {
        width: 100%;
    }

    #top-event-list > li:not(:first-child) {
        margin-top: 2em;
    }

    .swiper-button-prev,
    .swiper-button-next {
        background-color: #fff;
        background-image: url(images/front/chevron-left.png);
        background-size: 1em 2em;
        padding: .7em 0;
        top: 38%;
    }

    .swiper-button-next {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .swiper-button-next {
        right: 3.1em;
    }

    .swiper-button-prev {
        left: 3.1em;
    }

    #consul-location > .title > .orange {
        font-size: 1.2em;
    }

    #works-tag-nav-list {
        top: 4.3em;
    }

    #works-tag-nav {
        height: 4.5em;
        margin-top: 18.5em;
    }

    #works-related-list > li {
        width: 100%;
    }

    #works-related-wrap {
        margin-top: 4em;
    }

    #works-related-wrap > .title {
        font-size: 2.6rem;
    }

    #works-related-list .title {
        margin-top: 0;
    }

    #works-entry > .read-more {
        margin: 4.2em auto 0;
    }

    #works-terms-list > li {
        padding: 0;
    }

    #works-terms-list a {
        width: 11.8em;
    }

    #works-terms-list {
        margin: 2em auto 0;
    }

    #works-tag-nav-list > .works-tag-nav-item:not(:first-of-type) {
        padding-top: 1.2em;
    }

    #works-tag-nav-list > .works-tag-nav-item:not(:last-of-type) {
        padding-bottom: 1.2em;
    }

    #top-instagram > .top-title {
        width: 55vw;
    }

    #sb_instagram #sbi_images > .sbi_item:nth-of-type(n+10) {
        display: none;
    }

    #sb_instagram #sbi_images .sbi_item {
        height: calc(((100vw - 6em) / 3) - 4px) !important;
        width: calc(((100vw - 6em) / 3) - 4px) !important;
    }

    .meeting-wrapper{
        display: grid;
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        grid-row-gap: 1.5rem;
    }
    .radio-wrapper{
        display: grid;
        grid-template-columns: auto 1fr;
        grid-auto-rows: auto;
        grid-row-gap: 1rem;
        align-items: center;
    }
    .radio-wrapper > input[type=radio]{
        width: 1.5rem;
        height: 1.5rem;
    }

    .consul-btncover{
        grid-template-columns: 1fr;

    }
    .consul-btmbtns{
        padding-top: clamp(20px,5.3vw,40px);
        gap: 15px;
        width: 80%;
        min-width: 260px;
    }

}

/* 414px */
@media (max-width: 25.875em) {

    #archives li {
        width: 70vw;
    }

    #archives li img {
        height: 44vw;
        width: 70vw;
    }

    #archives .read-more {
        font-size: 1.6rem;
    }

    #works-list {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        margin-right: 2.5em;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
    }

    #works-list > li {
        margin-right: 2em;
        width: 70vw;
    }

    #works-list > li img {
        height: 70vw;
        width: 70vw;
    }

    #wrapper #works-list {
        padding: 0 3em;
    }

    .works-thumb {
        height: 33.3vw;
        width: 33.3vw;
    }

}


.top-usersvoice >.inner{
    padding: 3em 0 10em;
}

.top-usersvoice .uvadjust{
    margin-top: 3em;
}

.top-usersvoice .read-more{
    margin-top: 3em;
}

@media (max-width: 48em) {
    .top-usersvoice >.inner{
        padding: 0 0 5em;
        /* overflow: hidden; */
    }

    .top-usersvoice .uvadjust{
        width: 100%;
        margin-top: 2em;
    }
}

