@charset "UTF-8";
/*
Theme Name:339_plus
Theme URI:https://339plus.co.jp
Author:mizuho ogino
Author URI:http://web.contempo.jp
*/

@font-face {
  font-family:'Handwritten';
  src:url('font/Handwritten.woff2') format('woff2'),
    url('font/Handwritten.woff') format('woff'),
    url('font/Handwritten.eot'),
    url('font/Handwritten.eot?#iefix') format('embedded-opentype'),
    url('font/Handwritten.ttf') format('ttf');
  font-weight:normal;
  font-display:swap;
  font-style:normal;
}
:root {
  --column-gap:48px;
  --serif-font: "Noto Serif JP", sans-serif;
  --font-color:#332f2f;
  --body-color:#ffffff;
  --font-size:15px;
  --gray-color:#aaa;
  --border-color:rgba(128,128,128,.5);
  --border-width:1px;
  --line-height:1.9;
  --link-color:#008ddf;
  --hover-color:#2079ff;
  --section-gap:calc(var(--column-gap) + 5vw);
  --button-color:#332f2f;
  --button-hover-color:#2079ff;
  --layer-color:#84888a22;
  --theme-color:#1573a0;
  --list-color:#008ddf;
  --strong-color:#2e35ba;
  --container-width:1600px;
  --linear-gradient:linear-gradient(335deg, #EDDAFF65 0%, #CBF3FF33 80%);
  --white-outline:#ffffff85 1px 0px 0px, #ffffff85 0.540302px 0.841471px 0px, #ffffff85 -0.416147px 0.909297px 0px, #ffffff85 -0.989993px 0.14112px 0px, #ffffff85 -0.653644px -0.756803px 0px, #ffffff85 0.283662px -0.958924px 0px, #ffffff85 0.96017px -0.279416px 0px;
}
@media screen and ( max-width : 1160px ){
  :root {
    --column-gap:40px;
  }
}
@media screen and ( max-width : 782px ){
  :root {
    --column-gap:32px;
    --font-size:14px;
  }
}
@media screen and ( max-width : 480px ){
  :root {
    --column-gap:24px;
    --font-size:13px;
  }
}



/* :::::::::::OVERAL SETUP ::::::::::: */
/* Color & Typography */

#wrapper { position:relative; border-width:0; padding:0; margin:0; z-index:1; }
.container { position:relative; }
main { clear:both; display:block; }
.section { padding-top:var( --section-gap ); padding-bottom:var( --section-gap ); overflow:hidden; }
.section:target { scroll-margin-block:0; }
main .section:first-child { padding-top:calc( var( --section-gap ) * 2); }
.archive-section { overflow:visible; }
.single-section { overflow:visible; } /* for sticky content */
.section .container > :first-child { margin-top:0; }
.section .container > :last-child { margin-bottom:0; }

h1, h2, h3, h4, h5, h6 { font-family:var(--serif-font); -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; line-height:1.5; }

h2 span { display:inline-block; }
h2 strong { font-size:1.2em; color:var(--button-color); }
.en { font-family:'Handwritten',serif; }
.en-letters { font-size:3.3rem; line-height:1.1; font-family:'Handwritten',serif; font-weight:normal; }
.en-letters b { color:#3cc4ff; }
h2.headline { margin:0 0 var(--column-gap) 0; position:relative; text-align:center; font-size:2em; color:var(--list-color); line-height:1; border-bottom:6px dotted var(--theme-color); padding:0 0 .5em; }
.section-image-header { font-size:1em; padding:0 0 64px; margin:calc(var(--section-gap) * -1) 0 var(--section-gap)!important; position:relative; text-align:left; }
.section-image-header .en { display:block; font-size:2.8em; margin:0; line-height:1; text-shadow:var(--white-outline); }
.section-image-header .ja { display:block; font-size:1.2em; margin:.8em 0 0; line-height:1; }
.section-image-header h2 { margin:2em 0 0; text-shadow:var(--white-outline); }
.section-image-header .main-heading { position:absolute; left:0; bottom:1em; margin:0; z-index:3; }
.main-image { display:block; margin:0 calc( -50vw + 50% ) 0 auto; padding:0; height:auto; max-height:540px; width:65vw; z-index:-1; position:relative; overflow:hidden; }
.main-image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.main-image::before { content:''; display:block; padding:60% 0 0; }
.section-title { text-align:center; font-size:1em; margin:0 0 var(--column-gap); }
.section-header-title { margin-top:var(--section-gap); margin-bottom:var(--section-gap); }
.section-title .en { display:block; font-size:2.8em; margin:0; line-height:1; }
.section-title .ja { display:block; font-size:1.2em; margin:.8em 0 0; line-height:1; }

h2 p { margin:0; }
h2 p + p { margin-top:0.25em; }
strong { font-weight:700; font-size:1.1em; }
blockquote::before, blockquote::after { color:inherit!important; }
a.image-link { border-color:inherit!important; }
.viewmore { color:currentColor; line-height:1; transition:var(--transition); letter-spacing:1px; font-size:14px; font-weight:700; text-decoration:none; background-color:transparent; font-weight:"Roboto", sans-serif; display:inline-flex; flex-wrap:nowrap; align-items:center; }
.viewmore span { font-size:1em; }
.viewmore svg { height:1.6em; width:1.6em; fill:currentColor; border-width:0; margin-left:.5em; position: relative; right:0; transition:inherit; }
.viewmore:hover, a:hover .viewmore { color:var(--hover-color); }
.viewmore:hover svg, a:hover .viewmore svg { right:-.5em; }
.wide-image { display:block; position: relative; overflow:hidden; }
.wide-image::before { content:''; display:block; padding:33.333% 0 0; min-height:240px; }
.wide-image img { position:absolute; left:0; top:0; right:0; bottom:0; object-fit:cover; width:100%; height:100%; margin:0; }
.entry a.button { width:25%; margin-left:auto; }
button.button, a.button { width:auto; display:block; color:var(--font-color); background-color:var(--body-color); border-color:var(--button-color); border-width:var(--border-width); border-radius:100px; }
button.button:hover, a.button:hover { border-color:var(--button-hover-color); }
button:not([class]), input[type="button"], input[type="reset"], button[type="submit"], input[type="submit"] { display:block; }
a.wp-block-button__link { display:block; }
.wpcf7-submit.button, .button[type="submit"] { padding:1.5em; background-color:var(--button-color); color:var(--opposite-color) }

a.mail-link.text-link::before { display:inline-block; font-family:'fontello'; content:'\e918'; margin-right:.25em; text-decoration:none; }
a.text-link.url-link::before { display:inline-block; font-family:'fontello'; content:'\e90c'; margin-right:.25em; text-decoration:none; }
a.url-link.link-to-document::before { content:'\e91d'; }
a.url-link.link-to-image::before { content:'\e91c'; }

.section-image-header .ja, .section-header-title .ja { margin:16px 0 0 6px; padding:.4em 1em; line-height:1; font-size:13px; background-color:var(--theme-color); color:var(--opposite-color); -webkit-transform:skewX(-25deg); transform:skewX(-25deg); display:inline-block; }
.section-image-header .ja span, .section-header-title .ja span { display:block; -webkit-transform:skewX(25deg); transform:skewX(25deg); }

@media screen and ( max-width : 782px ){
  .section-image-header { padding:0; margin:0 0 var(--section-gap)!important; }
  .section-title.section-header-title {  text-align:left; padding:calc(var(--section-gap) + 120px ) var(--column-gap) var(--column-gap); margin:0 calc( var(--column-gap) * -1 ) var(--section-gap)!important; background-color:var(--layer-color); }
  .section-image-header h2 { margin:1em 0 0; }
  .section-image-header .main-heading { position:relative; margin:0; top:auto; bottom:auto; }
  .section-image-header .en { font-size:3.4em; margin:-.66em 0 0; }
  .main-image { display:block; margin:0 calc( -1 * var(--column-gap) ) 0; padding:0; height:auto; width:auto; }
  .main-image::before { padding:75% 0 0; }
  .en-letters { font-size:4rem; }
  .entry a.button { width:66.66%; margin-left:auto; }
}
@media screen and ( max-width : 480px ){
  .en-letters { font-size:12vw; }
  .section-image-header h2 br, .section-title br { display:none; }
  .entry a.button { width:auto; margin:0; }
}


/* ::::::::::: HEADER ::::::::::: */
#site-header { position:fixed; left:0; right:0; z-index:100; height:0; display:-webkit-box; display:flex; -webkit-box-align:stretch; align-items:stretch; flex-wrap:nowrap; }
#site-logo { display:block; width:clamp(144px, 20vw, 200px); position:relative; z-index:99; margin:calc( var(--column-gap) * .5)  var(--column-gap); color:inherit; }
#site-logo .logo { display:block; width:100%; margin:0; aspect-ratio:2/1; stroke:var(--font-color); }
#site-logo:hover { opacity:.9 }
@media screen and ( max-width : 782px ){
  body.home #site-header { position:absolute; }
  #site-header { position:static; }
  #main > .section:first-child { padding-top:0; }
}

#site-navi { display:none; background-color:var(--font-color); padding:var(--section-gap) 0; }
.toggle-opened #site-navi {  display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; -webkit-box-align:center; align-items:center; position:fixed; left:0; top:0; right:0; bottom:0; overflow-y:auto; overflow-x:hidden; z-index:992; }
#main-navi { margin:0 auto; padding:0; display:block; width:440px; }
#main-navi > li { width:auto; display:block; text-align:center; margin:0; padding:0; list-style:none; }
#main-navi a, #sub-navi a { color:var(--opposite-color); padding:8px 12px; margin:0; display:block;}
#main-navi a strong, #sub-navi a strong { font-size:inherit; font-weight:inherit; display:inline-block; }
#main-navi > li > a > strong { border-bottom:2px solid currentColor; font-size:calc( var(--font-size) * 1.4); }
#main-navi a:hover, #sub-navi a:hover { color:var(--hover-color); }
#main-navi .navi-home { display:none; }
#main-navi a:hover span::after { width:100%; }
#main-navi .children { display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; -webkit-box-align:center; align-items:center; -webkit-box-pack:center; justify-content:center; font-size:var(--font-size); counter-reset:li; }
#main-navi .children li { counter-increment:li; margin:0; padding:0; list-style:none; }
#main-navi .children li a::before { content:counter(li) ". "; display:inline; }
#sub-navi { display:block; width:440px; margin:0 auto; letter-spacing:-.4em; }
#sub-navi li { display:block; margin:0; list-style:none; }
#sub-navi li a { display:block; text-align:center; letter-spacing:.1em; font-size:var(--font-size); }
#sub-navi li a strong { font-weight:normal; }
#sub-navi li.navi-jobs { width:100%; display:block; }
#sub-navi li.navi-jobs a { border:2px solid currentColor; margin:1em 0 0; }
#toggle-menu { display:none; }
#site-info { width:auto; padding:0; margin:0; line-height:1; position:fixed; right:16px; top:16px; z-index:993; }
#site-info a { line-height:1; position:relative; float:left; margin:0 0 0 8px; text-align:center; border-color:currentColor; color:currentColor; display:block; height:48px; width:48px; }
#site-info a:hover { opacity:.8; }
#toggle-menu span { display:inline-block; width:28px; height:0; border-color:inherit; border-width:var(--border-width) 0 0 0; position:absolute; left:0; right:0; bottom:0; top:0; margin:auto; transition:.15s ease-in-out; }
#toggle-menu .bar-1 { top:-34px; }
#toggle-menu .bar-2 { top:-16px; }
#toggle-menu .bar-3 { top:2px; }
body.toggle-opened #site-header { color:var(--opposite-color); }
body.toggle-opened #toggle-menu .bar-1 { top:-16px; -webkit-transform:rotate(45deg); transform:rotate(45deg); }
body.toggle-opened #toggle-menu .bar-2 { width:0; }
body.toggle-opened #toggle-menu .bar-3 { top:-16px; -webkit-transform:rotate(-45deg); transform:rotate(-45deg); }
#site-info a svg { fill:none; stroke:currentColor; stroke-width:1; stroke-linecap:round; stroke-linejoin:round; stroke-miterlimit:10; width:32px; height:32px; display:block; margin:0 auto; transition:.15s ease-in-out; }
#site-contact::after, #site-access::after, #toggle-menu::after { content:attr(title); font-size:10px; color:inherit; line-height:1; margin:4px 0 0; display:block; position:absolute; bottom:0; right:0; left:0; }
#main-navi span { padding:1em 0; font-weight:700; position:relative; }
#main-navi span::after { position:absolute; left:0; top:0; bottom:0; right:0; width:100%; height:100%; border:4px solid currentColor; }

@media screen and ( max-width : 782px ){
  #site-info { position:absolute; mix-blend-mode: normal; } /* fixedでなくなるモバイルでは解除 */
}
@media screen and ( min-width : 782.1px ){
  #site-header.opposite { color:var(--opposite-color); }
}


/*:::::::::::FOOTER:::::::::::*/

body.fixed #scroll-top a { opacity:1; }
#scroll-top { z-index:11; position:-webkit-sticky; position:sticky; bottom:0; height:0; text-align:right; }
#scroll-top a { opacity:0; display:inline-block; text-align:center; overflow:visible; position:absolute; right:16px; bottom:0; z-index:1; background:var(--border-color); color:var(--opposite-color); width:72px; height:0; margin:0; line-height:1em; padding:0; transition:all 0.25s ease 0s; }
#scroll-top a::before { content:''; display:block; position:absolute; top:-24px; left:0; background:inherit; z-index:1; width:72px; height:72px; transform:rotate(45deg); }
#scroll-top a::after { font-family:'fontello'; content:'\e904'; font-size:21px; display:block; top:-32px; color:inherit; position:relative; z-index:2; }
#scroll-top a span {position:absolute; top:-18px; left:0; right:0; z-index:2; font-size:10px; }
#scroll-top a:hover { background:var(--button-hover-color); }
#breadcrumb { display:block; padding:calc( var(--column-gap) * 0.5 ); border-top:.05em solid currentColor; text-align:center; color:var(--font-color); }
.breadcrumb .bc-separator { margin-left:1em; margin-right:1em; }
.breadcrumb .bc-separator span { transform:scale(.7); color:var(--theme-color); }
#site-footer { margin:0; padding:0; overflow:hidden; position:relative; z-index:12; background-color:#333; color:var(--opposite-color); }
#site-footer .container { padding-top:var(--section-gap); padding-bottom:var(--section-gap); }
#footer-navi { font-style:normal; text-align:center; padding-bottom:var(--column-gap); }
#global-navi { line-height:1.2em; list-style:none; display:block; position:relative; column-count:3; column-gap:0; padding:0; margin:0 -1em; clear:right; }
#global-navi::before, #global-navi::after { border-left:1px solid var(--opposite-color); opacity:.2; height:100%; width:0; top:0; content:''; display:block; position:absolute; }
#global-navi::before { left:66.66%; }
#global-navi::after { left:33.33%; }
#global-navi > li { -webkit-column-break-inside:avoid; page-break-inside:avoid; break-inside:avoid; list-style:none; display:block; margin:0; padding:0 1em; list-style:none; }
#global-navi > li > a { display:block; padding:.8em 0; font-weight:normal; font-size:13px; }
#global-navi > li > a:hover { color:inherit; opacity:.8; }
#global-navi > li > ul.children { margin:0 .5em .5em; }
#global-navi > li > ul.children > li { font-size:.95em; margin:.35em 0 0; font-weight:normal; }
#global-navi > li > ul.children > li > a::before { content:'○'; display:inline-block; margin-right:.3em; }
#global-navi > li > ul.children > li > ul.children { margin:0; }
#global-navi > li > ul.children > li a { margin:0; display:block; padding:.1em .5em; }
.jobs-link { margin:var(--column-gap) 0; }
.jobs-link a {border:2px solid currentColor; max-width:18em; display:block; margin:0 auto; padding:.8em 0; font-weight:normal; letter-spacing:.35em; font-size:13px; }
.global-footer-heading { text-align:center;}
.global-footer-links { text-align:center; margin-top:var(--column-gap); }
.global-footer-link-list { width:100%; display: flex; flex-wrap: wrap;align-items: stretch; justify-content: center; margin:0 calc( var(--column-gap, 32px) * -0.5 ); }
.global-footer-link-list li { margin:0; padding:calc( var(--column-gap, 32px) * 0.5 ); width:33.33%; }
.global-footer-link { margin:0; padding:0; DISPLAY:block; }
.global-footer-link-image { margin:0; padding:0; position: relative; overflow: hidden; }
.global-footer-link-image::before { display:block; padding:33.33% 0 0 ; content:''; }
.global-footer-link-image img { width:100%; height:100%; position: absolute; inset: 0; margin: auto; object-fit: cover; transition: transform 1s; }
.global-footer-link:hover .global-footer-link-image img { transform: scale(1.2); transition: transform 5s; }
.global-footer-link-text { font-size:12px; line-height:1.3; padding:.75em 0 0;text-align:center; }
.global-footer-link-text .en { display: block; font-size:12px; font-family:sans-serif; margin-top:0.5em; opacity:.5; }
.global-footer-company { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--column-gap, 32px); margin-top:var(--column-gap, 32px); }
.global-footer-logo { text-align: center; text-align:center; width:100%; }
.global-footer-logo-link { display:block; width:60%; max-width:240px; margin:0 auto; }
.global-footer-logo svg { fill:currentColor; width:100%; height:auto; }
.global-footer-company p { display:block; margin:0; }
.global-footer-company-column { line-height:1.8; font-size: .875em; }
.global-footer-company-column-h { font-weight: 800; font-size: .875em; text-transform: uppercase; opacity: .3; margin-bottom:8px; }
.global-footer-company-column a { text-decoration:underline; }
.global-footer-company-column a:hover { opacity:.8; }
@media screen and ( max-width : 782px ) {
  .global-footer { padding:var(--section-gap, 40px) 0; }
  .global-footer-link-list li { margin:0; padding:calc( var(--column-gap, 24px) * 0.5 ); width:50%; }
  .global-footer-link-list { margin:0 calc( var(--column-gap, 24px) * -0.5 ); }
}

#credit { font-size:11px; line-height:1.5; position:relative; text-align:center; margin:0; padding:1.5em; }
#credit p { margin:0; display:inline-block; }
#credit p a { color:inherit; }

@media screen and ( max-width : 1080px ){
  #socials { padding:0; float:none; }
}
@media screen and ( max-width : 782px ){
  #global-navi { display:none; }
  #related-companies { padding:0; background-color:transparent; margin:0; }
  #credit, #footer-navi { background-color:#a5a59e; }
  #footer-navi { padding-bottom:0; }
}
@media screen and ( max-width : 600px ){
  #main-navi { font-size:16px; margin:12px; }
  #sub-navi { font-size:13px; margin:12px; }
}
@media screen and ( max-width : 480px ){
  #footer-info { padding:12px; }
  #credit { font-size:10px; }
  #site-footer::before { height:calc( 30vw + 40px ); background-size:auto 30vw; }
  #scroll-top { display:none; }
  a#site-access { display:none; }
}
@media screen and ( max-width : 360px ){
  a#site-contact { display:none; }
}



/* ::::::::::: TOPPAGE ::::::::::: */
#main { position:relative; z-index:1; }

#section-screen { padding:0; margin:0; position:relative; overflow:hidden; z-index:2; height:100vh; }
#bg-wrapper { position:fixed; background-color:var(--gray-color); top:0; left:0; width:100%; margin:0; height:100vh; z-index:-3; overflow:hidden; }
#bg-wrapper video { position:absolute; left:-100%; right:-100%; top:-100%; bottom:-100%; margin:auto; object-fit:cover; object-position:center; max-width:none; min-width:100%; min-height:100%; width:auto; height:auto; z-index:-2; }
#bg-grid { z-index:-1; position:absolute; left:0; right:0; top:0; bottom:0; margin:0 auto; border-left:.05em solid var(--border-color); border-right:.05em solid var(--border-color); }
#bg-grid::before, #bg-grid::after { content:''; display:block; position:absolute; width:25%; height:100%; top:0; border-left:.05em solid var(--border-color); border-right:.05em solid var(--border-color); }
#bg-grid::before { left:25%; }
#bg-grid::after { left:75%; border-right:0; }
#screen { width:100vw; height:100vh; position:fixed; top:0; right:0; z-index:999; }
#screen-logo { width:100%; max-width:560px; height:auto; padding:0; position:absolute; right:50vw; top:50vh; transform:translate(50%, -50%); }
#handwriting_logo { fill: var(--font-color); }
#handwriting_mask { display:none; }
#screen-bg { content:''; position:absolute; left:0; top:0; width:100%; height:100%; background-color:#efefef; z-index:-2; }
body.home #screen { animation:screenfadeout 2s linear 2s 1  normal forwards; }
body.home #handwriting_logo { mask: url(#handwriting_mask); }
body.home #handwriting_mask { display:block; fill: none; mix-blend-mode: multiply; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 20px; stroke-dasharray: 3000px; animation: handwriting 2s linear 0s 1; }#screen-bg { content:''; position:absolute; left:0; top:0; width:100%; height:100%; background-color:#efefef; z-index:-2; }
body.home #bg-grid { animation:wrapperfadein 1.5s linear 2s 1  normal forwards;}
body.home #wrapper { animation:wrapperoverflow .1s linear 2s 1  normal forwards;}
body.home #wrapper > *:not(#screen):not(#bg-wrapper) { animation:wrapperfadein 3s linear 2s 1  normal forwards; }
body:not(.home) #screen { animation:screenfadeout 1s linear 1s 1  normal forwards; }
/* body:not(.home) #handwriting_logo { mask: url(#handwriting_mask); } */

@keyframes screenfadeout { 0% { filter: blur(0px); opacity:1; transform:scale(1); } 90% { opacity:0; } 99% { z-index:999; } 100% { filter: blur(500px); opacity:0; transform:scale(3); z-index:-999; } }
@keyframes handwriting { 0% { stroke-dashoffset: 3000px; } 100% { stroke-dashoffset: 0; } }
@keyframes wrapperfadein { 0%{ opacity:0; } 50%{ opacity:0; } 100% { opacity:1; } }
@keyframes wrapperoverflow { 0%{ height:100vh; overflow:hidden; } 100% { height:auto; overflow:auto; } }

#lp-slider { height:100vh; width:100vw; margin:0; display:block; padding:0; z-index:-2; position: relative; }
#lp-slider li { list-style:none; position:absolute; z-index:2; top:0; left:0; opacity:0; height:100%; width:100%; margin:0; display:block; padding:0; animation: lp_slider_fade 20s 0s infinite; }
#lp-slider li img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center; }
#lp-slider li:nth-child(1) { animation-delay: 3s; z-index:1; }
#lp-slider li:nth-child(2) { animation-delay: 7s; z-index:1; }
#lp-slider li:nth-child(3) { animation-delay: 11s; z-index:1; }
#lp-slider li:nth-child(4) { animation-delay: 15s; z-index:1; }
#lp-slider li:nth-child(5) { animation-delay: 19s; z-index:1; }
@keyframes lp_slider_fade { 0% { opacity: 0; z-index:2; } 5% { opacity: 1; } 25% { opacity: 1; } 30% { opacity: 0; z-index:2; } 40% { z-index:1; } 100% { opacity: 0; }}

#section-message .container {  margin-top:var(--section-gap)}
#message { display:flex; flex-wrap:nowrap; margin-left:25%; align-items:center;}
#message #message-text { margin:0; position: relative; z-index:10; padding-left:var(--column-gap); width:66.66%; }
#message .en-letters { margin:0; max-width:10em; margin-left:-2em; }
#message h2 { font-weight:normal; font-size:1.1em; line-height:2; }
#message-slider { width:33.33%; margin:0; display:block; padding:0; position: relative; z-index:1; }
#message-slider::before { content:''; margin:0; display:block; padding:100% 0 0 0; }
#message-slider li { list-style:none; position:absolute; z-index:2; top:0; left:0; opacity:0; height:100%; width:100%; margin:0; display:block; padding:0; animation: slider_fade 21s 0s infinite; }
#message-slider li img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center; }
#message-slider li:nth-child(2) { animation-delay: 3s; z-index:1; }
#message-slider li:nth-child(3) { animation-delay: 6s; z-index:1; }
#message-slider li:nth-child(4) { animation-delay:9s; z-index:1; }
#message-slider li:nth-child(5) { animation-delay:12s; z-index:1; }
#message-slider li:nth-child(6) { animation-delay:15s; z-index:1; }
#message-slider li:nth-child(7) { animation-delay:18s; z-index:1; }
@keyframes slider_fade { 0% { opacity: 0; z-index:2; } 5% { opacity: 1; } 14.285% { opacity: 1; } 20% { opacity: 0; z-index:2; } 24% { z-index:1; } 100% { opacity: 0; }}


#screen-news { position:absolute; width:100%; max-width:var(--content-width); margin:0 auto; bottom:34px; left:0; right:0; transform:translateY(50%); }
#screen-news a { display:flex; padding:16px; width:100%; background:none; overflow: hidden; align-items:center; background-color:#fff; border:1px solid currentColor; border-radius:200px; }
#screen-news a:hover { color:inherit; }
#screen-news a .post-text { order:1; width:auto; margin:0; padding:0 1em; display:flex; gap:var(--column-gap); align-items:center; overflow:hidden; }
#screen-news a .post-date { margin:0; display:block; color:var(--gray-color); font-size:10px; font-weight:bold; }
#screen-news a .post-title { margin:0; font-size:1em; font-weight:inherit; }
#screen-news a:hover { color:var(--link-color)}
#screen-news a .post-image { order:2; width:32px; height:32px; display:block; margin:0 0 0 auto; border-radius:50%; border-width:.05em; overflow:hidden }
#screen-news a .post-image img { width:100%; height:100%; object-fit:cover; display:block; }
#screen-news a .post-image::before { display:none }
#screen-catchphrase { font-size:2em; visibility: visible; line-height:2; margin:0; padding:0; display:block; position:absolute; left:var(--column-gap); right:var(--column-gap); bottom:4em; z-index:2; max-width:32em; }
#screen-catchphrase .en-letters { font-size:2.5em; font-optical-sizing: auto; margin:0; color:inherit; }
#screen-catchphrase h2 { font-size:1em; font-weight:normal; margin:.4em 0 0; padding:0 0 .25em; }
#screen-catchphrase h2 span { display: inline-block; }

@media screen and ( max-width : 1280px ){
  #screen-catchphrase { font-size:2em; }
}
@media screen and ( max-width : 1080px ){
  #bg-grid::before, #bg-grid::after { width:33.33%; }
  #bg-grid::before { left:33.33%; }
  #bg-grid::after { display:none; }
  #message { margin-left:0;}
}
@media screen and ( max-width : 782px ){
  #screen-catchphrase { font-size:6vw; }
  #message { margin-left:0; display:block; }
  #message .en-letters { margin: -1.5em 0 0; width:auto; max-width:none; text-align:right; font-size: 7vw; position:relative; z-index:3; }
  #message #message-text { width:100%; position:static; padding:0; margin:var(--column-gap) 0 0; }
  #message-slider { width:66.66%;  }
}

#section-company { overflow:hidden; counter-reset:column; position: relative; z-index:2; padding-bottom:0; }
#section-company .container { display:flex; flex-wrap:wrap; justify-content: space-between; }
#section-company .company-navi { width:25%; order:2; font-size:16px; }
#section-company .en-letters { margin:0; max-width:8em; width:75%; order:1 }
#section-company .message { order:3; width:50%; padding:0; margin:calc(var(--column-gap) * 2) 0 var(--column-gap) 0; }
#section-company .message .viewmore { margin-top:2em; }
#section-company .bg-image { position:absolute; left:0; top:0; bottom:0; right:var(--column-gap); overflow:hidden; z-index:-1; opacity:.25; }

#section-info { text-align:center; }
#section-jobs { overflow:hidden; counter-reset:column; position: relative; z-index:2; padding-bottom:0; margin-bottom:var(--column-gap) }
#section-jobs .container { display:flex; flex-wrap:wrap; justify-content: space-between; }
#section-jobs .container::before { width:25%; order:1; content:''; padding:25% 0 0 0; margin-bottom:var(--column-gap); background:rgba(128,128,128,.2); position:relative; z-index:-1;   }
#section-jobs .en-letters { margin:var(--column-gap) 0 0 var(--column-gap) ; max-width:8em; position:absolute; left:0; top:0;}
#section-jobs .message { font-feature-settings: "palt"; order:3; width:50%; padding:var(--column-gap); margin:calc(var(--column-gap) * 2) 0 0 0; background-color:rgba(255,255,255,.7); }
#section-jobs .message .viewmore { margin-top:2em; }
#section-jobs .bg-image { position:absolute; right:0; top:0; bottom:0; left:var(--column-gap); overflow:hidden; z-index:-1; }

.dome-materials {
  --materials-navy:#173a66;
  position:relative;
  overflow:hidden;
  min-height:clamp(420px, 44vw, 680px);
  display:flex;
  align-items:center;
  width:100%;
}
.dome-materials-image {
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: center bottom;
}
.dome-materials-inner { 
  max-width:50em;
  padding:var(--column-gap) var(--column-gap) calc( var(--column-gap) * 3);
}
.pickups h2.dome-materials-title {
  font-size: clamp(1.9em, 5.5vw, 3.5em);
  font-weight:700;
  line-height:1.3;
  color:var(--materials-navy);
  margin:0 0 .5em;
}
.dome-materials-eyebrow {
  font-weight:800;
  letter-spacing:.08em;
  color:#fff;
  font-size:1.1em;
  line-height:1.3;
  margin:0 0 1.2em;
}
.dome-materials-eyebrow .eybrow-1{
  display:block;
  font-size:1.4em;
}
.dome-materials-eyebrow .eybrow-2{
  display:block;
  font-size:1em;
}
.dome-materials-lead {
  font-size:1.4em;
  font-weight:700;
  line-height:1.6;
  color:var(--materials-navy);
  margin:0 0 .8em;
}
.dome-materials-desc {
  color:var(--font-color);
  margin:0;
}
.dome-materials-cta {
  position:absolute;
  right:var(--column-gap);
  bottom:var(--column-gap);
  display:inline-flex;
  align-items:center;
  gap:.6em;
  padding:1em 2em;
  border:2px solid #fff;
  border-radius:999px;
  color:#fff;
  font-weight:800;
  font-size:1.2em;
  letter-spacing:.03em;
  text-decoration:none;
}
.dome-materials-cta:hover { background-color:var(--materials-navy); color:#fff; }
.dome-materials-cta i { width:1em; height:1em; font-size:2.5em; line-height:1;   margin: -.25em 0;}

@media screen and ( max-width : 782px ) {
  .dome-materials { min-height:auto; padding:56px 0 96px; align-items:flex-start; }
  .dome-materials-cta { position:static; margin-top:2em; background-color:#00429245; }
  .dome-materials-desc br { display:none }
}

.page-title .ja { font-size:1.2em; }
.page-title .en { font-size:3.2em; }

#section-business .en-letters { text-align:right; }
.pickups { display:flex; flex-wrap: wrap; gap:var(--column-gap); }
.pickups h2 { font-size:2em; margin-bottom:1em; }
.pickup { flex:1; background-color:rgba(128,128,128,.2); padding:var(--column-gap); min-width:40%; }
.pickup .en { display:table; font-size:2em; margin:0; line-height:1; text-transform:capitalize; position:relative; color:white; }
.pickup h3 { margin:8px 0 0; color:var(--theme-color); }
.pickup h3.ja { margin:16px 0; color:currentColor; }
.pickup a.viewmore { margin-top:16px;}
.pickup p { margin:16px 0; font-size:0.875em;}
.boxes { counter-reset:boxes; }
.box-posts { width:100%; }
h3[data-number] { position: relative;}
h3[data-number]::before {  content:attr(data-number); font-family:'Handwritten',serif; font-size:5em; position:absolute; z-index:-1; }

.section.bg { background:var(--linear-gradient);background-color:transparent }
#end-message { padding:0; position: relative; }
#end-message .container { font-size:1.4em; line-height:1.8; font-weight:700; padding-top:var(--section-gap); padding-bottom:calc( var(--section-gap) - 4em ); }
#end-message .en-letters { max-width:12em; text-align:right; margin:0 0 0 auto; }
.section.bg .checklist { padding:var(--column-gap); background-color:var(--body-color); }
a.follow-instagram.button { max-width:var(--content-width); text-align:center; margin:var(--column-gap) auto 0; }
.mission .en-letters::first-letter { color:var(--theme-color); }
.mission-text { margin-top:1em; font-weight:bold; }
.mission { text-align:center; font-size:1.3em; margin-top:var(--section-gap); }

.page .entry, .single .entry, .error404 .entry { margin:0 25%; }
.error404 .entry a.button { width:100%;}
#page-company .entry, #page-contact .entry { margin:0; }
.sign { font-family:serif; font-weight:600; font-size:1.1em; margin-top:2em;}
.sign strong { font-size:1.1em; }
.profile-column { display: flex; justify-content: space-between; gap:var(--column-gap); }
.profile-column .image { overflow:hidden; margin:8px 0; flex:1; }
.profile-column .image img { display:block; margin:0;border-radius:16px; }
.profile-column .text { flex:2; }

@media screen and ( min-width : 1080.1px ){
  #home-navi a { font-size:16px; }
  #section-service .box-image { width:calc(60% + var(--column-gap) * 4 ); margin-left:calc( var(--column-gap) * -5 ); }
  #section-service .box-layout:nth-child(2n) .box-image { margin-left:var(--column-gap); margin-right:calc( var(--column-gap) * -5 ); }
}
@media screen and ( max-width : 1080px ){
  #section-company .en-letters { width:auto; }
  #section-company .company-navi { width:auto; display:flex; flex-wrap:wrap; margin-top:var(--column-gap); gap:1em; }
  #section-company .company-navi li { margin:0; }
  #section-company .message { margin-top:var(--column-gap)}
  #end-message br { display:none; }
  .page .entry, .single .entry { margin:0; }
  #section-jobs .message { width:100%; }
  #section-jobs .container::before { width:33.33%; padding:33.33% 0 0; margin:0; }
}
@media screen and ( max-width : 782px ){
  #end-message .container { font-size:1.1em;}
  #end-message .en-letters { margin-top:1em;}
  #section-jobs { margin-bottom:0; }
  #section-jobs .bg-image { left:0; }
  #section-jobs .bg-image img { object-position:80% center; }
  .pickup { width:100%; flex:none; }
  #section-company .container { padding-right:0 }
  #section-company .bg-image { right:0; }
  #section-company .message { width:100%;  }
  #section-jobs .message br { display:none; }
}
@media screen and ( max-width : 480px ){
  #screen-image::before { opacity:.2; }
  .box-layout h2 { font-size:1.6em; }
  .profile-column { display:block; }
  .profile-column .image { overflow:hidden; margin:0 0 16px; overflow:hidden; position: relative; }
  .profile-column .image::before { content:''; display:block; padding:80% 0 0; }
  .profile-column .image img { position: absolute; left:0; top:0; right:0; bottom:0; width:100%; height:100%; object-fit:cover; object-position:center 20%; }
}

.faq { margin:16px 0; display:block; }
.faq .faq-q { cursor:pointer; position:relative; padding:16px 0 16px 48px; }
.faq .faq-q h3 { color:inherit; line-height:1.35em; position:relative; margin:0; padding:0; display: inline; border-bottom-width:2px; }
.faq .faq-q::before { content:'Q.'; color:var(--theme-color); border:0; letter-spacing:0em; font-size:32px; line-height:1em; height:1em; width:1.5em; display:block; position:absolute; left:0; top:16px; margin:auto 0; }
.faq .faq-a { display:none; margin:8px 0; position:relative; }
.faq .faq-a p { padding:1em; background-color:var(--layer-color); margin:0 0 0 48px; }
.faq .faq-a::before { content:'A.'; color:var(--strong-color); border:0; letter-spacing:0em; font-size:32px; line-height:1em; height:1em; width:1.5em; display:block; position:absolute; left:0; top:16px; margin:auto 0; }
.faq-wrapper .button { margin-top:var( --column-gap); }

ul.block-list { width:100%; margin:0; padding:0; display:block; display:-webkit-box; display:flex; flex-wrap:wrap; }
ul.block-list li { display:block; margin:0; padding:0; flex:1; }
ul.block-list li .wrap { display:block; margin:0; padding:0; position:relative; z-index:2; color:var(--opposite-color); }
ul.block-list li .wrap .image { position:absolute; top:0; left:0; right:0; bottom:0; z-index:-1; opacity:.8; -webkit-filter:grayscale(100%); filter:grayscale(100%); transition:filter .5s ease-out, opacity .5s ease-out; }
ul.block-list li .wrap .image img { position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%; object-fit:cover; object-position:center; }
ul.block-list li .wrap:hover .image { -webkit-filter:grayscale(0%); filter:grayscale(0); }
ul.block-list li .wrap:hover::before { opacity:.3; }
ul.block-list li .wrap:hover::after { opacity:.5; }
ul.block-list li .wrap::before { content:''; display:block; padding:24em 0 0 0; opacity:.5; background-color:var(--font-color); transition:filter .5s ease-out, opacity .5s ease-out, background-color .5s ease-out; }
ul.block-list li .wrap .text { display:block; text-align:center; color:inherit; z-index:2; position: relative; }
ul.block-list li .wrap .title { font-size:12px; display:inline-block; padding:.4em 1em; line-height:1; background-color:var(--theme-color); margin:0; border-width:0; color:inherit; -webkit-transform:skewX(-25deg); transform:skewX(-25deg);}
ul.block-list li .wrap .title span { display:block; -webkit-transform:skewX(25deg); transform:skewX(25deg); }
ul.block-list li .wrap .en { display:block; font-size:1.5em; font-weight:bold; text-transform:uppercase; margin:0; border-width:0; color:inherit;}
ul.block-list li .wrap .excerpt { font-size:14px; line-height:var(--line-height); margin:48px auto 0; display:block; text-align:left; position: relative; z-index:2; }

@media only screen and ( min-width : 960.1px ){
  ul.block-list li .wrap .text { position:absolute; margin-bottom:16px; bottom:45%; left:0; right:0; }
  ul.block-list li .wrap .excerpt { position:absolute; top:50%; left:0; right:0; z-index:2; width:calc(100% - 80px); max-width:26em; }
  ul.block-list li .wrap:hover .image { -webkit-filter:grayscale(0%); filter:grayscale(0); }
  ul.block-list li .wrap:hover::before { opacity:0; }
  ul.block-list li .wrap:hover::after { opacity:.5; }
  ul.block-list li .wrap::after { content:''; display:block; background-color:var(--theme-color); position:absolute; top:1em; left:1em; right:1em; bottom:1em; opacity:0; transition:filter .5s ease-out .25s, opacity .5s ease-out .25s, background-color .5s ease-out .25s; }
}
@media only screen and ( max-width : 960px ){
  ul.block-list { display:block; background-color:var(--font-color); padding:calc(var(--column-gap) * 0.5) 0; }
  ul.block-list li { display:block; padding:calc(var(--column-gap) * 0.5) var(--column-gap); }
  ul.block-list li .wrap { padding:var(--column-gap) 8px; border:3px solid var(--strong-color); min-height:200px; overflow:hidden; display:-webkit-box; display:flex; -webkit-box-align:center; align-items:center; }
  ul.block-list li .wrap::before { position:absolute; top:0; left:0; right:0; bottom:0; }
  ul.block-list li.scrollin .wrap .image { -webkit-filter:grayscale(0%); filter:grayscale(0); transition:filter .5s ease-out 1s, opacity .5s ease-out 1s; }
  ul.block-list li.scrollin .wrap::before { opacity:0; transition:filter .5s ease-out 1s, opacity .5s ease-out 1s, background-color .5s ease-out 1s;}
  ul.block-list li.scrollin .wrap::after { opacity:.5; transition:filter .5s ease-out 1s, opacity .5s ease-out 1s, background-color .5s ease-out 1s;}
  ul.block-list li .wrap .excerpt { font-size:.875em; width:calc(100% - 56px); margin:16px auto 0; }
  ul.block-list li .wrap .text { width:100%; }
}

.flow-list { counter-reset:flow; overflow:visible;}
.flow-list .flow { padding:0; margin:var(--section-gap) 0; counter-increment:flow; position:relative; display:flex; flex-wrap:nowrap; align-items:stretch; overflow:visible; }
.flow-list .flow::before { position:absolute; bottom:0; left:-.25em; line-height:1.25; vertical-align:middle; color:var(--theme-color); z-index:3; font-size:8em; font-weight:normal; content:counter(flow); text-shadow:var(--white-outline); }
.flow-list .flow-text { width:75%; padding:var(--column-gap) var(--column-gap) var(--column-gap) calc(var(--column-gap)*2); background-color:rgba(255,255,2555,.3); margin:var(--column-gap) 0 0; display:flex; justify-content:center; flex-direction:column; }
.flow-list .flow-text h2 { padding:0 0 8px; margin:0; border-bottom-width:1px; }
.flow-list .flow-text p { margin-top:16px; }
.flow-list .flow:last-child::after { display:none; }
.flow-list .flow-image { width:25%; position: relative; overflow:hidden; position:relative; margin:0 0 var(--column-gap); }
.flow-list .flow-image::before { content:''; padding:100% 0 0; display:block; }
.flow-list .flow-image img { position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; }
/* @media only screen and ( min-width : 1480.1px ){
  .flow-list .flow:nth-child(2n) { margin-left:var(--column-gap); margin-right:calc(var(--column-gap)*-1); }
  .flow-list .flow:nth-child(2n+1) { margin-left:calc(var(--column-gap)*-1); margin-right:var(--column-gap); }  
} */
@media only screen and ( max-width : 782px ){
  .flow-list .flow { padding:0; flex-direction: column; background:var(--linear-gradient); }
  .flow-list .flow-text { flex:1; order:2; margin:0; padding:var(--column-gap); width:100%; }
  .flow-list .flow-image { flex:1; order:3; margin:0; width:100%; }
  .flow-list .flow-image::before { padding:50% 0 0; }
  .flow-list .flow::before { position:static; order:1; line-height:1; height:1em; margin:-.5em 0 -.2em -.15em; }
}



/* ::::::::::: POSTS ::::::::::: */
.post-list { margin:0 auto; width:50%; padding:0; text-align:left; }
.post-list + .viewmore { margin: var(--column-gap) auto 0; }
.post-item { margin:0; }
.post-item + .post-item { border-top-width:1px; }
.post-item a { display:flex; padding:16px 0; width:100%; background:none; align-items:center; gap:16px; }
.post-item a:hover { color:inherit; }
.post-item .post-text { order:1; width:auto; margin:0; padding:0; flex:1; display:flex; gap:16px; align-items:center; overflow:hidden; }
.post-item .post-date { margin:0; display:table; background-color:var(--layer-color); padding:.5em; line-height:1; font-size:.875em; color:inherit; }
.post-item .cat-stamp, .post-item .post-excerpt { display:none; }
.post-item .post-title { margin:0; font-size:1em; font-weight:inherit; }
.post-item a:hover .post-title { color:var(--link-color)}
.post-item .post-excerpt { margin:6px 0 0; font-size:.8em; line-height:1.45em; }
.post-item .post-image { order:2; min-width:104px; width:104px; height:104px; display:block; margin:0 0 0 auto; border-radius:50%; overflow:hidden; border-width:.05em; }
.post-item .post-image img { width:100%; height:100%; object-fit:cover; display:block; }
.post-item .post-image::before { display:none }
.post-item .post-detail { display:block; margin-top:.4em; padding:.3em; line-height:1em; font-size:11px; float:right; border-bottom-width:1px; }
@media screen and ( max-width : 1280px ){
  .post-list { width:100%; }
}
@media screen and ( max-width : 782px ){
  .post-item .post-image { min-width:64px; width:64px; height:64px; }
  .post-list { width:100%; }
}
@media screen and ( max-width : 480px ){
  .post-item .post-date { margin:0 0 6px; }
  .post-item .post-text { display:block; }
}


/* ::::::::::: SINGLE ::::::::::: */

/* .image-wrap, .wp-block-image, .image { position:relative; overflow:hidden; }
.image-wrap::before, .wp-block-image::before, .image::before { position:absolute; background-color:transparent; z-index:2; display:block; content:''; top:0; right:0; bottom:0; left:0; } */
.image-wrap .image-caption { position:absolute; left:0; bottom:0; width:100%; height:100%; display:-webkit-box; display:flex; -webkit-box-align:end; align-items:flex-end; line-height:1.2; font-size:10px; padding:.5em; color:var(--opposite-color); z-index:2; box-shadow:inset 0 -8em 4em -4em rgba(0,0,0,.6); }
.image-wrap img, .wp-block-image img, .image img { position:relative; z-index:1; display:block; }
article.entry { counter-reset:section; position:relative; z-index:2; }
.entry-section-header-h2 { background:#f2f2f2; counter-increment:section; padding:.2em .4em; position:relative; border-left-width:.25em; display:-webkit-box; display:flex; -webkit-box-align:center; align-items:center; }
.entry-section-header-h2::before { content:counter(section) ". "; font-size:2em; line-height:1; color:var(--theme-color); display:inline-block; margin:-.12em .25em 0 0; padding:0; vertical-align:middle; }
.entry > .entry-section::after { display:block; content:''; clear:both; overflow:hidden; }
.entry > .entry-section::before { display:block; content:' '; margin-top:-80px; height:80px; visibility:hidden; pointer-events:none; }
.entry .toc_ins { top:-80px; position:relative; visibility:hidden; }
.entry h3 { overflow:hidden; position:relative; padding-bottom:2px; display:table; border-bottom:4px solid var(--layer-color); color:var(--theme-color); }

/* .entry h3::before { display:inline-block; content:""; background-color:var(--theme-color); width:1em; height:1em; margin:0 .35em 0 0; top:.15em; position: relative;transform: skewX(-25deg); }  */ 

.wp-block-column.bg { margin-top:2em; padding:var(--column-gap); background-color:var(--layer-color); }
.wp-block-column.bg > *:first-child { margin-top:0; }

.single-header { line-height:1; padding:0; position:relative; margin:0 0 var(--column-gap); }
.single-header .single-title { clear:both; border-bottom-width:var(--border-width); color:inherit; background-color:transparent; margin:0; padding:1em 0; }
.single-header .post-date { display:inline-block; vertical-align:middle; margin-right:.6em; color:var(--gray-color); font-size:1em }
.single-header .post-category { font-size:.8em }

.post-category {
  display:inline-block;
  vertical-align:middle;
  background-color:var(--theme-color);
  color:var(--opposite-color);
  font-weight:700;
  line-height:1;
  padding:.4em .8em;
  border-radius:999px;
}
dl.field dt, dl.field dd { border-bottom-width:0; padding-bottom:0; }
dl.field dt::after {content:': '; }
dl.info { border-width:0; overflow:visible; }
dl.info > dt { font-weight:700; background-color:transparent; padding-left:0; border-color:var(--layer-color); }
dl.info > dd { padding-right:0; padding-left:0; background-color:transparent; border-color:var(--gray-color); }

#single-post .info-place, #single-post .fee, #single-post .date-period, #single-post .date-time { display:block; font-size:1.1em; }
#single-post .info-address, #single-post .info-url { display:block; }
h2.content-heading { color:inherit; line-height:1; margin:3em 0 1.5em; display:-webkit-box; display:flex; -webkit-box-pack:center; justify-content:center; -webkit-box-align:center; align-items:center; flex-wrap:nowrap; }
h2.content-heading::before, h2.content-heading::after { background-color:var(--layer-color); display:block; content:''; flex:1; height:.5em; margin:0; }
h2.content-heading::before { margin-right:1em; }
h2.content-heading::after { margin-left:1em; }
a.map-button { display:block; width:18em; margin:1em auto 0; }
a.button.route-search { margin-top:var(--column-gap); }

.access-images { margin:16px 0; display:-webkit-box; display:flex; flex-wrap:nowrap; -webkit-box-align:stretch; align-items:stretch; -webkit-box-pack:justify; justify-content:space-between; }
.access-images span { width:calc( 50% - 8px ); }
.access-images span img { display:block; object-fit:cover; }
#single-info dd { font-weight:700; }
dl.field > dt, dl.field > dd { padding:1em 0; }
.work-header { line-height:1; padding:0; position:relative; margin:0 0 var(--column-gap); }
.work-header .work-title { clear:both; color:inherit; background-color:transparent; margin:0; padding:0; }
.work-header .work-content { background-color:var(--layer-color); padding:var(--column-gap); margin-top:var(--column-gap); }
.work-header .work-content .field { margin:-1em 0 0; padding:0; }
.work-header .work-content h3.paragraph { margin:0 0 24px; border-width:0; }
.work-header .work-content .field +.paragraph { margin:1em 0 0; }
article.entry .entry-image { display:inline-block; max-width:50%; position:relative; z-index:-1; vertical-align:top; max-height:700px; margin:0; padding:0; }
article.entry .entry-image img { display:block; width:auto; height:auto; }
article.entry .entry-image-1 { left:10%; margin-bottom:-24px; box-shadow:120px 80px 0 var(--layer-color); }
article.entry .entry-image-2 { left:calc( var(--column-gap) * -1); top:72px; max-width:60%; }
article.entry .entry-image-3 { left:12%; top:-56px; max-width:29%; box-shadow:60px 60px 0 var(--layer-color); }
article.entry .entry-image-4 { margin-left:-50%; left:5%; margin-top:340px; max-width:42%; }
.extra-images { display:-webkit-box; display:flex; flex-wrap:wrap; -webkit-box-align:center; align-items:center; gap:var(--column-gap); -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; }
.extra-image { max-width:380px; min-width:160px; flex:1; position:relative; overflow:visible; }
.extra-image::before, .extra-image::after { content:''; display:block; width:1em; height:1em; position:absolute; background-color:var(--link-color); z-index:2; }
.extra-image::before { top:0; left:0; transform:translate(-50%, -50%); }
.extra-image::after { bottom:0; right:0; transform:translate(50%, 50%); }
#deco-images { overflow:visible; padding:0; position:relative; }
#deco-images::after { content:''; display:block; background-color:var(--body-color); position:absolute; left:0; right:0; bottom:50%; top:0%; z-index:1; }
.deco-images { z-index:2; position:relative; margin:0 0 -100px; display:-webkit-box; display:flex; flex-wrap:wrap; -webkit-box-align:center; align-items:center; gap:var(--column-gap); -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; }
.deco-image { flex:1; max-width:240px; position:relative; transform-origin:center bottom; animation:yurayura 12s linear infinite; }
.deco-image::before { content:''; display:block; padding:100% 0 0 0; }
.deco-image img { position:absolute; left:0; right:0; bottom:0; top:0; margin:auto auto 0; max-height:100%; max-width:100%; width:auto; height:auto; }
@keyframes yurayura { 0% , 100%{ transform: rotate(8deg); } 50%{ transform: rotate(-8deg); } }
.deco-image-1 { animation-delay:-9s; }
.deco-image-2 { animation-delay:-3s;}
.deco-image-3 { animation-delay:0; }
.deco-image-4 { animation-delay:-6s; }

@media screen and ( max-width : 782px ){
  .gallery-summary:not(:empty) {margin-bottom:var(--column-gap); }
  article.entry .entry-image { max-width:75%; }
  article.entry .entry-image-1 { left:10%; margin-bottom:-24px; box-shadow:120px 80px 0 var(--layer-color); }
  article.entry .entry-image-2 { max-width:80%; }
  article.entry .entry-image-3 { left:0; top:0; max-width:40%; box-shadow:-60px 60px 0 var(--layer-color); margin:120px 0 0 -20%;}
  article.entry .entry-image-4 { margin-left:0; left:8%; margin-top:0; max-width:50%; }
}
@media screen and ( min-width : 782.1px ){
  .gallery-box { display:-webkit-box; display:flex; -webkit-box-align:flex-start; align-items:flex-start; flex-wrap:nowrap; }
  .gallery-box + .gallery-box { margin-top:var(--column-gap); }
  .gallery-box .gallery-summary { flex:1; width:50%; position:sticky; top:var(--column-gap); padding:0 var(--column-gap) 0 0; }
  .gallery-box .gallery { flex:1; width:50%; }
}



/*:::::::::::POSTS LAYOUT:::::::::::*/

@media only screen and ( min-width : 960.1px ){
  .sidebar-layout { display:flex; align-items:flex-start; flex-wrap:wrap; }
  .sidebar-layout .sidebar { position:sticky; top:calc(var(--column-gap) + var(--wp-admin--admin-bar--height, 0px ) ); width:30%; }
  .sidebar-layout .content { width:calc( 100% - 30% - var(--column-gap) ); max-width:var(--content-width); }
  .sidebar + .content, .content + .sidebar { margin-left:auto; }
  .sidebar-layout .sidebar.flex-end { align-self:flex-end; top: auto; bottom:var(--column-gap); }
}
@media screen and ( min-width : 1200.1px ) {
  .sidebar-layout .content { width:calc( 100% - 30% - var(--column-gap) * 2 ); }
  .sidebar-layout .sidebar.flex-end { bottom:var(--section-gap); }
}
@media only screen and ( max-width : 960px ){
  .sidebar + .content, .content + .sidebar { margin-left:0; margin-top:var(--section-gap); }
}
.sidebar.flex-end { align-self:flex-end; top:auto; bottom:24px; }
.sidebar-item + .sidebar-item { margin-top:24px; }
.sidebar > div::after { clear:both ; display:table; content:''; }
.sidebar > div:first-child { margin-top:0; }
.sidebar > div:last-child { margin-bottom:0; }
.sidebar h2 { font-size:1em; margin:0 0 12px; padding:8px; line-height:1.3; color:#fff; background-color:var(--theme-color); position:relative; text-align:center; }
.sidebar select { width:100%; margin:12px 0 0; }
.archive-list { margin:0; padding:0; list-style:none; }
.archive-list li { margin:0; padding:0; }
.archive-list li a { padding:8px 2px; display:block; color:inherit; font-weight:700; }
.sidebar-posts ol { margin:0; padding:0; counter-reset:li; list-style:none; }
.sidebar-posts li { margin:1em 0; padding:0; }
.sidebar-posts .post-text { font-size:14px; line-height:1.4; margin:0; padding:0 0 0 12px; display:block; overflow:hidden; width:calc( 100% - 80px) }
.sidebar-posts .post-title { clear:both; font-size:1.1em; font-weight:normal; overflow:hidden; padding:0; margin:4px 0 0; }
.sidebar-posts .post-title * { display:inline; }
.sidebar-posts li:first-child { margin-top:0; }
.sidebar-posts li:last-child { margin-bottom:0; border-bottom-width:0; }
.sidebar-posts li:nth-child(n+6) {display:none; }
.sidebar-posts li a { display:-webkit-box; display:flex; -webkit-box-align:center; align-items:center; flex-wrap:nowrap; padding:0; margin:0; text-decoration:none; position:relative; color:inherit; }
.sidebar-posts .post-image { width:80px; height:80px; overflow:hidden; position:relative; }
.sidebar-posts .post-image img { display:block; width:100%; height:100%; object-fit:cover; }
.sidebar-posts .post-excerpt { display:none; }
.sidebar-posts .post-category { font-size:11px; }

.channel { margin:var(--column-gap) 0 0; padding:var(--column-gap) 0 0; text-align:center; border-top-width:1px; }
.page-numbers-wrap a.next::after { font-family:'fontello'; content:'\e905'; margin-left:5px; color:#ccc; }
.page-numbers-wrap a.prev::before { font-family:'fontello'; content:'\e907'; margin-right:5px; color:#ccc; }
.page-numbers { padding:.75em; min-width:calc( var(--border-width)*2 + 2.5em ); height:calc( var(--border-width)*2 + 2.5em ); }

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

  .entry { order:2; }
  .content { width:100%; order:2; float:none; }
  .sidebar { width:100%; max-width:none; padding:0; margin:var(--column-gap) 0 0; position:static; }
  .sticky { position:static; }
  .entry-section-header { font-size:1em;}
  .entry-section-header-h2::before { font-size:1.5em; }
}




/*::::::::::: CONTACT FORM :::::::::::*/

.wpcf7 { line-height:1.6em; }
.wpcf7 .form-wrap { margin:0; border-color:#ccc; display:block; padding: 0;border-width:0; }
.wpcf7 .form-wrap + header { margin-top:2em; }
.wpcf7 .form-wrap dl { border-top:.05em solid currentColor; display:table; width:100%; margin:0; padding:0; }
.wpcf7 .form-wrap dl:first-child { padding-top:0; border-top-width:0; }
.wpcf7 .form-wrap dt { width:25%; display:table-cell; font-size:1em; padding:var(--column-gap) var(--column-gap) calc( var(--column-gap) * 0.5 ) 0; vertical-align:top; }
.wpcf7 .form-wrap dd { width:75%; display:table-cell; padding:var(--column-gap) 0 calc( var(--column-gap) * 0.5 ); vertical-align:top; }
.wpcf7 .form-wrap dd::after { clear:both; display:table; content:''; }
.wpcf7 .form-response { clear:both; padding:0; height:32px; margin:0 0 8px; }
.wpcf7 .headword { width:25%; width:calc(0% + 7em); padding-top:14px; clear:left; float:left; display:block; font-size:1em; margin-bottom:8px; }
.wpcf7 small { font-size:11px; color:gray; display:inline-block;}
.wpcf7 em { display:inline-block; color:var(--opposite-color); background-color:var(--strong-color); line-height:1em; font-size:11px; padding:2px 3px; margin-left:8px; }
.wpcf7 .headword + .wpcf7-form-control-wrap { width:75%; width:calc(100% - 7em); float:left; display:block; }
.wpcf7 .wpcf7-form-control-wrap.customerZip, .wpcf7 .wpcf7-form-control-wrap.customerPref, .wpcf7 .wpcf7-form-control-wrap.customerCity, .wpcf7 .wpcf7-form-control-wrap.numberAdult, .wpcf7 .wpcf7-form-control-wrap.numberChild { max-width:200px; }
.wpcf7 .wpcf7-form-control-wrap {  margin-bottom:8px; }
.wpcf7-list-item { display:block; }
@media screen and ( max-width : 782px ){
  .wpcf7 .form-wrap dl { display:block; }
  .wpcf7 .form-wrap dt { width:auto; float:none; display:block; font-size:1em; padding:16px 0 8px 0; font-weight:700; color:var(--gray-color) }
  .wpcf7 .form-wrap dd { width:auto; float:none; display:block; padding:0 0 8px; border-top-width:0; }
  .wpcf7 .form-wrap dt br { display:none; }
  .wpcf7 .form-wrap dt small { margin-left:.5em; }
  .wpcf7 .form-wrap dt { word-spacing:.5em; }
}




/*::::::::::: PRINT SETTINGS :::::::::::*/
@media print{
  body { height:auto!important; font-size:.82em; left:0; top:0; }
  .entry { font-size:.9em; line-height:1.5em; }
  h1 { font-size:1.3em; line-height:1.35em; letter-spacing:0; }
  h2 { font-size:1.1em; line-height:1.35em; letter-spacing:0; }
  .container { padding:0em; }
  main { padding-top:1em; }
  #site-header { position:static!important; margin-top:0; top:0; padding:0; height:auto!important; text-align:center; border-bottom:0; }
  #main-navi, #footer-pagenavi, #map-canvas { display:none; }
  #site-footer { display:none; }
}
