@charset 'UTF-8';
/* =============================================================================
   #Foundation
   ========================================================================== */
/*!
 * ress.css • v1.1.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
@import url('https://fonts.googleapis.com/css?family=Caveat:700');
html {
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    /* iOS 8+ */
}

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

::before, ::after {
    text-decoration: inherit;
    /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
    vertical-align: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
    background-repeat: no-repeat;
    /* Set `background-repeat: no-repeat` to all elements */
    padding: 0;
    /* Reset `padding` and `margin` of all elements */
    margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
    display: none;
    height: 0;
}

hr {
    overflow: visible;
    /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
    display: block;
}

summary {
    display: list-item;
    /* Add the correct display in all browsers */
}

small {
    font-size: 80%;
    /* Set font-size to 80% in `small` elements */
}

[hidden], template {
    display: none;
    /* Add the correct display in IE */
}

abbr[title] {
    border-bottom: 1px dotted;
    /* Add a bordered underline effect in all browsers */
    text-decoration: none;
    /* Remove text decoration in Firefox 40+ */
}

a {
    background-color: transparent;
    /* Remove the gray background on active links in IE 10 */
    -webkit-text-decoration-skip: objects;
    /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active, a:hover {
    outline-width: 0;
    /* Remove the outline when hovering in all browsers */
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    /* Specify the font family of code elements */
}

b, strong {
    font-weight: bolder;
    /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
    font-style: italic;
    /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
    background-color: #ff0;
    color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
    border-radius: 0;
}

/* Apply cursor pointer to button elements */
button, [type='button'], [type='reset'], [type='submit']
[role='button'] {
    cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
    cursor: default;
}

[type='number'] {
    width: auto;
    /* Firefox 36+ */
}

[type='search'] {
    -webkit-appearance: textfield;
    /* Safari 8+ */
}

[type='search']::-webkit-search-cancel-button, [type='search']::-webkit-search-decoration {
    -webkit-appearance: none;
    /* Safari 8 */
}

textarea {
    overflow: auto;
    /* Internet Explorer 11+ */
    resize: vertical;
    /* Specify textarea resizability */
}

button, input, optgroup, select, textarea {
    font: inherit;
    /* Specify font inheritance of form elements */
}

optgroup {
    font-weight: bold;
    /* Restore the font weight unset by the previous rule. */
}

button {
    overflow: visible;
    /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
    border-style: 0;
    padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
    outline: 1px dotted ButtonText;
}

button, html [type='button'], [type='reset'], [type='submit'] {
    -webkit-appearance: button;
    /* Correct the inability to style clickable types in iOS */
}

button, select {
    text-transform: none;
    /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button, input, select, textarea {
    background-color: transparent;
    border-style: none;
    color: inherit;
}

/* Style select like a standard input */
select {
       -moz-appearance: none;
    /* Firefox 36+ */
    -webkit-appearance: none;
    /* Chrome 41+ */
}

select::-ms-expand {
    display: none;
    /* Internet Explorer 11+ */
}

select::-ms-value {
    color: currentColor;
    /* Internet Explorer 11+ */
}

legend {
    border: 0;
    /* Correct `color` not being inherited in IE 8/9/10/11 */
    color: inherit;
    /* Correct the color inheritance from `fieldset` elements in IE */
    display: table;
    /* Correct the text wrapping in Edge and IE */
    max-width: 100%;
    /* Correct the text wrapping in Edge and IE */
    white-space: normal;
    /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* Correct the inability to style clickable types in iOS and Safari */
    font: inherit;
    /* Change font properties to `inherit` in Chrome and Safari */
}

[type='search'] {
    -webkit-appearance: textfield;
    /* Correct the odd appearance in Chrome and Safari */
    outline-offset: -2px;
    /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
    border-style: none;
    /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
    vertical-align: baseline;
}

svg:not(:root) {
    overflow: hidden;
    /* Internet Explorer 11- */
}

audio, canvas, progress, video {
    display: inline-block;
    /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
    [hidden~='screen'] {
        display: inherit;
    }
    [hidden~='screen']:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important;
    }
}

/* Specify the progress cursor of updating elements */
[aria-busy='true'] {
    cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
    cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
    cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
    background-color: #b3d4fc;
    /* Required when declaring ::selection */
    color: #000;
    text-shadow: none;
}

::selection {
    background-color: #b3d4fc;
    /* Required when declaring ::selection */
    color: #000;
    text-shadow: none;
}

html {
    min-width: 1000px;
    box-sizing: border-box;
    font-size: 62.5%;
}
@media only screen and (max-width: 767px) {
    html {
        min-width: 100%;
    }
}

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

body {
    color: #000;
    font-size: 1.6rem;
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
    font-weight: 500;
    word-wrap: break-word;
    line-height: 1.7;
    letter-spacing: 1px;
    /* アンチエイリアスを指定 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* 文字サイズの自動調整をOFF */
    -webkit-text-size-adjust: 100%;
}
@media only screen and (max-width: 767px) {
    body {
        font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
        font-size: 1.5rem;
    }
}

a {
    color: #000;
    text-decoration: none;
}

img {
    vertical-align: bottom;
}

/* =============================================================================
   #Layout
   ========================================================================== */
.l-header {
    min-width: 980px;
    height: 160px;
    background-color: #fff;
}
@media only screen and (max-width: 767px) {
    .l-header {
        display: none;
    }
}
.l-header__inner {
    width: 980px;
    margin: 0 auto;
}
.l-header__inner .inner_top {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    height: 90px;
    margin-bottom: 20px;
    padding-top: 25px;
}
.l-header__tel {
    display: inline-block;
}
.l-header__contact {
    display: inline-block;
    width: 150px;
    margin-left: 10px;
}
.l-header__gnav {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    height: 50px;
}
.l-header__gnav_list {
    list-style: none;
}
.l-header__gnav_list .g_label {
    display: block;
    position: relative;
    font-size: 1.5rem;
    font-weight: bold;
}
.l-header__gnav_list .g_label::after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: #89bb24;
    opacity: 0;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
.l-header__gnav_list .g_label.is-active::after {
    opacity: 1;
}
.l-header__gnav_list .g_label:hover::after {
    opacity: 1;
}
.l-header__gnav_list.parent:hover {
    cursor: pointer;
}
.l-header__gnav_list.parent:hover .g_label::after {
    opacity: 1;
}
.l-header__gnav_list.parent:hover .gnav_list__child {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
}
.l-header .gnav_list__child {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 100%;
    list-style: none;
    -webkit-transform: translateY(-8px);
        -ms-transform: translateY(-8px);
            transform: translateY(-8px);
    -webkit-transition: 0.3s;
            transition: 0.3s;
}
.l-header .gnav_list__child li {
    width: 327px;
}
.l-header .gnav_list__child li a {
    display: block;
    background-color: #eee;
    font-weight: bold;
    text-align: center;
    line-height: 65px;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
.l-header .gnav_list__child li a:hover {
    background-color: #89bb24;
    color: #fff;
}
.l-header .gnav_list__child li:nth-child(3n) {
    width: 326px;
}
.l-header .gnav_list__child::after {
    position: absolute;
    top: -15px;
    left: 50%;
    content: '';
    width: 0;
    height: 15px;
    margin-left: -38px;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 15px solid #eee;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .l-header .gnav_list__child li a {
        padding-top: 5px;
    }
}

.l-header_sp {
    display: none;
}
@media only screen and (max-width: 767px) {
    .l-header_sp {
        display: block;
    }
}
.l-header_sp__inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 55px;
    background-color: #fff;
    box-shadow: 0 1px 2px 0 rgba(128, 128, 128, 0.3);
    z-index: 99;
}
.l-header_sp__site_logo {
    position: absolute;
    top: 9px;
    left: 10px;
    width: 145px;
    height: auto;
    line-height: 1;
}
.l-header_sp__site_logo a {
    display: block;
}
.l-header_sp__site_logo a img {
    width: 100%;
}
.l-header_sp__menu {
    position: absolute;
    bottom: 17px;
    right: 10px;
    width: 45px;
    text-align: center;
}
.l-header_sp__menu:after {
    position: absolute;
    left: 1px;
    bottom: -12px;
    content: 'メニュー';
    display: block;
    width: 100%;
    color: #222;
    font-size: 1rem;
    text-decoration: none;
    text-align: center;
}
.l-header_sp__menu .icon {
    display: inline-block;
    position: relative;
    width: 30px;
    height: 19px;
}
.l-header_sp__menu span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #333;
    border-radius: 2px;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
.l-header_sp__menu span:nth-of-type(1) {
    top: 0;
}
.l-header_sp__menu span:nth-of-type(2) {
    top: 8px;
}
.l-header_sp__menu span:nth-of-type(2)::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background-color: #333;
    border-radius: 2px;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
.l-header_sp__menu span:nth-of-type(3) {
    bottom: 0;
}
.l-header_sp__menu.active:after {
    content: '閉じる';
}
.l-header_sp__menu.active span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
        -ms-transform: translateY(7px) rotate(-45deg);
            transform: translateY(7px) rotate(-45deg);
}
.l-header_sp__menu.active span:nth-of-type(2) {
    opacity: 0;
}
.l-header_sp__menu.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
        -ms-transform: translateY(-9px) rotate(45deg);
            transform: translateY(-9px) rotate(45deg);
}
.l-header_sp__gnav {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    padding-top: 55px;
    right: 0;
    left: 0;
    background-color: #89bb24;
    z-index: 98;
}
.l-header_sp__list_wrap {
    padding: 10px 25px 30px;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
.l-header_sp__list_wrap ul {
    list-style: none;
}
.l-header_sp__list {
    padding: 1em 0 1em 0.1em;
    border-bottom: 1px solid #fff;
}
.l-header_sp__list a, .l-header_sp__list span {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.15em;
}
.l-header_sp__parent {
    position: relative;
}
.l-header_sp__parent::after {
    content: '';
    position: absolute;
    top: 2px;
    right: 10px;
    width: 13px;
    height: 13px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}
.l-header_sp__parent.active::after {
    top: 8px;
    -webkit-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
            transform: rotate(-135deg);
}
.l-header_sp__child_list {
    display: none;
    padding: 0.6em 0 0.5em 0.5em;
}
.l-header_sp__child_list li {
    position: relative;
    padding: 0.3em 0 0.3em 1.2em;
}
.l-header_sp__child_list li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 8px;
    height: 2px;
    background-color: #fff;
}
.l-header_sp__contact_group {
    margin-top: 30px;
    padding: 1.2em 0 0.5em;
    background-color: #fff;
    border-radius: 3px;
    text-align: center;
}
.l-header_sp__contact {
    display: inline-block;
    width: 80%;
    margin-bottom: 5px;
}

.l-footer__backtop {
    position: absolute;
    top: -20px;
    left: 50%;
    width: 80px;
    height: 80px;
    margin-left: -40px;
    text-align: center;
}
.l-footer__backtop__icon {
    display: block;
    width: 40px;
    height: 40px;
    margin: 0 auto;
    padding: 10px;
    background-color: #f6f6f6;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}
.l-footer__backtop__icon::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-top: 1px solid #89bb24;
    border-left: 1px solid #89bb24;
}
.l-footer__backtop__text {
    position: relative;
    top: -15px;
    font-size: 1.2rem;
    letter-spacing: 0;
}
.l-footer__backtop__text:hover {
    color: #777;
    text-decoration: underline;
}
.l-footer__col1 {
    width: 670px;
    margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
    .l-footer__col1 {
        display: none;
    }
}
.l-footer__col1 a {
    font-size: 1.5rem;
}
.l-footer__col1 a:hover {
    text-decoration: underline;
}
.l-footer__col2 {
    width: 225px;
}
@media only screen and (max-width: 767px) {
    .l-footer__col2 {
        width: 75%;
        margin: 0 auto 20px;
    }
}
.l-footer__col2 .logo {
    margin-bottom: 15px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .l-footer__col2 .logo img {
        max-width: 250px;
        width: 100%;
        height: auto;
    }
}
.l-footer__col2 .contact {
    margin-bottom: 10px;
}
.l-footer__col2 .address {
    margin-bottom: 2px;
    font-size: 1.4rem;
    line-height: 1.3;
    letter-spacing: 0.3px;
}
@media only screen and (max-width: 767px) {
    .l-footer__col2 .address {
        margin-bottom: 6px;
    }
}
.l-footer__col2 .tel {
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .l-footer__col2 .tel {
        font-size: 7vw;
    }
}
.l-footer__menu_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    padding-top: 5px;
}
.l-footer__menu_wrap ul {
    width: 230px;
    padding-left: 35px;
    border-right: 1px solid #d6d6d6;
    list-style: none;
}
.l-footer__menu_wrap ul:nth-of-type(1) {
    width: 210px;
    padding-left: 0;
}
.l-footer__menu_wrap ul li {
    padding: 1px 0;
}
.l-footer__copyright {
    padding: 0.6em;
    background-color: #89bb24;
    text-align: center;
}
.l-footer__copyright small {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.1rem;
    color: #fff;
    line-height: 1.2;
}
@media only screen and (max-width: 767px) {
    .l-footer__copyright small {
        letter-spacing: 0.7px;
    }
}

/* =============================================================================
   #Object
   ========================================================================== */
/**
 * 1. Component（`c-`）
 * 2. Project（`p-`）
 * 3. Utility（`u-`）

 * ..Library
 */
/* -----------------------------------------------------------------------------
   #Component
   -------------------------------------------------------------------------- */
.c-topsec_head {
    overflow: hidden;
    position: relative;
    margin-bottom: 25px;
}
.c-topsec_head.works {
    padding: 0 15px;
}
.c-topsec_head__title .ja {
    margin-right: 12px;
    font-size: 2rem;
}
.c-topsec_head__title .en {
    font-family: 'Caveat', cursive;
    font-size: 2rem;
    color: #89bb24;
}
.c-topsec_head__showlist {
    position: absolute;
    top: 22%;
    right: 18px;
}
@media only screen and (max-width: 767px) {
    .c-topsec_head__showlist {
        right: 20px;
    }
}
@media only screen and (max-width: 767px) {
    .c-topsec_head__showlist.works {
        right: 35px;
    }
}
.c-topsec_head__showlist a {
    font-size: 1.4rem;
    letter-spacing: 0;
}
.c-topsec_head__showlist a:hover {
    text-decoration: underline;
}
.c-topsec_head__showlist::after {
    position: absolute;
    content: '';
    bottom: -2px;
    right: -24px;
    width: 0;
    height: 16px;
    border-top: 8px solid #89bb24;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

.c-telephone {
    font-size: 2.5rem;
    font-weight: bold;
    color: #89bb24;
    vertical-align: middle;
    letter-spacing: 0;
}
.c-telephone.header {
    padding-top: 3px;
    font-size: 2rem;
}
.c-telephone.header::before {
    position: relative;
    top: 2px;
}
.c-telephone::before {
    content: url('../images/common/icon_telephone.png');
    margin-right: 9px;
    vertical-align: middle;
    font-family: Arial;
}

.c-btn {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 40px;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
.c-btn--contact {
    background-color: #89bb24;
    font-weight: bold;
    color: #fff;
}
.c-btn--contact.header {
    font-size: 1.4rem;
}
.c-btn--contact.header::before {
    position: relative;
    top: 1px;
    margin-right: 6px;
}
.c-btn--contact:hover {
    background-color: #aad05c;
}
.c-btn--contact::before {
    content: url('../images/common/icon_mail.png');
    margin-right: 8px;
    vertical-align: middle;
    font-family: Arial;
}
.c-btn--basic {
    border: 1px solid #89bb24;
}
.c-btn--basic:hover {
    background-color: #89bb24;
    color: #fff;
}
.c-btn--other {
    border: 1px solid #ffc051;
}
.c-btn--other:hover {
    background-color: #ffc051;
    color: #fff;
}

.c-btn_wrap--single {
    width: 200px;
    margin: 0 auto 60px;
}
@media only screen and (max-width: 767px) {
    .c-btn_wrap--single {
        margin: 0 auto 40px;
    }
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .c-btn {
        padding-top: 1px;
    }
}

.c-icon--home::before {
    content: url('../images/common/icon_home.png');
    margin-right: 8px;
}

.c-icon--arrow::before {
    content: url('../images/common/icon_arrow.png');
    margin-right: 10px;
}

.c-heading--ttl1 {
    padding-left: 0.75em;
    border-left: 3px solid #89bb24;
    line-height: 1.2;
}

.c-heading--ttl2 {
    padding-left: 0.75em;
    border-left: 3px solid #fb4;
    line-height: 1.2;
}

.c-breadcrumb {
    width: 980px;
    margin: auto;
    padding: 10px 0;
}
@media only screen and (max-width: 767px) {
    .c-breadcrumb {
        display: none;
    }
}
.c-breadcrumb li {
    display: inline;
    font-size: 1.4rem;
}
.c-breadcrumb li a:hover {
    text-decoration: underline;
}
.c-breadcrumb li:first-child a::before {
    content: url('../images/common/icon_home.png');
    margin-right: 8px;
}
.c-breadcrumb li:not(:last-child)::after {
    content: url('../images/common/icon_arrow.png');
    margin: 0 5px 0 10px;
}

.c-breadcrumb_wrap {
    background-color: #eee;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .c-breadcrumb {
        padding: 12px 0 8px;
    }
}

.c-page_header {
    height: 200px;
    padding-top: 65px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .c-page_header {
        height: 135px;
        padding-top: 47px;
    }
}
.c-page_header.line2 {
    padding-top: 55px;
}
@media only screen and (max-width: 767px) {
    .c-page_header.line2 {
        padding-top: 30px;
    }
}
.c-page_header__title {
    display: inline-block;
    line-height: 1;
    letter-spacing: 0.1em;
}
.c-page_header__title .ja {
    display: block;
    margin-bottom: 8px;
    font-size: 2.5rem;
}
@media only screen and (max-width: 767px) {
    .c-page_header__title .ja {
        font-size: 2.2rem;
        margin-bottom: 6px;
        letter-spacing: 1px;
    }
}
.c-page_header__title .ja.sub {
    font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
    .c-page_header__title .ja.sub {
        padding-top: 3px;
        font-size: 1.6rem;
    }
}
.c-page_header__title .en {
    font-family: 'Caveat', cursive;
    font-size: 2.5rem;
    color: #89bb24;
}
@media only screen and (max-width: 767px) {
    .c-page_header__title .en {
        font-size: 2.2rem;
    }
}

.c-page_body {
    padding: 40px 0;
}
@media only screen and (max-width: 767px) {
    .c-page_body {
        padding: 40px 15px 0;
    }
}

.c-foot_contact {
    width: 700px;
    margin: 0 auto;
    padding: 30px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .c-foot_contact {
        display: none;
    }
}
.c-foot_contact .text {
    margin-bottom: 15px;
}
.c-foot_contact .contact {
    display: inline-block;
    width: 225px;
    margin: 0 15px;
}
.c-foot_contact .tel {
    display: inline-block;
    margin: 0 15px;
}

.c-pagination {
    margin-bottom: 60px;
    text-align: center;
}
.c-pagination a, .c-pagination span {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0 7px;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    line-height: 30px;
}
.c-pagination a.current, .c-pagination span.current {
    background-color: #8abb24;
    color: #fff;
}
.c-pagination a {
    border: 1px solid #8abb24;
    color: #89bb24;
    -webkit-transition: 0.3s;
            transition: 0.3s;
}
.c-pagination a:hover {
    background-color: #8abb24;
    color: #fff;
}

.c-bloglist_unit {
    width: 230px;
    margin: 0 20px 0 0;
}
@media only screen and (max-width: 767px) {
    .c-bloglist_unit {
        width: 48%;
        margin: 0 4% 30px 0;
    }
}
@media only screen and (max-width: 767px) {
    .c-bloglist_unit:nth-of-type(2) {
        margin: 0 0 30px 0;
    }
}
.c-bloglist_unit:nth-of-type(4) {
    margin: 0 0 30px 0;
}
.c-bloglist_unit__photo {
    position: relative;
    margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
    .c-bloglist_unit__photo::before {
        content: '';
        display: block;
        padding-top: 70%;
    }
}
.c-bloglist_unit__photo a {
    display: block;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 170px;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
@media only screen and (max-width: 767px) {
    .c-bloglist_unit__photo a {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
.c-bloglist_unit__photo a:hover {
    opacity: 0.5;
}
.c-bloglist_unit__photo .post_img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 105%;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}
.c-bloglist_unit__photo .empty_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f6f6f6 url('/images/common/img_empty.png') center no-repeat;
}
@media only screen and (max-width: 767px) {
    .c-bloglist_unit__photo .empty_img {
        background-size: 80%;
    }
}
.c-bloglist_unit__date {
    padding-left: 1px;
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffa200;
}
@media only screen and (max-width: 767px) {
    .c-bloglist_unit__date {
        font-size: 1.4rem;
    }
}
.c-bloglist_unit__title {
    font-size: 1.5rem;
}

/* -----------------------------------------------------------------------------
   #Project
   -------------------------------------------------------------------------- */
.p-main_cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
    background-size: cover;
    background-position: center 50%;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
    .p-main_cover {
        height: 280px;
    }
}
.p-main_cover.slide1 {
    background-image: url('/images/top/img_cover_photo01.jpg');
}
.p-main_cover.slide2 {
    background-image: url('/images/top/img_cover_photo02.jpg');
}
.p-main_cover .inner {
    position: relative;
    width: 980px;
    height: 100%;
    margin: 0 auto;
}
@media only screen and (max-width: 767px) {
    .p-main_cover .inner {
        display: inline-block;
        width: 100%;
        height: 280px;
        margin: 0;
    }
}
.p-main_cover .cover_copy {
    position: absolute;
    top: 25%;
    right: 0;
}
@media only screen and (max-width: 767px) {
    .p-main_cover .cover_copy {
        top: 50%;
        left: 50%;
        width: 90%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

.p-main_cover_wrap {
    position: relative;
    height: 500px;
    margin-bottom: 70px;
}
@media only screen and (max-width: 767px) {
    .p-main_cover_wrap {
        height: 280px;
        margin-bottom: 40px;
    }
}

.p-top_section {
    margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
    .p-top_section {
        margin-bottom: 40px;
    }
}
.p-top_section.half {
    width: 450px;
    margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
    .p-top_section.half {
        width: 100%;
        padding: 0 15px;
        margin-bottom: 40px;
    }
}
.p-top_section.last {
    margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
    .p-top_section.last {
        width: 100%;
        padding: 0 15px;
        margin-bottom: 60px;
    }
}

.p-top_gallery__unit {
    width: 330px;
}
@media only screen and (max-width: 767px) {
    .p-top_gallery__unit {
        width: 270px;
    }
}

.p-top_gallery__photo {
    margin-bottom: 18px;
}
.p-top_gallery__photo a {
    display: block;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 250px;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
@media only screen and (max-width: 767px) {
    .p-top_gallery__photo a {
        height: 205px;
    }
}
.p-top_gallery__photo a:hover {
    opacity: 0.5;
}
.p-top_gallery__photo .post_img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.p-top_gallery__name {
    padding-left: 0.8em;
    border-left: 3px solid #ffc560;
    line-height: 1;
}

@media only screen and (max-width: 767px) {
    .p-top_gallery #js-infiniteScroller {
        height: 240px !important;
    }
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-top_gallery__name {
        padding-top: 0.25em;
    }
}

.p-other_cnt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    margin-bottom: 60px;
    padding: 20px 10px;
}
@media only screen and (max-width: 767px) {
    .p-other_cnt {
        display: block;
        margin-bottom: 40px;
        padding: 20px 15px 5px;
    }
}
.p-other_cnt__unit {
    width: 100%;
    height: 240px;
    margin: 0 10px;
}
@media only screen and (max-width: 767px) {
    .p-other_cnt__unit {
        height: auto;
        margin: 0 0 15px 0;
    }
}
.p-other_cnt__unit a {
    display: block;
    height: 100%;
    padding: 30px 20px 0;
    -webkit-transition: 0.4s;
            transition: 0.4s;
    background-image: url('/images/common/bg_border_green_horizontal.png'), url('/images/common/bg_border_green_horizontal.png'), url('/images/common/bg_border_green_vertical.png'), url('/images/common/bg_border_green_vertical.png');
    background-position: top left, left bottom, left top, right top;
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
}
@media only screen and (max-width: 767px) {
    .p-other_cnt__unit a {
        padding: 25px 20px;
    }
}
.p-other_cnt__unit a:hover {
    background-color: #e9e9e2;
}
.p-other_cnt__inner {
    max-width: 320px;
    margin: 0 auto;
    text-align: center;
}
.p-other_cnt__inner p {
    text-align: justify;
    text-justify: inter-ideograph;
}
.p-other_cnt__title {
    margin: 10px 0;
}
.p-other_cnt__title .ja {
    display: block;
    font-size: 2rem;
    line-height: 1.2;
}
.p-other_cnt__title .en {
    display: block;
    font-family: 'Caveat', cursive;
    font-size: 1.8rem;
    color: #89bb24;
    line-height: 1.4;
}

.p-info_list__wrap {
    height: 190px;
    outline: none;
}

.p-info_list__inner {
    width: 420px;
}
@media only screen and (max-width: 767px) {
    .p-info_list__inner {
        width: 98%;
    }
}

.p-info_list__row {
    display: table;
    width: 100%;
    padding: 6px 0;
}
@media only screen and (max-width: 767px) {
    .p-info_list__row {
        display: block;
    }
}
.p-info_list__row .date {
    display: table-cell;
    vertical-align: top;
    width: 20%;
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffa200;
}
@media only screen and (max-width: 767px) {
    .p-info_list__row .date {
        display: block;
        width: 100%;
        margin-bottom: 5px;
    }
}
.p-info_list__row .title {
    display: table-cell;
    vertical-align: top;
    width: 80%;
    padding-left: 20px;
}
@media only screen and (max-width: 767px) {
    .p-info_list__row .title {
        display: block;
        width: 100%;
        padding: 0;
    }
}
.p-info_list__row .title a:hover {
    text-decoration: underline;
}

.p-top_bnrgroup {
    margin-bottom: 60px;
    padding-top: 20px;
}
@media only screen and (max-width: 767px) {
    .p-top_bnrgroup {
        margin-bottom: 50px;
        padding: 25px 15px 10px;
    }
}
.p-top_bnrgroup ul {
    list-style: none;
}
.p-top_bnrgroup ul li {
    margin-right: 20px;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    .p-top_bnrgroup ul li {
        width: 100%;
        margin: 0 0 15px 0;
    }
}
.p-top_bnrgroup ul li:nth-of-type(3n) {
    margin-right: 0;
}
.p-top_bnrgroup__bnr {
    display: table-cell;
    vertical-align: middle;
    width: 313px;
    height: 135px;
    text-align: center;
    -webkit-transition: 0.4s;
            transition: 0.4s;
    background-image: url('/images/common/bg_border_brown_horizontal.png'), url('/images/common/bg_border_brown_horizontal.png'), url('/images/common/bg_border_brown_vertical.png'), url('/images/common/bg_border_brown_vertical.png');
    background-position: top left, left bottom, left top, right top;
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
}
@media only screen and (max-width: 767px) {
    .p-top_bnrgroup__bnr {
        position: relative;
        display: block;
        width: 100%;
        height: 120px;
    }
}
.p-top_bnrgroup__bnr:hover {
    background-color: #ece9e5;
}
.p-top_bnrgroup__bnr.newmark {
    position: relative;
}
.p-top_bnrgroup__bnr.newmark::before {
    position: absolute;
    top: 1px;
    left: 1px;
    content: url('/images/top/bnr_newmark.png');
}
@media only screen and (max-width: 767px) {
    .p-top_bnrgroup__bnr img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

.p-gallery_list {
    margin-bottom: 20px;
}
.p-gallery_list__unit {
    width: 215px;
    margin: 0 40px 40px 0;
}
@media only screen and (max-width: 767px) {
    .p-gallery_list__unit {
        width: 48%;
        margin: 0 4% 30px 0;
    }
}
@media only screen and (max-width: 767px) {
    .p-gallery_list__unit:nth-of-type(2n) {
        margin: 0;
    }
}
.p-gallery_list__unit:nth-of-type(4n) {
    margin: 0;
}
.p-gallery_list__photo {
    position: relative;
    margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
    .p-gallery_list__photo::before {
        content: '';
        display: block;
        padding-top: 85%;
    }
}
.p-gallery_list__photo a {
    display: block;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 215px;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
@media only screen and (max-width: 767px) {
    .p-gallery_list__photo a {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
.p-gallery_list__photo a:hover {
    opacity: 0.5;
}
.p-gallery_list__photo .post_img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}
.p-gallery_list__name {
    padding-left: 0.8em;
    border-left: 3px solid #ffc560;
    font-size: 1.5rem;
    line-height: 1;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-gallery_list__name {
        padding-top: 0.25em;
    }
}

.p-gallery_info {
    width: 800px;
    margin: 0 auto 60px;
}
@media only screen and (max-width: 767px) {
    .p-gallery_info {
        width: 100%;
    }
}
.p-gallery_info__title {
    font-size: 2rem;
    margin-bottom: 50px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-gallery_info__title {
        margin-bottom: 35px;
    }
}
.p-gallery_info__data {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
    .p-gallery_info__data {
        margin-bottom: 40px;
    }
}
.p-gallery_info__row {
    width: 50%;
    padding: 15px 0;
    border-bottom: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
    .p-gallery_info__row {
        width: 100%;
    }
}
.p-gallery_info__row.other {
    width: 100%;
    border: none;
}
.p-gallery_info__th {
    display: table-cell;
    width: 100px;
    padding-left: 15px;
    font-size: 1.5rem;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .p-gallery_info__th {
        padding-left: 5px;
    }
}
.p-gallery_info__td {
    display: table-cell;
    padding-right: 5px;
}
.p-gallery_info__photo p {
    margin-bottom: 50px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-gallery_info__photo p {
        margin-bottom: 25px;
    }
}
@media only screen and (max-width: 767px) {
    .p-gallery_info__photo p img {
        width: 100%;
        height: auto;
    }
}

.p-article {
    margin-bottom: 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
    .p-article {
        margin-bottom: 40px;
        padding-bottom: 40px;
    }
}
.p-article.single {
    border: none;
}
.p-article__inner {
    padding: 0 90px;
}
@media only screen and (max-width: 767px) {
    .p-article__inner {
        padding: 0;
    }
}
.p-article__head {
    position: relative;
    margin-bottom: 55px;
}
@media only screen and (max-width: 767px) {
    .p-article__head {
        margin-bottom: 30px;
    }
}
.p-article__head .inner {
    padding-left: 1em;
    border-left: 3px solid #89bb24;
    line-height: 1.2;
}
.p-article__title {
    margin-bottom: 8px;
    font-size: 2rem;
    font-weight: bold;
}
.p-article__title.report {
    margin-right: 9em;
}
@media only screen and (max-width: 767px) {
    .p-article__title.report {
        margin-right: 0;
    }
}
.p-article__category {
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px 10px;
    background-color: #89bb24;
    border-radius: 5px;
    font-size: 1.6rem;
    color: #fff;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-article__category {
        position: static;
        display: inline-block;
        margin-top: 16px;
        padding: 3px 10px;
        font-size: 1.4rem;
    }
}
.p-article__body {
    padding: 0 50px;
}
@media only screen and (max-width: 767px) {
    .p-article__body {
        padding: 0;
    }
}
.p-article__body p {
    margin-bottom: 0;
}
.p-article__body p img {
    display: block;
    margin: auto;
}
@media only screen and (max-width: 767px) {
    .p-article__body p img {
        width: 100%;
        height: auto;
    }
}
.p-article__body p a {
    color: #1535c3;
    text-decoration: underline;
}
.p-article__body p a:hover {
    text-decoration: none;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-article__category {
        padding: 5px 10px 0;
    }
}

.p-blog_other {
    margin-bottom: 60px;
    padding: 50px 0 40px;
    background-color: #eee;
}
@media only screen and (max-width: 767px) {
    .p-blog_other {
        margin-bottom: 40px;
        padding: 25px 15px 10px;
    }
}
.p-blog_other__cnt:nth-of-type(1) {
    margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
    .p-blog_other__cnt:nth-of-type(1) {
        margin-bottom: 30px;
    }
}
.p-blog_other__title {
    margin-bottom: 20px;
    padding-left: 0.75em;
    border-left: 3px solid #fb4;
    font-size: 2rem;
    line-height: 1.2;
}

.p-archves_select__unit {
    width: 230px;
    margin: 0 20px 0 0;
}
@media only screen and (max-width: 767px) {
    .p-archves_select__unit {
        width: 48%;
        margin: 0 4% 20px 0;
    }
}
@media only screen and (max-width: 767px) {
    .p-archves_select__unit:nth-of-type(2) {
        margin: 0 0 20px 0;
    }
}
.p-archves_select__unit:nth-of-type(4) {
    margin: 0 0 20px 0;
}
.p-archves_select__unit .year_title {
    padding: 0 0 0.3em 0.2em;
    font-weight: bold;
}

.p-archves_select label {
    position: relative;
    display: block;
    width: 100%;
    border: 1px solid #888;
    background: #fff;
}

.p-archves_select label:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 8px;
    display: block;
    width: 0;
    height: 0;
    margin: -2px 0 0 0;
    border: 5px solid transparent;
    border-top: 7px solid #444;
}

.p-archves_select select {
    cursor: pointer;
    outline: none;
    position: relative;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: block;
    width: 100%;
    padding: 0.7em 1em;
    border: none;
    border-radius: 5px;
    background: transparent;
    font-size: 1.5rem;
    font-weight: bold;
}

.p-archves_select ::-ms-expand {
    display: none;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-archves_select__unit select {
        padding: 0.8em 1em 0.5em;
    }
}

.p-report_cat {
    list-style: none;
    margin-bottom: 60px;
}
.p-report_cat li {
    width: 230px;
    margin: 0 20px 30px 0;
    padding: 1em 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.p-report_cat li:nth-of-type(4n) {
    margin: 0 0 30px 0;
}
.p-report_cat li ul{
    list-style: none;
    padding: .2em 0 0 1.2em;
}
.p-report_cat li ul li{
    margin: 0!important;
    padding: .3em 0;
    border: none;
}
@media only screen and (max-width: 767px) {
    .p-report_cat li {
        width: 100%;
        margin: 0 0 10px 0;
        padding: 1em 0 1em 1em
    }
    .p-report_cat li:nth-of-type(4n) {
        margin: 0 0 10px 0;
    }
}
.p-report_cat li a {
    display: inline-block;
    position: relative;
    padding-left: 1em;
}
.p-report_cat li a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 2px;
    width: 6px;
    height: 6px;
    margin-top: -6px;
    border: 6px solid transparent;
    border-left: 6px solid #fb4;
}
.p-report_cat li a:hover {
    text-decoration: underline;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-report_cat li a::before {
        margin-top: -9px;
    }
}

.p-news_list {
    width: 800px;
    margin: 0 auto 60px;
    border-top: 1px solid #e3e3e3;
}
@media only screen and (max-width: 767px) {
    .p-news_list {
        width: 100%;
    }
}
.p-news_list__row {
    display: table;
    width: 100%;
    padding: 1em 0;
    border-bottom: 1px solid #e3e3e3;
}
@media only screen and (max-width: 767px) {
    .p-news_list__row {
        display: block;
    }
}
.p-news_list__row .date {
    display: table-cell;
    vertical-align: top;
    width: 20%;
    font-size: 1.5rem;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .p-news_list__row .date {
        display: block;
        width: 100%;
        margin-bottom: 3px;
    }
}
.p-news_list__row .date span {
    display: inline-block;
    padding-left: 0.75em;
    border-left: 3px solid #89bb24;
    line-height: 1;
}
.p-news_list__row .title {
    display: table-cell;
    vertical-align: top;
    width: 80%;
}
@media only screen and (max-width: 767px) {
    .p-news_list__row .title {
        display: block;
        width: 100%;
    }
}
.p-news_list__row .title a:hover {
    text-decoration: underline;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-news_list__row .date span {
        padding: 0.3em 0 0 0.75em;
    }
}

.p-event_info {
    width: 800px;
    margin: 0 auto 60px;
}
@media only screen and (max-width: 767px) {
    .p-event_info {
        width: 100%;
        margin: 0 auto 20px;
    }
}
.p-event_info__title {
    margin-bottom: 50px;
    padding-left: 0.75em;
    border-left: 3px solid #89bb24;
    font-size: 2rem;
    line-height: 1.2;
}
@media only screen and (max-width: 767px) {
    .p-event_info__title {
        margin-bottom: 20px;
    }
}
.p-event_info__title a:hover {
    text-decoration: underline;
}
.p-event_info__row {
    display: table;
    width: 100%;
    padding: 20px 0;
    border-bottom: 1px solid #ddd;
}
.p-event_info__row:last-child {
    border-bottom: none;
}
.p-event_info__th {
    display: table-cell;
    width: 100px;
    text-align: center;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .p-event_info__th {
        width: 20%;
        text-align: left;
    }
}
.p-event_info__th span {
    display: inline-block;
    width: 60px;
    padding: 0.4em 0;
    background-color: #79a324;
    border-radius: 5px;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1;
}
.p-event_info__td {
    display: table-cell;
    width: 700px;
}
@media only screen and (max-width: 767px) {
    .p-event_info__td {
        width: 80%;
        padding-left: 10px;
    }
}
.p-event_info__td img {
    display: block;
    margin: auto;
}
@media only screen and (max-width: 767px) {
    .p-event_info__td img {
        width: 100%;
        height: auto;
    }
}
.p-event_info__td a:hover {
    text-decoration: underline;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-event_info__th span {
        padding: 0.5em 0 0.3em;
    }
}

.p-event_list {
    width: 800px;
    margin: 0 auto 60px;
}
@media only screen and (max-width: 767px) {
    .p-event_list {
        width: 100%;
        margin: 0 auto 40px;
        padding-top: 10px;
    }
}
.p-event_list__title {
    margin-bottom: 40px;
    padding-left: 0.75em;
    border-left: 3px solid #fb4;
    font-size: 2rem;
    line-height: 1.2;
}
@media only screen and (max-width: 767px) {
    .p-event_list__title {
        margin-bottom: 20px;
    }
}
.p-event_list__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}
.p-event_list__row {
    position: relative;
    width: 380px;
    padding: 18px 0;
    border-bottom: 1px solid #eee;
}
@media only screen and (max-width: 767px) {
    .p-event_list__row {
        width: 100%;
        padding: 15px 0;
    }
}
.p-event_list__th {
    position: absolute;
}
.p-event_list__th span {
    display: inline-block;
    width: 60px;
    padding: 0.4em 0;
    border-radius: 5px;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1;
}
@media only screen and (max-width: 767px) {
    .p-event_list__th span {
        font-size: 1.4rem;
    }
}
.p-event_list__th span.state_new {
    background-color: #e81515;
}
.p-event_list__th span.state_end {
    background-color: #bbb;
}
.p-event_list__td {
    padding-left: 80px;
}
.p-event_list__td a:hover {
    text-decoration: underline;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-event_list__th span {
        padding: 0.5em 0 0.3em;
    }
}

.p-resume {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-resume {
        margin-bottom: 40px;
    }
}
.p-resume__read {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-resume__read {
        margin-bottom: 40px;
    }
}
.p-resume__text {
    margin-bottom: 20px;
}
.p-resume__text a {
    color: #1535c3;
    text-decoration: underline;
}
.p-resume__text a:hover {
    text-decoration: none;
}
.p-resume__title {
    margin-bottom: 50px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-resume__title {
        margin-bottom: 30px;
    }
}
.p-resume__title .main {
    margin-right: 1.5em;
}
@media only screen and (max-width: 767px) {
    .p-resume__title .sub {
        display: block;
        padding-top: 10px;
        font-size: 1.4rem;
    }
}
.p-resume__note {
    margin-bottom: 60px;
    padding: 60px;
    border: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
    .p-resume__note {
        margin-bottom: 40px;
        padding: 20px 10px;
    }
}
.p-resume__note h4 {
    margin-bottom: 5px;
    font-size: 2rem;
}
.p-resume__note .profile_wrap {
    position: relative;
    margin-bottom: 30px;
}
.p-resume__note .profile_photo {
    position: absolute;
    top: 0;
    right: 0;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_photo {
        position: static;
        margin-bottom: 20px;
        text-align: center;
    }
}
.p-resume__note .profile_photo .frame {
    display: inline-block;
    width: 115px;
    border: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_photo .frame {
        width: 135px;
    }
}
.p-resume__note .profile_photo img {
    width: 100%;
    height: auto;
}
.p-resume__note .profile_box {
    width: 715px;
    border: 1px solid #89bb24;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box {
        width: 100%;
    }
}
.p-resume__note .profile_box .row {
    display: table;
    width: 100%;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .row {
        display: block;
    }
}
.p-resume__note .profile_box .row.kana {
    border-bottom: 1px dashed #89bb24;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .row.kana {
        border: none;
    }
}
.p-resume__note .profile_box .row.kana .col {
    padding: 0.3em 1em 0.3em 1.5em;
    font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .row.kana .col {
        padding: 5px 20px;
    }
}
.p-resume__note .profile_box .row.name {
    border-bottom: 1px solid #89bb24;
}
.p-resume__note .profile_box .col {
    display: table-cell;
    padding: 0.5em 1em 0.5em 1.5em;
    vertical-align: middle;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .col {
        display: block;
    }
}
.p-resume__note .profile_box .kana1 {
    width: 40%;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .kana1 {
        width: 100%;
        background-color: #89bb24;
        font-weight: bold;
        color: #fff;
    }
}
.p-resume__note .profile_box .kana2 {
    width: 60%;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .kana2 {
        width: 100%;
        padding-left: 110px !important;
        letter-spacing: 0;
    }
}
.p-resume__note .profile_box .kana2 span {
    margin: 0 0.5em;
    letter-spacing: 0.1em;
}
.p-resume__note .profile_box .col1 {
    width: 20%;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .col1 {
        width: 100%;
        padding: 5px 20px;
        background-color: #89bb24;
        font-size: 1.4rem;
        font-weight: bold;
        color: #fff;
    }
}
.p-resume__note .profile_box .col2 {
    width: 80%;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .col2 {
        width: 100%;
        padding: 10px 20px;
    }
}
.p-resume__note .profile_box .col2 .sub {
    font-weight: bold;
}
.p-resume__note .profile_box .col2 .main {
    margin-left: 11%;
    font-size: 3rem;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .profile_box .col2 .main {
        margin-left: 18px;
        font-size: 2.7rem;
    }
}
.p-resume__note .history_box {
    border: 1px solid #89bb24;
}
.p-resume__note .history_box .row {
    display: table;
    width: 100%;
    border-bottom: 1px solid #89bb24;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .history_box .row {
        display: block;
        border: none;
    }
}
@media only screen and (max-width: 767px) {
    .p-resume__note .history_box .row.head {
        display: none;
    }
}
.p-resume__note .history_box .row.head .col {
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
}
.p-resume__note .history_box .row:last-child {
    border: none;
}
.p-resume__note .history_box .col {
    display: table-cell;
    padding: 0.7em 1em 0.7em 1.2em;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .history_box .col {
        display: block;
    }
}
.p-resume__note .history_box .col p {
    position: relative;
    font-size: 1.5rem;
    padding: 0.15em 0 0.15em 0.8em;
    line-height: 1.5;
}
.p-resume__note .history_box .col p::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 4px;
    height: 4px;
    background-color: #111;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
}
.p-resume__note .history_box .col1 {
    width: 13%;
    text-align: center;
    vertical-align: middle;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .history_box .col1 {
        width: 100%;
        padding: 5px 20px !important;
        background-color: #89bb24;
        font-size: 1.4rem;
        font-weight: bold;
        color: #fff;
        text-align: left;
    }
}
.p-resume__note .history_box .col2 {
    width: 32%;
    border-right: 1px dashed #89bb24;
    border-left: 1px dashed #89bb24;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .history_box .col2 {
        width: 100%;
        border-right: none;
        border-left: none;
        border-bottom: 1px dashed #89bb24;
    }
}
.p-resume__note .history_box .col3 {
    width: 55%;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .p-resume__note .history_box .col3 {
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    .p-resume__note .history_box .empty {
        margin: -1px 0;
        font-size: 0;
    }
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-resume__note .profile_box .col2 .main {
        position: relative;
        top: 3px;
    }
}

.p-longlife {
    margin-bottom: 60px;
    padding: 60px;
    border: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
    .p-longlife {
        margin-bottom: 40px;
        padding: 30px 20px;
    }
}
.p-longlife__title {
    margin-bottom: 50px;
    font-size: 2rem;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-longlife__title {
        margin: 0 -10px 20px;
        font-size: 1.8rem;
        letter-spacing: 0;
        text-indent: -5px;
    }
}
.p-longlife__title span {
    display: inline-block;
    padding-bottom: 10px;
    background: url('/images/common/bg_border_green_horizontal.png') repeat-x left bottom;
}
.p-longlife p:not(:last-child) {
    margin-bottom: 30px;
    text-align: justify;
    text-justify: inter-ideograph;
}
@media only screen and (max-width: 767px) {
    .p-longlife p:not(:last-child) {
        margin-bottom: 20px;
    }
}

.p-hebel__section {
    margin-bottom: 65px;
}
@media only screen and (max-width: 767px) {
    .p-hebel__section {
        margin-bottom: 50px;
    }
}

.p-hebel__section_head {
    margin-bottom: 40px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-hebel__section_head {
        margin-bottom: 30px;
    }
}
.p-hebel__section_head02 {
    margin-bottom: 35px;
    font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
    .p-hebel__section_head02 {
        margin-bottom: 30px;
    }
}

.p-hebel_01__read {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__read {
        margin-bottom: 40px;
    }
}

.p-hebel_01__point_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 50px;
    padding: 40px;
    list-style: none;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__point_list {
        display: block;
        margin-bottom: 30px;
        padding: 20px 16px;
    }
}
.p-hebel_01__point_list li {
    display: table;
    width: 430px;
    height: 80px;
    margin: 0 40px 35px 0;
    border: 1px solid #89bb24;
    vertical-align: middle;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__point_list li {
        width: 100%;
        height: auto;
        margin: 0 0 15px 0;
        padding: 13px 0;
    }
}
.p-hebel_01__point_list li:nth-child(2n) {
    margin: 0 0 40px 0;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__point_list li:nth-child(2n) {
        margin: 0 0 15px 0;
    }
}
.p-hebel_01__point_list li:last-child {
    margin: 0;
}
.p-hebel_01__point_list .num {
    display: table-cell;
    width: 15%;
    padding-left: 18px;
    vertical-align: middle;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__point_list .num {
        padding-left: 12px;
    }
}
.p-hebel_01__point_list .num span {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: #89bb24;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    line-height: 40px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__point_list .num span {
        width: 30px;
        height: 30px;
        font-size: 1.8rem;
        line-height: 30px;
    }
}
.p-hebel_01__point_list .text {
    display: table-cell;
    width: 85%;
    padding: 0 10px;
    font-size: 1.8rem;
    font-weight: bold;
    vertical-align: middle;
    line-height: 1.4;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__point_list .text {
        padding: 0 10px;
        font-size: 1.5rem;
    }
}

.p-hebel_01__foot_text {
    margin-bottom: 50px;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__foot_text {
        margin-bottom: 40px;
        font-size: 1.6rem;
    }
}
.p-hebel_01__foot_text span {
    font-size: 2.8rem;
    color: #febd4b;
}
@media only screen and (max-width: 767px) {
    .p-hebel_01__foot_text span {
        font-size: 2.2rem;
    }
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-hebel_01__point_list .text {
        padding-top: 0.25em;
    }
}

.p-hebel_02__group01 {
    margin-bottom: 40px;
    padding: 35px 0;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group01 {
        padding: 20px 16px;
    }
}

.p-hebel_02__group02 {
    margin-bottom: 40px;
    padding: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 {
        padding: 20px;
    }
}
.p-hebel_02__group02 .season_box_wrap {
    margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .season_box_wrap {
        margin: 0;
    }
}
.p-hebel_02__group02 .season_box {
    display: table;
    width: 430px;
    padding: 13px 10px;
    background-color: #fff;
    border-radius: 5px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .season_box {
        width: 100%;
        margin-bottom: 20px;
        padding: 10px;
    }
}
.p-hebel_02__group02 .season_box dt {
    display: table-cell;
    width: 50px;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
}
.p-hebel_02__group02 .season_box dd {
    display: table-cell;
    padding-left: 10px;
    font-size: 1.4rem;
    vertical-align: middle;
}
.p-hebel_02__group02 .season_box.summer {
    border: 1px solid #57dadc;
}
.p-hebel_02__group02 .season_box.summer dt {
    color: #57dadc;
}
.p-hebel_02__group02 .season_box.winter {
    border: 1px solid #fb4;
}
.p-hebel_02__group02 .season_box.winter dt {
    color: #fb4;
}
.p-hebel_02__group02 .hebelwall_figure_wrap {
    margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt1 {
        margin: 30px 0;
    }
}
.p-hebel_02__group02 .cnt2 {
    width: 430px;
    padding-top: 30px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt2 {
        width: 100%;
        padding: 0;
    }
}
.p-hebel_02__group02 .cnt2 .unit {
    display: table;
    width: 100%;
    margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt2 .unit {
        margin-bottom: 15px;
    }
}
.p-hebel_02__group02 .cnt2 .num {
    display: table-cell;
    width: 40px;
    vertical-align: middle;
}
.p-hebel_02__group02 .cnt2 .num span {
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: #89bb24;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    line-height: 30px;
    text-align: center;
}
.p-hebel_02__group02 .cnt2 .text {
    display: table-cell;
    padding: 10px 15px;
    vertical-align: middle;
    background-color: #fff;
    border: 1px solid #89bb24;
    line-height: 1.6;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt2 .text {
        padding: 8px 10px 8px 15px;
    }
}
.p-hebel_02__group02 .cnt3 .unit {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    width: 430px;
    padding: 20px;
    background-color: #fff;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt3 .unit {
        width: 100%;
        padding: 15px 10px 15px 15px;
    }
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt3 .unit:first-child {
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt3 .unit .photo {
        width: 35%;
    }
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt3 .unit .photo img {
        width: 100%;
    }
}
.p-hebel_02__group02 .cnt3 .unit dl {
    padding-left: 20px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt3 .unit dl {
        width: 65%;
        padding-left: 15px;
    }
}
.p-hebel_02__group02 .cnt3 .unit dl dt {
    margin-bottom: 8px;
    font-weight: bold;
}
.p-hebel_02__group02 .cnt3 .unit dl dd {
    font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group02 .cnt3 .unit dl dd {
        font-size: 1.4rem;
    }
}

.p-hebel_02__group03 {
    margin-bottom: 40px;
    padding: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group03 {
        padding: 20px;
    }
}
.p-hebel_02__group03 .cnt1 {
    width: 660px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group03 .cnt1 {
        width: 100%;
        margin-bottom: 40px;
    }
}
.p-hebel_02__group03 .cnt1 h4 {
    margin-bottom: 20px;
    font-size: 2rem;
    color: #75ad31;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group03 .cnt1 h4 {
        font-size: 1.8rem;
        text-align: center;
    }
}
.p-hebel_02__group03 .cnt1 .text_box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 20px;
}
.p-hebel_02__group03 .cnt1 .text_box p {
    width: 280px;
    font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group03 .cnt1 .text_box p {
        width: 45%;
        font-size: 1.4rem;
    }
}

.p-hebel_02__group04 {
    margin-bottom: 30px;
    padding: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group04 {
        padding: 20px;
    }
}
@media only screen and (max-width: 767px) {
    .p-hebel_02__group04 .photo:first-child {
        margin-bottom: 20px;
    }
}

.p-hebel_03__group01 .text_box {
    width: 560px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group01 .text_box {
        width: 100%;
        margin-bottom: 30px;
    }
}
.p-hebel_03__group01 .text_box h4 {
    margin-bottom: 15px;
}
.p-hebel_03__group01 .text_box p {
    letter-spacing: 0;
}

.p-hebel_03__group02 {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 {
        margin-bottom: 40px;
    }
}
.p-hebel_03__group02 .cnt1 {
    padding-top: 100px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .cnt1 {
        margin-bottom: 40px;
        padding-top: 10px;
        text-align: center;
    }
}
.p-hebel_03__group02 .cnt1 img {
    width: 90%;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .cnt1 img {
        width: 80%;
    }
}
.p-hebel_03__group02 .cnt2 {
    width: 600px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .cnt2 {
        width: 100%;
    }
}
.p-hebel_03__group02 .cnt3 {
    padding-top: 15px;
}
.p-hebel_03__group02 .cnt3 .unit {
    width: 480px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .cnt3 .unit {
        width: 100%;
    }
}
.p-hebel_03__group02 .unit {
    position: relative;
    margin-bottom: 30px;
    padding-left: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .unit {
        margin-bottom: 20px;
    }
}
.p-hebel_03__group02 .unit .num {
    position: absolute;
    top: 0;
    left: 0;
}
.p-hebel_03__group02 .unit .num span {
    display: block;
    width: 30px;
    height: 30px;
    background-color: #89bb24;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    line-height: 30px;
    text-align: center;
}
.p-hebel_03__group02 .unit .box {
    height: 100%;
    padding: 17px 18px 15px;
    border: 1px solid #89bb24;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .unit .box {
        padding: 13px 15px 10px;
    }
}
.p-hebel_03__group02 .unit .text_box {
    line-height: 1.6;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .unit .text_box {
        margin-bottom: 20px;
    }
}
.p-hebel_03__group02 .unit .text_box h4 {
    margin-bottom: 15px;
    letter-spacing: -0.5px;
}
.p-hebel_03__group02 .unit .text_box p {
    font-size: 1.5rem;
}
.p-hebel_03__group02 .unit .text_box.box01 {
    width: 360px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .unit .text_box.box01 {
        width: 100%;
    }
}
.p-hebel_03__group02 .unit .text_box.box02 {
    width: 270px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .unit .text_box.box02 {
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .unit .photo {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
                justify-content: space-between;
    }
}
.p-hebel_03__group02 .unit .photo span {
    display: block;
    margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group02 .unit .photo span {
        width: 48%;
    }
}

.p-hebel_03__group03 h4 {
    margin-bottom: 25px;
}
.p-hebel_03__group03 h4 .main_text {
    margin-right: 30px;
    font-size: 2rem;
    color: #75ad31;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group03 h4 .main_text {
        display: block;
        margin: 0 0 5px 0;
    }
}
.p-hebel_03__group03 h4 .sub_text {
    font-weight: normal;
}

.p-hebel_03__group03 .burner_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group03 .burner_wrap {
        margin-bottom: -25px;
    }
}
.p-hebel_03__group03 .burner_wrap .unit {
    width: 180px;
    margin-bottom: 25px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group03 .burner_wrap .unit {
        width: 48%;
    }
}
.p-hebel_03__group03 .burner_wrap .text {
    margin-top: 10px;
    font-size: 1.5rem;
    line-height: 1.4;
}
@media only screen and (max-width: 767px) {
    .p-hebel_03__group03 .burner_wrap .text {
        font-size: 1.4rem;
    }
}

.p-hebel_03 p.list_text {
    position: relative;
    margin-bottom: 5px;
    padding-left: 12px;
}
.p-hebel_03 p.list_text::before {
    content: '';
    position: absolute;
    top: 0.6em;
    left: 0;
    width: 4px;
    height: 4px;
    background-color: #222;
    border-radius: 50%;
}

.p-hebel_04__group01 {
    padding: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group01 {
        padding: 30px 20px;
    }
}
.p-hebel_04__group01 .wrap {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 2px solid #ddd;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group01 .cnt1 {
        margin-bottom: 30px;
        padding-bottom: 30px;
        border-bottom: 2px solid #ddd;
    }
}
.p-hebel_04__group01 .cnt2 {
    width: 520px;
    padding-left: 40px;
    border-left: 2px solid #ddd;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group01 .cnt2 {
        width: 100%;
        padding: 0;
        border: none;
    }
}
.p-hebel_04__group01 .cnt2 .head {
    height: 100px;
    margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group01 .cnt2 .head {
        height: auto;
    }
}
.p-hebel_04__group01 .cnt2 .head .photo {
    float: left;
    margin-right: 20px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group01 .cnt2 .head .photo {
        float: none;
        margin-right: 0;
    }
}
.p-hebel_04__group01 .cnt2 .text {
    clear: both;
    font-size: 1.5rem;
}
.p-hebel_04__group01 .cnt3 .text_box {
    width: 720px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group01 .cnt3 .text_box {
        width: 100%;
    }
}
.p-hebel_04__group01 .cnt3 .text_box .text {
    font-size: 1.5rem;
}

.p-hebel_04__group02 {
    padding: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group02 {
        padding: 30px 20px;
    }
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group02 .cnt1 {
        margin-bottom: 40px;
    }
}
.p-hebel_04__group02 .cnt2 {
    width: 530px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group02 .cnt2 {
        width: 100%;
    }
}
.p-hebel_04__group02 .photo_unit {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 35px;
    padding: 0 25px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group02 .photo_unit {
        width: 100%;
        margin-bottom: 25px;
        padding: 0;
    }
}
.p-hebel_04__group02 .photo_unit p {
    width: 31%;
    text-align: center;
}
.p-hebel_04__group02 .photo_unit span {
    display: block;
    margin-top: 5px;
    font-size: 1.4rem;
    text-align: center;
}
.p-hebel_04__group02 .text {
    font-size: 1.5rem;
}

.p-hebel_04__group03 .text {
    width: 660px;
    margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_04__group03 .text {
        width: 100%;
    }
}

.p-hebel_05__group01 {
    margin-bottom: 50px;
}
.p-hebel_05__group01 .photo_unit {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    width: 490px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group01 .photo_unit {
        width: 100%;
        margin-bottom: 25px;
    }
}
.p-hebel_05__group01 .photo_unit p {
    width: 31%;
}
.p-hebel_05__group01 .photo_unit span {
    display: block;
    margin-top: 5px;
    font-size: 1.4rem;
    text-align: center;
}
.p-hebel_05__group01 .text {
    width: 450px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group01 .text {
        width: 100%;
    }
}

.p-hebel_05__group02 {
    margin-bottom: 40px;
}
.p-hebel_05__group02 .text_box {
    width: 690px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group02 .text_box {
        width: 100%;
    }
}

.p-hebel_05__group03 {
    margin-bottom: 40px;
    padding: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group03 {
        padding: 20px;
    }
}
.p-hebel_05__group03 .col1 {
    width: 500px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group03 .col1 {
        width: 100%;
        margin-bottom: 25px;
    }
}
.p-hebel_05__group03 .col2 {
    width: 360px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group03 .col2 {
        width: 100%;
    }
}
.p-hebel_05__group03 .col2 div:first-child {
    margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group03 .col2 div:first-child {
        margin-bottom: 25px;
    }
}

.p-hebel_05__group04 {
    margin-bottom: 40px;
}
.p-hebel_05__group04 .text {
    width: 690px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group04 .text {
        width: 100%;
        margin-bottom: 25px;
    }
}

.p-hebel_05__group05 .text_box {
    width: 740px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_05__group05 .text_box {
        width: 100%;
        margin-bottom: 25px;
    }
}

.p-hebel_06__group01 .text_box {
    width: 450px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_06__group01 .text_box {
        width: 100%;
        margin-bottom: 35px;
    }
}
.p-hebel_06__group01 .text_box h5 {
    margin-bottom: 5px;
    font-size: 1.6rem;
}
.p-hebel_06__group01 .text_box p {
    margin-bottom: 20px;
    line-height: 1.6;
}

.p-hebel_06__group02 .text {
    width: 790px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_06__group02 .text {
        width: 100%;
        margin-bottom: 35px;
    }
}

.p-hebel_06__group03 .text_box {
    width: 710px;
}
@media only screen and (max-width: 767px) {
    .p-hebel_06__group03 .text_box {
        width: 100%;
        margin-bottom: 35px;
    }
}

.p-products__main_img {
    margin-bottom: 55px;
}
@media only screen and (max-width: 767px) {
    .p-products__main_img {
        margin-bottom: 40px;
    }
}
.p-products__main_img .pc_img {
    display: block;
}
@media only screen and (max-width: 767px) {
    .p-products__main_img .pc_img {
        display: none;
    }
}
.p-products__main_img .sp_img {
    display: none;
}
@media only screen and (max-width: 767px) {
    .p-products__main_img .sp_img {
        display: block;
        width: 100%;
    }
}

.p-products__section {
    margin-bottom: 65px;
}
@media only screen and (max-width: 767px) {
    .p-products__section {
        margin-bottom: 50px;
    }
}

.p-products__section_head {
    margin-bottom: 40px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-products__section_head {
        margin-bottom: 30px;
    }
}
.p-products__section_head02 {
    margin-bottom: 35px;
    font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
    .p-products__section_head02 {
        margin-bottom: 30px;
    }
}

.p-products__spec_icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    list-style: none;
}
@media only screen and (max-width: 767px) {
    .p-products__spec_icon {
        margin-bottom: -15px;
    }
}
.p-products__spec_icon li {
    margin: 0 20px 20px 0;
}
@media only screen and (max-width: 767px) {
    .p-products__spec_icon li {
        width: 31%;
        margin: 0 3.5% 15px 0;
    }
}
@media only screen and (max-width: 767px) {
    .p-products__spec_icon li:nth-child(3n) {
        margin: 0 0 15px 0;
    }
}
.p-products__spec_icon li:nth-child(8n) {
    margin: 0 0 20px 0;
}
@media only screen and (max-width: 767px) {
    .p-products__spec_icon li:nth-child(8n) {
        margin: 0 3.5% 15px 0;
    }
}
@media only screen and (max-width: 767px) {
    .p-products__spec_icon li img {
        width: 100%;
    }
}

.p-products__plane_view {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 20px;
    list-style: none;
}
@media only screen and (max-width: 767px) {
    .p-products__plane_view {
        display: block;
    }
}
.p-products__plane_view li {
    width: 50%;
    margin-bottom: 20px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-products__plane_view li {
        width: 100%;
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 767px) {
    .p-products__plane_view li img {
        width: 85%;
    }
}

.p-products__plan_data {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_data {
        display: block;
    }
}
.p-products__plan_data ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 700px;
    margin-left: 60px;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_data ul {
        display: block;
        width: auto;
        margin-left: 25px;
    }
}
.p-products__plan_data ul li {
    width: 50%;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_data ul li {
        width: 100%;
    }
}

.p-products__plan_qvalue {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    margin-top: 30px;
    color: #d74343;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_qvalue {
        display: block;
    }
}
.p-products__plan_qvalue .value {
    position: relative;
    padding: 0 0 1.5em 2.2em;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_qvalue .value {
        padding: 0 0 1.5em 1.9em;
    }
}
.p-products__plan_qvalue .value .main_text {
    font-size: 2rem;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_qvalue .value .main_text {
        font-size: 1.8rem;
    }
}
.p-products__plan_qvalue .value .sub_text {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 1.4rem;
}
.p-products__plan_qvalue .text {
    margin-left: 15px;
    padding-top: 5px;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_qvalue .text {
        margin: 0;
        padding-top: 10px;
    }
}

.p-products__plan_price {
    margin-bottom: 40px;
    padding: 0 90px;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_price {
        padding: 0;
    }
}
.p-products__plan_price dl {
    padding: 10px 0;
    border-bottom: 1px solid #000;
}
.p-products__plan_price dl dt {
    padding-top: 3px;
    float: left;
    font-size: 1.8rem;
}
.p-products__plan_price dl dd {
    font-size: 2rem;
    text-align: right;
}

.p-products__plan_table {
    margin-bottom: 30px;
    padding: 0 40px;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_table {
        overflow: auto;
        white-space: nowrap;
        padding: 0 0 15px;
    }
}
.p-products__plan_table::-webkit-scrollbar {
    height: 10px;
}
.p-products__plan_table::-webkit-scrollbar-track {
    background-color: #f1f1f1;
}
.p-products__plan_table::-webkit-scrollbar-thumb {
    background-color: #ccc;
}
.p-products__plan_table table {
    width: 100%;
    border: 1px solid #ccc;
    border-collapse: collapse;
}
.p-products__plan_table table td, .p-products__plan_table table th {
    padding: 0.5em 1em;
    border: 1px solid #ccc;
}
.p-products__plan_table table th {
    background-color: #eee;
    text-align: center;
    font-weight: bold;
}
.p-products__plan_table table td:first-child {
    width: 5%;
    text-align: center;
}
.p-products__plan_table table td:nth-child(2) {
    width: 35%;
}
.p-products__plan_table table td:nth-child(3) {
    width: 25%;
    text-align: right;
}
.p-products__plan_table table td:nth-child(4) {
    width: 35%;
}
.p-products__plan_table table .total_price {
    font-weight: bold;
    text-align: right;
}

.p-products__plan_check {
    margin-left: 55px;
}
@media only screen and (max-width: 767px) {
    .p-products__plan_check {
        margin-left: 30px;
    }
}

.p-products__btn_wrap {
    padding-top: 20px;
}

.p-products__label {
    display: inline-block;
    margin-bottom: 30px;
    padding: 0.1em 1em;
    background-color: #89bb24;
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
}
@media only screen and (max-width: 767px) {
    .p-products__label {
        margin-bottom: 20px;
    }
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-products__label {
        padding: 0.3em 1em 0;
    }
}

.p-lineup__read {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-lineup__read {
        margin-bottom: 40px;
    }
}
.p-lineup__read span {
    display: block;
    color: #da2c2c;
}

.p-lineup__list {
    list-style: none;
}
.p-lineup__list li {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-lineup__list li {
        margin-bottom: 30px;
    }
}
.p-lineup__list a {
    position: relative;
    display: block;
}
.p-lineup__list a::before {
    position: absolute;
    opacity: 0;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
@media only screen and (max-width: 767px) {
    .p-lineup__list a::before {
        display: none;
    }
}
.p-lineup__list a:hover::before {
    opacity: 1;
}
.p-lineup__list a.product01::before {
    content: url('/images/lineup/common/img_product01_pc_hover.jpg');
}
.p-lineup__list a.product02::before {
    content: url('/images/lineup/common/img_product02_pc_hover.jpg');
}
.p-lineup__list a.product03::before {
    content: url('/images/lineup/common/img_product03_pc_hover.jpg');
}
.p-lineup__list a.product04::before {
    content: url('/images/lineup/common/img_product04_pc_hover.jpg');
}
.p-lineup__list a.product05::before {
    content: url('/images/lineup/common/img_product05_pc_hover.jpg');
}
.p-lineup__list a .pc_img {
    display: block;
}
@media only screen and (max-width: 767px) {
    .p-lineup__list a .pc_img {
        display: none;
    }
}
.p-lineup__list a .sp_img {
    display: none;
}
@media only screen and (max-width: 767px) {
    .p-lineup__list a .sp_img {
        display: block;
        width: 100%;
    }
}

.p-lineup__btn_wrap {
    margin-bottom: 60px;
    text-align: center;
}
.p-lineup__btn_wrap span {
    display: inline-block;
}
@media only screen and (max-width: 767px) {
    .p-lineup__btn_wrap span {
        width: 100%;
    }
}
.p-lineup__btn_wrap .option_btn {
    display: inline-block;
    padding: 20px 80px;
    font-size: 3rem;
    font-weight: bold;
    -webkit-transition: 0.4s;
            transition: 0.4s;
    background-image: url('/images/common/bg_border_brown_horizontal.png'), url('/images/common/bg_border_brown_horizontal.png'), url('/images/common/bg_border_brown_vertical.png'), url('/images/common/bg_border_brown_vertical.png');
    background-position: top left, left bottom, left top, right top;
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
}
@media only screen and (max-width: 767px) {
    .p-lineup__btn_wrap .option_btn {
        font-size: 2rem;
        width: 100%;
        padding: 15px 0;
        line-height: 1.4;
    }
}
.p-lineup__btn_wrap .option_btn:hover {
    background-color: #ece9e5;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-lineup__btn_wrap .option_btn {
        padding: 24px 80px 16px;
    }
}

.p-zeh__house {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 35px 0;
}
@media only screen and (max-width: 767px) {
    .p-zeh__house {
        display: block;
    }
}
.p-zeh__house .unit {
    width: 215px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-zeh__house .unit {
        width: 75%;
        margin: 0 auto 25px;
    }
}
@media only screen and (max-width: 767px) {
    .p-zeh__house .unit:last-child {
        margin: 0 auto;
    }
}
.p-zeh__house .photo {
    margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
    .p-zeh__house .photo {
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 767px) {
    .p-zeh__house .photo img {
        width: 100%;
    }
}
.p-zeh__house .text span {
    display: block;
}

.p-jfe__feature {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}
@media only screen and (max-width: 767px) {
    .p-jfe__feature {
        display: block;
    }
}
.p-jfe__feature .text_box {
    width: 60%;
}
@media only screen and (max-width: 767px) {
    .p-jfe__feature .text_box {
        width: 100%;
        margin-bottom: 30px;
    }
}
.p-jfe__feature .text_box dl:first-child {
    margin-bottom: 30px;
}
.p-jfe__feature .text_box dl dt {
    margin-bottom: 5px;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .p-jfe__feature .photo img {
        width: 100%;
    }
}

.p-jfe__flow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    list-style: none;
}
@media only screen and (max-width: 767px) {
    .p-jfe__flow {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        margin-bottom: -20px;
    }
}
.p-jfe__flow li {
    width: 180px;
}
@media only screen and (max-width: 767px) {
    .p-jfe__flow li {
        width: 48%;
        margin-bottom: 20px;
    }
}
.p-jfe__flow li .photo {
    margin-bottom: 10px;
}
.p-jfe__flow li .photo img {
    width: 100%;
}
.p-jfe__flow li .text {
    font-weight: bold;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-jfe__flow li .text {
        font-size: 1.4rem;
    }
}
.p-jfe__flow li span {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: 8px;
    background-color: #89bb24;
    border-radius: 50%;
    font-size: 1.4rem;
    color: #fff;
    text-align: center;
    line-height: 1.5em;
}

.p-jfe__three-story {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 35px;
    background-color: #f8f8f8;
}
@media only screen and (max-width: 767px) {
    .p-jfe__three-story {
        display: block;
        padding: 30px 18px;
    }
}
.p-jfe__three-story .text_box {
    width: 580px;
}
@media only screen and (max-width: 767px) {
    .p-jfe__three-story .text_box {
        width: 100%;
        margin-bottom: 25px;
    }
}
.p-jfe__three-story .text_box .title {
    margin-bottom: 30px;
    font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
    .p-jfe__three-story img {
        width: 100%;
    }
}

.p-resin_window section {
    margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window section {
        margin-bottom: 50px;
    }
}

.p-resin_window__read {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__read {
        margin-bottom: 40px;
    }
}
.p-resin_window__read span {
    display: block;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__read span {
        margin-bottom: 1em;
    }
}

.p-resin_window__title {
    margin-bottom: 40px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__title {
        margin-bottom: 30px;
    }
}

.p-resin_window__figure {
    margin-bottom: 30px;
    padding: 30px 0 40px;
    background-color: #f6f6f6;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__figure {
        padding: 20px 0 30px;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window__figure img {
        width: 92% !important;
    }
}

.p-resin_window__foot_cnt {
    margin-bottom: 60px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__foot_cnt {
        margin-bottom: 40px;
    }
}
.p-resin_window__foot_cnt .text_box {
    display: inline-block;
    margin-right: 5px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__foot_cnt .text_box {
        display: block;
        margin: 0 0 20px 0;
    }
}
.p-resin_window__foot_cnt .text_box .main {
    margin-bottom: 8px;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__foot_cnt .text_box .main {
        font-size: 2.4rem;
    }
}
.p-resin_window__foot_cnt .text_box .main span {
    color: #fb4;
}
.p-resin_window__foot_cnt .btn {
    display: inline-block;
    margin-left: 5px;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__foot_cnt .btn {
        display: block;
        margin: 0;
    }
}
.p-resin_window__foot_cnt .btn a {
    display: block;
    position: relative;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__foot_cnt .btn a {
        display: inline-block;
    }
}
.p-resin_window__foot_cnt .btn a:hover .over_img {
    opacity: 1;
}
.p-resin_window__foot_cnt .btn .over_img {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: 0.4s;
            transition: 0.4s;
}
@media only screen and (max-width: 767px) {
    .p-resin_window__foot_cnt .btn .over_img {
        display: none;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window__foot_cnt .btn img {
        max-width: 280px;
        width: 100%;
        height: auto;
    }
}

.p-resin_window .rw_sec02 .col1 {
    width: 170px;
    padding-top: 25px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec02 .col1 {
        width: 100%;
        margin-bottom: 30px;
        padding: 0;
        text-align: center;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec02 .col1 img {
        max-width: 300px;
        width: 50%;
    }
}

.p-resin_window .rw_sec02 .col2 {
    width: 770px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec02 .col2 {
        width: 100%;
    }
}

.p-resin_window .rw_sec02 p {
    margin-bottom: 1.5em;
}

.p-resin_window .rw_sec02 .performance {
    padding: 25px 30px;
    background-color: #f6f6f6;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec02 .performance {
        padding: 25px 15px 0 15px;
        text-align: center;
    }
}

.p-resin_window .rw_sec02 ol {
    list-style: none;
    margin-top: 1em;
}
.p-resin_window .rw_sec02 ol li {
    display: inline-block;
    position: relative;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec02 ol li {
        display: block;
        margin-bottom: 12px;
        padding-bottom: 25px;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec02 ol li:not(:last-child)::before {
        position: absolute;
        bottom: 0;
        left: 50%;
        content: '';
        display: inline-block;
        width: 30px;
        height: 16px;
        margin-left: -15px;
        background: url(/images/resin-window/icon_arrow_down.png) no-repeat;
        background-size: contain;
    }
}
.p-resin_window .rw_sec02 ol li:not(:last-child)::after {
    margin: 0 15px 0 20px;
    content: '';
    display: inline-block;
    width: 12px;
    height: 24px;
    background: url(/images/resin-window/icon_arrow_right.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec02 ol li:not(:last-child)::after {
        display: none;
    }
}

.p-resin_window .rw_sec04 .col1 {
    width: 300px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec04 .col1 {
        width: 100%;
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec04 .col1 img {
        width: 85%;
    }
}

.p-resin_window .rw_sec04 .col2 {
    width: 630px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec04 .col2 {
        width: 100%;
    }
}

.p-resin_window .rw_sec04 .caption {
    margin-top: 5px;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec04 .caption {
        font-size: 1.4rem;
    }
}
.p-resin_window .rw_sec04 .caption span {
    display: inline-block;
    margin-left: 3px;
    padding: 0 2px;
    font-size: 2rem;
    line-height: 1.2;
    box-shadow: 0 -10px 0 -2px rgba(255, 144, 0, 0.5) inset;
}

.p-resin_window .rw_sec04 p {
    margin-bottom: 1.5em;
}

.p-resin_window .rw_sec05 .influence_wrap {
    text-align: center;
}

.p-resin_window .rw_sec05 .influence_figure {
    margin-left: -50px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec05 .influence_figure {
        margin-left: 0;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec05 .influence_figure img {
        width: 100%;
    }
}

.p-resin_window .rw_sec05 .influence_arrow {
    margin: 25px auto;
    padding-left: 100px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec05 .influence_arrow {
        padding-left: 0;
    }
}

.p-resin_window .rw_sec06 .col1 {
    width: 245px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec06 .col1 {
        width: 100%;
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec06 .col1 img {
        width: 75%;
    }
}

.p-resin_window .rw_sec06 .col2 {
    width: 695px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec06 .col2 {
        width: 100%;
    }
}

.p-resin_window .rw_sec06 p {
    margin-bottom: 1.5em;
}

.p-resin_window .rw_sec06 .point_text {
    font-weight: bold;
    color: #89bb24;
}

.p-resin_window .rw_sec07 .comfortabl_figure {
    margin-bottom: 30px;
}

.p-resin_window .rw_sec07 .pc_img {
    display: inline-block;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec07 .pc_img {
        display: none;
    }
}

.p-resin_window .rw_sec07 .sp_img {
    display: none;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec07 .sp_img {
        display: inline-block;
        width: 100%;
    }
}

.p-resin_window .rw_sec08 .col1 {
    width: 170px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec08 .col1 {
        width: 100%;
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec08 .col1 img {
        width: 50%;
    }
}

.p-resin_window .rw_sec08 .col2 {
    width: 770px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec08 .col2 {
        width: 100%;
    }
}

.p-resin_window .rw_sec08 p {
    margin-bottom: 1.5em;
}

.p-resin_window .rw_sec09 .col1 {
    width: 225px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec09 .col1 {
        width: 100%;
        margin-bottom: 30px;
    }
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec09 .col1 img {
        width: 70%;
    }
}

.p-resin_window .rw_sec09 .col2 {
    width: 715px;
}
@media only screen and (max-width: 767px) {
    .p-resin_window .rw_sec09 .col2 {
        width: 100%;
    }
}

.p-resin_window .rw_sec09 .sub_text {
    margin-top: 20px;
    padding: 1em;
    background-color: #f6f6f6;
    border-radius: 5px;
}

.p-10years__house {
    margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
    .p-10years__house {
        margin-bottom: 40px;
    }
}
.p-10years__house .title {
    margin-bottom: 50px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-10years__house .title {
        margin-bottom: 30px;
    }
}
.p-10years__house .inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    .p-10years__house .inner {
        display: none;
    }
}
.p-10years__house .unit {
    width: 200px;
    margin-bottom: 30px;
}
.p-10years__house .unit:first-child {
    width: 460px;
}
.p-10years__house .unit p {
    margin-top: 0.8em;
    text-align: center;
}
.p-10years__house .text {
    margin-bottom: 2em;
}

.p-10years__activities {
    margin-bottom: 60px;
    padding: 50px 60px;
}
@media only screen and (max-width: 767px) {
    .p-10years__activities {
        margin-bottom: 40px;
        padding: 20px 18px;
    }
}
.p-10years__activities .title {
    margin-bottom: 50px;
    font-size: 2rem;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-10years__activities .title {
        margin-bottom: 30px;
        font-size: 1.7rem;
    }
}
.p-10years__activities .title span {
    display: inline-block;
    padding-bottom: 8px;
    background: url('/images/common/bg_border_green_horizontal.png') repeat-x left bottom;
    text-align: left;
}
@media only screen and (max-width: 767px) {
    .p-10years__activities .title span {
        padding-bottom: 15px;
    }
}
.p-10years__activities .row_unit {
    display: table;
    width: 860px;
}
@media only screen and (max-width: 767px) {
    .p-10years__activities .row_unit {
        width: 100%;
    }
}
.p-10years__activities .row_unit:not(:last-child) {
    margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
    .p-10years__activities .row_unit:not(:last-child) {
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid #d2d2d2;
    }
}
.p-10years__activities .row_unit .col1 {
    display: table-cell;
    width: 260px;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .p-10years__activities .row_unit .col1 {
        width: 35%;
    }
}
@media only screen and (max-width: 767px) {
    .p-10years__activities .row_unit .col1 img {
        width: 100%;
    }
}
.p-10years__activities .row_unit .col2 {
    display: table-cell;
    width: 600px;
    padding-top: 30px;
    border-bottom: 1px solid #d2d2d2;
}
@media only screen and (max-width: 767px) {
    .p-10years__activities .row_unit .col2 {
        width: 65%;
        padding: 0 0 0 20px;
        border: none;
    }
}
.p-10years__activities .unit_text dt {
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
    padding-bottom: 0.8em;
    font-size: 1.7rem;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .p-10years__activities .unit_text dt {
        font-size: 1.5rem;
    }
}
.p-10years__activities .unit_text dt::before {
    content: '';
    position: absolute;
    top: 100%;
    width: 45px;
    border-bottom: 2px solid #89bb24;
}

.p-passive__sec01 {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-passive__sec01 {
        margin-bottom: 40pv;
    }
}
.p-passive__sec01 .title {
    margin-bottom: 50px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-passive__sec01 .title {
        margin-bottom: 30px;
    }
}
.p-passive__sec01 .text {
    margin-bottom: 2em;
}

.p-passive__possible {
    margin-top: 50px;
    padding: 35px 0;
}
@media only screen and (max-width: 767px) {
    .p-passive__possible {
        margin-top: 30px;
        padding: 20px 18px;
    }
}
.p-passive__possible .img_title {
    margin-bottom: 20px;
    text-align: center;
}
.p-passive__possible .img_title .pc {
    display: inline-block;
}
@media only screen and (max-width: 767px) {
    .p-passive__possible .img_title .pc {
        display: none;
    }
}
.p-passive__possible .img_title .sp {
    display: none;
}
@media only screen and (max-width: 767px) {
    .p-passive__possible .img_title .sp {
        display: inline-block;
        width: 90%;
    }
}
.p-passive__possible .season_box {
    width: 660px;
    background-color: #fff;
    margin: 0 auto;
    padding: 20px 0 20px 30px;
    line-height: 2;
}
@media only screen and (max-width: 767px) {
    .p-passive__possible .season_box {
        width: 100%;
        padding: 13px 15px 10px;
        line-height: 1.7;
    }
}
.p-passive__possible .season_box dt {
    display: inline-block;
    width: 20%;
    font-weight: bold;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-passive__possible .season_box dt {
        display: block;
        width: 100%;
        font-size: 2rem;
    }
}
.p-passive__possible .season_box dt .spring {
    color: #ce7171;
}
.p-passive__possible .season_box dt .summer {
    color: #57dadc;
}
.p-passive__possible .season_box dt .autumn {
    color: #dca23e;
}
.p-passive__possible .season_box dt .winter {
    color: #3050b5;
}
.p-passive__possible .season_box dd {
    display: inline-block;
}
@media only screen and (max-width: 767px) {
    .p-passive__possible .season_box dd {
        display: block;
        text-align: center;
        margin-bottom: 1em;
    }
}

.p-passive__sec02 {
    margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
    .p-passive__sec02 {
        margin-bottom: 40px;
    }
}
.p-passive__sec02 .title {
    margin-bottom: 40px;
    font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
    .p-passive__sec02 .title {
        margin-bottom: 30px;
    }
}
.p-passive__sec02 .figure {
    text-align: center;
}
.p-passive__sec02 .figure img {
    border: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
    .p-passive__sec02 .figure img {
        width: 100%;
    }
}

.p-media {
    margin-bottom: 20px;
}
.p-media__unit {
    width: 25%;
    text-align: center;
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-media__unit {
        width: 50%;
        margin-bottom: 30px;
    }
}
.p-media__image {
    display: inline-block;
    width: 65%;
    margin-bottom: 15px;
}
.p-media__image img {
    width: 100%;
    height: auto;
}
.p-media__title {
    position: relative;
    margin-bottom: 10px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
}
@media only screen and (max-width: 767px) {
    .p-media__title {
        font-size: 1.4rem;
    }
}
.p-media__title::before {
    content: '■';
    margin-right: 5px;
    font-size: 1.3rem;
    color: #89bb24;
}
.p-media__text {
    margin-bottom: 5px;
    font-size: 1.4rem;
    line-height: 1.5;
}
.p-media__pdf a {
    display: inline-block;
    position: relative;
    padding-left: 1.4em;
}
@media only screen and (max-width: 767px) {
    .p-media__pdf a {
        font-size: 1.3rem;
        letter-spacing: 0;
    }
}
.p-media__pdf a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 10px;
    width: 6px;
    height: 6px;
    margin-top: -6px;
    border: 6px solid transparent;
    border-left: 6px solid #fb4;
}
.p-media__pdf a:hover {
    text-decoration: underline;
}
.p-media__other_text {
    margin-bottom: 60px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-media__other_text {
        margin: -10px 0 30px;
    }
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-media__pdf a::before {
        margin-top: -9px;
    }
}

.p-company__read {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-company__read {
        margin-bottom: 40px;
    }
}

.p-company__section {
    margin-bottom: 60px;
}
.p-company__section .inner {
    padding: 0 90px;
}
@media only screen and (max-width: 767px) {
    .p-company__section .inner {
        padding: 0;
    }
}

.p-company__title {
    margin-bottom: 50px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-company__title {
        margin-bottom: 30px;
    }
}

.p-company__outline .row {
    display: table;
    width: 100%;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
    .p-company__outline .row {
        display: block;
        padding: 15px 0;
    }
}
.p-company__outline .row:first-child {
    padding-top: 0;
}

.p-company__outline .th {
    display: table-cell;
    width: 25%;
    font-size: 1.5rem;
    font-weight: bold;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .p-company__outline .th {
        display: block;
        width: 100%;
    }
}

.p-company__outline .td {
    display: table-cell;
    width: 75%;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .p-company__outline .td {
        display: block;
        width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .p-company__accessmap iframe {
        width: 100%;
        height: 300px;
    }
}

.p-company__accessmap .show_map {
    margin: 5px 0 15px;
    font-size: 1.4rem;
    text-align: right;
}
.p-company__accessmap .show_map a {
    text-decoration: underline;
}

.p-company__accessmap .text {
    margin-bottom: 20px;
}

.p-company__accessmap .text-mark {
    position: relative;
    padding-left: 15px;
}
.p-company__accessmap .text-mark::before {
    content: '';
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 5px;
    height: 5px;
    background-color: #89bb24;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-company__accessmap .text-mark::before {
        top: 0.5em;
    }
}

.p-contact {
    margin-bottom: 50px;
}
.p-contact__title {
    margin-bottom: 50px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-contact__title {
        margin-bottom: 30px;
    }
}
.p-contact__read {
    margin-bottom: 40px;
}

.p-form {
    margin-bottom: 50px;
}
.p-form__row {
    display: table;
    width: 100%;
    padding: 15px 0;
    border-bottom: 1px solid #e3e3e3;
}
.p-form__row:first-child {
    border-top: 1px solid #e3e3e3;
}
.p-form__th {
    display: table-cell;
    width: 30%;
    padding-left: 60px;
    font-weight: bold;
    vertical-align: middle;
}
@media only screen and (max-width: 767px) {
    .p-form__th {
        display: block;
        width: 100%;
        padding: 0 0 5px 0;
    }
}
.p-form__th .sub_text {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
}
@media only screen and (max-width: 767px) {
    .p-form__th .sub_text {
        display: inline-block;
    }
}
.p-form__td {
    display: table-cell;
    width: 70%;
    padding-left: 40px;
}
@media only screen and (max-width: 767px) {
    .p-form__td {
        display: block;
        width: 100%;
        padding: 0;
    }
}
.p-form__td input, .p-form__td textarea, .p-form__td label {
    color: #222;
    font-size: 1.5rem;
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.p-form__td input[type=radio] {
    vertical-align: middle;
}
@media only screen and (max-width: 767px) {
    .p-form__td input[type=radio] {
        position: relative;
        -webkit-appearance: button;
           -moz-appearance: button;
                appearance: button;
        box-sizing: border-box;
        width: 19px;
        height: 19px;
        content: '';
        background-color: #fff;
        border: 1px solid #999;
        border-radius: 19px;
        box-shadow: inset 4px 4px 10px rgba(0, 0, 0, 0.2);
        cursor: pointer;
    }
}
@media only screen and (max-width: 767px) {
    .p-form__td input[type='radio']:checked:after {
        display: block;
        position: absolute;
        top: 4px;
        left: 4px;
        content: '';
        width: 9px;
        height: 9px;
        background: #89bb24;
        border-radius: 9px;
    }
}
.p-form__td input[type=text], .p-form__td input[type=email] {
    width: 80%;
}
@media only screen and (max-width: 767px) {
    .p-form__td input[type=text], .p-form__td input[type=email] {
        width: 100%;
    }
}
.p-form__td input[type=text], .p-form__td input[type=email], .p-form__td textarea {
    border-radius: 3px;
    border-style: solid;
    border-width: 1px;
    border-color: #ccc;
    box-sizing: border-box;
    background-color: #fff;
    padding: 0.5rem 0.85rem;
}
.p-form__td input[type=text]:focus, .p-form__td input[type=email]:focus, .p-form__td textarea:focus {
    border-color: #66afe9;
    box-shadow: 0 0 3px #a5cdec inset;
    outline: 0;
}
.p-form__td textarea {
    width: 80%;
    height: 130px;
}
@media only screen and (max-width: 767px) {
    .p-form__td textarea {
        width: 100%;
    }
}
.p-form__td label {
    margin-right: 25px;
}
@media only screen and (max-width: 767px) {
    .p-form__td label {
        display: inline-block;
        width: 43%;
        margin: 0 0 10px 0;
    }
}
.p-form__td label span {
    margin-left: 0.5em;
    vertical-align: middle;
}
@media only screen and (max-width: 767px) {
    .p-form__td label:nth-child(2n) {
        width: 54%;
    }
}
.p-form__td select.city_name {
    cursor: pointer;
    outline: none;
    position: relative;
       -moz-appearance: menulist;
    -webkit-appearance: menulist;
            appearance: menulist;
    display: block;
    width: 220px;
    height: 2.8em;
    padding-left: 0.5em;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: transparent;
    font-size: 1.5rem;
}
.p-form__td select.city_name::-ms-expand {
    display: block;
}
.p-form__td input.parsley-error, .p-form__td select.parsley-error, .p-form__td textarea.parsley-error {
    background-color: #ffeaea;
}
.p-form__foot {
    padding-top: 50px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .p-form__foot {
        padding: 40px 0;
    }
}
.p-form__foot p {
    margin-bottom: 30px;
}
.p-form__foot button {
    outline: none;
}
.p-form__btn {
    display: inline-block;
    width: 200px;
    margin: 0 15px;
}
@media only screen and (max-width: 767px) {
    .p-form__btn {
        width: 45%;
        margin: 0 3px;
    }
}
.p-form__finish {
    padding: 30px 15px 100px;
}
@media only screen and (max-width: 767px) {
    .p-form__finish {
        padding: 0 0 50px 0;
    }
}
.p-form__finish .title {
    margin-bottom: 30px;
    font-size: 2rem;
    text-align: center;
}
.p-form__finish .text {
    text-align: center;
}

.parsley-errors-list {
    width: 80%;
    margin: 0;
    padding: 0.2em 0 0 0;
    list-style: none;
}

.parsley-errors-list li {
    display: inline-block;
    font-size: 1.4rem;
    color: #e21f19;
}

.p-sitemap__title {
    margin-bottom: 30px;
    font-size: 2rem;
}

.p-sitemap__list_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 20px 0 40px;
}
@media only screen and (max-width: 767px) {
    .p-sitemap__list_wrap {
        display: block;
    }
}

.p-sitemap__list {
    width: 50%;
    padding-left: 40px;
    list-style: none;
}
@media only screen and (max-width: 767px) {
    .p-sitemap__list {
        width: 100%;
        padding-left: 16px;
    }
}
.p-sitemap__list li {
    margin-bottom: 1.3em;
}

.p-sitemap__list_child {
    padding: 0.7em 0 0.5em 40px;
    list-style: none;
}
@media only screen and (max-width: 767px) {
    .p-sitemap__list_child {
        padding: 0.7em 0 0.5em 20px;
    }
}
.p-sitemap__list_child li {
    position: relative;
    margin-bottom: 1em;
    padding-left: 1em;
    line-height: 1.1;
}
.p-sitemap__list_child li::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 4px;
    height: 4px;
    background-color: #111;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
}

.p-sitemap a {
    text-decoration: underline;
}
.p-sitemap a:hover {
    text-decoration: none;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-sitemap__list_child li::before {
        top: 5px;
    }
}

.p-privacy__title {
    margin-bottom: 50px;
    font-size: 2rem;
}
@media only screen and (max-width: 767px) {
    .p-privacy__title {
        margin-bottom: 30px;
    }
}

.p-privacy__block {
    margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
    .p-privacy__block {
        margin-bottom: 40px;
    }
}
.p-privacy__block h4 {
    position: relative;
    margin: 0 0 1.3em 1.3em;
    padding-left: 0.8em;
    line-height: 1.2;
    font-size: 1.8rem;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .p-privacy__block h4 {
        margin: 0 0 1em 0;
        font-size: 1.7rem;
    }
}
.p-privacy__block h4::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 4px;
    height: 4px;
    background-color: #111;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
}
.p-privacy__block .text_box {
    padding: 0 90px;
}
@media only screen and (max-width: 767px) {
    .p-privacy__block .text_box {
        padding: 0 0 0 15px;
    }
}
.p-privacy__block ul {
    list-style: none;
    padding: 0.3em;
}
.p-privacy__block ul li {
    position: relative;
    padding-left: 0.8em;
    line-height: 1.5;
}
.p-privacy__block ul li::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 4px;
    height: 4px;
    background-color: #111;
    border-radius: 50%;
    font-family: Arial, Helvetica, sans-serif;
}
.p-privacy__block .privacy_contact {
    display: table;
    width: 430px;
}
@media only screen and (max-width: 767px) {
    .p-privacy__block .privacy_contact {
        width: 100%;
    }
}
.p-privacy__block .privacy_contact dt {
    display: table-cell;
    width: 20%;
    padding-right: 1em;
    vertical-align: middle;
}
.p-privacy__block .privacy_contact dd {
    display: table-cell;
    width: 80%;
    padding: 0.3em 0 0.3em 1.5em;
    border-left: 1px solid #ccc;
    vertical-align: middle;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, .p-privacy__block h4::before {
        top: 7px;
    }
}

/* -----------------------------------------------------------------------------
   #Utility
   -------------------------------------------------------------------------- */
.u-container {
    width: 980px;
    margin-right: auto;
    margin-left: auto;
}
@media only screen and (max-width: 767px) {
    .u-container {
        width: 100%;
    }
}

.u-container--flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 980px;
    margin-right: auto;
    margin-left: auto;
}
@media only screen and (max-width: 767px) {
    .u-container--flex {
        width: 100%;
    }
}

.u-container--flex_full {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.u-container--flex--bt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 980px;
    margin-right: auto;
    margin-left: auto;
}
@media only screen and (max-width: 767px) {
    .u-container--flex--bt {
        display: block;
        width: 100%;
    }
}

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

.u-wrap--flex--bt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
    .u-wrap--flex--bt {
        display: block;
        width: 100%;
    }
}

.u-wrap--flex--bt-re {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: row-reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
}
@media only screen and (max-width: 767px) {
    .u-wrap--flex--bt-re {
        display: block;
        width: 100%;
    }
}

.u-bg--txu_green {
    background-image: url('../images/common/bg_txu_green.png');
    background-repeat: repeat;
}

.u-bg--txu_white {
    background-image: url('../images/common/bg_txu_white.png');
    background-repeat: repeat;
}

.u-br--visible {
    display: inline;
}
@media only screen and (max-width: 767px) {
    .u-br--visible {
        display: none;
    }
}

.u-br--invisible {
    display: none;
}
@media only screen and (max-width: 767px) {
    .u-br--invisible {
        display: inline;
    }
}

.u-tc--attention {
    color: #da2c2c;
}

.u-m--auto {
    margin: auto;
}

.u-m--none {
    margin: 0;
}

.u-mb--10 {
    margin-bottom: 10px;
}

.u-mb--15 {
    margin-bottom: 15px;
}

.u-mb--20 {
    margin-bottom: 20px;
}

.u-mb--25 {
    margin-bottom: 25px;
}

.u-mb--30 {
    margin-bottom: 30px;
}

.u-mb--35 {
    margin-bottom: 35px;
}

.u-mb--40 {
    margin-bottom: 40px;
}

.u-mb--50 {
    margin-bottom: 50px;
}

.u-mb--60 {
    margin-bottom: 60px;
}

.u-mb--70 {
    margin-bottom: 70px;
}

.u-mb--80 {
    margin-bottom: 80px;
}

.u-mb--90 {
    margin-bottom: 90px;
}

.u-disp--toggle .pc_img {
    display: block;
}
@media only screen and (max-width: 767px) {
    .u-disp--toggle .pc_img {
        display: none;
    }
}

.u-disp--toggle .sp_img {
    display: none;
}
@media only screen and (max-width: 767px) {
    .u-disp--toggle .sp_img {
        display: block;
        width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .u-image--liquid {
        display: block;
        width: 100%;
        margin: auto;
    }
}

@media only screen and (max-width: 767px) {
    .u-image--liquid.w50 {
        width: 50%;
    }
}

@media only screen and (max-width: 767px) {
    .u-image--liquid.w60 {
        width: 60%;
    }
}

@media only screen and (max-width: 767px) {
    .u-image--liquid.w70 {
        width: 70%;
    }
}

@media only screen and (max-width: 767px) {
    .u-image--liquid.w80 {
        width: 80%;
    }
}

@media only screen and (max-width: 767px) {
    .u-image--liquid.w90 {
        width: 90%;
    }
}

.u-clearFix {
    *zoom: 1;
}
.u-clearFix:after {
    clear: both;
}
.u-clearFix:before, .u-clearFix:after {
    content: ' ';
    display: table;
}

/* -----------------------------------------------------------------------------
   #State
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   #Library
   -------------------------------------------------------------------------- */
.jspContainer {
    overflow: hidden;
    position: relative;
}

.jspPane {
    position: absolute;
    left: 0 !important;
}

.jspVerticalBar {
    position: absolute;
    top: 0;
    right: 0;
    width: 7px;
    height: 100%;
}

.jspHorizontalBar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
}

.jspTrack {
    background: #eee;
    position: relative;
    border-radius: 2px;
}

.jspDrag {
    background: #ffc560;
    position: relative;
    top: 0;
    left: 0;
    cursor: pointer;
    border-radius: 2px;
}

.jspHorizontalBar .jspTrack, .jspHorizontalBar .jspDrag {
    float: left;
    height: 100%;
}

.iss-slider {
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: inline-block;
    position: relative;
}

.iss-slide {
    position: absolute;
    left: 0;
    display: inline-block;
    list-style-type: none;
    margin: 0;
    padding: 0;
}
