@charset "UTF-8";
/*
Theme Name: NANO Child
Template: nano_tcd065
*/
/* ========================================================================== Foundation ========================================================================== */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. */
html { line-height: 1.15; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/* Sections ========================================================================== */
/** Remove the margin in all browsers (opinionated). */
body { margin: 0; }

/** Add the correct display in IE 9-. */
article, aside, footer, header, nav, section { display: block; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content ========================================================================== */
/** Add the correct display in IE 9-. 1. Add the correct display in IE. */
figcaption, figure, main { /* 1 */ display: block; }

/** Add the correct margin in IE 8. */
figure { margin: 1em 40px; }

/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

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

/** 1. Remove the bottom border in Chrome 57- and Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }

/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */
b, strong { font-weight: inherit; }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font style in Android 4.3-. */
dfn { font-style: italic; }

/** Add the correct background and color in IE 9-. */
mark { background-color: #ff0; color: #000; }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Add the correct display in IE 9-. */
audio, video { display: inline-block; }

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

/** Remove the border on images inside links in IE 10-. */
img { border-style: none; }

/** Hide the overflow in IE. */
svg:not(:root) { overflow: hidden; }

/* Forms ========================================================================== */
/** 1. Change the font styles in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea { font-family: sans-serif; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** 1. Add the correct display in IE 9-. 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

/** Remove the default vertical scrollbar in IE. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */
[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

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

/** Remove the inner padding and cancel buttons in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

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

/* Interactive ========================================================================== */
/* Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. */
details, menu { display: block; }

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

/* Scripting ========================================================================== */
/** Add the correct display in IE 9-. */
canvas { display: inline-block; }

/** Add the correct display in IE. */
template { display: none; }

/* Hidden ========================================================================== */
/** Add the correct display in IE 10-. */
[hidden] { display: none; }

* { box-sizing: border-box; }

body { color: #000; line-height: 1; -webkit-font-smoothing: antialiased; }

a { color: #000; text-decoration: none; transition-property: background-color, color; transition-duration: 0.2s; transition-timing-function: ease; }

img { vertical-align: bottom; }

h1, h2, h3, h4, h5, h6, p, ol, ul { margin-top: 0; }

p { margin-bottom: 0; }

ol, ul { padding-left: 0; }

.admin-bar { padding-top: 32px; }

/* -------------------------------------------------------------------------------- web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策） -------------------------------------------------------------------------------- */
@font-face { font-family: "design_plus"; src: url("assets/fonts/design_plus.eot?v=1.0"); src: url("assets/fonts/design_plus.eot?v=1.0#iefix") format("embedded-opentype"), url("assets/fonts/design_plus.woff?v=1.0") format("woff"), url("assets/fonts/design_plus.ttf?v=1.0") format("truetype"), url("assets/fonts/design_plus.svg?v=1.0#design_plus") format("svg"); font-weight: normal; font-style: normal; }

/* keyframes */
@-webkit-keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }

@-webkit-keyframes fadeOut { from { visibility: visible;
    opacity: 1; }
  to { visibility: hidden;
    opacity: 0; } }

@keyframes fadeOut { from { visibility: visible;
    opacity: 1; }
  to { visibility: hidden;
    opacity: 0; } }

@-webkit-keyframes slideDown { 0% { top: -100%; }
  100% { top: 0; } }

@keyframes slideDown { 0% { top: -100%; }
  100% { top: 0; } }

@-webkit-keyframes slideUp { 0% { bottom: -100%; }
  100% { bottom: 0; } }

@keyframes slideUp { 0% { bottom: -100%; }
  100% { bottom: 0; } }

@-webkit-keyframes fadeInUp { from { opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%); }
  to { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeInUp { from { opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%); }
  to { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes zoom-in { 0% { -webkit-transform: scale(1); transform: scale(1); }
  100% { -webkit-transform: scale(1.2); transform: scale(1.2); } }

@keyframes zoom-in { 0% { -webkit-transform: scale(1); transform: scale(1); }
  100% { -webkit-transform: scale(1.2); transform: scale(1.2); } }

@-webkit-keyframes zoom-out { 0% { -webkit-transform: scale(1.2); transform: scale(1.2); }
  100% { -webkit-transform: scale(1); transform: scale(1); } }

@keyframes zoom-out { 0% { -webkit-transform: scale(1.2); transform: scale(1.2); }
  100% { -webkit-transform: scale(1); transform: scale(1); } }

@media screen and (max-width: 782px) { .admin-bar { padding-top: 46px; } }

/* ========================================================================== Layout ========================================================================== */
.l-header {
  width: 100%;
  /*kaihirose*/
  position: fixed;
  z-index: 99;
}
main.l-main {
  padding-top: 160px !important;
}




.l-contents { border-top: 1px solid #ddd; margin-bottom: 150px; padding-top: 50px; }

.l-contents--grid-rev .l-contents__inner { display: -ms-grid; display: grid; -ms-grid-rows: auto 50px 1fr; -ms-grid-columns: minmax(0, 830px) 4.0678% 300px; grid-template: "main header" auto "main sidebar" 1fr/minmax(0, 830px) 300px; grid-column-gap: 4.0678%; grid-row-gap: 50px; gap: 50px 4.0678%; }

.l-contents--grid-rev .l-contents__inner .l-page-header { -ms-grid-row: 1; -ms-grid-column: 3; grid-area: header; }

.l-contents--grid-rev .l-contents__inner .l-primary { -ms-grid-row: 1; -ms-grid-row-span: 3; -ms-grid-column: 1; grid-area: main; }

.l-contents--grid-rev .l-contents__inner .l-secondary { -ms-grid-row: 3; -ms-grid-column: 3; grid-area: sidebar; }

.l-contents--grid .l-contents__inner { display: -ms-grid; display: grid; -ms-grid-rows: auto 50px 1fr; -ms-grid-columns: 300px 4.0678% minmax(0, 830px); grid-template: "header main" auto "sidebar main" 1fr/300px minmax(0, 830px); grid-column-gap: 4.0678%; grid-row-gap: 50px; gap: 50px 4.0678%; }

.l-contents--grid .l-contents__inner .l-page-header { -ms-grid-row: 1; -ms-grid-column: 1; grid-area: header; }

.l-contents--grid .l-contents__inner .l-primary { -ms-grid-row: 1; -ms-grid-row-span: 3; -ms-grid-column: 3; grid-area: main; }

.l-contents--grid .l-contents__inner .l-secondary { -ms-grid-row: 3; -ms-grid-column: 1; grid-area: sidebar; }

.l-contents--no-border { border-top: 0; padding-top: 0; }

.l-contents--no-border .l-contents__inner { background: #fff; margin-top: -100px; }

@media screen and (max-width: 991px) { .l-contents--grid .l-contents__inner, .l-contents--grid-rev .l-contents__inner { display: block; }
  .l-contents--no-border .l-contents__inner { margin-top: 0; } }

@media screen and (max-width: 767px) { .l-contents { border-top: 0; margin-bottom: 40px; padding-top: 0; } }

.l-footer { position: relative; }


/*kaihirose*/
.l-header--fixed.is-active { -webkit-animation: slideDown 0; animation: slideDown 0; position: fixed; z-index: 99; }
.l-header--fixed.is-active { -webkit-animation: slideDown 1.2s; animation: slideDown 1.2s; position: fixed; z-index: 99; }

.l-header__inner { display: flex; align-items: center; height: 100px; position: relative; }

.l-header__logo { margin-right: 30px; margin-bottom: 0; }

.l-header__logo a { display: flex; align-items: center; line-height: 1; overflow: hidden; word-wrap: break-word; }

.l-header__desc { flex: 1; }

.l-header__form { opacity: 0; visibility: hidden; transition: opacity 0.2s ease; }

.l-header__form.is-active { opacity: 1; visibility: visible; }

.l-header__form-input { background: #f8f8f8; border: 1px solid #ddd; border-radius: 17.5px; box-shadow: none; margin-right: 5px; padding: 0 15px; width: 210px; height: 35px; }

.l-header__search { background: transparent; border: 0; cursor: pointer; font-family: "design_plus"; font-size: 20px; transition: color 0.2s ease; }

.l-header__search:hover { color: #999; }

.l-header__form-close { display: none; }

.l-header__nav-close { display: none; }

@media only screen and (min-width: 1200px) { .l-header__nav { display: block !important; } }

@media only screen and (max-width: 1199px) {
  .l-header {
    border-bottom: 1px solid #ddd; height: 60px; line-height: 60px;
    position: relative;
    /*kaihirose*/
    position: fixed;
    z-index: 99;
  }
  main.l-main {
    padding-top: 60px !important;
  }
  .l-header .l-header__inner { position: static; }
  .l-header__inner { width: 100%; height: 100%; max-width: none; }
  .l-header__logo { height: 100%; margin-right: 0; }
  .l-header__desc { display: none; }
  .l-header__form-input { position: absolute; top: 0; bottom: 0; right: 120px; margin: auto; z-index: 1; }
  .l-header__search { padding: 0; position: absolute; top: 0; right: 60px; z-index: 1; width: 60px; height: 60px; }
  .l-header__search::after { background: #ddd; content: ""; display: inline-block; width: 1px; height: 20px; position: absolute; top: 0; right: 0; bottom: 0; margin: auto; }
  .l-header__nav { background: #f4f4f4; display: none; position: absolute; top: 60px; z-index: 99; width: 100%; }
  .l-header__nav-close { width: 100%; }
  .l-header__nav-close.is-active { display: block; } }

@media only screen and (max-width: 782px) { .admin-bar .l-header--fixed.is-active { top: 46px; } }

@media only screen and (max-width: 767px) { .l-header { border-bottom: 0; }
  .l-header__form { background: #f4f4f4; padding: 20px 20px 0; position: absolute; top: 60px; z-index: 2; width: 100%; margin: 0 -20px; }
  .l-header__form.is-active .l-header__form-input, .l-header__form.is-active .l-header__form-close { display: block; }
  .l-header__form-input { display: none; opacity: 1; background: #fff; border-radius: 0; position: static; width: 100%; height: 46px; margin-bottom: 20px; }
  .l-header__form-close { display: none; margin: 0 -20px; width: calc(100% + 40px); } }

.l-inner { margin-left: auto; margin-right: auto; position: relative; width: 92.1875%; max-width: 1180px; }

@media only screen and (max-width: 991px) { .l-inner { width: 88.88889%; } }

@media only screen and (max-width: 767px) { .l-inner { padding: 0 20px; width: 100%; } }

.l-main { overflow: hidden; position: relative; }

.l-page-header { position: relative; }

@media screen and (max-width: 767px) { .l-page-header { padding-bottom: 49px; } }

@media screen and (max-width: 991px) { .l-primary { margin-bottom: 50px; width: 100%; } }

@media screen and (max-width: 767px) { .l-primary { margin-bottom: 40px; } }

@media screen and (max-width: 991px) { .l-secondary { margin: 0 auto 40px; width: 600px; } }

@media screen and (max-width: 767px) { .l-secondary { margin: 0 auto 30px; padding-top: 40px; position: relative; width: 100%; }
  .l-secondary::before { background: #ddd; content: ""; position: absolute; top: 0; left: -20px; width: calc(100% + 40px); height: 1px; } }

/* ========================================================================== Object ========================================================================== */
/* Component ----------------------------------------------------------------- */
.c-breadcrumb__item { display: inline; }

.c-breadcrumb__item + .c-breadcrumb__item::before { content: "\E910"; font-family: "design_plus"; margin-left: 12px; margin-right: 12px; }

.c-breadcrumb__item--home a::before { content: "\E90C"; font-family: "design_plus"; vertical-align: middle; position: relative; top: -1px; }

.c-breadcrumb__item--home span { display: none; }

@media only screen and (max-width: 767px) { .c-breadcrumb__item + .c-breadcrumb__item::before { margin-left: 5px; margin-right: 5px; vertical-align: -1px; }
  .c-breadcrumb__item--home a::before { vertical-align: -1px; } }

/** コメント */
.c-comment { font-size: 12px; margin-bottom: 50px; }

.c-comment input, .c-comment textarea { border-radius: 0; box-sizing: border-box; }

.c-comment input, .c-comment textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; }

.c-comment__tab { margin-bottom: 25px; display: flex; }

.c-comment__tab-item { text-align: center; display: flex; flex: 1; }

.c-comment__tab-item.is-active + .c-comment__tab-item a { border-left-color: #333; }

.c-comment__tab-item.is-active a, .c-comment__tab-item.is-active p { background: #333; border: 0; color: #fff; position: relative; }

.c-comment__tab-item.is-active a:after, .c-comment__tab-item.is-active p:after { border-color: #333 transparent transparent transparent; border-style: solid; border-width: 10px; margin: auto; position: absolute; right: 0; bottom: -17px; left: 0; content: ""; width: 0; height: 0; }

.c-comment__tab-item a, .c-comment__tab-item p { border: 1px solid #ccc; color: #333; display: block; font-size: 11px; line-height: 180%; padding: 15px; text-decoration: none; width: 100%; }

.c-comment__tab-item a:hover { background: #333; border-color: #333; color: #fff; }

/* コメントの基本部分 */
.c-comment__list { padding-left: 0; }

.c-comment__list-item { border: 1px solid #ccc; color: #777; list-style: none; margin-bottom: 15px; padding: 15px 20px 0; }

/* コメント本文 */
.c-comment__item-body p { line-height: 2.4; margin-bottom: 15px; }

/* コメントの情報部分 */
.c-comment__item-header { margin-bottom: 10px; position: relative; }

.c-comment__item-avatar { float: left; margin-right: 10px; width: 40px; height: 40px; }

.c-comment__item-author { display: block; margin-bottom: 10px; padding-top: 3px; }

.c-comment__item-author a { text-decoration: underline; }

.c-comment__item-date { color: #757676; display: block; font-size: 11px; }

.c-comment__item-act { font-size: 11px; margin-top: 5px; padding-left: 10px; position: absolute; top: 0; right: 0; }

.c-comment__item-act > li { display: inline; border-right: 1px solid #aaa; margin-right: 6px; padding-right: 10px; }

.c-comment__item-act > li:last-child { border-right: 0; margin-right: 0; padding-right: 0; }

/* ページナビ */
.c-comment__pager { margin-bottom: 10px; }

.c-comment__pager a, .c-comment__pager span { display: inline; float: left; margin-right: 10px; }

.c-comment__pager span { text-decoration: underline; }

/* メッセージ、警告文 */
.c-comment__item-note { background: #d6f4f0; border: 1px solid #94ddd4; color: #33a8e5; display: block; font-size: 11px; margin-bottom: 1em; padding: 10px 15px; }

/* トラックバック */
.c-comment__trackback-url { background: #fafafa; font-size: 11px; padding: 10px; box-sizing: border-box; }

.trackback_time { font-size: 11px; color: #757676; margin: 0 0 7px 0px; }

.trackback_title { margin: 2px 0 8px 0; margin: 0 0 10px 0px; line-height: 160%; }

/* コメントフォーム */
.c-comment__form-wrapper { border: 1px solid #ccc; margin: 0 0 20px; padding: 15px; }

.c-comment__cancel { color: #666; font-size: 11px; margin-bottom: 1em; }

.c-comment__cancel a { color: #666; }

.c-comment__cancel a:before { content: "\E910"; font-family: "design_plus"; display: inline-block; }

.c-comment__form-login { color: #666; font-size: 11px; }

.c-comment__form-login a { color: #666; }

.c-comment__input { margin-bottom: 12px; text-align: left; }

.c-comment__input input { border: 1px solid #ccc; color: #777; padding-top: 5px; padding-bottom: 5px; width: 100%; }

.c-comment__input textarea { border: 1px solid #ccc; color: #777; font-size: 11px; overflow: auto; margin-top: 15px; width: 100%; height: 150px; }

.c-comment__label-text { color: #666; display: block; font-size: 11px; margin-bottom: 5px; }

.c-comment__form-submit { background: #aaa; border: 0; color: #fff; cursor: pointer; display: block; font-size: 14px; margin: 15px auto 0; width: 200px; height: 50px; transition: background-color 200ms ease-in-out; }

.c-comment__form-hidden { display: none; }

/* パスワード保護 */
.c-comment__password-protected { background: #3db4b2; border-radius: 5px; color: #fff; margin: 0 38px 30px; padding: 10px 20px; text-align: center; }

.c-comment__password-protected p { font-size: 12px; line-height: 160%; }

@media only screen and (max-width: 767px) { .c-comment__item-act { margin-top: 10px; padding-left: 0; position: static; }
  .c-comment__tab-item a, .c-comment__tab-item p { padding: 5px 10px; }
  .c-comment__tab-item.is-active a, .c-comment__tab-item.is-active p { display: flex; align-items: center; justify-content: center; } }

@-webkit-keyframes loading-circle { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }

@keyframes loading-circle { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }

@-webkit-keyframes loading-square-base { 0% { bottom: 10px;
    opacity: 0; }
  5%, 50% { bottom: 0;
    opacity: 1; }
  55%, 100% { bottom: -10px;
    opacity: 0; } }

@keyframes loading-square-base { 0% { bottom: 10px;
    opacity: 0; }
  5%, 50% { bottom: 0;
    opacity: 1; }
  55%, 100% { bottom: -10px;
    opacity: 0; } }

@-webkit-keyframes loading-dots-fadein { 100% { opacity: 1; } }

@keyframes loading-dots-fadein { 100% { opacity: 1; } }

@-webkit-keyframes loading-dots-first-dot { 100% { -webkit-transform: translate(1em); transform: translate(1em);
    opacity: 1; } }

@keyframes loading-dots-first-dot { 100% { -webkit-transform: translate(1em); transform: translate(1em);
    opacity: 1; } }

@-webkit-keyframes loading-dots-middle-dots { 100% { -webkit-transform: translate(1em); transform: translate(1em); } }

@keyframes loading-dots-middle-dots { 100% { -webkit-transform: translate(1em); transform: translate(1em); } }

@-webkit-keyframes loading-dots-last-dot { 100% { -webkit-transform: translate(2em); transform: translate(2em);
    opacity: 0; } }

@keyframes loading-dots-last-dot { 100% { -webkit-transform: translate(2em); transform: translate(2em);
    opacity: 0; } }

/*#site_wrap { display: none; }*/
#site_loader_overlay { background: #fff; opacity: 1; position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; width: 100vw; height: 100vh; z-index: 99999; }

/* type1 */
.c-load--type1 { width: 48px; height: 48px; font-size: 10px; text-indent: -9999em; position: fixed; top: 0; left: 0; right: 0; bottom: 0; margin: auto; border-radius: 50%; -webkit-animation: loading-circle 1.1s infinite linear; animation: loading-circle 1.1s infinite linear; }

/* type2 */
.c-load--type2 { width: 44px; height: 44px; position: fixed; top: 0; left: 0; bottom: 0; right: 0; margin: auto; }

.c-load--type2::before { position: absolute; bottom: 0; left: 0; display: block; width: 12px; height: 12px; content: ''; -webkit-animation: loading-square-loader 5.4s linear forwards infinite; animation: loading-square-loader 5.4s linear forwards infinite; }

.c-load--type2::after { position: absolute; bottom: 10px; left: 0; display: block; width: 12px; height: 12px; opacity: 0; content: ''; -webkit-animation: loading-square-base 5.4s linear forwards infinite; animation: loading-square-base 5.4s linear forwards infinite; }

/* type3 */
.c-load--type3 { width: 100%; min-width: 160px; font-size: 16px; text-align: center; position: fixed; top: 50%; left: 0; opacity: 0; -webkit-animation: loading-dots-fadein .5s linear forwards; animation: loading-dots-fadein .5s linear forwards; }

#site_loader_animation i { width: 0.5em; height: 0.5em; display: inline-block; vertical-align: middle; background: #e0e0e0; border-radius: 50%; margin: 0 .25em; -webkit-animation: loading-dots-middle-dots .5s linear infinite; animation: loading-dots-middle-dots .5s linear infinite; }

#site_loader_animation i:first-child { -webkit-animation: loading-dots-first-dot .5s linear infinite; animation: loading-dots-first-dot .5s linear infinite; opacity: 0; -webkit-transform: translate(-1em); transform: translate(-1em); }

#site_loader_animation i:last-child { -webkit-animation: loading-dots-last-dot .5s linear infinite; animation: loading-dots-last-dot .5s linear infinite; }

@media only screen and (max-width: 767px) { .c-load--type1 { width: 30px; height: 30px; }
  .c-load--type2::before { width: 8px; height: 8px; }
  .c-load--type2::after { width: 8px; height: 8px; }
  #site_loader_animation i { width: 0.25em; height: 0.25em; margin: 0 0.125em; } }

.c-logo { display: flex; font-weight: 700; }

.c-logo a { text-align: center; }

.c-logo img { vertical-align: middle; }

.c-logo--retina img { width: 50%; }

.c-menu-btn { display: none; position: absolute; top: 0; right: 0; text-align: center; }

.c-menu-btn::before { content: "\F0C9"; font-family: "design_plus"; font-size: 18px; }

@media only screen and (max-width: 1199px) { .c-menu-btn { display: block; } }

.c-meta-box { background: #fafafa; box-sizing: border-box; font-size: 12px; padding: 22px 20px; }

.c-meta-box__item { border-right: 1px solid #ddd; float: left; list-style: none; margin-right: 15px; padding-left: 20px; padding-right: 15px; position: relative; }

.c-meta-box__item:last-child { border-right: none; }

.c-meta-box__item::before { color: #aaa; font-family: "design_plus"; position: absolute; left: 0; }

.c-meta-box__item--author::before { content: "\E90D"; }

.c-meta-box__item--category::before { content: "\E92F"; }

.c-meta-box__item--tag::before { content: "\E935"; }

.c-meta-box__item--comment::before { content: "\E916"; }

@media only screen and (max-width: 767px) { .c-meta-box { background: none; margin-bottom: 10px; padding: 0; }
  .c-meta-box__item { border-right: 0; float: none; margin-bottom: 20px; } }

.c-nav01 { border-collapse: collapse; display: flex; }

.c-nav01__item { border: 1px solid #ddd; font-size: 14px; list-style: none; position: relative; width: 50%; transition: background 0.2s ease; flex: 1; }

.c-nav01__item:only-child { margin-left: 0; }

.c-nav01__item:only-child a { justify-content: center; }

.c-nav01__item a { display: flex; align-items: center; height: 100%; }

.c-nav01__item a:hover { background: #f6f6f6; }

.c-nav01__item--prev::before { content: "\E90F"; font-family: "design_plus"; font-size: 18px; line-height: 100%; margin: auto; position: absolute; top: 0; bottom: 0; left: 25px; width: 18px; height: 18px; }

.c-nav01__item--next { margin-left: -1px; }

.c-nav01__item--next::after { content: "\E910"; font-family: "design_plus"; font-size: 18px; line-height: 100%; margin: auto; position: absolute; top: 0; bottom: 0; right: 25px; width: 18px; height: 18px; }

@media only screen and (max-width: 991px) { .c-nav01__item--prev a::before { content: attr(data-prev); }
  .c-nav01__item--prev a span { display: none; }
  .c-nav01__item--next a::before { content: attr(data-next); }
  .c-nav01__item--next a span { display: none; } }

@media only screen and (max-width: 767px) { .c-nav01__item { text-align: center; font-size: 12px; width: 50%; height: 50px; }
  .c-nav01__item a { display: block; line-height: 48px; padding: 0; width: 100%; height: 48px; }
  .c-nav01__item--prev::before { left: 16px; width: 18px; height: 18px; }
  .c-nav01__item--next::after { right: 16px; width: 18px; height: 18px; } }

.c-pw__desc { line-height: 2.5; }

.c-pw__desc p { line-height: 2.5; margin-bottom: 16px; }

.c-pw__btn { box-sizing: border-box; color: #fff !important; display: inline-block; padding: 13px 20px; font-size: 14px; text-align: center; line-height: 1; }

.c-pw__btn:hover { background: #333; color: #fff; }

.c-pw__btn--register { min-width: 160px; margin-bottom: 32px; }

.c-pw__btn--submit { min-width: 100px; border: 0; border-radius: 0; cursor: pointer; }

.c-pw .c-pw__btn:hover { text-decoration: none; }

.c-pw__box { border: 1px solid #ddd; background: #f5f5f5; padding: 25px 36px; margin-bottom: 40px; box-sizing: border-box; }

.c-pw__box .c-pw__box-desc { line-height: 1.2; margin-bottom: 20px; }

.c-pw__box-inner { display: flex; align-items: center; }

.c-pw__box-label { margin-right: 14px; }

.c-pw__box-input { border: 1px solid #ddd; box-shadow: none; height: 40px; width: 250px; margin-right: 14px; flex: 1; box-sizing: border-box; padding: 0 10px; }

@media only screen and (max-width: 767px) { .c-pw__box { margin: 0 auto 30px; padding: 20px; text-align: center; }
  .c-pw__box-inner { flex-direction: column; }
  .c-pw__box-label { display: block; margin-bottom: 1em; margin-right: 0; font-size: 12px; }
  .c-pw__box-input { display: block; width: 100%; margin-bottom: 1em; margin-right: 0; } }

.c-share__btn { list-style: none; }

.c-share__icn { /* use !important to prevent issues with browser extensions that change fonts */ font-family: "design_plus" !important; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; speak: none; text-transform: none; /* Better Font Rendering */ -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; }

.c-share__icn--facebook::before { content: "\E902"; }

.c-share__icn--facebook2::before { content: "\E903"; }

.c-share__icn--feedly::before { content: "\E907"; }

.c-share__icn--google-plus::before { content: "\E900"; }

.c-share__icn--google-plus2::before { content: "\E901"; }

.c-share__icn--hatebu::before { content: "\E908"; }

.c-share__icn--line::before { content: "\E909"; }

.c-share__icn--pinterest::before { content: "\E905"; }

.c-share__icn--pocket::before { content: "\E90A"; }

.c-share__icn--rss::before { content: "\E90B"; }

.c-share__icn--rss2::before { content: "\E906"; }

.c-share__icn--twitter::before { content: "\E904"; }

.c-share--sm { line-height: 25px; min-width: 27px; }

.c-share--sm .c-share__btn { margin-right: 5px; margin-bottom: 5px; }

.c-share--sm a { padding: 1px 5px 0; }

.c-share--sm .c-share__icn { font-size: 1.3em; position: relative; top: 3px; text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1); }

.c-share--sm .c-share__title { line-height: 20px; margin: 0 3px 0 2px; }

.c-share--lg { display: flex; flex-wrap: wrap; margin-right: -1%; }

@media only screen and (max-width: 767px) { .c-share--lg { margin-right: -3%; } }

.c-share--lg .c-share__btn { margin-right: 1%; margin-bottom: 2px; width: 24%; }

@media only screen and (max-width: 767px) { .c-share--lg .c-share__btn { margin-right: 3%; margin-bottom: 3%; width: 47%; } }

.c-share--lg .c-share__btn:nth-child(4n) { margin-right: 0; }

.c-share--lg .c-share__btn a { padding: 10px 2px; }

.c-share--lg .c-share__icn { font-size: 140%; position: relative; top: 3px; }

.c-share--lg .c-share__title { margin: 0 3px 0 4px; }

.c-share--color a { color: #fff; }

.c-share--color a:hover { -webkit-transform: translate3d(0, 1px, 0); transform: translate3d(0, 1px, 0); }

.c-share--color .c-share__btn--twitter a { background-color: #55acee; }

.c-share--color .c-share__btn--twitter a:hover { background-color: #468ec5; }

.c-share--color .c-share__btn--facebook a { background-color: #35629a; }

.c-share--color .c-share__btn--facebook a:hover { background-color: #1f3669; }

.c-share--color .c-share__btn--google-plus a { background-color: #dd4b39; }

.c-share--color .c-share__btn--google-plus a:hover { background-color: #b94031; }

.c-share--color .c-share__btn--hatebu a { background-color: #3c7dd1; }

.c-share--color .c-share__btn--hatebu a:hover { background-color: #0270ac; }

.c-share--color .c-share__btn--pocket a { background-color: #ee4056; }

.c-share--color .c-share__btn--pocket a:hover { background-color: #c53648; }

.c-share--color .c-share__btn--rss a { background-color: #ffb53c; }

.c-share--color .c-share__btn--rss a:hover { background-color: #e09900; }

.c-share--color .c-share__btn--feedly a { background-color: #6cc655; }

.c-share--color .c-share__btn--feedly a:hover { background-color: #5ca449; }

.c-share--color .c-share__btn--pinterest a { background-color: #d4121c; }

.c-share--color .c-share__btn--pinterest a:hover { background-color: #a42f35; }

.c-share--mono a { background: #fafafa; border: 1px solid rgba(0, 0, 0, 0.1); color: #222; }

.c-share--mono a:hover { border-color: rgba(255, 255, 255, 0.1); color: #fff; }

.c-share--mono .c-share__btn--twitter a:hover { background-color: #55acee; }

.c-share--mono .c-share__btn--facebook a:hover { background-color: #35629a; }

.c-share--mono .c-share__btn--google-plus a:hover { background-color: #dd4b39; }

.c-share--mono .c-share__btn--hatebu a:hover { background-color: #3c7dd1; }

.c-share--mono .c-share__btn--pocket a:hover { background-color: #ee4056; }

.c-share--mono .c-share__btn--rss a:hover { background-color: #ff8c00; }

.c-share--mono .c-share__btn--feedly a:hover { background-color: #6cc655; }

.c-share--mono .c-share__btn--pinterest a:hover { background-color: #d4121c; }

.c-share__btn { box-sizing: border-box; display: inline-block; font-size: 12px; text-align: center; }

.c-share__btn a { border-radius: 2px; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03); display: block; }

@media screen and (max-width: 767px) { .c-share--sm .c-share__icn { left: 1px; }
  .c-share--sm .c-share__title { display: none; } }

.c-share--official { display: inline-block; }

.c-share--official .c-share__btn { float: left; line-height: 1; margin-right: 5px; margin-bottom: 5px; }

.c-share--official .c-share__btn--pocket { width: 88px; }

@media only screen and (max-width: 991px) { .c-share__btn { margin-bottom: 5px; } }

/* Project ----------------------------------------------------------------- */
.p-archive-header { box-shadow: 0 -8px 10px rgba(0, 0, 0, 0.2); padding: 92px 0; text-align: center; position: relative; }

.p-archive-header::before, .p-archive-header::after { background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white 80%); content: ""; position: absolute; top: 100px; width: 10px; height: calc(100% - 100px); }

.p-archive-header::before { left: -10px; }

.p-archive-header::after { right: -10px; }

.p-archive-header--no-shadow { box-shadow: none; }

.p-archive-header__title { line-height: 1.4; margin-bottom: 14px; }

.p-archive-header__desc { line-height: 2; }

@media screen and (max-width: 991px) { .p-archive-header { box-shadow: none; }
  .p-archive-header::before, .p-archive-header::after { display: none; } }

@media screen and (max-width: 767px) { .p-archive-header { padding: 36px 0 33px; }
  .p-archive-header__title { line-height: 1.3; margin-bottom: 7px; } }

.p-article01 { border: 1px solid #ddd; padding: 22px 22px 35px; }

.p-article01__img { overflow: hidden; margin-bottom: 28px; }

.p-article01__title { font-size: 18px; line-height: 1.7; margin-bottom: 20px; min-height: 60px; transition: color 0.2s ease; }

.p-article01__excerpt { font-size: 14px; line-height: 2; margin-bottom: 17px; }

.p-article01__meta { display: flex; align-items: center; }

.p-article01__cat { margin-right: 20px; }

.p-article01__date { color: #999; font-size: 12px; }

@media screen and (max-width: 767px) { .p-article01 { padding: 0 20px 20px; }
  .p-article01 > a { margin: -1px -21px 0; }
  .p-article01__title { min-height: auto; margin-bottom: 7px; }
  .p-article01__excerpt { margin-bottom: 9px; }
  .p-article01__img { margin-bottom: 13px; }
  .p-article01__title { font-size: 16px; padding: 0 20px; } }

.p-article02 a { display: flex; }

.p-article02__img { display: block; margin-right: 20px; overflow: hidden; width: 120px; }

.p-article02__img img { width: 100%; height: auto; }

.p-article02__content { flex: 1; display: flex; flex-direction: column; justify-content: center; }

.p-article02__date { color: #999; font-size: 12px; line-height: 1; margin-top: 6px; }

.p-article02__title { font-size: 14px; font-weight: 400; line-height: 1.7; margin-bottom: 0; transition: color 0.2s ease; }

@media screen and (max-width: 767px) { .p-article02__date { margin-top: 11px; } }

.p-article03__img { margin-bottom: 10px; overflow: hidden; }

.p-article03__title { font-size: 16px; line-height: 1.7; margin-bottom: 21px; transition: color 0.2s ease; }

@media screen and (max-width: 767px) { .p-article03__img { margin-bottom: 9px; }
  .p-article03__title { font-size: 14px; font-weight: 400; margin-bottom: 13px; } }

.p-article04 { background: #f8f8f8; border: 1px solid #ddd; }

.p-article04 a { display: flex; align-items: center; padding: 0 25px; height: 60px; line-height: 60px; }

.p-article04__date { font-size: 14px; margin-right: 14px; }

.p-article04__cat { margin-right: 14px; }

.p-article04__title { font-size: 14px; font-weight: 400; flex: 1; margin-bottom: 0; transition: color 0.2s ease; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media screen and (max-width: 767px) { .p-article04 a { display: block; height: auto; padding: 11px 20px 13px; line-height: inherit; }
  .p-article04__date { font-size: 12px; margin-right: 8px; }
  .p-article04__title { line-height: 1.7; margin-top: 7px; white-space: normal; } }

.p-article05 { position: relative; }

.p-article05 a:hover .p-article05__link { color: #999; }

.p-article05--rev .p-article05__content { left: auto; right: 15px; }

.p-article05__img { -o-object-fit: cover; object-fit: cover; width: 100%; height: 430px; }

.p-article05__content { background: #fff; display: flex; flex-direction: column; justify-content: center; width: 400px; height: 400px; position: absolute; top: 15px; left: 15px; padding: 0 5.08475%; }

.p-article05__title { margin-bottom: 12px; }

.p-article05__sub { margin-bottom: 56px; }

.p-article05__desc { font-weight: 700; line-height: 1.6; margin-bottom: 56px; }

.p-article05__link { font-size: 14px; font-weight: 700; transition: color 0.2s ease; position: relative; }

.p-article05__link::after { content: "\E910"; font-family: "design_plus"; width: 14px; height: 14px; margin-left: 3px; position: absolute; top: 0; bottom: 0; }

@media screen and (max-width: 899px) { .p-article05__img { height: auto; }
  .p-article05__content { border: 1px solid #ddd; border-top: 0; padding: 25px 30px 30px; position: static; width: 100%; height: auto; }
  .p-article05__sub { margin-bottom: 30px; }
  .p-article05__desc { margin-bottom: 25px; }
  .p-article05__desc br { display: none; } }

@media screen and (max-width: 767px) { .p-article05__img { height: 200px; }
  .p-article05__title { margin-bottom: 5px; }
  .p-article05__sub { margin-bottom: 25px; }
  .p-article05__link::after { top: 1px; } }

.p-article06__content { display: flex; flex-direction: column; align-items: flex-start; flex: 1 0 auto; padding: 28px 0 0 9.4086%; }

.p-article06__title { font-size: 18px; line-height: 1.6; margin-bottom: 23px; min-height: 50px; max-width: 100%; }

.p-article06__excerpt { font-size: 14px; line-height: 2; margin-bottom: 17px; max-width: 100%; }

.p-article06__cat { background: #000; border-radius: 15px; color: #fff; display: inline-block; font-size: 12px; min-width: 100px; height: 30px; line-height: 30px; padding: 0 20px; text-align: center; }

@media screen and (max-width: 767px) { .p-article06__img { margin-bottom: 11px; }
  .p-article06__title { font-size: 16px; margin-bottom: 11px; min-height: auto; }
  .p-article06__excerpt { display: none; }
  .p-article06__content { border-left: 0 !important; padding: 0; } }

.p-article07__img { overflow: hidden; margin-bottom: 13px; }

.p-article07__title { font-size: 18px; line-height: 1.6; margin-bottom: 0; transition: color 0.2s ease; }

@media screen and (max-width: 767px) { .p-article07__title { font-size: 16px; } }

.p-article08__img { margin-bottom: 10px; }

.p-article08__title { font-size: 16px; line-height: 1.7; margin-bottom: 0; }

@media screen and (max-width: 767px) { .p-article08__img { margin-bottom: 8px; }
  .p-article08__title { font-size: 14px; } }

.p-article09 { margin-top: -1px; }

.p-article09 a { display: flex; }

.p-article09 a:hover .p-article09__link { color: #999; }

.p-article09--rev a { flex-direction: row-reverse; }

.p-article09--rev .p-article09__content { border-right: 1px solid #ddd; border-left: 0; }

.p-article09__content { border: 1px solid #ddd; border-right: 0; padding: 50px 5.08475%; width: 50%; }

.p-article09__title { font-size: 32px; margin-bottom: 12px; }

.p-article09__sub { font-size: 16px; margin-bottom: 56px; }

.p-article09__desc { font-size: 20px; font-weight: 700; line-height: 1.6; margin-bottom: 56px; }

.p-article09__link { font-size: 14px; font-weight: 700; transition: color 0.2s ease; position: relative; }

.p-article09__link::after { content: "\E910"; font-family: "design_plus"; width: 14px; height: 14px; margin-left: 3px; position: absolute; top: 0; bottom: 0; }

.p-article09__img { overflow: hidden; width: 50%; }

@media screen and (max-width: 1049px) { .p-article09__content { display: flex; flex-direction: column; justify-content: center; padding: 0 5.08475%; } }

@media screen and (max-width: 991px) { .p-article09__title { font-size: 24px; margin-bottom: 8px; }
  .p-article09__sub { margin-bottom: 25px; }
  .p-article09__desc { font-size: 16px; margin-bottom: 25px; } }

@media screen and (max-width: 768px) { .p-article09 { margin-top: 0; }
  .p-article09 a { display: block; }
  .p-article09--rev .p-article09__content { border-left: 1px solid #ddd; }
  .p-article09__content { border-right: 1px solid #ddd; border-bottom: 0; padding: 30px; width: 100%; }
  .p-article09__img { width: 100%; } }

.p-article10 a { border: 1px solid #ddd; overflow: visible; }

.p-article10__img { margin: -1px; overflow: hidden; }

.p-article10__content { padding: 43px 10.12658% 42px; }

.p-article10__title { font-size: 20px; line-height: 1.7; margin-bottom: 4px; transition: color 0.2s ease; }

.p-article10__desc { font-size: 16px; line-height: 2; }

@media screen and (max-width: 767px) { .p-article10__content { padding: 24px 30px 25px; }
  .p-article10__title { font-size: 18px; margin-bottom: 7px; }
  .p-article10__desc { line-height: 1.6; } }

.p-article11 { position: relative; }

.p-article11 a:hover .p-article11__title, .p-article11 a:hover .p-article11__sub { padding-left: 14px; }

.p-article11__content { display: flex; flex-direction: column; justify-content: center; width: 100%; height: 100%; padding: 0 48px; position: absolute; top: 0; z-index: 1; }

.p-article11__title { font-size: 36px; margin-bottom: 7px; transition: padding-left 0.2s ease; }

.p-article11__sub { font-size: 14px; font-weight: 700; transition: padding-left 0.2s ease; }

@media screen and (max-width: 767px) { .p-article11__content { padding: 0 30px; }
  .p-article11__title { font-size: 28px; }
  .p-article11__sub { font-size: 14px; } }

.p-article12 { background: #fff; overflow: hidden; }

.p-article12:first-child .p-article12__img { border-left: 1px solid #ddd; }

.p-article12:last-child .p-article12__img { border-right: 1px solid #ddd; }

.p-article12 a { display: block; position: relative; height: 100%; }

.p-article12 a:hover .p-article12__title, .p-article12 a:hover .p-article12__sub { color: #fff; }

.p-article12 a:hover .p-article12__desc { opacity: 1; }

.p-article12 a:hover .p-article12__img { -webkit-transform: translateY(0); transform: translateY(0); }

.p-article12 a:hover .p-article12__img::before { opacity: 1; }

.p-article12__header { border: 1px solid #ddd; border-bottom: 0; display: flex; flex-direction: column; justify-content: center; text-align: center; width: 100%; height: 140px; position: absolute; top: 0; z-index: 1; }

.p-article12__title { transition: color 0.2s ease; margin-bottom: 10px; }

.p-article12__sub { transition: color 0.2s ease; }

.p-article12__desc { color: #fff; line-height: 1.8; padding: 0 12.71186%; opacity: 0; transition: opacity 0.2s ease; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 1; }

.p-article12__img { width: 100%; height: 100%; transition: opacity 0.2s ease, -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: opacity 0.2s ease, transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: opacity 0.2s ease, transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); -webkit-transform: translateY(140px); transform: translateY(140px); }

.p-article12__img::before { content: ""; opacity: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }

.p-article12__img img { -o-object-fit: cover; object-fit: cover; width: 100%; height: 100%; }

@media screen and (max-width: 991px) { .p-article12 a:hover .p-article12__title, .p-article12 a:hover .p-article12__sub { color: inherit; }
  .p-article12 a:hover .p-article12__img { -webkit-transform: translateY(140px); transform: translateY(140px); }
  .p-article12 a:hover .p-article12__img::before { opacity: 0; }
  .p-article12__desc { display: none; } }

@media screen and (max-width: 767px) { .p-article12 a:hover .p-article12__img { -webkit-transform: translateY(83px); transform: translateY(83px); }
  .p-article12__header { height: 83px; }
  .p-article12__title { margin-bottom: 5px; }
  .p-article12__sub { font-size: 14px; }
  .p-article12__img { -webkit-transform: translateY(83px); transform: translateY(83px); } }

.p-article13 a { display: flex; flex-direction: column; padding: 8px; height: 100%; }

.p-article13__img { opacity: 0; overflow: hidden; transition: opacity 0.25s ease-out, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: opacity 0.25s ease-out, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: opacity 0.25s ease-out, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); -webkit-transform: translateX(100%); transform: translateX(100%); }

.p-article13__img img { -o-object-fit: cover; object-fit: cover; width: 100%; height: 300px; }

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { .p-article13__img { position: relative; width: 100%; height: 300px; }
  .p-article13__img img { width: auto; height: auto; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } }

.p-article13__content { flex: 1; text-align: center; display: flex; flex-direction: column; justify-content: center; }

.p-article13__title { font-size: 24px; margin-bottom: 12px; transition: color 0.2s ease; }

.p-article13__sub { font-size: 14px; }

.p-banner { position: relative; }

.p-banner a:hover p { padding-left: 14px; }

.p-banner p { transition: padding-left 0.2s ease; }

.p-banner img { width: 100%; height: auto; }

.p-banner--lg .p-banner__content { font-size: 16px; }

.p-banner__content { color: #fff; font-size: 14px; font-weight: 700; line-height: 1.5; padding: 0 30px; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; position: absolute; top: 0; left: 0; z-index: 1; }

.p-banner__title { font-size: 30px; line-height: 1; margin: 1px 0 3px; }

.p-banners-list__item { list-style-type: none; margin-bottom: 14px; }

.p-blog { margin-bottom: 50px; margin-right: -2px; }

.p-blog__title { line-height: 1.7; margin-bottom: 0; padding: 36px 0 31px; text-align: center; }

.p-blog__list { display: flex; flex-wrap: wrap; margin-right: -1px; }

.p-blog__list-item { opacity: 0; width: 50%; margin-top: -1px; transition-duration: 0.6s; }

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .p-blog__list-item { opacity: 1; }
}

.p-blog__list-item:nth-child(even) { margin-left: -1px; transition-delay: 0.15s; }

.p-blog__list-item.aos-animate { opacity: 1; }

@media screen and (max-width: 991px) { .p-blog__title { border-top: 0 !important; } }

@media screen and (max-width: 767px) { .p-blog { margin-bottom: 10px; }
  .p-blog__title { padding: 22px 0; }
  .p-blog__list-item { width: 100%; margin: 0 0 18px; }
  .p-blog__list-item:nth-child(even) { margin-left: 0; transition-delay: 0; } }

.p-breadcrumb { height: 98px; line-height: 98px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-bottom: 0; }

.p-breadcrumb__item { font-size: 14px; }

.p-breadcrumb__item + .p-breadcrumb__item::before { color: #000 !important; font-size: 10px; }

.p-breadcrumb__item a { color: #000; }

.p-breadcrumb__item a:hover { color: #666; }

@media screen and (orientation: portrait) { .p-breadcrumb { display: none; } }

@media screen and (max-width: 1199px) { .p-breadcrumb { margin: 0 auto; height: 50px; line-height: 50px; } }

@media screen and (max-width: 767px) { .p-breadcrumb { display: none; } }

.p-btn { text-align: center; }

.p-btn a { color: #fff; display: inline-block; font-size: 14px; font-weight: 700; line-height: 60px; min-width: 240px; height: 60px; padding: 0 15px; }

@media screen and (max-width: 767px) { .p-btn a { font-size: 12px; line-height: 45px; min-width: 180px; height: 45px; } }

.p-cat-list { background: #f8f8f8; margin-bottom: 50px; }

.p-cat-list__title { font-size: 28px; line-height: 1.7; margin-bottom: 0; padding: 36px 0 40px; text-align: center; }

.p-cat-list__list { display: flex; flex-wrap: wrap; padding: 0 15px; width: 100%; }

.p-cat-list__list-item { margin: 0 15px 45px; opacity: 0; transition: opacity 0.6s ease-in-out; width: calc((100% - 60px) / 2); }

.p-cat-list__list-item:nth-child(even) { transition-delay: 0.15s; }

.p-cat-list__list-item.aos-animate { opacity: 1; }

@media screen and (max-width: 991px) { .p-cat-list { background: #fff; margin-bottom: 0; }
  .p-cat-list__list { padding: 0; }
  .p-cat-list__title { border-top: 0 !important; font-size: 24px; padding: 22px 0; } }

@media screen and (max-width: 767px) { .p-cat-list__list-item { width: 100%; margin: 0 0 25px; }
  .p-cat-list__list-item:nth-child(even) { transition-delay: 0; } }

.p-cat { background: #fff; border-radius: 15px; display: inline-block; font-size: 12px; min-width: 110px; height: 30px; line-height: 28px; padding: 0 10px; text-align: center; transition: color 0.2s ease, border-color 0.2s ease; }

a.p-cat:hover { border-color: #999 !important; color: #999 !important; }

.p-cat--sm { min-width: 100px; }

@media screen and (max-width: 767px) { .p-cat { min-width: 100px; } }

.p-cb__item-header { text-align: center; }

.p-cb__item-title { margin-bottom: 10px; }

.p-cb__item-sub { font-size: 16px; margin-bottom: 42px; }

.p-cb__item-sub:last-child { margin-bottom: 50px; }

.p-cb__item-desc { line-height: 2; margin-bottom: 42px; }

@media screen and (max-width: 767px) { .p-cb__item-title { margin-bottom: 5px; }
  .p-cb__item-sub { font-size: 14px; margin-bottom: 23px; }
  .p-cb__item-sub:last-child { margin-bottom: 30px; }
  .p-cb__item-desc { margin-bottom: 33px; } }

.p-close-btn { background: transparent; border: 0; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; cursor: pointer; font-size: 14px; height: 50px; line-height: 50px; padding: 0; }

.p-close-btn::before { content: "\E91A"; display: inline; font-family: "design_plus"; margin-right: 0.5em; vertical-align: middle; }
.p-company-header { margin-bottom: 94px; position: relative; }
.p-company-header__content { line-height: 1; text-align: center; width: 100%; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.p-company-header__img { text-align: center; }
.p-company-header__img img { max-width: 100%; height: auto; }
.p-company-header__title { margin-bottom: 12px; }
@media screen and (max-width: 767px) {
  .p-company-header { margin: 0 -20px 36px; }
  .p-company-header__title { margin-bottom: 8px; }
}

@media screen and (max-width: 899px) { .p-company-list__item { margin-top: -2px; } }

.p-copyright { color: #fff; font-size: 12px; height: 60px; line-height: 60px; text-align: center; }

.p-copyright small { font-size: 100%; }

@media screen and (max-width: 767px) { .p-copyright { height: 50px; line-height: 50px; } }

.p-cover { background-size: cover; background-position: center; background-repeat: no-repeat; margin-bottom: 0; position: relative; width: 100%; height: 450px; }

.p-cover::before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }

.p-cover__header { display: none; }

.p-cover__inner { display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; width: 100%; height: 100%; z-index: 1; }

.p-cover__title { margin-bottom: 10px; }

.p-cover__sub { font-size: 16px; }

@media screen and (max-width: 767px) { .p-cover { height: 200px; margin-top: 50px; }
  .p-cover__header { align-items: center; display: flex; justify-content: space-between; height: 50px; padding: 0 20px; position: absolute; top: -50px; left: 0; width: 100%; }
  .p-cover__title { margin-bottom: 5px; }
  .p-cover__header-sub { font-weight: 700; }
  .p-cover__sub { font-size: 14px; } }

.p-dropdown { font-size: 14px; }

.p-dropdown__title { background: #fff; box-sizing: border-box; border: 1px solid #ddd; height: 55px; line-height: 55px; padding: 0 18px; position: relative; }

.p-dropdown__title::after { content: "\E90E"; font-family: "design_plus"; position: absolute; right: 17px; }

.p-dropdown__title:hover { cursor: pointer; }

.p-dropdown__title.is-active::after { content: "\E911"; }

.p-dropdown__list { display: none; }

.p-dropdown__list li { list-style-type: none; border: 1px solid #ddd; border-top: 0; line-height: 1.5; }

.p-dropdown__list a { display: block; padding: 14px 18px; }

.p-dropdown__list a:hover { background: #f6f6f6; }

@media screen and (max-width: 767px) { .p-dropdown__title { height: 50px; line-height: 50px; } }

.p-entry { border: 1px solid #ddd; margin-bottom: 50px; }

.p-entry__inner { padding: 47px 50px 50px; }

.p-entry__header { margin-bottom: 50px; }

.p-entry__cat { margin-bottom: 14px; }

.p-entry__title { line-height: 1.4; margin-bottom: 14px; }

.p-entry__date { color: #999; display: block; font-size: 12px; }

.p-entry__img { margin-bottom: 40px; }

.p-entry__img img { width: 100%; height: auto; }

.p-entry__img--lg { margin: 0 -50px 40px; }

.p-entry__body { margin-bottom: 40px; }

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

.p-entry__body .p-entry__ad img { max-width: none; width: auto; }

.p-entry__body .p-readmore a { color: #fff; }

.p-entry__body .q_button:hover { text-decoration: none; }

.p-entry__body p { font-size: inherit; line-height: 2.2; margin-bottom: 35px; }

.p-entry__share { margin-bottom: 45px; }

.p-entry__meta-box { margin-bottom: 50px; }

.p-entry__ad { display: flex; justify-content: center; text-align: center; }

.p-entry__ad--upper, .p-entry__ad--inner { margin-bottom: 42px; }

.p-entry__ad--lower { margin-bottom: 50px; }

.p-entry__ad-item + .p-entry__ad-item { margin-left: 40px; }

.p-entry__related { display: flex; flex-wrap: wrap; margin-right: -26px; margin-bottom: -25px; }

.p-entry__related-item { margin-right: 26px; width: calc((100% - 78px) / 3); }

@media only screen and (min-width: 992px) and (max-width: 1140px) { .p-entry__ad { display: block; }
  .p-entry__ad-item + .p-entry__ad-item { margin-left: 0; }
  .p-entry__ad--upper .p-entry__ad-item + .p-entry__ad-item, .p-entry__ad--inner .p-entry__ad-item + .p-entry__ad-item { margin-top: 40px; }
  .p-entry__ad--lower .p-entry__ad-item + .p-entry__ad-item { margin-top: 50px; } }

@media only screen and (max-width: 991px) { .p-entry { border: 0 !important; }
  .p-entry__inner { padding: 50px 0 0; }
  .p-entry__img img { max-width: none; width: 100%; }
  .p-entry__related { margin-bottom: 0; } }

@media only screen and (max-width: 767px) { .p-entry { margin: 0 -20px 40px; }
  .p-entry__inner { padding: 30px 20px 0; }
  .p-entry__inner { padding: 30px 20px 0; }
  .p-entry__header { margin-bottom: 30px; }
  .p-entry__img { margin-bottom: 23px; }
  .p-entry__cat { margin-bottom: 6px; }
  .p-entry__title { line-height: 1.5; margin-bottom: 6px; }
  .p-entry__share { margin-bottom: 25px; }
  .p-entry__body { margin-bottom: 23px; }
  .p-entry__body p { line-height: 2; margin-bottom: 26px; }
  .p-entry__body--page { font-size: 14px; }
  .p-entry__ad { display: block; margin-bottom: 40px; }
  .p-entry__ad-item { margin-bottom: 20px; }
  .p-entry__ad-item + .p-entry__ad-item { margin-left: 0; }
  .p-entry__ad-item img { margin-left: -10px; margin-right: -10px; }
  .p-entry__meta-box { background: transparent; margin-bottom: 10px; }
  .p-entry__related { justify-content: space-between; margin: 0 0 -25px; }
  .p-entry__related-item { margin-right: 0; width: calc(50% - 10px); }
  .p-entry__related-item--no-post { margin-top: 30px; } }

@media screen and (max-width: 320px) { .p-entry__related-item { width: 100%; } }

.p-footer-banners { border-bottom: 1px solid #ddd; padding: 60px 0; }

.p-footer-banners__list { display: flex; justify-content: center; margin-bottom: 0; }

.p-footer-banners__list-item { list-style-type: none; margin-right: 34px; width: 31.35593%; }

.p-footer-banners__list-item:last-child { margin-right: 0; }

@media screen and (max-width: 991px) { .p-footer-banners__list { flex-direction: column; align-items: center; }
  .p-footer-banners__list-item { margin: 0 0 20px 0; width: 50%; }
  .p-footer-banners__list-item:last-child { margin-bottom: 0; } }

@media screen and (max-width: 767px) { .p-footer-banners { padding: 40px 0; } }

@media screen and (max-width: 600px) { .p-footer-banners__list-item { width: 100%; } }

.p-footer-nav {
  border-top: 1px solid #ddd; font-size: 12px; margin-bottom: 0;
  line-height: 60px; text-align: center;
  display: flex; justify-content: center;
}

.p-footer-nav li { list-style-type: none; margin: 0 12.5px; }

@media screen and (max-width: 767px) {
  .p-footer-nav {
    display: flex; flex-wrap: wrap; justify-content: space-between; padding: 20px 20px 0;
  }
  .p-footer-nav li {
    line-height: 1; text-align: center; margin: 0 0 20px; width: 50%;
  }
}

.p-footer-widget { padding: 50px 2.9661% 42px; }

.p-footer-widget a { color: inherit; }

.p-footer-widget__title { font-size: 16px; line-height: 1; margin-bottom: 12px; }

@media screen and (max-width: 767px) { .p-footer-widget { padding: 0; }
  .p-footer-widget__title { font-size: 15px; margin-bottom: 8px; } }

.p-footer-widgets__inner { display: flex; border-left: 1px solid #ddd; }

.p-footer-widgets .widget_nav_menu ul { margin-bottom: 0; }

.p-footer-widgets .widget_nav_menu li { list-style-type: none; font-size: 14px; line-height: 2.2; margin-bottom: 0; }

.p-footer-widgets__item { border-right: 1px solid #ddd; width: 25%; }

@media screen and (max-width: 991px) { .p-footer-widgets__inner { flex-wrap: wrap; }
  .p-footer-widgets__item { width: 50%; } }

@media screen and (max-width: 767px) { .p-footer-widgets__inner { border-left: 0; padding: 40px 20px 0; }
  .p-footer-widgets__item { border-right: 0; margin-bottom: 33px; width: 100%; }
  .p-footer-widgets__item.widget_nav_menu { width: 50%; } }

.p-global-nav { display: flex; font-size: 16px; line-height: 60px; margin-bottom: 0; text-align: center; }

.p-global-nav li { list-style-type: none; }

.p-global-nav a { display: block; }

.p-global-nav [data-megamenu] + .sub-menu { display: none !important; }

.p-global-nav > li { border-left: 1px solid #fff; border-right: 1px solid #fff; flex: 1; margin-left: -1px; }

.p-global-nav > li.menu-item-has-children:hover > .sub-menu { left: 0; }

.p-global-nav > li > a { padding: 0 21px; position: relative; }

.p-global-nav > li > .sub-menu { top: 100%; left: 0; }

.p-global-nav .menu-item-has-children { position: relative; }

.p-global-nav .menu-item-has-children:hover > .sub-menu { opacity: 1; left: 100%; visibility: visible; }

.p-global-nav .sub-menu { display: block; line-height: 1.2; text-align: left; opacity: 0; position: absolute; top: 0; left: 100%; transition: 0.2s; visibility: hidden; z-index: 2; }

.p-global-nav .sub-menu a { padding: 17px 39px 17px 25px; width: 240px; transition: padding-left 0.2s ease; }

.p-global-nav .sub-menu a:hover { padding: 17px 39px; }

.p-global-nav .sub-menu .menu-item-has-children > a { position: relative; }

.p-global-nav .sub-menu .menu-item-has-children > a::after { content: "\E910"; font-family: "design_plus"; position: absolute; top: 0; bottom: 0; right: 16px; margin: auto; width: 14px; height: 14px; }

@media only screen and (max-width: 1199px) { .p-global-nav { flex-wrap: wrap; justify-content: space-between; height: auto; margin: 30px auto 18px; width: 92.1875%; }
  .l-header--fixed .p-global-nav { max-height: calc(100vh - 60px); overflow: auto; }
  .p-global-nav > li { border: 0; flex: 0 1 auto; margin: 0 0 12px 0; width: calc((50% - 6px)); }
  .p-global-nav > li > a { border: 0; display: block; padding: 0 5.55556%; }
  .p-global-nav a { box-sizing: border-box; font-size: 13px; height: 50px; line-height: 50px; position: relative; }
  .p-global-nav .menu-item-has-children > a > .p-global-nav__toggle { display: none; }
  .p-global-nav .sub-menu { display: none; } }

/* @media only screen and (max-width: 767px) { .p-global-nav { > li { > a { padding: 0 20px; } } .sub-menu { a { padding: 0 20px; } } } } */
.p-header-content { position: relative; }

.p-header-content::before { content: ""; width: 100%; height: 100%; position: absolute; z-index: 1; }

.p-header-content__inner { padding: 0 20px; text-align: center; position: absolute; top: 50%; left: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 100%; z-index: 1; }

.p-header-content__inner > img { display: inline; max-width: 80%;}

.p-header-content__title { line-height: 1.3; opacity: 0; transition: opacity 1s ease 1s; }

.is-active .p-header-content__title { opacity: 1; }

.p-header-content__title--vertical span { text-align: left; white-space: nowrap; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }

.p-header-content__btn { opacity: 0; margin-top: 22px; transition: opacity 1s ease 2s; }

.is-active .p-header-content__btn { opacity: 1; }

.p-header-content__link { display: none; font-size: 18px; font-family: "design_plus"; position: absolute; bottom: 17px; left: 0; right: 0; margin: auto; z-index: 1; width: 18px; height: 18px; }

.p-header-content__link::before { color: #fff; content: "\E90E"; display: block; }

@media screen and (max-width: 767px) { .p-header-content__title { margin-bottom: 16px; }
  .p-header-content__link { display: block; } }

.p-header-slider { overflow: hidden; }

.p-header-slider .slick-arrow { transition-property: left, right; transition-duration: 0.2s; z-index: 1; }

.p-header-slider .slick-arrow::before { font-family: "design_plus"; }

.p-header-slider .slick-prev { left: -20px; }

.p-header-slider .slick-prev::before { content: "\E90F"; }

.p-header-slider .slick-next { right: -20px; }

.p-header-slider .slick-next::before { content: "\E910"; }

.p-header-slider:hover .slick-prev { left: 30px; }

.p-header-slider:hover .slick-next { right: 30px; }

.p-header-slider__item { width: 100%; height: 700px; overflow: hidden; position: relative; }

.p-header-slider__item-img { background-size: cover; background-repeat: no-repeat; background-position: center center; width: 100%; height: 100%; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; }

.p-header-slider__item-img::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.is-active .p-header-slider__item-img--type1 { -webkit-animation-name: zoom-in; animation-name: zoom-in; }

.is-active .p-header-slider__item-img--type2 { -webkit-animation-name: zoom-out; animation-name: zoom-out; }

@media screen and (max-width: 767px) { .p-header-slider { height: calc(100vh - 60px); }
  .p-header-slider__item { height: 100%; }
  .p-header-slider__item-img { height: calc(100vh - 60px); padding-bottom: 0; } }
/* kaihirose
.p-header-video { background-color: #000; background-size: cover; background-repeat: no-repeat; background-position: center center; width: 100%; height: 700px; overflow: hidden; position: relative; }
.p-header-video video { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 100%; height: auto; }
*/
.p-header-video { background-color: #000; background-size: cover; background-repeat: no-repeat; background-position: center center; width: 100%; height: 670px; overflow: hidden; position: relative; }
.p-header-video video { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 100%; height: auto; }

@media screen and (max-width: 1199px) { .p-header-video video { width: auto; height: 100%; } }

@media screen and (max-width: 767px) { .p-header-video { height: calc(100vh - 60px); padding-bottom: 0; } }

.p-header-youtube { background-color: #000; background-size: cover; background-repeat: no-repeat; background-position: center center; width: 100%; height: 700px; position: relative; }

.p-header-youtube__player { position: absolute; width: 100%; height: 100%; }

@media screen and (max-width: 767px) { .p-header-youtube { height: calc(100vh - 60px); padding-bottom: 0; } }

.p-headline { font-size: 22px; line-height: 1.7; margin-bottom: 0; padding: 38px 0 41px; text-align: center; }

.p-headline--lg { font-size: 28px; font-weight: 700; }

@media screen and (max-width: 991px) { .p-headline { font-size: 20px; padding: 23px 0; }
  .p-headline--lg { border-top: 0 !important; font-size: 24px; padding: 20px 0; } }

/* Hover effect */
.p-hover-effect--type1 { display: block; overflow: hidden; }

.p-hover-effect--type1 img { -webkit-transform: scale(1); transform: scale(1); transition-duration: 0.5s; vertical-align: middle; width: 100%; height: auto; }

.p-hover-effect--type2 { display: block; overflow: hidden; }

.p-hover-effect--type2:hover img { -webkit-transform: scale(1.3) translate3d(0, 0, 0) !important; transform: scale(1.3) translate3d(0, 0, 0) !important; }

.p-hover-effect--type2 img { transition-property: opacity, -webkit-transform; transition-property: opacity, transform; transition-property: opacity, transform, -webkit-transform; transition: 0.5s; width: 100%; height: auto; }

.p-hover-effect--type3 { display: block; overflow: hidden; }

.p-hover-effect--type3 img { -webkit-backface-visibility: hidden; backface-visibility: hidden; transition-property: opacity; transition: 0.5s; width: 100%; height: auto; }

@media screen and (max-width: 767px) { .p-hover-effect--type1:hover img, .p-hover-effect--type2:hover img, .p-hover-effect--type3:hover img { opacity: 1 !important; -webkit-transform: none !important; transform: none !important; }
  .p-hover-effect--type1 img, .p-hover-effect--type2 img, .p-hover-effect--type3 img { -webkit-transform: none !important; transform: none !important; transition: none !important; margin-left: 0 !important; margin-right: 0 !important; } }

.p-cb__item { margin-bottom: 100px; }
.p-cb__item:last-child { margin-bottom: 0; }
@media screen and (max-width: 767px) { .p-cb__item { margin-bottom: 30px; } .p-cb__item:last-child { margin-bottom: 0; } }

.p-index-content01 { background: #fff; box-shadow: 0 -8px 10px rgba(0, 0, 0, 0.2); padding: 92px 0; text-align: center; position: relative; z-index: 1; }

.p-index-content01::before, .p-index-content01::after { background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white 80%); content: ""; position: absolute; top: 100px; width: 10px; height: calc(100% - 100px); }

.p-index-content01::before { left: -10px; }

.p-index-content01::after { right: -10px; }

.p-index-content01__title { line-height: 1.4; margin-bottom: 14px; }

.p-index-content01__desc { line-height: 2; }

@media screen and (max-width: 991px) { .p-index-content01 { box-shadow: none; } }

@media screen and (max-width: 767px) { .p-index-content01 { padding: 36px 20px 33px; }
  .p-index-content01__title { line-height: 1.3; margin-bottom: 6px; } }

.p-index-content02 { margin-bottom: 100px; }

.p-index-content02__list { padding: 0 65px; margin-bottom: 50px; }

@media screen and (max-width: 991px) { .p-index-content02__list { padding: 0; } }

@media screen and (max-width: 767px) { .p-index-content02 { margin-bottom: 40px; }
  .p-index-content02__list { margin-bottom: 30px; } }

.p-index-content03 { margin-bottom: 100px; }

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

.p-index-content04 { background: #f8f8f8; margin-bottom: 100px; padding: 100px 0; }

.p-index-content04__list { margin-bottom: 50px; }

@media screen and (max-width: 767px) { .p-index-content04 { margin-bottom: 30px; padding: 36px 0 30px; }
  .p-index-content04__list { margin: 0 auto 30px; } }

.p-index-content05 { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 92px; }

.p-index-content05__item { width: 48.30508%; }

.p-index-content05__item-banner { margin-bottom: 12px; }

.p-index-content05__item-banner img { max-width: 100%; height: auto; }

.p-index-content05__item-desc { font-size: 16px; line-height: 2; }

@media screen and (max-width: 767px) { .p-index-content05 { flex-wrap: wrap; margin-bottom: 16px; }
  .p-index-content05__item { margin-bottom: 13px; width: 100%; }
  .p-index-content05__item-banner { margin-bottom: 7px; }
  .p-index-content05__item-banner img { max-width: auto; width: 100%; }
  .p-index-content05__item-desc { font-size: 14px; } }

/*kaihirose*/
.p-info { border-top: 1px solid #ddd; }

.p-info__inner { display: flex; align-items: center; height: 140px; }

.p-info__logo { margin-right: 30px; }

.p-info__logo a { color: inherit; }

.p-info__desc { flex: 1; }

@media screen and (max-width: 991px) { .p-info__inner { display: block; height: auto; padding: 40px; text-align: center; }
  .p-info__logo { display: block; margin: 0 0 25px 0; }
  .p-info__desc { margin-bottom: 25px; } }

@media screen and (max-width: 767px) { .p-latest-news { margin-bottom: -41px; }
  .p-latest-news__list { margin: 0 -21px; } }

.p-latest-works { background: #f8f8f8; }

.p-latest-works__headline { font-size: 22px; text-align: center; margin-bottom: 0; padding: 50px 0; }

.p-latest-works__list { display: flex; flex-wrap: wrap; padding: 0 16px; }

.p-latest-works__list-item { margin: 0 8px 41px; width: calc((100% - 48px) / 3); }

@media screen and (max-width: 767px) { .p-latest-works { margin: 0 -20px -40px; padding-bottom: 10px; }
  .p-latest-works__headline { font-size: 20px; padding: 30px 0; }
  .p-latest-works__list { justify-content: space-between; padding: 0 20px; }
  .p-latest-works__list-item { margin: 0 0 17px; width: calc(50% - 10px); } }

.p-list { margin-bottom: 0; width: 100%; overflow: hidden;}

.p-list__item { list-style-type: none; font-size: 14px; margin-top: -1px; }

.p-list__item.is-parent > a::before { left: -1px; }

.p-list__item.is-active > a > .p-list__item-toggle::before { content: "\E911"; }

.p-list__item.is-current > a { background: #f8f8f8; }

.p-list__item .p-list__item .p-list__item a { padding-left: 58px; }

.p-list__item .p-list__item .p-list__item a:hover { padding-left: 72px; }

.p-list__item .p-list__item a { padding-left: 44px; }

.p-list__item .p-list__item a:hover { padding-left: 58px; }

.p-list__item a { background: #fff; border: 1px solid #dedede; display: block; height: 60px; line-height: 58px; padding: 0 30px; position: relative; transition: padding 0.2s ease; }

.p-list__item a:hover { padding-left: 44px; }

.p-list__item a:hover::before { left: -1px; }

.p-list__item a::before { content: ""; width: 3px; height: 60px; transition: left 0.2s ease; position: absolute; top: -1px; left: -4px; z-index: 1; }

.p-list__item-toggle { color: #000; font-family: "design_plus"; font-size: 11px; position: absolute; width: 60px; height: 60px; top: 0; right: 0; text-align: center; }

.p-list__item-toggle::before { content: "\E90E"; }

.p-list__item-btn { border: 1px solid #ddd; border-top: 0; background: #f4f4f4; cursor: pointer; padding: 0; width: 100%; height: 50px; text-align: center; }

.p-list__item-btn::before { content: "\E91A"; font-family: "design_plus"; display: inline-block; margin-right: 10px; vertical-align: middle; }

@media screen and (max-width: 991px) { .p-list__item a { height: 50px; line-height: 48px; padding: 0 20px; }
  .p-list__item a::before { height: 50px; } }

@media screen and (max-width: 767px) { .p-list { width: calc(100% + 40px); position: absolute; top: 50px; left: -20px; z-index: 1; }
  .p-list a:hover { padding-left: 20px; }
  .p-list a::before { display: none; }
  .p-list > .p-list__item a { background: #fff; }
  .p-list__item .p-list__item a, .p-list__item .p-list__item a:hover { background: #f4f4f4; padding-left: 20px; }
  .p-list__item .p-list__item .p-list__item a, .p-list__item .p-list__item .p-list__item a:hover { padding-left: 34px; }
  .p-list__item .p-list__item .p-list__item .p-list__item a, .p-list__item .p-list__item .p-list__item .p-list__item a:hover { padding-left: 48px; } }

.p-megamenu01 { background: #fff; display: flex; width: 100%; position: absolute; top: 160px; z-index: 2; opacity: 0; visibility: hidden; overflow: hidden; }

.admin-bar .p-megamenu01 { top: 192px; }

.p-megamenu01:hover, .p-megamenu01.is-active { opacity: 1; visibility: visible; }

.p-megamenu01:hover .p-megamenu01__item-list, .p-megamenu01.is-active .p-megamenu01__item-list { opacity: 1; visibility: visible; -webkit-transform: translateY(0); transform: translateY(0); }

.p-megamenu01:hover .p-megamenu01__item-img img, .p-megamenu01.is-active .p-megamenu01__item-img img { -webkit-transform: scale(2) translateX(-25%); transform: scale(2) translateX(-25%); }

.p-megamenu01__item { flex: 1 1 33.33%; overflow: hidden; position: relative; height: 450px; }

.p-megamenu01__item-list { opacity: 0; visibility: hidden; -webkit-transform: translateY(15px); transform: translateY(15px); transition: opacity 0.5s ease, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); padding: 60px; }

.p-megamenu01__item-list ul { display: flex; flex-wrap: wrap; justify-content: space-between; font-size: 14px; line-height: 2.4; }

.p-megamenu01__item-list ul li { width: calc(50% - 25px); }

.p-megamenu01__item-list li { list-style-type: none; }

.p-megamenu01__item-list a { color: #fff; transition: padding-left 0.2s ease; }

.p-megamenu01__item-list a:hover { padding-left: 14px; }

.p-megamenu01__item-list > li > a { font-size: 26px; display: block; margin-bottom: 20px; }

.p-megamenu01__item-img { position: absolute; top: 0; width: 100%; height: 100%; z-index: -1; }

.p-megamenu01__item-img::before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; }

.p-megamenu01__item-img img { -webkit-transform: scale(2) translateX(-15%); transform: scale(2) translateX(-15%); transition: -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); width: auto; height: 100%; position: absolute; top: 0; left: 50%; }

@media screen and (max-width: 1199px) { .p-megamenu01 { display: none; } }

.p-megamenu02 { background: #fff; border-bottom: 1px solid #ddd; position: absolute; top: 160px; z-index: 2; width: 100%; height: 450px; opacity: 0; visibility: hidden; overflow: hidden; }

.admin-bar .p-megamenu02 { top: 192px; }

.p-megamenu02:hover, .p-megamenu02.is-active { opacity: 1; visibility: visible; }

.p-megamenu02:hover .p-article13__img, .p-megamenu02.is-active .p-article13__img { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }

.p-megamenu02::before { content: ""; width: 50%; height: 100%; position: absolute; }

.p-megamenu02__inner { display: flex; }

.p-megamenu02__header { color: #fff; display: flex; flex-direction: column; justify-content: space-between; width: 20%; padding: 100px 0; }

.p-megamenu02__title { font-size: 26px; margin-bottom: 12px; }

.p-megamenu02__sub { font-size: 16px; }

.p-megamenu02__link { color: inherit; font-size: 14px; font-weight: 700; }

.p-megamenu02__link:hover::after { padding-left: 1em; }

.p-megamenu02__link::after { content: "\E910"; font-family: "design_plus"; margin-left: 10px; transition: padding-left 0.2s ease; }

.p-megamenu02__list { background: #fff; display: flex; width: 80%; height: 100%; margin-bottom: 0; }

.p-megamenu02__list li { list-style-type: none; border-right: 1px solid #ddd; flex: 1; height: 449px; overflow: hidden; }

@media screen and (max-width: 1199px) { .p-megamenu02 { display: none; } }

.p-menu-btn { background: transparent; border: 0; cursor: pointer; line-height: 60px; width: 60px; height: 60px; }

.p-menu-btn:focus { outline: 0; }

.admin-bar .p-menu-btn { top: 0; }

@media screen and (max-width: 782px) { .admin-bar .p-menu-btn { top: 0; } }

.p-nav01 { display: block; margin-bottom: 0; width: 100%; }

.p-nav01__item { background: #fff; font-size: 16px; line-height: 1.6; height: 110px; width: 50%; }

.p-nav01__item a:hover { background: #f9f9f9; }

.p-nav01__item:empty { background: transparent; border: 0; }

.p-nav01__item:empty::before, .p-nav01__item:empty::after { content: ""; }

.p-nav01__item:empty + .p-nav01__item a { border-left: 1px solid #ddd; }

.p-nav01__item + .p-nav01__item { border-left: 0; }

.p-nav01__item--prev { float: left; }

.p-nav01__item--prev::before { content: "\E90F"; font-size: 16px; left: 6.0241%; -webkit-transform: translateY(1px); transform: translateY(1px); }

.p-nav01__item--prev a { padding: 0 40px 0 60px; }

.p-nav01__item--next { float: right; }

.p-nav01__item--next::after { content: "\E910"; font-size: 16px; right: 6.0241%; -webkit-transform: translateY(1px); transform: translateY(1px); }

.p-nav01__item--next a { padding: 0 60px 0 40px; }

@media only screen and (max-width: 767px) { .p-nav01 { margin-bottom: 30px; }
  .p-nav01__item { font-size: 12px; line-height: 50px; height: 50px; text-align: center; }
  .p-nav01__item a { padding: 0; }
  .p-nav01__item span { display: none; }
  .p-nav01__item--prev::before { left: 12px; }
  .p-nav01__item--prev a::before { content: attr(data-prev); }
  .p-nav01__item--next::after { right: 12px; }
  .p-nav01__item--next a::before { content: attr(data-next); } }

.p-news-list { margin-bottom: 0; }

.p-news-list__item { list-style-type: none; margin-top: -1px; }

.p-news-tab-list { margin-bottom: 50px; }

.p-news-tab-list__tabs { background: #fff; display: flex; margin-left: 1px; margin-bottom: 0; }

.p-news-tab-list__tabs-item { list-style-type: none; font-size: 16px; text-align: center; width: 20%; }

.p-news-tab-list__tabs-item.is-active a, .p-news-tab-list__tabs-item a:hover { background: #000; border-color: #000; color: #fff; }

.p-news-tab-list__tabs-item.is-active + .p-news-tab-list__tabs-item a { border-left: 1px solid #000; }

.p-news-tab-list__tabs-item a { border: 1px solid #ddd; display: block; margin-left: -1px; transition-property: background, border-color, color; transition-duration: 0.2s; height: 60px; line-height: 59px; }

.p-news-tab-list__panel { display: none; }

.p-news-tab-list__panel.is-active { display: block; }

@media screen and (max-width: 767px) { .p-news-tab-list { margin: 0 -21px 30px; }
  .p-news-tab-list__tabs-wrapper { overflow-x: scroll; }
  .p-news-tab-list__tabs { font-size: 0; width: 665px; }
  .p-news-tab-list__tabs-item { font-size: 14px; }
  .p-news-tab-list__tabs-item a { height: 50px; line-height: 50px; } }

.p-page-header { font-weight: 700; line-height: 1; display: flex; flex-direction: column; justify-content: center; padding: 0 50px; width: 300px; height: 300px; }

.p-page-header__title { margin-bottom: 12px; }

@media screen and (max-width: 991px) { .p-page-header { flex-direction: row; align-items: center; justify-content: space-between; width: auto; height: 100px; padding: 0 20px; }
  .p-page-header__title { margin-bottom: 0; } }

@media screen and (max-width: 767px) { .p-page-header { height: 50px; margin: 0 -20px; } }

.p-page-links { font-size: 14px; margin-bottom: 50px; }

.p-page-links a { background: #eee; color: #000 !important; display: inline-block; }

.p-page-links a:hover { color: #fff !important; }

.p-page-links span { display: inline-block; line-height: 40px; text-align: center; width: 40px; height: 40px; transition: background 0.2s ease; }

.p-page-links > span { color: #fff; }

.p-page-links .p-page-links__title { background: transparent; color: #000; text-align: left; width: auto; height: auto; }

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

.pb-widget-catchcopy h4 { font-weight: 600; }

.pb_slider:hover .slick-arrow { -webkit-transform: translateX(0); transform: translateX(0); }

.pb_slider .slick-arrow { /* Override pagebuilder CSS */ font-size: 12px; width: 50px; height: 50px; line-height: 50px; transition-property: opacity, -webkit-transform; transition-property: opacity, transform; transition-property: opacity, transform, -webkit-transform; transition-duration: 0.2s; top: 0; bottom: 0; margin: auto; }

.pb_slider .slick-arrow:hover, .pb_slider .slick-arrow:focus { background: #000; color: #fff; }

.pb_slider .slick-arrow:before { content: ""; }

.pb_slider .slick-prev { left: 0; right: auto; -webkit-transform: translateX(-50px); transform: translateX(-50px); }

.pb_slider .slick-next { right: 0; -webkit-transform: translateX(50px); transform: translateX(50px); }

.pb_slider_nav .pb_slider_nav_item.slick-current { opacity: 0.5; transition-property: opacity; transition-duration: 0.2s; }

.pb_slider_nav .pb_slider_nav_item.slick-current::after { box-shadow: none; }

@media screen and (max-width: 767px) { .dp-google-map { height: auto !important; padding-bottom: 100%; }
  .pb-widget-headline h3 { font-weight: 600; }
  .pb_slider_nav .pb_slider_nav_item.slick-current:after { box-shadow: none; } }

.p-pager { display: flex; justify-content: center; margin-bottom: -5px; }

.p-pager__item { list-style-type: none; font-size: 14px; margin-right: 5px; margin-bottom: 5px; }

.p-pager__item a, .p-pager__item span { display: block; line-height: 40px; text-align: center; width: 40px; height: 40px; }

.p-pager__item a { background: #eee; }

.p-pager__item a:hover, .p-pager__item span { color: #fff; }

@media screen and (max-width: 991px) { .p-pager { margin-bottom: 0; } }

.p-pagetop { background: #000; border: 0; color: #fff; cursor: pointer; outline: none; position: fixed; right: 0; bottom: 0; z-index: 99; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); transition: background 0.2s, opacity 0.35s, -webkit-transform 0.35s; transition: background 0.2s, opacity 0.35s, transform 0.35s; transition: background 0.2s, opacity 0.35s, transform 0.35s, -webkit-transform 0.35s; opacity: 0; width: 60px; height: 60px; }

.p-pagetop.is-active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); opacity: 1; }

.p-pagetop::after { content: "\E911"; font-family: "design_plus"; margin: auto; position: absolute; top: 0; right: 0; bottom: 0; left: 0; font-size: 12px; width: 12px; height: 12px; }

@media screen and (max-width: 767px) { .p-pagetop { width: 50px; height: 50px; } }

.p-readmore { text-align: center; }

.p-readmore__btn { background: #eee; color: #000 !important; }

.p-readmore__btn:hover { color: #fff !important; }

.p-readmore .p-readmore__btn:hover { text-decoration: none; }

.p-readmore .p-readmore__num { font-size: 16px; margin-top: 0.5em; }

.p-service-cat-header { display: flex; width: 100%; }

.p-service-cat-header__list { display: none; }

.p-service-cat-header__img { -o-object-fit: cover; object-fit: cover; width: calc(100% - 300px); height: 300px; }

@media screen and (max-width: 991px) { .p-service-cat-header { display: block; }
  .p-service-cat-header__img { width: 100%; } }

@media screen and (max-width: 767px) { .p-service-cat-header { position: relative; }
  .p-service-cat-header__img { margin: 40px -20px 0; width: calc(100% + 40px); }
  .p-service-cat-header__list { display: block; position: absolute; top: 50px; left: 0; z-index: 1; width: calc(100% + 40px); } }

.p-service-cats-list { display: flex; flex-wrap: wrap; }

.p-service-cats-list__item { list-style-type: none; margin-left: -1px; opacity: 0; transition: opacity 0.6s ease-in-out; width: 33.33%; }

.p-service-cats-list__item:nth-child(3n-1) { transition-delay: 0.15s; }

.p-service-cats-list__item:nth-child(3n) { transition-delay: 0.3s; }

.p-service-cats-list__item.aos-animate { opacity: 1; }

@media screen and (max-width: 991px) { .p-service-cats-list__item { width: 50%; }
  .p-service-cats-list__item:nth-child(3n) { transition-delay: 0; } }

@media screen and (max-width: 767px) { .p-service-cats-list__item { margin-left: 0; width: 100%; }
  .p-service-cats-list__item:nth-child(3n-1) { transition-delay: 0; } }

.p-service-entry__header { border-top: 1px solid #ddd; margin-bottom: 40px; }

.p-service-entry__img { text-align: center; }

.p-service-entry__img img { max-width: 100%; height: auto; }

.p-service-entry__title { line-height: 1.4; margin-bottom: 44px; padding-top: 44px; text-align: center; }

@media screen and (max-width: 767px) { .p-service-entry__header { margin-bottom: 23px; }
  .p-service-entry__title { margin-bottom: 26px; padding-top: 26px; } }

/** share */
.p-share__btn { margin-bottom: 2px; }

.slick-arrow { -webkit-transform: none; transform: none; transition-property: background; transition-duration: 0.2s; z-index: 1; }

.slick-arrow::before { font-family: "design_plus"; opacity: 1; }

.slick-arrow--square { top: auto; left: auto; bottom: 0; width: 50px; height: 50px; }

.slick-arrow--square.slick-prev { right: 50px; }

.slick-arrow--square.slick-next { right: 0; }

.slick-arrow--square::before { font-size: 16px; }

.slick-prev::before { content: "\E90F"; }

.slick-next::before { content: "\E910"; }

@media screen and (max-width: 767px) { .slick-arrow--square { width: 40px; height: 40px; }
  .slick-arrow--square::before { font-size: 13px; }
  .slick-arrow--square.slick-prev { right: 40px; } }

.p-social-nav { margin-bottom: 0; }

.p-social-nav__item { display: inline; font-family: "design_plus"; font-size: 14px; margin-right: 12px; }

.p-social-nav__item a:hover { color: #999; }

.p-social-nav__item:last-child { margin-right: 0; }

.p-social-nav__item--twitter a::before { content: "\E904"; }

.p-social-nav__item--facebook a::before { content: "\E902"; }

.p-social-nav__item--instagram a::before { content: "\EA92"; }

.p-social-nav__item--pinterest a::before { content: "\E905"; }

.p-social-nav__item--mail a::before { content: "\F0E0"; }

.p-social-nav__item--rss a::before { content: "\E90B"; }

.p-tab-list__tab { display: flex; margin-bottom: -1px; width: 100%; }

.p-tab-list__tab-item { background: #f5f5f5; border: 1px solid #ddd; box-sizing: border-box; display: inline-block; font-size: 14px; height: 55px; line-height: 55px; text-align: center; width: 50%; }

.p-tab-list__tab-item.is-active { background: #fff; border-bottom: 0; }

.p-tab-list__tab-item.is-active a { cursor: default; }

.p-tab-list__tab-item + .p-tab-list__tab-item { border-left: 0; }

.p-tab-list__tab-item a { display: block; width: 100%; height: 100%; }

.p-tab-list__panel { border: 1px solid #ddd; display: none; }

.p-tab-list__panel.is-active { display: block; }

.p-tab-list__panel-item { border-bottom: 1px solid #ddd; padding: 11px; }

.p-tab-list__panel-item:last-child { border-bottom: 0; }

.p-three-box { display: flex; }

.p-three-box__item { margin-left: -1px; width: 33.33%; height: 533px; }

@media screen and (max-width: 767px) { .p-three-box { flex-wrap: wrap; }
  .p-three-box__item { margin-left: 0; width: 100%; height: 403px; } }

.p-widget-search { position: relative; }

.p-widget-search__input { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #f9f9f9; border: 1px solid #ddd; box-sizing: border-box; border-radius: 0; height: 55px; line-height: 55px; outline: none; padding: 0 38px 0 10px; width: 100%; }

.p-widget-search__submit { background: transparent; border: 0; color: #000; cursor: pointer; font-family: "design_plus"; font-size: 18px; position: absolute; top: 0; right: 0; width: 38px; height: 55px; border-radius: 0; text-align: center; padding: 0; }

@media screen and (max-width: 767px) { .p-widget-search__input { height: 50px; line-height: 50px; }
  .p-widget-search__submit { height: 50px; } }

.p-widget { line-height: 1.7; margin-bottom: 50px; }

.p-widget:last-child { border-bottom: 0; margin-bottom: 0; }

.p-widget__title { color: #fff; font-size: 16px; font-weight: 400; line-height: 55px; height: 55px; padding: 0 20px; margin-bottom: 20px; }

.ad_widget { text-align: center; }

/* custom menu */
.widget_nav_menu li { font-size: 12px; margin-bottom: 18px; }

@media only screen and (max-width: 767px) { .p-widget { margin-bottom: 40px; }
  .p-widget__title { line-height: 45px; height: 45px; margin-bottom: 20px; }
  .ad_widget { text-align: center; }
  .ad_widget img { margin-left: -10px; margin-right: -10px; } }

/* WordPress preset style */
/* alignment */
.p-entry__body .alignright { float: right; }

.p-entry__body .alignleft { float: left; }

.p-entry__body .aligncenter { display: block; margin-left: auto; margin-right: auto; margin-bottom: 7px; }

.p-entry__body blockquote.alignleft, .p-entry__body img.alignleft { margin: 7px 24px 7px 0; }

.p-entry__body .wp-caption.alignleft { margin: 7px 14px 7px 0; }

.p-entry__body blockquote.alignright, .p-entry__body img.alignright { margin: 7px 0 7px 24px; }

.p-entry__body .wp-caption.alignright { margin: 7px 0 7px 14px; }

.p-entry__body blockquote.aligncenter, .p-entry__body img.aligncenter, .p-entry__body .wp-caption.aligncenter { margin-top: 7px; margin-bottom: 7px; }

/* text and headline */
.p-entry__body h1, .p-entry__body h2, .p-entry__body h3, .p-entry__body h4, .p-entry__body h5, .p-entry__body h6 { clear: both; line-height: 1.4; margin-bottom: 24.2px; }

.p-entry__body h1 { font-size: 150%; }

.p-entry__body h2 { font-size: 140%; }

.p-entry__body h3 { font-size: 130%; }

.p-entry__body h4 { font-size: 120%; }

.p-entry__body h5 { font-size: 110%; }

.p-entry__body h6 { font-size: 100%; }

/* image */
.p-entry__body img[class*="align"], .p-entry__body img[class*="wp-image-"], .p-entry__body img[class*="attachment-"], .p-entry__body .size-full, .p-entry__body .size-large, .p-entry__body .wp-post-image, .p-entry__body img { max-width: 100%; height: auto; }

/* list */
.p-entry__body li, .p-entry__body dt, .p-entry__body dd { line-height: 2.2; }

.p-entry__body ul, .p-entry__body ol, .p-entry__body dl { margin-bottom: 24px; }

.p-entry__body ol { list-style: decimal outside none; margin-left: 1.5em; }

.p-entry__body ul { list-style: circle outside none; margin-left: 1.3em; }

.p-entry__body li > ul, .p-entry__body li > ol { margin-bottom: 0; }

.p-entry__body dt { font-weight: bold; }

.p-entry__body dd { margin-bottom: 1em; }

/* table */
.p-entry__body table { margin: 0 0 24px 0; border-collapse: collapse; }

.p-entry__body td, .p-entry__body th { border: 1px solid #ddd; padding: 10px 15px 7px; line-height: 2.2; font-size: 14px; }

.p-entry__body th { background: #fafafa; font-weight: normal; }

/* table style */
.table_no_border th, .table_no_border td { border: none; padding-left: 0; }

.table_border_horizontal th, .table_border_horizontal td { border-left: none; border-right: none; padding-left: 0; }

/* block quote */
.p-entry__body blockquote { margin: 0 0 25px 0; padding: 27px 30px 0; border: 1px solid #ccc; box-shadow: 0px 4px 0px 0px #f2f2f2; position: relative; }

.p-entry__body blockquote:before { content: '"'; font-style: italic; font-size: 30px; font-weight: normal; line-height: 40px; width: 30px; height: 30px; position: absolute; top: 5px; left: 10px; color: #5cbcd7; }

.p-entry__body blockquote:after { content: '"'; font-style: italic; font-size: 30px; font-weight: normal; text-align: left; line-height: 60px; width: 30px; height: 30px; position: absolute; bottom: 7px; right: 0; color: #5cbcd7; }

.p-entry__body blockquote cite { border-top: 1px dotted #aaa; display: block; padding: 20px 0 0 0; font-style: italic; text-align: right; font-size: 90%; }

/* captions */
.p-entry__body .wp-caption { margin-bottom: 24px; background: #fff; border: 1px solid #ccc; padding: 5px; max-width: 100%; border-radius: 5px; box-sizing: border-box; }

.p-entry__body .wp-caption-text { text-align: center; font-size: 12px; font-style: italic; line-height: 1.5; margin: 9px auto; }

.p-entry__body .wp-caption img[class*="wp-image-"] { display: block; margin: 0 auto; }

/* gallery */
.gallery { margin-bottom: 20px; }

.gallery a img { border: 0 !important; }

.gallery-item { float: left; margin: 0 4px 4px 0; overflow: hidden; position: relative; }

.gallery-columns-1 .gallery-item { max-width: 100%; }

.gallery-columns-2 .gallery-item { max-width: 48%; max-width: calc(50% - 4px); }

.gallery-columns-3 .gallery-item { max-width: 32%; max-width: calc(33.3% - 4px); }

.gallery-columns-4 .gallery-item { max-width: 23%; max-width: calc(25% - 4px); }

.gallery-columns-5 .gallery-item { max-width: 19%; max-width: calc(20% - 4px); }

.gallery-columns-6 .gallery-item { max-width: 15%; max-width: calc(16.7% - 4px); }

.gallery-columns-7 .gallery-item { max-width: 13%; max-width: calc(14.28% - 4px); }

.gallery-columns-8 .gallery-item { max-width: 11%; max-width: calc(12.5% - 4px); }

.gallery-columns-9 .gallery-item { max-width: 9%; max-width: calc(11.1% - 4px); }

.gallery-columns-10 .gallery-item { max-width: 7%; max-width: calc(9.4% - 0px); }

.gallery-columns-1 .gallery-item:nth-of-type(1n), .gallery-columns-2 .gallery-item:nth-of-type(2n), .gallery-columns-3 .gallery-item:nth-of-type(3n), .gallery-columns-4 .gallery-item:nth-of-type(4n), .gallery-columns-5 .gallery-item:nth-of-type(5n), .gallery-columns-6 .gallery-item:nth-of-type(6n), .gallery-columns-7 .gallery-item:nth-of-type(7n), .gallery-columns-8 .gallery-item:nth-of-type(8n), .gallery-columns-9 .gallery-item:nth-of-type(9n), .gallery-columns-10 .gallery-item:nth-of-type(10n) { margin-right: 0; }

.gallery-caption { background-color: rgba(0, 0, 0, 0.7); box-sizing: border-box; color: #fff; font-size: 12px; line-height: 1.5; margin: 0; max-height: 50%; opacity: 0; padding: 6px 8px; position: absolute; bottom: 0; left: 0; text-align: left; width: 100%; }

.gallery-caption:before { content: ""; height: 100%; min-height: 49px; position: absolute; top: 0; left: 0; width: 100%; }

.gallery-item:hover .gallery-caption { opacity: 1; }

.gallery-columns-7 .gallery-caption, .gallery-columns-8 .gallery-caption, .gallery-columns-9 .gallery-caption, .gallery-columns-10 .gallery-caption { display: none; }

/* etc */
.p-entry__body .wp-smiley { border: 0; margin-bottom: 0; margin-top: 0; padding: 0; }

.p-entry__body address { margin: 0 0 24px 0; line-height: 2.2; }

.p-entry__body pre { border-left: 5px solid #7fc120; font-size: 12px; margin: 0 0 27px 0; line-height: 25px; /*background:url(img/common/pre.gif) repeat left top;*/ padding: 0 17px; overflow: auto; }

.p-entry__body .mejs-container { margin: 12px 0 25px; }

.p-works-entry { margin-bottom: 50px; }

.p-works-entry__header { margin-bottom: 40px; }

.p-works-entry__img { margin-bottom: 50px; text-align: center; }

.p-works-entry__img img { max-width: 100%; height: auto; }

.p-works-entry__cat { background: #000; border-radius: 15px; color: #fff; display: inline-block; font-size: 12px; min-width: 100px; height: 30px; line-height: 30px; padding: 0 20px; text-align: center; margin-bottom: 14px; }

.p-works-entry__title { line-height: 1.4; margin-bottom: 44px; }

@media screen and (max-width: 991px) { .p-works-entry { margin-top: 50px; } }

@media screen and (max-width: 767px) { .p-works-entry { margin-top: 30px; }
  .p-works-entry__header { margin-bottom: 23px; }
  .p-works-entry__img { margin-bottom: 30px; }
  .p-works-entry__cat { margin-bottom: 8px; }
  .p-works-entry__title { margin-bottom: 26px; } }

.p-works-list { display: flex; flex-wrap: wrap; margin-right: -32px; margin-bottom: 50px; }

.p-works-list__item { display: flex; flex-direction: column; margin-right: 32px; margin-bottom: 50px; transition: opacity 0.6s ease-in-out; width: calc(33.33% - 32px); }

.p-works-list__item[data-aos] { opacity: 0; }

.p-works-list__item:nth-child(3n-1) { transition-delay: 0.15s; }

.p-works-list__item:nth-child(3n) { transition-delay: 0.3s; }

.p-works-list__item.aos-animate { opacity: 1; }

@media screen and (max-width: 991px) { .p-works-list { justify-content: space-between; margin-right: 0; }
  .p-works-list__item { margin-right: 0; width: 47.5%; }
  .p-works-list__item:nth-child(3n) { transition-delay: 0; } }

@media screen and (max-width: 767px) { .p-works-list { margin-bottom: 8px; }
  .p-works-list__item { margin-bottom: 22px; width: 100%; }
  .p-works-list__item:nth-child(3n-1) { transition-delay: 0; } }

/* Utility ----------------------------------------------------------------- */
.u-center { text-align: center; }

.u-clearfix::after { clear: both; content: " "; display: table; }

.u-hidden { display: none; }

/* Column layout - カラムレイアウト */
.post_row { line-height: 2.4; margin-left: -25px; margin-right: -25px; }

.post_row:before, .post_row:after { content: " "; display: table; }

.post_row:after { clear: both; }

.post_col, .post_col-2, .post_col-3 { float: left; margin-bottom: 2em; min-height: 1px; padding-left: 25px; padding-right: 25px; position: relative; width: 100%; box-sizing: border-box; }

@media screen and (min-width: 768px) { .post_col-2 { width: 50%; /* 2カラム */ }
  .post_col-3 { width: 33.33333%; } }

@media screen and (min-width: 1024px) { .post_col-2 { width: 50%; /* 2カラム */ }
  .post_col-3 { width: 33.33333%; } }

/* headline - 見出しのスタイル */
.style2a, .style2b, .style3a, .style3b, .style4a, .style4b, .style5a, .style5b, .style6 { line-height: 1.6; font-weight: 500; }

/* h2 */
.style2a { margin: 65px 0 30px !important; padding: 0 0 .9em; border-bottom: 3px solid #000; font-size: 26px !important; }

.style2b { margin: 65px 0 30px !important; padding: .48em 1em .47em; font-size: 26px !important; color: #fff; background: #000; }

/* h3 */
.style3a { margin: 65px 0 30px !important; padding: 1.2em .15em; font-size: 22px !important; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }

.style3b { margin: 65px 0 30px !important; padding: 1.1em 1.4em 1.15em; font-size: 22px !important; background: #fafafa; border: 1px solid #ddd; border-top: 3px solid #000; }

/* h4 */
.style4a { margin: 65px 0 30px !important; padding: .4em 0 .4em 1.2em; border-left: 3px solid #000; font-size: 20px !important; font-weight: 500; }

.style4b { position: relative; margin: 65px 0 30px !important; padding: .8em 1.5em .8em; border-left: #000 3px solid; font-size: 20px !important; box-sizing: border-box; }

.style4b:after { position: absolute; top: 0; left: 0; content: ''; width: 100%; height: calc(100% - 2px); border: 1px solid #ddd; border-left: none; }

/* h5 */
.style5a { margin: 65px 0 30px !important; padding: .85em 1.5em .8em; font-size: 18px !important; background: #fafafa; border: 1px solid #ddd; }

.style5b { margin: 65px 0 30px !important; padding: .85em 1.5em .8em; font-size: 18px !important; color: #fff; background: #000; }

/* h6 */
.style6 { position: relative; margin: 65px 0 30px !important; padding: 0 .8em 0 1.3em; color: #000; font-size: 16px !important; font-weight: 700; }

.style6:before { background: #000; content: ""; position: absolute; top: .35em; left: 0; width: 12px; height: 12px; }

@media screen and (max-width: 767px) { /* h2 */
  .style2a { margin: 30px 0 20px !important; padding: 0 0 .6em; font-size: 20px !important; }
  .style2b { margin: 30px 0 20px !important; padding: .42em .7em .41em; font-size: 20px !important; color: #fff; background: #000; }
  /* h3 */
  .style3a { margin: 30px 0 20px !important; padding: .6em .15em; font-size: 18px !important; }
  .style3b { margin: 30px 0 20px !important; padding: .5em .5em .45em .6em; font-size: 18px !important; }
  /* h4 */
  .style4a { margin: 30px 0 20px !important; padding: .4em 0 .4em .8em; border-left: 2px solid #000; font-size: 16px !important; }
  .style4b { margin: 30px 0 20px !important; padding: .8em 1em .75em; border-left: #000 2px solid; font-size: 16px !important; }
  /* h5 */
  .style5a { margin: 30px 0 20px !important; padding: .8em 1em .75em; font-size: 15px !important; }
  .style5b { margin: 30px 0 20px !important; padding: .8em 1em .75em; font-size: 15px !important; } }

.news_headline1 { border-left: 8px solid #444; font-size: 1.2em; line-height: 1.2; margin: 80px 0 25px 0; padding: .5em; position: relative; }

.news_headline1:after { border-bottom: 1px dotted #ddd; content: ""; position: absolute; bottom: 0px; left: 0; width: 100%; height: 0; }

.news_headline2 { border-left: 6px solid #545454; font-size: 1.1em; line-height: 26px; margin: 40px 0 20px 0; padding: 0 .5em; }

.balloon { background: #222; border-bottom: 0; clear: both; color: #fff; display: block; font-size: 20px; font-weight: 400; margin: 50px 0 22px; min-width: 115px; padding: .5em 18px .5em; position: relative; text-align: left; width: auto; z-index: 0; }

.balloon:after { border-color: #222 transparent transparent transparent; border-style: solid; border-width: 10px 10px 0 10px; bottom: -10px; content: ""; display: block; margin-left: -10px; position: absolute; left: 30px; width: 0px; height: 0px; }

/* flame - 囲み枠 */
.well { margin-bottom: 30px; padding: 1.1em 2em; background-color: #fafafa; border: 1px solid #ddd; border-radius: 6px; }

.well2 { margin-bottom: 30px; padding: 1.1em 2em; border: 1px solid #ddd; }

.well3 { margin-bottom: 30px; padding: 1.1em 2em; border: 1px dashed #ddd; background: #fafafa; }

.wl_red { background-color: #f2dede; border-color: #ebccd1; color: #a94442; }

.wl_yellow { background-color: #fcf8e3; border-color: #faebcc; color: #8a6d3b; }

.wl_blue { background-color: #d9edf7; border-color: #bce8f1; color: #31708f; }

.wl_green { background-color: #dff0d8; border-color: #d6e9c6; color: #3c763d; }

@media screen and (max-width: 767px) { .well, .well2, .well3 { padding: .9em .8em .9em 1em; } }

/* button - CSSボタンのスタイル */
.q_button { background-color: #535353; box-sizing: border-box; color: #fff !important; display: inline-block; font-size: 100%; font-weight: 400; min-width: 200px; margin: 0; max-width: 90%; padding: .6em 1.3em .5em; transition: all 0.3s ease-in-out 0s; text-decoration: none; text-align: center; vertical-align: middle; }

.q_button:hover, .q_button:focus { background-color: #7d7d7d; color: #fff; text-decoration: none; }

/* Button option */
.rounded { border-radius: 6px; }

.pill { border-radius: 50px; }

.sz_full { display: block; font-size: 110%; max-width: 100%; min-width: 100px; padding: 1em 1.5em .9em; }

.sz_l { font-size: 110%; max-width: 90%; min-width: 350px; padding: .8em 1.5em .7em; }

@media screen and (max-width: 767px) { .sz_l { box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; } }

.sz_s { min-width: 100px; max-width: 90%; font-size: 85%; padding: .4em 1em .3em; }

.bt_red { background: #c01f0e; color: #fff; }

.bt_red:hover, .bt_red:focus { background-color: #d33929; color: #fff; }

.bt_yellow { background: #f1c40f; color: #fff; }

.bt_yellow:hover, .bt_yellow:focus { background-color: #f9d441; color: #fff; }

.bt_blue { background: #2980b9; color: #fff; }

.bt_blue:hover, .bt_blue:focus { background-color: #3a91c9; color: #fff; }

.bt_green { background: #27ae60; color: #fff; }

.bt_green:hover, .bt_green:focus { background-color: #39c574; color: #fff; }

/* Youtube responsive - Youtube動画のレスポンシブ表示 */
.ytube { position: relative; height: 0; margin-top: 20px; margin-bottom: 20px; padding-bottom: 56.25%; padding-top: 30px; overflow: hidden; }

.ytube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* Table responsive - テーブルのレスポンシブ表示 */
.rps_table { line-height: 2.0; }

@media only screen and (max-width: 567px) { .rps_table tr { display: block; margin-bottom: 1.5em; }
  .rps_table th, .rps_table td { display: list-item; list-style-type: none; }
  .rps_table td { border-top: none; } }

/* Cardlink style - カードリンクのスタイル */
.cardlink { padding: 20px; margin: 10px 0; border: 1px solid #ddd; word-wrap: break-word; max-width: 100%; background: #fafafa; }

.cardlink_thumbnail { float: left; margin-right: 25px; }

.cardlink_thumbnail img { width: 130px; height: 130px; -o-object-fit: cover; object-fit: cover; }

/* for IE11 */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { .cardlink_thumbnail img { height: auto; } }

.cardlink_content { line-height: 1.6; }

.cardlink_timestamp { display: inline; margin: 0; padding: 0; vertical-align: top; color: #222; line-height: 1; font-size: 12px; }

.cardlink_title { font-size: 16px; margin: -3px 0 5px; }

.cardlink_title a { font-weight: bold; color: #000; text-decoration: none; }

.cardlink_title a:hover { text-decoration: underline; }

.cardlink_excerpt { color: #000; font-size: 14px; overflow: hidden; line-height: 1.9; }

.cardlink_footer { clear: both; }

.clear { clear: both; }

@media screen and (max-width: 767px) { .cardlink_timestamp { display: none; } }

@media screen and (max-width: 567px) { .cardlink { padding: 15px 11px 12px 13px; }
  .cardlink_thumbnail { float: left; margin-bottom: 10px; margin-right: 12px; }
  .cardlink_thumbnail img { width: 100px; height: 100px; }
  .cardlink_title { font-size: 14px; margin-top: -5px; }
  .cardlink_excerpt { clear: both; } }

/* Contactform - お問い合わせフォーム */
.wpcf7 { background: #fafafa; border: 1px solid #ddd; font-size: 14px; margin: 0 0 2.5em !important; padding: 0; width: 100%; }

.wpcf7 form { margin: 1.5em 1.5em 0; }

.wpcf7 p { margin-bottom: 1em; font-size: 16px; }

.wpcf7 input, .wpcf7 textarea { border: 1px solid #ccc; box-sizing: border-box; line-height: 1.2; padding: 8px; width: 100%; }

.wpcf7 select, .wpcf7 input[type=checkbox], .wpcf7 input[type=radio] { border: 1px solid #ccc; max-width: 97%; padding: 8px; width: auto; }

.wpcf7 select, .wpcf7 .wpcf7-list-item-label { font-size: 14px; line-height: 1.2; }

.wpcf7 .wpcf7-list-item { display: block; }

.wpcf7 textarea { height: 300px; }

.wpcf7 input:focus, .wpcf7 textarea:focus { border: 1px solid #bbb; outline: none; }

.wpcf7 .wpcf7-submit { box-sizing: border-box; position: relative; display: block; width: 225px; height: 48px; margin: 30px auto 0; background-color: #333333; cursor: pointer; border: none !important; color: #fff; text-align: center; text-decoration: none; font-size: 14px; line-height: 1.5; outline: none; transition: all .3s; }

.wpcf7 .wpcf7-submit:before, .wpcf7 .wpcf7-submit:after { box-sizing: border-box; }

.wpcf7 .wpcf7-submit:hover { background-color: #666666; }

.wpcf7 .wpcf7-submit .wpcf7-not-valid { background: pink; }

.wpcf7 .wpcf7-submit .wpcf7-response-output { margin: 10px 0 0; padding: 8px 35px 8px 14px; border-radius: 4px; }

.wpcf7 .wpcf7-submit .wpcf7-validation-errors { color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7; }

.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok { color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1; }

/* font-size - フォントサイズ */
.text70 { font-size: 70%; }

.text80 { font-size: 80%; }

.text90 { font-size: 90%; }

.text100 { font-size: 100%; }

.text110 { font-size: 110%; }

.text120 { font-size: 120%; }

.text130 { font-size: 130%; }

.text140 { font-size: 140%; }

.text150 { font-size: 150%; }

.text160 { font-size: 160%; }

.text170 { font-size: 170%; }

.text180 { font-size: 180%; }

.text190 { font-size: 190%; }

.text200 { font-size: 200%; }

.text210 { font-size: 210%; }

.text220 { font-size: 220%; }

.b { font-weight: 700; }

/* 太字 */
.u { text-decoration: underline; }

/* 下線 */
.del { text-decoration: line-through; }

/* 打ち消し線 */
/* font-color - フォントカラー */
.red { color: #be0714; }

/* 赤色 */
.blue { color: #2ca9e1; }

/* 青色 */
.green { color: #82ae46; }

/* 緑色 */
.orange { color: #ff7d00; }

/* 橙色 */
.yellow { color: #fff000; }

/* 黄色 */
.pink { color: #ff0084; }

/* ピンク */
.gray { color: #999999; }

/* グレー */
/* background-color - 背景色 */
/* 青色の文字背景 */
.bg-blue { background-color: #4ab0f5; padding: 2px; }

/* 赤色の文字背景 */
.bg-red { background-color: red; padding: 2px; }

/* 黄色の文字背景 */
.bg-yellow { background-color: #ff0; padding: 2px; }

/* text-align - 配置 */
.align1 { text-align: center !important; }

/* 中央寄せ */
.align2 { text-align: right !important; }

/* 右寄せ */
.align3 { text-align: left !important; }

/* 左寄せ */
/* float - 回り込み */
/* 右に回り込み */
.r-flo { float: right; margin: 10px; }

/* 左に回り込み */
.l-flo { float: left; margin: 10px; }

.f-clear { clear: both; }

/* 回り込みの解除 */
/* hover - 画像リンクマウスオーバー時の不透明度 */
a img.fade { background: none !important; outline: none; transition: all .3s; }

a:hover img.fade { opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )"; background: none !important; }

/* text-style - テキストスタイル */
/* 注意書き等で二行目以降を字下げ */
.att { padding-left: 1em; text-indent: -1em; }

/* テキストボックス */
.att_box { margin: 2em 0 2.5em; padding: 1em 1.2em; line-height: 2.0; border: 1px dotted #cccccc; background: #fcfcfc; }

/* margin - 要素の外側の余白 */
.m0 { margin: 0 !important; }

/* margin 0px を指定するクラス */
.mt0 { margin-top: 0 !important; }

/* margin-top0px を指定するクラス */
.mr0 { margin-right: 0 !important; }

/* margin-right0px を指定するクラス*/
.mb0 { margin-bottom: 0 !important; }

/* margin-bottom0px を指定するクラス*/
.ml0 { margin-left: 0 !important; }

/* margin-left0px を指定するクラス*/
.m5 { margin: 5px !important; }

.mt5 { margin-top: 5px !important; }

.mr5 { margin-right: 5px !important; }

.mb5 { margin-bottom: 5px !important; }

.ml5 { margin-left: 5px !important; }

.m10 { margin: 10px !important; }

.mt10 { margin-top: 10px !important; }

.mr10 { margin-right: 10px !important; }

.mb10 { margin-bottom: 10px !important; }

.ml10 { margin-left: 10px !important; }

.m15 { margin: 15px !important; }

.mt15 { margin-top: 15px !important; }

.mr15 { margin-right: 15px !important; }

.mb15 { margin-bottom: 15px !important; }

.ml15 { margin-left: 15px !important; }

.m20 { margin: 20px !important; }

.mt20 { margin-top: 20px !important; }

.mr20 { margin-right: 20px !important; }

.mb20 { margin-bottom: 20px !important; }

.ml20 { margin-left: 20px !important; }

.m25 { margin: 25px !important; }

.mt25 { margin-top: 25px !important; }

.mr25 { margin-right: 25px !important; }

.mb25 { margin-bottom: 25px !important; }

.ml25 { margin-left: 25px !important; }

.m30 { margin: 30px !important; }

.mt30 { margin-top: 30px !important; }

.mr30 { margin-right: 30px !important; }

.mb30 { margin-bottom: 30px !important; }

.ml30 { margin-left: 30px !important; }

.m35 { margin: 35px !important; }

.mt35 { margin-top: 35px !important; }

.mr35 { margin-right: 35px !important; }

.mb35 { margin-bottom: 35px !important; }

.ml35 { margin-left: 35px !important; }

.m40 { margin: 40px !important; }

.mt40 { margin-top: 40px !important; }

.mr40 { margin-right: 40px !important; }

.mb40 { margin-bottom: 40px !important; }

.ml40 { margin-left: 40px !important; }

.m45 { margin: 45px !important; }

.mt45 { margin-top: 45px !important; }

.mr45 { margin-right: 45px !important; }

.mb45 { margin-bottom: 45px !important; }

.ml45 { margin-left: 45px !important; }

.m50 { margin: 50px !important; }

.mt50 { margin-top: 50px !important; }

.mr50 { margin-right: 50px !important; }

.mb50 { margin-bottom: 50px !important; }

.ml50 { margin-left: 50px !important; }

.m55 { margin: 55px !important; }

.mt55 { margin-top: 55px !important; }

.mr55 { margin-right: 55px !important; }

.mb55 { margin-bottom: 55px !important; }

.ml55 { margin-left: 55px !important; }

.m60 { margin: 60px !important; }

.mt60 { margin-top: 60px !important; }

.mr60 { margin-right: 60px !important; }

.mb60 { margin-bottom: 60px !important; }

.ml60 { margin-left: 60px !important; }

.m65 { margin: 65px !important; }

.mt65 { margin-top: 65px !important; }

.mr65 { margin-right: 65px !important; }

.mb65 { margin-bottom: 65px !important; }

.ml65 { margin-left: 65px !important; }

.m70 { margin: 70px !important; }

.mt70 { margin-top: 70px !important; }

.mr70 { margin-right: 70px !important; }

.mb70 { margin-bottom: 70px !important; }

.ml70 { margin-left: 70px !important; }

.m75 { margin: 75px !important; }

.mt75 { margin-top: 75px !important; }

.mr75 { margin-right: 75px !important; }

.mb75 { margin-bottom: 75px !important; }

.ml75 { margin-left: 75px !important; }

.m80 { margin: 80px !important; }

.mt80 { margin-top: 80px !important; }

.mr80 { margin-right: 80px !important; }

.mb80 { margin-bottom: 80px !important; }

.ml80 { margin-left: 80px !important; }

/* padding - 要素の内側の余白 */
.p0 { padding: 0 !important; }

.pt0 { padding-top: 0 !important; }

.pr0 { padding-right: 0 !important; }

.pb0 { padding-bottom: 0 !important; }

.pl0 { padding-left: 0 !important; }

.p5 { padding: 5px !important; }

.pt5 { padding-top: 5px !important; }

.pr5 { padding-right: 5px !important; }

.pb5 { padding-bottom: 5px !important; }

.pl5 { padding-left: 5px !important; }

.p10 { padding: 10px !important; }

.pt10 { padding-top: 10px !important; }

.pr10 { padding-right: 10px !important; }

.pb10 { padding-bottom: 10px !important; }

.pl10 { padding-left: 10px !important; }

.p15 { padding: 15px !important; }

.pt15 { padding-top: 15px !important; }

.pr15 { padding-right: 15px !important; }

.pb15 { padding-bottom: 15px !important; }

.pl15 { padding-left: 15px !important; }

.p20 { padding: 20px !important; }

.pt20 { padding-top: 20px !important; }

.pr20 { padding-right: 20px !important; }

.pb20 { padding-bottom: 20px !important; }

.pl20 { padding-left: 20px !important; }

.p25 { padding: 25px !important; }

.pt25 { padding-top: 25px !important; }

.pr25 { padding-right: 25px !important; }

.pb25 { padding-bottom: 25px !important; }

.pl25 { padding-left: 25px !important; }

.p30 { padding: 30px !important; }

.pt30 { padding-top: 30px !important; }

.pr30 { padding-right: 30px !important; }

.pb30 { padding-bottom: 30px !important; }

.pl30 { padding-left: 30px !important; }

.p35 { padding: 35px !important; }

.pt35 { padding-top: 35px !important; }

.pr35 { padding-right: 35px !important; }

.pb35 { padding-bottom: 35px !important; }

.pl35 { padding-left: 35px !important; }

.p40 { padding: 40px !important; }

.pt40 { padding-top: 40px !important; }

.pr40 { padding-right: 40px !important; }

.pb40 { padding-bottom: 40px !important; }

.pl40 { padding-left: 40px !important; }

.p45 { padding: 45px !important; }

.pt45 { padding-top: 45px !important; }

.pr45 { padding-right: 45px !important; }

.pb45 { padding-bottom: 45px !important; }

.pl45 { padding-left: 45px !important; }

.p50 { padding: 50px !important; }

.pt50 { padding-top: 50px !important; }

.pr50 { padding-right: 50px !important; }

.pb50 { padding-bottom: 50px !important; }

.pl50 { padding-left: 50px !important; }

.p55 { padding: 55px !important; }

.pt55 { padding-top: 55px !important; }

.pr55 { padding-right: 55px !important; }

.pb55 { padding-bottom: 55px !important; }

.pl55 { padding-left: 55px !important; }

.p60 { padding: 60px !important; }

.pt60 { padding-top: 60px !important; }

.pr60 { padding-right: 60px !important; }

.pb60 { padding-bottom: 60px !important; }

.pl60 { padding-left: 60px !important; }

.p65 { padding: 65px !important; }

.pt65 { padding-top: 65px !important; }

.pr65 { padding-right: 65px !important; }

.pb65 { padding-bottom: 65px !important; }

.pl65 { padding-left: 65px !important; }

.p70 { padding: 70px !important; }

.pt70 { padding-top: 70px !important; }

.pr70 { padding-right: 70px !important; }

.pb70 { padding-bottom: 70px !important; }

.pl70 { padding-left: 70px !important; }

.p75 { padding: 75px !important; }

.pt75 { padding-top: 75px !important; }

.pr75 { padding-right: 75px !important; }

.pb75 { padding-bottom: 75px !important; }

.pl75 { padding-left: 75px !important; }

.p80 { padding: 80px !important; }

.pt80 { padding-top: 80px !important; }

.pr80 { padding-right: 80px !important; }

.pb80 { padding-bottom: 80px !important; }

.pl80 { padding-left: 80px !important; }


/*************************/
/* フロートボックス */
/*************************/
.fbox {
  overflow: hidden;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  width: 100%;
}

.fbox:after, .clearfix:before {
  content: "";
  display: block;
  overflow: hidden
}

.fbox:after {
  clear: both
}

.fbox .L5 {
  float: left;
  width: 5%;
  box-sizing: border-box;
}

.fbox .L10 {
  float: left;
  width: 10%;
  box-sizing: border-box;
}

.fbox .L15 {
  float: left;
  width: 15%;
  box-sizing: border-box;
}

.fbox .L20 {
  float: left;
  width: 20%;
  box-sizing: border-box;
}

.fbox .L25 {
  float: left;
  width: 25%;
  box-sizing: border-box;
}

.fbox .L30 {
  float: left;
  width: 30%;
  box-sizing: border-box;
}

.fbox .L33 {
  float: left;
  width: 33.3333%;
  box-sizing: border-box;
}

.fbox .L35 {
  float: left;
  width: 35%;
  box-sizing: border-box;
}

.fbox .L40 {
  float: left;
  width: 40%;
  box-sizing: border-box;
}

.fbox .L45 {
  float: left;
  width: 45%;
  box-sizing: border-box;
}

.fbox .L50 {
  float: left;
  width: 50%;
  box-sizing: border-box;
}

.fbox .L55 {
  float: left;
  width: 55%;
  box-sizing: border-box;
}

.fbox .L60 {
  float: left;
  width: 60%;
  box-sizing: border-box;
}

.fbox .L65 {
  float: left;
  width: 65%;
  box-sizing: border-box;
}

.fbox .L70 {
  float: left;
  width: 70%;
  box-sizing: border-box;
}

.fbox .L75 {
  float: left;
  width: 75%;
  box-sizing: border-box;
}

.fbox .L80 {
  float: left;
  width: 80%;
  box-sizing: border-box;
}

.fbox .L85 {
  float: left;
  width: 85%;
  box-sizing: border-box;
}

.fbox .L90 {
  float: left;
  width: 90%;
  box-sizing: border-box;
}

.fbox .L95 {
  float: left;
  width: 95%;
  box-sizing: border-box;
}

.fbox .L100 {
  width: 100%;
  box-sizing: border-box;
}

.fbox .L5, .fbox .L10, .fbox .L15, .fbox .L20, .fbox .L25, .fbox .L30, .fbox .L33, .fbox .L35, .fbox .L40, .fbox .L45, .fbox .L50, .fbox .L55, .fbox .L60, .fbox .L65, .fbox .L70, .fbox .L75, .fbox .L80, .fbox .L85, .fbox .L90, .fbox .L95, .fbox .L100 {
  padding: 5px;
}

.fbox p {
  margin: 0;
  padding: 0;
}
/*************************/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
/*************************/
.pcOnly {
  display: block !important;
}

.spOnly {
  display: none !important;
}

.center {
  text-align: center;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}


.p-address .logo img,
.c-logo img {
	max-height:80px;
	width:auto;
}

ul.p-footer-nav,
.works-template-default .p-breadcrumb li:nth-child(3),
.p-index-content04 .p-btn,
.p-page-header__sub {
  display: none;
}

.footer-menu h2 {
  font-size: 1em;
}
.footer-menu ul {
  font-weight: 600;
  list-style-type: none;
  line-height: 2;
}
.footer-menu ul.sub {
  font-weight: normal;
  margin-left: 1.2em;
  list-style-type: disc;
}

.p-info {
  overflow: hidden;
}

.home .l-contents {
  background-image:url("/wp-content/uploads/2021/03/bg2-min.png") !important;
  background-repeat:no-repeat !important;
  background-position:center top 5% !important;
  background-size:80% !important;
  background-color: #fff;
}
.p-index-content04 {
  background-image:url("/wp-content/uploads/2021/03/bg3-min.png") !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
  background-size:100% !important;
  background-color: #fff;
}

.p-address {
  margin: 3em auto 2em auto;
  overflow: hidden;
}
.p-address h3{
  margin-bottom: 1em;
  line-height: normal;
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}
.p-address h3 span{
  padding-bottom: .3em;
  border-bottom: 2px solid #78942d;
}
.p-address .logo{
  text-align: center;
  margin: 0 auto 3em auto;
}
.p-address .l-inner{
  font-weight: normal;
  font-size: 1em;
  line-height: 1.8;
}
.p-address .l-inner .L33{
  margin-bottom: 1em;
}



#footerContact h2.p-cb__item-title{
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  text-align: center;
  font-size: 240%;
  clear: both; line-height: 1.4; margin-bottom: 34.2px;
}

#footerContact h3{
  font-size: 1.5em;
  padding-bottom: 0;
  margin-bottom: .5em;
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-weight: 500;
  font-weight: 600;
}
#footerContact {
  border-bottom:solid #ddd 1px;
  padding: 5em 0 4em 0;
}
#footerContact .L33{
  line-height: 1.8;
  margin-bottom: 1em;
}

.p-btn a,
#js-header a.q_button,
#footerContact .q_button{
  background: #78942d !important;
  background: -moz-linear-gradient(left, #78942d, #5f862b) !important;
  background: -webkit-linear-gradient(left, #78942d, #5f862b) !important;
  background: linear-gradient(to right, #78942d, #5f862b) !important;
}
.p-btn a:hover,
#js-header a.q_button:hover,
#footerContact .q_button:hover{
  background: #5f862b !important;
  background: -moz-linear-gradient(left, #5f862b, #78942d) !important;
  background: -webkit-linear-gradient(left, #5f862b, #78942d) !important;
  background: linear-gradient(to right, #5f862b, #78942d) !important;
}

#footerContact .q_button{
  margin-top: 2em;
  padding-top:1.5em;
  padding-bottom:1.5em;
  font-size: 1.3em;
  width: auto;
}


#js-header a.q_button {
  padding-top: 1em;
  padding-bottom: 1em;
}
#js-header .spOnly {
  text-align: right;
  padding: 0; position: absolute; top: 0; right: 60px; z-index: 1; width: 60px; height: 60px;
}

#footerContact .time {
  font-size: 14px;
}
#footerContact .mail-time {
  font-size: 14px;
  text-align: center;
  margin-top: .7em;
}
#footerContact .tel{
  font-size: 52px;
  line-height: normal;
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-weight: 500;
  font-weight: 500;
}
i.far,
i.fas {
  margin-right: .5em;
}

#topFree1 h3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  text-align: center;
  font-size: 240%;
  clear: both; line-height: 1.4; margin-bottom: 40px;
  margin-bottom: 1.5em;
}
#topFree1 h3 span {
  border-bottom: 6px solid #e4c870;
}
#topFree1 .msg {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.5em;
  line-height: 1.7;
}
#topFree1 img {
  width: 92%;
}
#topFree1 .L40 {
  text-align: right;
}

.p-info,
#js-header__nav,
header#js-header,
body {
  background: url("/wp-content/uploads/2021/03/bg.png") !important;
}
.p-global-nav > li { border-left: none; border-right: 1px solid #ddd;  }
.p-global-nav > li:last-child { border-right: none;  }
.p-global-nav > li > a:hover,.p-global-nav > .current-menu-item > a{background: none !important;}
.p-global-nav > li > a:hover{border-top: 1px solid #78942d !important;}

.p-footer-widgets {
  color: #fff !important;
}
.p-footer-widgets a{
  color: #fff;
}
.p-footer-widgets__inner { border: none; }
.p-footer-widgets__item { border-right: none; }

.p-copyright,
.p-footer-widgets,
.p-page-header,
.p-footer-banners {
  background: #78942d url("/wp-content/uploads/2021/03/bg4.png")!important;
}
.p-footer-banners .p-footer-banners__list-item img{
/*
  border: 1px solid #ddd;
*/
border: 1px solid #fff;
}
.p-footer-banners .p-footer-banners__list-item a:hover{
  opacity: .9;
}

.l-contents,
.l-contents--no-border {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

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

.l-header__nav{
  box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.3) !important;
}
.p-entry__body p {
  margin: 0 !important;
  padding: 0 !important;
}
.p-entry__body {
  line-height: 1.8;
  background: none !important;
}

.p-entry {
  background: #fff;
}
.l-main {
  background-color: #fff ;
  background-image:url("/wp-content/uploads/2021/03/bg6-min.png");
  background-repeat:no-repeat;
  background-position:right bottom;
}
.p-entry__body {
  padding: 2.5em 0 !important;
}
.l-contents__inner {
  background: none !important;
}

.l-contents {
  background-image:url("/wp-content/uploads/2021/03/bg5-min.png");
  background-repeat:no-repeat;
  background-position:left top;
}

/*************************/
/* ボタン */
/*************************/
.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none !important;
  letter-spacing: 0.1em;
  color: #000;
  border-radius: 0.5rem;
}
a.btn-border {
  border: 2px solid #000;
  border-radius: 0;
  background: #fff;
}

a.btn-border:hover {
  color: #fff;
  background: #000;
}

.btn2,
a.btn2,
button.btn2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none !important;
  letter-spacing: 0.1em;
  color: #fff !important;
  border-radius: 0.5rem;
}
a.btn-border2 {
  border: 2px solid #000;
  border-radius: 0;
  background: #000;
}

a.btn-border2:hover {
  color: #000 !important;
  background: #fff;
}
/*************************/
/* 下層ページ共通 */
/*************************/
/* 初期化ここから */
.p-company-header { margin-bottom: 0; position:static; }
.p-company-header__content { line-height: 1; text-align: center; width: 100%; position: static; top: 0; -webkit-transform: translateY(0%); transform: translateY(0%); }
.p-company-header__img { text-align: center; }
.p-company-header__img img { max-width: 100%; height: auto; }
.p-company-header__title { margin-bottom: 0; }
@media screen and (max-width: 767px) {
  .p-company-header { margin: 0; }
  .p-company-header__title { margin-bottom: 0; }
}
.p-works-entry__title { line-height: 1; margin-bottom: 0; }

.p-works-entry__header { margin-bottom: 0; }
@media screen and (max-width: 767px) {.p-works-entry { margin-top: 0; }
  .p-works-entry__header { margin-bottom: 0; }
  .p-works-entry__img { margin-bottom: 0; }
  .p-works-entry__cat { margin-bottom: 0; }
  .p-works-entry__title { margin-bottom: 0; }
}
.p-works-entry__header {
  border-bottom: none !important;
}
/* 初期化ここまで */

h1.p-works-entry__title ,
h1.p-company-header__title {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 200%;
  border-top: 3px solid #78942d;
  border-bottom: 1px solid #ddd !important;
  padding: 1.5em 0;
  text-align: center;


}
.p-entry__body {
  padding-top: 1em;
}

.page-id-100 .l-contents,
.page-id-59 .l-contents,
.page-id-64 .l-contents,
.page-id-66 .l-contents,
.page-id-74 .l-contents,
.page-id-68 .l-contents,
.page-id-70 .l-contents {
  background-position:left 450px;
}
.p-entry__body a {
  text-decoration: underline;
}
.p-entry__body a:hover {
  text-decoration: none;
  opacity: .8;
}

/*************************/
/* 情報公開 */
/*************************/
#disclosure {
  overflow: hidden;
}
#disclosure a {
  text-decoration: none;
}
#disclosure a:hover {
  text-decoration: underline;
}
#disclosure i.fas {
  margin-left: .5em;
}
#disclosure .exp {
  margin-bottom: 1em;
  text-align: center;
  font-size: 1.2em;
}
#disclosure .exp2 {
  margin-bottom: 3em;
  text-align: center;
}
#disclosure .exp3 {
  margin-bottom: 1em;
}

/*************************/
/* 施設案内 */
/*************************/
#shisetsu .catchTxt {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
  font-size: 180%;
  padding: 3em 0 0 0;
}
#shisetsu .catchTxt2 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
  font-size: 120%;
  padding: 0 0 1.5em 0;
}
#shisetsu .catchTxt3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 180%;
  padding: 4.5em 0 0 0;
  text-align: center;
}
#shisetsu h2 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  padding: 0 0 .5em 0;
  margin: 0;
}
#shisetsu .image img{
  width: 100%;
  height: auto;
}
#shisetsu .exp {
  padding: 1em 0 1em 0;
}
#shisetsu .exp2 {
  padding: .5em 0 0 0;
}
#shisetsu hr {
  border-width: 1px 0px 0px 0px;
  border-style: solid;
  border-color: #ddd;
  height: 1px;
  margin: 2.5em 0;
}
#shisetsu img{
  margin:0 auto;
}

/*************************/
/* 永光墓園について */
/*************************/
#eikoboen h2 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 180%;
  text-align: center;
  margin-top: 4em !important;
}
#eikoboen .aisatsu {
  overflow: hidden;
}
#eikoboen .sign {
  text-align: right;
  font-size: 14px;
  margin-top: 1em;
}
#eikoboen .exp {
  margin-bottom: 2em;
}
#eikoboen .sign img{
  max-height: 30px;
  width: auto;
}
#eikoboen table {
  width: 100%;
}
#eikoboen table th {
  font-weight: 600;
  white-space: nowrap;
}
#eikoboen table th,
#eikoboen table td {
  vertical-align: top;
  font-size: 1em;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: none;
  border-right: none;
  background: none;
  text-align: left;
  padding: 1.3em;
}

/*************************/
/* 霊園概要 */
/*************************/
#about .catchTxt {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
  font-size: 190%;
  padding: 3em 0 0 1.8em;
}
#about .exp {
  padding: 2em 0 2.5em 0;
}
#about table {
  width: 100%;
}
#about table th {
  font-weight: 600;
}
#about table th,
#about table td {
  font-size: 1em;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: none;
  border-right: none;
  background: none;
  text-align: left;
  padding: 1.3em;
}

/*************************/
/* リンク集 */
/*************************/
#link {
  text-align: center;
}
#link a ,
#about a {
  text-decoration: none;
}
#link a:hover ,
#about a:hover {
  text-decoration: underline;
}
#link h2 {
  font-size: 200%;
  margin: 0;
  padding: 0;
}
#link h3 {
  margin: 0;
  padding: 1em 0 .5em 0;
}
#link h3 span{
  border-bottom: 2px solid #000;
}
#link h2 ,
#link h3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}
#about .fas,
#link .fas {
  margin-left: .5em;
}

/*************************/
/* 交通アクセス */
/*************************/
#access .exp {
  text-align: center;
  font-size: 1.2em;
  margin-bottom: 2em;
}
#access .address {
  margin-top: 1.5em;
}
#access .mapimg img {
  margin: 0 auto 2em auto;
  width: 90%;
  height: auto;
}

/*************************/
/* お墓の種類・価格 */
/*************************/
#ohaka table th,
#ohaka table td {
  font-size: 1em;
}
#ohaka img {
  padding: 0;
  margin: 0 auto;
}
#ohaka p ,
#ohaka .fbox p {
  margin: 0;
  padding: 0;
}
#ohaka .exp {
  padding-bottom:1em;
}
#ohaka .exp2 {
  padding-bottom:1em;
}
#ohaka .heibei {
  padding:.5em 0 !important;
  text-align: center;
}
#ohaka h2 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 160%;
  margin-top: 2.5em;
  border-left:solid 3px #78942d;
  padding-left: .5em;
}
#ohaka h3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}
#ohaka h4 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  padding-bottom: 0;
  margin-bottom: .2em;
}
#ohaka .eidaikuyo-flow {
  background: #eee;
  padding: 1.5em;
  margin: 1.5em 0;
}
#ohaka .idx {
  text-align: center;
  margin:.5em 0 .5em 0;
}
#ohaka .idx span{
  border-bottom: 1px solid #000;
}
#ohaka .eidaikuyo {
  background: #eee;
  padding: 1em;
}
#ohaka .eidaikuyo .box {
  width: 50%;
  float: left;
  display: inline-block;
  text-align: center;
  padding: 6px;
}
#ohaka .eidaikuyo .box img {
  height: auto;
  padding: 0;
  margin: 0 auto;
}
#ohaka .eidaikuyo-price {
  margin-top: 1.5em;
}
#ohaka .eikoen table ,
#ohaka .eidaikuyo-price table {
  margin-bottom: .2em;
}
#ohaka .eikoen {
  margin-top: 2em;
}

#ohaka .eidaikuyo-price-exp {
  text-align: right;
  font-size: 14px;
}
#ohaka .per50 {
  width: 70%;
}
#ohaka .per50 th{
  width: 50%;
  white-space: nowrap;
}
#ohaka .per100 {
  width: 100%;
}
#ohaka .per100 th{
  width: 22%;
  white-space: nowrap;
}
#ohaka .eidaikuyo-price .per100 th{
  width: 35%;
}
#ohaka .kanseibochi {
  padding-top: 1em;
}
#ohaka .kanseibochi h3 {
  font-size: 160%;
  padding: .5em 0;
  text-align: center;
  margin:.5em auto .5em auto;
  border-top:3px solid #78942d;
  border-bottom:1px solid #ccc;
}
#ohaka .kanseibochi .gedan {
  margin-left: 140px;
}
#ohaka .kanseibochi table,
#ohaka .kanseibochi table th,
#ohaka .kanseibochi table td {
  border: none;
}
#ohaka .kanseibochi table th,
#ohaka .kanseibochi table td {
  line-height: normal;
}
#ohaka .kanseibochi table th {
  padding-right: 1em;
  white-space: nowrap;
  background: #fff;
}
#ohaka .kanseibochi table td {
  padding-left: 1em;
}
#ohaka .price span {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 160%;
  font-weight: 500;
  margin-right: .2em;
}
#ohaka .kaisou {
  margin-top: 3em;
}
#ohaka .yukyu-no-mori table{
  margin-top: 1em;
}
#ohaka .eikoen ul,
#ohaka .yukyu-no-mori ul{
  font-size: 14px;
  margin-top: 2em;
}
#ohaka .yukyu-no-mori .btn2{
  font-size: 16px;
  padding: 1rem 2rem;
  width: 100%;
}
#ohaka .imgType2 {
  padding: 1em;
}
/*************************/
/* 各種ダウンロード */
/*************************/
#download .exp {
  text-align: center;
  font-size: 1.2em;
  margin-bottom: 3em;
}
#download h2 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 160%;
  margin-top: 2em;
}
#download a {
  text-decoration: none;
}
#download a:hover {
  text-decoration: underline;
}
#download ul {
  margin-left: 3.5em;
}
#download ul li::after{
  font-family: "Font Awesome 5 Free";
  content: '\f1c1';
  font-weight: 900;
  margin-left: .5em;
}

#download .fa-file-pdf {
  margin-left: .5em;
}
#download hr {
  border-width: 1px 0px 0px 0px;
  border-style: solid;
  border-color: #ddd;
  height: 1px;
  margin: 2.5em 0;
}

/*************************/
/* お墓建立の流れ */
/*************************/
#flow .exp{
  padding: 0 0 2em 0 ;
}
#flow .pdf{
  padding: 2em 0 2em 0 ;
  text-align: center;
}
#flow h3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 180%;
  margin-top: 2em;
}
#flow h3 span{
  border-bottom: 1px solid #000;
}
#flow h4 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
#flow h3:first-child {
  margin-top:0;
}
#flow .fbox{
  padding: 3em;
}
#flow .graybox{
  background: #eee;
}
#flow .fbox img{
  margin: 0 auto;
  padding: 0;
  width: 60%;
}
#flow hr {
  border-width: 1px 0px 0px 0px;
  border-style: solid;
  border-color: #ddd;
  height: 1px;
  margin: 2.5em 0;
}
#flow i.far,
#flow i.fas {
  margin-left: .5em;
}

/*************************/
/* 悠久の杜 */
/*************************/
#yukyu-no-mori .catchTxt {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
  font-size: 190%;
  padding: 3.7em 0 0 1.8em;
}
#yukyu-no-mori h3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 160%;
  padding: .5em 0;
  text-align: center;
  margin:.5em auto .5em auto;
  border-top:3px solid #78942d;
  border-bottom:1px solid #ccc;
}
#yukyu-no-mori h4 {
  margin-top: 1.8em;
  margin-bottom: 1em;
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  border-left:solid 3px #78942d;
  padding-left: .5em;
}

#yukyu-no-mori table,
#yukyu-no-mori table th,
#yukyu-no-mori table td {
  border: none;
  font-size: 1em;
  line-height: 1.6;
}
#yukyu-no-mori table th {
  width: 45%;
}
#yukyu-no-mori table td {
  width: 55%;
}
#yukyu-no-mori .check {
  margin-left: 1.5em;
}
#yukyu-no-mori .num {
  border-bottom: double #111;
  margin-right: .5em;
}
#yukyu-no-mori .price1 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 160%;
  font-weight: 500;
  margin:0 .1em;
}
#yukyu-no-mori .price2 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 140%;
  font-weight: 500;
  margin:0 .1em;
}
#yukyu-no-mori .zei-exp {
  padding: 1.5em;
  background: #f8f4e6;
  margin-bottom: 2em;
}
#yukyu-no-mori .eidaikuyo-flow {
  background: #eee;
  padding: 1.5em;
  margin: 1.5em 0;
}
#yukyu-no-mori .eidaikuyo-flow h5 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 130%;
  font-weight: 600;
}
#ohaka .eidaikuyo-flow h3 span ,
#yukyu-no-mori .eidaikuyo-flow h5 span {
  font-size: 75%;
  font-weight: 500;
  border-bottom: 1px solid #111;
  margin-left: 1.5em;
}
#yukyu-no-mori .exp {
  margin-top: 1.5em;
  font-size: 90%;
}

/*************************/
/* 無料送迎バス時刻表 */
/*************************/
#bus .dlBtn {
  margin:0 auto 2em auto;
  text-align: center;
}
#bus .p-news-tab-list__tabs-item  a{
  text-decoration: none;
}
#bus .p-news-tab-list__tabs {
  width:100%;
  padding: 0;
  margin: 0;
}
#bus .p-news-list,
#bus .p-news-tab-list__panel {
  width:100%;
  padding: 0;
  margin: 0;
}
#bus .p-news-list__item {
  padding:2em  1.5em;
  background: #fff;
}
#bus table.heijitu ,
#bus table.special {
  width: 100%;
  margin: 0;
}
#bus table.heijitu th,
#bus table.heijitu td {
  width: 33.33333%;
  text-align: center;
}
#bus table.heijitu td ,
#bus table.special td {
  background: #fff;
}
#bus table.special td.center {
  text-align: center;
}
#bus table.special th.line1,
#bus table.special td.line1,
#bus table.heijitu th.line1,
#bus table.heijitu td.line1 {
  border-bottom:double 3px #ddd !important;
}
#bus table.special th.line2,
#bus table.special td.line2,
#bus table.heijitu th.line2,
#bus table.heijitu td.line2 {
  border-top:double 3px #ddd !important;
  border-bottom:double 3px #ddd !important;
}

#bus table.special th.date {
  text-align: center;
  width: 30%;
}
#bus th.ttl {
  font-weight: 600;
  font-size: 1.1em;
}
#bus th.bold {
  font-weight: 600;
}
#bus .idx {
  padding: 0 0 .5em 0;
  margin: 0;
  font-weight: 600;
  text-align: center;
  font-size: 1.6em;
}
#bus .exp2 {
  background: #f8f4e6;
  line-height: 1.8;
  padding: 1.5em;
  margin-bottom: 1.5em;
  color: #be0714;
}
#bus .gmap {
  margin: 1.5em auto;
  text-align: center;
}
#bus .idx span {
  border-bottom: 1px solid #000;
}
#bus th.blueth {
  background: #edf3fb;
}
#bus th.redth {
  background: #fbeded;
}
/*************************/
/* 個人情報保護方針 */
/*************************/
#pv h3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: bold;
  margin-top: 2em;
}
/*************************/
/* お問い合わせ */
/*************************/
#contact .red {
  font-size: 1.2em;
  font-weight: 600;
}
#contact .red2 {
  color: #be0714;
  font-size: 1em;
  font-weight: normal;
}
#contact .exp {
  padding:0 1em 1em 1em;
}

#contact label {
  margin-top: 1.5em;
  display: block;
  font-size: 1.1em;
  font-weight: 600;
}
#contact .wpcf7-checkbox label {
  margin-top: .5em;
  font-weight: normal;
}
.wpcf7 {
  border: none;
  background: none;
}
/* 必須マーク */
.must{
	color: #fff;
  background: #be0714;
  font-weight: normal;
  font-size: 14px;
  margin-left: .5em;
  padding: 3px 6px;
  border-radius: 3px;
}
input.wpcf7-submit {
  width: 80%;
}
/* 入力項目を見やすくする */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* エラーメッセージを見やすくする */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: #be0714;
}
input.wpcf7-submit {
  margin-top: 2em;
  width: 40%;
}
.l-header__desc {
  font-size: 13px !important;
  line-height: 1.6;
  margin-left: 1.5em;
  color: #111 !important;
  border-left:solid 6px #ddd;
  padding: 0;
  margin: 0;
  padding-left: 2.3em;
}
.l-header__desc span {
  margin-right: .5em;
}
/*************************/
/* 年間スケジュール */
/*************************/
#schedule table.tbl1 {
  width: 80%;
}
#schedule table.tbl1 th{
  width: 30%;
}
#schedule .exp {
  margin-bottom: 1em;
}
#schedule .exp2 {
  font-size: 14px;
}
#schedule h2 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 160%;
  margin-top: 2.5em;
  border-left:solid 3px #78942d;
  padding-left: .5em;
}

/*************************/
/* 区画案内図 */
/*************************/
#kukaku .images {
  margin-bottom: 5em;
}
#kukaku ol {
  overflow: hidden;
  list-style-type: none;
}
#kukaku ol li {
  display: inline-block;
  float: left;
  width: 50%;
  box-sizing: border-box;
}
/*************************/
/* お問い合わせ2 */
/*************************/
#contact2 a {
  text-decoration: none;
}
#contact2 .red {
  font-size: 1em;
  font-weight: 600;
}
#contact2 .red2 {
  color: #be0714;
  font-size: 1em;
  font-weight: normal;
}
#contact2 .exp {
  padding:0 1em 1em 1em;
}

#contact2 .input {
  margin-top: 1.5em;
  font-weight: 600;
}
#contact2 input[type=text] {
  width: 80%;
}
/* 入力項目を見やすくする */
#contact2 input[type=text],
#contact2 textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}
#contact2 textarea {
	height: 200px;
}
#contact2 .q_button {
  border: none;
  margin-top: 2em;
}
#contact2 .lastcheck {
  margin-top: 1.5em;
  text-align: center;
  font-weight: 600;
}
#contact2 fieldset {
  margin: 2em 0 1em 0;
  border-radius: 10px;
  border: 1px solid #ccc;
  padding:0 2em 2em 2em;
}
#contact2 legend {
  font-weight: 600;
  padding: 0 .1em;
  font-size: 1.1em;
}
/*************************/
/* アコーディオン */
/*************************/
.cp_linetab {
  position: relative;
  overflow: hidden;
  width: 48%;
  margin:0 .5em;
  padding: 0 !important;
  color: #111;
  float:left;
}
.cp_linetab input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
#panel input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
#panel dt {
  font-weight: bold;
  line-height: 3;
  position: relative;
  display: block;
  padding: 0 0 0 1em !important;
  cursor: pointer;
  margin:.5em;
  background: #f8f8f8;
  border-radius:5px;
  border-left: 3px solid #78942d;
}
#panel dd li a:after{
  font-family:"FontAwesome";
  content:" \f1c1";
}
#panel dt:after{
  color: #111;
  font-family:"FontAwesome";
  content:" \f078";
  position: absolute;
  top: 0;
  right: 0;
  width: 2em;
  height: 3em;
}
#panel input:checked ~ #panel dt::after {
  color: #111;
  font-family:"FontAwesome";
  content:" \f077";
}


.cp_linetab label {
  font-weight: bold;
  line-height: 3;
  position: relative;
  display: block;
  padding: 0 0 0 1em !important;
  cursor: pointer;
  margin: 0 0 1px 0 !important;
  background: #f8f8f8;
  border-radius:5px;
  border-left: 3px solid #78942d;
}
.cp_linetab .cp_linetab-content {
  max-height: 0;
  -webkit-transition: max-height 0.5s;
  transition: max-height 0.5s;
  color: #111;
  margin:0 0 0 2em !important;
  padding: 0 !important;
}
.cp_linetab .cp_linetab-content p ul {
  list-style-type: disc !important;
}

.cp_linetab input:checked ~ .cp_linetab-content {
  max-height: 50em;
}

.cp_linetab label:after{
  color: #111;
  font-family:"FontAwesome";
  content:" \f078";
  position: absolute;
  top: 0;
  right: 0;
  width: 2em;
  height: 3em;
}

.cp_linetab input:checked ~ label::after {
  color: #111;
  font-family:"FontAwesome";
  content:" \f077";
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
/*************************/
/* ページ内リンク */
/*************************/
/*
a#link1 ,
a#link2 ,
a#link3 ,
a#link4 ,
a#link5 ,
a#link6 {
  margin-top:-310px !important;
  padding-top:310px !important;
  content: "";
}
*/
ul.pageNavi {
  list-style-type: none;
  width: 100%;
  margin: 0 ;
  padding: 0;
  margin-bottom: 2em;
  text-align: center;
  vertical-align: middle;
  overflow: hidden;

display: none;

}
ul.pageNavi li{
  float:left;
  text-align: center;
  margin: 0 ;
  padding: 0 ;
  border: none ;
  box-sizing: border-box;
}
.pageNavi.colm4 li {
  width: 25%;
}
.pageNavi.colm5 li {
  width: 20%;
}
ul.pageNavi li a{
  color: #fff;
  display: block;
  background: #111;
  text-decoration: none;
  padding: .5em 0;
  border-right: 1px solid #fff;
  font-size: 14px;
}
ul.pageNavi li a::after{
  font-family: "Font Awesome 5 Free";
  content: '\f078';
  font-weight: 900;
  margin-left: .5em;
}
.zipcode {
	width:33% !important;
}
@media all and (max-width: 767px) {
.zipcode {
	width:100% !important;
}	.inv-recaptcha-holder {
		text-align:center !important;
	}
  .l-header__desc {
    display: none !important;
  }
  /*************************/
  /* 樹木葬「悠久の杜」 */
  /*************************/
  #yukyu-no-mori .eidaikuyo-flow h5 span {
    display: block;
    margin-left: 0;
    margin-top: .3em;
  }
  #yukyu-no-mori table td {
    margin-bottom: 1.5em;
  }
  /*************************/
  /* 区画案内図 */
  /*************************/
  #kukaku .images {
    margin-bottom: 3em;
  }
  #kukaku ol li {
    display: block;
    float: none;
    width: 100%;
  }
  /*************************/
  /* ページ内リンク */
  /*************************/
  .pageNavi.colm4 li ,
  .pageNavi.colm5 li {
    width: 50%;
  }
  ul.pageNavi li a{
    border: 1px solid #fff;
  }
  /*************************/
  /* お墓の種類・価格 */
  /*************************/
  #ohaka .eidaikuyo-price-exp {
    padding-top: .5em;
    border-top: 1px solid #eee;
  }
  /*************************/
  /* 各種ダウンロード */
  /*************************/
  #download .exp {
    font-size: 1.2em;
    margin-bottom: 3em;
  }
  #download h2 {
    font-size: 160%;
    margin-top: 2em;
  }
  #download ul {
    margin-left: 1em;
  }
  /*************************/
  /* ボタン */
  /*************************/
  .btn,
  a.btn,
  button.btn {
    font-size: 1.2rem;
    padding: 1rem 2rem;
  }
  .btn2,
  a.btn2,
  button.btn2 {
    font-size: 1.2rem;
    padding: 1rem ;
  }
  /*************************/
  /* お墓の種類・価格 */
  /*************************/
  #ohaka .imgType2 {
    padding:0 1em 1em 1em;
  }
  /*************************/
  /* バス */
  /*************************/
  #bus table.special th {
    text-align: center;
    white-space: nowrap;
  }
  #bus table.special th span {
    display: block;
  }
  #bus .idx {
    font-size: 1.3em;
  }
  #bus .exp2 {
    line-height: 1.6;
    padding: 1em;
  }
  /*************************/
  /* お墓建立の流れ */
  /*************************/
  #flow .pdf{
    padding: 2em 0 2em 0 ;
    text-align: center;
  }
  #flow h3 {
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 130%;
    margin-top: 2em;
    margin-bottom:1em;;
  }
  #flow .fbox{
    padding: 1.5em;
  }
  #flow .fbox img{
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }
  #flow .juryou img{
    display: block;
    margin: 1em auto 1em auto;
    float: none;
    padding: 0;
  }

  /*************************/
  /* 永光墓園について */
  /*************************/
  #eikoboen .aisatsu img{
    display: block;
    margin: 1em auto 1em auto;
    float: none;
  }
  #eikoboen h2 {
    margin-top: 2em !important;
  }

  /*************************/
  /* 施設案内 */
  /*************************/
  #shisetsu .catchTxt {
    font-size: 1.3em;
    padding: .5em 0;
    font-weight: 600;
  }
  #shisetsu .image img{
    width: 98%;
  }
  #shisetsu .exp {
    padding: 1em 0 2em 0;
  }
  #shisetsu .catchTxt3 {
    font-size: 180%;
    padding: 0 0 0 0;
  }
  /*************************/
  /* 悠久の杜 */
  /*************************/
  #yukyu-no-mori .catchTxt {
    font-size: 1.3em;
    padding: .5em 0;
    font-weight: 600;
  }
  /*************************/
  /* 霊園概要 */
  /*************************/
  #about .catchTxt {
    font-size: 1.3em;
    padding: .5em 0;
    font-weight: 600;
  }
  #about .exp {
    padding: 1em 0 2.5em 0;
  }
  #eikoboen table ,
  #about table {
    width: 100%;
  }
  #eikoboen table th ,
  #about table th {
    font-weight: 600;
  }
  #eikoboen table th,
  #eikoboen table td,
  #about table th,
  #about table td {
    font-size: 1em;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-left: none;
    border-right: none;
    background: none;
    text-align: left;
    padding: .5em;
  }
  #eikoboen table td ,
  #about table td {
    padding: 1em .5em;
  }

  #access .exp {
    text-align: left;
    font-size: 1em;
  }
  #access .mapimg img {
    width: 100%;
  }
  h1.p-works-entry__title ,
  h1.p-company-header__title {
    font-size: 140%;
    padding: 1em 0;
    margin-top:1em;
  }
  .p-entry__body {
    padding-top: 2em !important;
  }
  .cp_linetab {
  width: 100%;
  float:none;
  }
  .l-contents,
  .l-main {
    background-image:none;
  }
  .p-entry__body {
    padding: 0;
  }
  #footerContact h2.p-cb__item-title{
    font-size: 1.2em;
  }
  #footerContact .tel{
    font-size: 48px;
  }
  #topFree1 {
    padding-top: 1.5em;
  }
  #topFree1 h3 {
    font-size: 1.5em;
    line-height: 2;
    margin-bottom: .5em;
  }
  #topFree1 .L25 {
    text-align: center;
  }
  #topFree1 .msg {
    font-size: 1em;
    line-height: 1.5;
  }
  #footerContact {
    padding: 3em 0 2em 0;
  }
  #footerContact .q_button{
    padding-top:.5em;
    padding-bottom:.5em;
    margin-top: .5em;
    font-size: 1.3em;
    font-weight: 600;
  }
  .p-address .logo img,
  .c-logo img {
  	max-height:60px;
  	width:auto;
  }
  /*************************/
  /* テーブルのセルを立て並べにする */
  /*************************/
  table.mobile-block {
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  table.mobile-block th {
    background: #f3f3f3 !important;
    text-align: center !important;
  }
  table.mobile-block th, table.mobile-block td {
    border: none !important;
    display: block !important;
    width: auto !important;
    box-sizing: border-box !important;
  }
  /*************************/
  /* フロートボックス */
  /*************************/
  .fbox .L5, .fbox .L10, .fbox .L15, .fbox .L20, .fbox .L25, .fbox .L30, .fbox .L33, .fbox .L35, .fbox .L40, .fbox .L45, .fbox .L50, .fbox .L55, .fbox .L60, .fbox .L65, .fbox .L70, .fbox .L75, .fbox .L80, .fbox .L85, .fbox .L90, .fbox .L95, .fbox .L100 {
    display: block;
    width: 100%;
  }
  /*************************/
  /* スマホではセンター寄せ（画像） */
  /*************************/
  .mobileCenter,
  .mobileCenter img{
    width: 90% !important;
    text-align: center !important;
    margin: 0 auto !important;
  }
  /*************************/
  /* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
  /*************************/
  .pcOnly {
    display: none !important;
  }
  .spOnly {
    display: block !important;
  }
  /*************************/
  /* フッターナビ */
  /*************************/
  ul.p-footer-nav {
    display:flex;
    text-align: center;
  }
}

@media only screen and (max-width: 1199px) {
  .p-address .logo img,
  .c-logo img {
  	max-height:60px;
  	width:auto;
  }
  #js-header a.q_button {
    display: none;
  }

  .sp-header-contact-btn {
    display: block !important;
  }

}


